"use client" 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" import Link from "next/link" import { Skeleton } from "./ui/skeleton" export function NavMain({ items, }: { items: null | { title: string url: string icon?: LucideIcon isActive?: boolean isHidden?: boolean items?: { title: string url: string isHidden?: boolean }[] }[] }) { return ( 菜单 { !items && Array(5).fill(null).map((_, i) => ( )) } {items && items.filter(i => !i.isHidden).map((item) => ( (item.items && item.items.length > 0) ? ( {item.icon && } {item.title} {item.items.filter(i => !i.isHidden).map((subItem) => ( {subItem.title} ))} ) : ( {item.icon && } {item.title} ) ))} ) }