//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')}
) : (
<>
{t('account')}
Notifications
{t('log-out')}
>
)}
);
}