# Central de Notificacoes

## Rota

- `/adm/notificacoes`

## O que e

Central administrativa para operar inbox, preferencias, entregas por canal, analytics e avisos internos do painel.

## Para que serve

- acompanhar notificacoes recebidas pelo usuario atual;
- marcar itens como lidos, nao lidos ou remover registros da inbox;
- revisar payload e canais usados em cada notificacao;
- configurar preferencias por tipo e por canal;
- acompanhar saude de entrega de `inapp`, `email`, `whatsapp`, `sms` e `push`;
- disparar avisos internos para admins, devs ou ambos, com controle de banner, modal, toast e push;
- auditar quem confirmou leitura e quem ainda esta pendente em cada aviso interno.

## Blocos principais

- KPIs gerais do inbox, volume, falhas e tipos ativos;
- card de `Push Web` para habilitar e testar FCM no navegador atual;
- card de `Aviso manual` com composicao do comunicado interno;
- KPIs dos avisos internos com ativos, urgentes, pendencias e taxa de leitura;
- historico recente de avisos com filtros, reaproveitamento e auditoria de confirmacoes;
- aba `Inbox` com filtros, lista, selecao em lote e detalhe da notificacao;
- aba `Preferencias` com switches por tipo e canal;
- aba `Canais / Entregas` com saude operacional, falhas recentes e grade de envios;
- aba `Visao Geral` com resumos por tipo, canal e agregado geral.

## Botoes do topo

- `Atualizar`: recarrega KPIs, inbox, preferencias, canais e historico de avisos;
- `Marcar todas lidas`: confirma leitura em massa das notificacoes do escopo atual.

## Acoes importantes da tela

- `Enviar aviso`: cria o broadcast interno para o publico selecionado;
- `Atualizar historico`: recarrega os avisos manuais enviados;
- `Filtrar` e `Limpar`: refinam o historico de avisos por busca, publico, tom, periodo e pendencias;
- `Ver confirmacoes`: mostra quem confirmou leitura do aviso;
- `Ver publico`: separa destinatarios confirmados e pendentes;
- `Reutilizar`: traz um aviso anterior de volta para o formulario;
- acoes de `Ler`, `Nao lida`, `Excluir` e operacoes em lote no inbox;
- acoes de `Ativar neste navegador`, `Enviar push de teste`, `Atualizar status` e `Desativar neste navegador` no bloco de push.

## Observacoes

- a area de avisos internos e a visao global dependem de perfil administrativo com escopo ampliado;
- os avisos usam o tipo `manual_team_announcement` e podem aparecer como banner global, modal, toast e push;
- a confirmacao de `Entendi` gera trilha de auditoria com origem da leitura;
- para historico e auditoria completos no banco, a instalacao precisa ter as migrations de broadcasts e acknowledgement aplicadas.
