diff --git a/pages/auth/signin.js b/pages/auth/signin.js index ae5a9ba4..587527a3 100644 --- a/pages/auth/signin.js +++ b/pages/auth/signin.js @@ -7,6 +7,9 @@ import Header from "../../components/header"; import Breadcrumbs from "../../components/breadcrumbs"; import { getCsrfToken } from "next-auth/react"; import { parseCookies, setCookie, destroyCookie } from "nookies"; +import { useState } from "react"; +import { tr } from "date-fns/locale"; +import { Router, useRouter } from "next/router"; const SignIn = (props) => { let { t, lang } = useTranslation(); @@ -20,6 +23,21 @@ const SignIn = (props) => { new URL(window.location.href).port + "/api/auth/signin/email"; + const [buttonDisabled, setButtonDisabled] = useState(false); + const [hasError, setHasError] = useState(false); + const emailRegex = + /(?:[a-z0-9!#$%&'*+\/=?^_`{|}~-]+(?:\.[a-z0-9!#$%&'*+\/=?^_`{|}~-]+)*|"(?:[\x01-\x08\x0b\x0c\x0e-\x1f\x21\x23-\x5b\x5d-\x7f]|\\[\x01-\x09\x0b\x0c\x0e-\x7f])*")@(?:(?:[a-z0-9](?:[a-z0-9-]*[a-z0-9])?\.)+[a-z0-9](?:[a-z0-9-]*[a-z0-9])?|\[(?:(?:25[0-5]|2[0-4][0-9]|[01]?[0-9][0-9]?)\.){3}(?:25[0-5]|2[0-4][0-9]|[01]?[0-9][0-9]?|[a-z0-9-]*[a-z0-9]:(?:[\x01-\x08\x0b\x0c\x0e-\x1f\x21-\x5a\x53-\x7f]|\\[\x01-\x09\x0b\x0c\x0e-\x7f])+)\])/gi; + + const handleSubmit = async (event) => { + event.preventDefault(); + + //!emailRegex.test(event.currentTarget[2].value) && setHasError(true); + + !emailRegex.test(event.currentTarget[2].value) + ? (setHasError(true), setButtonDisabled(true)) + : (setButtonDisabled(true), event.target.submit()); + }; + return (