1import{c as b,r as u,j as e}from"./index-CpFQwZLR.js";import{a6 as _,w as y,D as v,aa as N,cq as S,T as E,fk as L}from"./App-CIPEqH4m.js";import{S as A}from"./Seo-Clyo2Rp1.js";import{L as k}from"./LandingPageRenderer-BkwnT22N.js";import{O as C}from"./OneScreenForm-CCBceT_1.js";import"./LandingSalesTriggers-CWhgzyZM.js";import"./bot-B5_hsCVW.js";import"./message-circle-question-6mRVQayD.js";import"./LandingFooter-B1GTkASX.js";import"./purify.es-DxJI3Wx7.js";const w=[{name:"name",label:"Nome completo",type:"text",required:!0},{name:"whatsapp",label:"WhatsApp",type:"phone",required:!0},{name:"email",label:"E-mail",type:"email",required:!0}],T=new Set(["text","email","phone","chips","select","textarea","number"]),O={nome:"name",nome_completo:"name",telefone:"whatsapp",phone:"whatsapp"},j=new Set(["cpf","cnpj"]);function P(n){if(Array.isArray(n))return n.map(a=>{if(typeof a=="string")return{value:a,label:a};if(!a||typeof a!="object")return null;const t=a,r=String(t.value??t.id??t.label??"").trim(),s=String(t.label??t.value??t.name??"").trim();return r&&s?{value:r,label:s}:null}).filter(a=>!!a)}function R(n){if(!Array.isArray(n)||n.length===0)return w;const a=n.map(r=>{if(!r||typeof r!="object")return null;const s=r,c=String(s.name??"").trim().toLowerCase();if(j.has(c))return null;const o=O[c]??c,l=String(s.label??s.placeholder??o).trim(),i=String(s.type??"text").toLowerCase(),m=i==="tel"?"phone":i==="radio"?"chips":i;return!o||!l||!T.has(m)?null:{name:o,label:l,type:m,required:s.required===!0,options:P(s.options)}}).filter(r=>!!r),t=new Set(a.map(r=>r.name));for(const r of w)t.has(r.name)||a.push(r);return a}function q(n){const{values:a,launch:t,form:r,tracking:s,pageUrl:c,termsAccepted:o,marketingOptIn:l}=n,i=Object.fromEntries(Object.entries(a).filter(([d])=>!j.has(d.toLowerCase()))),m=String(i.name??i.nome_completo??"").trim(),p=String(i.email??"").trim().toLowerCase(),h=String(i.whatsapp??i.telefone??"").replace(/\D/g,""),g={...s,name:m,email:p,whatsapp:h,source:"launch_registration",form_name:`launch:${t.slug}`,course_title:t.name,page_url:c,landing_url:s.landing_url||c,launch_slug:t.slug,terms_accepted:o,marketing_opt_in:l,captured_data:{...i,terms_accepted:o,marketing_opt_in:l,form_config_id:r.id}};for(const d of["lead_type","company_name","quando_pretende","interest"])i[d]!==void 0&&i[d]!==""&&(g[d]=i[d]);return g}async function I(n){const a=String(n.values.email??"").trim(),t=String(n.values.whatsapp??n.values.telefone??""),r=await _(a,t),s=typeof window<"u"?window.location.href:"",c=q({...n,tracking:r,pageUrl:s}),{data:o,error:l}=await b.functions.invoke("submit-public-lead",{body:c});if(l)throw new Error("Não foi possÃvel concluir sua inscrição. Tente novamente.");if(!o?.success||!o?.launchRegistration?.event_registration_id)throw new Error(o?.error||"A vaga não pôde ser confirmada.");return o}function F({launch:n,form:a}){const t=u.useMemo(()=>R(a.fields_config),[a.fields_config]),[r,s]=u.useState(!1),[c,o]=u.useState(!1),[l,i]=u.useState(!1),[m,p]=u.useState(null),[h,g]=u.useState(null);if(h)return e.jsx("section",{id:"inscricao",className:"bg-slate-950 px-4 py-16 text-white",children:e.jsxs("div",{className:"mx-auto max-w-2xl rounded-2xl border border-emerald-500/40 bg-emerald-950/40 p-8 text-center",children:[e.jsx(y,{className:"mx-auto h-12 w-12 text-emerald-400"}),e.jsx("h2",{className:"mt-4 text-3xl font-bold",children:"Sua vaga gratuita está confirmada."}),e.jsxs("p",{className:"mt-3 text-emerald-100",children:["Guarde seu código de inscrição:"," ",e.jsx("strong",{children:h.launchRegistration.event_registration_id})]}),e.jsx("p",{className:"mt-4 text-sm text-emerald-100/80",children:"A compra do certificado será sempre opcional e não altera esta inscrição gratuita."})]})});const d=e.jsxs("div",{className:"space-y-3 rounded-xl border border-white/10 bg-white/5 p-4 text-sm text-white/80",children:[e.jsxs("label",{className:"flex items-start gap-3",children:[e.jsx("input",{type:"checkbox",checked:r,onChange:x=>s(x.target.checked),className:"mt-1 h-4 w-4",required:!0}),e.jsxs("span",{children:["Aceito os termos de participação e a PolÃtica de Privacidade. ",e.jsx("strong",{children:"Obrigatório."})]})]}),e.jsxs("label",{className:"flex items-start gap-3",children:[e.jsx("input",{type:"checkbox",checked:c,onChange:x=>o(x.target.checked),className:"mt-1 h-4 w-4"}),e.jsx("span",{children:"Quero receber conteúdos e ofertas da Trainning. Opcional."})]}),m&&e.jsx("p",{role:"alert",className:"font-medium text-red-300",children:m})]});return e.jsx("section",{id:"inscricao",className:"bg-slate-950 px-4 py-16 text-white",children:e.jsx("div",{className:"mx-auto max-w-3xl rounded-2xl border border-white/10 bg-slate-900 p-5 shadow-2xl sm:p-8",children:e.jsx(C,{fields:t,context:{courseTitle:n.name,variant:"generico"},layout:a.layout_config,tier:"compact",title:a.title||"Garanta sua vaga gratuita",subtitle:a.subtitle,ctaText:a.button_text||"Confirmar inscrição gratuita",loading:l,inlineCta:!0,beforeCta:d,onSubmit:async x=>{if(!r){p("Você precisa aceitar os termos para confirmar a inscrição.");return}i(!0),p(null);try{const f=await I({values:x,launch:n,form:a,termsAccepted:r,marketingOptIn:c});g(f)}catch(f){p(f instanceof Error?f.message:"Não foi possÃvel concluir sua inscrição.")}finally{i(!1)}}})})})}const B=/^[a-z0-9]+(?:-[a-z0-9]+)*$/;function D(n){return!!(n&&n.length<=120&&B.test(n))}const U=b.rpc.bind(b);async function V(n){if(!D(n))return{found:!1};const{data:a,error:t}=await U("launch_public_get",{p_slug:n});if(t)throw new Error(t.message);return!a||typeof a!="object"?{found:!1}:a}const z={registrations_not_open:{title:"Inscrições em breve",description:"A página está disponÃvel, mas as inscrições ainda não começaram.",tone:"bg-blue-950 text-blue-100 border-blue-700"},registrations_open:{title:"Inscrições abertas",description:"A participação gratuita será confirmada antes de qualquer oferta opcional.",tone:"bg-emerald-950 text-emerald-100 border-emerald-700"},capacity_reached:{title:"Vagas preenchidas",description:"A capacidade configurada para este evento foi atingida.",tone:"bg-amber-950 text-amber-100 border-amber-700"},registrations_closed:{title:"Inscrições encerradas",description:"O perÃodo de inscrição deste evento terminou.",tone:"bg-amber-950 text-amber-100 border-amber-700"},started:{title:"Evento em andamento",description:"As inscrições para esta edição não estão mais disponÃveis.",tone:"bg-indigo-950 text-indigo-100 border-indigo-700"},ended:{title:"Evento encerrado",description:"Esta edição já foi concluÃda.",tone:"bg-slate-900 text-slate-100 border-slate-700"},cancelled:{title:"Evento cancelado",description:"Esta edição foi cancelada. Nenhuma nova inscrição será aceita.",tone:"bg-red-950 text-red-100 border-red-700"},unavailable:{title:"Inscrições indisponÃveis",description:"Este evento não está aceitando inscrições neste momento.",tone:"bg-slate-900 text-slate-100 border-slate-700"}};function Z(){const{slug:n}=v(),a=N({queryKey:["launch-public",n],queryFn:()=>V(n),enabled:!!n,retry:1});if(a.isLoading)return e.jsx("div",{className:"min-h-screen flex items-center justify-center bg-slate-950",children:e.jsx("div",{className:"animate-spin rounded-full h-12 w-12 border-b-2 border-orange-500"})});const t=a.data;if(a.error||!t?.found||!t.page||!t.launch)return e.jsxs("div",{className:"min-h-screen flex items-center justify-center bg-slate-950 px-4",children:[e.jsx(A,{title:"Lançamento não encontrado | Trainning Education",noindex:!0}),e.jsxs("div",{className:"text-center text-white",children:[e.jsx("h1",{className:"text-4xl font-bold mb-4",children:"Lançamento não encontrado"}),e.jsx("p",{className:"text-white/60",children:"Confira o endereço ou aguarde a publicação desta página."})]})]});const r=t.state||"unavailable",s=z[r],c=!!t.page.sections?.length,o=r==="registrations_open"&&t.form?e.jsx(F,{launch:t.launch,form:t.form}):null,l=e.jsxs(e.Fragment,{children:[e.jsx("div",{className:"border-b px-4 py-3 "+s.tone,role:"status",children:e.jsxs("div",{className:"mx-auto flex max-w-7xl items-start gap-3",children:[r==="registrations_open"?e.jsx(S,{className:"mt-0.5 h-5 w-5 shrink-0"}):e.jsx(E,{className:"mt-0.5 h-5 w-5 shrink-0"}),e.jsxs("div",{children:[e.jsx("p",{className:"font-semibold",children:s.title}),e.jsx("p",{className:"text-sm opacity-90",children:s.description})]})]})}),!c&&e.jsx("section",{className:"bg-slate-950 px-4 py-20 text-white",children:e.jsxs("div",{className:"mx-auto max-w-4xl text-center",children:[e.jsx("p",{className:"mb-4 text-sm font-semibold uppercase tracking-[0.2em] text-orange-400",children:"Live Online"}),e.jsx("h1",{className:"text-4xl font-bold md:text-6xl",children:t.launch.headline}),t.launch.subheadline&&e.jsx("p",{className:"mx-auto mt-6 max-w-3xl text-lg text-slate-300",children:t.launch.subheadline}),e.jsxs("p",{className:"mt-8 text-base text-slate-200",children:[L(t.launch.starts_at)," · Horário de BrasÃlia"]})]})})]});return e.jsx(k,{page:t.page,slug:n,canonicalPath:"/lancamentos/"+t.launch.slug,beforeSections:l,afterSections:o})}
1export{Z 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.