import { Alert, AlertDescription, AlertIcon, AlertTitle, Spinner } from "@chakra-ui/react" import { useRouter } from "next/router" import { useEffect, useState } from "react" import Link from "next/link" import { useMutation } from "react-query" import Modal from "~/common/components/elements/Modal" import { ActivationTokenProps } from "~/common/types/auth" import { activationUserToken } from "~/services/auth" const FormToken = () => { const { query } = useRouter() const [active, setActive] = useState(false) const mutation = useMutation({ mutationFn: (data: ActivationTokenProps) => activationUserToken(data), }) useEffect(() => { if (query?.activation === 'token' && typeof query?.token === 'string') { mutation.mutate({ token: query.token }) setActive(true) } //eslint-disable-next-line }, [query.activation, query.token]) // TODO: Save user to local storage return (
{mutation.isLoading && ( <>
Mohon tunggu sedang memverifikasi akun
)} {!mutation.isLoading && ( Aktivasi akun {mutation.data?.activation ? 'berhasil' : 'gagal'} {mutation.data?.activation && ( <> Akun anda berhasil diaktifkan, selamat berbelanja di Indoteknik. Kembali ke halaman utama )} {!mutation.data?.activation && mutation.data?.reason === 'INVALID_TOKEN' && ( <> Token sudah kadaluwarsa, silahkan coba kembali. Aktivasi Akun )} )}
) } export default FormToken