diff --git a/backend/src/lunchheros/db/dbFetcher.py b/backend/src/lunchheros/db/dbFetcher.py
index 429af96..6f9bd76 100644
--- a/backend/src/lunchheros/db/dbFetcher.py
+++ b/backend/src/lunchheros/db/dbFetcher.py
@@ -3,9 +3,6 @@
import json
import os
-
-
-
async def get_encoded_data(time_slot: int, location: str, data):
print("get_encoded_data")
# Transform data
@@ -19,7 +16,6 @@ async def get_encoded_data(time_slot: int, location: str, data):
#return one_hot_encoded_df
-
def parse_user_id_tolist(test_data):
data = json.loads(test_data)
diff --git a/backend/src/lunchheros/match/_randomize.py b/backend/src/lunchheros/match/_randomize.py
index fd05658..31859ab 100644
--- a/backend/src/lunchheros/match/_randomize.py
+++ b/backend/src/lunchheros/match/_randomize.py
@@ -39,7 +39,7 @@ def _randomize_groups(group_size: int, users: list[str]) -> list[list]:
return groups
-def match(userids):
+def matching(userids):
# convert userids to list
userids = parse_user_id_tolist(userids)
diff --git a/frontend/src/App.js b/frontend/src/App.js
index 587e81c..ce07482 100644
--- a/frontend/src/App.js
+++ b/frontend/src/App.js
@@ -1,4 +1,4 @@
-import React, { useState } from 'react';
+import React, { useState, useEffect } from 'react';
// import logo from './logo.svg';
import './App.css';
import Login from './Components/Login';
@@ -10,11 +10,19 @@ import {useSelector} from 'react-redux'; // import useSelector from react-redux
import { Route, Navigate, Routes } from 'react-router-dom'; // import Route and Navigate from react-router-dom
import Scheduling from './Components/Scheduling';
import{ supabase } from './supabaseclient';
-
-
+import { setUser } from './store/session';
function App() {
+ const user = useSelector(state => state.session.user);
+ useEffect(() => {
+ const loggedInUser = localStorage.getItem("user");
+ if (loggedInUser) {
+ const foundUser = loggedInUser;
+ setUser(foundUser);
+ }
+ }, []);
+
// const [isLoaded, setIsLoaded] = useState(false);
// useEffect(() => {
// dispatch(authenticate()).then(() => setIsLoaded(true));
@@ -43,9 +51,7 @@ function App() {
setTimeSlot(slot);
}
- const user = useSelector(state => state.session.user);
- console.log("LOGIN USER", user?.user?.id);
- console.log("LOGIN", user);
+
const Wrapper = () => {
return (
diff --git a/frontend/src/Components/Navigation.js b/frontend/src/Components/Navigation.js
index ce182cb..5043ab8 100644
--- a/frontend/src/Components/Navigation.js
+++ b/frontend/src/Components/Navigation.js
@@ -40,7 +40,7 @@ function Navigation({ isLoaded }) {
<>
-
+
diff --git a/frontend/src/Components/ProfileButton.js b/frontend/src/Components/ProfileButton.js
index 68b475e..a9d8fb2 100644
--- a/frontend/src/Components/ProfileButton.js
+++ b/frontend/src/Components/ProfileButton.js
@@ -1,11 +1,14 @@
import React, { useState, useEffect, useRef } from "react";
+import { useDispatch } from "react-redux";
+
import { logout } from "../store/session";
import { useNavigate } from "react-router-dom";
import "../SCSS/navigation.css";
function ProfileButton({ user }) {
const [showMenu, setShowMenu] = useState(false);
const ulRef = useRef();
- const navigate= useNavigate()
+ const navigate= useNavigate();
+ const dispatch = useDispatch();
const openMenu = () => {
if (showMenu) return;
setShowMenu(true);
@@ -22,8 +25,11 @@ function ProfileButton({ user }) {
}, [showMenu]);
const handleLogout = (e) => {
e.preventDefault();
- logout();
- navigate("/");
+ dispatch(logout())
+ .then(() => {
+ navigate("/");
+ closeMenu();
+ })
};
const navUserProfile = (e) => {
e.preventDefault();
@@ -54,4 +60,4 @@ function ProfileButton({ user }) {
>
);
}
-export default ProfileButton;
\ No newline at end of file
+export default ProfileButton;
diff --git a/frontend/src/SCSS/scheduling.css b/frontend/src/SCSS/scheduling.css
index 1b766d1..2aee297 100644
--- a/frontend/src/SCSS/scheduling.css
+++ b/frontend/src/SCSS/scheduling.css
@@ -176,9 +176,10 @@ input[type='range'] {
border: 1px solid #007CAA;
/* Change border color when hovered or focused */
}
+
.randomize-button {
height: 100px !important;
width: 250px !important;
font-size: 25px;
margin-top: 25px;
-}
\ No newline at end of file
+}
diff --git a/frontend/src/store/session.js b/frontend/src/store/session.js
index e5ccf60..7cf7879 100644
--- a/frontend/src/store/session.js
+++ b/frontend/src/store/session.js
@@ -5,7 +5,7 @@ const SET_USER = "session/SET_USER";
const REMOVE_USER = "session/REMOVE_USER";
-const setUser = (user) => ({
+export const setUser = (user) => ({
type: SET_USER,
payload: user,
});
@@ -44,7 +44,7 @@ export const login = (email, password) => async (dispatch) => {
if (response.data.user) {
const data = response.data
- console.log('DATA', data)
+ localStorage.setItem('user', data.user)
dispatch(setUser(data));
return data;
} else if (response.error) {
@@ -57,13 +57,9 @@ export const login = (email, password) => async (dispatch) => {
};
export const logout = () => async (dispatch) => {
- const response = await fetch("/api/auth/logout", {
- headers: {
- "Content-Type": "application/json",
- },
- });
+ const response = await supabase.auth.signOut()
- if (response.ok) {
+ if (!response.error) {
dispatch(removeUser());
}
};