import{c as T,j as e,Q as u,V as K,a3 as f,C as O,P as R,a2 as W,M as X,k,l as I,A as B,r as p,i as Z,a5 as g,v as L,a8 as ee,a6 as V}from"./index-E6IUtMcU.js";import{C}from"./card-CTWhBI9C.js";import{L as d}from"./label-CihbnzFv.js";import{B as se}from"./building-2-B0alikfI.js";import{P as re}from"./plane-DOgiUFrU.js";import{S as te}from"./slider-Be0vLC_T.js";import{C as A,T as ae}from"./checkbox-BDXGH1KZ.js";import{C as ie,f as w,a as E,S as ne,b as oe,c as le,d as ce,e as de,M as me}from"./select-qRJRuZGV.js";import{C as pe}from"./calendar-BMwkFPFq.js";import{C as ue}from"./circle-alert-eW90pXpo.js";import{A as xe}from"./arrow-left-geGhoZzp.js";import"./index-BdQq_4o_.js";/**
* @license lucide-react v0.462.0 - ISC
*
* This source code is licensed under the ISC license.
* See the LICENSE file in the root directory of this source tree.
*/const he=T("BookOpen",[["path",{d:"M12 7v14",key:"1akyts"}],["path",{d:"M3 18a1 1 0 0 1-1-1V4a1 1 0 0 1 1-1h5a4 4 0 0 1 4 4 4 4 0 0 1 4-4h5a1 1 0 0 1 1 1v13a1 1 0 0 1-1 1h-6a3 3 0 0 0-3 3 3 3 0 0 0-3-3z",key:"ruj8y"}]]);/**
* @license lucide-react v0.462.0 - ISC
*
* This source code is licensed under the ISC license.
* See the LICENSE file in the root directory of this source tree.
*/const ve=T("Presentation",[["path",{d:"M2 3h20",key:"91anmk"}],["path",{d:"M21 3v11a2 2 0 0 1-2 2H5a2 2 0 0 1-2-2V3",key:"2k9sn8"}],["path",{d:"m7 21 5-5 5 5",key:"bip4we"}]]),fe=["Parking","Détails","Contact","Rendez-vous","Préférences"];function ge({currentStep:r,totalSteps:n}){return e.jsxs("div",{id:"demo-progress",className:"w-full mb-8",children:[e.jsxs("div",{className:"relative",children:[e.jsx("div",{className:"flex justify-between mb-2",children:fe.map((s,o)=>{const i=o+1,m=i<r,c=i===r;return e.jsxs("div",{className:"flex flex-col items-center flex-1",children:[e.jsx("div",{className:u("w-10 h-10 rounded-full flex items-center justify-center text-sm font-semibold transition-all duration-300 border-2",m&&"bg-primary border-primary text-primary-foreground",c&&"bg-primary/20 border-primary text-primary border-glow",!m&&!c&&"bg-muted border-border text-muted-foreground"),children:m?e.jsx(K,{className:"w-5 h-5"}):i}),e.jsx("span",{className:u("mt-2 text-xs font-medium transition-colors hidden sm:block",c?"text-primary":"text-muted-foreground"),children:s})]},o)})}),e.jsx("div",{className:"absolute top-5 left-0 right-0 h-0.5 bg-border -z-10 mx-8",children:e.jsx("div",{className:"h-full bg-primary transition-all duration-500",style:{width:`${(r-1)/(n-1)*100}%`}})})]}),e.jsxs("p",{className:"text-center text-sm text-muted-foreground mt-4",children:["Étape ",r," sur ",n]})]})}function be({data:r,onChange:n,errors:s={}}){const o=[{value:"ville",label:"Parking en ville",description:"Parking urbain, centre-ville, gare",icon:se},{value:"aeroport",label:"Parking Aéroport / Voiturier",description:"Service voiturier, navette aéroport",icon:re}];return e.jsxs("div",{className:"space-y-8",children:[e.jsxs("div",{className:"text-center mb-8",children:[e.jsx("h2",{className:"text-2xl font-bold mb-2",children:"Informations sur votre parking"}),e.jsx("p",{className:"text-muted-foreground",children:"Dites-nous en plus sur votre activité pour personnaliser la démonstration"})]}),e.jsxs("div",{className:"space-y-2",children:[e.jsxs(d,{htmlFor:"parking_name",className:"text-base",children:["Nom de votre parking ",e.jsx("span",{className:"text-destructive",children:"*"})]}),e.jsx(f,{id:"parking_name",placeholder:"Ex: Parking Centre-Ville Lyon",value:r.parking_name,onChange:i=>n("parking_name",i.target.value),className:u("h-12 text-base bg-muted/50 border-border focus:border-primary",s.parking_name&&"border-destructive focus:border-destructive")}),s.parking_name&&e.jsx("p",{className:"text-sm text-destructive mt-1",children:s.parking_name})]}),e.jsxs("div",{className:"space-y-4",children:[e.jsxs(d,{className:"text-base",children:["Type de localisation ",e.jsx("span",{className:"text-destructive",children:"*"})]}),e.jsx("div",{className:"grid grid-cols-1 md:grid-cols-2 gap-4",children:o.map(i=>{const m=i.icon,c=r.location_type===i.value,x=!!s.location_type;return e.jsx(C,{onClick:()=>n("location_type",i.value),className:u("p-6 cursor-pointer transition-all duration-300 hover:border-primary/50",c?"border-primary bg-primary/10 border-glow":x?"border-destructive bg-card hover:bg-muted/50":"border-border bg-card hover:bg-muted/50"),children:e.jsxs("div",{className:"flex items-start gap-4",children:[e.jsx("div",{className:u("p-3 rounded-xl transition-colors",c?"bg-primary text-primary-foreground":"bg-muted text-muted-foreground"),children:e.jsx(m,{className:"w-6 h-6"})}),e.jsxs("div",{children:[e.jsx("h3",{className:u("font-semibold mb-1 transition-colors",c?"text-primary":"text-foreground"),children:i.label}),e.jsx("p",{className:"text-sm text-muted-foreground",children:i.description})]})]})},i.value)})}),s.location_type&&e.jsx("p",{className:"text-sm text-destructive",children:s.location_type})]})]})}const je=[{value:"navette",label:"Navette"},{value:"voiturier",label:"Voiturier"}];function _e({data:r,onChange:n,errors:s={}}){const o=r.location_type==="ville",i=o?{min:50,max:300,default:100,step:10}:{min:300,max:3e3,default:800,step:100},m=(l,b)=>{const j=b?[...r.services,l]:r.services.filter(P=>P!==l);n("services",j)},x=(()=>{const l=r.monthly_reservations;return o?l<=100?{tier:"≤ 100",price:69}:l<=200?{tier:"101-200",price:99}:{tier:"201+",price:199}:l<=300?{tier:"≤ 300",price:99}:l<=1e3?{tier:"301-1000",price:149}:l<=2e3?{tier:"1001-2000",price:299}:{tier:"2001+",price:499}})();return e.jsxs("div",{className:"space-y-8",children:[e.jsxs("div",{className:"text-center mb-8",children:[e.jsx("h2",{className:"text-2xl font-bold mb-2",children:o?"Détails de votre parking urbain":"Détails de votre service aéroport"}),e.jsx("p",{className:"text-muted-foreground",children:"Ces informations nous aident à préparer une démonstration adaptée"})]}),o?e.jsxs("div",{className:"space-y-2",children:[e.jsxs(d,{htmlFor:"city",className:"text-base",children:["Dans quelle ville se situe votre parking ? ",e.jsx("span",{className:"text-destructive",children:"*"})]}),e.jsx(f,{id:"city",placeholder:"Ex: Lyon, Paris, Marseille...",value:r.city,onChange:l=>n("city",l.target.value),className:u("h-12 text-base bg-muted/50 border-border focus:border-primary",s.city&&"border-destructive focus:border-destructive")}),s.city&&e.jsx("p",{className:"text-sm text-destructive mt-1",children:s.city})]}):e.jsxs(e.Fragment,{children:[e.jsxs("div",{className:"space-y-2",children:[e.jsxs(d,{htmlFor:"airport_name",className:"text-base",children:["Nom de l'aéroport ",e.jsx("span",{className:"text-destructive",children:"*"})]}),e.jsx(f,{id:"airport_name",placeholder:"Ex: Paris-Charles de Gaulle, Lyon Saint-Exupéry...",value:r.airport_name,onChange:l=>n("airport_name",l.target.value),className:u("h-12 text-base bg-muted/50 border-border focus:border-primary",s.airport_name&&"border-destructive focus:border-destructive")}),s.airport_name&&e.jsx("p",{className:"text-sm text-destructive mt-1",children:s.airport_name})]}),e.jsxs("div",{className:"space-y-4",children:[e.jsxs(d,{className:"text-base",children:["Services proposés ",e.jsx("span",{className:"text-destructive",children:"*"})]}),e.jsx("div",{className:"flex flex-wrap gap-4",children:je.map(l=>e.jsxs("label",{className:u("flex items-center gap-3 px-6 py-4 rounded-xl border-2 cursor-pointer transition-all",r.services.includes(l.value)?"border-primary bg-primary/10":s.services?"border-destructive bg-card hover:border-destructive/70":"border-border bg-card hover:border-primary/50"),children:[e.jsx(A,{checked:r.services.includes(l.value),onCheckedChange:b=>m(l.value,b)}),e.jsx("span",{className:"font-medium",children:l.label})]},l.value))}),s.services&&e.jsx("p",{className:"text-sm text-destructive",children:s.services})]})]}),e.jsxs("div",{className:"space-y-6",children:[e.jsxs("div",{className:"flex items-center justify-between",children:[e.jsx(d,{className:"text-base",children:"Nombre moyen de réservations par mois"}),e.jsxs("div",{className:"text-right",children:[e.jsx("span",{className:"text-2xl font-bold text-primary",children:r.monthly_reservations}),e.jsx("span",{className:"text-muted-foreground ml-1",children:"réservations"})]})]}),e.jsx(te,{value:[r.monthly_reservations],onValueChange:([l])=>n("monthly_reservations",l),min:i.min,max:i.max,step:i.step,className:"py-4"}),e.jsxs("div",{className:"flex justify-between text-sm text-muted-foreground",children:[e.jsx("span",{children:i.min}),e.jsxs("span",{children:[i.max,"+"]})]}),e.jsxs("div",{className:"flex items-center justify-between p-4 rounded-xl bg-muted/50 border border-border",children:[e.jsxs("div",{children:[e.jsx("p",{className:"text-sm text-muted-foreground",children:"Palier tarifaire estimé"}),e.jsxs("p",{className:"font-medium",children:["Palier : ",x.tier," réservations/mois"]})]}),e.jsxs("div",{className:"text-right",children:[e.jsxs("p",{className:"text-2xl font-bold text-primary",children:[x.price,"€"]}),e.jsx("p",{className:"text-xs text-muted-foreground",children:"HT/mois"})]})]})]})]})}function ye({data:r,onChange:n,errors:s}){return e.jsxs("div",{className:"space-y-8",children:[e.jsxs("div",{className:"text-center mb-8",children:[e.jsx("h2",{className:"text-2xl font-bold mb-2",children:"Vos coordonnées"}),e.jsx("p",{className:"text-muted-foreground",children:"Comment pouvons-nous vous contacter pour planifier la démonstration ?"})]}),e.jsxs("div",{children:[e.jsxs(d,{className:"text-base mb-4 block",children:["Vous êtes : ",e.jsx("span",{className:"text-destructive",children:"*"})]}),e.jsxs("div",{className:"grid grid-cols-1 md:grid-cols-2 gap-4",children:[e.jsxs("div",{className:"space-y-2",children:[e.jsx(d,{htmlFor:"first_name",className:"text-sm text-muted-foreground",children:"Prénom"}),e.jsx(f,{id:"first_name",placeholder:"Jean",value:r.first_name,onChange:o=>n("first_name",o.target.value),className:"h-12 text-base bg-muted/50 border-border focus:border-primary"}),s.first_name&&e.jsx("p",{className:"text-sm text-destructive",children:s.first_name})]}),e.jsxs("div",{className:"space-y-2",children:[e.jsx(d,{htmlFor:"last_name",className:"text-sm text-muted-foreground",children:"Nom"}),e.jsx(f,{id:"last_name",placeholder:"Dupont",value:r.last_name,onChange:o=>n("last_name",o.target.value),className:"h-12 text-base bg-muted/50 border-border focus:border-primary"}),s.last_name&&e.jsx("p",{className:"text-sm text-destructive",children:s.last_name})]})]})]}),e.jsxs("div",{className:"space-y-2",children:[e.jsxs(d,{htmlFor:"phone",className:"text-base",children:["Téléphone ",e.jsx("span",{className:"text-destructive",children:"*"})]}),e.jsx(f,{id:"phone",type:"tel",placeholder:"+33 6 12 34 56 78",value:r.phone,onChange:o=>n("phone",o.target.value),className:"h-12 text-base bg-muted/50 border-border focus:border-primary"}),s.phone&&e.jsx("p",{className:"text-sm text-destructive",children:s.phone})]}),e.jsxs("div",{className:"space-y-2",children:[e.jsxs(d,{htmlFor:"email",className:"text-base",children:["Email ",e.jsx("span",{className:"text-destructive",children:"*"})]}),e.jsx(f,{id:"email",type:"email",placeholder:"jean.dupont@exemple.fr",value:r.email,onChange:o=>n("email",o.target.value),className:"h-12 text-base bg-muted/50 border-border focus:border-primary"}),s.email&&e.jsx("p",{className:"text-sm text-destructive",children:s.email})]})]})}const Ne=[{value:15,label:"15 minutes",description:"Appel introductif",icon:R},{value:30,label:"30 minutes",description:"Résumé en partage d'écran",icon:me},{value:45,label:"45 minutes",description:"Aperçu des fonctionnalités",icon:ve},{value:60,label:"60 minutes",description:"Présentation complète",icon:he}],we=["09:00","09:30","10:00","10:30","11:00","11:30","14:00","14:30","15:00","15:30","16:00","16:30","17:00","17:30"];function ke({data:r,onChange:n,errors:s={}}){const o=i=>{const m=new Date;m.setHours(0,0,0,0);const c=i.getDay();return i<m||c===0||c===6};return e.jsxs("div",{className:"space-y-8",children:[e.jsxs("div",{className:"text-center mb-8",children:[e.jsx("h2",{className:"text-2xl font-bold mb-2",children:"Planifiez votre démonstration"}),e.jsx("p",{className:"text-muted-foreground",children:"Choisissez la durée et le créneau qui vous conviennent le mieux"})]}),e.jsxs("div",{className:"space-y-4",children:[e.jsxs(d,{className:"text-base",children:["Durée de la démonstration ",e.jsx("span",{className:"text-destructive",children:"*"})]}),e.jsx("div",{className:"grid grid-cols-1 sm:grid-cols-2 gap-3",children:Ne.map(i=>{const m=i.icon,c=r.demo_duration===i.value,x=!!s.demo_duration;return e.jsx(C,{onClick:()=>n("demo_duration",i.value),className:u("p-4 cursor-pointer transition-all duration-300 hover:border-primary/50",c?"border-primary bg-primary/10 border-glow":x?"border-destructive bg-card hover:bg-muted/50":"border-border bg-card hover:bg-muted/50"),children:e.jsxs("div",{className:"flex items-center gap-3",children:[e.jsx("div",{className:u("p-2 rounded-lg transition-colors",c?"bg-primary text-primary-foreground":"bg-muted text-muted-foreground"),children:e.jsx(m,{className:"w-5 h-5"})}),e.jsxs("div",{children:[e.jsx("h3",{className:u("font-semibold transition-colors",c?"text-primary":"text-foreground"),children:i.label}),e.jsx("p",{className:"text-sm text-muted-foreground",children:i.description})]})]})},i.value)})}),s.demo_duration&&e.jsx("p",{className:"text-sm text-destructive",children:s.demo_duration})]}),e.jsxs("div",{className:"space-y-4",children:[e.jsx(d,{className:"text-base",children:"Quand seriez-vous le plus facilement joignable ?"}),e.jsxs("div",{className:"grid grid-cols-1 lg:grid-cols-2 gap-6",children:[e.jsx("div",{className:"flex justify-center",children:e.jsx(ie,{mode:"single",selected:r.preferred_date,onSelect:i=>n("preferred_date",i),disabled:o,locale:w,className:"rounded-xl border border-border bg-card p-4"})}),e.jsxs("div",{className:"space-y-4",children:[e.jsxs("div",{className:"flex items-center gap-2 text-muted-foreground",children:[e.jsx(O,{className:"w-4 h-4"}),e.jsx("span",{className:"text-sm",children:r.preferred_date?E(r.preferred_date,"EEEE d MMMM yyyy",{locale:w}):"Sélectionnez une date"})]}),e.jsxs(ne,{value:r.preferred_time,onValueChange:i=>n("preferred_time",i),children:[e.jsx(oe,{className:"h-12 bg-muted/50",children:e.jsx(le,{placeholder:"Choisir un horaire"})}),e.jsx(ce,{children:we.map(i=>e.jsx(de,{value:i,children:i},i))})]}),r.preferred_date&&r.preferred_time&&e.jsx("div",{className:"p-4 rounded-xl bg-primary/10 border border-primary/30",children:e.jsxs("p",{className:"text-sm text-primary font-medium",children:["Rendez-vous prévu le"," ",E(r.preferred_date,"d MMMM yyyy",{locale:w})," à ",r.preferred_time]})})]})]})]})]})}function Ce({data:r,onChange:n,errors:s}){return e.jsxs("div",{className:"space-y-8",children:[e.jsxs("div",{className:"text-center mb-8",children:[e.jsx("h2",{className:"text-2xl font-bold mb-2",children:"Préférences & finalisation"}),e.jsx("p",{className:"text-muted-foreground",children:"Quelques informations supplémentaires pour préparer au mieux votre démonstration"})]}),e.jsxs("div",{className:"space-y-2",children:[e.jsx(d,{htmlFor:"website_url",className:"text-base",children:"Adresse de votre site web (URL)"}),e.jsx(f,{id:"website_url",type:"url",placeholder:"https://www.mon-parking.fr",value:r.website_url,onChange:o=>n("website_url",o.target.value),className:"h-12 text-base bg-muted/50 border-border focus:border-primary"}),e.jsx("p",{className:"text-xs text-muted-foreground",children:"Optionnel - Nous permet de mieux comprendre votre activité"})]}),e.jsxs("div",{className:"space-y-2",children:[e.jsx(d,{htmlFor:"current_software",className:"text-base",children:"Quel logiciel de gestion utilisez-vous actuellement ?"}),e.jsx(f,{id:"current_software",placeholder:"Ex: Excel, logiciel interne, aucun...",value:r.current_software,onChange:o=>n("current_software",o.target.value),className:"h-12 text-base bg-muted/50 border-border focus:border-primary"})]}),e.jsxs("div",{className:"space-y-2",children:[e.jsx(d,{htmlFor:"features_interest",className:"text-base",children:"De quelles fonctionnalités aimeriez-vous discuter ?"}),e.jsx(ae,{id:"features_interest",placeholder:"Ex: Gestion des réservations, intégrations avec les plateformes, analytics, tarification dynamique...",value:r.features_interest,onChange:o=>n("features_interest",o.target.value),className:"min-h-[120px] text-base bg-muted/50 border-border focus:border-primary resize-none"})]}),e.jsxs("div",{className:"pt-4 border-t border-border",children:[e.jsxs("label",{className:u("flex items-start gap-4 p-4 rounded-xl border-2 cursor-pointer transition-all",r.gdpr_consent?"border-primary bg-primary/10":"border-border bg-card hover:border-primary/50",s.gdpr_consent&&"border-destructive"),children:[e.jsx(A,{checked:r.gdpr_consent,onCheckedChange:o=>n("gdpr_consent",o),className:"mt-0.5"}),e.jsxs("div",{className:"space-y-1",children:[e.jsxs("span",{className:"font-medium",children:["Accord RGPD ",e.jsx("span",{className:"text-destructive",children:"*"})]}),e.jsxs("p",{className:"text-sm text-muted-foreground",children:["Je consens à ce que ",e.jsx("span",{className:"brand-name",children:"ProParking.ai"})," stocke mes informations envoyées afin qu'ils puissent répondre à ma requête."," ",e.jsx("a",{href:"/politique-confidentialite",target:"_blank",rel:"noopener noreferrer",className:"text-primary hover:underline",children:"Politique de confidentialité"})]})]})]}),s.gdpr_consent&&e.jsx("p",{className:"text-sm text-destructive mt-2",children:s.gdpr_consent})]})]})}function Pe({data:r}){return e.jsxs("div",{className:"text-center space-y-8",children:[e.jsxs("div",{className:"relative inline-flex items-center justify-center",children:[e.jsx("div",{className:"absolute inset-0 rounded-full bg-primary/20 animate-ping"}),e.jsx("div",{className:"relative bg-primary rounded-full p-6",children:e.jsx(W,{className:"w-16 h-16 text-primary-foreground"})})]}),e.jsxs("div",{children:[e.jsxs("h2",{className:"text-3xl font-bold mb-4 gradient-text",children:["Merci ",r.first_name," !"]}),e.jsx("p",{className:"text-xl text-muted-foreground",children:"Votre demande de démonstration a été envoyée avec succès."})]}),e.jsxs(C,{className:"p-6 text-left bg-card border-border max-w-md mx-auto",children:[e.jsx("h3",{className:"font-semibold mb-4 text-lg",children:"Récapitulatif"}),e.jsxs("div",{className:"space-y-4",children:[e.jsxs("div",{className:"flex items-start gap-3",children:[e.jsx("div",{className:"p-2 rounded-lg bg-muted",children:e.jsx(pe,{className:"w-4 h-4 text-primary"})}),e.jsxs("div",{children:[e.jsx("p",{className:"text-sm text-muted-foreground",children:"Rendez-vous souhaité"}),e.jsx("p",{className:"font-medium",children:r.preferred_date?E(r.preferred_date,"EEEE d MMMM yyyy",{locale:w}):"À définir"})]})]}),r.preferred_time&&e.jsxs("div",{className:"flex items-start gap-3",children:[e.jsx("div",{className:"p-2 rounded-lg bg-muted",children:e.jsx(O,{className:"w-4 h-4 text-primary"})}),e.jsxs("div",{children:[e.jsx("p",{className:"text-sm text-muted-foreground",children:"Horaire"}),e.jsxs("p",{className:"font-medium",children:[r.preferred_time," • ",r.demo_duration," minutes"]})]})]}),e.jsxs("div",{className:"flex items-start gap-3",children:[e.jsx("div",{className:"p-2 rounded-lg bg-muted",children:e.jsx(X,{className:"w-4 h-4 text-primary"})}),e.jsxs("div",{children:[e.jsx("p",{className:"text-sm text-muted-foreground",children:"Confirmation envoyée à"}),e.jsx("p",{className:"font-medium",children:r.email})]})]}),e.jsxs("div",{className:"flex items-start gap-3",children:[e.jsx("div",{className:"p-2 rounded-lg bg-muted",children:e.jsx(R,{className:"w-4 h-4 text-primary"})}),e.jsxs("div",{children:[e.jsx("p",{className:"text-sm text-muted-foreground",children:"Téléphone"}),e.jsx("p",{className:"font-medium",children:r.phone})]})]})]})]}),e.jsxs("div",{className:"pt-4",children:[e.jsx("p",{className:"text-muted-foreground mb-6",children:"Notre équipe vous contactera dans les 24 heures pour confirmer le rendez-vous."}),e.jsxs("div",{className:"flex flex-col sm:flex-row gap-4 justify-center",children:[e.jsx(k,{asChild:!0,variant:"outline",size:"lg",children:e.jsx(I,{to:"/",children:"Retour à l'accueil"})}),e.jsx(k,{asChild:!0,size:"lg",className:"btn-neon bg-primary gap-2",children:e.jsxs(I,{to:"/tarifs",children:["Voir nos tarifs",e.jsx(B,{className:"w-4 h-4"})]})})]})]})]})}const Se={parking_name:"",location_type:"",city:"",airport_name:"",services:[],monthly_reservations:100,first_name:"",last_name:"",phone:"",email:"",demo_duration:30,preferred_date:void 0,preferred_time:"",website_url:"",current_software:"",features_interest:"",gdpr_consent:!1},N=5,D=r=>{const n=r.getFullYear(),s=String(r.getMonth()+1).padStart(2,"0"),o=String(r.getDate()).padStart(2,"0");return`${n}-${s}-${o}`},De=()=>{const r="demo_session_id";let n=sessionStorage.getItem(r);return n||(n=crypto.randomUUID(),sessionStorage.setItem(r,n)),n};function Ae(){const[r,n]=p.useState(1),[s,o]=p.useState(Se),[i,m]=p.useState({}),[c,x]=p.useState(!1),[l,b]=p.useState(!1),[j,P]=p.useState(null),[z]=p.useState(De),{trackForm:_}=Z();p.useCallback(async(a,t)=>{try{await g.functions.invoke("send-admin-notification",{body:{type:"abandon",data:{last_step:t,parking_name:a.parking_name||void 0,location_type:a.location_type||void 0,city:a.city||void 0,airport_name:a.airport_name||void 0,monthly_reservations:a.monthly_reservations||void 0,first_name:a.first_name||void 0,last_name:a.last_name||void 0,phone:a.phone||void 0,email:a.email||void 0}}})}catch(h){console.error("Error sending abandon notification:",h)}},[]);const S=p.useCallback(async(a,t,h=!1)=>{try{const v={session_id:z,last_step:a,completed:h,parking_name:t.parking_name||null,location_type:t.location_type||null,city:t.city||null,airport_name:t.airport_name||null,services:t.services.length>0?t.services:null,monthly_reservations:t.monthly_reservations||null,first_name:t.first_name||null,last_name:t.last_name||null,phone:t.phone||null,email:t.email||null,demo_duration:t.demo_duration||null,preferred_date:t.preferred_date?D(t.preferred_date):null,preferred_time:t.preferred_time||null,website_url:t.website_url||null,current_software:t.current_software||null,features_interest:t.features_interest||null,updated_at:new Date().toISOString()};if(j)await g.from("demo_abandons").update(v).eq("id",j);else{const{data:q}=await g.from("demo_abandons").insert(v).select("id").single();q&&P(q.id)}}catch(v){console.error("Error saving progress:",v)}},[z,j]);p.useEffect(()=>{_("demo","start")},[]);const $=p.useCallback(async a=>{try{await g.functions.invoke("send-admin-notification",{body:{type:"contact_captured",data:{parking_name:a.parking_name,location_type:a.location_type,first_name:a.first_name,last_name:a.last_name,phone:a.phone,email:a.email,city:a.city||void 0,airport_name:a.airport_name||void 0,monthly_reservations:a.monthly_reservations}}}),console.log("Contact captured notification sent")}catch(t){console.error("Error sending contact captured notification:",t)}},[]),[H,U]=p.useState(!1);p.useEffect(()=>{r>1&&(S(r,s),_("demo","start",{step:r})),r===4&&s.email&&s.phone&&!H&&($(s),U(!0))},[r]),p.useEffect(()=>{if(s.parking_name&&s.location_type){const a=setTimeout(()=>{S(r,s)},1e3);return()=>clearTimeout(a)}},[s.parking_name,s.location_type,s.city,s.airport_name,s.first_name,s.email]),p.useEffect(()=>{const a=()=>{if(!l&&r>=2){_("demo","abandon",{last_step:r});const t={type:"abandon",data:{last_step:r,parking_name:s.parking_name||void 0,location_type:s.location_type||void 0,city:s.city||void 0,airport_name:s.airport_name||void 0,monthly_reservations:s.monthly_reservations||void 0,first_name:s.first_name||void 0,last_name:s.last_name||void 0,phone:s.phone||void 0,email:s.email||void 0}};navigator.sendBeacon("https://biwzvplkgkrfbuxsasgg.supabase.co/functions/v1/send-admin-notification",new Blob([JSON.stringify(t)],{type:"application/json"}))}};return window.addEventListener("beforeunload",a),()=>window.removeEventListener("beforeunload",a)},[r,s,l,_]);const y=(a,t)=>{o(h=>({...h,[a]:t})),i[a]&&m(h=>{const v={...h};return delete v[a],v})},F=a=>{const t={};switch(a){case 1:s.parking_name.trim()||(t.parking_name="Le nom du parking est requis"),s.location_type||(t.location_type="Veuillez sélectionner un type de localisation");break;case 2:s.location_type==="ville"&&!s.city.trim()&&(t.city="La ville est requise"),s.location_type==="aeroport"&&(s.airport_name.trim()||(t.airport_name="Le nom de l'aéroport est requis"),s.services.length===0&&(t.services="Veuillez sélectionner au moins un service"));break;case 3:s.first_name.trim()||(t.first_name="Le prénom est requis"),s.last_name.trim()||(t.last_name="Le nom est requis"),s.phone.trim()?/^[\d\s+()-]{10,}$/.test(s.phone)||(t.phone="Format de téléphone invalide"):t.phone="Le téléphone est requis",s.email.trim()?/^[^\s@]+@[^\s@]+\.[^\s@]+$/.test(s.email)||(t.email="Format d'email invalide"):t.email="L'email est requis";break;case 4:s.demo_duration||(t.demo_duration="Veuillez sélectionner une durée");break;case 5:s.gdpr_consent||(t.gdpr_consent="Vous devez accepter les conditions RGPD");break}return m(t),Object.keys(t).length===0},M=()=>{const a=document.getElementById("demo-progress");if(a){const v=a.getBoundingClientRect().top+window.pageYOffset-100;window.scrollTo({top:v,behavior:"smooth"})}},G=()=>{F(r)&&(r<N?(n(a=>a+1),setTimeout(M,100)):Q())},J=()=>{r>1&&(n(a=>a-1),setTimeout(M,100))},Q=async()=>{if(F(N)){x(!0);try{const{error:a}=await g.from("demo_requests").insert({parking_name:s.parking_name,location_type:s.location_type,city:s.location_type==="ville"?s.city:null,airport_name:s.location_type==="aeroport"?s.airport_name:null,services:s.location_type==="aeroport"?s.services:null,monthly_reservations:s.monthly_reservations,first_name:s.first_name,last_name:s.last_name,phone:s.phone,email:s.email,demo_duration:s.demo_duration,preferred_date:s.preferred_date?D(s.preferred_date):null,preferred_time:s.preferred_time||null,website_url:s.website_url||null,current_software:s.current_software||null,features_interest:s.features_interest||null,gdpr_consent:s.gdpr_consent});if(a)throw a;try{await g.functions.invoke("send-admin-notification",{body:{type:"demo_request",data:{parking_name:s.parking_name,location_type:s.location_type,city:s.city||void 0,airport_name:s.airport_name||void 0,services:s.services.length>0?s.services:void 0,monthly_reservations:s.monthly_reservations,first_name:s.first_name,last_name:s.last_name,phone:s.phone,email:s.email,demo_duration:s.demo_duration,preferred_date:s.preferred_date?D(s.preferred_date):void 0,preferred_time:s.preferred_time||void 0,website_url:s.website_url||void 0,current_software:s.current_software||void 0,features_interest:s.features_interest||void 0}}})}catch(t){console.error("Error sending admin notification:",t)}await S(N,s,!0);try{await g.from("newsletter_subscribers").upsert({email:s.email.toLowerCase().trim(),first_name:s.first_name.trim(),last_name:s.last_name.trim(),phone:s.phone.trim()||null,source:"demo",status:"active",gdpr_consent:s.gdpr_consent},{onConflict:"email"})}catch(t){console.error("Error adding to newsletter:",t)}sessionStorage.removeItem("demo_session_id"),_("demo","submit",{location_type:s.location_type,monthly_reservations:s.monthly_reservations,demo_duration:s.demo_duration}),b(!0),V.success("Demande envoyée avec succès !")}catch(a){console.error("Error submitting demo request:",a),V.error("Une erreur est survenue. Veuillez réessayer.")}finally{x(!1)}}},Y={"@context":"https://schema.org","@type":"ContactPage",name:"Demande de démonstration ProParking.ai",description:"Réservez une démonstration gratuite de ProParking.ai pour découvrir comment centraliser vos réservations de parking.",mainEntity:{"@type":"Service",name:"Démonstration ProParking.ai",provider:{"@type":"Organization",name:"ProParking.ai"}}};return l?e.jsxs(e.Fragment,{children:[e.jsx(L,{children:e.jsx("title",{children:"Demande confirmée - ProParking.ai"})}),e.jsx("section",{className:"min-h-screen pt-32 pb-20",children:e.jsx("div",{className:"container mx-auto px-4 max-w-2xl",children:e.jsx(Pe,{data:s})})})]}):e.jsxs("article",{children:[e.jsxs(L,{children:[e.jsx("title",{children:"Démo gratuite ProParking.ai | Réservation en 2 minutes"}),e.jsx("meta",{name:"description",content:"Réservez une démo gratuite de ProParking.ai en 2 minutes. Démonstration personnalisée de 15 à 60 min. Découvrez la centralisation de vos réservations."}),e.jsx("meta",{property:"og:title",content:"Démo gratuite ProParking.ai | Réservation en 2 minutes"}),e.jsx("meta",{property:"og:description",content:"Démonstration personnalisée de 15 à 60 min. Découvrez la centralisation de vos réservations."}),e.jsx("meta",{property:"og:type",content:"website"}),e.jsx("meta",{property:"og:url",content:"https://www.proparking.ai/demo"}),e.jsx("meta",{property:"og:image",content:"https://www.proparking.ai/og-image.jpg"}),e.jsx("meta",{name:"twitter:card",content:"summary_large_image"}),e.jsx("meta",{name:"twitter:title",content:"Démo gratuite ProParking.ai | Réservation en 2 minutes"}),e.jsx("meta",{name:"twitter:description",content:"Démonstration personnalisée de 15 à 60 min. Découvrez la centralisation de vos réservations."}),e.jsx("meta",{name:"twitter:image",content:"https://www.proparking.ai/og-image.jpg"}),e.jsx("link",{rel:"canonical",href:"https://www.proparking.ai/demo"}),e.jsx("script",{type:"application/ld+json",children:JSON.stringify(Y)})]}),e.jsx("section",{className:"min-h-screen pt-32 pb-20",children:e.jsxs("div",{className:"container mx-auto px-4 max-w-3xl",children:[e.jsxs("div",{className:"text-center mb-12",children:[e.jsxs("h1",{className:"text-4xl md:text-5xl font-bold mb-4",children:["Essayer la ",e.jsx("span",{className:"gradient-text",children:"version démo"})]}),e.jsxs("p",{className:"text-xl text-muted-foreground max-w-2xl mx-auto",children:["Découvrez ",e.jsx("span",{className:"brand-name",children:"ProParking.ai"})," avec une démonstration personnalisée et gratuite"]})]}),e.jsx(ge,{currentStep:r,totalSteps:N}),e.jsxs(C,{className:"p-6 md:p-10 bg-card border-border",children:[r===1&&e.jsx(be,{data:s,onChange:y,errors:i}),r===2&&e.jsx(_e,{data:s,onChange:y,errors:i}),r===3&&e.jsx(ye,{data:s,onChange:y,errors:i}),r===4&&e.jsx(ke,{data:s,onChange:y,errors:i}),r===5&&e.jsx(Ce,{data:s,onChange:y,errors:i}),Object.keys(i).length>0&&e.jsxs("div",{className:"flex items-start gap-3 p-4 rounded-xl bg-destructive/10 border border-destructive/20 text-destructive animate-in fade-in slide-in-from-top-2 duration-300 mt-6",children:[e.jsx(ue,{className:"w-5 h-5 mt-0.5 shrink-0"}),e.jsxs("div",{children:[e.jsx("p",{className:"font-medium",children:"Veuillez compléter les informations suivantes :"}),e.jsx("ul",{className:"mt-2 text-sm list-disc list-inside space-y-1",children:Object.values(i).map((a,t)=>e.jsx("li",{children:a},t))})]})]}),e.jsxs("div",{className:"flex justify-between mt-10 pt-6 border-t border-border",children:[e.jsxs(k,{variant:"outline",onClick:J,disabled:r===1,className:"gap-2",children:[e.jsx(xe,{className:"w-4 h-4"}),"Précédent"]}),e.jsx(k,{onClick:G,disabled:c,className:"gap-2 btn-neon bg-primary min-w-[140px]",children:c?e.jsxs(e.Fragment,{children:[e.jsx(ee,{className:"w-4 h-4 animate-spin"}),"Envoi..."]}):r===N?"Envoyer ma demande":e.jsxs(e.Fragment,{children:["Suivant",e.jsx(B,{className:"w-4 h-4"})]})})]})]})]})})]})}export{Ae as default};