import { Globe, Boxes, Radar, Calendar, BarChart2, LineChart, FileText, Settings, User, UserCog, Bell, FileClock, Database, RefreshCw, Info, ChevronDown, BookOpen } from "lucide-react"; import { useTheme } from "@/contexts/ThemeContext"; import { Link, useLocation } from "react-router-dom"; import { useState, useEffect } from "react"; import { Collapsible, CollapsibleContent, CollapsibleTrigger } from "@/components/ui/collapsible"; import { ScrollArea } from "@/components/ui/scroll-area"; import { useLanguage } from "@/contexts/LanguageContext"; interface SidebarProps { collapsed: boolean; } export const Sidebar = ({ collapsed }: SidebarProps) => { const { theme } = useTheme(); const { t } = useLanguage(); const location = useLocation(); const [activeSettingsItem, setActiveSettingsItem] = useState("general"); const [settingsPanelOpen, setSettingsPanelOpen] = useState(false); // Update active settings item based on URL useEffect(() => { if (location.pathname === '/settings') { const params = new URLSearchParams(location.search); const panel = params.get('panel'); if (panel) { setActiveSettingsItem(panel); } } }, [location]); const handleSettingsItemClick = (item: string) => { setActiveSettingsItem(item); }; const getMenuItemClasses = (isActive: boolean) => { return `p-2 ${isActive ? theme === 'dark' ? 'bg-[#1a1a1a]' : 'bg-sidebar-accent' : `hover:${theme === 'dark' ? 'bg-[#1a1a1a]' : 'bg-sidebar-accent'}`} rounded-lg flex items-center`; }; // New larger icon size for the main menu const mainIconSize = "h-6 w-6"; return
C
{!collapsed &&

CheckCle App

}
{!collapsed &&
{t("settingPanel")}
handleSettingsItemClick('general')}> {t("generalSettings")} handleSettingsItemClick('users')}> {t("userManagement")} handleSettingsItemClick('notifications')}> {t("notificationSettings")} handleSettingsItemClick('templates')}> {t("alertsTemplates")} handleSettingsItemClick('data-retention')}> {t("dataRetention")} handleSettingsItemClick('about')}> {t("aboutSystem")}
} {collapsed &&
}
; };