import React, { useState } from 'react'; import { LayoutDashboard, Users, BookOpen, CircleDollarSign, Settings, FileSignature, Award, Camera, ListChecks, ChevronLeft, ChevronRight, Menu, X, GraduationCap, Shield, FileText, Cloud, CloudOff, Library, Briefcase, LogOut, MessageSquare, ClipboardList } from 'lucide-react'; import { isSupabaseConfigured } from '../services/supabase'; import { View, User } from '../types'; interface SidebarProps { currentView: View; setView: (view: View) => void; user: User | null; logo?: string; onLogout: () => void; } const Sidebar: React.FC = ({ currentView, setView, user, logo, onLogout }) => { const [isCollapsed, setIsCollapsed] = useState(false); const [isMobileOpen, setIsMobileOpen] = useState(false); const items = [ { id: View.Dashboard, icon: LayoutDashboard, label: 'Dashboard' }, { id: View.Courses, icon: GraduationCap, label: 'Cursos' }, { id: View.Students, icon: Users, label: 'Alunos' }, { id: View.Classes, icon: BookOpen, label: 'Turmas' }, { id: View.Exams, icon: ClipboardList, label: 'Avaliações' }, { id: View.ReportCard, icon: FileText, label: 'Boletim Escolar' }, { id: View.Finance, icon: CircleDollarSign, label: 'Financeiro' }, { id: View.Contracts, icon: FileSignature, label: 'Contratos' }, { id: View.Certificates, icon: Award, label: 'Certificados' }, { id: View.Attendance, icon: Camera, label: 'Frequência' }, { id: View.AttendanceQuery, icon: ListChecks, label: 'Registro de Frequência' }, { id: View.Handouts, icon: Library, label: 'Apostilas' }, { id: View.Employees, icon: Briefcase, label: 'Funcionários' }, { id: View.Users, icon: Shield, label: 'Usuários' }, { id: View.Messages, icon: MessageSquare, label: 'Mensagens' }, { id: View.Settings, icon: Settings, label: 'Configurações' }, ]; const toggleMobile = () => setIsMobileOpen(!isMobileOpen); const supabaseConfigured = isSupabaseConfigured(); return ( <> {/* Mobile Toggle */}

{logo ? Logo : } EduManager

{/* Sidebar Overlay for Mobile */} {isMobileOpen && (
setIsMobileOpen(false)} /> )} {/* Sidebar Container */} ); }; export default Sidebar;