fix(SW-184): fixed implementation of useTrapFocus

This commit is contained in:
Erik Tiekstra
2024-08-26 08:09:32 +02:00
parent bdec054ecd
commit a02dcd3428
13 changed files with 324 additions and 79 deletions

View File

@@ -21,7 +21,12 @@ export default function MobileMenu({
languageUrls,
}: MobileMenuProps) {
const intl = useIntl()
const { isHamburgerMenuOpen, toggleHamburgerMenu } = useDropdownStore()
const {
isHamburgerMenuOpen,
isMyPagesMobileMenuOpen,
toggleHamburgerMenu,
toggleMyPagesMobileMenu,
} = useDropdownStore()
useHandleKeyUp((event: KeyboardEvent) => {
if (event.key === "Escape" && isHamburgerMenuOpen) {
@@ -29,11 +34,19 @@ export default function MobileMenu({
}
})
function handleHamburgerClick() {
if (isMyPagesMobileMenuOpen) {
toggleMyPagesMobileMenu()
} else {
toggleHamburgerMenu()
}
}
return (
<>
<button
type="button"
className={`${styles.hamburger} ${isHamburgerMenuOpen ? styles.isExpanded : ""}`}
className={`${styles.hamburger} ${isHamburgerMenuOpen || isMyPagesMobileMenuOpen ? styles.isExpanded : ""}`}
aria-pressed="false"
aria-label={intl.formatMessage({ id: "Menu" })}
onClick={toggleHamburgerMenu}
@@ -59,7 +72,7 @@ export default function MobileMenu({
<ServiceIcon width={20} height={20} color="burgundy" />
{intl.formatMessage({ id: "Customer service" })}
</HeaderLink>
<LanguageSwitcher urls={languageUrls} />
<LanguageSwitcher variant="mobileHeader" urls={languageUrls} />
</footer>
</Dialog>
</Modal>