Correcao Sidebar Classico e Rail, Correcao Layout, Ajuste de Breakpoint para Tailwind, Ajuste AppTopbar, Ajuste Menu PopOver, Recriado Paleta de Cores, Inserido algumas animações leves, Reajuste Cor items NOVOS da tabela, Drawer Ajuda Corrigido no Logout, Whatsapp, sms, email, recursos extras
This commit is contained in:
@@ -14,107 +14,105 @@
|
||||
| © 2026 — Todos os direitos reservados
|
||||
|--------------------------------------------------------------------------
|
||||
*/
|
||||
export default function adminMenu (ctx = {}) {
|
||||
const menu = [
|
||||
{
|
||||
label: 'Clínica',
|
||||
items: [
|
||||
// ✅ usar name real da rota (evita /admin cair em redirect estranho)
|
||||
{ label: 'Dashboard', icon: 'pi pi-fw pi-home', to: { name: 'admin.dashboard' } },
|
||||
|
||||
export default function adminMenu(ctx = {}) {
|
||||
const menu = [
|
||||
{
|
||||
label: 'Agenda da Clínica',
|
||||
icon: 'pi pi-fw pi-calendar',
|
||||
to: { name: 'admin-agenda-clinica' },
|
||||
feature: 'agenda.view',
|
||||
badgeKey: 'agendaHoje'
|
||||
label: 'Clínica',
|
||||
items: [
|
||||
// ✅ usar name real da rota (evita /admin cair em redirect estranho)
|
||||
{ label: 'Dashboard', icon: 'pi pi-fw pi-home', to: { name: 'admin.dashboard' } },
|
||||
|
||||
{
|
||||
label: 'Agenda da Clínica',
|
||||
icon: 'pi pi-fw pi-calendar',
|
||||
to: { name: 'admin-agenda-clinica' },
|
||||
feature: 'agenda.view',
|
||||
badgeKey: 'agendaHoje'
|
||||
},
|
||||
|
||||
{
|
||||
label: 'Recorrências',
|
||||
icon: 'pi pi-fw pi-refresh',
|
||||
to: { name: 'admin-agenda-recorrencias' },
|
||||
feature: 'agenda.view'
|
||||
},
|
||||
|
||||
// ✅ Compromissos determinísticos (tipos)
|
||||
{
|
||||
label: 'Compromissos',
|
||||
icon: 'pi pi-fw pi-clock',
|
||||
to: { name: 'admin-agenda-compromissos' },
|
||||
feature: 'agenda.view'
|
||||
}
|
||||
]
|
||||
},
|
||||
|
||||
// ✅ SEM IF: sempre existe, só fica visível quando a feature estiver ligada
|
||||
{
|
||||
label: 'Pacientes',
|
||||
visible: () => {
|
||||
// 1) enquanto tenant/features estão carregando, NÃO some (evita piscar ao trocar de aba)
|
||||
if (ctx?.tenantLoading?.()) return true;
|
||||
if (ctx?.tenantFeaturesLoading?.()) return true;
|
||||
|
||||
// 2) quando estabilizou, aí sim decide pela feature
|
||||
return !!ctx?.tenantFeatureEnabled?.('patients');
|
||||
},
|
||||
items: [
|
||||
// ✅ usar name real das rotas (você já tem todas no routes.clinic.js)
|
||||
{ label: 'Lista de Pacientes', icon: 'pi pi-fw pi-users', to: { name: 'admin-pacientes' }, quickCreate: true, quickCreateRoute: 'admin-pacientes-cadastro', quickCreateLinkTo: { name: 'admin-pacientes-link-externo' } },
|
||||
{ label: 'Grupos', icon: 'pi pi-fw pi-sitemap', to: { name: 'admin-pacientes-grupos' } },
|
||||
{ label: 'Tags', icon: 'pi pi-fw pi-tags', to: { name: 'admin-pacientes-tags' } },
|
||||
{ label: 'Link Externo', icon: 'pi pi-fw pi-link', to: { name: 'admin-pacientes-link-externo' } },
|
||||
{ label: 'Cadastros recebidos', icon: 'pi pi-inbox', to: { name: 'admin-pacientes-recebidos' }, badgeKey: 'cadastrosRecebidos' }
|
||||
]
|
||||
},
|
||||
|
||||
{
|
||||
label: 'Recorrências',
|
||||
icon: 'pi pi-fw pi-refresh',
|
||||
to: { name: 'admin-agenda-recorrencias' },
|
||||
feature: 'agenda.view'
|
||||
label: 'Gestão',
|
||||
items: [
|
||||
{ label: 'Profissionais', icon: 'pi pi-fw pi-id-card', to: { name: 'admin-clinic-professionals' } },
|
||||
{
|
||||
label: 'Tipos de Clínicas',
|
||||
icon: 'pi pi-fw pi-sliders-h',
|
||||
to: { name: 'admin-clinic-features' },
|
||||
visible: () => {
|
||||
if (ctx?.tenantLoading?.()) return true; // ← true durante loading (evita piscar)
|
||||
const role = ctx?.role?.();
|
||||
return role === 'clinic_admin'; // tenant_admin normaliza para clinic_admin
|
||||
}
|
||||
},
|
||||
{ label: 'Meu plano', icon: 'pi pi-fw pi-credit-card', to: { name: 'admin-meu-plano' } }
|
||||
]
|
||||
},
|
||||
|
||||
// ✅ Compromissos determinísticos (tipos)
|
||||
{
|
||||
label: 'Compromissos',
|
||||
icon: 'pi pi-fw pi-clock',
|
||||
to: { name: 'admin-agenda-compromissos' },
|
||||
feature: 'agenda.view'
|
||||
label: 'Financeiro',
|
||||
items: [{ label: 'Cobranças', icon: 'pi pi-fw pi-wallet', to: { name: 'admin-financeiro' } }]
|
||||
},
|
||||
|
||||
{
|
||||
label: 'Sistema',
|
||||
items: [
|
||||
{ label: 'Segurança', icon: 'pi pi-fw pi-shield', to: { name: 'admin-settings-security' } },
|
||||
{
|
||||
label: 'Agendamento Online (PRO)',
|
||||
icon: 'pi pi-fw pi-calendar-plus',
|
||||
to: { name: 'admin-online-scheduling' },
|
||||
feature: 'online_scheduling.manage',
|
||||
proBadge: true
|
||||
},
|
||||
{
|
||||
label: 'Agendamentos Recebidos',
|
||||
icon: 'pi pi-fw pi-inbox',
|
||||
to: { name: 'admin-agendamentos-recebidos' },
|
||||
feature: 'online_scheduling.manage',
|
||||
proBadge: true,
|
||||
badgeKey: 'agendamentosRecebidos'
|
||||
}
|
||||
]
|
||||
}
|
||||
]
|
||||
},
|
||||
];
|
||||
|
||||
// ✅ SEM IF: sempre existe, só fica visível quando a feature estiver ligada
|
||||
{
|
||||
label: 'Pacientes',
|
||||
visible: () => {
|
||||
// 1) enquanto tenant/features estão carregando, NÃO some (evita piscar ao trocar de aba)
|
||||
if (ctx?.tenantLoading?.()) return true
|
||||
if (ctx?.tenantFeaturesLoading?.()) return true
|
||||
|
||||
// 2) quando estabilizou, aí sim decide pela feature
|
||||
return !!ctx?.tenantFeatureEnabled?.('patients')
|
||||
},
|
||||
items: [
|
||||
// ✅ usar name real das rotas (você já tem todas no routes.clinic.js)
|
||||
{ label: 'Lista de Pacientes', icon: 'pi pi-fw pi-users', to: { name: 'admin-pacientes' }, quickCreate: true, quickCreateRoute: 'admin-pacientes-cadastro', quickCreateLinkTo: { name: 'admin-pacientes-link-externo' } },
|
||||
{ label: 'Grupos', icon: 'pi pi-fw pi-sitemap', to: { name: 'admin-pacientes-grupos' } },
|
||||
{ label: 'Tags', icon: 'pi pi-fw pi-tags', to: { name: 'admin-pacientes-tags' } },
|
||||
{ label: 'Link Externo', icon: 'pi pi-fw pi-link', to: { name: 'admin-pacientes-link-externo' } },
|
||||
{ label: 'Cadastros recebidos', icon: 'pi pi-inbox', to: { name: 'admin-pacientes-recebidos' }, badgeKey: 'cadastrosRecebidos' }
|
||||
]
|
||||
},
|
||||
|
||||
{
|
||||
label: 'Gestão',
|
||||
items: [
|
||||
{ label: 'Profissionais', icon: 'pi pi-fw pi-id-card', to: { name: 'admin-clinic-professionals' } },
|
||||
{
|
||||
label: 'Tipos de Clínicas',
|
||||
icon: 'pi pi-fw pi-sliders-h',
|
||||
to: { name: 'admin-clinic-features' },
|
||||
visible: () => {
|
||||
if (ctx?.tenantLoading?.()) return true // ← true durante loading (evita piscar)
|
||||
const role = ctx?.role?.()
|
||||
return role === 'clinic_admin' // tenant_admin normaliza para clinic_admin
|
||||
}
|
||||
},
|
||||
{ label: 'Meu plano', icon: 'pi pi-fw pi-credit-card', to: { name: 'admin-meu-plano' } }
|
||||
]
|
||||
},
|
||||
|
||||
{
|
||||
label: 'Financeiro',
|
||||
items: [
|
||||
{ label: 'Cobranças', icon: 'pi pi-fw pi-wallet', to: { name: 'admin-financeiro' } }
|
||||
]
|
||||
},
|
||||
|
||||
{
|
||||
label: 'Sistema',
|
||||
items: [
|
||||
{ label: 'Segurança', icon: 'pi pi-fw pi-shield', to: { name: 'admin-settings-security' } },
|
||||
{
|
||||
label: 'Agendamento Online (PRO)',
|
||||
icon: 'pi pi-fw pi-calendar-plus',
|
||||
to: { name: 'admin-online-scheduling' },
|
||||
feature: 'online_scheduling.manage',
|
||||
proBadge: true
|
||||
},
|
||||
{
|
||||
label: 'Agendamentos Recebidos',
|
||||
icon: 'pi pi-fw pi-inbox',
|
||||
to: { name: 'admin-agendamentos-recebidos' },
|
||||
feature: 'online_scheduling.manage',
|
||||
proBadge: true,
|
||||
badgeKey: 'agendamentosRecebidos'
|
||||
}
|
||||
]
|
||||
}
|
||||
]
|
||||
|
||||
return menu
|
||||
}
|
||||
return menu;
|
||||
}
|
||||
|
||||
@@ -21,28 +21,26 @@
|
||||
//
|
||||
|
||||
export default [
|
||||
{
|
||||
label: 'Início',
|
||||
items: [
|
||||
{ label: 'Dashboard', icon: 'pi pi-fw pi-home', to: '/editor' }
|
||||
]
|
||||
},
|
||||
{
|
||||
label: 'Início',
|
||||
items: [{ label: 'Dashboard', icon: 'pi pi-fw pi-home', to: '/editor' }]
|
||||
},
|
||||
|
||||
{
|
||||
label: 'Conteúdo',
|
||||
items: [
|
||||
{ label: 'Cursos', icon: 'pi pi-fw pi-book', to: '/editor/cursos' },
|
||||
{ label: 'Módulos', icon: 'pi pi-fw pi-th-large', to: '/editor/modulos' },
|
||||
{ label: 'Publicados', icon: 'pi pi-fw pi-check-circle', to: '/editor/publicados' }
|
||||
]
|
||||
},
|
||||
{
|
||||
label: 'Conteúdo',
|
||||
items: [
|
||||
{ label: 'Cursos', icon: 'pi pi-fw pi-book', to: '/editor/cursos' },
|
||||
{ label: 'Módulos', icon: 'pi pi-fw pi-th-large', to: '/editor/modulos' },
|
||||
{ label: 'Publicados', icon: 'pi pi-fw pi-check-circle', to: '/editor/publicados' }
|
||||
]
|
||||
},
|
||||
|
||||
{
|
||||
label: 'Conta',
|
||||
items: [
|
||||
{ label: 'Meu plano', icon: 'pi pi-fw pi-credit-card', to: '/editor/meu-plano' },
|
||||
{ label: 'Meu Perfil', icon: 'pi pi-fw pi-user', to: '/account/profile' },
|
||||
{ label: 'Segurança', icon: 'pi pi-fw pi-shield', to: '/account/security' }
|
||||
]
|
||||
}
|
||||
]
|
||||
{
|
||||
label: 'Conta',
|
||||
items: [
|
||||
{ label: 'Meu plano', icon: 'pi pi-fw pi-credit-card', to: '/editor/meu-plano' },
|
||||
{ label: 'Meu Perfil', icon: 'pi pi-fw pi-user', to: '/account/profile' },
|
||||
{ label: 'Segurança', icon: 'pi pi-fw pi-shield', to: '/account/security' }
|
||||
]
|
||||
}
|
||||
];
|
||||
|
||||
@@ -16,26 +16,22 @@
|
||||
*/
|
||||
|
||||
export default [
|
||||
{
|
||||
label: 'Início',
|
||||
items: [
|
||||
{ label: 'Dashboard', icon: 'pi pi-fw pi-home', to: '/portal' }
|
||||
]
|
||||
},
|
||||
{
|
||||
label: 'Início',
|
||||
items: [{ label: 'Dashboard', icon: 'pi pi-fw pi-home', to: '/portal' }]
|
||||
},
|
||||
|
||||
{
|
||||
label: 'Minhas sessões',
|
||||
items: [
|
||||
{ label: 'Sessões', icon: 'pi pi-fw pi-calendar', to: '/portal/sessoes' }
|
||||
]
|
||||
},
|
||||
{
|
||||
label: 'Minhas sessões',
|
||||
items: [{ label: 'Sessões', icon: 'pi pi-fw pi-calendar', to: '/portal/sessoes' }]
|
||||
},
|
||||
|
||||
{
|
||||
label: 'Conta',
|
||||
items: [
|
||||
{ label: 'Meu plano', icon: 'pi pi-fw pi-credit-card', to: '/portal/meu-plano' },
|
||||
{ label: 'Minha Conta', icon: 'pi pi-fw pi-user', to: '/account/profile' },
|
||||
{ label: 'Segurança', icon: 'pi pi-fw pi-shield', to: '/account/security' }
|
||||
]
|
||||
}
|
||||
]
|
||||
{
|
||||
label: 'Conta',
|
||||
items: [
|
||||
{ label: 'Meu plano', icon: 'pi pi-fw pi-credit-card', to: '/portal/meu-plano' },
|
||||
{ label: 'Minha Conta', icon: 'pi pi-fw pi-user', to: '/account/profile' },
|
||||
{ label: 'Segurança', icon: 'pi pi-fw pi-shield', to: '/account/security' }
|
||||
]
|
||||
}
|
||||
];
|
||||
|
||||
@@ -15,77 +15,80 @@
|
||||
|--------------------------------------------------------------------------
|
||||
*/
|
||||
|
||||
export default function saasMenu (sessionCtx, opts = {}) {
|
||||
if (!sessionCtx?.isSaasAdmin) return []
|
||||
export default function saasMenu(sessionCtx, opts = {}) {
|
||||
if (!sessionCtx?.isSaasAdmin) return [];
|
||||
|
||||
const mismatchCount = Number(opts?.mismatchCount || 0)
|
||||
const docsAtencaoCount = Number(opts?.docsAtencaoCount || 0)
|
||||
const mismatchCount = Number(opts?.mismatchCount || 0);
|
||||
const docsAtencaoCount = Number(opts?.docsAtencaoCount || 0);
|
||||
|
||||
const mismatchBadge = mismatchCount > 0
|
||||
? { badge: String(mismatchCount), badgeClass: 'p-badge p-badge-danger' }
|
||||
: {}
|
||||
const mismatchBadge = mismatchCount > 0 ? { badge: String(mismatchCount), badgeClass: 'p-badge p-badge-danger' } : {};
|
||||
|
||||
const docsBadge = docsAtencaoCount > 0
|
||||
? { badge: String(docsAtencaoCount), badgeClass: 'p-badge p-badge-danger' }
|
||||
: {}
|
||||
const docsBadge = docsAtencaoCount > 0 ? { badge: String(docsAtencaoCount), badgeClass: 'p-badge p-badge-danger' } : {};
|
||||
|
||||
return [
|
||||
{
|
||||
label: 'Início',
|
||||
items: [
|
||||
{ label: 'Dashboard', icon: 'pi pi-fw pi-chart-bar', to: '/saas' }
|
||||
]
|
||||
},
|
||||
|
||||
{
|
||||
label: 'Planos',
|
||||
items: [
|
||||
{ label: 'Planos e Preços', icon: 'pi pi-fw pi-list', to: '/saas/plans' },
|
||||
{ label: 'Vitrine Pública', icon: 'pi pi-fw pi-megaphone', to: '/saas/plans-public' },
|
||||
{ label: 'Recursos', icon: 'pi pi-fw pi-bolt', to: '/saas/features' },
|
||||
{ label: 'Controle de Recursos',icon: 'pi pi-fw pi-th-large', to: '/saas/plan-features' },
|
||||
{ label: 'Limites por Plano', icon: 'pi pi-fw pi-sliders-h', to: '/saas/plan-limits' }
|
||||
]
|
||||
},
|
||||
|
||||
{
|
||||
label: 'Assinaturas',
|
||||
items: [
|
||||
{ label: 'Listagem', icon: 'pi pi-fw pi-list', to: '/saas/subscriptions' },
|
||||
{ label: 'Intenções', icon: 'pi pi-fw pi-inbox', to: '/saas/subscription-intents' },
|
||||
{ label: 'Histórico', icon: 'pi pi-fw pi-history', to: '/saas/subscription-events' },
|
||||
return [
|
||||
{
|
||||
label: 'Saúde das Assinaturas',
|
||||
icon: 'pi pi-fw pi-shield',
|
||||
to: '/saas/subscription-health',
|
||||
...mismatchBadge
|
||||
}
|
||||
]
|
||||
},
|
||||
|
||||
{
|
||||
label: 'Operações',
|
||||
items: [
|
||||
{ label: 'Clínicas (Tenants)', icon: 'pi pi-fw pi-users', to: '/saas/tenants' },
|
||||
{ label: 'Feriados', icon: 'pi pi-fw pi-star', to: '/saas/feriados' },
|
||||
{ label: 'Suporte Técnico', icon: 'pi pi-fw pi-headphones', to: '/saas/support' }
|
||||
]
|
||||
},
|
||||
|
||||
{
|
||||
label: 'Conteúdo',
|
||||
items: [
|
||||
{
|
||||
label: 'Documentação',
|
||||
icon: 'pi pi-fw pi-question-circle',
|
||||
to: '/saas/docs',
|
||||
...docsBadge
|
||||
label: 'Início',
|
||||
items: [{ label: 'Dashboard', icon: 'pi pi-fw pi-chart-bar', to: '/saas' }]
|
||||
},
|
||||
{ label: 'FAQ', icon: 'pi pi-fw pi-comments', to: '/saas/faq' },
|
||||
{ label: 'Carrossel Login', icon: 'pi pi-fw pi-images', to: '/saas/login-carousel' },
|
||||
{ label: 'Avisos Globais', icon: 'pi pi-fw pi-megaphone', to: '/saas/global-notices' },
|
||||
{ label: 'Templates de E-mail', icon: 'pi pi-fw pi-envelope', to: '/saas/email-templates' }
|
||||
]
|
||||
}
|
||||
]
|
||||
|
||||
{
|
||||
label: 'Planos',
|
||||
items: [
|
||||
{ label: 'Planos e Preços', icon: 'pi pi-fw pi-list', to: '/saas/plans' },
|
||||
{ label: 'Vitrine Pública', icon: 'pi pi-fw pi-megaphone', to: '/saas/plans-public' },
|
||||
{ label: 'Recursos', icon: 'pi pi-fw pi-bolt', to: '/saas/features' },
|
||||
{ label: 'Controle de Recursos', icon: 'pi pi-fw pi-th-large', to: '/saas/plan-features' },
|
||||
{ label: 'Limites por Plano', icon: 'pi pi-fw pi-sliders-h', to: '/saas/plan-limits' }
|
||||
]
|
||||
},
|
||||
|
||||
{
|
||||
label: 'Assinaturas',
|
||||
items: [
|
||||
{ label: 'Listagem', icon: 'pi pi-fw pi-list', to: '/saas/subscriptions' },
|
||||
{ label: 'Intenções', icon: 'pi pi-fw pi-inbox', to: '/saas/subscription-intents' },
|
||||
{ label: 'Histórico', icon: 'pi pi-fw pi-history', to: '/saas/subscription-events' },
|
||||
{
|
||||
label: 'Saúde das Assinaturas',
|
||||
icon: 'pi pi-fw pi-shield',
|
||||
to: '/saas/subscription-health',
|
||||
...mismatchBadge
|
||||
}
|
||||
]
|
||||
},
|
||||
|
||||
{
|
||||
label: 'Operações',
|
||||
items: [
|
||||
{ label: 'Clínicas (Tenants)', icon: 'pi pi-fw pi-users', to: '/saas/tenants' },
|
||||
{ label: 'Feriados', icon: 'pi pi-fw pi-star', to: '/saas/feriados' },
|
||||
{ label: 'Suporte Técnico', icon: 'pi pi-fw pi-headphones', to: '/saas/support' }
|
||||
]
|
||||
},
|
||||
|
||||
{
|
||||
label: 'Canais',
|
||||
items: [
|
||||
{ label: 'WhatsApp', icon: 'pi pi-fw pi-whatsapp', to: '/saas/whatsapp' },
|
||||
{ label: 'Templates WhatsApp/SMS', icon: 'pi pi-fw pi-comment', to: '/saas/notification-templates' },
|
||||
{ label: 'Add-ons / Créditos SMS', icon: 'pi pi-fw pi-box', to: '/saas/addons' }
|
||||
]
|
||||
},
|
||||
|
||||
{
|
||||
label: 'Conteúdo',
|
||||
items: [
|
||||
{
|
||||
label: 'Documentação',
|
||||
icon: 'pi pi-fw pi-question-circle',
|
||||
to: '/saas/docs',
|
||||
...docsBadge
|
||||
},
|
||||
{ label: 'FAQ', icon: 'pi pi-fw pi-comments', to: '/saas/faq' },
|
||||
{ label: 'Carrossel Login', icon: 'pi pi-fw pi-images', to: '/saas/login-carousel' },
|
||||
{ label: 'Avisos Globais', icon: 'pi pi-fw pi-megaphone', to: '/saas/global-notices' },
|
||||
{ label: 'Templates de E-mail', icon: 'pi pi-fw pi-envelope', to: '/saas/email-templates' }
|
||||
]
|
||||
}
|
||||
];
|
||||
}
|
||||
|
||||
@@ -16,31 +16,29 @@
|
||||
*/
|
||||
|
||||
export default [
|
||||
{
|
||||
label: 'Início',
|
||||
items: [
|
||||
{ label: 'Dashboard', icon: 'pi pi-fw pi-home', to: '/supervisor' }
|
||||
]
|
||||
},
|
||||
{
|
||||
label: 'Início',
|
||||
items: [{ label: 'Dashboard', icon: 'pi pi-fw pi-home', to: '/supervisor' }]
|
||||
},
|
||||
|
||||
{
|
||||
label: 'Supervisão',
|
||||
items: [
|
||||
{
|
||||
label: 'Sala de Supervisão',
|
||||
icon: 'pi pi-fw pi-users',
|
||||
to: '/supervisor/sala',
|
||||
feature: 'supervisor.access'
|
||||
}
|
||||
]
|
||||
},
|
||||
{
|
||||
label: 'Supervisão',
|
||||
items: [
|
||||
{
|
||||
label: 'Sala de Supervisão',
|
||||
icon: 'pi pi-fw pi-users',
|
||||
to: '/supervisor/sala',
|
||||
feature: 'supervisor.access'
|
||||
}
|
||||
]
|
||||
},
|
||||
|
||||
{
|
||||
label: 'Conta',
|
||||
items: [
|
||||
{ label: 'Meu plano', icon: 'pi pi-fw pi-credit-card', to: '/supervisor/meu-plano' },
|
||||
{ label: 'Meu Perfil', icon: 'pi pi-fw pi-user', to: '/account/profile' },
|
||||
{ label: 'Segurança', icon: 'pi pi-fw pi-shield', to: '/account/security' }
|
||||
]
|
||||
}
|
||||
]
|
||||
{
|
||||
label: 'Conta',
|
||||
items: [
|
||||
{ label: 'Meu plano', icon: 'pi pi-fw pi-credit-card', to: '/supervisor/meu-plano' },
|
||||
{ label: 'Meu Perfil', icon: 'pi pi-fw pi-user', to: '/account/profile' },
|
||||
{ label: 'Segurança', icon: 'pi pi-fw pi-shield', to: '/account/security' }
|
||||
]
|
||||
}
|
||||
];
|
||||
|
||||
@@ -16,75 +16,71 @@
|
||||
*/
|
||||
|
||||
export default [
|
||||
{
|
||||
label: 'Início',
|
||||
items: [
|
||||
{ label: 'Dashboard', icon: 'pi pi-fw pi-home', to: '/therapist' }
|
||||
]
|
||||
},
|
||||
{
|
||||
label: 'Início',
|
||||
items: [{ label: 'Dashboard', icon: 'pi pi-fw pi-home', to: '/therapist' }]
|
||||
},
|
||||
|
||||
{
|
||||
label: 'Agenda',
|
||||
items: [
|
||||
{ label: 'Agenda', icon: 'pi pi-fw pi-calendar', to: '/therapist/agenda', feature: 'agenda.view', proBadge: true, badgeKey: 'agendaHoje' },
|
||||
{ label: 'Recorrências', icon: 'pi pi-fw pi-refresh', to: '/therapist/agenda/recorrencias', feature: 'agenda.view', proBadge: true },
|
||||
{ label: 'Compromissos', icon: 'pi pi-fw pi-clock', to: '/therapist/agenda/compromissos', feature: 'agenda.view', proBadge: true }
|
||||
]
|
||||
},
|
||||
{
|
||||
label: 'Agenda',
|
||||
items: [
|
||||
{ label: 'Agenda', icon: 'pi pi-fw pi-calendar', to: '/therapist/agenda', feature: 'agenda.view', proBadge: true, badgeKey: 'agendaHoje' },
|
||||
{ label: 'Recorrências', icon: 'pi pi-fw pi-refresh', to: '/therapist/agenda/recorrencias', feature: 'agenda.view', proBadge: true },
|
||||
{ label: 'Compromissos', icon: 'pi pi-fw pi-clock', to: '/therapist/agenda/compromissos', feature: 'agenda.view', proBadge: true }
|
||||
]
|
||||
},
|
||||
|
||||
{
|
||||
label: 'Pacientes',
|
||||
items: [
|
||||
{ label: 'Meus pacientes', icon: 'pi pi-list', to: '/therapist/patients', quickCreate: true, quickCreateRoute: 'therapist-patients-cadastro', quickCreateLinkTo: '/therapist/patients/link-externo' },
|
||||
{ label: 'Grupo de pacientes', icon: 'pi pi-fw pi-users', to: '/therapist/patients/grupos' },
|
||||
{ label: 'Tags', icon: 'pi pi-tags', to: '/therapist/patients/tags' },
|
||||
{ label: 'Meu link de cadastro', icon: 'pi pi-link', to: '/therapist/patients/link-externo' },
|
||||
{ label: 'Cadastros recebidos', icon: 'pi pi-inbox', to: '/therapist/patients/cadastro/recebidos', badgeKey: 'cadastrosRecebidos' }
|
||||
]
|
||||
},
|
||||
{
|
||||
label: 'Pacientes',
|
||||
items: [
|
||||
{ label: 'Meus pacientes', icon: 'pi pi-list', to: '/therapist/patients', quickCreate: true, quickCreateRoute: 'therapist-patients-cadastro', quickCreateLinkTo: '/therapist/patients/link-externo' },
|
||||
{ label: 'Grupo de pacientes', icon: 'pi pi-fw pi-users', to: '/therapist/patients/grupos' },
|
||||
{ label: 'Tags', icon: 'pi pi-tags', to: '/therapist/patients/tags' },
|
||||
{ label: 'Meu link de cadastro', icon: 'pi pi-link', to: '/therapist/patients/link-externo' },
|
||||
{ label: 'Cadastros recebidos', icon: 'pi pi-inbox', to: '/therapist/patients/cadastro/recebidos', badgeKey: 'cadastrosRecebidos' }
|
||||
]
|
||||
},
|
||||
|
||||
{
|
||||
label: 'Agendamento Online',
|
||||
items: [
|
||||
{
|
||||
label: 'Configurar página',
|
||||
icon: 'pi pi-fw pi-globe',
|
||||
to: '/therapist/online-scheduling',
|
||||
feature: 'online_scheduling.manage',
|
||||
proBadge: true
|
||||
},
|
||||
{
|
||||
label: 'Agendamentos Recebidos',
|
||||
icon: 'pi pi-fw pi-inbox',
|
||||
to: '/therapist/agendamentos-recebidos',
|
||||
feature: 'online_scheduling.manage',
|
||||
proBadge: true,
|
||||
badgeKey: 'agendamentosRecebidos'
|
||||
}
|
||||
]
|
||||
},
|
||||
{
|
||||
label: 'Agendamento Online',
|
||||
items: [
|
||||
{
|
||||
label: 'Configurar página',
|
||||
icon: 'pi pi-fw pi-globe',
|
||||
to: '/therapist/online-scheduling',
|
||||
feature: 'online_scheduling.manage',
|
||||
proBadge: true
|
||||
},
|
||||
{
|
||||
label: 'Agendamentos Recebidos',
|
||||
icon: 'pi pi-fw pi-inbox',
|
||||
to: '/therapist/agendamentos-recebidos',
|
||||
feature: 'online_scheduling.manage',
|
||||
proBadge: true,
|
||||
badgeKey: 'agendamentosRecebidos'
|
||||
}
|
||||
]
|
||||
},
|
||||
|
||||
{
|
||||
label: 'Financeiro',
|
||||
items: [
|
||||
{ label: 'Cobranças', icon: 'pi pi-fw pi-wallet', to: '/therapist/financeiro' },
|
||||
{ label: 'Lançamentos', icon: 'pi pi-fw pi-list', to: '/therapist/financeiro/lancamentos' }
|
||||
]
|
||||
},
|
||||
{
|
||||
label: 'Financeiro',
|
||||
items: [
|
||||
{ label: 'Cobranças', icon: 'pi pi-fw pi-wallet', to: '/therapist/financeiro' },
|
||||
{ label: 'Lançamentos', icon: 'pi pi-fw pi-list', to: '/therapist/financeiro/lancamentos' }
|
||||
]
|
||||
},
|
||||
|
||||
{
|
||||
label: 'Relatórios',
|
||||
items: [
|
||||
{ label: 'Relatórios', icon: 'pi pi-fw pi-chart-bar', to: '/therapist/relatorios', feature: 'agenda.view' }
|
||||
]
|
||||
},
|
||||
{
|
||||
label: 'Relatórios',
|
||||
items: [{ label: 'Relatórios', icon: 'pi pi-fw pi-chart-bar', to: '/therapist/relatorios', feature: 'agenda.view' }]
|
||||
},
|
||||
|
||||
{
|
||||
label: 'Conta',
|
||||
items: [
|
||||
{ label: 'Meu plano', icon: 'pi pi-fw pi-credit-card', to: '/therapist/meu-plano' },
|
||||
{ label: 'Meu Perfil', icon: 'pi pi-fw pi-user', to: '/account/profile' },
|
||||
{ label: 'Segurança', icon: 'pi pi-fw pi-shield', to: '/account/security' }
|
||||
]
|
||||
}
|
||||
]
|
||||
{
|
||||
label: 'Conta',
|
||||
items: [
|
||||
{ label: 'Meu plano', icon: 'pi pi-fw pi-credit-card', to: '/therapist/meu-plano' },
|
||||
{ label: 'Meu Perfil', icon: 'pi pi-fw pi-user', to: '/account/profile' },
|
||||
{ label: 'Segurança', icon: 'pi pi-fw pi-shield', to: '/account/security' }
|
||||
]
|
||||
}
|
||||
];
|
||||
|
||||
Reference in New Issue
Block a user