diff --git a/client/src/components/layout/Header.tsx b/client/src/components/layout/Header.tsx new file mode 100644 index 0000000..c354db5 --- /dev/null +++ b/client/src/components/layout/Header.tsx @@ -0,0 +1,67 @@ +import { Link } from "wouter"; +import { ShoppingBag, User, Menu, X } from "lucide-react"; +import { useState } from "react"; +import { useCart } from "../../hooks/use-cart"; +import CartDrawer from "./CartDrawer"; + +export default function Header() { + const { itemCount, toggleCart, isOpen } = useCart(); + const [menuOpen, setMenuOpen] = useState(false); + const storeName = import.meta.env.VITE_STORE_NAME || "NoShop"; + + return ( + <> + + + + {storeName} + + + + Shop + + + + + + + + + {itemCount > 0 && ( + + {itemCount} + + )} + + setMenuOpen((v) => !v)} + aria-label="Menu" + > + {menuOpen ? : } + + + + + {menuOpen && ( + + setMenuOpen(false)} className="text-foreground">Shop + setMenuOpen(false)} className="text-foreground">Account + + )} + + + + > + ); +}