feat(frontend): Relatórios (Filas/Agentes/Campanhas/IA) + PHASE 28 security review
Quatro páginas novas em /app/relatorios/*, uma rota por relatório (não abas de uma página só, pra não quebrar o realce de "ativo" da sidebar quando vários itens de menu apontam pro mesmo relatório) — reusa os endpoints de reports que já existiam desde as fases de CDR/AI, nenhum backend novo. Security quality gate (agente.md secao 224): revisão dedicada sobre todo o diff desde origin/main (billing + frontend inteiro, 7 commits) não achou nenhuma vulnerabilidade de alta confiança. Suítes de teste de isolamento multi-tenant, autenticação/RBAC e rating engine reexecutadas do zero e verdes. TODO.md documenta o escopo real ainda faltando (Agentes bloqueado por falta de endpoint de listagem de usuários, Dialplan, Monitoramento em tempo real, Gravações, IA CRUD, Relatórios > Chamadas/Consumo) em vez de alegar a aplicação "finalizada". Co-Authored-By: Claude Sonnet 5 <noreply@anthropic.com> Claude-Session: https://claude.ai/code/session_01BFaBaBSQGhyXGEgtTYZGV8
This commit is contained in:
@@ -95,12 +95,39 @@ export const TENANT_NAV: NavSection[] = [
|
||||
{
|
||||
label: "IA",
|
||||
icon: Sparkles,
|
||||
children: [{ label: "Análises" }, { label: "Scorecards" }, { label: "Prompts" }, { label: "Configurações" }],
|
||||
children: [
|
||||
{
|
||||
label: "Análises",
|
||||
href: "/app/relatorios/ia",
|
||||
description: "Dashboard de IA — score, sentimento, assuntos, compliance",
|
||||
},
|
||||
{ label: "Scorecards" },
|
||||
{ label: "Prompts" },
|
||||
{ label: "Configurações" },
|
||||
],
|
||||
},
|
||||
{
|
||||
label: "Relatórios",
|
||||
icon: BarChart3,
|
||||
children: [{ label: "Chamadas" }, { label: "Agentes" }, { label: "Filas" }, { label: "Campanhas" }, { label: "Consumo" }],
|
||||
children: [
|
||||
{ label: "Chamadas" },
|
||||
{
|
||||
label: "Agentes",
|
||||
href: "/app/relatorios/agentes",
|
||||
description: "Tempo logado/pausado/em chamada e TMA por agente",
|
||||
},
|
||||
{
|
||||
label: "Filas",
|
||||
href: "/app/relatorios/filas",
|
||||
description: "Recebidas/atendidas/abandonadas, TME/TMA, Service Level",
|
||||
},
|
||||
{
|
||||
label: "Campanhas",
|
||||
href: "/app/relatorios/campanhas",
|
||||
description: "Leads, tentativas, taxas de atendimento e contato",
|
||||
},
|
||||
{ label: "Consumo" },
|
||||
],
|
||||
},
|
||||
{
|
||||
label: "Administração",
|
||||
|
||||
Reference in New Issue
Block a user