diff --git a/package-lock.json b/package-lock.json
index 7e662b8..df79fc0 100644
--- a/package-lock.json
+++ b/package-lock.json
@@ -14,6 +14,7 @@
"@mui/material": "^5.4.3",
"@reduxjs/toolkit": "^1.8.0",
"@types/react-big-calendar": "^0.36.2",
+ "axios": "^0.26.1",
"moment": "^2.29.1",
"react": "^17.0.2",
"react-big-calendar": "^0.39.3",
@@ -3522,6 +3523,14 @@
"lodash": "^4.17.14"
}
},
+ "node_modules/axios": {
+ "version": "0.26.1",
+ "resolved": "https://registry.npmjs.org/axios/-/axios-0.26.1.tgz",
+ "integrity": "sha512-fPwcX4EvnSHuInCMItEhAGnaSEXRBjtzh9fOtsE6E1G6p7vl7edEeZe11QHf18+6+9gR5PbKV/sGKNaD8YaMeA==",
+ "dependencies": {
+ "follow-redirects": "^1.14.8"
+ }
+ },
"node_modules/babel-plugin-dynamic-import-node": {
"version": "2.3.3",
"resolved": "https://registry.npmjs.org/babel-plugin-dynamic-import-node/-/babel-plugin-dynamic-import-node-2.3.3.tgz",
@@ -7094,7 +7103,6 @@
"version": "1.14.9",
"resolved": "https://registry.npmjs.org/follow-redirects/-/follow-redirects-1.14.9.tgz",
"integrity": "sha512-MQDfihBQYMcyy5dhRDJUHcw7lb2Pv/TuE6xP1vyraLukNDHKbDxDNaOE3NbCAdKQApno+GPRyo1YAp89yCjK4w==",
- "dev": true,
"funding": [
{
"type": "individual",
@@ -15456,6 +15464,14 @@
"lodash": "^4.17.14"
}
},
+ "axios": {
+ "version": "0.26.1",
+ "resolved": "https://registry.npmjs.org/axios/-/axios-0.26.1.tgz",
+ "integrity": "sha512-fPwcX4EvnSHuInCMItEhAGnaSEXRBjtzh9fOtsE6E1G6p7vl7edEeZe11QHf18+6+9gR5PbKV/sGKNaD8YaMeA==",
+ "requires": {
+ "follow-redirects": "^1.14.8"
+ }
+ },
"babel-plugin-dynamic-import-node": {
"version": "2.3.3",
"resolved": "https://registry.npmjs.org/babel-plugin-dynamic-import-node/-/babel-plugin-dynamic-import-node-2.3.3.tgz",
@@ -18253,8 +18269,7 @@
"follow-redirects": {
"version": "1.14.9",
"resolved": "https://registry.npmjs.org/follow-redirects/-/follow-redirects-1.14.9.tgz",
- "integrity": "sha512-MQDfihBQYMcyy5dhRDJUHcw7lb2Pv/TuE6xP1vyraLukNDHKbDxDNaOE3NbCAdKQApno+GPRyo1YAp89yCjK4w==",
- "dev": true
+ "integrity": "sha512-MQDfihBQYMcyy5dhRDJUHcw7lb2Pv/TuE6xP1vyraLukNDHKbDxDNaOE3NbCAdKQApno+GPRyo1YAp89yCjK4w=="
},
"forwarded": {
"version": "0.2.0",
diff --git a/package.json b/package.json
index 75a49c7..c1b049d 100644
--- a/package.json
+++ b/package.json
@@ -14,6 +14,7 @@
"@mui/material": "^5.4.3",
"@reduxjs/toolkit": "^1.8.0",
"@types/react-big-calendar": "^0.36.2",
+ "axios": "^0.26.1",
"moment": "^2.29.1",
"react": "^17.0.2",
"react-big-calendar": "^0.39.3",
diff --git a/src/api/axios.tsx b/src/api/axios.tsx
new file mode 100644
index 0000000..0c91aaf
--- /dev/null
+++ b/src/api/axios.tsx
@@ -0,0 +1,5 @@
+import axios from "axios";
+
+export default axios.create({
+ baseURL: "https://g17vmhsvwi.execute-api.us-west-2.amazonaws.com/Prod"
+});
\ No newline at end of file
diff --git a/src/components/login/Login.tsx b/src/components/login/Login.tsx
index ca9563d..397c4a9 100644
--- a/src/components/login/Login.tsx
+++ b/src/components/login/Login.tsx
@@ -8,6 +8,11 @@ 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";
+import axios from "../../api/axios"
interface LocationState {
from: { pathname: string };
@@ -20,7 +25,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 +40,47 @@ 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();
+
+ try {
+ if (email === "" && password === "") {
+ setAuth["email"] = email;
+ setAuth["isLoggedIn"] = true;
+
+ store.dispatch(fetchMeetings(""));
+ store.dispatch(fetchUsers(""));
+ store.dispatch(fetchFavorites(""));
+ navigate(from, { replace: true });
+ }
+
+ const response = await axios.post(
+ '/login',
+ JSON.stringify({ email: email, password: password })
+ // { headers: { 'Content-Type': 'application/json' } }
+ )
+ // const response = { data: { userid: "123456" }}; // delete later
+
+ const logedInUserId = response?.data?.userId;
+
+ console.log(email);
+ console.log(password);
+ console.log(response?.data);
+
+ if (logedInUserId != undefined) {
+ 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(email);
setPassword("");
};
@@ -52,13 +90,14 @@ const Login: React.FC = () => {
{/*
{errMsg}
*/}