import axios from "axios"; import Head from "next/head"; import Image from "next/image"; import Link from "@/components/elements/Link"; import { useRouter } from "next/router"; import { useEffect, useState } from "react"; import Alert from "@/components/elements/Alert"; import Layout from "@/components/layouts/Layout"; import Spinner from "@/components/elements/Spinner"; import { setAuth } from "@/core/utils/auth"; import Logo from "@/images/logo.png"; export default function Login() { const router = useRouter(); const [email, setEmail] = useState(''); const [password, setPassword] = useState(''); const [isInputFulfilled, setIsInputFulfilled] = useState(false); const [isLoading, setIsLoading] = useState(false); const [alert, setAlert] = useState(); useEffect(() => { setIsInputFulfilled(email && password); }, [email, password]); const login = async (e) => { e.preventDefault(); setIsLoading(true); let login = await axios.post(`${process.env.SELF_HOST}/api/login`, {email, password}); if (login.data.is_auth) { setAuth(login.data.user); router.push('/'); } else { 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); } } return ( <> Masuk - Indoteknik Logo Indoteknik

Mulai Belanja Sekarang

Masuk ke akun kamu untuk belanja

{alert ? ( {alert.component} ) : ''}
setEmail(e.target.value)} /> setPassword(e.target.value)} />
Lupa kata sandi

Belum punya akun Indoteknik? Daftar

) }