'use client' import Image from 'next/image' import { useRouter } from 'next/navigation' import { useAuth } from '../lib/auth/hooks' import { DropdownMenu, DropdownMenuContent, DropdownMenuItem, DropdownMenuSeparator, DropdownMenuTrigger, } from '@/components/ui/primitives/dropdown-menu' function getInitials(name: string): string { return name .split(' ') .map((n) => n[0]) .join('') .toUpperCase() .slice(0, 2) } /** * ProfileDropdown - User profile menu with avatar, settings, and sign out */ export function ProfileDropdown() { const { user, signOut } = useAuth() const router = useRouter() const handleSignOut = async () => { await signOut() } const initials = user?.name ? getInitials(user.name) : user?.email?.[0]?.toUpperCase() || 'U' return (
{user?.image ? ( {user.name ) : (
{initials}
)}
{user?.name &&
{user.name}
} {user?.email && (
{user.email}
)}
router.push('/settings')}> Settings Sign out
) }