"use client" import { useState, useRef, useEffect } from "react" import Link from "next/link" interface UserMenuProps { user: { name: string email: string image?: string } onSignOut?: () => void } export default function UserMenu({ user, onSignOut }: UserMenuProps) { const [isOpen, setIsOpen] = useState(false) const menuRef = useRef(null) useEffect(() => { function handleClickOutside(event: MouseEvent) { if (menuRef.current && !menuRef.current.contains(event.target as Node)) { setIsOpen(false) } } document.addEventListener("mousedown", handleClickOutside) return () => document.removeEventListener("mousedown", handleClickOutside) }, []) return (
{isOpen && (

{user.name}

{user.email}

setIsOpen(false)} className="flex items-center gap-3 px-4 py-2 text-sm text-gray-300 hover:bg-gray-700 transition-colors" > Dashboard setIsOpen(false)} className="flex items-center gap-3 px-4 py-2 text-sm text-gray-300 hover:bg-gray-700 transition-colors" > Settings
)}
) }