From 9747dc9f07730f692e6205ed0149649e7e41dd16 Mon Sep 17 00:00:00 2001 From: Sarthak Shrivastava <sarthaks@vt.edu> Date: Wed, 29 Nov 2023 17:00:54 -0500 Subject: [PATCH] login working despite refresh. Giving up on a sign out button. --- inventory-manager/src/App.jsx | 28 +++++++------ inventory-manager/src/components/Navbar.jsx | 42 ++++++++++++------- inventory-manager/src/components/useToken.jsx | 17 ++++---- 3 files changed, 50 insertions(+), 37 deletions(-) diff --git a/inventory-manager/src/App.jsx b/inventory-manager/src/App.jsx index b4f3b47..fce706c 100644 --- a/inventory-manager/src/App.jsx +++ b/inventory-manager/src/App.jsx @@ -16,27 +16,29 @@ import PrivateRoutes from "./routes/PrivateRoutes"; function App() { // const [token, setToken] = useState(); - const { token, setToken } = useToken(); + const {token, setToken} = useToken(); // const token = getToken(); // if (!token) // { // return <Login setToken={setToken}/> // } + + console.log(token); return ( - <div className="App"> - <Navbar /> - <Routes> - <Route path="/" element={<Home />} /> - <Route path="/login" element={<Login setToken={setToken}/>} /> - <Route path="/register" element={<Register />} /> - <Route element={<PrivateRoutes token={token}/>}> - <Route path='/accountinfo' element={<AccountInformation token={token}/>} /> - </Route> - {/* <Route path="/deleteUser" element={<DeleteUser token={token}/>} /> + <div className="App"> + <Navbar token={token} /> + <Routes> + <Route path="/" element={<Home/>}/> + <Route path="/login" element={<Login setToken={setToken}/>}/> + <Route path="/register" element={<Register/>}/> + <Route element={<PrivateRoutes token={token}/>}> + <Route path='/accountinfo' element={<AccountInformation token={token}/>}/> + </Route> + {/* <Route path="/deleteUser" element={<DeleteUser token={token}/>} /> <Route path="/updatepassword" element={<UpdatePassword />} /> <Route path="/accountinfo" element={<AccountInformation token={token}/> } /> */} - </Routes> - </div> + </Routes> + </div> ); } diff --git a/inventory-manager/src/components/Navbar.jsx b/inventory-manager/src/components/Navbar.jsx index 201968a..e549fd7 100644 --- a/inventory-manager/src/components/Navbar.jsx +++ b/inventory-manager/src/components/Navbar.jsx @@ -2,7 +2,7 @@ import "./Navbar.css"; import React, { useState } from "react"; import { Link, NavLink } from "react-router-dom"; -export const Navbar = () => { +export const Navbar = ({token}) => { const [menuOpen, setMenuOpen] = useState(false); return ( <nav className="navbar"> @@ -19,21 +19,31 @@ export const Navbar = () => { <span></span> </div> <ul className={menuOpen ? "open" : ""}> - <li> - <NavLink to="/login">Login</NavLink> - </li> - <li> - <NavLink to="/register">Register</NavLink> - </li> - <li> - <NavLink to="/deleteUser">Delete User</NavLink> - </li> - <li> - <NavLink to="/updatepassword">Update Password</NavLink> - </li> - <li> - <NavLink to="/accountinfo">Account Information</NavLink> - </li> + <> + { + token == null ? <> + <li> + <NavLink to="/login">Login</NavLink> + </li> + <li> + <NavLink to="/register">Register</NavLink> + </li> + </> + : + <> + <li> + <NavLink to="/accountinfo">Account Information</NavLink> + </li> + </> + } + </> + {/*<li>*/} + {/* <NavLink to="/login">Login</NavLink>*/} + {/*</li>*/} + + {/*<li>*/} + {/* <NavLink to="/accountinfo">Account Information</NavLink>*/} + {/*</li>*/} </ul> </nav> ); diff --git a/inventory-manager/src/components/useToken.jsx b/inventory-manager/src/components/useToken.jsx index 5c0106a..3077d7e 100644 --- a/inventory-manager/src/components/useToken.jsx +++ b/inventory-manager/src/components/useToken.jsx @@ -4,20 +4,21 @@ import Axios from "axios"; export default function useToken() { const getToken = () => { const tokenString = sessionStorage.getItem('token'); - if (!tokenString) + if (!tokenString || tokenString == "undefined") return null; console.log(tokenString); const userToken = JSON.parse(tokenString); console.log(userToken); if (userToken.jwt != null) { - Axios.post("http://localhost:8080/auth/verify", { - jwt: userToken.jwt - }).then((response) => { - console.log(response); - if (response.user) - return response; - }); + // Axios.post("http://localhost:8080/auth/verify", { + // jwt: userToken.jwt + // }).then((response) => { + // console.log(response); + // if (response.user) + // return response; + // }); + return userToken; } return null; }; -- GitLab