diff --git a/.env b/.env index 56e08ec..5e1b33c 100644 --- a/.env +++ b/.env @@ -19,5 +19,7 @@ REACT_APP_USERS_ENDPOINT="https://apigate.lotus.g1.wrenchboard.com/svs/user" REACT_APP_SESSION_EXPIRE_MINUTES=5 +REACT_APP_LOGIN_ERROR_TIMEOUT=7000 + #apigate.lotus.g1.wrenchboard.com:76.209.103.227 #apigate.orion.g1.wrenchboard.com:76.209.103.227 diff --git a/src/components/AuthPages/Login/index.jsx b/src/components/AuthPages/Login/index.jsx index 643d7dc..58a8052 100644 --- a/src/components/AuthPages/Login/index.jsx +++ b/src/components/AuthPages/Login/index.jsx @@ -17,11 +17,15 @@ export default function Login() { //login error state const [loginError, setLoginError] = useState(false); + // for the catch error + const [msgError, setMsgError] = useState(''); const rememberMe = () => { setValue(!checked); }; + console.log(process.env.REACT_APP_LOGIN_ERROR_TIMEOUT) + // email const [email, setMail] = useState(""); const handleEmail = (e) => { @@ -34,41 +38,56 @@ export default function Login() { }; const navigate = useNavigate(); const userApi = new usersService(); + + const doLogin = async () => { - if (email !== "" && password !== "") { - var postData = { - username: email, - password: password, - sessionid: 'STARTING' - }; - const loginResult = await userApi.logInUser(postData); // just for a test - //debugger; - // if (email === "support@mermsemr.com") { - if (loginResult.data.status > 0 && loginResult.data.internal_return == 100 && loginResult.data.session != '') { // just for a start - localStorage.setItem("email", `${loginResult.data.email}`); - localStorage.setItem("member_id", `${loginResult.data.member_id}`); - localStorage.setItem("uid", `${loginResult.data.uid}`); - localStorage.setItem("session_token", `${loginResult.data.session}`); - localStorage.setItem("added", `${loginResult.data.added}`); - localStorage.setItem("city", `${loginResult.data.city}`); - localStorage.setItem("country", `${loginResult.data.country}`); - localStorage.setItem("firstname", `${loginResult.data.firstname}`); - localStorage.setItem("last_login", `${loginResult.data.last_login}`); - localStorage.setItem("lastname", `${loginResult.data.lastname}`); - localStorage.setItem("state", `${loginResult.data.state}`); - localStorage.setItem("zip_code", `${loginResult.data.zip_code}`); - localStorage.setItem("session", `${loginResult.data.session}`); - setLoginLoading(true); - // userApi.getUserReminders(); //testing - setTimeout(() => { - toast.success("Login Successfully"); - navigate("/", { replace: true }); - setLoginLoading(false); - }, 2000); - } else { - // toast.error("Invalid Credential"); - setLoginError(true) + if (email == '' && password == '') { + setMsgError('Please fill in fields') + } + try { + if (email !== "" && password !== "") { + var postData = { + username: email, + password: password, + sessionid: 'STARTING' + }; + const loginResult = await userApi.logInUser(postData); // just for a test + //debugger; + // if (email === "support@mermsemr.com") { + if (loginResult.data.status > 0 && loginResult.data.internal_return == 100 && loginResult.data.session != '') { // just for a start + localStorage.setItem("email", `${loginResult.data.email}`); + localStorage.setItem("member_id", `${loginResult.data.member_id}`); + localStorage.setItem("uid", `${loginResult.data.uid}`); + localStorage.setItem("session_token", `${loginResult.data.session}`); + localStorage.setItem("added", `${loginResult.data.added}`); + localStorage.setItem("city", `${loginResult.data.city}`); + localStorage.setItem("country", `${loginResult.data.country}`); + localStorage.setItem("firstname", `${loginResult.data.firstname}`); + localStorage.setItem("last_login", `${loginResult.data.last_login}`); + localStorage.setItem("lastname", `${loginResult.data.lastname}`); + localStorage.setItem("state", `${loginResult.data.state}`); + localStorage.setItem("zip_code", `${loginResult.data.zip_code}`); + localStorage.setItem("session", `${loginResult.data.session}`); + setLoginLoading(true); + // userApi.getUserReminders(); //testing + setTimeout(() => { + toast.success("Login Successfully"); + navigate("/", { replace: true }); + setLoginLoading(false); + }, 2000); + } else { + // toast.error("Invalid Credential"); + setLoginError(true) + } } + } catch (error) { + console.log(error) + setMsgError('An error occurred') + } finally { + setTimeout(() => { + setLoginError(false) + setMsgError(null) + }, Number(process.env.REACT_APP_LOGIN_ERROR_TIMEOUT)) } }; @@ -78,11 +97,11 @@ export default function Login() { slogan="Welcome to WrenchBoard" >
Invalid username or password
}