"use client" import { ChevronRight, type LucideIcon } from "lucide-react" import Link from "next/link" import { usePathname } from "next/navigation" import { Collapsible, CollapsibleContent, CollapsibleTrigger, } from "@/components/ui/collapsible" import { SidebarGroup, SidebarGroupLabel, SidebarMenu, SidebarMenuButton, SidebarMenuItem, SidebarMenuSub, SidebarMenuSubButton, SidebarMenuSubItem, } from "@/components/ui/sidebar" export function NavMain({ label, items, }: { label: string items: { title: string url: string icon?: LucideIcon isActive?: boolean items?: { title: string url: string isActive?: boolean }[] }[] }) { const pathname = usePathname() // Check if any subitem is active to determine if parent should be open const shouldBeOpen = (item: typeof items[0]) => { if (item.isActive) return true return item.items?.some(subItem => pathname === subItem.url) || false } return ( {label} {items.map((item) => ( {item.items?.length ? ( <> {item.icon && } {item.title} {item.items?.map((subItem) => ( {subItem.title} ))} ) : ( {item.icon && } {item.title} )} ))} ) }