'use client';
import {
LayoutDashboard, Loader, LogOut, User,
} from 'lucide-react';
import Link from 'next/link';
import { useRouter } from 'next/navigation';
import { useTranslations } from 'next-intl';
import { toast } from 'sonner';
import { Notifications } from '@/components/layout/header/notifications/Notification';
import {
DropdownMenu, DropdownMenuContent,
DropdownMenuItem,
DropdownMenuSeparator,
DropdownMenuTrigger,
} from '@/components/ui/common/DropdownMenu';
import { ChannelAvatar } from '@/components/ui/elements/ChannelAvatar';
import { useLogoutUserMutation } from '@/graphql/generated/output';
import { useAuth } from '@/hooks/useAuth';
import { useCurrent } from '@/hooks/useCurrent';
export const ProfileMenu = () => {
const t = useTranslations('layout.header.headerMenu.profileMenu');
const router = useRouter();
const { exit } = useAuth();
const { user, isLoadingProfile } = useCurrent();
const [logout] = useLogoutUserMutation({
onCompleted() {
exit();
toast.success(t('successMessage'));
router.push('/account/login');
},
onError() {
toast.error(t('errorMessage'));
},
});
return isLoadingProfile || !user
? (
)
: (
<>
{user.name}
{t('channel')}
{t('dashboard')}
logout()}>
{t('logout')}
>
);
};