O que foi feito (até agora) Usuários de teste criados admin@agenciapsi.com.br — senha: 123Mudar@ patient@agenciapsi.com.br — senha: 123Mudar@ therapist@agenciapsi.com.br — senha: 123Mudar@ Base funcionando ✅ Auth (Supabase) está funcionando ✅ Tabela profiles criada e ok ✅ Trigger automático cria profile após signup ✅ Campo role definido (admin | therapist | patient) ✅ RLS básico ativo ✅ Login funcionando ✅ Logout funcionando ✅ Guard de rota implementado e ativo ✅ RBAC básico operando via meta.role + redirect para painel correto ✅ Home pública / com 3 cards (Admin | Therapist | Patient) levando ao login ✅ Pós-login: busca profiles.role e redireciona para: /admin /therapist /patient Estrutura implementada agora (menus e sessão para o Sakai) Sessão central (evita menu errado e if(role) espalhado) ✅ Criado src/app/session.js com: sessionUser, sessionRole, sessionReady (refs globais) initSession() (carrega user + role antes de renderizar o layout) listenAuthChanges() (atualiza sessão ao logar/deslogar) ✅ Ajustado src/main.js para usar bootstrap async: chama await initSession() antes de app.mount() liga listenAuthChanges() mantém PrimeVue, tema Aura, ToastService e ConfirmationService mantém imports de CSS existentes Menu dinâmico por role no Sakai ✅ Menus foram estruturados no formato do Sakai (sections com label + items) e separados por role: src/navigation/menus/admin.menu.js src/navigation/menus/therapist.menu.js src/navigation/menus/patient.menu.js ✅ Criado src/navigation/index.js com getMenuByRole(role) para centralizar a escolha do menu (sem if(role) em componentes). ✅ Ajustado o AppMenu.vue (menu do Sakai) para: usar computed() com sessionRole/sessionReady carregar dinamicamente getMenuByRole(sessionRole.value) evitar “piscar” menu errado antes de carregar (sessionReady) Menu demo do Sakai mantido sem quebrar o produto ✅ Mantivemos o menu demo (UIKit/Blocks/Start etc.) em arquivo separado para não perder as páginas do template: src/navigation/menus/sakai.demo.menu.js (conteúdo original do template) ✅ Estratégia adotada: Admin pode ver o menu demo (idealmente só em DEV) Therapist/Patient ficam com menu limpo (clínico) Rotas demo do Sakai corrigidas (arquivos com sufixo Doc) ✅ Problema resolvido: itens do menu demo davam 404 porque as rotas/imports não existiam com os nomes esperados (Input.vue etc.). ✅ Ajuste aplicado: rotas demo apontam para arquivos *Doc.vue (ex.: ButtonDoc.vue, InputDoc.vue). 📌 Criado/ajustado src/router/routes.demo.js para mapear: /uikit/* → @/views/uikit/*Doc.vue e demais demos conforme existirem ✅ Incluído demoRoutes no router principal para o menu demo funcionar. Testes ✅ Confirmado que localStorage.clear() limpa sessão para testar outros usuários/roles rapidamente.