import { useState } from 'react' import { NavLink, Outlet, useLocation } from 'react-router-dom' import { HiChevronRight, HiAcademicCap, HiBookOpen, HiDocumentText, HiQuestionMarkCircle, HiUserGroup, HiCog6Tooth, HiOutlineUserCircle, } from 'react-icons/hi2' import { toast } from 'sonner' import { navigationItems } from '../config/navigation.js' import { DropdownMenu, DropdownMenuTrigger, DropdownMenuContent, DropdownMenuItem, } from '../components/ui/dropdown-menu.jsx' const iconMap = { '/courses': HiBookOpen, '/lessons': HiDocumentText, '/question-bank': HiQuestionMarkCircle, '/users': HiUserGroup, '/settings': HiCog6Tooth, } function SidebarItem({ item }) { const [open, setOpen] = useState(false) const hasChildren = item.children && item.children.length > 0 const location = useLocation() const isChildActive = hasChildren && item.children.some((c) => location.pathname === c.path) const Icon = iconMap[item.path] if (!hasChildren) { return ( isActive ? 'sidebar__link sidebar__link--active' : 'sidebar__link' } title={item.label} > {Icon ? : item.shortLabel} {item.label} ) } return (
{open && (
{item.children.map((child) => ( isActive ? 'sidebar__sublink sidebar__sublink--active' : 'sidebar__sublink' } > {child.label} ))}
)}
) } function MainLayout() { return (
) } export default MainLayout