PageSourceSearch

https://www.fennecapp.com/assets/waitlist-section-i9u_CtRg.js

js fennecapp.com collected 2026-10-04 23:33:23 UTC 4,771 bytes, 1 lines download raw bytes

1import{a8 as f,a9 as w,W as j,r as g,j as e,H as N,G as v,Z as y}from"./index-qez1Ajzs.js";import{A as S}from"./arrow-right-CWzUKG-w.js";const F=f({method:"POST"}).handler(w("84d93890dd9c1e59a64f5ae8101da2c7f60e63742e9ff41c41f350a81144ccda"));function E({source:a="landing",eyebrow:n="Early access",title:o="Join the waitlist.",description:i="Fennec is rolling out to a hand-picked group of venues. Drop your details and we'll be in touch.",className:r}){const c=j(F),[l,d]=g.useState("idle"),[m,x]=g.useState(null);async function b(u){if(u.preventDefault(),l==="loading")return;const h=u.currentTarget;d("loading"),x(null);const t=new FormData(h);try{await c({data:{venueName:String(t.get("venueName")??""),contactName:String(t.get("contactName")??""),email:String(t.get("email")??""),phone:t.get("phone")||null,city:t.get("city")||null,message:t.get("message")||null,source:a}}),h.reset(),d("success")}catch(p){d("error"),x(p instanceof Error?p.message:"Something went wrong.")}}return e.jsx("section",{id:"waitlist",className:y("relative scroll-mt-24 px-5 sm:px-6 py-20 sm:py-28",r),children:e.jsxs("div",{className:"max-w-3xl mx-auto relative overflow-hidden rounded-[1.75rem] sm:rounded-[2rem] border border-white/10 bg-gradient-to-br from-[#141432] via-[#0f0f28] to-[#0a0a1a] p-8 sm:p-12",children:[e.jsx("div",{className:"absolute -top-px left-0 right-0 h-px bg-gradient-to-r from-transparent via-indigo-400 to-transparent"}),e.jsx("div",{className:"absolute -inset-32 bg-[radial-gradient(circle_at_50%_0%,rgba(79,70,229,0.22),transparent_60%)] -z-10"}),e.jsxs("div",{className:"text-center",children:[e.jsx("div",{className:"text-[11px] uppercase tracking-[0.22em] text-indigo-200/80 font-bold mb-3",children:n}),e.jsx("h3",{className:"font-[Sora] text-3xl sm:text-4xl md:text-5xl font-bold tracking-tight [text-wrap:balance]",children:o}),e.jsx("p",{className:"mt-4 text-white/65 max-w-xl mx-auto leading-relaxed",children:i})]}),l==="success"?e.jsxs("div",{className:"mt-10 rounded-2xl border border-emerald-300/30 bg-emerald-400/10 p-6 text-center",children:[e.jsx("div",{className:"mx-auto h-10 w-10 rounded-full bg-emerald-400/15 border border-emerald-300/40 grid place-items-center",children:e.jsx(N,{className:"h-5 w-5 text-emerald-200"})}),e.jsx("div",{className:"mt-3 font-[Sora] text-lg font-bold",children:"You're on the list."}),e.jsx("p",{className:"mt-1.5 text-sm text-white/65",children:"We'll reach out as soon as we open a spot in your city."})]}):e.jsxs("form",{onSubmit:b,className:"mt-10 grid gap-3 sm:grid-cols-2",children:[e.jsx(s,{name:"venueName",label:"Venue name",placeholder:"e.g. The Penthouse",required:!0}),e.jsx(s,{name:"contactName",label:"Your name",placeholder:"First & last",required:!0}),e.jsx(s,{name:"email",type:"email",label:"Work email",placeholder:"[email protected]",required:!0}),e.jsx(s,{name:"phone",label:"Phone",placeholder:"Optional"}),e.jsx(s,{name:"city",label:"City",placeholder:"Where do you operate?",className:"sm:col-span-2"}),e.jsxs("div",{className:"sm:col-span-2",children:[e.jsx("label",{className:"block text-[11px] uppercase tracking-[0.18em] text-white/45 font-bold mb-2",children:"Tell us about your venue"}),e.jsx("textarea",{name:"message",rows:3,placeholder:"Floors, capacity, what you're using today...",className:"w-full rounded-xl bg-white/[0.04] border border-white/10 px-4 py-3 text-sm text-white placeholder:text-white/30 focus:outline-none focus:ring-2 focus:ring-indigo-400/40 focus:border-indigo-300/40 transition-all"})]}),m&&e.jsx("div",{className:"sm:col-span-2 text-sm text-rose-300 bg-rose-500/10 border border-rose-400/30 rounded-xl px-4 py-3",children:m}),e.jsx("button",{type:"submit",disabled:l==="loading",className:"sm:col-span-2 mt-2 inline-flex items-center justify-center gap-2 px-6 py-3.5 rounded-xl bg-white text-[#0a0a1a] font-semibold hover:scale-[1.02] active:scale-[0.99] transition-transform disabled:opacity-60 disabled:cursor-not-allowed",children:l==="loading"?e.jsxs(e.Fragment,{children:[e.jsx(v,{className:"h-4 w-4 animate-spin"})," Sending…"]}):e.jsxs(e.Fragment,{children:["Join the waitlist ",e.jsx(S,{className:"h-4 w-4"})]})})]})]})})}function s({name:a,label:n,type:o="text",placeholder:i,required:r,className:c}){return e.jsxs("div",{className:c,children:[e.jsxs("label",{htmlFor:a,className:"block text-[11px] uppercase tracking-[0.18em] text-white/45 font-bold mb-2",children:[n,r&&e.jsx("span",{className:"text-indigo-300/80 ml-1",children:"*"})]}),e.jsx("input",{id:a,name:a,type:o,required:r,placeholder:i,className:"w-full rounded-xl bg-white/[0.04] border border-white/10 px-4 py-3 text-sm text-white placeholder:text-white/30 focus:outline-none focus:ring-2 focus:ring-indigo-400/40 focu
1s:border-indigo-300/40 transition-all"})]})}export{E as W};

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.