From b575fc7fde35a9a53890405605d17a75d6e2188d Mon Sep 17 00:00:00 2001 From: Harrison Deng Date: Wed, 6 Apr 2022 22:53:20 -0500 Subject: [PATCH] Login endpoint now returns the user profile. --- sports-matcher/client/src/Layout.js | 25 +++++++++++++------ .../src/components/AuthenticationGuard.js | 22 +++++++++------- sports-matcher/client/src/context.js | 3 --- sports-matcher/client/src/globals.js | 7 ++++++ sports-matcher/client/src/pages/Dashboard.js | 4 +-- sports-matcher/client/src/pages/Login.js | 6 ++--- sports-matcher/client/src/pages/Logout.js | 11 +++++--- .../server/controllers/userController.js | 3 ++- 8 files changed, 51 insertions(+), 30 deletions(-) delete mode 100644 sports-matcher/client/src/context.js create mode 100644 sports-matcher/client/src/globals.js diff --git a/sports-matcher/client/src/Layout.js b/sports-matcher/client/src/Layout.js index 4ebcfb9..dbf3ca1 100644 --- a/sports-matcher/client/src/Layout.js +++ b/sports-matcher/client/src/Layout.js @@ -1,6 +1,6 @@ import "./styles/Layout.css"; import "./styles/extra.css"; -import { useContext } from "react"; +import { useEffect, useState } from "react"; import { NavLink, Route, Routes, useNavigate } from "react-router-dom"; import Welcome from "./pages/Welcome"; import Navbar from "react-bootstrap/Navbar"; @@ -8,14 +8,22 @@ import { Container, Nav, NavbarBrand } from "react-bootstrap"; import NavbarToggle from "react-bootstrap/esm/NavbarToggle"; import NavbarCollapse from "react-bootstrap/esm/NavbarCollapse"; import Dashboard from "./pages/Dashboard"; +import Logout from "./pages/Logout"; import Login from "./pages/Login"; -import { globalContext } from "./context.js"; +import Context from "./globals.js"; export default function layout() { - const navigate = useNavigate(); + const [state, setState] = useState({ + user: null, + setUser: setUser, + navigate: useNavigate() + }); + + function setUser(user) { + setState({ user: user }); + } - const context = useContext(globalContext); let identityDisplay = ( ); - if (context.user) { + if (state.user) { identityDisplay = (