"use client"; import { motion, AnimatePresence } from "framer-motion"; import Image from "next/image"; import { useState, useEffect } from "react"; export default function Header() { const [isScrolled, setIsScrolled] = useState(false); const [isMobileMenuOpen, setIsMobileMenuOpen] = useState(false); useEffect(() => { const handleScroll = () => { const scrollPosition = window.scrollY; setIsScrolled(scrollPosition > 100); }; window.addEventListener("scroll", handleScroll); return () => window.removeEventListener("scroll", handleScroll); }, []); // Close mobile menu when clicking outside useEffect(() => { const handleClickOutside = (event: MouseEvent) => { const target = event.target as Element; if ( !target.closest(".mobile-menu") && !target.closest(".hamburger-button") ) { setIsMobileMenuOpen(false); } }; if (isMobileMenuOpen) { document.addEventListener("click", handleClickOutside); } return () => { document.removeEventListener("click", handleClickOutside); }; }, [isMobileMenuOpen]); // Prevent body scroll when mobile menu is open useEffect(() => { if (isMobileMenuOpen) { document.body.style.overflow = "hidden"; } else { document.body.style.overflow = "unset"; } return () => { document.body.style.overflow = "unset"; }; }, [isMobileMenuOpen]); const toggleMobileMenu = () => { setIsMobileMenuOpen(!isMobileMenuOpen); }; return ( <> {/* Mobile Header - Only visible on mobile */} {/* Desktop Header - Only visible on desktop */} {/* Mobile Menu Overlay - Only visible on mobile */} {isMobileMenuOpen && (
{/* Mobile Navigation Links */}
setIsMobileMenuOpen(false)} whileHover={{ x: 10 }} > About us setIsMobileMenuOpen(false)} whileHover={{ x: 10 }} > Shop setIsMobileMenuOpen(false)} whileHover={{ x: 10 }} > Categories
{/* Mobile Action Buttons */}
)}
); }