"use client" import type { ComponentProps } from "react" import Link from "next/link" import { useMemo } from "react" import { filterDashboardNavForSession, filterDashboardSecondaryNavForSession, } from "@/lib/navigation" import { useAuth } from "@/components/auth-provider" import { NavMain } from "@/components/nav-main" import { NavSecondary } from "@/components/nav-secondary" import { NavUser } from "@/components/nav-user" import { Sidebar, SidebarContent, SidebarFooter, SidebarHeader, SidebarMenu, SidebarMenuButton, SidebarMenuItem, } from "@/components/ui/sidebar" export function AppSidebar({ ...props }: ComponentProps) { const { session } = useAuth() const navSections = useMemo( () => filterDashboardNavForSession(session?.permissions, session?.roles), [session?.permissions, session?.roles] ) const secondaryNavItems = useMemo( () => filterDashboardSecondaryNavForSession(session?.permissions, session?.roles), [session?.permissions, session?.roles] ) const user = { name: session?.user.nickname || session?.user.username || "未登录", email: session?.user.username || "guest", avatar: session?.user.avatar || "", } return ( } > 贝壳AGENT 贝壳AGENT {navSections.map((section) => ( ))} {secondaryNavItems.length > 0 ? ( ) : null} ) }