"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
); }