questionnaire docs
Development

Key Components

Map of important components and their responsibilities.

Key Components

Page orchestrators

ComponentFilePurpose
CategoryPageClientcomponents/pages/CategoryPageClient.jsCategory page orchestrator (theme + ads + content)
ArticleContentWrappercomponents/pages/ArticleContentWrapper.jsArticle page loader overlay
QuestionnairePhaseViewcomponents/pages/QuestionnairePhaseView.jsTwo-phase questionnaire page flow

Theme components

ComponentFileTheme
QuestionnaireModalcomponents/questionnaire/QuestionnaireModal.jsquestionnaire
WhatsAppThemecomponents/whatsapp/WhatsAppTheme.jswhatsapp
GuideThemecomponents/guide/GuideTheme.jsguide, guide2

Ad components

ComponentFileType
DisplayAdcomponents/ads/DisplayAd.jsDisplay banner
InterstitialAdcomponents/ads/InterstitialAd.jsFull-screen
RewardedAdManagercomponents/ads/RewardedAdManager.jsRewarded video
SkyscrapperAdcomponents/ads/SkyscrapperAd.jsVertical side
StickyAdcomponents/ads/StickyAd.jsFixed banner
CollapsibleAdcomponents/ads/CollapsibleAd.jsAnchor ad
Kv2RewardedPopupcomponents/ads/Kv2RewardedPopup.jsKV2 fallback
ArticleRewardedAdcomponents/ads/ArticleRewardedAd.jsArticle rewarded

Layout components

ComponentFilePurpose
Headercomponents/layout/Header.jsSite header
Footercomponents/layout/Footer.jsSite footer
TaboolaWidgetscomponents/layout/TaboolaWidgets.jsTaboola widget divs
PageLevelTargetingcomponents/layout/PageLevelTargeting.jsGAM UTM targeting
SessionTrackercomponents/layout/SessionTracker.jsSession heartbeat
QueryParamPreservercomponents/layout/QueryParamPreserver.jsURL param carryover

UI primitives

ComponentFilePurpose
RewardedAdCtaButtoncomponents/ui/RewardedAdCtaButton.jsCTA with shimmer animation
ApplyLinkButtoncomponents/ui/ApplyLinkButton.jsApply link CTA
AdPopupOverlaycomponents/ui/AdPopupOverlay.jsPortal-based popup overlay
HiddenAdContainercomponents/ui/HiddenAdContainer.jsOff-screen ad wrapper
TaboolaPageLayoutcomponents/ui/TaboolaPageLayout.jsTwo-column Taboola layout

Component relationships

Barrel re-exports

Root components/*.js files re-export from subdirectories for backward-compatible imports. Do not delete these shims.

On this page