# 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.user` carregado 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.