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

@@ -19,7 +19,15 @@ const useDropdownStore = create<DropdownState>((set) => ({
isMyPagesMenuOpen: false,
isLanguageSwitcherOpen: false,
toggleHamburgerMenu: () =>
set((state) => ({ isHamburgerMenuOpen: !state.isHamburgerMenuOpen })),
set(({ isHamburgerMenuOpen, isMyPagesMenuOpen }) => {
// Close the other dropdown if it's open
if (!isHamburgerMenuOpen && isMyPagesMenuOpen) {
set({ isMyPagesMenuOpen: false })
}
return { isHamburgerMenuOpen: !isHamburgerMenuOpen }
}),
// toggleHamburgerMenu: () =>
// set((state) => ({ isHamburgerMenuOpen: !state.isHamburgerMenuOpen })),
toggleMyPagesMobileMenu: () =>
set((state) => {
// Close the other dropdown if it's open
@@ -29,13 +37,18 @@ const useDropdownStore = create<DropdownState>((set) => ({
return { isMyPagesMobileMenuOpen: !state.isMyPagesMobileMenuOpen }
}),
toggleMyPagesMenu: () =>
set(({ isLanguageSwitcherOpen, isMyPagesMenuOpen }) => {
// Close the other dropdown if it's open
if (!isMyPagesMenuOpen && isLanguageSwitcherOpen) {
set({ isLanguageSwitcherOpen: false })
set(
({ isHamburgerMenuOpen, isLanguageSwitcherOpen, isMyPagesMenuOpen }) => {
// Close the other dropdown if it's open
if (!isMyPagesMenuOpen && isLanguageSwitcherOpen) {
set({ isLanguageSwitcherOpen: false })
}
if (!isMyPagesMenuOpen && isHamburgerMenuOpen) {
set({ isHamburgerMenuOpen: false })
}
return { isMyPagesMenuOpen: !isMyPagesMenuOpen }
}
return { isMyPagesMenuOpen: !isMyPagesMenuOpen }
}),
),
toggleLanguageSwitcher: () =>
set(({ isLanguageSwitcherOpen, isMyPagesMenuOpen }) => {
// Close the other dropdown if it's open