"use client" import { useRef } from "react" import useDropdownStore from "@/stores/main-menu" import { ChevronDownSmallIcon, ChevronRightIcon } from "@/components/Icons" import Link from "@/components/TempDesignSystem/Link" import useClickOutside from "@/hooks/useClickOutside" import { useHandleKeyUp } from "@/hooks/useHandleKeyUp" import MainMenuButton from "../../MainMenuButton" import MegaMenu from "../MegaMenu" import styles from "./navigationMenuItem.module.css" import type { NavigationMenuItemProps } from "@/types/components/header/navigationMenuItem" export default function MenuItem({ item, isMobile }: NavigationMenuItemProps) { const { openMegaMenu, toggleMegaMenu } = useDropdownStore() const megaMenuRef = useRef(null) const { submenu, title, link, seeAllLink, card } = item const megaMenuTitle = `${title}-${isMobile ? "mobile" : "desktop"}` const isMegaMenuOpen = openMegaMenu === megaMenuTitle useHandleKeyUp((event: KeyboardEvent) => { if (event.key === "Escape" && isMegaMenuOpen) { toggleMegaMenu(false) } }) useClickOutside(megaMenuRef, isMegaMenuOpen && !isMobile, () => { toggleMegaMenu(false) }) return submenu.length ? ( <> toggleMegaMenu(megaMenuTitle)} className={`${styles.navigationMenuItem} ${isMobile ? styles.mobile : styles.desktop}`} > {title} {isMobile ? ( ) : ( )}
{isMegaMenuOpen ? ( ) : null}
) : ( {title} ) }