/*
|--------------------------------------------------------------------------
| Agência PSI
|--------------------------------------------------------------------------
| Criado e desenvolvido por Leonardo Nohama
|
| Tecnologia aplicada à escuta.
| Estrutura para o cuidado.
|
| Arquivo: src/router/routes.misc.js
| Data: 2026
| Local: São Carlos/SP — Brasil
|--------------------------------------------------------------------------
| © 2026 — Todos os direitos reservados
|--------------------------------------------------------------------------
*/
export default {
    path: '/',
    children: [
        {
            path: 'landing',
            name: 'landing',
            component: () => import('@/views/pages/Landing.vue')
        },

        // Layout Melissa (Direcao B — lockscreen-style).
        // Fullscreen, fora do AppLayout — UI inteira do Melissa vive aqui.
        // Quem ativa: user com user_settings.layout_variant = 'melissa'
        // (escolhido em /account/profile). O router.beforeEach do
        // index.js redireciona automaticamente da home do role pra ca.
        // Param `:secao?` opcional reflete a secao aberta na URL (agenda,
        // pacientes, conversas, etc.) — permite deep-link, back/forward,
        // refresh preservando estado.
        {
            path: 'melissa/:secao?',
            name: 'Melissa',
            component: () => import('@/layout/melissa/MelissaLayout.vue'),
            meta: { requiresAuth: true }
        },

        // Preview do AgendaEventDialog V2 (A66 sub-sessão 2). Iteração
        // visual antes de migrar consumers (sub-sessão 3). Pública pra
        // facilitar dev — remover quando V2 estabilizar.
        {
            path: 'preview/agenda-dialog-v2',
            name: 'PreviewAgendaDialogV2',
            component: () => import('@/views/pages/preview/AgendaDialogV2Preview.vue')
        },

        // 404
        {
            path: 'pages/notfound',
            name: 'notfound',
            component: () => import('@/views/pages/NotFound.vue')
        },

        // 403 (Acesso negado - RBAC)
        {
            path: 'pages/access', // ❗ SEM barra inicial aqui
            name: 'AccessDenied',
            component: () => import('@/views/pages/misc/AccessDeniedPage.vue'),
            meta: {
                requiresAuth: true
            }
        },

        // Catch-all (SEMPRE o último)
        {
            path: ':pathMatch(.*)*',
            redirect: { name: 'notfound' }
        }
    ]
};
