"use client"; import { useState, useRef, useEffect } from "react"; import { LogOut, User, ChevronDown } from "lucide-react"; import { signOut } from "next-auth/react"; interface UserProfileProps { user?: { name?: string | null; email?: string | null; image?: string | null; }; } export default function UserProfile({ user }: UserProfileProps) { const [isOpen, setIsOpen] = useState(false); const dropdownRef = useRef(null); // Close dropdown on click outside useEffect(() => { const handleClickOutside = (event: MouseEvent) => { if (dropdownRef.current && !dropdownRef.current.contains(event.target as Node)) { setIsOpen(false); } }; document.addEventListener("mousedown", handleClickOutside); return () => document.removeEventListener("mousedown", handleClickOutside); }, []); return (
{isOpen && (

{user?.name || "User"}

)}
); }