From 6f61d46bd529a98257980ce8af92db8dfe42b833 Mon Sep 17 00:00:00 2001 From: Rafi Zadanly Date: Fri, 18 Nov 2022 17:36:27 +0700 Subject: User activation feature --- src/pages/login.js | 22 +++++++++++++++++++--- 1 file changed, 19 insertions(+), 3 deletions(-) (limited to 'src/pages/login.js') diff --git a/src/pages/login.js b/src/pages/login.js index 315146a5..20912242 100644 --- a/src/pages/login.js +++ b/src/pages/login.js @@ -4,7 +4,7 @@ import Image from "next/image"; import Link from "next/link"; import { useRouter } from "next/router"; import { useEffect, useState } from "react"; -import { toast } from "react-toastify"; +import Alert from "../components/Alert"; import Spinner from "../components/Spinner"; import { setAuth } from "../helpers/auth"; import Logo from "../images/logo.png"; @@ -15,6 +15,7 @@ export default function Login() { const [password, setPassword] = useState(''); const [isInputFulfilled, setIsInputFulfilled] = useState(false); const [isLoading, setIsLoading] = useState(false); + const [alert, setAlert] = useState(); useEffect(() => { setIsInputFulfilled(email && password); @@ -28,8 +29,20 @@ export default function Login() { setAuth(login.data.user); router.push('/'); } else { - toast.info('Email atau Password tidak cocok'); - toast.clearWaitingQueue(); + switch (login.data.reason) { + case 'NOT_FOUND': + setAlert({ + component: <>Email atau password tidak cocok, + type: 'info' + }); + break; + case 'NOT_ACTIVE': + setAlert({ + component: <>Email belum diaktivasi, aktivasi sekarang, + type: 'info' + }); + break; + } setIsLoading(false); } } @@ -45,6 +58,9 @@ export default function Login() {

Mulai Belanja Sekarang

Masuk ke akun kamu untuk belanja

+ {alert ? ( + {alert.component} + ) : ''}