1import{j as t}from"./vendor-motion-hRg_q8lq.js";import{a as b,r as p}from"./vendor-react-E98sgxjj.js";import{u as j}from"./useLocaleNavigate-BNriJdRU.js";import{u as v,b as y,x as S,s as h,y as g,z as N,A as _,H as T,f as C}from"./index-BKzE8EQ8.js";import"./vendor-fa-Bn2dnpnC.js";import{L as E}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"./ChatPanel-YMYP4TKG.js";import"./AvatarCarousel-DJMyzfiE.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 Kt(){const{t:r}=v("checkout"),n=b(),c=j(),{isAuthenticated:m,user:l}=y(),[x,e]=p.useState(!0),[u,o]=p.useState(""),i=n.state?.plan,f=n.state?.billingPeriod||"monthly";p.useEffect(()=>{if(!m){c("/login",{state:{from:n}});return}if(!i){c("/pricing");return}if(l?.organization?.billing_managed){o(S.t("company:paywall.managedTitle",{org:l.organization.name,defaultValue:"Your plan and credits are managed by {{org}}"})),e(!1);return}d()},[m,i]);const d=async()=>{const k=f==="annual"?"annual":"monthly";try{const a=await fetch("/api/payments/create-checkout-session/",{method:"POST",headers:{"Content-Type":"application/json",Authorization:`Token ${localStorage.getItem("auth_token")}`,...N()},body:JSON.stringify({tier:i.tier,billing_period:k,success_url:h?g("billing","success","",{session_id:"{CHECKOUT_SESSION_ID}"}):`${window.location.origin}/payment-success?session_id={CHECKOUT_SESSION_ID}`,cancel_url:h?g("billing","cancelled","",{return_to:encodeURIComponent("/settings/plans")}):`${window.location.origin}/pricing`})});if(a.ok){const s=await a.json();s.checkout_url?_(s.checkout_url):(o(r("checkout.errors.noCheckoutUrl")),e(!1))}else{const s=await a.json();o(s.error||r("checkout.errors.createSessionFailed")),e(!1)}}catch{o(r("checkout.errors.connectionFailed")),e(!1)}};return i?t.jsxs(E,{children:[t.jsx(T,{children:t.jsx("title",{children:r("checkout.pageTitle")})}),t.jsx("div",{className:"container pt-[var(--space-3xl)] pb-[var(--space-3xl)] max-w-[500px] mx-auto text-center",children:x?t.jsxs("div",{className:"p-[var(--space-3xl)]",children:[t.jsx(C,{size:"lg",text:r("checkout.redirectingToStripe")}),t.jsx("p",{className:"text-[var(--text-muted)] mt-[var(--space-lg)]",children:r("checkout.settingUpSub
1scription",{plan:i.name})})]}):u?t.jsxs("div",{className:"card p-[var(--space-2xl)]",children:[t.jsx("div",{className:"text-[3rem] mb-[var(--space-lg)]",children:"â ï¸"}),t.jsx("h2",{className:"mb-[var(--space-md)]",children:r("checkout.checkoutError")}),t.jsx("p",{className:"text-[var(--text-secondary)] mb-[var(--space-xl)]",children:u}),t.jsxs("div",{className:"flex gap-[var(--space-md)] justify-center",children:[t.jsx("button",{onClick:()=>{e(!0),o(""),d()},className:"btn btn-primary",children:r("checkout.tryAgain")}),t.jsx("button",{onClick:()=>c("/pricing"),className:"btn btn-ghost",children:r("checkout.backToPricing")})]})]}):null})]}):null}export{Kt 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.