1import{j as e}from"./vendor-motion-hRg_q8lq.js";import{b as E,r as n}from"./vendor-react-E98sgxjj.js";import{u as j,b,H as N,f as S,L as l,e as f,g as k,t as w,h as V,i as L}from"./index-BKzE8EQ8.js";import{u as I}from"./useLocaleNavigate-BNriJdRU.js";import"./vendor-fa-Bn2dnpnC.js";import{L as P}from"./Layout-dV9pOISL.js";import"./SidebarContext-BL6EZ3Xi.js";import"./AuthPanel-B4zt6SJ5.js";import"./plans-CbMJY2XS.js";import"./index-i1nPji9k.js";import"./tabBarStore-624ukDKJ.js";import"./GameCard-koPJLRWA.js";import"./ExploreGameCard-CoU7JXPp.js";import"./GamePreview-DXVKEh7P.js";import"./GameFrame-COJWxWBt.js";import"./PlayPanelHost-DZaYs6Qz.js";import{t as R}from"./chatReturn-BikAGK6w.js";import"./ChatPanel-YMYP4TKG.js";import"./AvatarCarousel-DJMyzfiE.js";import{c as T}from"./pendingCompanyInvite-D9go2WHu.js";import"./vendor-query-bOUN_gKe.js";import"./pendingReferral-B4JPXhl_.js";import"./exploreHandoff-RQymaHkp.js";import"./paywall-CG7xVZtx.js";import"./pricingExperiments-zMZby8z7.js";import"./organization-BuGhuc22.js";import"./MediaImage-DKgx-nW4.js";import"./Tooltip-C8AvPGtA.js";import"./ShareModal-YOmfr9ti.js";import"./SubmitVideoModal-DzX5MAqQ.js";import"./earnProgram-B9pqjKbP.js";import"./trailerShare-BGlMG0RV.js";import"./usePublishingFeatures-C8zY31rs.js";import"./useIsPaid-Cw2jGyd_.js";import"./makeCopy-DTZjoJnY.js";import"./useIsStaff-DZf24Ivp.js";import"./MakeCopy-DWExybqc.js";import"./OrgScopeLabel-C9yeV7Fb.js";import"./MemberAvatar-CfukMFmI.js";import"./Avatar-B60wpoS5.js";import"./planChat-Cir7UVv6.js";import"./cardParts-5JiJu2RB.js";import"./usePlanChat-D_HjNnxd.js";import"./plansApi-C_2vGYRm.js";import"./MediaVideo-CBR0-TKg.js";import"./BadgeRow-Dfwgl-tB.js";import"./PlayingNowBadge-CH2HUoBo.js";import"./playingNowApi-CB_pr25U.js";import"./AdminGameMenu-DlEcDyIv.js";import"./useFullscreen-Cs7diftf.js";import"./screenshotStore-B6ItflPb.js";import"./ActivityGrid-DDQeSjer.js";import"./VolumeControl-DJ2K5ohZ.js";import"./CoinTopUpModal-CAwRJTIr.js";import"./useHasCredits-D0Kot1Ju.js";import"./index-BxtVm1Yj.js";import"./AuthShell-DPeun0C_.js";import"./LaunchPromoClips-eRoWsyBt.js";import"./useFocusTrap-BzqZufCW.js";import"./StudioContext-C1fnzqLL.js";import"./useOrchestrationEnabled-BWYxrOff.js";import"./Markdown-BgzYVg9N.js";import"./StreamingWords-Ds3Ch0UQ.js";import"./index-DtA29OOy.js";import"./index-Cq7f-X06.js";import"./LoopBudgetModal-MJKH0M3w.js";import"./useIsMaxTier-CA74KWZY.js";import"./useDevModelsVisible-BHgONHQI.js";import"./index-DoPwtVAc.js";function Qe(){const{t:r}=j("auth"),{key:s}=E(),a=I(),{refreshUser:u}=b(),[c,o]=n.useState("verifying"),[h,m]=n.useState(""),d=n.useRef(!1);return n.useEffect(()=>{if(d.current)return;d.current=!0,(async()=>{if(!s){o("error"),m(r("verifyEmail.invalidLink"));return}try{console.log("[VerifyEmail] Starting verification with key:",s);const t=await f.verifyEmail(s);if(console.log("[VerifyEmail] Verification response:",t),t?.key){localStorage.setItem("auth_token",t.key);const i=await f.getCurrentUser();k(i.id),f.attachAttribution().catch(()=>{}),await u(),w(i.email||"");const p=V();p&&L({userId:i.id,method:p.method,source:p.source}),o("success");const x=sessionStorage.getItem("onetap_pending_purchase");if(x)try{const{game_slug:g}=JSON.parse(x);sessionStorage.removeItem("onetap_pending_purchase"),a(`/game/${g}`,{replace:!0});return}catch{}const v=T();if(v){a(`/company-invite/${encodeURIComponent(v)}`,{replace:!0});return}const y=R();if(y){a(y,{replace:!0});return}a("/onboarding",{replace:!0});return}console.error("[VerifyEmail] No token in response, verification may have partially failed:",t),o("error"),m(r("verifyEmail.authFailed"))}catch(t){if(console.error("[VerifyEmail] Verification error:",t),o("error"),t&&typeof t=="object"&&"response"in t){const i=t;console.error("[VerifyEmail] Error details:",i.response?.data),m(i.response?.data?.detail||r("verifyEmail.errorDefault"))}else m(r("verifyEmail.errorDefault"))}})()},[s,a,u,r]),e.jsxs(P,{children:[e.jsxs(N,{children:[e.jsx("title",{children:r("verifyEmail.pageTitle")}),e.jsx("meta",{name:"description",content:r("verifyEmail.metaDescription")})]}),e.jsx("div",{className:"container pt-[var(--space-3xl)] pb-[var(--space-3xl)] flex justify-center items-center min-h-[60vh]",children:e.jsxs("div",{className:"card p-[var(--space-2xl)] text-center max-w-[500px] w-full",children:[c==="verifying"&&e.jsxs(e.Fragment,{children:[e.jsx(S,{size:"lg"}),e.jsx("h1",{className:"mt-[var(--space-xl)] text-2xl",children:r("verifyEmail.verifying")}),e.jsx("p",{className:"text-[var(--text-secondary)] mt-[var(--space-md)]",children:r("verifyEmail.verifyingDescription")})]}),c==="success"&&e.jsxs(e.Fragment,{children:[e.jsx("div",{className:"w-20 h-20 mx-auto bg-[rgba(34,197,94,0.15)] rounded-full flex items-center justify-center text-[2.5rem]",children:"â"}),e.jsx("h1",{className:"mt-[var(--space-xl)] text-2xl text-[var(--success)]",children:r("verifyEmail.successTitle")}),e.jsx("p",{className:"text-[var(--text-secondary)] mt-[var(--space-md)]",children:r("verifyEmail.successDescription")}),e.jsx(l,{to:"/onboarding",className:"btn btn-primary mt-[var(--space-xl)]",children:r("verifyEmail.continueToOnboarding")})]}),c==="error"&&e.jsxs(e.Fragment,{children:[e.jsx("div",{className:"w-20 h-20 mx-auto bg-[rgba(239,68,68,0.15)] rounded-full flex items-center justify-center text-[2.5rem]",children:"â"}),e.jsx("h1",{className:"mt-[var(--space-xl)] text-2xl text-[var(--error)]",children:r("verifyEmail.errorTitle")}),e.jsx("p",{className:"text-[var(--text-secondary)] mt-[var(--space-md)]",children:h}),e.jsx("p",{className:"text-[var(--text-tertiary)] mt-[var(--space-sm)] text-sm",children:r("verifyEmail.errorExpiredHint")}),e.jsxs("div",{className:"mt-[var(--space-xl)] flex gap-[var(--space-md)] justify-center flex-wrap",children:[e.jsx(l,{to:"/register",className:"btn btn-primary",children:r("verifyEmail.tryAgain")}),e.jsx(l,{to:"/login",className:"btn btn-secondary",children:r("verifyEmail.goToLogin")})]})]})]})})]})}export{Qe as default};
Line numbers count LF bytes from the start of the resource, as the search results do. Vendor segments are library code the classifier recognised; they are stored but not indexed. Bytes are shown as Latin1 characters, one per byte.