14 KiB
Página inicial e menus agrupados
Limpeza expressamente pedida, 30/10/2026: removidos da página inicial «Consultas e atalhos permitidos», os cartões expansíveis, os atalhos de preparação/validação e o cartão de contexto que repetia o cabeçalho. Ficam o título Início e o aviso de unidade quando aplicável, sem novo conteúdo para ocupar o espaço. Destinos continuam exclusivamente nos dropdowns existentes, por assunto, com Compras, Stock e Contabilidade separados; nenhum direito ou destino foi removido. Removidos os estilos e propriedades específicos dos cartões. Esta decisão substitui a organização em cartões descrita abaixo. Check de navegação/renderização e compilação aprovados; alteração local, sem publicação ou revisão visual declarada. O conteúdo futuro da página inicial será decidido posteriormente.
Organização da página inicial, 30/10/2026: após a indicação de conteúdo espalhado, a lista plana de consultas foi substituída por cartões expansíveis por assunto, reutilizando navigationTopics e os grupos já filtrados. Cartões começam fechados, conservam destinos, estados de preparação e secções internas, incluindo Administração. Preparação/validação e contexto mantidos. CSS responsivo com atalhos em coluna dentro de cada cartão; details/summary nativos para teclado e expansão. Check de renderização cobre os assuntos principais, cartões fechados e ausência da lista plana. Alteração exclusivamente local, sem publicação, dados ou direitos novos; verificação técnica não é revisão visual no navegador.
Reposição de visibilidade da Contabilidade, 29/10/2026: a entrada não tinha sido eliminada: o agrupamento horizontal colocara o grupo accounting dentro de Financeiro. A pedido da Tempo, Contabilidade volta a assunto principal, com dropdown próprio, preservando os oito destinos e os mesmos direitos. A ordem passa a Início, Comercial, Compras, Stock, Oficinas, Financeiro, Contabilidade, Configuração. Sem alteração de dados ou concessões. O check existente passa a manter inventário independente dos onze grupos, dos oito destinos contabilísticos e dos assuntos principais; cobre company.view e os dois direitos contabilísticos isolados, além da ausência de direitos. O comando build executa esse check antes do Vite, interrompendo a compilação perante regressão; não depende de hooks npm opcionais. Novas alterações devem actualizar explicitamente o inventário apenas quando o âmbito aprovado mudar. Esta guarda detecta remoção/agrupamento indevido conhecido, não substitui revisão visual ou prova no destino publicado. Prova HTTP da instância 8002 verifica também Contabilidade separada para as cinco funções sintéticas existentes. Sem publicação ou checkpoint.
Conferência da instância em execução, 29/10/2026: após «continua a executar», scripts/navigation-live-check.mjs verificou as cinco funções sintéticas já existentes (proprietário, preparador, validador, técnico e verificador) por entrada/sessão/saída em 8002. Compras e Stock surgem separados nos cinco conjuntos efectivos de concessões; todos os destinos visíveis têm componente registado e não há IDs duplicados. A aplicação serve o bundle actual com purchasing_home, não apenas código-fonte local não compilado. Prova sanitizada em docs/proofs/navigation-live.json. Sem novas contas, alteração de concessões ou comandos de negócio. Conferência HTTP e renderização estática; não prova interactiva em navegador.
Reposição da visibilidade de Compras, 29/10/2026: após separar Stock, o contexto sem direitos purchasing_budget/supplier_payables ficava sem itens no grupo Compras, ocultado pelo filtro de grupos vazios. A junção anterior permanecia visível pelos itens de Stock; nenhuma concessão ou dado tinha sido removido. Acrescentada Área de Compras informativa com company.view, sem acesso operacional implícito; preservadas as opções de orçamento/obrigações para os contextos autorizados. PurchasingHome.jsx distingue a área SGF da aplicação autónoma e não afirma incorporação integral. Regressão reproduz company.view sem direitos de Compras, confirma Compras/Stock separados e conserva filtros por unidade; build aprovado. Sem alteração de acessos ou dados.
Ajuste posterior, 29/10/2026: Compras e Stock separados em dropdowns próprios. Ordem actual: Início, Comercial, Compras, Stock, Oficinas, Financeiro, Configuração. Fonte do menu principal aumentada de 0,87 para 1 rem; itens de submenu de 0,85 para 0,95 rem; fonte móvel de 0,78 para 0,9 rem. Mantidos destinos/permissões e dropdowns. Check de navegação e build aprovados; sem nova revisão visual.
Menu horizontal por assunto — 29/10/2026
Pedido expresso: alterar a posição para horizontal, ordenar por assunto e preservar o dropdown. WorkspaceNavigation.jsx substitui a barra lateral/drawer por barra superior, com seis entradas ordenadas: Início; Comercial; Compras e stock; Oficinas; Financeiro; Configuração. Início abre directamente a página inicial; as restantes abrem dropdowns com as secções e destinos anteriores.
Comercial agrupa Clientes e serviços/Facturação; Compras e stock reúne Compras/Stock; Oficinas conserva os percursos técnicos e comerciais; Financeiro reúne Recebimentos/Contabilidade e fiscalidade/Custos e orçamento; Configuração reúne configuração documental/Administração. A organização por assunto é apresentação, não fusão dos motores ou dos âmbitos. Os IDs, permissões, estado Em preparação, destinos e contexto permanecem os mesmos. Novos grupos futuros sem classificação explícita têm fallback próprio, em vez de desaparecerem.
Um dropdown aberto de cada vez; selecção e clique fora fecham-no; Escape fecha e devolve foco ao respectivo botão. Enter/Espaço usam os botões nativos; setas e Home/End percorrem destinos. O assunto activo e o destino activo são identificados; aria-expanded, aria-controls e aria-current preservam a semântica de navegação. Os menus começam fechados e o assunto activo não fica forçado a permanecer aberto. O conteúdo não abre por hover apenas.
Em ecrãs menores, a barra mantém organização horizontal com quebra de linha; dropdowns ficam ancorados à área de navegação, com altura limitada e scroll próprio. Não há drawer lateral nem botão de menu separado. A área de trabalho usa a largura anteriormente ocupada pela barra lateral e o cabeçalho de contexto deixa de competir com o menu fixo.
Código: resources/js/WorkspaceNavigation.jsx, resources/css/app.css; regressão em scripts/home-navigation-check.mjs. O modelo navigationGroups continua a filtrar exactamente os mesmos direitos; navigationTopics apenas reordena/agrupa. O check confere igualdade do conjunto completo de destinos antes/depois, unicidade, seis assuntos, fallback, unidade sem direitos e renderização com dropdown/elementos activos. Checks de início/navegação e compilação Vite aprovados. Sem alteração de dependências, operações de negócio, bases, acessos, publicação ou checkpoint.
A verificação desta alteração é técnica (renderização estática/compilação), não nova revisão visual/interactiva no navegador. A implementação de teclado/responsividade não é apresentada como teste manual executado. Esta orientação substitui a disposição lateral descrita abaixo, preservando os resultados e limites das entregas anteriores.
Contabilidade, 29/10/2026: acrescentados painel, Trabalho diário, Conferência, Análise, Fecho e Configuração, preservando classificação/perfis e com catálogo de relatórios previsto. Ver âmbito e provas. Não declara razão, lançamentos ou relatórios financeiros entregues.
Stock, 29/10/2026: acrescentada a navegação informativa do documento fornecido, com estado Em preparação e sem motor/fonte operacional SGF. Ver correspondência com Compras, código e provas. Não declara saldos, movimentos ou relatórios operacionais disponíveis.
Actualização de 29/10/2026: menus de Facturação e Oficinas implementados a partir dos documentos fornecidos e da confirmação do responsável, com destinos existentes e capacidades ausentes identificadas. Ver âmbito, correspondências e provas. A revisão visual e a publicação permanecem distintas; esta nota não reabre nem substitui a aceitação anterior.
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. 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.