1import"../chunks/disclose-version.CWj6FrbW.js";import{i as Ga}from"../chunks/legacy.BfDJhlDv.js";import{o as za}from"../chunks/index-client.DE9v3pLa.js";import{aN as Na,c as Wa,p as qa,v as k,k as u,l as e,aY as we,w as F,aZ as Ka,f as R,s as v,e as c,x as f,t as C,a as g,z,g as I,b as Va,d as h,h as Ra,n as Ge,r as l,o as Ie,D as Ht,A as Jt,C as Ha}from"../chunks/custom-element.6WVsMxX9.js";import{i as S}from"../chunks/if.BF0OPaKU.js";import{e as re,i as ne}from"../chunks/each.Eyf53n4L.js";import{a as Ja}from"../chunks/css.B7GY7jC8.js";import{a as Q,r as H}from"../chunks/attributes.CUCYEKt0.js";import{s as ct}from"../chunks/class.COpQn8-h.js";import{a as ke,b as Fe}from"../chunks/input.BGzKUEQn.js";import{p as Za}from"../chunks/event-modifiers.Bfc47y5P.js";import{p as Qa}from"../chunks/props.BUK3oH8J.js";import{s as Xa,a as er}from"../chunks/store.WEgWMNaL.js";import{m as tr,C as se}from"../chunks/meta.store.D-2N9AwB.js";import{e as ia,n as Se,k as ye,g as Zt,a as ze,d as de,h as Qt,f as Xt,D as dt,I as ar,b as Ne,q as rr,w as ea,i as ta,J as aa,K as nr}from"../chunks/firebase.D0qMFv0g.js";import{D as ra}from"../chunks/Dialog.B6sGnFi7.js";import{l as sr}from"../chunks/index.oHjB5vcc.js";import{E as na}from"../chunks/env-config.CP-7x1uc.js";import{g as ut}from"../chunks/entry.CbywX8S_.js";import{s as We}from"../chunks/stripe-utils.DSpv05QB.js";import{a as sa}from"../chunks/alert-wrapper.DD3v6Wph.js";import{d as ir}from"../chunks/index.CHpDvOAI.js";async function or(){const ue=Na(ia);return ue&&!(ue!=null&&ue.stripeCustomerId)&&(Se({title:"Profile incomplete",message:"Before you can start buying tickets please fill out your account information",type:"error"}),ut("/my-account/profile-information")),{}}var lr=h('<div class="max-w-[800px] w-full bg-[#F4F4F4] sm:p-[20px] p-[40px] rounded-[20px]"><div class="container flex justify-center items-center svelte-wo5a7y"><p class="text-center text-[#575656]">Guest checkout is not available for singles events. Please sign in and complete your profile with gender information to continue.</p></div> <div class="container pt-5 flex justify-center svelte-wo5a7y"><a class="toggle bg-[#114928] text-white px-6 py-3 rounded-md svelte-wo5a7y" href="/sign-in">Sign In</a></div></div>'),cr=h('<p class="text-red-500 text-xs"> </p>'),dr=h('<div class="max-w-[800px] w-full bg-[#F4F4F4] sm:p-[20px] p-[40px] rounded-[20px]"><div class="container flex justify-center items-center svelte-wo5a7y"><button class="toggle active svelte-wo5a7y">As guest</button> <a class="toggle svelte-wo5a7y" href="/sign-in">Login</a></div> <div class="container mt-[20px] flex flex-col items-center svelte-wo5a7y"><input type="text" placeholder="Email" class="input svelte-wo5a7y"/> <!> <input type="text" placeholder="Name" class="input svelte-wo5a7y"/></div></div>'),ur=h('<div class="max-w-[800px] w-full bg-[#F4F4F4] sm:p-[20px] p-[40px] rounded-[20px]"><div class="container flex justify-center items-center svelte-wo5a7y"><p class="text-center text-[#575656]">Please complete your profile with gender information to book singles events.</p></div> <div class="container pt-5 flex justify-center svelte-wo5a7y"><a class="toggle bg-[#114928] text-white px-6 py-3 rounded-md svelte-wo5a7y" href="/my-account/details">Complete Profile</a></div></div>'),mr=h('<div class="w-full mt-[30px] text-center"><h2 class="sm:text-[34px] sm:leading-[38px] text-[38px] font-[400]">Choose Main and Drink</h2> <p class="sm:text-[20px] text-[24px] text-[#575656]">Your choice now determines the dining <br/> experience that will be waiting for you</p></div>'),vr=h('<div class="w-full mt-[30px] text-center"><h2 class="sm:text-[34px] sm:leading-[38px] text-[38px] font-[400]"> </h2> <p class="sm:text-[20px] text-[24px] text-[#575656]">Purchase ticket</p></div>'),pr=h("<div> </div>"),fr=h("<div> </div>"),xr=h("<div> </div>"),yr=h("<div> </div>"),gr=h('<li class="p-3 bg-white rounded-xl border"><div class="flex justify-between items-start gap-3"><div class="font-semibold"> </div> <div class="flex items-center gap-3"><div class="text-xs text-[#575656]"> </div> <button type="button" class="text-xs text-red-600 hover:underline svelte-wo5a7y">Remove</button></div></div> <div class="text-sm text-[#575656] mt-1"><!> <!> <!> <!></div></li>'),br=h('<div class="w-[500px] mt-4 bg-[#F4F4F4] rounded-2xl p-4"><div class="flex justify-between items-center"><p class="text-sm text-[#575656]"> </p></div> <ul class="mt-2 flex flex-col gap-2"></ul></div>'),hr=h('<div class="items-center p-5 w-[500px] mt-4 flex flex-col gap-3 bg-[#F4F4F4] rounded-2xl"><p class="text-center text-[#575656]">You cannot buy tickets for friends at singles events.</p></div>'),_r=h(`<div class="items-center p-5 w-[500px] mt-4 flex flex-col gap-3 bg-[#F4F4F4] rounded-2xl"><label for="friend-name" class="ml-12 w-full text-left font-medium">Friend's name</label> <input id="friend-name" type="text" placeholder="Friend's name" class="input svelte-wo5a7y"/> <label for="friend-email" class="ml-12 w-full text-left font-medium">Friend's email</label> <input id="friend-email" type="email" placeholder="Friend's email" class="input svelte-wo5a7y"/> <p class="text-center text-xs text-[#575656]">Your friend can update their meal choices later from their booking confirmation email.</p></div>`),wr=h('<span class="text-[#575656]"> </span>'),kr=h('<div class="w-full flex items-start mb-2"><label class="flex items-center cursor-pointer relative pt-1"><input type="checkbox" class="peer h-5 w-5 cursor-pointer transition-all appearance-none rounded shadow hover:shadow-md border border-slate-300 checked:bg-[#114928] checked:border-slate-800"/> <span class="absolute opacity-0 flex justify-center items-center peer-checked:opacity-100 w-full h-full pointer-events-none"><img src="/images/checkmarkwhite.svg" alt="Checkbox" class="w-[14px]"/></span></label> <label class="cursor-pointer ml-2 text-black"><b> </b> <!></label></div>'),Fr=h('<div class="sm:w-full w-[40%] bg-[#F4F4F4] p-10 shadow rounded-2xl"><h4 class="text-[24px] mb-3"> </h4> <!></div>'),$r=h('<span class="text-[#575656]"> </span>'),Dr=h('<div class="w-full flex items-start mb-2"><label class="flex items-center cursor-pointer relative pt-1"><input type="checkbox" class="peer h-5 w-5 cursor-pointer transition-all appearance-none rounded shadow hover:shadow-md border border-slate-300 checked:bg-[#114928] checked:border-slate-800"/> <span class="absolute opacity-0 flex justify-center items-center peer-checked:opacity-100 w-full h-full pointer-events-none"><img src="/images/checkmarkwhite.svg" alt="Checkbox" class="w-[14px]"/></span></label> <label class="cursor-pointer ml-2 text-black"><b> </b> <!></label></div>'),Pr=h('<div class="sm:w-full w-[40%] bg-[#F4F4F4] p-10 shadow rounded-2xl"><h4 class="text-[24px] mb-3"> </h4> <!></div>'),Cr=h('<div class="w-full mt-[30px] text-center"><h3 class="text-[26px] font-[400]">Accessories</h3></div> <div class="flex flex-wrap justify-center gap-5 sm:mt-[30px] mt-[40px] w-full"></div>',1),Ir=h('<div class="flex flex-wrap justify-center gap-5 sm:mt-[30px] mt-[20px]"></div> <!>',1),Sr=h("<p> </p>"),Er=h('<div class="text-center"></div>'),jr=h('<label><input type="checkbox"/> <span>I accept <a class="underline" target="_blank"> </a></span></label>'),Lr=h('<label><input type="checkbox"/> <span>I accept <a class="underline" target="_blank"> </a></span></label>'),Mr=h('<label><input type="checkbox"/> <span>I accept <a class="underline" target="_blank">the General Terms and Conditions</a></span></label>'),Yr=h('<a class="underline">Read More</a>'),Or=h('<label><input type="checkbox"/> <span> <!></span></label>'),Tr=h('<div class="w-full"><textarea class="peer h-full min-h-[100px] w-full resize-none rounded-[7px] border border-blue-gray-200 bg-transparent px-3 py-2.5 font-normal text-blue-gray-700 outline outline-0 transition-all placeholder-shown:border placeholder-shown:border-blue-gray-200 focus:border-2 focus:border-gray-900 focus:outline-0 disabled:resize-none disabled:border-0 disabled:bg-blue-gray-50"></textarea></div>'),Br=h('<button type="button" class="bg-primary text-secondary flex-1 text-center p-3 rounded-3xl font-asikue text-sm cursor-pointer hover:bg-primary-hover transition-all ease-out duration-150 svelte-wo5a7y"> </button>'),Ar=h('<button type="button" class="bg-primary text-secondary flex-1 text-center p-3 rounded-3xl font-asikue text-sm cursor-pointer hover:bg-primary-hover transition-all ease-out duration-150 svelte-wo5a7y">Book</button>'),Ur=h('<div class="flex flex-col gap-3"><button type="button" class="bg-primary text-secondary flex-1 text-center p-3 rounded-3xl font-asikue text-sm cursor-pointer hover:bg-primary-hover transition-all ease-out duration-150 disabled:cursor-not-allowed disabled:opacity-60 svelte-wo5a7y"> </button> <button class="text-primary hover:bg-primary transition-all duration-200 ease-out hover:text-secondary font-semibold rounded-full border-[1px] p-3 border-primary svelte-wo5a7y" type="button">Apply Coupon</button></div> <!>',1),Gr=h("<h2> </h2> <p> </p>",1),zr=h('<p class="text-red-500"> </p>'),Nr=h('<li><button class="svelte-wo5a7y"><span style="text-decoration: underline"> </span></button></li>'),Wr=h("<h4>List of your available coupons</h4> <small>Click on coupon to apply:</small> <ul></ul>",1),qr=h('<h3 class="h3 text-primary">Apply Coupon</h3> <div><p class="pt-3">Enter the code below</p></div> <div class="sm:flex-col sm:items-start flex gap-3 items-center"><input class="border-[1px] sm:w-full my-1 border-primary px-3 h-10 py-3 text-xs rounded-md" type="text" placeholder="Coupon code"/> <button class="bg-primary sm:w-full px-8 py-[2px] hover:bg-primary-hover h-10 text-xs font-semibold text-secondary rounded-full svelte-wo5a7y">Apply</button></div> <!> <!>',1),Kr=h('<div class="flex justify-between items-center p-[25px]"><img class="w-[80px]" src="/images/order/nav-logo.png" alt="Logo"/> <a><img class="w-[40px]" src="/images/order/close.png" alt="Close"/></a></div>
1 <section class="w-full sm:p-[20px] p-[40px] flex justify-center flex-wrap"><!> <!> <!> <div class="w-full flex flex-col items-center mt-4"><div class="flex items-center gap-3 bg-[#F4F4F4] rounded-2xl p-5"><button type="button">Buy for myself</button> <button type="button">Buy a ticket for a friend</button></div> <!></div> <div class="flex flex-col items-center"><!> <div class="flex justify-center flex-col gap-6 w-full mt-5 max-w-[500px]"><!> <!> <!> <!> <!> <!> <!></div> <form><div id="payment-element"></div> <button id="submit" class="bg-primary text-secondary focus:outline-primary focus:outline-1 flex-1 text-center py-3 rounded-3xl font-asikue mt-5 w-full min-w-[200px] text-sm transition-all ease-out duration-150 cursor-pointer hover:bg-primary-hover disabled:cursor-not-allowed disabled:opacity-60 svelte-wo5a7y"><div class="spinner hidden" id="spinner"></div> <span id="button-text"> </span></button> <div id="payment-message" class="hidden"></div></form></div></section> <!> <!>',1);const Vr={hash:"svelte-wo5a7y",code:".toggle.svelte-wo5a7y {margin-right:10px;display:inline-flex;align-items:center;border-radius:0.375rem;border-width:1px;border-color:transparent;padding-left:0.5rem;padding-right:0.5rem;padding-top:0.5rem;padding-bottom:0.5rem;font-size:1rem;line-height:1.5rem;font-weight:500;--tw-shadow: 0 1px 2px 0 rgb(0 0 0 / 0.05);
1--tw-shadow-colored: 0 1px 2px 0 var(--tw-shadow-color);box-shadow:var(--tw-ring-offset-shadow, 0 0 #0000), var(--tw-ring-shadow, 0 0 #0000), var(--tw-shadow);transition-property:color, background-color, border-color, text-decoration-color, fill, stroke, opacity, box-shadow, transform, filter, backdrop-filter;transition-duration:150ms;transition-timing-function:cubic-bezier(0.4, 0, 0.2, 1)}.toggle.svelte-wo5a7y:focus {outline:2px solid transparent;outline-offset:2px}.active.svelte-wo5a7y {--tw-bg-opacity: 1;background-color:rgb(17 73 40 / var(--tw-bg-opacity, 1));--tw-text-opacity: 1;color:rgb(255 255 255 / var(--tw-text-opacity, 1))}.input.svelte-wo5a7y {margin-top:10px;margin-bottom:10px;max-width:400px;border-radius:8px;border-width:1px;border-style:solid;border-color:#114928B2;--tw-border-opacity: 0.7;--tw-bg-opacity: 1;background-color:rgb(255 255 255 / var(--tw-bg-opacity, 1));--tw-text-opacity: 1;color:rgb(136 128 128 / var(--tw-text-opacity, 1))}.container.svelte-wo5a7y {margin-left:auto;margin-right:auto;max-width:1200px}.hide.svelte-wo5a7y {display:none}button.svelte-wo5a7y:disabled {cursor:not-allowed;opacity:0.5}"};function Rr(ue,mt){var Yt,Ot,Tt,Bt,At,Ut,Gt,zt,Nt,Wt,qt,Kt,Vt,Rt;qa(mt,!1),Ja(ue,Vr);const j=()=>Xa(ia,"$user",oa),[oa,la]=er(),qe=k(),X=k(),Ke=k(),vt=k();let a=Qa(mt,"data",12);const ge=(((Yt=a().event)==null?void 0:Yt.helpers)||[]).includes((Ot=j())==null?void 0:Ot.id)||a().event.ambassador&&((Tt=j())==null?void 0:Tt.id)===a().event.ambassador||a().event.secondaryAmbassador&&((Bt=j())==null?void 0:Bt.id)===a().event.secondaryAmbassador,Ve=(((At=a().event)==null?void 0:At.invited)||[]).includes((Ut=j())==null?void 0:Ut.id);let $e=k(0),T=k(!ye.currentUser),De=k(""),Ee=k(!1),pt=k("Warning"),je=k(!1),N=k(!1),Le=k(!1),Me=k(""),ft=k(""),K=k(""),ie=k(""),Re=k(!1),oe=k(""),He=k(""),Ye=null,Je=null,be=k(""),Oe=k(),J={couponId:"",userCoupon:!1,makeItFree:!1,canApplyForMultipleTickets:!1},Pe=k([]),me=k([]),ve=k({}),xt="",Te=k(0),Ze=0;ye.onAuthStateChanged(async t=>{u(T,!t),e(T)||u(Pe,(await Zt(ze(de,"users",t.uid,"coupons")).then(r=>r.docs.map(s=>s.data()))).filter(r=>!r.used&&(!r.expiresOn||r.expiresOn>new Date().toISOString()))||[])});async function ca(){await et({code:e(Me)})}tr.set({title:a().event.name,description:a().event.description});let M=k(!1),he=k(!1),pe=k(""),ee=k(""),Y=k([]),A={main:[],drink:[]};const le={minMains:((Gt=a().menu)==null?void 0:Gt.minMains)!==void 0?(zt=a().menu)==null?void 0:zt.minMains:1,maxMains:((Nt=a().menu)==null?void 0:Nt.maxMains)!==void 0?(Wt=a().menu)==null?void 0:Wt.maxMains:1,minDrinks:((qt=a().menu)==null?void 0:qt.minDrinks)!==void 0?(Kt=a().menu)==null?void 0:Kt.minDrinks:1,maxDrinks:((Vt=a().menu)==null?void 0:Vt.maxDrinks)!==void 0?(Rt=a().menu)==null?void 0:Rt.maxDrinks:1};let W=k([]),V={},Be={};function yt(){if(!e(X))return[];const t=A.main.length<le.minMains?`You need to select at least ${le.minMains} main course(s)`:"",r=A.drink.length<le.minDrinks?`You need to select at least ${le.minDrinks} drink(s)`:"",s=A.main.concat(A.drink).reduce((n,i)=>((i.type==="main"?A.main:A.drink).filter(d=>d.group===i.group).length<i.groupMin&&n.push(`You need to select at least ${i.groupMin} item(s) from the ${i.group} group`),n),[]);return[t,r,...s].filter((n,i,o)=>n&&o.indexOf(n)===i)}function Qe(t,r){var y,b;const s=V[t]||{selected:[]},n=(r==null?void 0:r.min)??0,i=s.selected.length<n?`You need to select at least ${n} accessory item(s)`:"",d=(((b=(y=(a().accessories||[]).find(x=>x.id===t))==null?void 0:y.menu)==null?void 0:b.groups)||[]).reduce((x,m)=>{const w=(m==null?void 0:m.min)??0;return w>0&&s.selected.filter(O=>O.group===m.name).length<w&&x.push(`You need to select at least ${w} item(s) from the ${m.name} accessory group`),x},[]);Be[t]=[i,...d].filter((x,m,w)=>x&&w.indexOf(x)===m);const p=yt(),_=Object.values(Be).flat();u(W,[...p.filter(Boolean),..._.filter(Boolean)].filter((x,m,w)=>x&&w.indexOf(x)===m))}function _e(){const t=yt(),r=Object.values(Be).flat();u(W,[...t.filter(Boolean),...r.filter(Boolean)].filter((s,n,i)=>s&&i.indexOf(s)===n))}async function da(t,r){var s,n;try{const i=await Qt(Xt,"createPaymentSheet")({main:r.main,drink:r.drink,...r.dietaryPreferences&&{dietaryPreferences:r.dietaryPreferences},...r.couponId&&{couponId:r.couponId},...r.tickets&&{tickets:r.tickets},currency:r.currency,event:t,source:"web",type:(r==null?void 0:r.type)||(e(T)?"guest-order":"user-order"),...Object.values(e(ve)).some(Boolean)&&{promotions:Object.entries(e(ve)).filter(([x,m])=>m).map(x=>x[0])},...e(T)&&{guest:{email:e(K),name:e(oe)}},...r!=null&&r.accessories?{accessories:r.accessories}:(s=a().accessories)!=null&&s.length?{accessories:(n=a().accessories)==null?void 0:n.map(x=>{var m,w;return{id:x.id,name:((m=x.menu)==null?void 0:m.name)||"",items:((w=V[x.id])==null?void 0:w.selected.map($=>({question:$.group,answer:$.name})))||[]}})}:{}});i.data||new Error("Error fetching payment sheet params");const{paymentIntent:o,ephemeralKey:d,customer:p,eventPrice:_,alreadyBoughtSelf:y,alreadyBoughtFriends:b}=i.data;return typeof y=="number"&&u(Te,y),typeof b=="number"&&(Ze=b),typeof _=="number"&&u(Oe,_),o&&(xt=o),{paymentIntent:o,ephemeralKey:d,customer:p,publishableKey:na.stripe.publishableKey}}catch(i){return console.log(i),{error:i}}}async function ua(t,r){var s;try{const n=await da(t,r);return n!=null&&n.error?{error:((s=n==null?void 0:n.error)==null?void 0:s.message)||"An unexpected error occurred while preparing the payment."}:n!=null&&n.paymentIntent?(Ye=await sr(na.stripe.publishableKey),Ye?(Je=Ye.elements({clientSecret:n.paymentIntent}),Je.create("payment",{}).mount("#payment-element"),{ok:!0}):{error:"Unable to load payment provider. Please refresh and try again."}):{error:"Missing payment details. Please try again."}}catch(n){return console.log(n),{error:n instanceof Error?n.message:"Failed to initialize payment. Please try again."}}}async function ma(){var $,O,U;const t=e(Y).find(D=>D.type==="self")||e(Y)[0],r=t?t.selections.main:A.main.map(D=>D.name),s=t?t.selections.drink:A.drink.map(D=>D.name),n=t?t.selections.dietaryPreferences:e(De),i=(t==null?void 0:t.accessories)||(a().accessories||[]).map(D=>{var G,P;return{id:D.id,name:((G=D.menu)==null?void 0:G.name)||"",items:(((P=V[D.id])==null?void 0:P.selected)||[]).map(ce=>({question:ce.group,answer:ce.name}))}}),o=t?e(Y).filter(D=>D!==t):e(Y).filter(D=>D.type!=="self"),d=!t&&!!e(M);if(d){if(!e(pe)||!e(ee)||!tt(e(ee))){E("Please enter a valid name and email for your friend");return}if(e(X)&&(_e(),e(W).length)){E(e(W).join(` 2`));return}}const p=t?t.type==="self":!e(M),_=t?t.type==="friend":!!e(M),y=p?1:0,b=o.length+(_?1:0);if(a().event.type==="singles"&&b>0){E("You cannot buy tickets for friends at singles events.");return}if(e(Te)+y>1){E("You can buy a maximum of 1 ticket for yourself.");return}if(Ze+b>3){E("You can buy a maximum of 3 tickets for friends.");return}const x=y+b,m=(J==null?void 0:J.makeItFree)&&(x===1||J.canApplyForMultipleTickets);if(m||ge||Ve||a().event.price===0){u(N,!0);const D=(a().event.price||0)*x,P=(await ta(Ne(de,"events",a().event.id))).data();if(P.participants>=P.maxParticipants&&!ge&&!Ve){E("Sorry, this event is fully booked."),u(N,!1);return}P.type==="singles"&&P.maxParticipants/2<=P[(($=j())==null?void 0:$.gender)+"Participants"]&&E("Sorry, this event is fully booked for your gender."),await aa(ze(de,"sales"),{originalAmount:D,amount:0,couponReduction:m?D:a().event.price||0,event:a().event.id,status:"succeeded",source:"web-free",...(O=ye.currentUser)!=null&&O.uid&&y!==0?{user:(U=ye.currentUser)==null?void 0:U.uid}:{},...a().event.corporate&&{corporate:a().event.corporate},...(e(T)||d)&&{guest:{email:e(K)||e(pe),name:e(oe)||e(ee)}},main:r,drink:s,dietaryPreferences:n,type:ge?"ambassador-order":Ve?"invited-order":y===0||e(T)?"guest-order":"user-order",tickets:o,...J.couponId&&{coupon:J.couponId,userCoupon:J.userCoupon||!1},...i!=null&&i.length?{accessories:i}:{}}),u(N,!1),ut("/complete?type=free");return}u(Le,!0),u(N,!0);const w=await ua(a().event.id,{main:r,drink:s,dietaryPreferences:n,couponId:J.couponId,userCoupon:J.userCoupon,currency:(a().event.currency||"GBP").toUpperCase(),...i!=null&&i.length?{accessories:i}:{},tickets:o,...y===0?{type:"guest-order"}:{}});if(w!=null&&w.error){u(Le,!1),u(N,!1),E(w==null?void 0:w.error);return}}async function va(){var t,r,s,n,i,o;if(!((t=ye.currentUser)!=null&&t.uid)){await Se({title:"Error",state:"error",message:"You need to be logged in to join the waitlist"});return}if(a().event.type==="singles"&&(!((r=j())!=null&&r.gender)||((s=j())==null?void 0:s.gender)==="preferNotToSay")){await Se({title:"Error",state:"error",message:"Please update your gender in settings to join the waitlist for singles events"});return}if(u(N,!0),e(be))await sa(nr(Ne(de,"waitlist",e(be))),"You have been removed from the waitlist",()=>{Se({title:"Error",state:"error",message:"Error removing from the waitlist"})}),u(be,"");else{const d=await sa(aa(ze(de,"waitlist"),{event:a().event.id,user:(n=j())==null?void 0:n.id,email:(i=j())==null?void 0:i.email,createdOn:new Date().toISOString(),status:"pending",...a().event.type==="singles"&&{gender:(o=j())==null?void 0:o.gender}}),"You have joined the waitlist! We will notify you if a spot opens up.",()=>{Se({title:"Error",state:"error",message:"Error joining the waitlist"})});u(be,d.id)}u(N,!1)}function Xe(){u(je,!1),u(Me,"")}function E(t,r="Warning"){u(pt,r),u(Ee,!0),u(ft,t)}function gt(t,r,s,n){const i=(r==null?void 0:r.type)==="main"||(r==null?void 0:r.type)==="drink"?r.type:void 0;if(!i&&s){V[s]=V[s]||{selected:[]};const o=V[s],d=o.selected.filter(_=>_.group===r.name).length,p=o.selected.length;if(t.checked&&(r!=null&&r.max)&&d>=r.max){t.checked=!1,E(`You can only select ${r.max} items for the ${r.name} group`),a(a().accessories=[...a().accessories],!0);return}if(t.checked&&(n==null?void 0:n.max)!==void 0&&p>=n.max){t.checked=!1,E(`You can only select ${n.max} accessory item(s) for ${(n==null?void 0:n.name)||"this accessory"}`),a(a().accessories=[...a().accessories],!0);return}o.selected=t.checked?[...o.selected,{group:r.name,name:t.name}]:o.selected.filter(_=>
2_.name!==t.name),Qe(s,n);return}if(!i){_e();return}t.checked&&r.max&&r.max===A[i].filter(o=>o.group===r.name).length&&(t.checked=!1,E(`You can only select ${r.max} items for the ${r.name} group`),a(a().menu.groups=[...a().menu.groups],!0)),t.checked&&le[i==="main"?"maxMains":"maxDrinks"]===A[i].length&&(t.checked=!1,E(`You can only select ${le[i==="main"?"maxMains":"maxDrinks"]} items for this category`),a(a().menu.groups=[...a().menu.groups],!0)),A[i]=t.checked?[...A[i],{...t,group:r.name,type:r.type,groupMin:(r==null?void 0:r.min)!==void 0?r==null?void 0:r.min:r.type==="main"?le.minMains:le.minDrinks}]:A[i].filter(o=>o.name!==t.name),_e()}async function et(t,r){try{!r&&e(Pe).find(n=>t.code===n.code)&&(r=!0);const s=await Qt(Xt,"checkIfCouponValid")({couponCode:t.code,eventId:a().event.id,eventPrice:a().event.price,ticketsCount:Math.max(1,e(Y).length||0)}).catch(()=>{throw new Error("Invalid coupon code")});s!=null&&s.data&&(s.data.couponId&&(Xe(),E("Coupon applied successfully","Success"),J={couponId:s.data.couponId,userCoupon:r||!1,makeItFree:s.data.makeItFree,canApplyForMultipleTickets:!!s.data.canApplyForMultipleTickets}),s.data.makeItFree&&(Xe(),E("Coupon applied successfully","Success")))}catch{u(He,"Invalid coupon code")}}_e();async function pa(){const{error:t}=await Ye.confirmPayment({elements:Je,confirmParams:{return_url:se.url+`/complete?payment_intent_client_secret=${xt}`}});t.type==="card_error"||t.type==="validation_error"?E(t.message):E("An unexpected error occurred."),u(N,!1)}async function fa(){var t;(t=a().event.promotions)!=null&&t.length&&(await Promise.all((a().event.promotions||[]).map(async r=>{const s=await ta(Ne(de,"promotions",r));if(s.exists()){const n=s.data();n.active&&(Jt(ve,e(ve)[r]=!1),e(me).push({id:r,name:n.name,agreement:n.agreement,checkboxLabel:n.checkboxLabel}))}})),e(me).length&&u(me,[...e(me)]))}za(()=>{var s,n,i;const t=new URLSearchParams(window.location.search).get("coupon");t&&et({code:t}).catch(),or().catch();const r=ar(Ne(de,"events",a().event.id),o=>{var d;a(a().event.participants=(d=o.data())==null?void 0:d.participants,!0),a().event.status!=="upcoming"&&ut("/event/"+a().event.id)});if(fa().catch(),(s=a().accessories)!=null&&s.length)for(const o of a().accessories)V[o.id]=V[o.id]||{selected:[]},Qe(o.id,o.menu);return(n=ye.currentUser)!=null&&n.uid&&Zt(rr(ze(de,"waitlist"),ea("event","==",a().event.id),ea("user","==",(i=ye.currentUser)==null?void 0:i.uid))).then(o=>{var d;return u(be,((d=o.docs[0])==null?void 0:d.id)||"")}),()=>r()});function tt(t){return/^[^\s@]+@[^\s@]+\.[^\s@]+$/.test(t)}function xa(){var t,r;if((t=a().menu)!=null&&t.groups&&a(a().menu.groups=a().menu.groups.map(s=>({...s,items:s.items.map(n=>({...n,checked:!1}))})),!0),(r=a().accessories)!=null&&r.length){a(a().accessories=a().accessories.map(s=>{var n;return{...s,menu:{...s.menu,groups:(((n=s.menu)==null?void 0:n.groups)||[]).map(i=>({...i,items:i.items.map(o=>({...o,checked:!1}))}))}}}),!0),V={},Be={};for(const s of a().accessories)V[s.id]={selected:[]},Qe(s.id,s.menu)}A={main:[],drink:[]},u(De,""),u(W,[]),u(M,hasFriendTicketsFeature?e(he):!1),u(pe,""),u(ee,""),_e()}function ya(){if(e(X)&&(_e(),e(W).length)){E(e(W).join(` 3`));return}const t=e(Y).filter(i=>i.type==="friend").length,r=e(he)?1:0;if(e(M)){if(a().event.type==="singles"){E("You cannot buy tickets for friends at singles events.");return}if(!e(pe)||!e(ee)||!tt(e(ee))){E("Please enter a valid name and email for your friend");return}if(Ze+t+1>3){E("You can buy a maximum of 3 tickets for friends.");return}}else if(e(Te)+r>=1){E("You can buy a maximum of 1 ticket for yourself.");return}const s=(a().accessories||[]).map(i=>{var o,d;return{id:i.id,name:((o=i.menu)==null?void 0:o.name)||"",items:(((d=V[i.id])==null?void 0:d.selected)||[]).map(p=>({question:p.group,answer:p.name}))}}),n={type:e(M)?"friend":"self",selections:{main:A.main.map(i=>i.name),drink:A.drink.map(i=>i.name),dietaryPreferences:e(De)},...e(M)&&{name:e(pe),email:e(ee),code:ir.random.string(8)},accessories:s,timestamp:dt.now().toUTC().toISO()};u(M,e(he)),u(Y,[...e(Y),n]),e(M)||u(he,!0),xa(),typeof window<"u"&&window.scrollTo({top:0,behavior:"smooth"})}function ga(t){const r=e(Y)[t];u(Y,e(Y).filter((s,n)=>n!==t)),(r==null?void 0:r.type)==="self"&&(u(he,!1),u(M,!1))}we(()=>e(Y),()=>{u($e,e(Y).filter(t=>t.type==="friend").length)}),we(()=>(e(M),F(a()),e($e),j()),()=>{var t,r;u(qe,e(M)?a().event.maxParticipants<=a().event.participants+e($e):a().event.type==="singles"&&((t=j())!=null&&t.gender)?a().event.maxParticipants/2<=a().event[((r=j())==null?void 0:r.gender)+"Participants"]||a().event.maxParticipants<=a().event.participants+e($e):a().event.maxParticipants<=a().event.participants+e($e))}),we(()=>F(a()),()=>{u(X,!!a().event.menu)}),we(()=>F(a()),()=>{u(Ke,a().event.dietaryPreferencesLabel||"Dietary Preferences")}),we(()=>(e(X),F(a())),()=>{var t;u(vt,e(X)||!!((t=a().accessories)!=null&&t.length))}),we(()=>(e(T),e(K)),()=>{e(T)&&e(K)?u(ie,tt(e(K))?"":"Please enter a valid email address"):u(ie,"")}),Ka();var ba={get data(){return a()},set data(t){a(t),Ra()}};Ga();var bt=Kr(),at=R(bt),ha=v(c(at),2);l(at);var rt=v(at,2),ht=c(rt);{var _a=t=>{var r=Ge(),s=R(r);{var n=o=>{var d=lr();g(o,d)},i=o=>{var d=dr(),p=v(c(d),2),_=c(p);H(_);var y=v(_,2);{var b=m=>{var w=cr(),$=c(w,!0);l(w),C(()=>I($,e(ie))),g(m,w)};S(y,m=>{e(ie)&&!e(Re)&&m(b)})}var x=v(y,2);H(x),l(p),l(d),ke(_,()=>e(K),m=>u(K,m)),z("focus",_,()=>u(Re,!0)),z("blur",_,()=>u(Re,!1)),ke(x,()=>e(oe),m=>u(oe,m)),g(o,d)};S(s,o=>{F(a()),f(()=>a().event.type==="singles")?o(n):o(i,-1)})}g(t,r)};
3S(ht,t=>{e(T)&&t(_a)})}var _t=v(ht,2);{var wa=t=>{var r=ur();g(t,r)},ka=t=>{var r=mr();g(t,r)},Fa=t=>{var r=vr(),s=c(r),n=c(s,!0);l(s),Ie(2),l(r),C(()=>I(n,(F(a()),f(()=>a().event.name)))),g(t,r)};S(_t,t=>{e(T),F(a()),j(),f(()=>{var r;return!e(T)&&a().event.type==="singles"&&!((r=j())!=null&&r.gender)})?t(wa):e(X)?t(ka,1):t(Fa,-1)})}var wt=v(_t,2);{var $a=t=>{var r=br(),s=c(r),n=c(s),i=c(n);l(n),l(s);var o=v(s,2);re(o,5,()=>e(Y),ne,(d,p,_)=>{var y=gr(),b=c(y),x=c(b),m=c(x);l(x);var w=v(x,2),$=c(w),O=c($,!0);l($);var U=v($,2);l(w),l(b);var D=v(b,2),G=c(D);{var P=L=>{var B=pr(),te=c(B);l(B),C(()=>I(te,`Email: ${e(p),f(()=>e(p).email)??""}`)),g(L,B)};S(G,L=>{e(p),f(()=>e(p).type==="friend"&&e(p).email)&&L(P)})}var ce=v(G,2);{var fe=L=>{var B=fr(),te=c(B);l(B),C(ae=>I(te,`Main: ${ae??""}`),[()=>(e(p),f(()=>e(p).selections.main.join(", ")))]),g(L,B)};S(ce,L=>{e(p),f(()=>e(p).selections.main.length)&&L(fe)})}var q=v(ce,2);{var Z=L=>{var B=xr(),te=c(B);l(B),C(ae=>I(te,`Drink: ${ae??""}`),[()=>(e(p),f(()=>e(p).selections.drink.join(", ")))]),g(L,B)};S(q,L=>{e(p),f(()=>e(p).selections.drink.length)&&L(Z)})}var xe=v(q,2);{var Ce=L=>{var B=yr(),te=c(B);l(B),C(()=>I(te,`${e(Ke)??""}: ${e(p),f(()=>e(p).selections.dietaryPreferences)??""}`)),g(L,B)};S(xe,L=>{e(p),f(()=>e(p).selections.dietaryPreferences)&&L(Ce)})}l(D),l(y),C(L=>{I(m,`#${_+1} ⢠${e(p),f(()=>e(p).type==="self"?"My ticket":`Friend: ${e(p).name}`)??""}`),I(O,L)},[()=>(F(dt),e(p),f(()=>dt.fromISO(e(p).timestamp).toFormat("d MMMM yyyy, HH:mm")))]),z("click",U,()=>ga(_)),g(d,y)}),l(o),l(r),C(()=>I(i,`Tickets to buy: ${e(Y),f(()=>e(Y).length)??""}`)),g(t,r)};S(wt,t=>{e(Y),f(()=>e(Y).length)&&t($a)})}var nt=v(wt,2),st=c(nt),Ae=c(st),it=v(Ae,2);l(st);var Da=v(st,2);{var Pa=t=>{var r=Ge(),s=R(r);{var n=o=>{var d=hr();g(o,d)},i=o=>{var d=_r(),p=v(c(d),2);H(p);var _=v(p,4);H(_),Ie(2),l(d),ke(p,()=>e(pe),y=>u(pe,y)),ke(_,()=>e(ee),y=>u(ee,y)),g(o,d)};S(s,o=>{F(a()),f(()=>a().event.type==="singles")?o(n):o(i,-1)})}g(t,r)};S(Da,t=>{e(M)&&t(Pa)})}l(nt);var kt=v(nt,2),Ft=c(kt);{var Ca=t=>{var r=Ir(),s=R(r);re(s,5,()=>(F(a()),f(()=>{var o;return((o=a().menu)==null?void 0:o.groups)||[]})),ne,(o,d)=>{var p=Fr(),_=c(p),y=c(_,!0);l(_);var b=v(_,2);re(b,1,()=>(e(d),f(()=>e(d).items)),ne,(x,m,w)=>{var $=kr(),O=c($),U=c(O);H(U),Ie(2),l(O);var D=v(O,2),G=c(D),P=c(G,!0);l(G);var ce=v(G,2);{var fe=q=>{var Z=wr(),xe=c(Z);l(Z),C(()=>I(xe,`(${e(m),f(()=>e(m).description)??""})`)),g(q,Z)};S(ce,q=>{e(m),f(()=>e(m).description)&&q(fe)})}l(D),l($),C(()=>{Q(U,"id",(e(m),f(()=>e(m).name))),Q(D,"for",(e(m),f(()=>e(m).name))),I(P,(e(m),f(()=>e(m).name)))}),Fe(U,()=>e(m).checked,q=>(e(m).checked=q,Ht(()=>(e(d),a())))),z("change",U,()=>gt(e(m),e(d))),g(x,$)}),l(p),C(()=>I(y,(e(d),f(()=>e(d).name)))),g(o,p)}),l(s);var n=v(s,2);{var i=o=>{var d=Cr(),p=v(R(d),2);re(p,5,()=>(F(a()),f(()=>a().accessories)),ne,(_,y)=>{var b=Ge(),x=R(b);re(x,1,()=>(e(y),f(()=>{var m;return((m=e(y).menu)==null?void 0:m.groups)||[]})),ne,(m,w)=>{var $=Pr(),O=c($),U=c(O,!0);l(O);var D=v(O,2);re(D,1,()=>(e(w),f(()=>e(w).items)),ne,(G,P,ce)=>{var fe=Dr(),q=c(fe),Z=c(q);H(Z),Ie(2),l(q);var xe=v(q,2),Ce=c(xe),L=c(Ce,!0);l(Ce);var B=v(Ce,2);{var te=ae=>{var lt=$r(),Ua=c(lt);l(lt),C(()=>I(Ua,`(${e(P),f(()=>e(P).description)??""})`)),g(ae,lt)};S(B,ae=>{e(P),f(()=>e(P).description)&&ae(te)})}l(xe),l(fe),C(()=>{Q(Z,"id",(e(y),e(P),f(()=>`${e(y).id}-${e(P).name}`))),Q(xe,"for",(e(y),e(P),f(()=>`${e(y).id}-${e(P).name}`))),I(L,(e(P),f(()=>e(P).name)))}),Fe(Z,()=>e(P).checked,ae=>(e(P).checked=ae,Ht(()=>(e(w),a(),e(y))))),z("change",Z,()=>gt(e(P),e(w),e(y).id,e(y).menu)),g(G,fe)}),l($),C(()=>I(U,(e(w),f(()=>e(w).name)))),g(m,$)}),g(_,b)}),l(p),g(o,d)};S(n,o=>{F(a()),f(()=>{var d;return(d=a().accessories)==null?void 0:d.length})&&o(i)})}g(t,r)};S(Ft,t=>{e(X)&&t(Ca)})}var ot=v(Ft,2),$t=c(ot);{var Ia=t=>{var r=Er();re(r,5,()=>e(W),ne,(s,n)=>{var i=Sr(),o=c(i,!0);l(i),C(()=>I(o,e(n))),g(s,i)}),l(r),g(t,r)};S($t,t=>{e(X)&&t(Ia)})}var Dt=v($t,2);{var Sa=t=>{var r=jr(),s=c(r);H(s);var n=v(s,2),i=v(c(n)),o=c(i,!0);l(i),l(n),l(r),C(()=>{Q(i,"href",(F(se),F(a()),f(()=>se.url+"/legal-documents/"+a().moveLegalDocument.id))),I(o,(F(a()),f(()=>a().moveLegalDocument.name)))}),Fe(s,()=>a().moveLegalDocument.checked,d=>a(a().moveLegalDocument.checked=d,!0)),g(t,r)};S(Dt,t=>{F(a()),f(()=>a().moveLegalDocument)&&t(Sa)})}var Pt=v(Dt,2);{var Ea=t=>{var r=Lr(),s=c(r);H(s);var n=v(s,2),i=v(c(n)),o=c(i,!0);l(i),l(n),l(r),C(()=>{Q(i,"href",(F(se),F(a()),f(()=>se.url+"/legal-documents/"+a().meetLegalDocument.id))),I(o,(F(a()),f(()=>a().meetLegalDocument.name)))}),Fe(s,()=>a().meetLegalDocument.checked,d=>a(a().meetLegalDocument.checked=d,!0)),g(t,r)};S(Pt,t=>{F(a()),f(()=>a().meetLegalDocument)&&t(Ea)})}var Ct=v(Pt,2);{var ja=t=>{var r=Mr(),s=c(r);H(s);var n=v(s,2),i=v(c(n));l(n),l(r),C(()=>Q(i,"href",(F(se),F(a()),f(()=>se.url+"/legal-documents/"+a().legalDocument.id)))),Fe(s,()=>a().legalDocument.checked,o=>a(a().legalDocument.checked=o,!0)),g(t,r)};S(Ct,t=>{F(a()),f(()=>a().legalDocument)&&t(ja)})}var It=v(Ct,2);{var La=t=>{var r=Ge(),s=R(r);
3re(s,1,()=>e(me),ne,(n,i)=>{var o=Or(),d=c(o);H(d);var p=v(d,2),_=c(p),y=v(_);{var b=x=>{var m=Yr();C(()=>Q(m,"href",(F(se),e(i),f(()=>se.url+"/legal-documents/"+e(i).agreement)))),g(x,m)};S(y,x=>{e(i),f(()=>e(i).agreement)&&x(b)})}l(p),l(o),C(()=>I(_,`${e(i),f(()=>e(i).checkboxLabel)??""}. `)),Fe(d,()=>e(ve)[e(i).id],x=>Jt(ve,e(ve)[e(i).id]=x)),g(n,o)}),g(t,r)};S(It,t=>{e(me),f(()=>e(me).length)&&t(La)})}var St=v(It,2);{var Ma=t=>{var r=Tr(),s=c(r);Ha(s),l(r),C(()=>Q(s,"placeholder",`${e(Ke)??""} (optional)`)),ke(s,()=>e(De),n=>u(De,n)),g(t,r)};S(St,t=>{e(vt)&&t(Ma)})}var Ya=v(St,2);{var Oa=t=>{var r=Ur(),s=R(r),n=c(s),i=c(n);l(n);var o=v(n,2);l(s);var d=v(s,2);{var p=y=>{var b=Br(),x=c(b,!0);l(b),C(()=>{b.disabled=(e(N),e(W),e(T),e(K),e(oe),e(ie),F(a()),j(),f(()=>{var m;return(e(N)||!!e(W).length||(e(T)?!e(K)||!e(oe)||!!e(ie):!1)||!e(T)&&a().event.type==="singles"&&!((m=j())!=null&&m.gender))&&!ge})),I(x,e(be)?"On waitlist":"Join waitlist")}),z("click",b,va),g(y,b)},_=y=>{var b=Ar();C(()=>b.disabled=(e(N),e(W),e(T),e(K),e(oe),e(ie),F(a()),j(),f(()=>{var x;return(e(N)||!!e(W).length||(e(T)?!e(K)||!e(oe)||!!e(ie):!1)||!e(T)&&a().event.type==="singles"&&!((x=j())!=null&&x.gender)||a().meetLegalDocument&&!a().meetLegalDocument.checked||a().legalDocument&&!a().legalDocument.checked||a().moveLegalDocument&&!a().moveLegalDocument.checked)&&!ge}))),z("click",b,ma),g(y,b)};S(d,y=>{e(qe)?y(p):y(_,-1)})}C(()=>{n.disabled=e(qe)&&!ge,I(i,`Save & Buy ${e(M)?"one more":"a"} ticket for a friend`)}),z("click",n,ya),z("click",o,()=>u(je,!0)),g(t,r)};S(Ya,t=>{e(Le)||t(Oa)})}l(ot);var Ue=v(ot,2);let Et;var jt=v(c(Ue),2),Lt=v(c(jt),2),Ta=c(Lt);l(Lt),l(jt),Ie(2),l(Ue),l(kt),l(rt);var Mt=v(rt,2);ra(Mt,{get showing(){return e(Ee)},set showing(t){u(Ee,t)},$$events:{close:()=>u(Ee,!1)},children:(t,r)=>{var s=Gr(),n=R(s),i=c(n,!0);l(n);var o=v(n,2),d=c(o,!0);l(o),C(()=>{I(i,e(pt)),I(d,e(ft))}),g(t,s)},$$slots:{default:!0},$$legacy:!0});var Ba=v(Mt,2);ra(Ba,{get showing(){return e(je)},set showing(t){u(je,t)},$$events:{close:()=>Xe},children:(t,r)=>{var s=qr(),n=v(R(s),4),i=c(n);H(i);var o=v(i,2);l(n);var d=v(n,2);{var p=b=>{var x=zr(),m=c(x,!0);l(x),C(()=>I(m,e(He))),g(b,x)};S(d,b=>{e(He)&&b(p)})}var _=v(d,2);{var y=b=>{var x=Wr(),m=v(R(x),4);re(m,5,()=>e(Pe),ne,(w,$)=>{var O=Nr(),U=c(O),D=c(U),G=c(D);l(D),l(U),l(O),C(P=>I(G,`${e($),f(()=>e($).code)??""} - ${P??""}`),[()=>(e($),F(We),f(()=>e($).amount?We(e($).amount-e($).spent||0):e($).percentage+" %"))]),z("click",U,()=>et({code:e($).code},!0)),g(w,O)}),l(m),g(b,x)};S(_,b=>{e(Pe),f(()=>e(Pe).length)&&b(y)})}ke(i,()=>e(Me),b=>u(Me,b)),z("click",o,ca),g(t,s)},$$slots:{default:!0},$$legacy:!0}),C(t=>{Q(ha,"href",`/event/${F(a()),f(()=>a().event.id)??""}`),Ae.disabled=e(he)||e(Te)>0,ct(Ae,1,`px-4 py-2 rounded-2xl font-semibold border border-primary transition-all duration-150 ${e(M)?"text-primary hover:bg-primary hover:text-secondary":"bg-primary text-secondary hover:bg-primary-hover"}`,"svelte-wo5a7y"),it.disabled=(F(a()),f(()=>a().event.type==="singles")),ct(it,1,`px-4 py-2 rounded-2xl font-semibold border border-primary transition-all duration-150 ${e(M)?"bg-primary text-secondary hover:bg-primary-hover":"text-primary hover:bg-primary hover:text-secondary"}`,"svelte-wo5a7y"),Et=ct(Ue,1,"sm:w-full max-w-[700px] svelte-wo5a7y",null,Et,{hide:!e(Le)}),I(Ta,`Pay ${t??""}`)},[()=>(F(We),e(Oe),F(a()),f(()=>We(e(Oe)!==void 0?e(Oe):a().event.price,a().event.currency)))]),z("click",Ae,()=>u(M,!1)),z("click",it,()=>u(M,!0)),z("submit",Ue,Za(pa)),g(ue,bt);var Aa=Va(ba);return la(),Aa}Wa(Rr,{data:{}},[],[],{mode:"open"});export{Rr 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.