import{j as e}from"./ui-vendor-4PEuZeLa.js";import{r as a}from"./react-vendor-SJkaNtXX.js";import{D as s,a as o,b as t,c as i,d as n,e as r}from"./dialog-X7zPvDH9.js";import{s as l,u as m,B as c}from"./index-fAv3yaPs.js";import{I as d}from"./input-Ddk-byhD.js";import{L as p}from"./label-C5ect3Eu.js";import{v as f,a as u,b as h}from"./validators-B6ObMgjW.js";import{u as v}from"./useMutation-sLr9gbhW.js";import{r as j}from"./registrarLead-f4oLBumV.js";import{L as x}from"./icons-DwRt140y.js";const g=({children:g,whatsappUrl:$,message:N,showPlaca:w=!1,formName:y="Lead Gestão de Frotas - Site",whatsappMessage:b,formId:C="gestao_frotas_form",servico:E="gestao_frotas"})=>{const[F,S]=a.useState(!1),[T,D]=a.useState(!1),[k,A]=a.useState({nome:"",email:"",telefone:""}),{toast:I}=m(),L=v({mutationKey:["createClientOrUser"],mutationFn:async({nome:e,email:a,telefone:s})=>{const{data:o,error:t}=await l.functions.invoke("create-client-or-user",{body:{Nome:e,Email:a,Telefone:s}});if(t)throw t;if(!(null==o?void 0:o.success))throw new Error((null==o?void 0:o.error)||"Erro ao criar cliente");return o}});return e.jsxs(s,{open:F,onOpenChange:S,children:[e.jsx(o,{asChild:!0,children:g}),e.jsxs(t,{className:"sm:max-w-[500px]",children:[e.jsxs(i,{children:[e.jsx(n,{children:"Preencha seus dados"}),e.jsx(r,{children:N||"Antes de continuar para o WhatsApp, precisamos de algumas informações."})]}),e.jsxs("form",{onSubmit:async e=>{if(e.preventDefault(),T)return;if(!k.nome||!k.email||!k.telefone)return void I({title:"Campos obrigatórios",description:"Por favor, preencha todos os campos obrigatórios.",variant:"destructive"});const a=f(k.nome);if(!a.valid)return void I({title:"Nome inválido",description:a.message,variant:"destructive"});const s=u(k.email);if(!s.valid)return void I({title:"E-mail inválido",description:s.message,variant:"destructive"});const o=h(k.telefone);if(o.valid){D(!0);try{const[e]=await Promise.all([j({formId:C,nome:k.nome,email:k.email,telefone:k.telefone,servico:E}),L.mutateAsync({nome:k.nome,email:k.email,telefone:k.telefone}).catch(e=>null)]);if(!e.ok){await e.text().catch(()=>"");throw new Error(`Core retornou status: ${e.status}`)}const a=`Olá! Vi o site da Comigo e me interessei sobre Gestão de Frotas. Gostaria de conhecer as soluções disponíveis.\n\nMeus dados para contato:\nNome: ${k.nome}\nE-mail: ${k.email}\nTelefone: ${k.telefone}`,s=b?`${b}\n\nMeus dados para contato:\nNome: ${k.nome}\nE-mail: ${k.email}\nTelefone: ${k.telefone}`:a,o=$.replace(/\D/g,"");A({nome:"",email:"",telefone:""}),S(!1),I({title:"Dados enviados com sucesso!",description:"Redirecionando para o WhatsApp..."}),window.open(`https://wa.me/${o}?text=${encodeURIComponent(s)}`,"_blank")}catch(t){I({title:"Erro ao enviar dados",description:t instanceof Error?t.message:"Não foi possível processar sua solicitação. Tente novamente.",variant:"destructive"})}finally{D(!1)}}else I({title:"Telefone inválido",description:o.message,variant:"destructive"})},className:"space-y-4 mt-4",children:[e.jsxs("div",{className:"space-y-2",children:[e.jsx(p,{htmlFor:"nome",children:"Nome *"}),e.jsx(d,{id:"nome",name:"nome",value:k.nome,onChange:e=>A({...k,nome:e.target.value}),placeholder:"Seu nome",required:!0})]}),e.jsxs("div",{className:"space-y-2",children:[e.jsx(p,{htmlFor:"email",children:"Email *"}),e.jsx(d,{id:"email",name:"email",type:"email",value:k.email,onChange:e=>A({...k,email:e.target.value}),placeholder:"seu@email.com",required:!0})]}),e.jsxs("div",{className:"space-y-2",children:[e.jsx(p,{htmlFor:"telefone",children:"Telefone *"}),e.jsx(d,{id:"telefone",name:"telefone",type:"tel",value:k.telefone,onChange:e=>{const a=e.target.value.replace(/\D/g,"");let s=a;s=a.length<=2?a.length>0?`(${a}`:"":a.length<=6?`(${a.slice(0,2)}) ${a.slice(2)}`:a.length<=10?`(${a.slice(0,2)}) ${a.slice(2,6)}-${a.slice(6)}`:`(${a.slice(0,2)}) ${a.slice(2,7)}-${a.slice(7,11)}`,A({...k,telefone:s})},placeholder:"(84) 99999-9999",required:!0})]}),e.jsxs("div",{className:"flex gap-3 pt-4",children:[e.jsx(c,{type:"button",variant:"outline",onClick:()=>S(!1),className:"flex-1",children:"Cancelar"}),e.jsx(c,{type:"submit",className:"flex-1",disabled:T,children:T?e.jsxs(e.Fragment,{children:[e.jsx(x,{className:"animate-spin"})," Enviando..."]}):"Enviar"})]})]})]})]})};export{g as W};