1import{b6 as z,c as J,r as v,F as X,j as e,B as x,o as w,O as C,C as u,K as T,N as S,aL as Z,a as b,a4 as j,A,ay as D,U as ee,M as se,aP as te,am as ae,e as le,Q as re}from"./index-tc5-nNLC.js";import{u as ne,t as ie}from"./zod-Bu1KJ1kD.js";import{T as ce}from"./textarea-DN2rY_yY.js";import{F as oe,a as n,b as i,c,d as o,e as m,f as de}from"./form-BdD-KO2h.js";import{S as R,a as V,b as Y,c as I,d as q}from"./select-Bsa-6vNv.js";import{d as xe}from"./nflEurope-CzTDKijY.js";import{A as me}from"./arrow-left-kYemJdx8.js";import{C as k}from"./circle-check-B8vEXYAG.js";import{C as he}from"./clipboard-check-Bp-eM6Gx.js";import{o as pe,s as d}from"./types-BkAQ3Jcx.js";import"./label-MwGx_WS4.js";import"./index-C-y5wYFI.js";import"./chevron-down-DOFZ7rzv.js";import"./chevron-up-1gTexUQn.js";const fe=pe({businessName:d().min(2,"Business name is required"),businessType:d().min(1,"Please select a business type"),contactName:d().min(2,"Contact name is required"),contactEmail:d().email("Valid email required"),contactPhone:d().optional(),address:d().min(5,"Address is required"),offerTitle:d().min(5,"Offer title is required"),offerDescription:d().min(10,"Describe your offer briefly"),offerValue:d().min(1,"Offer value or savings amount is required"),offerType:d().min(1,"Please select an offer type")}),je=["Hotel / Accommodation","Restaurant / Café","Bar / Pub / Sports Bar","Transfer / Transport","Retail / Merchandise","Tour Operator","Entertainment / Activities","Other"],L=[{value:"discount",label:"Percentage discount"},{value:"fixed",label:"Fixed amount off"},{value:"bundle",label:"Bundle deal"},{value:"access_pass",label:"Free entry / access"},{value:"giveaway",label:"Free item / gift"}],ue=[{value:"10K+",label:"traveling fans per game weekend"},{value:"35%+",label:"Target offer redemption rate"},{value:"Free",label:"To list your offer"},{value:"72hrs",label:"High-intensity game window"}],be=["Business Info","Your Offer","Review & Submit"];function Ae(){var B;const[,y]=z("/fan-travel/:citySlug/merchant-join"),p=(y==null?void 0:y.citySlug)||"london",t=xe(p),{toast:M}=J(),[f,N]=v.useState(1),[a,$]=v.useState(null),[F,W]=v.useState(null),[P,G]=v.useState(null),l=ne({resolver:ie(fe),defaultValues:{businessName:"",businessType:"",contactName:"",contactEmail:"",contactPhone:"",address:"",offerTitle:"",offerDescription:"",offerValue:"",offerType:""}}),g=X({mutationFn:async s=>(await re("POST","/api/merchant/nfl-europe-enquiry",{...s,city:(t==null?void 0:t.name)||p,cityId:p,source:"nfl_europe_landing"})).json(),onSuccess:s=>{s!=null&&s.enrollmentId&&W(s.enrollmentId),s!=null&&s.reference&&G(s.reference),N(4)},onError:()=>{M({title:"Something went wrong",description:"Please try again or email us directly.",variant:"destructive"})}}),_=async()=>{await l.trigger(["businessName","businessType","contactName","contactEmail","address"])&&N(2)},H=async()=>{await l.trigger(["offerType","offerTitle","offerValue","offerDescription"])&&($(l.getValues()),N(3))},Q=()=>{const s=l.getValues();g.mutate(s)};t!=null&&t.colors.primary;const U=(t==null?void 0:t.colors.gradient)||"from-slate-800 to-slate-900",K=((B=L.find(s=>s.value===(a==null?void 0:a.offerType)))==null?void 0:B.label)??(a==null?void 0:a.offerType);return e.jsxs("div",{className:"min-h-screen bg-[#0A0F1E]",children:[e.jsx("div",{className:`bg-gradient-to-r ${U} border-b border-white/10`,children:e.jsxs("div",{className:"container mx-auto px-4 py-6",children:[e.jsx("div",{className:"flex items-center gap-3 mb-4",children:e.jsx(x,{variant:"ghost",size:"sm",className:"text-white/60 hover:text-white hover:bg-white/10",asChild:!0,children:e.jsxs(w,{href:`/fan-travel/${p}`,children:[e.jsx(me,{className:"w-4 h-4 mr-1"})," Back to ",(t==null?void 0:t.name)||"City"," Guide"]})})}),e.jsxs("div",{className:"flex items-center gap-4",children:[e.jsx("span",{className:"text-4xl",children:(t==null?void 0:t.flag)||"ð"}),e.jsxs("div",{children:[e.jsxs(C,{className:"mb-1 bg-white/10 text-white border-white/20 text-xs",children:["Fan International Travel · ",(t==null?void 0:t.name)||p," Merchant Program"]}),e.jsxs("h1",{className:"text-2xl font-bold text-white",children:["Partner With ",(t==null?void 0:t.name)||p]}),e.jsx("p",{className:"text-white/60 text-sm mt-0.5",children:"Put your offer in front of thousands of traveling fans during game week"})]})]})]})}),e.jsxs("div",{className:"container mx-auto px-4 py-10 max-w-4xl",children:[e.jsx("div",{className:"grid grid-cols-2 md:grid-cols-4 gap-4 mb-10",children:ue.map(s=>e.jsxs("div",{className:"text-center p-4 rounded-xl bg-slate-900/60 border border-slate-800",children:[e.jsx("p",{className:"text-2xl font-bold text-amber-400",children:s.value}),e.jsx("p",{className:"text-xs text-slate-400 mt-1",children:s.label})]},s.label))}),f<4&&e.jsxs("div",{className:"grid md:grid-cols-3 gap-8",children:[e.jsxs("div",{className:"md:col-span-2",children:[e.jsx("div",{className:"flex items-center gap-2 mb-6","data-testid":"merchant-stepper",children:be.map((s,r)=>{const h=r+1,E=h<f,O=h===f;return e.jsxs("div",{className:"flex items-center gap-2",children:[e.jsx("div",{className:`w-8 h-8 rounded-full flex items-center justify-center text-sm font-semibold transition-colors ${E?"bg-green-500 text-white":O?"bg-amber-500 text-black":"bg-slate-800 text-slate-400"}`,"data-testid":`step-indicator-${h}
1`,children:E?e.jsx(k,{className:"w-4 h-4"}):h}),e.jsx("span",{className:`text-sm hidden sm:inline ${O?"text-white":"text-slate-500"}`,children:s}),h<3&&e.jsx("div",{className:"w-6 h-px bg-slate-700 mx-1"})]},h)})}),e.jsx(oe,{...l,children:e.jsxs("form",{className:"space-y-4",children:[f===1&&e.jsxs(u,{className:"bg-slate-900/60 border-slate-800",children:[e.jsx(T,{children:e.jsxs(S,{className:"text-white text-base flex items-center gap-2",children:[e.jsx(Z,{className:"w-4 h-4 text-amber-400"}),"Business Information"]})}),e.jsxs(b,{className:"space-y-4",children:[e.jsx(n,{control:l.control,name:"businessName",render:({field:s})=>e.jsxs(i,{children:[e.jsx(c,{className:"text-white",children:"Business Name *"}),e.jsx(o,{children:e.jsx(j,{className:"bg-slate-800 border-slate-700 text-white",placeholder:"e.g. The Faltering Fullback","data-testid":"input-business-name",...s})}),e.jsx(m,{})]})}),e.jsx(n,{control:l.control,name:"businessType",render:({field:s})=>e.jsxs(i,{children:[e.jsx(c,{className:"text-white",children:"Business Type *"}),e.jsxs(R,{onValueChange:s.onChange,value:s.value,children:[e.jsx(o,{children:e.jsx(V,{className:"bg-slate-800 border-slate-700 text-white","data-testid":"select-business-type",children:e.jsx(Y,{placeholder:"Select type"})})}),e.jsx(I,{children:je.map(r=>e.jsx(q,{value:r,children:r},r))})]}),e.jsx(m,{})]})}),e.jsxs("div",{className:"grid grid-cols-2 gap-4",children:[e.jsx(n,{control:l.control,name:"contactName",render:({field:s})=>e.jsxs(i,{children:[e.jsx(c,{className:"text-white",children:"Your Name *"}),e.jsx(o,{children:e.jsx(j,{className:"bg-slate-800 border-slate-700 text-white",placeholder:"First Last","data-testid":"input-contact-name",...s})}),e.jsx(m,{})]})}),e.jsx(n,{control:l.control,name:"contactEmail",render:({field:s})=>e.jsxs(i,{children:[e.jsx(c,{className:"text-white",children:"Email *"}),e.jsx(o,{children:e.jsx(j,{className:"bg-slate-800 border-slate-700 text-white",placeholder:"[email protected]",type:"email","data-testid":"input-contact-email",...s})}),e.jsx(m,{})]})})]}),e.jsx(n,{control:l.control,name:"contactPhone",render:({field:s})=>e.jsxs(i,{children:[e.jsx(c,{className:"text-white",children:"Phone (optional)"}),e.jsx(o,{children:e.jsx(j,{className:"bg-slate-800 border-slate-700 text-white",placeholder:"+44 xxx xxx xxxx","data-testid":"input-contact-phone",...s})})]})}),e.jsx(n,{control:l.control,name:"address",render:({field:s})=>e.jsxs(i,{children:[e.jsx(c,{className:"text-white",children:"Business Address *"}),e.jsx(o,{children:e.jsx(j,{className:"bg-slate-800 border-slate-700 text-white",placeholder:"Street address, neighborhood","data-testid":"input-address",...s})}),e.jsx(de,{className:"text-slate-500 text-xs",children:"Used to place your business on the city fan map"}),e.jsx(m,{})]})}),e.jsxs(x,{type:"button",onClick:_,className:"w-full bg-amber-500 hover:bg-amber-400 text-black font-semibold","data-testid":"button-step1-next",children:["Continue to Your Offer ",e.jsx(A,{className:"ml-2 w-4 h-4"})]})]})]}),f===2&&e.jsxs(u,{className:"bg-slate-900/60 border-slate-800",children:[e.jsx(T,{children:e.jsxs(S,{className:"text-white text-base flex items-center gap-2",children:[e.jsx(D,{className:"w-4 h-4 text-amber-400"}),"Your Offer for Game Weekend Fans"]})}),e.jsxs(b,{className:"space-y-4",children:[e.jsx(n,{control:l.control,name:"offerType",render:({field:s})=>e.jsxs(i,{children:[e.jsx(c,{className:"text-white",children:"Offer Type *"}),e.jsxs(R,{onValueChange:s.onChange,value:s.value,children:[e.jsx(o,{children:e.jsx(V,{className:"bg-slate-800 border-slate-700 text-white","data-testid":"select-offer-type",children:e.jsx(Y,{placeholder:"What kind of offer?"})})}),e.jsx(I,{children:L.map(r=>e.jsx(q,{value:r.value,children:r.label},r.value))})]}),e.jsx(m,{})]})}),e.jsx(n,{control:l.control,name:"offerTitle",render:({field:s})=>e.jsxs(i,{children:[e.jsx(c,{className:"text-white",children:"Offer Headline *"}),e.jsx(o,{children:e.jsx(j,{className:"bg-slate-800 border-slate-700 text-white",placeholder:"e.g. 15% off all food for traveling fans","data-testid":"input-offer-title",...s})}),e.jsx(m,{})]})}),e.jsx(n,{control:l.control,name:"offerValue",render:({field:s})=>e.jsxs(i,{children:[e.jsx(c,{className:"text-white",children:"Savings / Value *"}),e.jsx(o,{children:e.jsx(j,{className:"bg-slate-800 border-slate-700 text-white",placeholder:"e.g. 15% off, £5 off, Free pint","data-testid":"input-offer-value",...s})}),e.jsx(m,{})]})}),e.jsx(n,{control:l.control,name:"offerDescription",render:({field:s})=>e.jsxs(i,{children:[e.jsx(c,{className:"text-white",children:"Offer Description *"}),e.jsx(o,{children:e.jsx(ce,{className:"bg-slate-800 border-slate-700 text-white",rows:3,placeholder:"Brief description: terms, how to redeem, any restrictions...","data-testid":"input-offer-description",...s})}),e.jsx(m,{})]})}),e.jsxs("div",{className:"flex gap-3",children:[e.jsx(x,{type:"button",variant:"outline",className:"border-slate-700 text-slate-400 flex-1",onClick:()=>N(1),"data-testid":"button-step2-back",children:"Back"}),e.jsxs(x,{type:"button",onClick:H,className:"flex-1 bg-amber-500 hover:bg-amber-400 text-black font-semibold","data-testid":"button-step2-next",children:["Review Application ",e.jsx(A,{className:"ml-2 w-4 h-4"})]})]})]})]}),f===3&&a&&e.jsxs(u,{className:"bg-slate-900/60 border-slate-800",children:[e.jsx(T,{children:e.jsxs(S,{className:"text-white text-base flex items-center gap-2",children:[e.jsx(he,{className:"w-4 h-4 text-amber-400"}),"Review Your Application"]})}),e.jsxs(b,{className:"space-y-5",children:[e.jsxs("p",{className:"text-sm text-slate-400",children:["Check everything looks right before we send this to the ",t==null?void 0:t.name," team."]}),e.jsxs("div",{className:"rounded-xl bg-slate-800/60 border border-slate-700 divide-y divide-slate-700",children:[e.jsxs("div",{className:"px-4 py-3",children:[e.jsx("p",{className:"text-xs text-slate-500 uppercase tracking-wider mb-2",children:"Business"}),e.jsxs("div",{className:"grid grid-cols-2 gap-x-4 gap-y-1 text-sm",children:[e.jsxs("div",{children:[e.jsx("span",{className:"text-slate-500",children:"Name:"})," ",e.jsx("span",{className:"text-white font-medium",children:a.businessName})]}),e.jsxs("div",{children:[e.jsx("span",{className:"text-slate-500",children:"Type:"})," ",e.jsx("span",{className:"text-white",children:a.businessType})]}),e.jsxs("div",{className:"col-span-2",children:[e.jsx("span",{className:"text-slate-500",children:"Address:"})," ",e.jsx("span",{className:"text-white",children:a.address})]})]})]}),e.jsxs("div",{className:"px-4 py-3",children:[e.jsx("p",{className:"text-xs text-slate-500 uppercase tracking-wider mb-2",children:"Contact"}),e.jsxs("div",{className:"grid grid-cols-2 gap-x-4 gap-y-1 text-sm",children:[e.jsxs("div",{children:[e.jsx("span",{className:"text-slate-500",children:"Name:"})," ",e.jsx("span",{className:"text-white",children:a.contactName})]}),e.jsxs("div",{children:[e.jsx("span",{className:"text-slate-500",children:"Email:"})," ",e.jsx("span",{className:"text-white",children:a.contactEmail})]}),a.contactPhone&&e.jsxs("div",{children:[e.jsx("span",{className:"text-slate-500",children:"Phone:"})," ",e.jsx("span",{className:"text-white",children:a.contactPhone})]})]})]}),e.jsxs("div",{className:"px-4 py-3",children:[e.jsx("p",{className:"text-xs text-slate-500 uppercase tracking-wider mb-2",children:"Your Offer"}),e.jsxs("div",{className:"space-y-1 text-sm",children:[e.jsxs("div",{children:[e.jsx("span",{className:"text-slate-500",children:"Type:"})," ",e.jsx(C,{className:"bg-amber-500/10 text-amber-400 border-amber-500/20 text-xs ml-1",children:K})]}),e.jsxs("div",{children:[e.jsx("span",{className:"text-slate-500",children:"Headline:"})," ",e.jsx("span",{className:"text-white font-medium",children:a.offerTitle})]}),e.jsxs("div",{children:[e.jsx("span",{className:"text-slate-500",children:"Value:"})," ",e.jsx("span",{className:"text-amber-400 font-semibold",children:a.offerValue})]}),e.jsxs("div",{className:"pt-1",children:[e.jsx("p",{className:"text-slate-500 text-xs mb-0.5",children:"Description:"}),e.jsx("p",{className:"text-slate-300 text-xs leading-relaxed",children:a.offerDescription})]})]})]})]}),e.jsxs("div",{className:"flex gap-3",children:[e.jsx(x,{type:"button",variant:"outline",className:"border-slate-700 text-slate-400 flex-1",onClick:()=>N(2),"data-testid":"button-step3-back",children:"Edit Offer"}),e.jsxs(x,{type:"button",onClick:Q,className:"flex-1 bg-amber-500 hover:bg-amber-400 text-black font-semibold",disabled:g.isPending,"data-testid":"button-submit-merchant",children:[g.isPending?"Submitting...":"Confirm & Submit",!g.isPending&&e.jsx(k,{className:"ml-2 w-4 h-4"})]})]}),e.jsx("p",{className:"text-xs text-slate-500 text-center",children:"By
1submitting you agree to our merchant partner terms. No card required."})]})]})]})})]}),e.jsxs("div",{className:"space-y-4",children:[e.jsx(u,{className:"bg-slate-900/60 border-slate-800",children:e.jsxs(b,{className:"pt-4 space-y-3",children:[e.jsx("h4",{className:"text-sm font-semibold text-white",children:"What happens next"}),[`Our ${(t==null?void 0:t.name)||"city"} team reviews your application within 24 hours`,"We create a QR code and landing page for your offer",`Your offer loads into the Game Weekend Pass for all ${(t==null?void 0:t.name)||"city"} fans`,"You get a merchant dashboard to track redemptions"].map((s,r)=>e.jsxs("div",{className:"flex gap-2",children:[e.jsx("div",{className:"w-5 h-5 rounded-full bg-amber-500/20 text-amber-400 flex items-center justify-center text-xs font-bold flex-shrink-0 mt-0.5",children:r+1}),e.jsx("p",{className:"text-xs text-slate-400",children:s})]},r))]})}),e.jsx(u,{className:"bg-slate-900/60 border-slate-800",children:e.jsxs(b,{className:"pt-4 space-y-2",children:[e.jsx("h4",{className:"text-sm font-semibold text-white mb-3",children:"Why partner with us"}),[{icon:ee,text:"10,000+ targeted game weekend travelers per game weekend"},{icon:se,text:"Your business on the official city fan map"},{icon:te,text:"QR code for easy redemption tracking"},{icon:ae,text:"Real-time redemption analytics"},{icon:le,text:"Free to list, performance-based pricing available"}].map(({icon:s,text:r},h)=>e.jsxs("div",{className:"flex gap-2 items-start",children:[e.jsx(s,{className:"w-3.5 h-3.5 text-amber-400 mt-0.5 flex-shrink-0"}),e.jsx("p",{className:"text-xs text-slate-400",children:r})]},h))]})}),(t==null?void 0:t.merchantCategories)&&e.jsx(u,{className:"bg-slate-900/60 border-slate-800",children:e.jsxs(b,{className:"pt-4",children:[e.jsxs("h4",{className:"text-sm font-semibold text-white mb-3",children:[t.name," Merchant Categories"]}),e.jsx("div",{className:"flex flex-wrap gap-1.5",children:t.merchantCategories.map(s=>e.jsx(C,{className:"bg-slate-800 text-slate-300 border-slate-700 text-xs",children:s},s))})]})})]})]}),f===4&&e.jsxs("div",{className:"max-w-lg mx-auto text-center","data-testid":"merchant-success",children:[e.jsx("div",{className:"w-20 h-20 bg-green-500/10 border border-green-500/30 rounded-full flex items-center justify-center mx-auto mb-6",children:e.jsx(k,{className:"w-10 h-10 text-green-400"})}),e.jsx("h2",{className:"text-2xl font-bold text-white mb-3",children:"You're in!"}),e.jsxs("p",{className:"text-slate-400 mb-2",children:[e.jsx("strong",{className:"text-white",children:a==null?void 0:a.businessName})," is now registered as a Fan Travel partner. Your offer slot in the ",t==null?void 0:t.name," Game Weekend Pass is reserved."]}),P&&e.jsxs("p",{className:"text-xs text-slate-500 mb-6 font-mono",children:["Ref: ",P]}),e.jsxs("div",{className:"p-4 rounded-xl bg-slate-900/60 border border-slate-800 text-left mb-6",children:[e.jsx("p",{className:"text-xs text-slate-400 mb-2 font-medium uppercase tracking-wider",children:"Your Offer"}),e.jsx("p",{className:"text-white font-semibold",children:a==null?void 0:a.offerTitle}),e.jsx("p",{className:"text-amber-400 text-sm",children:a==null?void 0:a.offerValue}),e.jsx("p",{className:"text-slate-400 text-xs mt-1",children:a==null?void 0:a.offerDescription})]}),F?e.jsxs("div",{className:"mb-6",children:[e.jsx("p",{className:"text-slate-300 text-sm mb-3",children:"Complete your setup now â publish your offer, get your QR code, and go live in minutes."}),e.jsx(x,{asChild:!0,className:"w-full bg-amber-500 hover:bg-amber-400 text-black font-semibold text-base py-5","data-testid":"button-complete-setup",children:e.jsx(w,{href:`/merchant/quick-start/${F}`,children:"Complete your setup â"})})]}):e.jsxs("p",{className:"text-slate-400 text-sm mb-6",children:["Our ",t==null?void 0:t.name," team will be in touch at"," ",e.jsx("strong",{className:"text-white",children:a==null?void 0:a.contactEmail})," within 24 hours."]}),e.jsxs("div",{className:"flex flex-col sm:flex-row gap-3 justify-center",children:[e.jsx(x,{asChild:!0,variant:"outline",className:"border-slate-700 text-slate-400",children:e.jsxs(w,{href:`/fan-travel/${p}`,children:["â ",t==null?void 0:t.name," Guide"]})}),e.jsx(x,{asChild:!0,variant:"ghost",className:"text-slate-500",children:e.jsx(w,{href:"/nfl",children:"All Cities"})})]})]})]})]})}export{Ae 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.