Preserve grouped navigation and Tempo presentation with visual review limitations
This commit is contained in:
@@ -0,0 +1,35 @@
|
||||
# Página inicial e menus agrupados
|
||||
|
||||
## Avaliação técnica e preservação local — 28/10/2026
|
||||
|
||||
A pedido do utilizador, preservar esta implementação num checkpoint exclusivamente local. Avaliação do agente: organização coerente com os destinos existentes, grupos filtrados por contexto, distinção entre consulta/preparação/validação, ausência de indicadores fictícios e identidade visual alinhada com as folhas públicas do InvesteMoz. Build, renderização por perfil e entrega HTTP aprovados. Esta é avaliação técnica do código e dos resultados automatizados, não aprovação visual pessoal do utilizador. Capturas e verificação visual/interactiva no Edge continuam indisponíveis; o checkpoint não as transforma em provas realizadas. Nenhum segredo ou dado privado incluído, sem push/publicação. Encerramento do ensaio de orçamento conferido em `04870f0` e `docs/INDUSTRIAL_BUDGET_ACCEPTANCE.md`, mantendo expressamente as limitações originais.
|
||||
|
||||
## Compatibilização visual com InvesteMoz — 28/10/2026
|
||||
|
||||
Por pedido posterior do utilizador, acrescentada `resources/css/tempo-theme.css`, importada depois dos estilos base do SGF. Referência conferida exclusivamente em leitura nas folhas de apresentação públicas `resources/css/app.css` e `resources/css/tempo-header.css` do portal-investidor: cabeçalho #090909, destaque #ed1c24, cinzentos neutros, superfície branca, bordas #e2e8f0 e raio de 10px. Não se acedeu a configurações privadas nem se alteraram ficheiros, dados ou serviços do InvesteMoz.
|
||||
|
||||
Aplicados ao SGF: navegação em carvão, marcador activo vermelho, botões principais vermelhos, cabeçalho/conteúdo claros, cartões neutros, hierarquia de títulos, campos e tabelas alinhados com a mesma linguagem visual. Grupos e destinos permanecem os autorizados, sem copiar menu público, marcas ou conteúdos do portal. Verde/âmbar/erro mantêm significado de estados, distinguindo-os da cor de marca. Instrument Sans é só preferência local, com fallback de sistema; nenhum tipo de letra ou recurso externo foi descarregado. Compilação aprovada com Vite 8.3.5 e diff sem erros. Sem nova prova visual no Edge: compatibilização fundamentada em CSS, com revisão visual manual ainda pendente.
|
||||
|
||||
Verificação HTTP posterior: na instância `8002`, diagnóstico confirmou `browser-testing`/`sgf_tempo_test`; página inicial, JavaScript e CSS responderam 200. O HTML referencia o ficheiro JavaScript do manifesto actual e o CSS servido contém o destaque #ed1c24. Esta prova confirma a entrega dos ficheiros compilados, sem comprovar o aspecto visual ou a interacção no navegador.
|
||||
|
||||
28/10/2026. Implementação autorizada após [mapa e esboço](HOME_NAVIGATION_PROPOSAL.md). Preservado o ensaio aceite em `04870f0`, checkpoints anteriores e limites financeiros. Sem migrações, concessões, novas dependências ou activação real. Sem aceitação presumida ou checkpoint desta alteração.
|
||||
|
||||
## Alterações
|
||||
|
||||
Barra lateral com oito grupos: Início, Clientes e serviços, Facturação, Recebimentos, Oficinas, Custos e orçamento, Contabilidade e fiscalidade e Administração. Só aparecem grupos com destinos permitidos. Grupo da página actual sempre aberto, opção activa destacada com marcador e `aria-current`; restantes grupos expansíveis com `aria-expanded`. Destinos reaproveitam os ecrãs existentes, sem criar módulos de equipamentos, afectações ou séries independentes. Apresentação do rascunho permanece em Facturação. Empresa/unidade continuam em contexto explícito; mudança de acessos que retire o destino devolve à página inicial quando a sessão actualizada recebe essas concessões.
|
||||
|
||||
Página inicial com atalhos de preparação/acompanhamento e validação conforme os direitos, nunca conforme nomes/emails. Consulta mantém atalhos de leitura. As acções abrem os percursos existentes: não criam decisões ou alteram dados no painel inicial. Não há contagens, montantes, gráficos ou listas de tarefas inventados. Consulta agregada de pendências ainda não implementada: mensagem explícita explica que os estados são consultados no respectivo percurso. Consulta não confere preparação/validação.
|
||||
|
||||
Cabeçalho fixo com empresa/unidade, ambiente local e aviso de operações reais bloqueadas. Os avisos específicos dos módulos permanecem. Em ecrã pequeno, botão Menu abre um diálogo nativo com fecho por botão/Escape e gestão de foco do navegador. Menu mantém conta actual e saída. Tabelas directamente contidas em painéis têm scroll próprio; contexto e atalhos adaptam-se a uma coluna. Cores base preservadas.
|
||||
|
||||
## Verificações e limites
|
||||
|
||||
- `scripts/sgf.ps1 npm run build`: aprovado, Vite 8.3.5, sem alteração de dependências.
|
||||
- `scripts/sgf.ps1 npm exec --offline -c 'node scripts/home-navigation-check.mjs'`: verificações de renderização aprovadas para preparador, validador, leitor, outra unidade e ausência de permissões. Não usam base de dados ou navegador.
|
||||
- `git diff --check`: aprovado.
|
||||
- Não se repetiu a bateria financeira: alteração limitada à apresentação, sem mudanças no servidor, cálculos ou base. A prova manual industrial anterior permanece preservada.
|
||||
- **Sem validação visual nova no Edge ou capturas:** automação continua bloqueada; não foi repetida. Renderização e build não provam comportamento visual ou interacção real do diálogo móvel. Revisão manual a efectuar no navegador.
|
||||
|
||||
Ficheiros: `resources/js/WorkspaceNavigation.jsx`, `resources/js/WorkspaceHome.jsx`, integração em `resources/js/app.jsx`, estilos em `resources/css/app.css`, verificação `scripts/home-navigation-check.mjs` e documentação. Não foram aplicadas `110000` ou sete concessões por consequência desta alteração.
|
||||
|
||||
Para rever: actualizar `http://127.0.0.1:8002/` enquanto a instância de prova SGF estiver activa, entrar pelas contas sintéticas já preparadas e abrir Início. Conferir grupos de acordo com concessões, preparação versus validação, permanência do grupo actual aberto e menu em janela estreita, Escape e retorno de foco. Não enviar credenciais em capturas. Se a instância estiver parada, seguir o procedimento de retoma de prova isolada documentado, sem executar testes destrutivos sobre a fixture manual.
|
||||
@@ -0,0 +1,60 @@
|
||||
# Página inicial e navegação agrupada — proposta
|
||||
|
||||
28/10/2026. Primeiro passo de desenho solicitado pelo utilizador; **sem alteração da aplicação**. Preservar o ensaio aceite no checkpoint `04870f0` e anteriores. A migração `110000`, sete concessões e utilização real continuam por autorizar. Este mapa não cria funcionalidades, direitos ou acesso operacional.
|
||||
|
||||
## Base actual conferida no código
|
||||
|
||||
`resources/js/app.jsx` apresenta uma lista lateral plana, filtrada pelas concessões do contexto, e destaca a página seleccionada. A página inicial tem saudação e dois cartões: empresa e unidade. O cabeçalho mostra o contexto, com selectores de empresa/unidade antes do conteúdo. Os módulos de ensaio apresentam avisos próprios; não há hoje uma lista agregada de tarefas pendentes na página inicial. Esta descrição é conferência de fonte, não captura visual da aplicação em execução.
|
||||
|
||||
Captura actual da página inicial/menu ainda não disponível. A automação do Edge permaneceu bloqueada e não deve ser repetida ou contornada. Para ajustar o desenho visual ao ecrã real, a captura manual deve mostrar a página inicial e o menu, sem credenciais; dados pessoais podem ser ocultados. O protótipo abaixo é um esboço proposto, nunca uma captura.
|
||||
|
||||
## Mapa proposto e correspondência com o existente
|
||||
|
||||
| Grupo | Destinos existentes a reaproveitar | Limites e subdivisões futuras |
|
||||
| --- | --- | --- |
|
||||
| Início | Área inicial | Contexto, atalhos permitidos e pendências apenas onde existam dados/consulta autorizada |
|
||||
| Clientes e serviços | Clientes (`clients`), Catálogo de serviços (`services`), Prestações em rascunho (`service_drafts`) | Manter nomes que distingam rascunho de operação confirmada |
|
||||
| Facturação | Preparação documental (`documents`), Rascunhos de facturação (`billing_drafts`), Facturas de teste (`service_invoices`), Apresentação do rascunho (`preview_model`) | Documentos/séries pertencem ao percurso existente de facturas de teste; não criar emissão real ou entrada independente sem suporte |
|
||||
| Recebimentos | Recebimentos simulados (`service_receivables`) | Afectações/reconciliação mantêm-se dentro do percurso de teste existente; sem novas páginas vazias ou ligação bancária |
|
||||
| Oficinas | Oficina de teste (`workshop`) | Ordens, tarefas e apontamentos continuam no módulo existente; equipamentos só como destino futuro se houver funcionalidade autorizada, nunca botão fictício |
|
||||
| Custos e orçamento | Custos directos de teste (`direct_costs`), Custos industriais de teste (`industrial_costs`), Orçamento versus realizado (`industrial_budgets`) | Lotes pertencem ao módulo industrial; orçamento/comparação partilham o ecrã actual. Não dividir páginas sem necessidade confirmada |
|
||||
| Contabilidade e fiscalidade | Classificação contabilística (`catalogue_accounting`), Perfil fiscal do serviço (`service_fiscal`) | Preservar validações e bloqueios fiscais; sem lançamentos |
|
||||
| Administração | Empresa (`company`), Unidades (`units`), Acessos (`access`) | Apresentação do rascunho pode ficar aqui em vez de Facturação, mas nunca duplicada; configurações adicionais só se existentes e autorizadas |
|
||||
|
||||
O grupo só aparece se houver pelo menos um destino permitido. Destino e acção mantêm as verificações existentes; nome/email não atribuem perfil. As designações Osmane/Samira exemplificam distribuições já concedidas, sem associação nominativa no código. Consulta não implica preparação, validação ou administração.
|
||||
|
||||
## Esboço da página inicial — estrutura, sem dados inventados
|
||||
|
||||
```text
|
||||
┌────────────────────────┬─────────────────────────────────────────────┐
|
||||
│ SGF TEMPO │ Empresa seleccionada · Unidade seleccionada │
|
||||
│ │ Alterar contexto │
|
||||
│ ● Início ├─────────────────────────────────────────────┤
|
||||
│ ▸ Clientes e serviços │ Ambiente / avisos de ensaio e bloqueios │
|
||||
│ ▸ Facturação ├─────────────────────────────────────────────┤
|
||||
│ ▸ Recebimentos │ Início │
|
||||
│ ▸ Oficinas │ Trabalho no contexto seleccionado │
|
||||
│ ▸ Custos e orçamento │ │
|
||||
│ ▸ Contab. e fiscalidade│ A preparar e acompanhar | A validar │
|
||||
│ ▸ Administração │ Apenas acções permitidas; estados reais │
|
||||
│ │ │
|
||||
│ Conta actual │ Atalhos permitidos │
|
||||
│ Sair │ Clientes · Rascunhos · Consultas autorizadas │
|
||||
└────────────────────────┴─────────────────────────────────────────────┘
|
||||
```
|
||||
|
||||
Em destino interno, o grupo dessa página permanece aberto, com opção activa destacada por texto e marcador além da cor. Cabeçalhos expansíveis são botões de teclado com `aria-expanded`; destino activo usa `aria-current`. Abrir um grupo não altera o contexto nem concede acesso.
|
||||
|
||||
Para o preparador, dar prioridade a «A preparar e acompanhar», com atalhos para as operações que já pode iniciar e consulta do estado das suas propostas. Para a validadora, dar prioridade a «A validar», com ligações a versões exactas pendentes e acesso de consulta. Quem tiver ambos os tipos de poderes vê ambas as secções, sem poder validar a própria proposta. Não criar uma decisão directamente no cartão inicial: encaminhar para o percurso de revisão existente.
|
||||
|
||||
**Pendências:** ainda é necessário definir quais os módulos que fornecem consulta segura e actualizada de pendências. Não inferir contagens no cliente, consultar módulos sem autorização nem tratar erro/indisponibilidade como zero. Onde não houver fonte, mostrar apenas atalhos; não apresentar listas ou números simulados. Distinguir «Sem pendências» (consulta bem-sucedida), «Consulta indisponível» e «Escolha uma unidade». Rótulos do esboço não afirmam que haja tarefas concretas.
|
||||
|
||||
## Ecrãs pequenos, estados e contexto
|
||||
|
||||
Em ecrã pequeno, menu em painel recolhível por botão «Menu», fechado por Escape, foco devolvido ao botão e destino activo identificável. Empresa/unidade e aviso relevante permanecem visíveis no cabeçalho; selectores podem abrir por «Alterar contexto». Conteúdo em coluna única, alvos de toque confortáveis e tabelas com scroll horizontal próprio, sem esconder montantes/estados ou provocar scroll de toda a página.
|
||||
|
||||
Estados com rótulo textual consistente: «Rascunho», «Aguarda validação», «Validado», «Recusado», «Histórico/desactualizado», «Incompleto» e «Operação bloqueada». Verde discreto para validação concluída, âmbar para pendência/incompletude, neutro para histórico e vermelho para erro; cor nunca é a única informação. Preservar cores base do SGF; melhorar espaçamento, alinhamento de montantes e leitura de tabelas. Não introduzir indicadores financeiros, saldos, receitas, margens ou gráficos fictícios.
|
||||
|
||||
## Próxima revisão do desenho
|
||||
|
||||
Comparar este mapa/esboço com uma captura manual da página inicial e menu actuais. Confirmar onde fica «Apresentação do rascunho» e a primeira selecção de fontes reais de pendências. Só depois alterar a aplicação, preservando permissões, separação empresa/unidade e avisos. Nenhuma nova implementação ou validação visual é declarada por este documento.
|
||||
Reference in New Issue
Block a user