// ... existing imports ... import { UserCircleIcon, Cog6ToothIcon, QuestionMarkCircleIcon, ArrowLeftStartOnRectangleIcon } from "@heroicons/react/24/outline"; import { useClickOutside } from "@web/src/hooks/useClickOutside"; import { useAuth } from "@web/src/providers/auth-provider"; import { motion, AnimatePresence } from "framer-motion"; import { useState, useRef } from "react"; import { Avatar } from "../../common/element/Avatar"; export function UserMenu() { const [showMenu, setShowMenu] = useState(false); const menuRef = useRef(null); const { user, logout } = useAuth(); useClickOutside(menuRef, () => setShowMenu(false)); const menuItems = [ { icon: , label: '个人信息', action: () => { }, color: 'text-primary-600' }, { icon: , label: '设置', action: () => { }, color: 'text-gray-600' }, { icon: , label: '帮助', action: () => { }, color: 'text-gray-600' }, { icon: , label: '注销', action: () => logout(), color: 'text-red-600' }, ]; return (
setShowMenu(!showMenu)} className="relative rounded-full focus:outline-none focus:ring-2 focus:ring-blue-500 focus:ring-offset-2 focus:ring-offset-[#13294B]" > {showMenu && (

{user?.showname}

{user?.username}

{menuItems.map((item, index) => ( {item.icon} {item.label} ))}
)}
); }