"use client" import { DropdownMenu, DropdownMenuContent, DropdownMenuGroup, DropdownMenuItem, DropdownMenuLabel, DropdownMenuSeparator, DropdownMenuTrigger, } from "@/components/ui/dropdown-menu" import { userLogout } from "@/api/user"; import Link from "next/link"; import { toast } from "sonner"; import { useToLogin } from "@/hooks/use-route"; import { CircleUser } from "lucide-react"; import { Avatar, AvatarFallback, AvatarImage } from "@/components/ui/avatar"; import { getGravatarFromUser } from "@/utils/common/gravatar"; import { formatDisplayName, getFallbackAvatarFromUsername } from "@/utils/common/username"; import { useAuth } from "@/contexts/auth-context"; export function AvatarWithDropdownMenu() { const { user } = useAuth(); const toLogin = useToLogin(); const handleLogout = () => { userLogout().then(() => { toast.success("Logged out successfully"); window.location.reload(); }) } return ( {user &&
{formatDisplayName(user)} {user.email}
} {user && <> Profile Console } {user ? "Logout" : "Login"}
) }