import Link from "next/link"; import { useRouter } from "next/router"; import accountsApi from "../../services/accountsApi"; import useAnonRoute from "../../services/useAnonRoute"; import React from "react"; export default function Recover() { useAnonRoute(); // ensure user is not logged in const router = useRouter(); const [error, setError] = React.useState(""); const [confirmed, setConfirmed] = React.useState(false); React.useEffect(() => { async function confirm() { try { await accountsApi.get("user/confirm", { searchParams: { token: router.query.token } }); setConfirmed(true); setTimeout(() => { router.push("/"); }, 5000); } catch (error) { if (error.response) { const data = await error.response.json(); setError(data.message ?? error.toString()); } else { setError(error.toString()); } } } if (router.query.token) confirm(); }, [router, setConfirmed]); return (
{!confirmed && !error && (

Confirming your email, please wait.

)} {confirmed && (

Email confirmed! You will be redirected to the{" "} dashboard {" "} in 3 seconds.

)} {error &&

{error}

}
); }