"use client" import { useEffect } from "react" import { Dialog, Modal } from "react-aria-components" import { useIntl } from "react-intl" import useDropdownStore from "@/stores/main-menu" import { GiftIcon, SearchIcon, ServiceIcon } from "@/components/Icons" import LanguageSwitcher from "@/components/LanguageSwitcher" import { useHandleKeyUp } from "@/hooks/useHandleKeyUp" import HeaderLink from "../../HeaderLink" import NavigationMenu from "../NavigationMenu" import styles from "./mobileMenu.module.css" import { DropdownTypeEnum } from "@/types/components/dropdown/dropdown" import type { MobileMenuProps } from "@/types/components/header/mobileMenu" export default function MobileMenu({ menuItems, languageUrls, topLink, }: MobileMenuProps) { const intl = useIntl() const { handleHamburgerClick, toggleDropdown, isHamburgerMenuOpen, isMyPagesMobileMenuOpen, isHeaderLanguageSwitcherMobileOpen, isFooterLanguageSwitcherOpen, } = useDropdownStore() useHandleKeyUp((event: KeyboardEvent) => { if (event.key === "Escape" && isHamburgerMenuOpen) { toggleDropdown(DropdownTypeEnum.HamburgerMenu) } }) // Making sure the menu is always opened at the top of the page, just below the header. useEffect(() => { if (isHamburgerMenuOpen) { window.scrollTo({ top: 0, behavior: "instant" }) } }, [isHamburgerMenuOpen]) return ( <> ) }