diff --git a/src/components/AuthPages/Login/index.jsx b/src/components/AuthPages/Login/index.jsx index 18ac432..6ab5311 100644 --- a/src/components/AuthPages/Login/index.jsx +++ b/src/components/AuthPages/Login/index.jsx @@ -14,10 +14,14 @@ import { useGoogleLogin } from "@react-oauth/google"; import { useDispatch } from "react-redux"; import { updateUserDetails } from "../../../store/UserDetails"; +import ReCAPTCHA from "react-google-recaptcha"; + export default function Login() { const dispatch = useDispatch(); const { state } = useLocation(); + const [validCaptcha, setValidCaptcha] = useState({show: false, valid:''}); // FOR CAPTCHA + let [loginType, setLoginType] = useState(""); const [loginLoading, setLoginLoading] = useState(false); @@ -107,6 +111,14 @@ export default function Login() { }, Number(process.env.REACT_APP_LOGIN_ERROR_TIMEOUT)); return; } + if(name == "full" && !validCaptcha.valid && validCaptcha.show){ // RUNS AND DISPLAYS CAPTCHA, IF ERROR OCCURED DURING LOGIN FOR FULL LOGIN ALONE + setMsgError("Please Verify Captcha"); + setLoginLoading(false); + setTimeout(() => { + setMsgError(""); + }, Number(process.env.REACT_APP_LOGIN_ERROR_TIMEOUT)); + return; + } userApi .logInUser(postData) .then((res) => { @@ -120,6 +132,7 @@ export default function Login() { // setMsgError("Wrong, email/password"); setLoginError(true); setLoginLoading(false); + setValidCaptcha(prev => ({...prev, show:true})) // DISPLAYS CAPTCHA IF ERROR return; } localStorage.setItem("member_id", `${res.data.member_id}`); @@ -135,6 +148,7 @@ export default function Login() { .catch((error) => { setMsgError("Unable to login, try again"); setLoginLoading(false); + setValidCaptcha(prev => ({...prev, show:true})) // DISPLAYS CAPTCHA IF ERROR }) .finally(() => { setTimeout(() => { @@ -145,6 +159,14 @@ export default function Login() { }); }; + function captchaChecker(value) { // FUNCTION TO VALIDATE CAPTCHA + if(value){ + setValidCaptcha({show: true, valid:value}) + }else{ + setValidCaptcha({show: true, valid:''}) + } + } + const googleLogin = useGoogleLogin({ flow: "auth-code", ux_mode: "redirect", @@ -296,6 +318,17 @@ export default function Login() { forgotPassword /> + + {/* hCaptha clone for the time being */} + {validCaptcha.show && +