import { router, useLocalSearchParams } from 'expo-router' import { useEffect } from 'react' import { useAuthControllerConfirmEmail } from '@/api/query/auth/auth' import { Button, Center, Loader, Spacer, Text } from '@/design-system' import { useTranslation } from '@/hooks' import { isSignedInAtom, signOut } from '@/store/auth' const navigateToSignIn = () => router.replace('/sign-in') export const ConfirmEmail = () => { const { t } = useTranslation() const { hash } = useLocalSearchParams<{ hash: string }>() const { isError, isPending, isSuccess, mutate: confirmEmailMutation, } = useAuthControllerConfirmEmail() useEffect(() => { const confirmFn = async (hash?: string) => { if (hash) { try { if (isSignedInAtom) { await signOut() } } finally { confirmEmailMutation({ data: { hash } }) } } } confirmFn(hash) }, [hash, confirmEmailMutation]) return (
{isPending && (
{t('confirm_email_screen.verification_in_progress')}
)} {isError && (
{t('confirm_email_screen.verification_failed')}
)} {isSuccess && (
{t('confirm_email_screen.verification_succeed')}
)}
) }