'use client'; import * as DropdownMenu from '@radix-ui/react-dropdown-menu'; import Link from 'next/link'; import { useState } from 'react'; import { avatarInitials, useUserProfile } from '@/lib/hooks/use-user-profile'; import { useMenuNavigation } from '@/lib/hooks/use-menu-navigation'; import { useAuthStore } from '@/stores/auth-store'; import { useLayoutStore } from '@/stores/layout-store'; import { useTabStore } from '@/stores/tab-store'; export function UserMenu() { const logout = useAuthStore((s) => s.logout); const sidebarMode = useLayoutStore((s) => s.sidebarMode); const setSidebarMode = useLayoutStore((s) => s.setSidebarMode); const { profile, userSub, loading, label } = useUserProfile(); const [open, setOpen] = useState(false); const onMenuNavigate = useMenuNavigation(); const initials = avatarInitials(profile, userSub); return (

{label}

{profile?.email ? (

{profile.email}

) : null} {!profile?.email && userSub ? (

ID {userSub}

) : null}
onMenuNavigate('/dashboard', '概览')} > 工作台 onMenuNavigate('/dashboard/account', '个人中心')} > 个人中心

侧栏布局

{ void logout(); }} > 退出登录
); }