1import{r as m,j as e}from"./react-vendor-pafHdoJx.js";import{E as A}from"./ErrorState-B9i6eo2M.js";import{u as L,b as S,d as b,c as h}from"./index-Db0fDLGN.js";import{q as j,a as R,v as k,as as F,x as M,X as I,L as N,k as D,aT as B,aE as E,an as _}from"./ui-vendor-DLXJn6s3.js";import"./map-vendor-Dr8zbd0c.js";import"./firebase-vendor-D3UzkAhn.js";const w=[{id:"rctr_c",label:"RCTR-C",desc:"Responsabilidade Civil â Acidentes"},{id:"rc_dc",label:"RC-DC",desc:"Roubo/Desaparecimento de Carga"},{id:"rc_v",label:"RC-V",desc:"Danos a Terceiros (VeÃculo)"},{id:"rcf_dc",label:"RCF-DC",desc:"Facultativo â Desvio de Carga"}],O=["Porto Seguro","SURA","Akad","Berkley","Sompo","Mitsui","Tokio Marine","HDI","Ezze Seguros","Argo Seguros","Mapfre","Outra"];function f(r){return r?new Date(r!=null&&r._seconds?r._seconds*1e3:r).toLocaleDateString("pt-BR"):"â"}function X(r){return new Intl.NumberFormat("pt-BR",{style:"currency",currency:"BRL"}).format(r)}function V(){const{toast:r}=L(),{data:n,loading:i,error:u,refetch:c}=S(()=>b.averbacaoApolices(),[]),[x,p]=m.useState(!1),[t,l]=m.useState(!1),[o,d]=m.useState({tipo:"rctr_c",seguradora:"",numero:"",vigenciaInicio:"",vigenciaFim:"",limiteCobertura:"",corretora:""}),y=async()=>{l(!0);try{await b.averbacaoCreateApolice({...o,limiteCobertura:Number(o.limiteCobertura)||0}),p(!1),d({tipo:"rctr_c",seguradora:"",numero:"",vigenciaInicio:"",vigenciaFim:"",limiteCobertura:"",corretora:""}),r({title:"Apólice salva",kind:"success"}),c()}catch(a){r({title:"Falha ao salvar apólice",description:(a==null?void 0:a.message)||"erro desconhecido",kind:"error"})}finally{l(!1)}};return e.jsxs("div",{className:"space-y-4",children:[e.jsxs("div",{className:"flex items-center justify-between",children:[e.jsx("p",{className:"text-sm",style:{color:"var(--page-text-secondary)"},children:"Apólices de seguro ativas e vencidas da sua organização"}),e.jsxs("div",{className:"flex gap-2",children:[e.jsx("button",{onClick:c,className:"btn-secondary flex items-center gap-2",children:e.jsx(F,{className:"w-4 h-4"})}),e.jsxs("button",{onClick:()=>p(!0),className:"btn-primary flex items-center gap-2",children:[e.jsx(M,{className:"w-4 h-4"})," Nova Apólice"]})]})]}),x&&e.jsxs("div",{className:"card space-y-4",children:[e.jsxs("div",{className:"flex items-center justify-between",children:[e.jsx("h3",{className:"text-sm font-semibold",style:{color:"var(--page-text)"},children:"Nova Apólice"}),e.jsx("button",{onClick:()=>p(!1),style:{color:"var(--page-text-muted)"},children:e.jsx(I,{className:"w-4 h-4"})})]}),e.jsxs("div",{className:"grid grid-cols-1 md:grid-cols-2 lg:grid-cols-3 gap-4",children:[e.jsxs("div",{children:[e.jsx("label",{className:"label text-xs block mb-1",children:"Tipo de Seguro"}),e.jsx("select",{className:"input",value:o.tipo,onChange:a=>d(s=>({...s,tipo:a.target.value})),children:w.map(a=>e.jsxs("option",{value:a.id,children:[a.label," â ",a.desc]},a.id))})]}),e.jsxs("div",{children:[e.jsx("label",{className:"label text-xs block mb-1",children:"Seguradora"}),e.jsxs("select",{className:"input",value:o.seguradora,onChange:a=>d(s=>({...s,seguradora:a.target.value})),children:[e.jsx("option",{value:"",children:"Selecione..."}),O.map(a=>e.jsx("option",{value:a,children:a},a))]})]}),e.jsxs("div",{children:[e.jsx("label",{className:"label text-xs block mb-1",children:"Número da Apólice"}),e.jsx("input",{className:"input",placeholder:"000.000.000",value:o.numero,onChange:a=>d(s=>({...s,numero:a.target.value}))})]}),e.jsxs("div",{children:[e.jsx("label",{className:"label text-xs block mb-1",children:"Vigência InÃcio"}),e.jsx("input",{className:"input",type:"date",value:o.vigenciaInicio,onChange:a=>d(s=>
1({...s,vigenciaInicio:a.target.value}))})]}),e.jsxs("div",{children:[e.jsx("label",{className:"label text-xs block mb-1",children:"Vigência Fim"}),e.jsx("input",{className:"input",type:"date",value:o.vigenciaFim,onChange:a=>d(s=>({...s,vigenciaFim:a.target.value}))})]}),e.jsxs("div",{children:[e.jsx("label",{className:"label text-xs block mb-1",children:"Limite Cobertura (R$)"}),e.jsx("input",{className:"input",type:"number",placeholder:"500000",value:o.limiteCobertura,onChange:a=>d(s=>({...s,limiteCobertura:a.target.value}))})]}),e.jsxs("div",{children:[e.jsx("label",{className:"label text-xs block mb-1",children:"Corretora"}),e.jsx("input",{className:"input",placeholder:"Nome da corretora",value:o.corretora,onChange:a=>d(s=>({...s,corretora:a.target.value}))})]})]}),e.jsx("div",{className:"flex justify-end",children:e.jsxs("button",{onClick:y,disabled:t||!o.seguradora||!o.numero,className:"btn-primary flex items-center gap-2",children:[t?e.jsx(N,{className:"w-4 h-4 animate-spin"}):e.jsx(D,{className:"w-4 h-4"})," Salvar Apólice"]})})]}),i?e.jsx("div",{className:"flex justify-center py-12",children:e.jsx(N,{className:"w-6 h-6 animate-spin text-brand-500"})}):u?e.jsx(A,{error:u,onRetry:c}):!n||n.length===0?e.jsxs("div",{className:"card text-center py-12",children:[e.jsx(j,{className:"w-10 h-10 mx-auto mb-3",style:{color:"var(--page-text-muted)"}}),e.jsx("p",{className:"font-medium",style:{color:"var(--page-text)"},children:"Nenhuma apólice cadastrada"}),e.jsx("p",{className:"text-sm mt-1",style:{color:"var(--page-text-muted)"},children:"Cadastre suas apólices de seguro (RCTR-C, RC-DC, RC-V) para iniciar as averbações."})]}):e.jsx("div",{className:"grid gap-3",children:n.map(a=>{const s=a.vigenciaFim&&new Date(a.vigenciaFim).getTime()<Date.now(),v=w.find(g=>g.id===a.tipo);return e.jsxs("div",{className:"card flex items-center gap-4",children:[e.jsx("div",{className:h("p-2.5 rounded-lg",s?"bg-red-500/10":"bg-emerald-500/10"),children:e.jsx(j,{className:h("w-5 h-5",s?"text-red-400":"text-emerald-400")})}),e.jsxs("div",{className:"flex-1 min-w-0",children:[e.jsxs("div",{className:"flex items-center gap-2",children:[e.jsx("span",{className:"text-sm font-bold",style:{color:"var(--page-text)"},children:(v==null?void 0:v.label)||a.tipo}),e.jsx("span",{className:h("badge",s?"badge-danger":"badge-success"),children:s?"Vencida":"Ativa"})]}),e.jsxs("p",{className:"text-xs mt-0.5",style:{color:"var(--page-text-secondary)"},children:[a.seguradora," · Apólice ",a.numero," · ",f(a.vigenciaInicio)," â ",f(a.vigenciaFim)]})]}),e.jsxs("div",{className:"text-right",children:[e.jsx("p",{className:"text-sm font-bold",style:{color:"var(--accent-brand)"},children:X(a.limiteCobertura||0)}),e.jsx("p",{className:"text-[10px]",style:{color:"var(--page-text-muted)"},children:"Limite cobertura"})]})]},a.id)})})]})}function P(){const[r,n]=m.useState(""),[i,u]=m.useState("cte"),[c,x]=m.useState({motorista:"",placa:"",origem:"",destino:"",valorCarga:""}),[p,t]=m.useState(!1),[l,o]=m.useState(null),d=a=>{var g;const s=(g=a.target.files)==null?void 0:g[0];if(!s)return;const v=new FileReader;v.onload=T=>{var C;return n(((C=T.target)==null?void 0:C.result)||"")},v.readAsText(s)},y=async()=>{if(r.trim()){t(!0),o(null);try{const a=await b.averbacaoAverbar({xml:r,tipoDocumento:i,motorista:c.motorista,placa:c.placa,origem:c.origem,destino:c.destino,valorCarga:Number(c.valorCarga)||0});o(a)}catch(a){o({status:"erro",message:a.message||"Falha na comunicação"})}finally{t(!1)}}};return e.jsxs("div",{className:"space-y-4",children:[e.jsx("p",{className:"text-sm",style:{color:"var(--page-text-secondary)"},children:"Envie o XML do CT-e, NF-e ou MDF-e para averbar a carga junto à seguradora via Averbei."}),e.jsxs("div",{className:"card space-y-4",children:[e.jsxs("div",{className:"flex items-center gap-3",children:[e.jsxs("select",{className:"input",style:{maxWidth:200},value:i,onChange:a=>u(a.target.value),children:[e.jsx("option",{value:"cte",children:"CT-e"}),e.jsx("option",{value:"nfe",children:"NF-e"}),e.jsx("option",{value:"mdfe",children:"MDF-e"}),e.jsx("option",{value:"smartdoc",children:"Outro documento"})]}),e.jsxs("label",{className:"btn-secondary flex items-center gap-2 cursor-pointer",children:[e.jsx(B,{className:"w-4 h-4"})," Carregar XML",e.jsx("input",{type:"file",accept:".xml",className:"hidden",onChange:d})]})]}),e.jsx("textarea",{className:"input font-mono text-xs",style:{textTransform:"none",minHeight:160},placeholder:"Cole o XML do documento aqui ou carregue um arquivo...",value:r,onChange:a=>n(a.target.value)}
1),e.jsxs("div",{className:"grid grid-cols-2 lg:grid-cols-5 gap-3",children:[e.jsx("input",{className:"input",placeholder:"Motorista",value:c.motorista,onChange:a=>x(s=>({...s,motorista:a.target.value}))}),e.jsx("input",{className:"input",placeholder:"Placa",value:c.placa,onChange:a=>x(s=>({...s,placa:a.target.value}))}),e.jsx("input",{className:"input",placeholder:"Origem",value:c.origem,onChange:a=>x(s=>({...s,origem:a.target.value}))}),e.jsx("input",{className:"input",placeholder:"Destino",value:c.destino,onChange:a=>x(s=>({...s,destino:a.target.value}))}),e.jsx("input",{className:"input",type:"number",placeholder:"Valor carga R$",value:c.valorCarga,onChange:a=>x(s=>({...s,valorCarga:a.target.value}))})]}),e.jsxs("div",{className:"flex items-center justify-between",children:[e.jsx("p",{className:"text-xs",style:{color:"var(--page-text-muted)"},children:"O XML será enviado à Averbei para processamento. O protocolo será salvo automaticamente."}),e.jsxs("button",{onClick:y,disabled:p||!r.trim(),className:"btn-primary flex items-center gap-2",children:[p?e.jsx(N,{className:"w-4 h-4 animate-spin"}):e.jsx(R,{className:"w-4 h-4"})," Averbar Carga"]})]})]}),l&&e.jsxs("div",{className:h("card",l.status==="averbado"?"border-emerald-500/30":"border-red-500/30"),style:{borderWidth:2},children:[e.jsxs("div",{className:"flex items-center gap-3 mb-3",children:[l.status==="averbado"?e.jsx(D,{className:"w-6 h-6 text-emerald-500"}):e.jsx(E,{className:"w-6 h-6 text-red-500"}),e.jsx("h3",{className:"font-semibold",style:{color:"var(--page-text)"},children:l.status==="averbado"?"Averbação Realizada com Sucesso":"Erro na Averbação"})]}),e.jsxs("div",{className:"grid grid-cols-2 lg:grid-cols-4 gap-3 text-sm",children:[l.protocol&&e.jsxs("div",{children:[e.jsx("span",{className:"label text-xs",children:"Protocolo"}),e.jsx("p",{className:"font-mono text-xs mt-1",style:{color:"var(--page-text)"},children:l.protocol})]}),l.averbationNumber&&e.jsxs("div",{children:[e.jsx("span",{className:"label text-xs",children:"Nº Averbação"}),e.jsx("p",{className:"font-mono text-xs mt-1",style:{color:"var(--accent-brand)"},children:l.averbationNumber})]}),l.fileId&&e.jsxs("div",{children:[e.jsx("span",{className:"label text-xs",children:"File ID"}),e.jsx("p",{className:"font-mono text-xs mt-1",style:{color:"var(--page-text)"},children:l.fileId})]}),l.message&&e.jsxs("div",{children:[e.jsx("span",{className:"label text-xs",children:"Mensagem"}),e.jsx("p",{className:"text-xs mt-1",style:{color:"var(--page-text-secondary)"},children:l.message})]})]})]})]})}function U(){const{data:r,loading:n,error:i,refetch:u}=S(()=>b.averbacaoHistorico(),[]),[c,x]=m.useState(""),p=(r||[]).filter(t=>{if(!c)return!0;const l=c.toLowerCase();return(t.motorista||"").toLowerCase().includes(l)||(t.placa||"").toLowerCase().includes(l)||(t.averbationNumber||"").includes(l)||(t.protocol||"").includes(l)});return e.jsxs("div",{className:"space-y-4",children:[e.jsxs("div",{className:"flex items-center gap-3",children:[e.jsxs("div",{className:"relative flex-1",children:[e.jsx(_,{className:"absolute left-3 top-1/2 -translate-y-1/2 w-4 h-4",style:{color:"var(--page-text-muted)"}}),e.jsx("input",{className:"input pl-10",style:{textTransform:"none"},placeholder:"Buscar por motorista, placa, protocolo...",value:c,onChange:t=>x(t.target.value)})]}),e.jsx("button",{onClick:u,className:"btn-secondary",children:e.jsx(F,{className:"w-4 h-4"})})]}),n?e.jsx("div",{className:"flex justify-center py-12",children:e.jsx(N,{className:"w-6 h-6 animate-spin text-brand-500"})}):i?e.jsx(A,{error:i,onRetry:u}):p.length===0?e.jsxs("div",{className:"card text-center py-12",children:[e.jsx(k,{className:"w-10 h-10 mx-auto mb-3",style:{color:"var(--page-text-muted)"}}),e.jsx("p",{className:"font-medium",style:{color:"var(--page-text)"},children:"Nenhuma averbação encontrada"}),e.jsx("p",{className:"text-sm mt-1",style:{color:"var(--page-text-muted)"},children:'Use a aba "Averbar" para enviar seu primeiro XML.'})]}):e.jsx("div",{className:"card p-0 overflow-hidden",children:e.jsxs("table",{className:"w-full text-sm",children:[e.jsx("thead",{children:e.jsxs("tr",{style:{borderBottom:"1px solid var(--border-primary)"},children:[e.jsx("th",{className:"text-left px-4 py-3 text-xs font-medium uppercase",style:{color:"var(--page-text-muted)",background:"var(--surface-tertiary)"},children:"Status"}),e.jsx("th",{className:"text-left px-4 py-3 text-xs font-medium uppercase",style:{color:"var(--page-text-muted)",background:"var(--surface-tertiary)"},children:"Documento"}),e.jsx("th",{className:"text-left px-4 py-3 text-xs font-medium uppercase",style:{color:"var(--page-text-muted)",background:"var(--surface-tertiary)"},children:"Rota"}),e.jsx("th",{className:"text-left px-4 py-3 text-xs font-medium uppercase",style:{color:"var(--page-text-muted)",background:"var(--surface-tertiary)"},children:"Nº Averbação"}),e.jsx("th",{className:"text-left px-4 py-3 text-xs font-medium uppercase",style:{color:"var(--page-text-muted)",background:"var(--surface-tertiary)"},children:"Data"})]})}),e.jsx("tbody",{children:p.map(t=>e.jsxs("tr",{style:{borderBottom:"1px solid var(--border-primary)"},children:[e.jsx("td",{className:"px-4 py-3",children:e.jsx("span",{className:h("badge",t.status==="averbado"?"badge-success":t.status==="cancelado"?"badge-neutral":"badge-danger"),children:t.status==="averbado"?"Averbado":t.status==="cancelado"?"Cancelado":"Erro"})}),e.jsx("td",{className:"px-4 py-3",children:e.jsx("span",{className:"badge badge-info",children:(t.tipoDocumento||"cte").toUpperCase()})}),e.jsxs("td",{className:"px-4 py-3",style:{color:"var(--page-text)"},children:[e.jsxs("p",{className:"font-medium",children:[t.motorista||"â"," · ",t.placa||"â"]}
1),e.jsxs("p",{className:"text-xs",style:{color:"var(--page-text-muted)"},children:[t.origem||"?"," â ",t.destino||"?"]})]}),e.jsx("td",{className:"px-4 py-3 font-mono text-xs",style:{color:"var(--accent-brand)"},children:t.averbationNumber?t.averbationNumber.slice(-20):"â"}),e.jsx("td",{className:"px-4 py-3 text-xs",style:{color:"var(--page-text-muted)"},children:f(t.createdAt)})]},t.id))})]})})]})}function J(){const[r,n]=m.useState("apolices");return e.jsxs("div",{className:"space-y-6 max-w-7xl",children:[e.jsxs("div",{className:"flex items-center gap-3",children:[e.jsx("div",{className:"p-2 rounded-lg",style:{background:"var(--sidebar-active-bg)"},children:e.jsx(j,{className:"w-6 h-6",style:{color:"var(--accent-brand)"}})}),e.jsxs("div",{children:[e.jsx("h1",{className:"text-2xl font-bold",style:{color:"var(--page-text)"},children:"Seguros & Averbação"}),e.jsx("p",{className:"text-sm",style:{color:"var(--page-text-secondary)"},children:"Apólices, averbação de carga via Averbei e histórico de protocolos"})]})]}),e.jsx("div",{className:"flex gap-0 overflow-x-auto",style:{borderBottom:"2px solid var(--border-primary)"},children:[{id:"apolices",label:"Apólices",icon:j},{id:"averbar",label:"Averbar Carga",icon:R},{id:"historico",label:"Histórico",icon:k}].map(i=>e.jsxs("button",{onClick:()=>n(i.id),className:"flex items-center gap-2 px-5 py-3 text-sm font-medium transition-all whitespace-nowrap",style:{color:r===i.id?"var(--accent-brand)":"var(--page-text-muted)",borderBottom:r===i.id?"2px solid var(--accent-brand)":"2px solid transparent",marginBottom:"-2px"},children:[e.jsx(i.icon,{className:"w-4 h-4"})," ",i.label]},i.id))}),r==="apolices"&&e.jsx(V,{}),r==="averbar"&&e.jsx(P,{}),r==="historico"&&e.jsx(U,{})]})}export{J 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.