11 KiB
Página inicial e menus agrupados
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.