diff --git a/frontend/src/components/Header.js b/frontend/src/components/Header.js index 779fe1c..04f8c5b 100644 --- a/frontend/src/components/Header.js +++ b/frontend/src/components/Header.js @@ -1,10 +1,12 @@ -import { getUserInfo } from '../localStorage'; +import { getCartItems, getUserInfo } from '../localStorage'; import { parseRequestUrl } from '../utils'; const Header = { render: () => { const { name, isAdmin } = getUserInfo(); const { value } = parseRequestUrl(); + const totalCartItems = JSON.parse(localStorage.cartItems)[0]===undefined?'':JSON.parse(localStorage.cartItems)[0].qty + const textAppendedAfterCart = totalCartItems>0?`(${totalCartItems})`:''; return `
`; }, after_render: () => { + window.addEventListener('cartUpdated', () => { + // Re-render the header when the cart is updated + document.getElementById('header-container').innerHTML = Header.render(); + }); document .getElementById('search-form') .addEventListener('submit', async (e) => { diff --git a/frontend/src/localStorage.js b/frontend/src/localStorage.js index d24dc55..96b33c5 100644 --- a/frontend/src/localStorage.js +++ b/frontend/src/localStorage.js @@ -6,6 +6,9 @@ export const getCartItems = () => { }; export const setCartItems = (cartItems) => { localStorage.setItem('cartItems', JSON.stringify(cartItems)); + console.log("cart is set"); + window.dispatchEvent(new CustomEvent('cartUpdated')); + }; export const setUserInfo = ({ _id = '',