'use client'; import { useEffect } from 'react'; import { useParams, useRouter } from '@/framework/navigation'; import { Paper, Text, Title, Stack, Loader, Flex } from '@pikku/mantine/core'; import { useI18n } from '@/context/i18n-provider'; import { useMutation } from '@tanstack/react-query'; import { signOut } from '@/lib/auth'; import { asI18n } from '@pikku/react'; export default function LogoutPage() { const t = useI18n(); const router = useRouter(); const { lang } = useParams<{ lang?: string }>() const logout = useMutation({ mutationFn: async () => { await signOut() } }) useEffect(() => { const performLogout = async () => { await new Promise((resolve) => setTimeout(resolve, 3000)) await logout.mutateAsync() router.replace(lang ? `/${lang}` : '/') } void performLogout() }, [lang, router]) return ( {t('logout.title')} {logout.isPending ? ( <> {t('logout.loggingout')} ) : logout.isError ? ( {asI18n(`${t('logout.error')}: ${logout.error?.message || 'Unknown error'}`)} ) : logout.isSuccess ? ( {t('logout.success')} ) : null} ); }