From 2e90a2ba5f106c70e4343c7cf6e391ded522b311 Mon Sep 17 00:00:00 2001 From: VPS 4 Builder Date: Wed, 24 Jun 2026 07:28:39 +0200 Subject: [PATCH] =?UTF-8?q?chore(protese):=20remove=20menu=20legado=20do?= =?UTF-8?q?=20prot=C3=A9tico=20(higiene)?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit O protético opera dentro do workspace 'laboratorio' (menu governado pelo branch tipo). Remove as telas clínicas legadas (agenda/lancar-gto/proteses/tratamentos/dashboard) do fallback do protético em Sidebar.tsx e da lista de permissões em App.tsx; o fallback fora do contexto laboratório fica mínimo (notificações/clínicas/config/diretório). Co-Authored-By: Claude Opus 4.8 --- frontend/App.tsx | 2 +- frontend/components/Sidebar.tsx | 4 +++- 2 files changed, 4 insertions(+), 2 deletions(-) diff --git a/frontend/App.tsx b/frontend/App.tsx index 7da5916..6f598ec 100644 --- a/frontend/App.tsx +++ b/frontend/App.tsx @@ -329,7 +329,7 @@ const App: React.FC = () => { paciente: ['tratamentos', 'notificacoes', 'configuracoes'], dentista: ['dashboard', 'agenda', 'ortodontia', 'tratamentos', 'lancar-gto', 'proteses', 'notificacoes', 'clinicas', 'configuracoes', 'plugins', 'rx-radiografias', 'salas', 'marketplace-profissionais', 'candidatura-tutor', 'tutoria-painel', 'diretorio-profissionais'], biomedico: ['dashboard', 'agenda', 'tratamentos', 'lancar-gto', 'especialidades', 'procedimentos', 'notificacoes', 'clinicas', 'configuracoes', 'plugins', 'salas', 'marketplace-profissionais', 'diretorio-profissionais'], - protetico: ['dashboard', 'agenda', 'tratamentos', 'lancar-gto', 'proteses', 'lab-home', 'lab-bancada', 'lab-clientes', 'lab-financeiro', 'lab-equipe', 'lab-indicadores', 'notificacoes', 'clinicas', 'configuracoes', 'plugins', 'salas', 'marketplace-profissionais', 'diretorio-profissionais'], + protetico: ['lab-home', 'lab-bancada', 'lab-clientes', 'lab-financeiro', 'lab-equipe', 'lab-indicadores', 'notificacoes', 'clinicas', 'configuracoes', 'plugins', 'salas', 'marketplace-profissionais', 'diretorio-profissionais'], funcionario: ['dashboard', 'leads', 'pacientes', 'agenda', 'financeiro', 'tratamentos', 'lancar-gto', 'proteses', 'relatorios', 'notificacoes', 'clinicas', 'configuracoes', 'orcamentos', 'contratos', 'plugins', 'rx-radiografias', 'salas', 'marketplace-profissionais', 'candidatura-tutor', 'diretorio-profissionais'], }; diff --git a/frontend/components/Sidebar.tsx b/frontend/components/Sidebar.tsx index 30c052f..5fa80bb 100644 --- a/frontend/components/Sidebar.tsx +++ b/frontend/components/Sidebar.tsx @@ -149,7 +149,9 @@ export const Sidebar: React.FC = ({ activeTab, setActiveTab }) => // SEM itens odontológicos (ortodontia, RX, tutoria orto). if (currentRole === 'biomedico') return ['dashboard', 'agenda', 'tratamentos', 'especialidades', 'procedimentos', 'notificacoes', 'clinicas', 'configuracoes', 'diretorio-profissionais'].includes(item.id); // Protético: laboratório — agenda própria + GTO; sem ortodontia/RX/pacientes clínicos. - if (currentRole === 'protetico') return ['dashboard', 'agenda', 'proteses', 'tratamentos', 'lancar-gto', 'notificacoes', 'clinicas', 'configuracoes', 'diretorio-profissionais'].includes(item.id); + // Protético: opera dentro do workspace 'laboratorio' (menu governado pelo branch tipo acima). + // Este é só o fallback fora desse contexto — sem telas clínicas (agenda/GTO/tratamentos). + if (currentRole === 'protetico') return ['notificacoes', 'clinicas', 'configuracoes', 'diretorio-profissionais'].includes(item.id); if (currentRole === 'funcionario') return ['dashboard', 'leads', 'pacientes', 'tratamentos', 'lancar-gto', 'proteses', 'agenda', 'financeiro', 'relatorios', 'glosas', 'notificacoes', 'clinicas', 'configuracoes', 'orcamentos', 'contratos', 'diretorio-profissionais'].includes(item.id); return false; });