PageSourceSearch

https://citygame.com/assets/ClaimBooking-CpunQiG1.js

js citygame.com collected 2026-10-07 03:43:09 UTC 10,151 bytes, 1 lines download raw bytes

1import{e,u as o,r as n,b as i}from"./react-vendor-CWhNi-GL.js";import{G as r,a}from"./firebase-vendor-Bvh2dkwo.js";import"./dashboard-app-CixvWTYX.js";const s=()=>"https://apiw-prod.kode.zone".replace(/\/+$/,""),l=()=>{const[l]=e(),c=l.get("token")??"",m=o(),[t,d]=n.useState({kind:"loading"}),[g,p]=n.useState(""),[u,b]=n.useState(""),[w,k]=n.useState(""),[h,f]=n.useState(!1),[x,N]=n.useState(null);n.useEffect(()=>{if(!c)return void d({kind:"not-found"});let e=!1;return(async()=>{var o;try{const n=await fetch(`${s()}/api/v1/claim/${encodeURIComponent(c)}`);if(e)return;if(404===n.status)return d({kind:"not-found"});if(410===n.status){const e=await n.json().catch(()=>null),i=null==(o=null==e?void 0:e.error)?void 0:o.code;return d({kind:"ALREADY-CLAIMED"===i?"already-claimed":"expired"})}if(!n.ok)return d({kind:"error",message:`Lookup failed (${n.status})`});const i=await n.json();d({kind:"ready",ctx:(null==i?void 0:i.data)??i})}catch(n){if(e)return;d({kind:"error",message:n instanceof Error?n.message:String(n)})}})(),()=>{e=!0}},[c]);return i.jsxDEV("div",{style:{minHeight:"100vh",display:"flex",alignItems:"center",justifyContent:"center",background:"#f5f7fb",padding:"32px 16px",fontFamily:"-apple-system,Segoe UI,Roboto,sans-serif"},children:i.jsxDEV("div",{style:{maxWidth:480,width:"100%",background:"#fff",borderRadius:16,boxShadow:"0 4px 30px -10px rgba(0,0,0,0.12)",padding:"32px 28px"},children:["loading"===t.kind&&i.jsxDEV("p",{children:"Loading your booking…"},void 0,!1,{fileName:"/home/runner/work/bogo-ncw/bogo-ncw/packages/webapp/src/pages/ClaimBooking.tsx",lineNumber:146,columnNumber:38},void 0),"not-found"===t.kind&&i.jsxDEV(i.Fragment,{children:[i.jsxDEV("h1",{style:{margin:0,fontSize:22},children:"Link not found"},void 0,!1,{fileName:"/home/runner/work/bogo-ncw/bogo-ncw/packages/webapp/src/pages/ClaimBooking.tsx",lineNumber:150,columnNumber:13},void 0),i.jsxDEV("p",{style:{color:"#6b7280"},children:"This claim link doesn't exist. Check the URL from your email, or contact support."},void 0,!1,{fileName:"/home/runner/work/bogo-ncw/bogo-ncw/packages/webapp/src/pages/ClaimBooking.tsx",lineNumber:151,columnNumber:13},void 0)]},void 0,!0,{fileName:"/home/runner/work/bogo-ncw/bogo-ncw/packages/webapp/src/pages/ClaimBooking.tsx",lineNumber:149,columnNumber:11},void 0),"expired"===t.kind&&i.jsxDEV(i.Fragment,{children:[i.jsxDEV("h1",{style:{margin:0,fontSize:22},children:"Link expired"},void 0,!1,{fileName:"/home/runner/work/bogo-ncw/bogo-ncw/packages/webapp/src/pages/ClaimBooking.tsx",lineNumber:158,columnNumber:13},void 0),i.jsxDEV("p",{style:{color:"#6b7280"},children:"This claim link has expired. Reply to the booking confirmation email and we'll send a fresh one."},void 0,!1,{fileName:"/home/runner/work/bogo-ncw/bogo-ncw/packages/webapp/src/pages/ClaimBooking.tsx",lineNumber:159,columnNumber:13},void 0)]},void 0,!0,{fileName:"/home/runner/work/bogo-ncw/bogo-ncw/packages/webapp/src/pages/ClaimBooking.tsx",lineNumber:157,columnNumber:11},void 0),"already-claimed"===t.kind&&i.jsxDEV(i.Fragment,{children:[i.jsxDEV("h1",{style:{margin:0,fontSize:22},children:"Already claimed"},void 0,!1,{fileName:"/home/runner/work/bogo-ncw/bogo-ncw/packages/webapp/src/pages/ClaimBooking.tsx",lineNumber:167,columnNumber:13},void 0),i.jsxDEV("p",{style:{color:"#6b7280"},children:"This booking has already been linked to an account. Sign in instead."},void 0,!1,{fileName:"/home/runner/work/bogo-ncw/bogo-ncw/packages/webapp/src/pages/ClaimBooking.tsx",lineNumber:168,columnNumber:13},void 0),i.jsxDEV("button",{onClick:()=>m("/my-dashboard/games"),style:{marginTop:16,padding:"12px 24px",background:"#184c49",color:"#fff",border:0,borderRadius:999,cursor:"pointer",fontWeight:700},children:"Go to My Games"},void 0,!1,{fileName:"/home/runner/work/bogo-ncw/bogo-ncw/packages/webapp/src/pages/ClaimBooking.tsx",lineNumber:171,columnNumber:13},void 0)]},void 0,!0,{fileName:"/home/runner/work/bogo-ncw/bogo-ncw/packages/webapp/src/pages/ClaimBooking.tsx",lineNumber:166,columnNumber:11},void 0),"error"===t.kind&&i.jsxDEV(i.Fragment,{children:[i.jsxDEV("h1",{style:{margin:0,fontSize:22},children:"Something went wrong"},void 0,!1,{fileName:"/home/runner/work/bogo-ncw/bogo-ncw/packages/webapp/src/pages/ClaimBooking.tsx",lineNumber:190,columnNumber:13},void 0),i.jsxDEV("p",{style:{color:"#991b1b"},children:t.message},void 0,!1,{fileName:"/home/runner/work/bogo-ncw/bogo-ncw/packages/webapp/src/pages/ClaimBooking.tsx",lineNumber:191,columnNumber:13},void 0)]},void 0,!0,{fileName:"/home/runner/work/bogo-ncw/bogo-ncw/packages/webapp/src/pages/ClaimBooking.tsx",lineNumber:189,columnNumber:11},void 0),"ready"===t.kind&&i.jsxDEV("form",{onSubmit:async e=>{var o,n,i;if(e.preventDefault(),N(null),u===w)if(u.length<8)N("Use at least 8 characters for your password");else{f(!0);try{const e=await fetch(`${s()}/api/v1/claim/${encodeURIComponent(c)}`,{method:"POST",headers:{"Content-Type":"application/json"},body:JSON.stringify({email:g.trim().toLowerCase(),password:u})}),l=await e.json().catch(()=>null);if(!e.ok)return void N((null==(o=null==l?void 0:l.error)?void 0:o.message)??`Couldn't set up your account (${e.status})`);const t=(null==(n=null==l?void 0:l.data)?void 0:n.customToken)??(null==l?void 0:l.customToken),d=(null==(i=null==l?void 0:l.data)?void 0:i.redirectTo)??(null==l?void 0:l.redirectTo)??"/my-dashboard/games";if(t)try{await r(a(),t)}catch{}m(d,{replace:!0})}catch(l){N(l instanceof Error?l.message:String(l))}finally{f(!1)}}else N("Passwords don't match")},children:[i.jsxDEV("h1",{style:{margin:"0 0 8px",fontSize:22},children:["Hi",t.ctx.customerName?` ${t.ctx.customerName.split(" ")[0]}`:""," — set up your account"]},void 0,!0,{fileName:"/home/runner/work/bogo-ncw/bogo-ncw/packages/webapp/src/pages/ClaimBooking.tsx",lineNumber:197,columnNumber:13},void 0),i.jsxDEV("p",{style:{color:"#374151",fontSize:14,lineHeight:1.6},children:["Your booking is confirmed",t.ctx.bookingRef?i.jsxDEV(i.Fragment,{children:[" ","(",i.jsxDEV("code",{children:t.ctx.bookingRef},void 0,!1,{fileName:"/home/runner/work/bogo-ncw/bogo-ncw/packages/webapp/src/pages/ClaimBooking.tsx",lineNumber:206,columnNumber:20},void 0),")"]},void 0,!0,{fileName:"/home/runner/work/bogo-ncw/bogo-ncw/packages/webapp/src/pages/ClaimBooking.tsx",lineNumber:204,columnNumber:17},void 0):null,". Choose the email and password you'd like to use for your City Game account — we'll link y
1our game",t.ctx.gameTitles&&t.ctx.gameTitles.length>1?"s":""," to it automatically."]},void 0,!0,{fileName:"/home/runner/work/bogo-ncw/bogo-ncw/packages/webapp/src/pages/ClaimBooking.tsx",lineNumber:201,columnNumber:13},void 0),t.ctx.gameTitles&&t.ctx.gameTitles.length>0&&i.jsxDEV("ul",{style:{margin:"0 0 18px",padding:"0 0 0 18px",color:"#0f172a",fontSize:14},children:t.ctx.gameTitles.map(e=>i.jsxDEV("li",{children:e},e,!1,{fileName:"/home/runner/work/bogo-ncw/bogo-ncw/packages/webapp/src/pages/ClaimBooking.tsx",lineNumber:223,columnNumber:19},void 0))},void 0,!1,{fileName:"/home/runner/work/bogo-ncw/bogo-ncw/packages/webapp/src/pages/ClaimBooking.tsx",lineNumber:214,columnNumber:15},void 0),i.jsxDEV("label",{style:{display:"block",fontSize:13,color:"#374151",fontWeight:600,marginTop:12},children:["Your email",i.jsxDEV("input",{type:"email",required:!0,autoFocus:!0,value:g,onChange:e=>p(e.target.value),style:{display:"block",width:"100%",marginTop:6,padding:"10px 12px",borderRadius:8,border:"1px solid #d1d5db",fontSize:15}},void 0,!1,{fileName:"/home/runner/work/bogo-ncw/bogo-ncw/packages/webapp/src/pages/ClaimBooking.tsx",lineNumber:238,columnNumber:15},void 0)]},void 0,!0,{fileName:"/home/runner/work/bogo-ncw/bogo-ncw/packages/webapp/src/pages/ClaimBooking.tsx",lineNumber:228,columnNumber:13},void 0),i.jsxDEV("label",{style:{display:"block",fontSize:13,color:"#374151",fontWeight:600,marginTop:12},children:["Password",i.jsxDEV("input",{type:"password",required:!0,minLength:8,value:u,onChange:e=>b(e.target.value),style:{display:"block",width:"100%",marginTop:6,padding:"10px 12px",borderRadius:8,border:"1px solid #d1d5db",fontSize:15}},void 0,!1,{fileName:"/home/runner/work/bogo-ncw/bogo-ncw/packages/webapp/src/pages/ClaimBooking.tsx",lineNumber:265,columnNumber:15},void 0)]},void 0,!0,{fileName:"/home/runner/work/bogo-ncw/bogo-ncw/packages/webapp/src/pages/ClaimBooking.tsx",lineNumber:255,columnNumber:13},void 0),i.jsxDEV("label",{style:{display:"block",fontSize:13,color:"#374151",fontWeight:600,marginTop:12},children:["Confirm password",i.jsxDEV("input",{type:"password",required:!0,minLength:8,value:w,onChange:e=>k(e.target.value),style:{display:"block",width:"100%",marginTop:6,padding:"10px 12px",borderRadius:8,border:"1px solid #d1d5db",fontSize:15}},void 0,!1,{fileName:"/home/runner/work/bogo-ncw/bogo-ncw/packages/webapp/src/pages/ClaimBooking.tsx",lineNumber:292,columnNumber:15},void 0)]},void 0,!0,{fileName:"/home/runner/work/bogo-ncw/bogo-ncw/packages/webapp/src/pages/ClaimBooking.tsx",lineNumber:282,columnNumber:13},void 0),x&&i.jsxDEV("div",{style:{marginTop:14,color:"#991b1b",background:"#fef2f2",padding:"8px 12px",borderRadius:8,fontSize:13},children:x},void 0,!1,{fileName:"/home/runner/work/bogo-ncw/bogo-ncw/packages/webapp/src/pages/ClaimBooking.tsx",lineNumber:311,columnNumber:15},void 0),i.jsxDEV("button",{type:"submit",disabled:h,style:{marginTop:18,width:"100%",padding:"14px 24px",background:h?"#888":"#184c49",color:"#fff",border:0,borderRadius:999,cursor:h?"default":"pointer",fontWeight:700,fontSize:15},children:h?"Setting up…":"Create my account & open my games"},void 0,!1,{fileName:"/home/runner/work/bogo-ncw/bogo-ncw/packages/webapp/src/pages/ClaimBooking.tsx",lineNumber:325,columnNumber:13},void 0)]},void 0,!0,{fileName:"/home/runner/work/bogo-ncw/bogo-ncw/packages/webapp/src/pages/ClaimBooking.tsx",lineNumber:196,columnNumber:11},void 0)]},void 0,!0,{fileName:"/home/runner/work/bogo-ncw/bogo-ncw/packages/webapp/src/pages/ClaimBooking.tsx",lineNumber:136,columnNumber:7},void 0)},void 0,!1,{fileName:"/home/runner/work/bogo-ncw/bogo-ncw/packages/webapp/src/pages/ClaimBooking.tsx",lineNumber:125,columnNumber:5},void 0)};export{l 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.