From da5eaeaaca66c548c9fcfef82b72f9b4d5a80d66 Mon Sep 17 00:00:00 2001 From: Alfred Lin Date: Thu, 13 Apr 2023 08:25:39 -0400 Subject: [PATCH 1/2] changes --- client/src/components/NavBar/NavBar.jsx | 21 ++++++++++++++++----- 1 file changed, 16 insertions(+), 5 deletions(-) diff --git a/client/src/components/NavBar/NavBar.jsx b/client/src/components/NavBar/NavBar.jsx index 1f6c383be..ffd6cfe2c 100644 --- a/client/src/components/NavBar/NavBar.jsx +++ b/client/src/components/NavBar/NavBar.jsx @@ -1,9 +1,7 @@ import { React, useState, useEffect, Link } from "react"; import { useNavigate } from "react-router-dom"; import { IoMdCart } from "react-icons/io"; - import navbar_logo from "../NavBar/navbar_logo.jpg" - import { ButtonGroup, Button, AddIcon, RemoveIcon } from "@mui/material"; import ShoppingCartIcon from "@mui/icons-material/ShoppingCart"; import { Badge } from "@mui/material"; @@ -22,15 +20,28 @@ function findQuantity(booksCartNames) { return count; } -const NavBar = ({ user, items }) => { +function clearCart() { + localStorage.removeItem("booksCartNames"); +} + +const NavBar = ({ user, items, isLoggedIn}) => { const navigate = useNavigate(); const [shoppingCartQuantity, setShoppingCartQuantity] = useState(0); useEffect(() => { - if (val) { + if (val && isLoggedIn) { setShoppingCartQuantity(val); + } else { + clearCart(); } - }, []); + }, [isLoggedIn]); + + // useEffect(() => { + // if (!isLoggedIn) { + // clearCart(); // clear the cart when user is logged out + // setShoppingCartQuantity(0); + // } + // }, [isLoggedIn]); return (
From b941244e9d46f60625b18c35942bfd0b5da28d5b Mon Sep 17 00:00:00 2001 From: Alfred Lin Date: Thu, 13 Apr 2023 10:01:45 -0400 Subject: [PATCH 2/2] clear cart when log out --- client/src/components/NavBar/NavBar.jsx | 21 +++++---------------- client/src/components/ProfileIcon.jsx | 14 ++++++++------ 2 files changed, 13 insertions(+), 22 deletions(-) diff --git a/client/src/components/NavBar/NavBar.jsx b/client/src/components/NavBar/NavBar.jsx index ffd6cfe2c..1f6c383be 100644 --- a/client/src/components/NavBar/NavBar.jsx +++ b/client/src/components/NavBar/NavBar.jsx @@ -1,7 +1,9 @@ import { React, useState, useEffect, Link } from "react"; import { useNavigate } from "react-router-dom"; import { IoMdCart } from "react-icons/io"; + import navbar_logo from "../NavBar/navbar_logo.jpg" + import { ButtonGroup, Button, AddIcon, RemoveIcon } from "@mui/material"; import ShoppingCartIcon from "@mui/icons-material/ShoppingCart"; import { Badge } from "@mui/material"; @@ -20,28 +22,15 @@ function findQuantity(booksCartNames) { return count; } -function clearCart() { - localStorage.removeItem("booksCartNames"); -} - -const NavBar = ({ user, items, isLoggedIn}) => { +const NavBar = ({ user, items }) => { const navigate = useNavigate(); const [shoppingCartQuantity, setShoppingCartQuantity] = useState(0); useEffect(() => { - if (val && isLoggedIn) { + if (val) { setShoppingCartQuantity(val); - } else { - clearCart(); } - }, [isLoggedIn]); - - // useEffect(() => { - // if (!isLoggedIn) { - // clearCart(); // clear the cart when user is logged out - // setShoppingCartQuantity(0); - // } - // }, [isLoggedIn]); + }, []); return (
diff --git a/client/src/components/ProfileIcon.jsx b/client/src/components/ProfileIcon.jsx index ff7883760..027cc58d4 100644 --- a/client/src/components/ProfileIcon.jsx +++ b/client/src/components/ProfileIcon.jsx @@ -31,12 +31,14 @@ export default function ProfileIcon(currentUser) { },[]); const logout = () => { - localStorage.removeItem("token"); - localStorage.removeItem("userType"); - localStorage.removeItem("userID"); - window.location.reload(); - window.location.href = "/"; - console.log("logout"); + localStorage.removeItem("token"); + localStorage.removeItem("userType"); + localStorage.removeItem("userID"); + localStorage.removeItem("book_cart"); + localStorage.removeItem("booksCartNames"); + window.location.reload(); + window.location.href = "/"; + console.log("logout"); }; const isLoggedIn = () => {