PageSourceSearch

https://www.glintly.co/assets/PackagePurchasePage.tsx-DBu5I357.js

js glintly.co collected 2026-10-09 23:00:00 UTC 3,078 bytes, 1 lines download raw bytes

1try{let e="undefined"!=typeof window?window:"undefined"!=typeof global?global:"undefined"!=typeof globalThis?globalThis:"undefined"!=typeof self?self:{},s=(new e.Error).stack;s&&(e._sentryDebugIds=e._sentryDebugIds||{},e._sentryDebugIds[s]="49506129-32c6-41c0-9439-ac24dfa1be5c",e._sentryDebugIdIdentifier="sentry-dbid-49506129-32c6-41c0-9439-ac24dfa1be5c")}catch(x){}import{j as e}from"./chunk-CgByYZHX.js";import{f as s,u as t,h as o,a as r}from"./chunk-BeYjNzwJ.js";import{i as a,l as n,H as i}from"./index-DL-fWBsy.js";import{B as c,a as u}from"./chunk-Car2nRXp.js";import{b as l,a as m,B as d}from"./chunk-DfLnDMI1.js";import{C as f}from"./chunk-BQaKGrOK.js";import{o as p,b as h,s as j}from"./chunk-CVCxDu2f.js";import"./chunk-B7bX_pGK.js";import"./chunk-D5Ty02c-.js";import"./chunk-tENHbp4v.js";import"./chunk-CEwvejrK.js";import"./chunk-ZAVbCnbv.js";import"./chunk-3QDBqjNP.js";import"./chunk-DxZrVHrc.js";import"./chunk-B8wglNAQ.js";import"./chunk-B885l9Ih.js";import"./chunk-C37dKal-.js";import"./chunk-B-EHxZAG.js";import"./chunk-ZI2imiRL.js";import"./chunk-1K3vx6-M.js";import"./chunk-BMg4Sc7K.js";const k=["Your details","Payment"],b=p({customerDetails:p({customerFirstName:j(),customerLastName:j(),customerName:j(),customerEmail:j(),customerPhone:j(),notes:j(),smsOptIn:h()}).optional()}),g=()=>{const{handle:p,serviceId:h}=s(),j=t(),g=o(),x=r.useMemo(()=>{const e=b.safeParse(g.state);return e.success?e.data.customerDetails:void 0},[g.state]),[y,S]=r.useState(null),[v,w]=r.useState(!0),[D,I]=r.useState(null);r.useEffect(()=>{let e=!0;return p?(w(!0),a.getStorefrontBySlug(p).then(s=>{e&&(s.ok&&s.value&&!0===s.value.is_published?(S(s.value),I(null)):I("Storefront not found or not published"))}).catch(s=>{e&&(n.error("PackagePurchasePage: failed to load storefront",{handle:p,error:s instanceof Error?s.message:String(s)}),I("Failed to load storefront"))}).finally(()=>{e&&w(!1)}),()=>{e=!1}):(I("No storefront handle in URL"),void w(!1))},[p]);const N=r.useMemo(()=>y?.services?.find(e=>e.id===h)??null,[y,h]);if(v)return e.jsx(c,{});if(D||!y||!N)return e.jsx(u,{message:D||"Service not found."});const P=l(y),_=m(N);return e.jsxs(e.Fragment,{children:[e.jsxs(i,{children:[e.jsx("meta",{name:"robots",content:"noindex,nofollow"}),e.jsxs("title",{children:["Your details · ",N.name," · ",P.name]})]}),e.jsxs(d,{provider:P,service:_,step:1,steps:k,onBack:()=>{j(p?`/${p}`:-1)},backLabel:"Back",storefrontPrimaryColor:y.primary_color,storefrontMetadata:y.metadata,children:[e.jsx("p",{className:"text-[11px] font-semibold uppercase tracking-[0.06em] text-muted-foreground",children:"Step 1 of 2"}),e.jsx("h1",{className:"mt-2 font-aeonik text-[30px] font-bold leading-[1.05] tracking-[-0.025em] text-foreground",children:"Your details."}),e.jsxs("p",{className:"mb-8 mt-1.5 text-[13px] text-muted-foreground",children:["So ",P.name," can welcome you and prep your sessions. You'll schedule each session after purchase."]}),e.jsx(f,{onSubmit:e=>{p&&h&&j(`/${p}/package/${h}/payment`,{state:{customerDetails:e}})},initialValues:x})]})]})};export{g 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.