1import{m as q,r as o,j as e,A as V,G as L,g as M,o as P,Y as W,D as G,h as H,R as U}from"./index-DEXqc8fB.js";import{A as Y,m as N}from"./AvisoFalha-LbRQ-MD5.js";import{u as J}from"./usePrestadorDoOrgao-DDKzr_Kv.js";import{C as K}from"./check-check-CNH2O1Q6.js";import{T as z}from"./triangle-alert-CEfUEOmw.js";import{F as Q}from"./filter-Cb_a2YFK.js";import{C as X}from"./check-Dh9PjDq6.js";import{F as Z}from"./file-warning-OD7zMX6d.js";import{W as ee}from"./wallet-DEeDSAOh.js";import{B as te}from"./ban-Bf7d9TrT.js";import{I as ae}from"./info-0ism7mr2.js";const I={prazo_prestacao:"Prazo de Prestação",diretorio_bloqueado:"Diretório Bloqueado",conta_sem_movimento:"Conta sem Movimento",conciliacao_pendente:"Conciliação Pendente",prestacao_rejeitada:"Prestação Rejeitada",lancamento_pendente:"Lançamento Pendente",saldo_baixo:"Saldo Baixo",documento_vencendo:"Documento Vencendo"},se={baixa:"Baixa",media:"Média",alta:"Alta",critica:"CrÃtica"},re={prazo_prestacao:{icon:M,color:"yellow"},diretorio_bloqueado:{icon:te,color:"red"},conta_sem_movimento:{icon:ee,color:"slate"},conciliacao_pendente:{icon:U,color:"blue"},prestacao_rejeitada:{icon:H,color:"red"},lancamento_pendente:{icon:G,color:"orange"},saldo_baixo:{icon:z,color:"orange"},documento_vencendo:{icon:Z,color:"yellow"}};function ge(){const{prestadorId:k}=J(),p=q(),[v,d]=o.useState([]),[c,g]=o.useState(0),[m,u]=o.useState(0),[D,w]=o.useState(!0),[f,i]=o.useState(null),[_,y]=o.useState(null),[l,x]=o.useState(""),[n,b]=o.useState(!1),[h,C]=o.useState(1),j=localStorage.getItem("token"),$=async()=>{w(!0);try{const t=new URLSearchParams;l&&t.append("tipo",l),n&&t.append("apenas_nao_lidos","true"),t.append("page",String(h)),t.append("size","50");const a=await fetch(`/api/v1/financeiro/alertas?${t}`,{headers:{Authorization:`Bearer ${j}`}});if(!a.ok){d([]),g(0),i(await N(a,"os alertas do financeiro"));return}const s=await a.json();d(s.items),g(s.total),u(s.items.filter(r=>!r.lido).length),i(null)}catch(t){d([]),g(0),i(`Nao consegui falar com o servidor: ${t.message}`)}finally{w(!1)}};o.useEffect(()=>{$()},[l,n,h]);const B=async t=>{y(t);try{const a=await fetch(`/api/v1/financeiro/alertas/${t}/marcar-lido`,{method:"POST",headers:{Authorization:`Bearer ${j}`}});if(!a.ok){i(await N(a,"a marcacao do alerta como lido"));return}d(s=>s.map(r=>r.id===t?{...r,lido:!0,lido_em:new Date().toISOString()}:r)),u(s=>Math.max(0,s-1))}catch(a){i(`Nao consegui falar com o servidor: ${a.message}`)}finally{y(null)}},O=async()=>{if(!k)return;const t=String(k);if(t)try{const a=await fetch(`/api/v1/financeiro/alertas/marcar-todos-lidos?prestador_id=${t}`,{method:"POST",headers:{Authorization:`Bearer ${j}`}});if(!a.ok){i(await N(a,"a marcacao de todos os alertas como lidos"));return}d(s=>s.map(r=>({...r,lido:!0,lido_em:new Date().toISOString()}))),u(0)}catch(a){i(`Nao consegui falar com o servidor: ${a.message}`)}},R=t=>{const a=new Date(t),r=new Date().getTime()-a.getTime(),S=Math.floor(r/6e4),A=Math.floor(r/36e5),T=Math.floor(r/864e5);return S<60?`${S}min atras`:A<24?`${A}h atras`:T<7?`${T}d atras`:a.toLocaleDateString("pt-BR")},F=t=>{const a={baixa:{bg:"bg-slate-500/10",text:"text-slate-400",border:"border-slate-500/20"},media:{bg:"bg-blue-500/10",text:"text-blue-400",border:"border-blue-500/20"},alta:{bg:"bg-orange-500/10",text:"text-orange-400",border:"border-orange-500/20"},critica:{bg:"bg-red-500/10",text:"text-red-400",border:"border-red-500/20"}};return a[t]||a.media},E=t=>{const a=re[t]||{icon:ae,color:"slate"},s={red:{bg:"bg-red-500/10",text:"text-red-400"},orange:{bg:"bg-orange-500/10",text:"text-orange-400"},yellow:{bg:"bg-yellow-500/10",text:"text-yellow-400"},blue:{bg:"bg-blue-500/10",text:"text-blue-400"},slate:{bg:"bg-slate-500/10",text:"text-slate-400"}};return{Icon:a.icon,...s[a.color]||s.slate}};return e.jsxs("div",{className:"min-h-screen bg-gradient-to-br from-slate-50 to-slate-100 dark:from-slate-900 dark:to-slate-800",children:[e.jsx("div",{className:"bg-white dark:bg-slate-800 border-b border-slate-200 dark:border-slate-700 px-6 py-4",children:e.jsxs("div",{className:"max-w-4xl mx-auto flex items-center justify-between",children:[e.jsxs("button",{onClick:()=>p("/financeiro/hub"),className:"flex items-center gap-2 text-slate-500 hover:text-slate-800 dark:text-slate-400 dark:hover:text-slate-200 transition-colors",children:[e.jsx(V,{size:20}),e.jsx("span",{className:"font-medium",children:"Voltar"})]}),m>0&&e.jsxs("button",{onClick:O,className:"flex items-center gap-2 text-sm text-slate-500 hover:text-emerald-600 dark:text-slate-400 dark:hover:text-emerald-400 transition-colors",children:[e.jsx(K,{size:16}),"Marcar todas como lidas"]})]})}),e.jsxs("div",{className:"max-w-4xl mx-auto p-6",children:[e.jsxs("div",{className:"mb-6",children:[e.jsxs("h1",{className:"text-2xl font-bold text-slate-800 dark:text-white flex items-center gap-3","data-tour":"alertas-titulo",children:[e.jsx("div",{className:"w-10 h-10 bg-gradient-to-br from-amber-500 to-amber-600 rounded-xl flex items-center justify-center",children:e.jsx(L,{size:20,className:"text-white"})}),"Alertas Financeiros"]}),e.jsx("p",{className:"text-slate-500 dark:text-slate-400 mt-1",children:f?"nao consigo confirmar quantos alertas existem":`${m>0?`${m} nao lido${m>1?"s":""}`:"Todos os alertas lidos"} ⢠${c} total`})]}),f&&e.jsx("div",{className:"mb-6",children:e.jsx(Y,{motivo:f,onTentarDeNovo:$})}),e.jsxs("div",{className:"grid grid-cols-4 gap-4 mb-6",children:[e.jsxs("button",{onClick:()=>{x(""),b(!1)},className:`bg-white dark:bg-slate-800 rounded-xl border p-4 text-left transition-all hover:shadow-md ${!l&&!n?"border-emerald-500 ring-1 ring-emerald-500/20":"border-slate-200 dark:border-slate-700"}`,children:[e.jsx("p",{className:"text-2xl font-bold text-slate-800 dark:text-white",children:c}),e.jsx("p",{className:"text-sm text-slate-500",children:"Total"})]}),e.jsxs("button",{onClick:()=>b(!0),className:`bg-white dark:bg-slate-800 rounded-xl border p-4 text-left transition-all hover:shadow-md ${n?"border-blue-500 ring-1 ring-blue-500/20":"border-slate-200 dark:border-slate-700"}`,children:[e.jsx("p",{className:"text-2xl font-bold text-blue-600",children:m}),e.jsx("p",{className:"text-sm text-slate-500",children:"Nao lidos"})]}),e.jsxs("button",{onClick:()=>x("prazo_prestacao"),className:`bg-white dark:bg-slate-800 rounded-xl border p-4 text-left transition-all hover:shadow-md ${l==="prazo_prestacao"?"border-yellow-500 ring-1 ring-yellow-500/20":"border-slate-200 dark:border-slate-700"}`,children:[e.jsx(M,{size:24,className:"text-yellow-500 mb-1"}),e.jsx("p",{className:"text-sm text-slate-500",children:"Prazos"})]}),e.jsxs("button",{onClick:()=>x("saldo_baixo"),className:`bg-white dark:bg-slate-800 rounded-xl border p-4 text-left transition-all hover:shadow-md ${l==="saldo_baixo"?"border-orange-500 ring-1 ring-orange-500/20":"border-slate-200 dark:border-slate-700"}`,children:[e.jsx(z,{size:24,className:"text-orange-500 mb-1"}),e.jsx("p",{className:"text-sm text-slate-500",children:"Saldo baixo"})]})]}),e.jsxs("div",{className:"flex gap-4 mb-6",children:[e.jsxs("div",{className:"relative",children:[e.jsx(Q,{size:16,className:"absolute left-3 top-1/2 -translate-y-1/2 text-slate-400"}
1),e.jsxs("select",{value:l,onChange:t=>x(t.target.value),className:"pl-9 pr-4 py-2 bg-white dark:bg-slate-800 border border-slate-200 dark:border-slate-700 rounded-lg text-sm appearance-none cursor-pointer",children:[e.jsx("option",{value:"",children:"Todos os tipos"}),Object.entries(I).map(([t,a])=>e.jsx("option",{value:t,children:a},t))]})]}),e.jsxs("label",{className:"flex items-center gap-2 cursor-pointer",children:[e.jsx("input",{type:"checkbox",checked:n,onChange:t=>b(t.target.checked),className:"w-4 h-4 rounded border-slate-300 text-emerald-600 focus:ring-emerald-500"}),e.jsx("span",{className:"text-sm text-slate-600 dark:text-slate-300",children:"Apenas nao lidos"})]}),(l||n)&&e.jsx("button",{onClick:()=>{x(""),b(!1)},className:"text-sm text-slate-500 hover:text-slate-700 dark:hover:text-slate-300",children:"Limpar filtros"})]}),e.jsx("div",{className:"space-y-3",children:D?e.jsxs("div",{className:"text-center py-12",children:[e.jsx(P,{className:"w-8 h-8 animate-spin text-emerald-500 mx-auto"}),e.jsx("p",{className:"text-slate-500 mt-2",children:"Carregando alertas..."})]}):v.length===0?e.jsxs("div",{className:"text-center py-12 bg-white dark:bg-slate-800 rounded-xl border border-slate-200 dark:border-slate-700",children:[e.jsx(L,{className:"w-12 h-12 text-slate-300 dark:text-slate-600 mx-auto mb-4"}),e.jsx("p",{className:"text-slate-500 dark:text-slate-400",children:"Nenhum alerta encontrado"}),e.jsx("p",{className:"text-slate-400 dark:text-slate-500 text-sm mt-1",children:l||n?"Tente ajustar os filtros":"Voce esta em dia!"})]}):v.map(t=>{const a=E(t.tipo),s=F(t.prioridade),r=a.Icon;return e.jsx("div",{className:` 2 bg-white dark:bg-slate-800 rounded-xl border p-4 transition-all 3 ${t.lido?"border-slate-200 dark:border-slate-700 opacity-70":"border-slate-200 dark:border-slate-600 shadow-sm"} 4 `,children:e.jsxs("div",{className:"flex items-start gap-4",children:[e.jsx("div",{className:`w-10 h-10 rounded-lg flex items-center justify-center flex-shrink-0 ${a.bg}`,children:e.jsx(r,{className:`w-5 h-5 ${a.text}`})}),e.jsxs("div",{className:"flex-1 min-w-0",children:[e.jsxs("div",{className:"flex items-start justify-between gap-4",children:[e.jsxs("div",{children:[e.jsx("h3",{className:`font-medium ${t.lido?"text-slate-500 dark:text-slate-400":"text-slate-800 dark:text-white"}`,children:t.titulo}),e.jsx("p",{className:"text-sm text-slate-500 dark:text-slate-400 mt-1",children:t.mensagem})]}),t.prioridade!=="baixa"&&e.jsx("span",{className:`px-2 py-0.5 rounded text-xs font-medium flex-shrink-0 ${s.bg} ${s.text}`,children:se[t.prioridade]})]}),e.jsxs("div",{className:"flex items-center justify-between mt-3",children:[e.jsxs("div",{className:"flex items-center gap-3 text-xs text-slate-400",children:[e.jsx("span",{children:R(t.created_at)}),t.prestador_nome&&e.jsxs(e.Fragment,{children:[e.jsx("span",{children:"â¢"}),e.jsx("span",{children:t.prestador_nome})]}),e.jsx("span",{children:"â¢"}),e.jsx("span",{className:a.text,children:I[t.tipo]})]}),e.jsxs("div",{className:"flex items-center gap-1",children:[t.entidade_tipo&&t.entidade_id&&e.jsx("button",{onClick:()=>{t.entidade_tipo==="prestacao"?p(`/financeiro/spca/${t.entidade_id}`):t.entidade_tipo==="lancamento"&&p("/financeiro/lancamentos")},className:"p-1.5 hover:bg-slate-100 dark:hover:bg-slate-700 rounded text-slate-400 hover:text-slate-600 dark:hover:text-slate-300",title:"Ver detalhes",children:e.jsx(W,{className:"w-4 h-4"})}),!t.lido&&e.jsx("button",{onClick:()=>B(t.id),disabled:_===t.id,className:"p-1.5 hover:bg-emerald-50 dark:hover:bg-emerald-900/20 rounded text-slate-400 hover:text-emerald-600 disabled:opacity-50",title:"Marcar como lido",children:_===t.id?e.jsx(P,{className:"w-4 h-4 animate-spin"}):e.jsx(X,{className:"w-4 h-4"})})]})]})]}),!t.lido&&e.jsx("div",{className:"w-2 h-2 bg-blue-500 rounded-full flex-shrink-0 mt-2"})]})},t.id)})}),c>50&&e.jsxs("div",{className:"flex justify-center gap-2 mt-6",children:[e.jsx("button",{onClick:()=>C(t=>Math.max(1,t-1)),disabled:h===1,className:"px-4 py-2 bg-white dark:bg-slate-800 border border-slate-200 dark:border-slate-700 rounded-lg disabled:opacity-50",children:"Anterior"}
4),e.jsxs("span",{className:"px-4 py-2 text-slate-600 dark:text-slate-300",children:["Pagina ",h," de ",Math.ceil(c/50)]}),e.jsx("button",{onClick:()=>C(t=>t+1),disabled:h>=Math.ceil(c/50),className:"px-4 py-2 bg-white dark:bg-slate-800 border border-slate-200 dark:border-slate-700 rounded-lg disabled:opacity-50",children:"Proxima"})]})]})]})}export{ge 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.