# IA do Painel Administrativo e Fluxos do Cliente

## Objetivo

Definir a arquitetura de informacao do painel administrativo do CMS e os fluxos centrais para clientes finais nao tecnicos. Este documento serve como referencia de UX para a implementacao da fase administrativa, reduzindo ambiguidade sobre navegacao, priorizacao de modulos, padroes de listagem e formularios.

## Principios de produto

- O painel deve privilegiar tarefas frequentes de conteudo antes de configuracoes raras.
- A linguagem precisa ser editorial e operacional, nunca tecnica por padrao.
- O sistema deve expor apenas o necessario para cada papel, com avancado progressivamente revelado.
- Toda tela principal deve responder a uma pergunta objetiva do cliente: o que existe, o que precisa de atencao e qual a proxima acao segura.
- Estados vazios precisam ensinar o primeiro passo, nao apenas informar ausencia de dados.

## Perfil operacional considerado

- `super_admin`: configura o projeto, gerencia usuarios, ajusta menus, taxonomias, auditoria e operacoes sensiveis.
- `editor`: opera conteudo, midia, taxonomias e menus sem acesso a configuracoes secretas.
- `author`: cria e atualiza rascunhos e envia conteudo para revisao, com acesso reduzido a configuracoes estruturais.

O painel deve nascer orientado a `editor` e `super_admin`, porque sao os perfis mais provaveis para clientes finais que administram sites institucionais pequenos.

## Arquitetura de informacao

### Navegacao primaria

Ordem do menu lateral:

1. Painel
2. Conteudo
3. Midia
4. Taxonomias
5. Menus
6. Usuarios
7. Configuracoes
8. Auditoria

Justificativas:

- `Painel` funciona como resumo operacional e ponto de retorno.
- `Conteudo`, `Midia` e `Taxonomias` concentram o trabalho cotidiano.
- `Menus` aparece apos o material editorial porque depende do conteudo ja criado.
- `Usuarios`, `Configuracoes` e `Auditoria` ficam por ultimo por serem tarefas menos frequentes e mais sensiveis.

### Estrutura de segundo nivel

#### 1. Painel

- Visao geral
- Rascunhos e itens pendentes
- Atividade recente
- Atalhos de criacao

#### 2. Conteudo

- Todos os conteudos
- Criar novo
- Rascunhos
- Publicados
- Agendados

#### 3. Midia

- Biblioteca
- Enviar arquivo
- Usados recentemente

#### 4. Taxonomias

- Categorias
- Tags
- Taxonomias customizadas

#### 5. Menus

- Locais de menu
- Estrutura do menu principal
- Estrutura do menu de rodape

#### 6. Usuarios

- Todos os usuarios
- Convidar usuario
- Papeis e permissoes

#### 7. Configuracoes

- Informacoes do site
- SEO basico
- Aparencia institucional
- Integracoes

#### 8. Auditoria

- Log de atividade
- Alteracoes sensiveis

## Regras de exposicao por papel

- `author` nao ve `Configuracoes`, `Usuarios` nem `Auditoria`.
- `editor` nao ve configuracoes secretas ou acoes destrutivas globais, mas acessa `Menus` e `Taxonomias`.
- `super_admin` ve tudo.
- Itens indisponiveis devem ser ocultados, nao apenas desabilitados, para reduzir ruido cognitivo.

## Padroes de tela

### Painel inicial

Blocos obrigatorios:

- resumo com total de rascunhos, publicados e itens aguardando revisao;
- lista curta de "Continue de onde parou";
- bloco de atividade recente com ator, acao e horario;
- atalhos para `Criar conteudo`, `Enviar midia` e `Editar menu principal`.

O painel nao deve virar parede de widgets. O objetivo e orientar a proxima tarefa em menos de 10 segundos.

### Listagens

Cada listagem administrativa deve seguir o mesmo contrato visual:

- titulo da tela com contagem total;
- CTA primario no topo direito;
- busca simples por texto;
- filtros rapidos logo abaixo do cabecalho;
- tabela principal com bulk actions opcionais;
- estado vazio com orientacao e CTA;
- paginacao simples com total de resultados.

Colunas minimas por dominio:

- `Conteudo`: titulo, status, autor, atualizado em, taxonomias principais.
- `Midia`: preview, nome, tipo, dimensoes/tamanho, usado em, enviado em.
- `Taxonomias`: nome, slug, quantidade de itens, atualizado em.
- `Menus`: nome do menu/local, quantidade de itens, atualizado em.
- `Usuarios`: nome, email, papel, ultimo acesso, status.
- `Auditoria`: data/hora, ator, recurso, acao, contexto.

Acoes por linha:

- primarias em texto contextual, como `Editar`, `Duplicar`, `Visualizar`;
- secundarias em menu overflow;
- destrutivas sempre separadas e confirmadas.

### Formularios

Padrao base:

- cabecalho com titulo da entidade e status atual;
- coluna principal para conteudo principal;
- coluna lateral para metadados e acoes;
- acoes persistentes no topo e no rodape em telas longas;
- autosave apenas para rascunhos, nunca para acoes destrutivas;
- feedback de erro inline por campo e resumo de erros no topo quando houver multiplos campos invalidos.

Agrupamento recomendado para formularios de conteudo:

1. Titulo e identificacao
2. Corpo do conteudo
3. Resumo/descricao curta
4. Categoria e tags
5. Imagem destacada
6. SEO basico
7. Status de publicacao

Agrupamento recomendado para formularios de configuracao:

