Files

2.3 KiB
Raw Permalink Blame History

09 — Painel administrativo

Contexto do projeto (leia sempre)

Sistema web "Briefing de Site" da SeConectai: o cliente se cadastra e depois preenche o briefing de criação do site, com um botão Ajuda em cada pergunta que abre um popup com o texto do guia auxiliar. O dono (Tiago) acompanha tudo por um painel admin. Stack fixa: Next.js 14+ (App Router) + TypeScript, PostgreSQL 16, Prisma, Tailwind + shadcn/ui, React Hook Form + Zod, Auth.js v5 (Credentials, estratégia JWT), Docker Compose. Idioma da interface: pt-BR. Regras gerais: leia 00-arquitetura-briefing-site.md e 99-progresso.md antes de começar; não avance se a etapa anterior estiver incompleta; ao terminar, devolva o 99-progresso.md atualizado. Não invente dependências fora da stack. Nada de senhas de clientes em lugar nenhum.

Pré-requisito

Etapas 01–08 concluídas.

Tarefa

Área /admin (somente ADMIN, checado no middleware e em cada server action):

  1. Início: contadores (briefings por status, novos nos últimos 7 dias) e últimos envios.
  2. Clientes /admin/clientes: tabela com busca (nome, e-mail, WhatsApp, CNPJ, razão social) e filtro PF/PJ; detalhe do cliente com dados cadastrais e seus briefings. CPF exibido mascarado (***.123.456-**) e só revelado completo por botão "Mostrar CPF" que registra o acesso em auditoria (AuditoriaAcesso: adminId, clienteId, ação, data — migration 0003).
  3. Briefings /admin/briefings/[id]: todas as respostas por seção (em modo leitura, com as opções marcadas e o complemento), anexos com download, linha do tempo de status. Ações: mudar status (ENVIADO → EM_ANALISE → CONCLUIDO), reabrir para edição, adicionar nota interna (NotaInterna, invisível ao cliente).
  4. Perguntas /admin/perguntas: editar rótulo, dica, textos de ajuda (o que responder / por que perguntamos / mini exemplo), ordem, ativo e obrigatória, sem mexer em código. Desativar uma pergunta nunca apaga respostas já dadas.
  5. Link de WhatsApp (wa.me) no detalhe do cliente para contato rápido.

Critérios de aceite

  • Usuário CLIENTE não acessa nenhuma rota/ação admin (testar chamada direta).
  • Editar um texto de ajuda reflete no popup do cliente imediatamente.
  • Reabrir briefing preserva respostas e anexos.
  • Revelar CPF gera registro de auditoria.

Atualize 99-progresso.md (09).