PageSourceSearch

https://www.dbconnect.com.br/assets/GestaoMarketing-yq_lKylD.js

js dbconnect.com.br collected 2026-10-09 22:01:33 UTC 31,776 bytes, 1 lines download raw bytes

1import{u as Aa,h as Sa,r,w as i,j as e,Y as g,q as d,F as h,Q as me,B as c,W as Ea,D as X,ab as wa,a as J,b as q,d as Q,e as Y,G as o,I as x,f as K,$ as Pe,a0 as Re,a1 as I,a2 as P,z as R,E as k,J as L,T as Z,i as A,k as S,l as E}from"./index-DXf-ZyWK.js";import{H as Ca}from"./HeaderApp-CZ8zh49r.js";import{B as j}from"./badge-BM8ocGar.js";import{T as ke}from"./textarea-CwoUFC3F.js";import{S as N,a as f,b,c as _,d as v}from"./select-DzRw4cFA.js";import{S as ya}from"./switch-DVTbLWjd.js";import{c as Oa,l as Le,o as Ve,a as Ue,E as He,b as Ma,d as w,e as Ta,p as We}from"./marketing-g6vcqcKw.js";import{C as V}from"./clock-DtXs_Ena.js";import{C as ee}from"./circle-check-big-uw-EDqHK.js";import{C as Fa}from"./circle-x-BQfJRCTa.js";import{P as Be}from"./plus-ew5ohV_H.js";import{U as Da}from"./users-DkNzqkXS.js";import{S as Ge}from"./send-DVVEtbF1.js";import{L as Ia}from"./layout-dashboard-N3l1lm6C.js";import{B as $e}from"./briefcase-4idbV-Fu.js";import{P as ze}from"./party-popper-ClP-m_C6.js";import{M as U}from"./message-square-B4rkbndw.js";import{T as Xe}from"./trash-2-BAWKANcE.js";import{S as Pa}from"./save-DheIBpEI.js";import{C as Je}from"./calendar-CFTLtl5N.js";import{B as Ra}from"./baby-B_Gt3BLm.js";import{B as ka}from"./book-open-DIe7yzjU.js";import{S as La}from"./school-DKZEEOqe.js";import{G as Va}from"./graduation-cap-6b-WBV_1.js";import{P as Ua}
1from"./pencil-CebJP1Ok.js";import"./popover-BDW-EQJ7.js";import"./scroll-area-D-kAmySd.js";import"./pt-BR-DzuwfIl0.js";import"./chevron-down-BLupummm.js";import"./file-text-CWL-_MFp.js";import"./avatar-DjvnQgjS.js";import"./useAppBadge-CWNa_SqB.js";import"./user-check-DQhQhKSR.js";import"./log-out-BzyF0pU4.js";import"./index-DH427ANr.js";const qe=[{value:"ALUNO",label:"Alunos"},{value:"RESPONSAVEL",label:"Responsáveis"},{value:"PROFESSOR",label:"Professores"},{value:"FUNCIONARIO",label:"Funcionários"},{value:"DATAS_FESTIVAS",label:"Datas Festivas"}],Qe=[{value:"EMAIL",label:"Email",icon:me},{value:"WHATSAPP",label:"WhatsApp",icon:U}],he=[{value:"MANUAL",label:"Manual"},{value:"DIAS_MATRICULA",label:"Após Matrícula (Automático)"},{value:"IMEDIATO",label:"Imediato"},{value:"ANIVERSARIO",label:"Aniversário"},{value:"DATA_FIXA",label:"Data Fixa"}],xe=["DIAS_MATRICULA","IMEDIATO","ANIVERSARIO"],Ye=[{id:"infantil",label:"Ed. Infantil",icon:Ra,dbNome:"Educação Infantil",publicos:["PROFESSOR","RESPONSAVEL"]},{id:"f1",label:"Fund. 1",icon:ka,dbNome:"Ensino Fundamental 1",publicos:["PROFESSOR","RESPONSAVEL"]},{id:"f2",label:"Fund. 2",icon:La,dbNome:"Ensino Fundamental 2",publicos:["PROFESSOR","ALUNO","RESPONSAVEL"]},{id:"em",label:"Ensino Médio",icon:Va,dbNome:"Ensino Médio",publicos:["PROFESSOR","ALUNO","RESPONSAVEL"]}];function _s(){const H=Aa(),{gestor:C,loading:ae}=Sa(),[Ke,Ze]=r.useState("infantil"),[ea,aa]=r.useState({infantil:"PROFESSOR",f1:"PROFESSOR",f2:"PROFESSOR",em:"PROFESSOR"}),[W,ue]=r.useState([]),[O,pe]=r.useState(null),[sa,je]=r.useState([]),[ta,ge]=r.useState(!0),[ve,Ne]=r.useState(!1),[fe,be]=r.useState(!1),[la,se]=r.useState(!1),[t,m]=r.useState({codigo:"",titulo:"",subtitulo:"",texto:"",publico:"",segmento_id:"",canal:"",gatilho:"MANUAL",dias_apos_gatilho:0,data_fixa_envio:""}),[te,ia]=r.useState(null),[_e,Ae]=r.useState(!1),[ra,B]=r.useState(!1),[M,Se]=r.useState(null),[Ee,we]=r.useState(!1),[oa,G]=r.useState(!1),[T,Ce]=r.useState(null),[$,le]=r.useState(""),[ye,Oe]=r.useState(!1),[na,F]=r.useState(!1),[y,ie]=r.useState(null),[s,u]=r.useState({codigo:"",titulo:"",subtitulo:"",texto:"",publico:"",segmento_id:"",canal:"",gatilho:"MANUAL",dias_apos_gatilho:0,data_fixa_envio:"",whatsapp_template_sid:"",whatsapp_template_status:"NAO_CONFIGURADO"}),[re,Me]=r.useState(!1),[oe,ne]=r.useState(!1),ca=[{value:"NAO_CONFIGURADO",label:"Não Configurado",color:"bg-gray-100 text-gray-700"},{value:"PENDENTE",label:"Pendente Aprovação",color:"bg-yellow-100 text-yellow-700"},{value:"APROVADO",label:"Aprovado",color:"bg-green-100 text-green-700"},{value:"REJEITADO",label:"Rejeitado",color:"bg-red-100 text-red-700"}];function da(a){if(!a)return"";if(/^\d{2}-\d{2}$/.test(a)){const[n,l]=a.split("-");return`${l}/${["","Jan","Fev","Mar","Abr","Mai","Jun","Jul","Ago","Set","Out","Nov","Dez"][parseInt(n)]}`}if(a.includes("T"))try{return new Date(a).toLocaleString("pt-BR",{day:"2-digit",month:"2-digit",year:"numeric",hour:"2-digit",minute:"2-digit"})}catch{return a}try{return new Date(a+"T00:00:00").toLocaleDateString("pt-BR")}catch{return a}}r.useEffect(()=>{!ae&&!C&&H("/login")},[C,ae,H]),r.useEffect(()=>{C&&p()},[C]),r.useEffect(()=>{t.publico&&Oa(t.publico,t.segmento_id||void 0).then(ia).catch(console.error)},[t.publico,t.segmento_id]);async function p(){ge(!0);try{const[a,n,l]=await Promise.all([Le(),Ve(),Ue()]);ue(a),pe(n),je(l)}catch(a){console.error("Erro ao carregar dados:",a),i.error("Erro ao carregar dados de marketing")}finally{ge(!1)}}async function ha(){be(!0);try{const[a,n,l]=await Promise.all([Le(),Ve(),Ue()]);ue(a),pe(n),je(l),i.success("Dados atualizados")}catch(a){console.error("Erro ao atualizar dados:",a),i.error("Erro ao atualizar dados")}finally{be(!1)}}async function xa(){if(!t.codigo||!t.titulo||!t.texto||!t.publico||!t.canal){i.error("Preencha todos os campos obrigatórios");return}Ae(!0);try{await Ma({...t,segmento_id:t.segmento_id||void 0,data_fixa_envio:t.data_fixa_envio||void 0,criado_por_gestor_id:C.id}),i.success("Mensagem criada com sucesso!"),se(!1),m({codigo:"",titulo:"",subtitulo:"",texto:"",publico:"",segmento_id:"",canal:"",gatilho:"MANUAL",dias_apos_gatilho:0,data_fixa_envio:""}),p()}catch(a){console.error("Erro ao criar mensagem:",a),i.error(a.message||"Erro ao criar mensagem")}finally{Ae(!1)}}function Te(a){return xe.includes(a.gatilho)?a.ativo:a.ativo&&!!a.data_fixa_envio}
1async function ma(a){if(Te(a)){try{await w(a.id,{ativo:!1}),i.success("Mensagem desativada"),p()}catch(l){console.error("Erro ao desativar mensagem:",l),i.error("Erro ao desativar mensagem")}return}if(xe.includes(a.gatilho)){try{await w(a.id,{ativo:!0}),i.success("Mensagem ativada - será enviada automaticamente conforme gatilho"),p()}catch(l){console.error("Erro ao ativar mensagem:",l),i.error("Erro ao ativar mensagem")}return}if(a.gatilho==="DATA_FIXA"&&a.data_fixa_envio){try{await w(a.id,{ativo:!0}),i.success("Mensagem ativada"),p()}catch(l){console.error("Erro ao ativar mensagem:",l),i.error("Erro ao ativar mensagem")}return}Ce(a),le(""),G(!0)}async function ua(){if(!T||!$){i.error("Selecione uma data para ativar a mensagem");return}Oe(!0);try{await w(T.id,{ativo:!0,data_fixa_envio:$,gatilho:"DATA_FIXA"}),i.success("Mensagem ativada com sucesso!"),G(!1),Ce(null),le(""),p()}catch(a){console.error("Erro ao ativar:",a),i.error(a.message||"Erro ao ativar mensagem")}finally{Oe(!1)}}async function pa(){if(M){we(!0);try{await w(M.id,{ativo:!1}),i.success("Mensagem removida com sucesso!"),B(!1),Se(null),p()}catch(a){console.error("Erro ao excluir:",a),i.error(a.message||"Erro ao excluir mensagem")}finally{we(!1)}}}function ja(a){ie(a),u({codigo:a.codigo,titulo:a.titulo,subtitulo:a.subtitulo||"",texto:a.texto,publico:a.publico,segmento_id:a.segmento_id||"",canal:a.canal,gatilho:a.gatilho,dias_apos_gatilho:a.dias_apos_gatilho,data_fixa_envio:a.data_fixa_envio||"",whatsapp_template_sid:a.whatsapp_template_sid||"",whatsapp_template_status:a.whatsapp_template_status||"NAO_CONFIGURADO"}),F(!0)}async function ga(){if(y){if(!s.titulo||!s.texto){i.error("Título e texto são obrigatórios");return}if(s.canal==="WHATSAPP"&&s.whatsapp_template_sid&&!s.whatsapp_template_sid.startsWith("HX")){i.error("Content SID do Twilio deve começar com 'HX'");return}Me(!0);try{await w(y.id,{titulo:s.titulo,subtitulo:s.subtitulo||void 0,texto:s.texto,publico:s.publico,segmento_id:s.segmento_id||void 0,canal:s.canal,gatilho:s.gatilho,dias_apos_gatilho:s.dias_apos_gatilho,data_fixa_envio:s.data_fixa_envio||void 0,whatsapp_template_sid:s.whatsapp_template_sid||void 0,whatsapp_template_status:s.whatsapp_template_status||"NAO_CONFIGURADO"}),i.success("Mensagem atualizada com sucesso!"),F(!1),ie(null),p()}catch(a){console.error("Erro ao salvar:",a),i.error(a.message||"Erro ao salvar mensagem")}finally{Me(!1)}}}async function va(){if(y){if(!s.titulo||!s.texto){i.error("Título e texto são obrigatórios");return}if(s.canal!=="EMAIL"){i.error("Envio imediato disponível apenas para Email");return}ne(!0);try{await w(y.id,{titulo:s.titulo,subtitulo:s.subtitulo||void 0,texto:s.texto,publico:s.publico,segmento_id:s.segmento_id||void 0,canal:s.canal,gatilho:s.gatilho,dias_apos_gatilho:s.dias_apos_gatilho,data_fixa_envio:s.data_fixa_envio||void 0,ativo:!0});const a=await Ta(y.id,C.id,new Date);if(a.total_agendados===0){i.warning("Nenhum destinatário elegível para envio (já receberam ou estão em unsubscribe)"),ne(!1);return}i.info(`${a.total_agendados} destinatários agendados. Processando envio...`);const n=await We({mensagem_id:y.id,canal:"EMAIL"});i.success(`Envio concluído! Emails: ${n.emails_enviados} | Falhas: ${n.falhas}`),F(!1),ie(null),p()}catch(a){console.error("Erro ao enviar agora:",a),i.error(a.message||"Erro ao processar envio imediato")}finally{ne(!1)}}}async function Na(){Ne(!0);try{const a=await We();i.success(`Processados: ${a.total_processados} | Emails: ${a.emails_enviados} | WhatsApp: ${a.whatsapp_enviados} | Falhas: ${a.falhas}`),p()}catch(a){console.error("Erro ao processar fila:",a),i.error(a.message||"Erro ao processar fila")}finally{Ne(!1)}}function ce(a,n){return W.filter(l=>l.segmento_nome===a&&l.publico===n)}function Fe(){return W.filter(a=>a.publico==="FUNCIONARIO")}function De(){return W.filter(a=>a.publico==="DATAS_FESTIVAS")}function de(){return W.filter(a=>a.canal==="WHATSAPP")}function z(a){var Ie;const n=a.data_fixa_envio&&a.data_fixa_envio.length>0,l=Te(a),D=xe.includes(a.gatilho),ba=((Ie=he.find(_a=>_a.value===a.gatilho))==null?void 0:Ie.label)||a.gatilho;return e.jsx(d,{children:e.jsx(h,{className:"pt-4",children:e.jsxs("div",{className:"flex items-start justify-between gap-4",children:[e.jsxs("div",{className:"flex-1 space-y-2",children:[e.jsxs("div",{className:"flex items-center gap-2 flex-wrap",children:[e.jsx(Z,{children:e.jsxs(A,{children:[e.jsx(S,{asChild:!0,children:e.jsx("span",{children:e.jsxs(j,{variant:"default",className:a.canal==="WHATSAPP"?"bg-green-600 hover:bg-green-700 cursor-help":"bg-blue-600 hover:bg-blue-700 cursor-help",children:[a.canal==="EMAIL"?e.jsx(me,{className:"h-3 w-3 mr-1"}):e.jsx(U,{className:"h-3 w-3 mr-1"}),a.canal]})})}),e.jsx(E,{children:e.jsx("p",{children:a.canal==="EMAIL"?"Mensagem enviada por email":"Mensagem enviada via WhatsApp (requer template aprovado)"})})]})}),e.jsx(Z,{children:l?D?e.jsxs(A,{children:[e.jsx(S,{asChild:!0,children:e.jsx("span",{children:e.jsxs(j,{variant:"default",className:"bg-emerald-600 hover:bg-emerald-700 cursor-help",children:[e.jsx(V,{className:"h-3 w-3 mr-1"}),"Aguardando"]})})}),e.jsx(E,{children:e.jsx("p",{children:"Ativa e aguardando novo cadastro para disparo automático"})})]}):e.jsxs(A,{children:[e.jsx(S,{asChild:!0,children:e.jsx("span",{children:e.jsxs(j,{variant:"default",className:"bg-green-600 cursor-help",children:[e.jsx(ee,{className:"h-3 w-3 mr-1"}),"Ativo"]})})}),e.jsx(E,{children:e.jsx("p",{children:"Agendada para envio na data definida"})})]}):a.ativo&&!l?e.jsxs(A,{children:[e.jsx(S,{asChild:!0,children:e.jsx("span",{children:e.jsxs(j,{variant:"secondary",className:"bg-amber-100 text-amber-800 border-amber-200 cursor-help",children:[e.jsx(V,{className:"h-3 w-3 mr-1"}),"Sem Data"]})})}),e.jsx(E,{children:e.jsx("p",{children:"Mensagem ativa mas precisa de uma data para ser enviada"})})]}):e.jsxs(A,{children:[e.jsx(S,{asChild:!0,children:e.jsx("span",{children:e.jsx(j,{variant:"outline",className:"text-muted-foreground cursor-help",children:"Rascunho"})})}),e.jsx(E,{children:e.jsx("p",{children:"Mensagem desativada - não será enviada"})})]})}),e.jsx("code",{className:"text-xs bg-muted px-2 py-1 rounded",children:a.codigo}),D&&e.jsx(Z,{children:e.jsxs(A,{children:[e.jsx(S,{asChild:!0,children:e.jsx("span",{children:e.jsxs(j,{variant:"outline",className:"bg-purple-50 text-purple-700 border-purple-200 cursor-help",children:[e.jsx(V,{className:"h-3 w-3 mr-1"}),ba," ",a.dias_apos_gatilho>0&&`(D+${a.dias_apos_gatilho})`]})})}),e.jsx(E,{children:e.jsxs("p",{children:[a.gatilho==="DIAS_MATRICULA"&&`Enviada ${a.dias_apos_gatilho} dia(s) após o cadastro do usuário`,a.gatilho==="ANIVERSARIO"&&`Enviada ${a.dias_apos_gatilho}
1 dia(s) antes/após o aniversário`,a.gatilho==="IMEDIATO"&&"Enviada imediatamente após o cadastro"]})})]})}),n&&e.jsx(Z,{children:e.jsxs(A,{children:[e.jsx(S,{asChild:!0,children:e.jsx("span",{children:e.jsxs(j,{variant:"outline",className:"bg-blue-50 text-blue-700 border-blue-200 cursor-help",children:[e.jsx(Je,{className:"h-3 w-3 mr-1"}),da(a.data_fixa_envio)]})})}),e.jsx(E,{children:e.jsx("p",{children:"Data fixa de envio (ex: datas comemorativas)"})})]})})]}),e.jsx("h4",{className:"font-medium",children:a.titulo}),a.subtitulo&&e.jsx("p",{className:"text-sm text-muted-foreground",children:a.subtitulo}),e.jsx("p",{className:"text-sm line-clamp-2",children:a.texto}),e.jsxs("div",{className:"flex items-center gap-4 text-xs text-muted-foreground",children:[e.jsxs("span",{className:"flex items-center gap-1",children:[e.jsx(ee,{className:"h-3 w-3 text-green-500"}),a.total_enviados," enviados"]}),e.jsxs("span",{className:"flex items-center gap-1",children:[e.jsx(V,{className:"h-3 w-3 text-yellow-500"}),a.total_pendentes," pendentes"]})]})]}),e.jsxs("div",{className:"flex flex-col gap-2",children:[e.jsx(ya,{checked:l,onCheckedChange:()=>ma(a)}),e.jsxs(c,{size:"sm",variant:"outline",onClick:()=>ja(a),children:[e.jsx(Ua,{className:"h-4 w-4 mr-1"}),"Editar"]}),e.jsx(c,{size:"sm",variant:"outline",className:"text-destructive hover:text-destructive hover:bg-destructive/10 border-destructive/50",onClick:()=>{Se(a),B(!0)},children:e.jsx(Xe,{className:"h-4 w-4"})})]})]})})},a.id)}function fa(a){const n=ea[a.id];return ce(a.dbNome,n),e.jsx("div",{className:"space-y-4",children:e.jsxs(Pe,{value:n,onValueChange:l=>aa(D=>({...D,[a.id]:l})),children:[e.jsx(Re,{className:"grid w-full",style:{gridTemplateColumns:`repeat(${a.publicos.length}, 1fr)`},children:a.publicos.map(l=>e.jsxs(I,{value:l,children:[l==="PROFESSOR"&&"Professores",l==="ALUNO"&&"Alunos",l==="RESPONSAVEL"&&"Responsáveis"]},l))}),a.publicos.map(l=>e.jsx(P,{value:l,className:"mt-4",children:ce(a.dbNome,l).length===0?e.jsx(d,{children:e.jsxs(h,{className:"py-8 text-center text-muted-foreground",children:["Nenhuma mensagem cadastrada para ",l==="PROFESSOR"?"professores":l==="ALUNO"?"alunos":"responsáveis"," do ",a.label,"."]})}):e.jsx("div",{className:"space-y-3",children:ce(a.dbNome,l).map(z)})},l))]})})}return ae||ta?e.jsx("div",{className:"min-h-screen bg-background flex items-center justify-center",children:e.jsx(g,{className:"h-8 w-8 animate-spin text-primary"})}):e.jsxs("div",{className:"min-h-screen bg-background",children:[e.jsx(Ca,{title:"Marketing",showDashboard:!0}),e.jsxs("main",{className:"container mx-auto p-4 space-y-6",children:[O&&e.jsxs("div",{className:"grid grid-cols-2 md:grid-cols-4 gap-4",children:[e.jsx(d,{children:e.jsx(h,{className:"pt-4",children:e.jsxs("div",{className:"flex items-center gap-2",children:[e.jsx(me,{className:"h-5 w-5 text-primary"}),e.jsxs("div",{children:[e.jsx("p",{className:"text-sm text-muted-foreground",children:"Mensagens Ativas"}),e.jsx("p",{className:"text-2xl font-bold",children:O.total_mensagens_ativas})]})]})})}),e.jsx(d,{children:e.jsx(h,{className:"pt-4",children:e.jsxs("div",{className:"flex items-center gap-2",children:[e.jsx(V,{className:"h-5 w-5 text-yellow-500"}),e.jsxs("div",{children:[e.jsx("p",{className:"text-sm text-muted-foreground",children:"Pendentes"}),e.jsx("p",{className:"text-2xl font-bold",children:O.total_envios_pendentes})]})]})})}),e.jsx(d,{children:e.jsx(h,{className:"pt-4",children:e.jsxs("div",{className:"flex items-center gap-2",children:[e.jsx(ee,{className:"h-5 w-5 text-green-500"}),e.jsxs("div",{children:[e.jsx("p",{className:"text-sm text-muted-foreground",children:"Enviados"}),e.jsx("p",{className:"text-2xl font-bold",children:O.total_envios_enviados})]})]})})}),e.jsx(d,{children:e.jsx(h,{className:"pt-4",children:e.jsxs("div",{className:"flex items-center gap-2",children:[e.jsx(Fa,{className:"h-5 w-5 text-destructive"}),e.jsxs("div",{children:[e.jsx("p",{className:"text-sm text-muted-foreground",children:"Falhas"}),e.jsx("p",{className:"text-2xl font-bold",children:O.total_envios_falha})]})]})})})]}),e.jsxs("div",{className:"flex flex-wrap gap-2",children:[e.jsxs(c,{variant:"outline",className:"border-amber-300 bg-amber-50 hover:bg-amber-100 text-amber-700 dark:bg-amber-950/30 dark:border-amber-700 dark:text-amber-400 dark:hover:bg-amber-950/50",onClick:()=>H("/gestao/marketing/excecoes"),children:[e.jsx(Ea,{className:"h-4 w-4 mr-2"}),"Exceções"]}),e.jsxs(X,{open:la,onOpenChange:se,children:[e.jsx(wa,{asChild:!0,children:e.jsxs(c,{children:[e.jsx(Be,{className:"h-4 w-4 mr-2"}),"Nova Mensagem"]})}),e.jsxs(J,{className:"max-w-5xl max-h-[90vh] overflow-y-auto",children:[e.jsxs(q,{children:[e.jsx(Q,{children:"Criar Nova Mensagem"}),e.jsx(Y,{children:"Configure uma nova mensagem de marketing para envio."})]}),e.jsxs("div",{className:"grid grid-cols-1 lg:grid-cols-2 gap-6 py-4",children:[e.jsxs("div",{className:"space-y-4",children:[e.jsxs("div",{className:"grid grid-cols-2 gap-4",children:[e.jsxs("div",{className:"space-y-2",children:[e.jsx(o,{htmlFor:"codigo",children:"Código *"}),e.jsx(x,{id:"codigo",placeholder:"Ex: BOAS_VINDAS_01",value:t.codigo,onChange:a=>m({...t,codigo:a.target.value.toUpperCase().replace(/\s/g,"_")})})]}),e.jsxs("div",{className:"space-y-2",children:[e.jsx(o,{htmlFor:"canal",children:"Canal *"}),e.jsxs(N,{value:t.canal,onValueChange:a=>m({...t,canal:a}),children:[e.jsx(f,{children:e.jsx(b,{placeholder:"Selecione"})}),e.jsx(_,{children:Qe.map(a=>e.jsx(v,{value:a.value,children:e.jsxs("div",{className:"flex items-center gap-2",children:[e.jsx(a.icon,{className:"h-4 w-4"}),a.label]})},a.value))})]})]})]}),e.jsxs("div",{className:"grid grid-cols-2 gap-4",children:[e.jsxs("div",{className:"space-y-2",children:[e.jsx(o,{htmlFor:"publico",children:"Público *"}),e.jsxs(N,{value:t.publico,onValueChange:a=>m({...t,publico:a}),children:[e.jsx(f,{children:e.jsx(b,{placeholder:"Selecione"})}),e.jsx(_,{children:qe.map(a=>e.jsx(v,{value:a.value,children:a.label},a.value))})]})]}),e.jsxs("div",{className:"space-y-2",children:[e.jsx(o,{htmlFor:"segmento",children:"Segmento (opcional)"}),e.jsxs(N,{value:t.segmento_id||"__all__",onValueChange:a=>m({...t,segmento_id:a==="__all__"?"":a}),children:[e.jsx(f,{children:e.jsx(b,{placeholder:"Todos"})}),e.jsxs(_,{children:[e.jsx(v,{value:"__all__",children:"Todos"}),sa.map(a=>e.jsx(v,{value:a.id,children:a.nome},a.id))]})]})]})]}),e.jsxs("div",{className:"grid grid-cols-2 gap-4",children:[e.jsxs("div",{className:"space-y-2",children:[e.jsx(o,{htmlFor:"gatilho",children:"Gatilho"}),e.jsxs(N,{value:t.gatilho,onValueChange:a=>m({...t,gatilho:a}),children:[e.jsx(f,{children:e.jsx(b,{})}),e.jsx(_,{children:he.map(a=>e.jsx(v,{value:a.value,children:a.label},a.value))})]})]}),t.gatilho==="DATA_FIXA"&&e.jsxs("div",{className:"space-y-2",children:[e.jsx(o,{htmlFor:"data_fixa",children:"Data e Hora do Envio"}),e.jsx(x,{id:"data_fixa",type:"datetime-local",value:t.data_fixa_envio,onChange:a=>m({...t,data_fixa_envio:a.target.value})}),e.jsx("p",{className:"text-xs text-muted-foreground",children:"Selecione a data e horário exato para o disparo"})]}),(t.gatilho==="DIAS_MATRICULA"||t.gatilho==="ANIVERSARIO"||t.gatilho==="IMED
1IATO")&&e.jsxs("div",{className:"space-y-2",children:[e.jsx(o,{htmlFor:"dias",children:"Dias após gatilho"}),e.jsx(x,{id:"dias",type:"number",min:0,value:t.dias_apos_gatilho,onChange:a=>m({...t,dias_apos_gatilho:parseInt(a.target.value)||0})})]})]}),e.jsxs("div",{className:"space-y-2",children:[e.jsx(o,{htmlFor:"titulo",children:"Título *"}),e.jsx(x,{id:"titulo",placeholder:"Título da mensagem",value:t.titulo,onChange:a=>m({...t,titulo:a.target.value})})]}),e.jsxs("div",{className:"space-y-2",children:[e.jsx(o,{htmlFor:"subtitulo",children:"Subtítulo"}),e.jsx(x,{id:"subtitulo",placeholder:"Subtítulo opcional",value:t.subtitulo,onChange:a=>m({...t,subtitulo:a.target.value})})]}),e.jsxs("div",{className:"space-y-2",children:[e.jsx(o,{htmlFor:"texto",children:"Texto da Mensagem *"}),e.jsx(ke,{id:"texto",placeholder:"Conteúdo da mensagem...",rows:6,value:t.texto,onChange:a=>m({...t,texto:a.target.value})})]}),te&&t.publico&&e.jsx(d,{className:"bg-muted/50",children:e.jsx(h,{className:"pt-4",children:e.jsxs("div",{className:"flex items-center gap-4 text-sm",children:[e.jsx(Da,{className:"h-4 w-4"}),e.jsx("span",{children:"Destinatários: "}),e.jsxs(j,{variant:"outline",children:[te.total_email," emails"]}),e.jsxs(j,{variant:"outline",children:[te.total_whatsapp," WhatsApp"]})]})})})]}),e.jsx("div",{className:"lg:border-l lg:pl-6",children:e.jsx(He,{titulo:t.titulo,subtitulo:t.subtitulo,texto:t.texto,canal:t.canal})})]}),e.jsxs(K,{children:[e.jsx(c,{variant:"outline",onClick:()=>se(!1),children:"Cancelar"}),e.jsxs(c,{onClick:xa,disabled:_e,children:[_e?e.jsx(g,{className:"h-4 w-4 animate-spin mr-2"}):e.jsx(Be,{className:"h-4 w-4 mr-2"}),"Criar Mensagem"]})]})]})]}),e.jsxs(c,{variant:"outline",onClick:Na,disabled:ve,children:[ve?e.jsx(g,{className:"h-4 w-4 animate-spin mr-2"}):e.jsx(Ge,{className:"h-4 w-4 mr-2"}),"Processar Fila"]}),e.jsxs(c,{variant:"outline",onClick:ha,disabled:fe,children:[fe?e.jsx(g,{className:"h-4 w-4 animate-spin mr-2"}):e.jsx(g,{className:"h-4 w-4 mr-2"}),"Atualizar"]}),e.jsxs(c,{className:"bg-orange-500 hover:bg-orange-600 text-white",onClick:()=>H("/cockpit"),children:[e.jsx(Ia,{className:"h-4 w-4 mr-2"}),"Cockpit"]})]}),e.jsxs(Pe,{value:Ke,onValueChange:Ze,children:[e.jsxs(Re,{className:"grid w-full grid-cols-7",children:[Ye.map(a=>e.jsxs(I,{value:a.id,className:"flex items-center gap-1",children:[e.jsx(a.icon,{className:"h-4 w-4"}),e.jsx("span",{className:"hidden sm:inline",children:a.label})]},a.id)),e.jsxs(I,{value:"funcionarios",className:"flex items-center gap-1",children:[e.jsx($e,{className:"h-4 w-4"}),e.jsx("span",{className:"hidden sm:inline",children:"Funcionários"})]}),e.jsxs(I,{value:"datas_festivas",className:"flex items-center gap-1",children:[e.jsx(ze,{className:"h-4 w-4"}),e.jsx("span",{className:"hidden sm:inline",children:"Datas"})]}),e.jsxs(I,{value:"whatsapp",className:"flex items-center gap-1 bg-green-50 data-[state=active]:bg-green-100",children:[e.jsx(U,{className:"h-4 w-4 text-green-600"}),e.jsx("span",{className:"hidden sm:inline text-green-700",children:"WhatsApp"})]})]}),Ye.map(a=>e.jsx(P,{value:a.id,className:"mt-4",children:e.jsxs(d,{children:[e.jsxs(R,{children:[e.jsxs(k,{className:"flex items-center gap-2",children:[e.jsx(a.icon,{className:"h-5 w-5"}),a.label]}),e.jsxs(L,{children:["Mensagens de marketing para ",a.dbNome]})]}),e.jsx(h,{children:fa(a)})]})},a.id)),e.jsx(P,{value:"funcionarios",className:"mt-4",children:e.jsxs(d,{children:[e.jsxs(R,{children:[e.jsxs(k,{className:"flex items-center gap-2",children:[e.jsx($e,{className:"h-5 w-5"}),"Funcionários"]}),e.jsx(L,{children:"Mensagens de marketing para funcionários"})]}),e.jsx(h,{children:Fe().length===0?e.jsx("div",{className:"py-8 text-center text-muted-foreground",children:"Nenhuma mensagem cadastrada para funcionários."}):e.jsx("div",{className:"space-y-3",children:Fe().map(z)})})]})}),e.jsx(P,{value:"datas_festivas",className:"mt-4",children:e.jsxs(d,{children:[e.jsxs(R,{children:[e.jsxs(k,{className:"flex items-center gap-2",children:[e.jsx(ze,{className:"h-5 w-5"}),"Datas Festivas"]}),e.jsx(L,{children:"Mensagens para datas comemorativas e festivas"})]}),e.jsx(h,{children:De().length===0?e.jsx("div",{className:"py-8 text-center text-muted-foreground",children:"Nenhuma mensagem de datas festivas cadastrada ainda."}):e.jsx("div",{className:"space-y-3",children:De().map(z)})})]})}),e.jsx(P,{value:"whatsapp",className:"mt-4",children:e.jsxs(d,{className:"border-green-200",children:[e.jsxs(R,{className:"bg-green-50/50",children:[e.jsxs(k,{className:"flex items-center gap-2 text-green-800",children:[e.jsx(U,{className:"h-5 w-5 text-green-600"}),"WhatsApp (",de().length," mensagens)"]}),e.jsx(L,{className:"text-green-700",children:"Todas as mensagens de WhatsApp do ecossistema Dom Bosco"})]}),e.jsx(h,{className:"pt-4",children:de().length===0?e.jsx("div",{className:"py-8 text-center text-muted-foreground",children:"Nenhuma mensagem de WhatsApp cadastrada ainda."}):e.jsx("div",{className:"space-y-3",children:de().map(z)})})]})})]}),e.jsx(X,{open:ra,onOpenChange:B,children:e.jsxs(J,{children:[e.jsxs(q,{children:[e.jsx(Q,{children:"Excluir Mensagem"}),e.jsxs(Y,{children:['Tem certeza que deseja excluir a mensagem "',M==null?void 0:M.titulo,'"? Esta ação não pode ser desfeita.']})]}),e.jsxs(K,{children:[e.jsx(c,{variant:"outline",onClick:()=>B(!1),children:"Cancelar"}),e.jsxs(c,{variant:"destructive",onClick:pa,disabled:Ee,children:[Ee?e.jsx(g,{className:"h-4 w-4 animate-spin mr-2"}):e.jsx(Xe,{className:"h-4 w-4 mr-2"}),"Excluir"]})]})]})}),e.jsx(X,{open:na,onOpenChange:F,children:e.jsxs(J,{className:"max-w-5xl max-h-[90vh] overflow-y-auto",children:[e.jsxs(q,{children:[e.jsx(Q,{children:"Editar Mensagem"}),e.jsx(Y,{children:"Edite a mensagem de marketing e visualize como ela aparecerá."})]}),e.jsxs("div",{className:"grid grid-cols-1 lg:grid-cols-2 gap-6 py-4",children:[e.jsxs("div",{className:"space-y-4",children:[e.jsxs("div",{className:"grid grid-cols-2 gap-4",children:[e.jsxs("div",{className:"space-y-2",children:[e.jsx(o,{htmlFor:"edit-codigo",children:"Código"}),e.jsx(x,{id:"edit-codigo",value:s.codigo,disabled:!0,className:"bg-muted"})]}),e.jsxs("div",{className:"space-y-2",children:[e.jsx(o,{htmlFor:"edit-canal",children:"Canal"}),e.jsxs(N,{value:s.canal,onValueChange:a=>u({...s,canal:a}),children:[e.jsx(f,{children:e.jsx(b,{})}),e.jsx(_,{children:Qe.map(a=>e.jsx(v,{value:a.value,children:e.jsxs("div",{className:"flex items-center gap-2",children:[e.jsx(a.icon,{className:"h-4 w-4"}),a.label]})},a.value))})]})]})]}),e.jsxs("div",{className:"grid grid-cols-2 gap-4",children:[e.jsxs("div",{className:"space-y-2",children:[e.jsx(o,{htmlFor:"edit-publico",children:"Público"}),e.jsxs(N,{value:s.publico,onValueChange:a=>u({...s,publico:a}),children:[e.jsx(f,{children:e.jsx(b,{})}),e.jsx(_,{children:qe.map(a=>e.jsx(v,{value:a.value,children:a.label},a.value))})]})]}),e.jsxs("div",{className:"space-y-2",children:[e.jsx(o,{htmlFor:"edit-gatilho",children:"Gatilho"}),e.jsxs(N,{value:s.gatilho,onValueChange:a=>u({...s,gatilho:a}),children:[e.jsx(f,{children:e.jsx(b,{})}),e.jsx(_,{children:he.map(a=>e.jsx(v,{value:a.value,children:a.label},a.value))})]})]})]}),s.gatilho==="DATA_FIXA"&&e.jsxs("div",{className:"space-y-2",children:[e.jsx(o,{htmlFor:"edit-data-fixa",children:"Data e Hora do Envio"}),e.jsx(x,{id:"edit-data-fixa",type:"datetime-local",value:s.data_fixa_envio.includes("T")?s.data_fixa_envio:"",onCh
1ange:a=>u({...s,data_fixa_envio:a.target.value})}),e.jsx("p",{className:"text-xs text-muted-foreground",children:"Selecione a data e horário exato para o disparo"})]}),(s.gatilho==="DIAS_MATRICULA"||s.gatilho==="ANIVERSARIO"||s.gatilho==="IMEDIATO")&&e.jsxs("div",{className:"space-y-2",children:[e.jsx(o,{htmlFor:"edit-dias",children:"Dias após gatilho"}),e.jsx(x,{id:"edit-dias",type:"number",min:0,value:s.dias_apos_gatilho,onChange:a=>u({...s,dias_apos_gatilho:parseInt(a.target.value)||0})})]}),e.jsxs("div",{className:"space-y-2",children:[e.jsx(o,{htmlFor:"edit-titulo",children:"Título do Email *"}),e.jsx(x,{id:"edit-titulo",placeholder:"Título da mensagem",value:s.titulo,onChange:a=>u({...s,titulo:a.target.value})})]}),e.jsxs("div",{className:"space-y-2",children:[e.jsx(o,{htmlFor:"edit-subtitulo",children:"Subtítulo (opcional)"}),e.jsx(x,{id:"edit-subtitulo",placeholder:"Subtítulo opcional",value:s.subtitulo,onChange:a=>u({...s,subtitulo:a.target.value})})]}),e.jsxs("div",{className:"space-y-2",children:[e.jsx(o,{htmlFor:"edit-texto",children:"Texto da Mensagem *"}),e.jsx(ke,{id:"edit-texto",placeholder:"Conteúdo da mensagem...",rows:8,value:s.texto,onChange:a=>u({...s,texto:a.target.value})})]}),s.canal==="WHATSAPP"&&e.jsxs(d,{className:"border-green-200 bg-green-50/50",children:[e.jsxs(R,{className:"pb-2",children:[e.jsxs(k,{className:"text-sm flex items-center gap-2 text-green-800",children:[e.jsx(U,{className:"h-4 w-4 text-green-600"}),"Configuração Template WhatsApp (Twilio)"]}),e.jsx(L,{className:"text-xs text-green-700",children:"Templates precisam ser aprovados pela Meta antes do envio."})]}),e.jsxs(h,{className:"space-y-4",children:[e.jsxs("div",{className:"space-y-2",children:[e.jsx(o,{htmlFor:"edit-whatsapp-sid",className:"text-green-800",children:"Content SID (Twilio)"}),e.jsx(x,{id:"edit-whatsapp-sid",placeholder:"HXxxxxxxxxxxxxxxxxxx",value:s.whatsapp_template_sid,onChange:a=>u({...s,whatsapp_template_sid:a.target.value})}),e.jsx("p",{className:"text-xs text-green-700",children:"Obtido no Twilio Console após criar o template. Formato: HX..."})]}),e.jsxs("div",{className:"space-y-2",children:[e.jsx(o,{htmlFor:"edit-whatsapp-status",className:"text-green-800",children:"Status do Template"}),e.jsxs(N,{value:s.whatsapp_template_status,onValueChange:a=>u({...s,whatsapp_template_status:a}),children:[e.jsx(f,{children:e.jsx(b,{})}),e.jsx(_,{children:ca.map(a=>e.jsx(v,{value:a.value,children:e.jsx("span",{className:`px-2 py-0.5 rounded text-xs ${a.color}`,children:a.label})},a.value))})]})]}),s.whatsapp_template_status==="APROVADO"&&s.whatsapp_template_sid&&e.jsxs(j,{className:"bg-green-600",children:[e.jsx(ee,{className:"h-3 w-3 mr-1"}),"Pronto para envio"]}),s.whatsapp_template_status==="NAO_CONFIGURADO"&&e.jsx("p",{className:"text-xs text-amber-700 font-medium",children:"⚠️ Sem template configurado, será usado texto livre (apenas sandbox)."})]})]})]}),e.jsx("div",{className:"lg:border-l lg:pl-6",children:e.jsx(He,{titulo:s.titulo,subtitulo:s.subtitulo,texto:s.texto,canal:s.canal})})]}),e.jsxs(K,{className:"flex-col sm:flex-row gap-2",children:[e.jsx(c,{variant:"outline",onClick:()=>F(!1),children:"Cancelar"}),s.canal==="EMAIL"&&e.jsx(c,{variant:"secondary",className:"bg-emerald-600 hover:bg-emerald-700 text-white dark:bg-emerald-600 dark:hover:bg-emerald-700",onClick:va,disabled:oe||re,children:oe?e.jsxs(e.Fragment,{children:[e.jsx(g,{className:"h-4 w-4 animate-spin mr-2"}),"Enviando..."]}):e.jsxs(e.Fragment,{children:[e.jsx(Ge,{className:"h-4 w-4 mr-2"}),"Enviar Agora"]})}),e.jsxs(c,{onClick:ga,disabled:re||oe,children:[re?e.jsx(g,{className:"h-4 w-4 animate-spin mr-2"}):e.jsx(Pa,{className:"h-4 w-4 mr-2"}),"Salvar Alterações"]})]})]})}),e.jsx(X,{open:oa,onOpenChange:G,children:e.jsxs(J,{children:[e.jsxs(q,{children:[e.jsx(Q,{children:"Converter em Data Fixa"}),e.jsxs(Y,{children:['Deseja converter a mensagem "',T==null?void 0:T.titulo,'" para envio em data fixa?']})]}),e.jsx("div",{className:"space-y-4 py-4",children:e.jsxs("div",{className:"space-y-2",children:[e.jsx(o,{children:"Data e Hora do Envio"}),e.jsx(x,{type:"datetime-local",value:$,onChange:a=>le(a.target.value)}),e.jsx("p",{className:"text-xs text-muted-foreground",children:"Selecione a data e horário exato para o disparo da mensagem."})]})}),e.jsxs(K,{children:[e.jsx(c,{variant:"outline",onClick:()=>G(!1),children:"Cancelar"}),e.jsxs(c,{onClick:ua,disabled:ye||!$,children:[ye?e.jsx(g,{className:"h-4 w-4 animate-spin mr-2"}):e.jsx(Je,{className:"h-4 w-4 mr-2"}),"Converter e Ativar"]})]})]})})]})]})}export{_s 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.