import { useState } from "react"; import { Link, useLocation } from "react-router-dom"; import { Button } from "@/components/ui/button"; import { Menu, X, LayoutDashboard, FolderGit2, Zap, ListTodo, Settings, Trash2, FileText, ChevronLeft, ChevronRight, Github, Terminal } from "lucide-react"; import routes from "@/app/routes"; // Icon mapping for routes const routeIcons: Record = { "/": , "/projects": , "/instant-analysis": , "/audit-tasks": , "/admin": , "/recycle-bin": , "/logs": , }; interface SidebarProps { collapsed: boolean; setCollapsed: (collapsed: boolean) => void; } export default function Sidebar({ collapsed, setCollapsed }: SidebarProps) { const location = useLocation(); const [mobileOpen, setMobileOpen] = useState(false); const visibleRoutes = routes.filter(route => route.visible !== false); return ( <> {/* Mobile Menu Button */} {/* Overlay for mobile */} {mobileOpen && (
setMobileOpen(false)} /> )} {/* Sidebar */} ); }