import { useEffect, useState } from 'react' import { Link, useParams } from 'react-router-dom' import { Link as ChakraLink, Heading } from '@chakra-ui/react' import cx from 'classnames' import { Helmet } from 'react-helmet-async' import UserAPI from '@/client/idp/user' import Logo from '@/components/common/logo' import LayoutFull from '@/components/layout/layout-full' import { Spinner } from '@/lib' const UpdateEmailPage = () => { const params = useParams() const [isCompleted, setIsCompleted] = useState(false) const [isFailed, setIsFailed] = useState(false) const [token, setToken] = useState('') useEffect(() => { setToken(params.token as string) }, [params.token]) useEffect(() => { async function doRequest() { try { await UserAPI.updateEmailConfirmation({ token: token }) setIsCompleted(true) } catch { setIsFailed(true) } finally { setIsCompleted(true) } } if (token) { doRequest() } }, [token]) return ( Confirm Email
{!isCompleted && !isFailed ? (
Confirming your Email…
) : null} {isCompleted && !isFailed ? (
Email confirmed
Click the link below to go back to your account. Back to account
) : null} {isFailed && ( An error occurred while processing your request. )}
) } export default UpdateEmailPage