diff --git a/src/components/login/Login.tsx b/src/components/login/Login.tsx index ca9563d..38189ab 100644 --- a/src/components/login/Login.tsx +++ b/src/components/login/Login.tsx @@ -8,6 +8,10 @@ import hsbcLogo from "../../assets/logo-png.png"; import zoomLogo from "../../assets/zoom.png"; import LoginIcon from "@mui/icons-material/Login"; import useAuth from "../../hooks/useAuth"; +import { store } from "../../redux/store"; +import { fetchFavorites } from "../../redux/slices/favoritesSlice"; +import { fetchMeetings } from "../../redux/slices/meetingsAndUserStatusSlice"; +import { fetchUsers } from "../../redux/slices/usersSlice"; interface LocationState { from: { pathname: string }; @@ -20,7 +24,7 @@ const Login: React.FC = () => { const state = location.state as LocationState; const from = state?.from?.pathname || "/"; - const [username, setUsername] = useState(""); + const [email, setEmail] = useState(""); const [password, setPassword] = useState(""); // const [errMsg, setErrMsg] = useState(''); @@ -35,14 +39,34 @@ const Login: React.FC = () => { // setErrMsg(''); // }, [user, pwd]) - const handleLogin = () => { - if (username === "" && password === "") { - // setAuth({username: username, isLoggedIn: true}); - setAuth["username"] = username; - setAuth["isLoggedIn"] = true; - navigate(from, { replace: true }); + const handleLogin = async(e: React.SyntheticEvent) => { + e.preventDefault(); + if (email === "" && password === "") { + + try { + + // const response = await axios.post( + // 'backend/login', + // { email: email, password: password }, + // { headers: { 'Content-Type': 'application/json' } } + // ) // using axios for http requests? + const response = { data: { userid: "123456" }}; // delete later + + const logedInUserid = response?.data?.userid; + + setAuth["email"] = email; + setAuth["isLoggedIn"] = true; + + store.dispatch(fetchMeetings(logedInUserid)); + store.dispatch(fetchUsers(logedInUserid)); + store.dispatch(fetchFavorites(logedInUserid)); + + navigate(from, { replace: true }); + } catch (error) { + + } } - setUsername(""); + setEmail(""); setPassword(""); }; @@ -52,13 +76,13 @@ const Login: React.FC = () => { HSBC Logo {/*

{errMsg}

*/} { - setUsername(event.target.value); + setEmail(event.target.value); }} /> ({ - username: "", + email: "", isLoggedIn: false, }); export const AuthProvider = ({ children }: { children: React.ReactNode }) => { - const [auth] = useState({ username: "", isLoggedIn: false }); + const [auth] = useState({ email: "", isLoggedIn: false }); return {children}; }; diff --git a/src/hooks/useAuth.tsx b/src/hooks/useAuth.tsx index ebe7cc6..af7ffe0 100644 --- a/src/hooks/useAuth.tsx +++ b/src/hooks/useAuth.tsx @@ -2,7 +2,7 @@ import { useContext } from "react"; import AuthContext from "../context/AuthProvider"; interface loginInfo { - username: string; + email: string; isLoggedIn: boolean; } diff --git a/src/index.tsx b/src/index.tsx index be6fea4..3d0e939 100644 --- a/src/index.tsx +++ b/src/index.tsx @@ -4,13 +4,10 @@ import "./style/App.css"; import { AuthProvider } from "./context/AuthProvider"; import { Provider } from "react-redux"; import { store } from "./redux/store"; -import { fetchFavorites } from "./redux/slices/favoritesSlice"; -import { fetchMeetings } from "./redux/slices/meetingsAndUserStatusSlice"; -import { fetchUsers } from "./redux/slices/usersSlice"; -store.dispatch(fetchMeetings("")); -store.dispatch(fetchUsers("")); -store.dispatch(fetchFavorites("")); +// store.dispatch(fetchMeetings("")); +// store.dispatch(fetchUsers("")); +// store.dispatch(fetchFavorites("")); const Index: React.FC = () => { return (