"use client"; import Link from "next/link"; import { ChevronRight, type LucideIcon } from "lucide-react"; import { Collapsible, CollapsibleContent, CollapsibleTrigger } from "@/components/ui/collapsible"; import { SidebarGroup, SidebarGroupLabel, SidebarMenu, SidebarMenuButton, SidebarMenuItem, SidebarMenuSub, SidebarMenuSubButton, SidebarMenuSubItem, } from "@/components/ui/sidebar"; export function NavCore({ label, items, }: { label: string; items: { title: string; url: string; icon: LucideIcon; isActive?: boolean; items?: { title: string; url: string; icon?: LucideIcon; }[]; }[]; }) { if (items.length === 0) return null; return ( {label} {items.map((item) => { const hasChildren = (item.items?.length ?? 0) > 0; return ( {hasChildren ? ( <> {item.title} {item.items?.map((subItem) => ( {subItem.icon ? : null} {subItem.title} ))} ) : ( {item.title} )} ); })} ); }