// Financeiro — 4 sub-tabs page. function PageFinanceiro({ onAction }) { const [tab, setTab] = React.useState("geral"); return (
{[ { id: "geral", l: "Visão Geral" }, { id: "despesas", l: "Despesas" }, { id: "receber", l: "Contas a Receber" }, { id: "pagamentos", l: "Pagamentos" }, ].map(t => ( ))}
{tab === "geral" && } {tab === "despesas" && } {tab === "receber" && } {tab === "pagamentos" && }
); } // ----- Visão Geral -------------------------------------------------------- function FinGeral() { return ( <>
Saídas do Mês
R$ 7.150,00
Pagamentos de equipeR$ 6.600,00
Outras despesasR$ 550,00
Recebido no Mês
R$ 11.500,00
faturas recebidas
A Receber
R$ 0,00
faturas abertas
Saldo Devedor Equipe
R$ 0,00
diaristas não pagos
Atalhos
{[ "Ver todas as despesas", "Gerenciar contas a receber", "Registrar pagamentos de equipe", "Histórico de pagamentos", ].map((s, i) => (
→ {s}
))}
Mensalistas ativos
Fernando Jose R$ 0,00/mês
); } // ----- Despesas ----------------------------------------------------------- const DESP_ROWS = [ { d: "07/05/2026", desc: "Aluguel Andaime", cat: { l: "Empresa", c: "gray" }, obra: "—", val: "R$ 550,00", action: "cancel" }, { d: "07/05/2026", desc: "Pagamento #005 — Referência 07/05/2026 a 07/05/2026", ref: "Pagamento #005", cat: { l: "Pagamento de Equipe", c: "purple" }, obra: "—", val: "R$ 850,00" }, { d: "07/05/2026", desc: "Pagamento #004 — Referência 01/05/2026 a 31/05/2026", ref: "Pagamento #004", cat: { l: "Pagamento de Equipe", c: "purple" }, obra: "—", val: "R$ 5.250,00" }, { d: "06/05/2026", desc: "Pagamento #003 — Referência 01/05/2026 a 06/05/2026", ref: "Pagamento #003", cat: { l: "Pagamento de Equipe", c: "purple" }, obra: "—", val: "R$ 500,00" }, { d: "28/04/2026", desc: "Pagamento #002 — Referência 01/04/2026 a 30/04/2026", ref: "Pagamento #002", cat: { l: "Pagamento de Equipe", c: "purple" }, obra: "—", val: "R$ 500,00" }, { d: "28/04/2026", desc: "Pagamento #001 — Referência 01/04/2026 a 30/04/2026", ref: "Pagamento #001", cat: { l: "Pagamento de Equipe", c: "purple" }, obra: "—", val: "R$ 250,00" }, ]; function FinDespesas({ onAction }) { const cols = "95px 2fr 130px 100px 110px 90px"; return (

Despesas

DataDescriçãoCategoriaObra/Local Valor
{DESP_ROWS.map((r, i) => (
{r.d}
{r.desc.split("Pagamento #").length > 1 ? <>{r.desc.split(r.ref || "").map((part, j, arr) => ( j < arr.length - 1 ? <>{part}{r.ref} : part ))} : r.desc}
{r.cat.l} {r.obra} {r.val} {r.action === "cancel" ? : Vinculado}
))}
Total (6 despesas) — esta página: 6 R$ 7.900,00
); } // ----- Contas a Receber --------------------------------------------------- function FinReceber({ onAction }) { const cols = "100px 1.7fr 1.3fr 130px 110px"; return ( <>
A Receber (abertas)
R$ 0,00
Recebido (total)
R$ 19.500,00
Total faturas
2

Faturas

DataObra / LocalPeríodo ValorStatus
{[ { d: "07/05/2026", obra: "Condomínio das Acácias", cli: "(Construtora FGR)", per: "01/05/2026 — 31/05/2026", v: "R$ 11.500,00" }, { d: "28/04/2026", obra: "Condomínio das Acácias", cli: "(Construtora FGR)", per: "01/04/2026 — 30/04/2026", v: "R$ 8.000,00" }, ].map((r, i) => (
{r.d} {r.obra} {r.cli} {r.per} {r.v} Recebida
))}
); } // ----- Pagamentos --------------------------------------------------------- function FinPagamentos({ onAction }) { const [sub, setSub] = React.useState("funcionarios"); return ( <>
{[{id:"funcionarios", l:"Funcionários"}, {id:"historico", l:"Histórico"}].map(s => ( ))}
Saldo Devedor Total
R$ 0,00
todos os funcionários · todos os períodos
Pago no Mês
R$ 6.600,00
pagamentos confirmados este mês

Diaristas

FuncionárioÚltimo pag.Período ref. Diárias pend.Saldo devedor
Filipe Freitas
Pedreiro
1 vale: −R$ 750,00
07/05/2026 01/05/2026 — 31/05/2026 1 dia Em dia

Mensalistas

FuncionárioÚltimo pag.Período ref. Salário baseSaldo devedor
Fernando Jose
Encarregado
07/05/2026 07/05/2026 — 07/05/2026 R$ 0,00/mês
); } window.PageFinanceiro = PageFinanceiro;