1. Informacoes do site
2. Aparencia e identidade
3. SEO basico
4. Integracoes
5. Confirmacao para alteracoes sensiveis

## Fluxos centrais do cliente

### 1. Primeiro acesso ao painel

Objetivo: fazer o cliente entender rapidamente onde comeca.

Fluxo:

1. Login bem-sucedido.
2. Painel mostra boas-vindas curta e tres proximos passos.
3. Sistema prioriza atalhos para `Criar conteudo`, `Enviar logo/imagem` e `Revisar configuracoes basicas`.
4. Quando ainda nao houver conteudo, o estado vazio do painel explica a sequencia recomendada.

Regras:

- nao usar tour invasivo obrigatorio;
- mostrar ajuda contextual apenas na primeira sessao ou ate ser dispensada.

### 2. Criar e publicar um conteudo

Objetivo: fluxo principal de valor editorial.

Fluxo:

1. Cliente entra em `Conteudo > Criar novo`.
2. Preenche titulo e corpo.
3. Define categoria/tags em lateral ou secao secundaria.
4. Escolhe imagem destacada sem sair definitivamente do formulario.
5. Salva rascunho automaticamente e manualmente.
6. Publica ou agenda.
7. Recebe confirmacao com proximo passo: `Visualizar`, `Compartilhar` ou `Voltar para listagem`.

Regras:

- o CTA principal muda conforme estado: `Salvar rascunho`, `Atualizar`, `Publicar`, `Agendar`;
- preview publico deve abrir em nova aba;
- autor precisa saber se a publicacao ficou pendente de revisao ou ja esta ativa.

### 3. Organizar categorias e tags

Objetivo: evitar que a estrutura editorial force o cliente a entrar em telas tecnicas.

Fluxo:

1. Cliente acessa `Taxonomias`.
2. Ve listagem com contagem de uso.
3. Cria ou edita categoria/tag em formulario curto.
4. Retorna para a listagem com confirmacao clara do efeito.

Regras:

- o nome tecnico `slug` fica em avancado ou e gerado automaticamente;
- impedir exclusao silenciosa de taxonomias com conteudo associado.

### 4. Montar ou ajustar o menu principal

Objetivo: editar navegacao sem exigir modelo mental de arvore complexo.

Fluxo:

1. Cliente acessa `Menus > Estrutura do menu principal`.
2. Ve lista ordenavel com niveis visuais claros.
3. Pode adicionar links para paginas, categorias ou URL customizada.
4. Salva e recebe confirmacao com impacto descrito no frontend.

Regras:

- interacao drag-and-drop e util, mas deve coexistir com controles de mover para cima/baixo;
- profundidade maxima precisa ser explicita;
- itens invalidos ou ocultos no frontend precisam ser sinalizados.

### 5. Enviar e reutilizar midia

Objetivo: transformar a biblioteca em ferramenta de apoio, nao deposito opaco.

Fluxo:

1. Cliente entra em `Midia`.
2. Envia arquivo por arrastar/soltar ou seletor tradicional.
3. Sistema confirma processamento e mostra preview imediato.
4. Cliente pode reutilizar a midia ao editar conteudo sem perder contexto.

Regras:

- mostrar restricoes de formato/tamanho antes do upload;
- sempre que possivel, informar onde a midia esta sendo usada;
- a exclusao precisa avisar se o arquivo ainda esta referenciado.

### 6. Configurar dados basicos do site

Objetivo: permitir manutencao institucional sem expor configuracoes de infraestrutura.

Fluxo:

1. `super_admin` acessa `Configuracoes > Informacoes do site`.
2. Ajusta nome, descricao curta, dados de contato e SEO basico.
3. Salva.
4. Recebe confirmacao com escopo da alteracao.

Regras:

- segredos e integracoes criticas ficam isolados;
- alteracoes de alto impacto pedem confirmacao contextual.

## Estados especiais

### Estados vazios

- Devem explicar o valor da tela e oferecer um CTA unico.
- Exemplo em `Conteudo`: "Voce ainda nao criou conteudo. Comece por um rascunho."

### Erros

- Erro de validacao no proprio campo.
- Erro sistemico com resumo no topo e acao de recuperacao.
- Nunca depender apenas de cor para indicar falha.

### Confirmacoes

- Sempre dizer o efeito real: "Menu principal atualizado" e nao apenas "Salvo com sucesso".
- A confirmacao deve oferecer a proxima acao natural.

## Padroes de copy

- Preferir labels autoexplicativos como `Conteudos`, `Biblioteca de midia`, `Editar menu principal`.
- Evitar termos como `resource`, `entity`, `taxonomy term`, `payload`.
- Quando houver linguagem tecnica inevitavel, ela deve aparecer com apoio explicativo curto.

## Requisitos para a fase de implementacao

- A navegacao lateral precisa aceitar colapso sem esconder titulos no mobile.
- O painel deve funcionar bem em larguras a partir de 320 px, com prioridade para leitura e acoes primarias.
- A implementacao deve preservar consistencia entre listagens para reduzir custo de aprendizado.
- Os modulos da primeira entrega administrativa devem cobrir, no minimo, `Painel`, `Conteudo`, `Midia`, `Taxonomias`, `Menus` e `Configuracoes` basicas.

## Fora do escopo desta definicao

- workflow editorial complexo com multi-etapas de aprovacao;
- automacoes de notificacao;
- analytics avancado no painel;
- personalizacao profunda de dashboards por widget.

Esses itens podem surgir em fases futuras, mas nao devem contaminar a IA inicial voltada a clientes finais nao tecnicos.
