'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')}
); };