import React, { useState, useRef, useEffect } from 'react'; import { signOut } from 'next-auth/react'; interface UserMenuProps { userEmail?: string | null; onOpenSettings: () => void; trigger?: React.ReactNode; } export default function UserMenu({ userEmail, onOpenSettings, trigger }: UserMenuProps) { const [isOpen, setIsOpen] = useState(false); const menuRef = useRef(null); useEffect(() => { const 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 (
{trigger ? (
setIsOpen(!isOpen)}>{trigger}
) : ( )} {isOpen && (

Signed in as

{userEmail || 'User'}

)}
); }