diff options
| author | Rafi Zadanly <zadanlyr@gmail.com> | 2023-10-28 09:05:00 +0700 |
|---|---|---|
| committer | Rafi Zadanly <zadanlyr@gmail.com> | 2023-10-28 09:05:00 +0700 |
| commit | c82110f7d3a2f85de99045fde7b579e369f15b2c (patch) | |
| tree | deae1b959583eff4fa283800efe6daaff9fe21e9 /src-migrate/modules/account-activation/components/FormToken.tsx | |
| parent | cf6da809621b4ebe8c9acedb035b689e7e1b60b1 (diff) | |
Update authentication feature
Diffstat (limited to 'src-migrate/modules/account-activation/components/FormToken.tsx')
| -rw-r--r-- | src-migrate/modules/account-activation/components/FormToken.tsx | 24 |
1 files changed, 8 insertions, 16 deletions
diff --git a/src-migrate/modules/account-activation/components/FormToken.tsx b/src-migrate/modules/account-activation/components/FormToken.tsx index 041fbae8..6af24413 100644 --- a/src-migrate/modules/account-activation/components/FormToken.tsx +++ b/src-migrate/modules/account-activation/components/FormToken.tsx @@ -8,22 +8,12 @@ import Modal from "~/common/components/elements/Modal" import { ActivationTokenProps } from "~/common/types/auth" import { activationUserToken } from "~/services/auth" -type StatusProps = "success" | "error" | "loading"; - const FormToken = () => { const { query } = useRouter() - const [status, setStatus] = useState<StatusProps>("loading") const [active, setActive] = useState<boolean>(false) const mutation = useMutation({ mutationFn: (data: ActivationTokenProps) => activationUserToken(data), - onSuccess: (data) => { - if (data.activation === true) { - setStatus("success") - } else { - setStatus("error") - } - } }) useEffect(() => { @@ -34,19 +24,21 @@ const FormToken = () => { //eslint-disable-next-line }, [query.activation, query.token]) + // TODO: Save user to local storage + return ( <Modal active={active} mode="desktop"> <div className="pb-6 flex flex-col items-center gap-y-6"> - {status === 'loading' && ( + {mutation.isLoading && ( <> <Spinner size='lg' borderWidth='3px' /> <div className="text-h-sm">Mohon tunggu sedang memverifikasi akun</div> </> )} - {status !== 'loading' && ( + {!mutation.isLoading && ( <Alert - status={status} + status={mutation.data?.activation ? 'success' : 'error'} flexDirection="column" alignItems="center" justifyContent="center" @@ -56,17 +48,17 @@ const FormToken = () => { > <AlertIcon boxSize="40px" mr={0} /> <AlertTitle className="mt-4 mb-1 text-h-sm"> - Aktivasi akun {status === 'success' ? 'berhasil' : 'gagal'} + Aktivasi akun {mutation.data?.activation ? 'berhasil' : 'gagal'} </AlertTitle> <AlertDescription maxWidth="sm"> - {status === 'success' && ( + {mutation.data?.activation && ( <> Akun anda berhasil diaktifkan, selamat berbelanja di Indoteknik. <Link href='/' className="block mt-8 text-success-700 underline">Kembali ke halaman utama</Link> </> )} - {status === 'error' && mutation.data?.reason === 'INVALID_TOKEN' && ( + {!mutation.data?.activation && mutation.data?.reason === 'INVALID_TOKEN' && ( <> Token sudah kadaluwarsa, silahkan coba kembali. <Link href='/register?activation=email' className="block mt-8 text-red-700 underline">Aktivasi Akun</Link> |
