From df7678f70aff7a3f24f2c64a6cbc7166fedb85ba Mon Sep 17 00:00:00 2001 From: VPS 4 Builder Date: Sun, 14 Jun 2026 01:28:45 +0200 Subject: [PATCH] =?UTF-8?q?fix(plugins):=20cat=C3=A1logo=20de=20PLUGINS/AD?= =?UTF-8?q?D-ONS=20=C3=A9=20exclusivo=20do=20superadmin?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit - remove a entrada ADD-ONS/PLUGINS do sidebar p/ papéis operacionais - isViewAllowed('plugins') = false p/ não-superadmin (superadmin já retorna true antes) - menus de feature (RX/Salas/Profissionais) seguem normais p/ operacionais Co-Authored-By: Claude Opus 4.8 --- frontend/App.tsx | 4 ++-- frontend/components/Sidebar.tsx | 6 ++---- 2 files changed, 4 insertions(+), 6 deletions(-) diff --git a/frontend/App.tsx b/frontend/App.tsx index 463c168..1d4069f 100644 --- a/frontend/App.tsx +++ b/frontend/App.tsx @@ -255,8 +255,8 @@ const App: React.FC = () => { // Locação de Salas: capability PESSOAL (add-on por conta), liberada a qualquer // usuário com o plugin ativo na conta — independe de ter clínica/cargo. if (view === 'salas') return isPluginActive('locacao-salas'); - // Catálogo de add-ons: qualquer usuário (menos paciente) pode abrir p/ ativar. - if (view === 'plugins') return role !== 'paciente'; + // Catálogo de PLUGINS: EXCLUSIVO do superadmin (já retorna true acima); ninguém mais. + if (view === 'plugins') return false; // Admin/donos têm acesso amplo, MAS as telas de superadmin são exclusivas do superadmin. if (role === 'admin' || role === 'donoclinica' || role === 'donoconsultorio') return !view.startsWith('superadmin'); diff --git a/frontend/components/Sidebar.tsx b/frontend/components/Sidebar.tsx index f02a741..958c2b5 100644 --- a/frontend/components/Sidebar.tsx +++ b/frontend/components/Sidebar.tsx @@ -44,10 +44,8 @@ export const Sidebar: React.FC = ({ activeTab, setActiveTab }) => if (activePluginIds.includes('profissionais-marketplace') && currentRole !== 'superadmin' && currentRole !== 'paciente') { pluginMenuItems.push({ id: 'marketplace-profissionais', label: 'PROFISSIONAIS', icon: UserSearch, color: '#ea580c' }); } - // Catálogo de add-ons (por conta): qualquer usuário operacional pode abrir p/ ativar (ex.: Salas). - if (currentRole !== 'superadmin' && currentRole !== 'paciente') { - pluginMenuItems.push({ id: 'plugins', label: 'ADD-ONS / PLUGINS', icon: Puzzle, color: '#64748b' }); - } + // OBS: o catálogo de PLUGINS é EXCLUSIVO do superadmin (gerência/ativação). + // Não exibir para nenhum outro papel. const menuItems = [ { id: 'superadmin-overview', label: 'VISÃO GERAL', icon: TrendingUp },