1(globalThis.TURBOPACK||(globalThis.TURBOPACK=[])).push(["object"==typeof document?document.currentScript:void 0,98577,e=>{"use strict";async function a(e,a){let r=await a("/referrals/claim/",{method:"POST",body:JSON.stringify({code:e})}),t=await r.json();return r.ok?"Referral applied. Your reward unlocks after your first subscription payment.":t.detail||"This account is not eligible for a new-customer referral."}e.s(["claimReferralCode",()=>a])},94542,e=>{"use strict";var a=e.i(4626),r=e.i(40172),t=e.i(89632),s=e.i(64143),i=e.i(46475),l=e.i(29759),n=e.i(32722),o=e.i(75679),c=e.i(9165),d=e.i(98577),u=e.i(85603);function m(){let e=(0,t.useRouter)(),l=(0,t.useSearchParams)(),n=l.get("next"),m=(0,u.authDestination)(n),[h,p]=(0,r.useState)(!1),[f,x]=(0,r.useState)(""),[v,g]=(0,r.useState)({email:l.get("email")||"",password:""});(0,r.useEffect)(()=>{(0,i.isAuthenticated)()&&e.push(m||"/dashboard")},[m,e]);let b=async a=>{a.preventDefault(),p(!0),x("");try{let a=await (0,i.login)(v.email,v.password);(0,o.identifyUser)(a.user),(0,o.track)("Login");let r=s.default.get("resto_mojo_referral");if(r)try{let a=await (0,d.claimReferralCode)(r,c.authenticatedApiRequest);sessionStorage.setItem("referral_notice",a),s.default.remove("resto_mojo_referral",{path:"/"}),e.push((0,u.authDestination)(n,!0));return}catch{}e.push(m||"/dashboard")}catch(a){(0,o.trackClientFailure)({operation:"login",category:"authentication",surface:"/login",retryable:!0},a);let e=a instanceof Error?a.message:"";e.includes("Email not verified")?x("Please verify your email before logging in. Check your inbox for the verification code."):x(e||"Login failed. Please check your credentials and try again.")}finally{p(!1)}};return(0,a.jsxs)(a.Fragment,{children:[f&&(0,a.jsx)("div",{className:"v2-error mb-6",children:f}),(0,a.jsxs)("form",{className:"space-y-6",onSubmit:b,children:[(0,a.jsxs)("div",{children:[(0,a.jsx)("label",{htmlFor:"email",className:"v2-field-label",children:"Email"}),(0,a.jsx)("input",{id:"email",name:"email",type:"email",autoComplete:"email",required:!0,value:v.email,onChange:e=>g({...v,email:e.target.value}),className:"v2-input",placeholder:"[email protected]"})]}),(0,a.jsxs)("div",{children:[(0,a.jsx)("label",{htmlFor:"password",className:"v2-field-label",children:"Password"}),(0,a.jsx)("input",{id:"password",name:"password",type:"password",autoComplete:"current-password",required:!0,value:v.password,onChange:e=>g({...v,password:e.target.value}),className:"v2-input",placeholder:"â¢â¢â¢â¢â¢â¢â¢â¢"})]}),(0,a.jsx)("div",{className:"flex items-center justify-end",children:(0,a.jsx)("a",{href:"/forgot-password",className:"text-[12px] text-[color:var(--ember)] hover:text-[color:var(--gold-light)] underline-offset-4 hover:underline",children:"Forgot your password?"})}),(0,a.jsx)("button",{type:"submit",disabled:h,className:"v2-btn v2-btn-primary w-full","aria-busy":h,children:h?(0,a.jsx)("span",{className:"inline-block h-3 w-3 rounded-full border border-[color:var(--canvas)] border-t-transparent animate-spin","aria-label":"Signing in"}):(0,a.jsx)(a.Fragment,{children:"Sign in"})})]})]})}function h(){let e=(0,t.useSearchParams)().get("next");return(0,a.jsx)(l.default,{cta:"signup",authNext:e,children:(0,a.jsx)("section",{className:"flex items-center justify-center px-4 py-16 sm:py-24 min-h-[calc(100vh-4rem)]",children:(0,a.jsxs)("div",{className:"w-full max-w-md",children:[(0,a.jsx)(n.default,{eyebrow:"Welcome back",title:"Sign",titleAccent:"in.",inline:!0,className:"!max-w-md !mx-0 !pt-0 !pb-8 !px-0"}),(0,a.jsx)("div",{className:"v2-form-card",children:(0,a.jsx)(m,{})}),(0,a.jsxs)("p",{className:"text-center text-sm text-[color:var(--parchment)]/70 mt-6",children:["Don't have an account?"," ",(0,a.jsx)("a",{href:(0,u.authLink)("/signup",e),className:"text-[color:var(--ember)] hover:text-[color:var(--gold-light)] underline-offset-4 hover:underline",children:"Sign up"})]})]})})})}function p(){return(0,a.jsx)(r.Suspense,{children:(0,a.jsx)(h,{})})}e.s(["default",()=>p])},61173,e=>{e.v(e=>Promise.resolve().then(()=>e(46475)))}]);
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.