import Link from 'next/link'; import Menu from '@/components/menu/Menu'; import { Icon } from '@iconify/react'; import { cn, isPathActive } from '@/lib/helper'; import { useAuth } from '@/services/hooks/useAuth'; export interface SidebarMenuItem { type?: 'item' | 'title'; text: string; link: string; icon?: string; submenu?: SidebarMenuItem[]; permission?: string[]; } interface SidebarMenuItemProps { item: SidebarMenuItem; activeLink: string; } interface SidebarMenuProps { menu: SidebarMenuItem[]; activeLink: string; } const SidebarMenuItem = ({ item, activeLink }: SidebarMenuItemProps) => { const { permissionCheck } = useAuth(); const isItemActive = isPathActive(activeLink, item.link); const isUserPermitted = item.permission ? item.permission?.some((permissionName) => permissionCheck(permissionName)) : true; if (!isUserPermitted) { return null; } const menuItemWithoutSubmenu = (