feat(SW-184): language switcher mobile/desktop functionality

This commit is contained in:
Erik Tiekstra
2024-08-22 14:21:24 +02:00
parent a2e2cf575e
commit 7ef7b4a544
15 changed files with 407 additions and 83 deletions

View File

@@ -7,6 +7,7 @@ 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"
@@ -22,6 +23,12 @@ export default function MobileMenu({
const intl = useIntl()
const { isHamburgerMenuOpen, toggleHamburgerMenu } = useDropdownStore()
useHandleKeyUp((event: KeyboardEvent) => {
if (event.key === "Escape" && isHamburgerMenuOpen) {
toggleHamburgerMenu()
}
})
return (
<>
<button
@@ -33,11 +40,7 @@ export default function MobileMenu({
>
<span className={styles.bar}></span>
</button>
<Modal
className={styles.modal}
isOpen={isHamburgerMenuOpen}
onOpenChange={toggleHamburgerMenu}
>
<Modal className={styles.modal} isOpen={isHamburgerMenuOpen}>
<Dialog
className={styles.dialog}
aria-label={intl.formatMessage({ id: "Menu" })}