1import{h as j,r as t,j as e,P as b,aA as N,l as v,B as y,k as w,aq as S,L as C}from"./index-C2KlasXz.js";import{u as I}from"./useServerFn-Cw002wbj.js";import{l as B}from"./booking.functions-C4lPw9IW.js";import{I as d}from"./input-B9Pgl5GR.js";import{L as c}from"./label-BVFt2x2p.js";import{C as u,a as x}from"./card-C9F0K05c.js";import{H as L}from"./hash-BbgR1pzV.js";import{C as E}from"./circle-alert-CzkgNQNH.js";function z(){const h=j(),g=I(B),[n,p]=t.useState(""),[i,f]=t.useState(""),[l,m]=t.useState(!1),[o,r]=t.useState(null),k=async s=>{s.preventDefault(),r(null),m(!0);try{const a=await g({data:{bookingId:n.trim(),email:i.trim()}});a.found?h({to:"/book/bekraeftelse/$bookingId",params:{bookingId:a.bookingId},search:{paid:!1,paymentReturn:!1,cancelled:!1}}):r("Vi kunne ikke finde en booking med disse oplysninger.")}catch(a){r(a?.message||"Ugyldigt referencenummer eller email.")}finally{m(!1)}};return e.jsx(b,{brand:null,children:e.jsx("div",{className:"min-h-screen bg-gradient-to-br from-primary/5 via-background to-muted/30",children:e.jsx("div",{className:"container mx-auto px-4 py-12 md:py-20",children:e.jsxs("div",{className:"max-w-md mx-auto",children:[e.jsxs("div",{className:"text-center mb-8",children:[e.jsx("div",{className:"inline-flex items-center justify-center h-16 w-16 rounded-full bg-primary/10 mb-4",children:e.jsx(N,{className:"h-8 w-8 text-primary"})}),e.jsx("h1",{className:"text-3xl md:text-4xl font-bold mb-2",children:"Min booking"}),e.jsx("p",{className:"text-muted-foreground",children:"Indtast dit booking-referencenummer og email for at se din booking."})]}),e.jsx(u,{className:"shadow-lg",children:e.jsx(x,{className:"p-6 md:p-8",children:e.jsxs("form",{onSubmit:k,className:"space-y-5",children:[e.jsxs("div",{className:"space-y-2",children:[e.jsxs(c,{htmlFor:"ref",className:"flex items-center gap-2",children:[e.jsx(L,{className:"h-4 w-4 text-muted-foreground"}),"Referencenummer"]}),e.jsx(d,{id:"ref",value:n,onChange:s=>p(s.target.value),placeholder:"f.eks. A1B2C3D4",required:!0,minLength:6,className:"font-mono uppercase"})]}),e.jsxs("div",{className:"space-y-2",children:[e.jsxs(c,{htmlFor:"email",className:"flex items-center gap-2",children:[e.jsx(v,{className:"h-4 w-4 text-muted-foreground"}),"Email"]}),e.jsx(d,{id:"email",type:"email",value:i,onChange:s=>f(s.target.value),placeholder:"[email protected]",required:!0})]}),o&&e.jsxs("div",{className:"flex items-start gap-2 p-3 rounded-lg bg-destructive/10 text-destructive text-sm",children:[e.jsx(E,{className:"h-4 w-4 shrink-0 mt-0.5"}),e.jsx("p",{children:o})]}),e.jsx(y,{type:"submit",disabled:l,size:"lg",className:"w-full",children:l?"Søgerâ¦":"Find min booking"})]})})}),e.jsxs("div",{className:"mt-6 flex items-center justify-center gap-2 text-sm text-muted-foreground",children:[e.jsx(w,{className:"h-4 w-4"}),e.jsx("span",{children:"Sikker opslag â kun du har adgang til din booking"})]}),e.jsx(u,{className:"mt-8 bg-muted/30 border-dashed",children:e.jsxs(x,{className:"p-5 flex items-center gap-3",children:[e.jsx(S,{className:"h-6 w-6 text-primary shrink-0"}),e.jsxs("div",{className:"flex-1 text-sm",children:[e.jsx("p",{className:"font-medium",children:"Kan du ikke finde din booking?"}),e.jsxs("p",{className:"text-muted-foreground",children:["Tjek dit referencenummer i bekræftelses-emailen, eller"," ",e.jsx(C,{to:"/kontakt",className:"text-primary underline",children:"kontakt os"}),"."]})]})]})})]})})})})}export{z as component};
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.