//avatar-button 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"; import { useTranslations } from 'next-intl'; 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"; const t = useTranslations('avatar-button'); return ( {!isLoggedIn ? ( {t('log-in')} ) : ( <>
{name} {email}
{t('account')} Notifications {t('log-out')} )}
); }