/*
|--------------------------------------------------------------------------
| Agência PSI
|--------------------------------------------------------------------------
| Criado e desenvolvido por Leonardo Nohama
|
| Tecnologia aplicada à escuta.
| Estrutura para o cuidado.
|
| Arquivo: src/router/routes.configs.js
| Data: 2026
| Local: São Carlos/SP — Brasil
|--------------------------------------------------------------------------
| © 2026 — Todos os direitos reservados
|--------------------------------------------------------------------------
*/

// ConfiguracoesPage já tem <router-view> próprio — serve de layout intermediário.
// Não precisa de RouterPassthrough.
export default {
    path: 'configuracoes',
    component: () => import('@/layout/ConfiguracoesPage.vue'),
    redirect: { name: 'ConfiguracoesAgenda' },

    meta: {
        requiresAuth: true,
        roles: ['admin', 'tenant_admin', 'therapist']
    },

    children: [
        {
            path: 'agenda',
            name: 'ConfiguracoesAgenda',
            component: () => import('@/layout/configuracoes/ConfiguracoesAgendaPage.vue')
        },
        {
            path: 'bloqueios',
            name: 'ConfiguracoesBloqueios',
            component: () => import('@/layout/configuracoes/BloqueiosPage.vue')
        },
        {
            path: 'agendador',
            name: 'ConfiguracoesAgendador',
            component: () => import('@/layout/configuracoes/ConfiguracoesAgendadorPage.vue')
        },
        {
            path: 'pagamento',
            name: 'ConfiguracoesPagamento',
            component: () => import('@/layout/configuracoes/ConfiguracoesPagamentoPage.vue')
        },
        {
            path: 'precificacao',
            name: 'ConfiguracoesPrecificacao',
            component: () => import('@/layout/configuracoes/ConfiguracoesPrecificacaoPage.vue')
        },
        {
            path: 'descontos',
            name: 'ConfiguracoesDescontos',
            component: () => import('@/layout/configuracoes/ConfiguracoesDescontosPage.vue')
        },
        {
            path: 'excecoes-financeiras',
            name: 'ConfiguracoesExcecoesFinanceiras',
            component: () => import('@/layout/configuracoes/ConfiguracoesExcecoesFinanceirasPage.vue')
        },
        {
            path: 'convenios',
            name: 'ConfiguracoesConvenios',
            component: () => import('@/layout/configuracoes/ConfiguracoesConveniosPage.vue')
        },
        {
            path: 'email-templates',
            name: 'ConfiguracoesEmailTemplates',
            component: () => import('@/layout/configuracoes/ConfiguracoesEmailTemplatesPage.vue')
        },
        {
            path: 'empresa',
            name: 'ConfiguracoesMinhaEmpresa',
            component: () => import('@/layout/configuracoes/ConfiguracoesMinhaEmpresaPage.vue')
        },
        {
            path: 'canais',
            name: 'ConfiguracoesCanais',
            component: () => import('@/layout/configuracoes/ConfiguracoesCanaisPage.vue')
        },
        {
            path: 'whatsapp',
            name: 'ConfiguracoesWhatsapp',
            component: () => import('@/layout/configuracoes/ConfiguracoesWhatsappChooserPage.vue')
        },
        {
            path: 'whatsapp-pessoal',
            name: 'ConfiguracoesWhatsappPessoal',
            component: () => import('@/layout/configuracoes/ConfiguracoesWhatsappPage.vue')
        },
        {
            path: 'whatsapp-oficial',
            name: 'ConfiguracoesWhatsappOficial',
            component: () => import('@/layout/configuracoes/ConfiguracoesTwilioWhatsappPage.vue')
        },
        {
            path: 'whatsapp-templates',
            name: 'ConfiguracoesWhatsappTemplates',
            component: () => import('@/layout/configuracoes/ConfiguracoesWhatsappTemplatesPage.vue')
        },
        // Backcompat: old /whatsapp-twilio → redirect
        {
            path: 'whatsapp-twilio',
            redirect: { name: 'ConfiguracoesWhatsappOficial' }
        },
        {
            path: 'sms',
            name: 'ConfiguracoesSms',
            component: () => import('@/layout/configuracoes/ConfiguracoesSmsPage.vue')
        },
        {
            path: 'sms-canal',
            name: 'ConfiguracoesSmsCanal',
            component: () => import('@/views/pages/notifications/SmsChannelSetupPage.vue')
        },
        {
            path: 'recursos-extras',
            name: 'ConfiguracoesRecursosExtras',
            component: () => import('@/layout/configuracoes/ConfiguracoesRecursosExtrasPage.vue')
        },
        {
            path: 'recursos-extras/extrato',
            name: 'ConfiguracoesRecursosExtrasExtrato',
            component: () => import('@/layout/configuracoes/AddonsExtratoPage.vue')
        },
        {
            path: 'auditoria',
            name: 'ConfiguracoesAuditoria',
            component: () => import('@/layout/configuracoes/AuditoriaPage.vue')
        },
        {
            path: 'conversas-tags',
            name: 'ConfiguracoesConversasTags',
            component: () => import('@/layout/configuracoes/ConfiguracoesConversasTagsPage.vue')
        },
        {
            path: 'conversas-autoreply',
            name: 'ConfiguracoesConversasAutoreply',
            component: () => import('@/layout/configuracoes/ConfiguracoesConversasAutoreplyPage.vue')
        },
        {
            path: 'conversas-optouts',
            name: 'ConfiguracoesConversasOptouts',
            component: () => import('@/layout/configuracoes/ConfiguracoesConversasOptoutsPage.vue')
        },
        {
            path: 'conversas-sla',
            name: 'ConfiguracoesConversasSla',
            component: () => import('@/layout/configuracoes/ConfiguracoesConversasSlaPage.vue')
        },
        {
            path: 'conversas-bots',
            name: 'ConfiguracoesConversasBots',
            component: () => import('@/layout/configuracoes/ConfiguracoesConversasBotsPage.vue')
        },
        {
            path: 'lembretes-sessao',
            name: 'ConfiguracoesLembretesSessao',
            component: () => import('@/layout/configuracoes/ConfiguracoesLembretesSessaoPage.vue')
        },
        {
            path: 'creditos-whatsapp',
            name: 'ConfiguracoesCreditosWhatsapp',
            component: () => import('@/layout/configuracoes/ConfiguracoesCreditosWhatsappPage.vue')
        },

        // ── Documentos & Templates ────────────────────────────────────
        // Templates de documento (recibo, atestado, laudo, TCLE, LGPD etc).
        // Antes vivia em /therapist/documents/templates — movido pra
        // Configurações por ser setup, não operação clínica.
        {
            path: 'documentos/templates',
            name: 'ConfiguracoesDocumentosTemplates',
            component: () => import('@/features/documents/DocumentTemplatesPage.vue'),
            meta: { feature: 'documents.templates' }
        }
    ]
};
