import { BadgeCheck, Bell, LogIn, LogOut, } from "lucide-react"; import { Avatar, AvatarImage, } from "@/components/ui/avatar"; import { DropdownMenu, DropdownMenuContent, DropdownMenuGroup, DropdownMenuItem, DropdownMenuLabel, DropdownMenuSeparator, DropdownMenuTrigger, } from "@/components/ui/dropdown-menu"; import { auth, signOut } from "@/lib/auth"; import { redirect } from "next/navigation"; import { Skeleton } from "@/components/ui/skeleton"; import { SettingsButton } from "@/components/settings-button"; const UserAvatar = ({ image, name }: { image: string; name: string }) => ( ); async function handleSignIn() { "use server"; redirect("/sign-in"); } async function handleSignOut() { "use server"; await signOut(); } export async function AvatarButton() { const session = await auth(); const isLoggedIn = !!session?.user; const image = session?.user?.image ?? "https://github.com/shadcn.png"; const name = session?.user?.name ?? "unknown"; const email = session?.user?.email ?? "unknwon@example.com"; return ( {!isLoggedIn ? ( Log In ) : ( <>
{name} {email}
Account Notifications Log out )}
); }