feat(SW-187): Fixed toggling issue
This commit is contained in:
@@ -24,11 +24,16 @@ export default function MobileMenu({
|
||||
}: MobileMenuProps) {
|
||||
const intl = useIntl()
|
||||
const { toggleDropdown, openDropdown } = useDropdownStore()
|
||||
const isHamburgerMenuOpen = openDropdown === DropdownType.HamburgerMenu
|
||||
const isHamburgerMenuOpen =
|
||||
openDropdown === DropdownType.HamburgerMenu ||
|
||||
openDropdown === DropdownType.HeaderLanguageMobile
|
||||
|
||||
const isMyPagesMobileMenuOpen =
|
||||
openDropdown === DropdownType.MyPagesMobileMenu
|
||||
const isHeaderLanguageSwitcherOpen =
|
||||
openDropdown === DropdownType.HeaderLanguageMobile
|
||||
const isFooterLanguageSwitcherOpen =
|
||||
openDropdown === DropdownType.FooterLanguage
|
||||
|
||||
useHandleKeyUp((event: KeyboardEvent) => {
|
||||
if (event.key === "Escape" && isHamburgerMenuOpen) {
|
||||
@@ -43,8 +48,11 @@ export default function MobileMenu({
|
||||
if (isHeaderLanguageSwitcherOpen) {
|
||||
toggleDropdown(DropdownType.HeaderLanguageMobile)
|
||||
}
|
||||
|
||||
toggleDropdown(DropdownType.HamburgerMenu)
|
||||
if (!isFooterLanguageSwitcherOpen) {
|
||||
toggleDropdown(DropdownType.HamburgerMenu)
|
||||
} else {
|
||||
toggleDropdown(DropdownType.FooterLanguage)
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
@@ -52,7 +60,7 @@ export default function MobileMenu({
|
||||
<>
|
||||
<button
|
||||
type="button"
|
||||
className={`${styles.hamburger} ${isHamburgerMenuOpen || isMyPagesMobileMenuOpen ? styles.isExpanded : ""}`}
|
||||
className={`${styles.hamburger} ${isHamburgerMenuOpen || isMyPagesMobileMenuOpen || isFooterLanguageSwitcherOpen ? styles.isExpanded : ""}`}
|
||||
aria-label={intl.formatMessage({
|
||||
id: isHamburgerMenuOpen ? "Close menu" : "Open menu",
|
||||
})}
|
||||
|
||||
@@ -26,9 +26,7 @@ export default function LanguageSwitcherContent({
|
||||
const languageSwitcherRef = useTrapFocus()
|
||||
const urlKeys = Object.keys(urls) as Lang[]
|
||||
const position =
|
||||
type === "footer"
|
||||
? DropdownType.FooterLanguage
|
||||
: DropdownType.HeaderLanguage
|
||||
type === "footer" ? DropdownType.FooterLanguage : DropdownType.HamburgerMenu
|
||||
|
||||
return (
|
||||
<div className={styles.languageSwitcherContent} ref={languageSwitcherRef}>
|
||||
|
||||
@@ -7,7 +7,6 @@ import { removeMultipleSlashes } from "@/utils/url"
|
||||
import { imageVaultAssetTransformedSchema } from "../schemas/imageVault"
|
||||
|
||||
import { Image } from "@/types/image"
|
||||
import { PageLinkEnum } from "@/types/requests/pageLinks"
|
||||
|
||||
// Help me write this zod schema based on the type ContactConfig
|
||||
export const validateContactConfigSchema = z.object({
|
||||
@@ -310,7 +309,7 @@ const validateInternalLink = z
|
||||
const lang = node.system.locale
|
||||
|
||||
return {
|
||||
url: originalUrl || removeMultipleSlashes(`/${lang}/${url}`),
|
||||
url: originalUrl ?? removeMultipleSlashes(`/${lang}/${url}`),
|
||||
title: node.title,
|
||||
}
|
||||
})
|
||||
@@ -500,7 +499,7 @@ const cardButtonSchema = z
|
||||
const href =
|
||||
isContentstackLink && externalLink.href
|
||||
? externalLink.href
|
||||
: linkConnectionData?.href || ""
|
||||
: linkConnectionData?.href ?? ""
|
||||
|
||||
return {
|
||||
openInNewTab: data.open_in_new_tab,
|
||||
|
||||
Reference in New Issue
Block a user