"use client"; import { cn } from "@/app/lib/cn"; import { HamburgerMenu } from "iconsax-reactjs"; import { FC, useEffect, useRef, useState } from "react"; import AllProductsMenu from "./AllProductsMenu"; const menuItems = ["کارت ویزیت", "کاتالوگ", "بروشور", "کارت تبریک", "جعبه", "ساک دستی", "هدایای تبلیغاتی"]; const HeaderMenu: FC = () => { const [isAllProductsOpen, setIsAllProductsOpen] = useState(false); const containerRef = useRef(null); useEffect(() => { if (!isAllProductsOpen) return; const handlePointerDown = (event: MouseEvent) => { if (!containerRef.current?.contains(event.target as Node)) { setIsAllProductsOpen(false); } }; const handleEscape = (event: KeyboardEvent) => { if (event.key === "Escape") { setIsAllProductsOpen(false); } }; document.addEventListener("mousedown", handlePointerDown); document.addEventListener("keydown", handleEscape); return () => { document.removeEventListener("mousedown", handlePointerDown); document.removeEventListener("keydown", handleEscape); }; }, [isAllProductsOpen]); return (
{menuItems.map((item) => (
{item}
))}
{isAllProductsOpen && }
); }; export default HeaderMenu;