import React from 'react'; import { useFinanceiroPainel } from '../../hooks/useFinanceiroPainel'; import { CurrencyDollarIcon, ArrowDownCircleIcon, ArrowUpCircleIcon } from '@heroicons/react/24/solid'; export const PainelFinanceiro: React.FC = () => { const hoje = new Date(); const [mes, setMes] = React.useState(hoje.getMonth() + 1); const [ano, setAno] = React.useState(hoje.getFullYear()); const { data, isLoading, error } = useFinanceiroPainel(mes, ano); const mesesNomes = ['Jan', 'Fev', 'Mar', 'Abr', 'Mai', 'Jun', 'Jul', 'Ago', 'Set', 'Out', 'Nov', 'Dez']; return (

Painel Financeiro

{mesesNomes[mes - 1]}/{ano}
{isLoading &&
Carregando dados financeiros...
} {error &&
Erro ao buscar dados financeiros
} {data && (
Honorários a receber R$ {data.honorariosAReceber.toLocaleString('pt-br', { minimumFractionDigits: 2 })}
Honorários recebidos no mês R$ {data.honorariosRecebidosMes.toLocaleString('pt-br', { minimumFractionDigits: 2 })}
Custas a pagar R$ {data.custasAPagar.toLocaleString('pt-br', { minimumFractionDigits: 2 })}
Custas pagas no mês R$ {data.custasPagasMes.toLocaleString('pt-br', { minimumFractionDigits: 2 })}
)} {data && (

Honorários recebidos no mês

    {data.detalhesHonorarios.length === 0 &&
  • Nenhum recebimento registrado neste mês.
  • } {data.detalhesHonorarios.map((item, idx) => (
  • Contrato: {item.contrato?.processoId || 'N/A'} Parcela: {item.parcela?.numeroParcela || 'N/A'} - Valor: R$ {Number(item.parcela?.valorPago || item.parcela?.valor || 0).toLocaleString('pt-br', { minimumFractionDigits: 2 })} Pago em: {item.parcela?.dataPagamento ? new Date(item.parcela.dataPagamento).toLocaleDateString('pt-br') : '-'}
  • ))}

Custas pagas no mês

    {data.detalhesCustas.length === 0 &&
  • Nenhuma custa paga neste mês.
  • } {data.detalhesCustas.map((c, idx) => (
  • Processo: {c.processoId || 'N/A'} Tipo: {c.tipo || 'N/A'} - Valor: R$ {Number(c.valor || 0).toLocaleString('pt-br', { minimumFractionDigits: 2 })} Pago em: {c.dataPagamento ? new Date(c.dataPagamento).toLocaleDateString('pt-br') : '-'}
  • ))}
)}
); };