import React from 'react'; import { Users, Calendar as CalendarIcon, LayoutDashboard, Stethoscope, DollarSign, RefreshCw, Database, Activity, BookOpen, Award, Megaphone, LogOut, ClipboardList, Bell, Building2, User, BarChart3, Settings, FileText } from 'lucide-react'; import { HybridBackend } from '../services/backend.ts'; interface SidebarProps { activeTab: string; setActiveTab: (t: string) => void; } export const Sidebar: React.FC = ({ activeTab, setActiveTab }) => { const currentRole = HybridBackend.getCurrentRole(); const userName = HybridBackend.getCurrentUserName(); const userEmail = HybridBackend.getCurrentUser(); const activeWorkspace = HybridBackend.getActiveWorkspace(); const clinColor = activeWorkspace?.cor || '#2563eb'; const menuItems = [ { id: 'dashboard', label: 'VISÃO GERAL', icon: LayoutDashboard }, { id: 'clinicas', label: 'MINHAS CLÍNICAS', icon: Building2 }, { id: 'leads', label: 'GESTÃO DE LEADS', icon: Megaphone }, { id: 'pacientes', label: 'PACIENTES', icon: Users }, { id: 'tratamentos', label: 'MEUS TRATAMENTOS', icon: ClipboardList }, { id: 'lancar-gto', label: 'LANÇAR GTO', icon: ClipboardList }, { id: 'agenda', label: 'AGENDA', icon: CalendarIcon }, { id: 'ortodontia', label: 'ORTODONTIA', icon: Activity }, { id: 'financeiro', label: 'FINANCEIRO', icon: DollarSign }, { id: 'contratos', label: 'CONTRATOS', icon: FileText }, { id: 'relatorios', label: 'RELATÓRIOS', icon: BarChart3 }, { id: 'dentistas', label: 'DENTISTAS', icon: Stethoscope }, { id: 'especialidades', label: 'ESPECIALIDADES', icon: Award }, { id: 'procedimentos', label: 'PROCEDIMENTOS', icon: ClipboardList }, { id: 'planos', label: 'PLANOS / CONVÊNIOS', icon: BookOpen }, { id: 'notificacoes', label: 'NOTIFICAÇÕES', icon: Bell }, { id: 'sync', label: 'SINCRONIZAÇÃO', icon: RefreshCw }, { id: 'configuracoes', label: 'CONFIGURAÇÕES', icon: Settings }, ].filter(item => { if (['admin', 'donoclinica'].includes(currentRole)) return true; if (currentRole === 'paciente') return ['tratamentos', 'notificacoes', 'configuracoes'].includes(item.id); if (currentRole === 'dentista') return ['dashboard', 'pacientes', 'tratamentos', 'agenda', 'ortodontia', 'notificacoes', 'clinicas', 'configuracoes', 'contratos'].includes(item.id); if (currentRole === 'funcionario') return ['dashboard', 'leads', 'pacientes', 'tratamentos', 'lancar-gto', 'agenda', 'financeiro', 'relatorios', 'notificacoes', 'clinicas', 'configuracoes', 'contratos'].includes(item.id); return false; }); const handleLogout = () => { if (window.confirm('TEM CERTEZA QUE DESEJA SAIR DO SISTEMA?')) { HybridBackend.logout(); } }; return (
SCOREODONTO POSTGRESQL + GOOGLE
); };