2.1 KiB
2.1 KiB
US07 - Agrupamento do Menu de Navegação (Menu Gestão)
Como Utilizador autenticado do RefoodOne Quero que as opções "Beneficiários", "Turnos" e "Entregas" sejam agrupadas num submenu sob um menu principal chamado "Gestão" Para melhorar a organização do cabeçalho de navegação e tornar a interface mais limpa e intuitiva.
Descrição do Fluxo
Ao fazer login na aplicação, o utilizador visualiza um cabeçalho de navegação (navbar) simplificado. Em vez de ter os links principais expostos diretamente, é exibido um item de menu interativo chamado Gestão. Ao clicar ou passar o cursor sobre este menu, abre-se um dropdown contendo as opções autorizadas para o perfil do utilizador.
Critérios de Aceitação
1. Interface Gráfica (UI)
- Menu Gestão: Deve ser exibido como um menu dropdown na barra de navegação superior, com a etiqueta "Gestão" em PT-PT.
- Opções do Submenu: O dropdown deve conter as seguintes opções (quando aplicável ao perfil):
- Beneficiários
- Turnos
- Entregas
- Estilo: O dropdown deve seguir a estética Bootstrap 5, com comportamento responsivo (fechamento automático ao clicar fora e suporte a ecrãs táteis/mobile).
2. Comportamento e Regras de Negócio
- As opções visíveis no submenu devem respeitar rigorosamente as permissões de cada perfil de utilizador:
- Administrador (Admin): Visualiza todas as opções no submenu (Beneficiários, Turnos, Entregas).
- Gestor de Turno (Shift Manager): Visualiza as opções permitidas (Turnos, Entregas e Beneficiários conforme permissões de gestão).
- Voluntário (Volunteer): Visualiza apenas a opção Entregas (ou redirecionado diretamente).
- O submenu só deve ser visível se o utilizador estiver autenticado.
3. Integração de Dados / Segurança
- O controlo de visibilidade dos links do submenu deve basear-se no objeto
data.usercarregado pelo layout principal (+layout.svelte). - A proteção de rotas no servidor (
hooks.server.ts) deve continuar a validar e bloquear acessos diretos caso o utilizador digite o URL manualmente.