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:
@@ -18,67 +18,60 @@
|
||||
// Menus com `to` em string são extraídos automaticamente.
|
||||
// O menu da Clínica usa route names, então suas páginas são listadas manualmente.
|
||||
|
||||
import therapistMenuRaw from '@/navigation/menus/therapist.menu.js'
|
||||
import saasMenuFn from '@/navigation/menus/saas.menu.js'
|
||||
import therapistMenuRaw from '@/navigation/menus/therapist.menu.js';
|
||||
import saasMenuFn from '@/navigation/menus/saas.menu.js';
|
||||
|
||||
function flattenItems (items = [], groupLabel = '') {
|
||||
const result = []
|
||||
for (const item of items) {
|
||||
const to = item.to
|
||||
if (to && typeof to === 'string' && item.label) {
|
||||
const prefix = groupLabel ? `${groupLabel} · ` : ''
|
||||
result.push({ label: `${prefix}${item.label}`, path: to })
|
||||
function flattenItems(items = [], groupLabel = '') {
|
||||
const result = [];
|
||||
for (const item of items) {
|
||||
const to = item.to;
|
||||
if (to && typeof to === 'string' && item.label) {
|
||||
const prefix = groupLabel ? `${groupLabel} · ` : '';
|
||||
result.push({ label: `${prefix}${item.label}`, path: to });
|
||||
}
|
||||
if (item.items?.length) {
|
||||
result.push(...flattenItems(item.items, item.label || groupLabel));
|
||||
}
|
||||
}
|
||||
if (item.items?.length) {
|
||||
result.push(...flattenItems(item.items, item.label || groupLabel))
|
||||
}
|
||||
}
|
||||
return result
|
||||
return result;
|
||||
}
|
||||
|
||||
function flattenMenu (menu = []) {
|
||||
const result = []
|
||||
for (const group of menu) {
|
||||
if (group.items?.length) {
|
||||
result.push(...flattenItems(group.items, group.label))
|
||||
} else if (group.to && typeof group.to === 'string' && group.label) {
|
||||
result.push({ label: group.label, path: group.to })
|
||||
function flattenMenu(menu = []) {
|
||||
const result = [];
|
||||
for (const group of menu) {
|
||||
if (group.items?.length) {
|
||||
result.push(...flattenItems(group.items, group.label));
|
||||
} else if (group.to && typeof group.to === 'string' && group.label) {
|
||||
result.push({ label: group.label, path: group.to });
|
||||
}
|
||||
}
|
||||
}
|
||||
return result
|
||||
return result;
|
||||
}
|
||||
|
||||
const therapistPages = flattenMenu(therapistMenuRaw)
|
||||
.map(p => ({ ...p, label: `Terapeuta · ${p.label}` }))
|
||||
const therapistPages = flattenMenu(therapistMenuRaw).map((p) => ({ ...p, label: `Terapeuta · ${p.label}` }));
|
||||
|
||||
const saasPages = flattenMenu(saasMenuFn({ isSaasAdmin: true }))
|
||||
.map(p => ({ ...p, label: `SaaS · ${p.label}` }))
|
||||
const saasPages = flattenMenu(saasMenuFn({ isSaasAdmin: true })).map((p) => ({ ...p, label: `SaaS · ${p.label}` }));
|
||||
|
||||
// Clínica usa route names → listagem manual com os paths reais das rotas
|
||||
const clinicPages = [
|
||||
{ label: 'Clínica · Dashboard', path: '/admin' },
|
||||
{ label: 'Clínica · Agenda da Clínica', path: '/admin/agenda/clinica' },
|
||||
{ label: 'Clínica · Compromissos', path: '/admin/agenda/compromissos' },
|
||||
{ label: 'Clínica · Lista de Pacientes', path: '/admin/pacientes' },
|
||||
{ label: 'Clínica · Grupos de Pacientes', path: '/admin/pacientes/grupos' },
|
||||
{ label: 'Clínica · Tags de Pacientes', path: '/admin/pacientes/tags' },
|
||||
{ label: 'Clínica · Link Externo', path: '/admin/pacientes/link-externo' },
|
||||
{ label: 'Clínica · Cadastros Recebidos', path: '/admin/pacientes/cadastro/recebidos' },
|
||||
{ label: 'Clínica · Profissionais', path: '/admin/clinic/professionals' },
|
||||
{ label: 'Clínica · Tipos de Clínica', path: '/admin/clinic/features' },
|
||||
{ label: 'Clínica · Meu Plano', path: '/admin/meu-plano' },
|
||||
{ label: 'Clínica · Segurança', path: '/admin/settings/security' },
|
||||
{ label: 'Clínica · Agendamento Online', path: '/admin/online-scheduling' },
|
||||
]
|
||||
{ label: 'Clínica · Dashboard', path: '/admin' },
|
||||
{ label: 'Clínica · Agenda da Clínica', path: '/admin/agenda/clinica' },
|
||||
{ label: 'Clínica · Compromissos', path: '/admin/agenda/compromissos' },
|
||||
{ label: 'Clínica · Lista de Pacientes', path: '/admin/pacientes' },
|
||||
{ label: 'Clínica · Grupos de Pacientes', path: '/admin/pacientes/grupos' },
|
||||
{ label: 'Clínica · Tags de Pacientes', path: '/admin/pacientes/tags' },
|
||||
{ label: 'Clínica · Link Externo', path: '/admin/pacientes/link-externo' },
|
||||
{ label: 'Clínica · Cadastros Recebidos', path: '/admin/pacientes/cadastro/recebidos' },
|
||||
{ label: 'Clínica · Profissionais', path: '/admin/clinic/professionals' },
|
||||
{ label: 'Clínica · Tipos de Clínica', path: '/admin/clinic/features' },
|
||||
{ label: 'Clínica · Meu Plano', path: '/admin/meu-plano' },
|
||||
{ label: 'Clínica · Segurança', path: '/admin/settings/security' },
|
||||
{ label: 'Clínica · Agendamento Online', path: '/admin/online-scheduling' }
|
||||
];
|
||||
|
||||
const portalPages = [
|
||||
{ label: 'Portal · Dashboard', path: '/portal' },
|
||||
{ label: 'Portal · Minhas Sessões', path: '/portal/sessoes' },
|
||||
]
|
||||
{ label: 'Portal · Dashboard', path: '/portal' },
|
||||
{ label: 'Portal · Minhas Sessões', path: '/portal/sessoes' }
|
||||
];
|
||||
|
||||
export const PAGE_OPTIONS = [
|
||||
...therapistPages,
|
||||
...clinicPages,
|
||||
...saasPages,
|
||||
...portalPages,
|
||||
]
|
||||
export const PAGE_OPTIONS = [...therapistPages, ...clinicPages, ...saasPages, ...portalPages];
|
||||
|
||||
Reference in New Issue
Block a user