1import{aJ as f,r as d,j as e,ac as j,ag as g,w as y}from"./index-D6k6FQrP.js";import{B as b}from"./button-CYcVSGyn.js";import{L as N}from"./loader-circle-CYd3HVkm.js";import{C as v}from"./circle-check-BilaSBUp.js";function I(){const{token:r}=f.useParams(),[n,o]=d.useState(null),[i,s]=d.useState({}),[c,l]=d.useState("loading"),[m,x]=d.useState("");if(d.useEffect(()=>{fetch(`/api/public/crm/lead-form?token=${encodeURIComponent(r)}`,{cache:"no-store"}).then(async a=>{const t=await a.json();if(!a.ok)throw new Error(t.error);return t}).then(a=>{o(a),l("ready")}).catch(a=>{x(a instanceof Error?a.message:"Enlace no válido"),l("error")})},[r]),c==="loading")return e.jsx("main",{className:"grid min-h-screen place-items-center bg-background",children:e.jsx(N,{className:"h-6 w-6 animate-spin"})});if(c==="error")return e.jsx("main",{className:"mx-auto flex min-h-screen max-w-xl items-center px-6",children:e.jsxs("div",{children:[e.jsx("p",{className:"text-xs uppercase text-muted-foreground",children:"Impresiona"}),e.jsx("h1",{className:"mt-2 text-3xl font-display",children:"No podemos abrir este formulario"}),e.jsx("p",{className:"mt-3 text-muted-foreground",children:m})]})});if(c==="done")return e.jsx("main",{className:"mx-auto flex min-h-screen max-w-xl items-center px-6",children:e.jsxs("div",{children:[e.jsx(v,{className:"h-10 w-10 text-primary"}),e.jsx("h1",{className:"mt-4 text-3xl font-display",children:"Información recibida"}),e.jsx("p",{className:"mt-3 text-muted-foreground",children:"Gracias. El equipo de Impresiona revisará tus respuestas y continuará contigo."})]})});const p=Array.isArray(n?.questions)?n.questions:[],h=(a,t)=>s(u=>({...u,[a]:t}));return e.jsx("main",{className:"min-h-screen bg-background py-12",children:e.jsxs("div",{className:"mx-auto max-w-3xl px-5",children:[e.jsxs("header",{className:"border-b border-border pb-7",children:[e.jsx("p",{className:"text-xs uppercase text-muted-foreground",children:"Impresiona · Información privada"}),e.jsx("h1",{className:"mt-2 text-3xl font-display",children:n.stage==="initial"?"Cuéntanos qué necesitas":"Preparemos el inicio del proyecto"}),e.jsx("p",{className:"mt-3 max-w-2xl text-muted-foreground",children:"Tus respuestas se vincularán únicamente a tu ficha comercial y serán revisadas por el equipo responsable."})]}),e.jsxs("form",{className:"space-y-6 pt-7",onSubmit:async a=>{a.preventDefault(),l("sending");try{const t=await fetch("/api/public/crm/lead-form",{method:"POST",headers:{"Content-Type":"application/json"},body:JSON.stringify({token:r,responses:i})}),u=await t.json();if(!t.ok)throw new Error(u.error);l("done")}catch(t){x(t instanceof Error?t.message:"No se pudo enviar"),l("ready")}},children:[p.map(a=>e.jsx(w,{question:a,value:i[a.key],onChange:t=>h(a.key,t)},a.key)),m&&e.jsx("p",{className:"text-sm text-destructive",children:m}),e.jsx(b,{type:"submit",size:"lg",disabled:c==="sending",children:c==="sending"?"Enviandoâ¦":"Enviar información"})]})]})})}function w({question:r,value:n,onChange:o}){const i=`question-${r.key}`;return e.jsxs("div",{children:[e.jsxs(j,{htmlFor:i,children:[r.label,r.required&&e.jsx("span",{"aria-hidden":"true",children:" *"})]}),r.type==="textarea"?e.jsx(g,{id:i,className:"mt-2",rows:4,required:r.required,value:String(n??""),onChange:s=>o(s.target.value)}):r.type==="boolean"?e.jsxs("select",{id:i,className:"mt-2 h-10 w-full rounded-md border border-input bg-background px-3 text-sm",required:r.required,value:String(n??""),onChange:s=>o(s.target.value==="true"),children:[e.jsx("option",{value:"",children:"Selecciona"}),e.jsx("option",{value:"true",children:"SÃ"}),e.jsx("option",{value:"false",children:"No"})]}):r.type==="choice"?e.jsxs("select",{id:i,className:"mt-2 h-10 w-full rounded-md border border-input bg-background px-3 text-sm",required:r.required,value:String(n??""),onChange:s=>o(s.target.value),children:[e.jsx("option",{value:"",children:"Selecciona"}),r.options?.map(s=>e.jsx("option",{value:s,children:s},s))]}):r.type==="file"?e.jsx("p",{className:"mt-2 text-sm text-muted-foreground",children:"Puedes responder indicando qué documentación tienes. El equipo te facilitará un canal seguro para enviarla."}):e.jsx(y,{id:i,className:"mt-2",type:["email","tel","url","date"].includes(r.type)?r.type:"text",required:r.required,value:String(n??""),onChange:s=>o(s.target.value)})]})}export{I 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.