'use client' import { useState } from 'react' import { usePathname } from 'next/navigation' import Link from 'next/link' import { signOut } from 'next-auth/react' import { Button } from "@/registry/new-york/ui/button" import { Separator } from "@/registry/new-york/ui/separator" import { LayoutDashboard, ListTodo, Settings, ChevronLeft, ChevronRight, ChevronDown, LogOut, Home, Moon, Sun, Monitor, Database, } from "lucide-react" import { cn } from '@/lib/utils' import { DropdownMenu, DropdownMenuContent, DropdownMenuItem, DropdownMenuLabel, DropdownMenuSeparator, DropdownMenuTrigger, DropdownMenuSub, DropdownMenuSubContent, DropdownMenuSubTrigger, } from "@/registry/new-york/ui/dropdown-menu" import { Avatar, AvatarImage, AvatarFallback } from "@/registry/new-york/ui/avatar" import { useTheme } from "next-themes" interface AdminLayoutClientProps { children: React.ReactNode user: any } const menuItems = [ { title: "仪表盘", href: "/admin", icon: LayoutDashboard }, { title: "导航管理", href: "/admin/navigation", icon: ListTodo, subItems: [ { title: "分类管理", href: "/admin/navigation" }, { title: "站点管理", href: "/admin/sitelist" } ] }, { title: "资源管理", href: "/admin/resources", icon: Settings, subItems: [ { title: "资源管理", href: "/admin/resources" },{ title: "网站图标下载", href: "/admin/resources/download" } ] }, { title: "数据管理", href: "/admin/data", icon: Database }, { title: "站点设置", href: "/admin/site", icon: Settings, onClick: undefined } ] export function AdminLayoutClient({ children, user }: AdminLayoutClientProps) { const pathname = usePathname() const [isSidebarCollapsed, setIsSidebarCollapsed] = useState(false) const [expandedItems, setExpandedItems] = useState([]) const { setTheme } = useTheme() const toggleMenuItem = (href: string) => { setExpandedItems(prev => prev.includes(href) ? prev.filter(item => item !== href) : [...prev, href] ) } return (
Logo
{!isSidebarCollapsed && (
NavSphere 管理控制台
)}
{!isSidebarCollapsed && (

管理菜单

)}

{user.name}

{user.email}

前台首页 主题 setTheme("light")}> 浅色 setTheme("dark")}> 深色 setTheme("system")}> 跟随系统 signOut({ callbackUrl: '/' })} > 退出登录
{children}
) }