'use client'; import { DropdownMenu, DropdownMenuContent, DropdownMenuItem, DropdownMenuLabel, DropdownMenuSeparator, DropdownMenuTrigger, } from '@/components/ui/dropdown-menu'; import { Button } from '@/components/ui/button'; import { Avatar, AvatarFallback } from '@/components/ui/avatar'; import { signOut, useSession } from 'next-auth/react'; import { useRouter } from 'next/navigation'; import { LogOut, Settings, User } from 'lucide-react'; export function UserMenu() { const router = useRouter(); const { data: session } = useSession(); const user = session?.user; if (!user) return null; // Generate initials from name or username const getInitials = (name: string) => { return name .split(' ') .map((n) => n[0]) .join('') .toUpperCase() .slice(0, 2); }; const initials = user.name ? getInitials(user.name) : 'U'; const handleLogout = async () => { await signOut({ redirect: false }); router.push('/login'); }; return (

{user.name}

{user.email}

Role: {user.role}

router.push('/profile')}> Profile router.push('/settings')}> Settings Log out
); }