import React, { useState } from "react";
import { Link, useNavigate } from "react-router-dom";
import appleLogo from "../../../assets/images/apple-black.svg";
import facebookLogo from "../../../assets/images/facebook-4.svg";
import googleLogo from "../../../assets/images/google-logo.svg";
import WrenchBoard from "../../../assets/images/wrenchboard.png";
import usersService from "../../../services/UsersService";
import InputCom from "../../Helpers/Inputs/InputCom";
import AuthLayout from "../AuthLayout";
//import { GoogleOAuthProvider } from '@react-oauth/google';
// import { googleLogout, useGoogleLogin } from '@react-oauth/google';
import { useDispatch } from "react-redux";
import { updateUserDetails } from "../../../store/UserDetails";
export default function Login() {
const dispatch = useDispatch();
let [loginCom, setLoginCom] = useState({user: true, family: false})
const [checked, setValue] = useState(false);
const [loginLoading, setLoginLoading] = useState(false);
//login error state
const [loginError, setLoginError] = useState(false);
// for the catch error
const [msgError, setMsgError] = useState("");
const rememberMe = () => {
setValue(!checked);
};
//FUNCTION TO DETERMINE/CHANGE LOGIN COMPONENT
const handleLoginCom = ({target:{name}}) => {
if(name == 'user'){
setLoginCom({[name]: true, family: false})
}else{
setLoginCom({[name]: false, family: true})
}
}
// email
const [email, setMail] = useState("");
const handleEmail = (e) => {
setMail(e.target.value);
};
// password
const [password, setPassword] = useState("");
const handlePassword = (e) => {
setPassword(e.target.value);
};
const navigate = useNavigate();
const userApi = new usersService();
// FUNCTION TO HANDLE USER LOGIN
const doLogin = ({target:{name}}) => {
setLoginLoading(true);
let postData = {}; // Post Data for API
if(!email || !password){
setLoginLoading(false);
setMsgError("Please fill in the fields");
return
}
if(name == 'userlogin'){ // Post Data Info for normal Login
postData = {
username: email,
password: password,
sessionid: "STARTING",
};
}else{
postData = { // Post Data Info for family Login
username: email,
pin: password,
sessionid: "20067A92714",
login_mode: 1105,
action: 11025
};
}
userApi.logInUser(postData).then((res)=>{
if(res.status != 200 || res.data.internal_return < 0){
// setMsgError("Wrong, email/password");
setLoginError(true);
setLoginLoading(false);
return
}
localStorage.setItem("member_id", `${res.data.member_id}`);
localStorage.setItem("uid", `${res.data.uid}`);
localStorage.setItem("session_token", `${res.data.session}`);
// localStorage.setItem("session", `${res.data.session}`);
dispatch(updateUserDetails(res.data));
setTimeout(() => {
navigate("/", { replace: true });
setLoginLoading(false);
}, 2000);
}).catch(error => {
setMsgError("Unable to login, try again");
setLoginLoading(false);
}).finally(()=>{
setTimeout(() => {
setLoginError(false);
setMsgError(null);
setLoginLoading(false);
}, Number(process.env.REACT_APP_LOGIN_ERROR_TIMEOUT));
})
};
return (
<>
Sign In to WrenchBoard
*/}
New Here?{" "}
Create an Account