'use client' import {useState, useRef, useEffect} from 'react' import {useRouter} from 'next/navigation' export default function ProfileDropdown() { const [open, setOpen] = useState(false) const dropdownRef = useRef(null) const router = useRouter() useEffect(() => { const handleClickOutside = (event: MouseEvent) => { if (dropdownRef.current && !dropdownRef.current.contains(event.target as Node)) { setOpen(false) } } document.addEventListener('mousedown', handleClickOutside) return () => document.removeEventListener('mousedown', handleClickOutside) }, []) const handleLogout = async () => { try { await fetch('/logout', {method: 'POST'}) router.push('/') // Or a dedicated post-logout landing page } catch (e) { console.error('Logout failed', e) } } return (
{open && (
)}
) }