'use client'; import { IconDotsVertical, IconLogout, IconNotification, IconUserCircle, IconSettings, IconShield, IconHelp, IconMoon, } from '@tabler/icons-react'; import Link from 'next/link'; import { Avatar, AvatarFallback, AvatarImage } from '@nice/ui/components/avatar'; import { DropdownMenu, DropdownMenuContent, DropdownMenuGroup, DropdownMenuItem, DropdownMenuLabel, DropdownMenuSeparator, DropdownMenuTrigger, } from '@nice/ui/components/dropdown-menu'; import { SidebarMenu, SidebarMenuButton, SidebarMenuItem, useSidebar } from '@nice/ui/components/sidebar'; import { useAuth } from '@/components/providers/auth-provider'; import { toast } from '@nice/ui/components/sonner'; import { useRouter } from 'next/navigation'; interface User { id?: string; username: string; avatar?: string; roles?: string[]; sub?: string; } export function NavUser({ user }: { user: User }) { const { isMobile } = useSidebar(); const { logout, isAdmin } = useAuth(); const router = useRouter(); return ( {user?.username.charAt(0).toUpperCase()}
{user?.username} {user?.username + '@fenghuo.com'}
{user?.username.charAt(0).toUpperCase()}
{user?.username} {user?.username + '@fenghuo.com'} {isAdmin() && }
个人资料 系统设置 通知设置 {isAdmin() && ( 管理后台 )} 帮助中心 深色模式 { try { await logout(); toast.success('退出登录成功'); router.push('/auth/login'); } catch (error) { toast.error('退出登录失败'); } }} > 退出登录
); }