feat(SW-184): my pages menu mobile/desktop functionality
This commit is contained in:
@@ -19,44 +19,85 @@ const useDropdownStore = create<DropdownState>((set) => ({
|
||||
isMyPagesMenuOpen: false,
|
||||
isLanguageSwitcherOpen: false,
|
||||
toggleHamburgerMenu: () =>
|
||||
set(({ isHamburgerMenuOpen, isMyPagesMenuOpen }) => {
|
||||
// Close the other dropdown if it's open
|
||||
if (!isHamburgerMenuOpen && isMyPagesMenuOpen) {
|
||||
set({ isMyPagesMenuOpen: false })
|
||||
set(
|
||||
({ isHamburgerMenuOpen, isMyPagesMenuOpen, isMyPagesMobileMenuOpen }) => {
|
||||
// Close the other dropdowns if they're open
|
||||
if (!isHamburgerMenuOpen) {
|
||||
if (isMyPagesMenuOpen) {
|
||||
set({ isMyPagesMenuOpen: false })
|
||||
}
|
||||
if (isMyPagesMobileMenuOpen) {
|
||||
set({ isMyPagesMobileMenuOpen: false })
|
||||
}
|
||||
}
|
||||
return { isHamburgerMenuOpen: !isHamburgerMenuOpen }
|
||||
}
|
||||
return { isHamburgerMenuOpen: !isHamburgerMenuOpen }
|
||||
}),
|
||||
// toggleHamburgerMenu: () =>
|
||||
// set((state) => ({ isHamburgerMenuOpen: !state.isHamburgerMenuOpen })),
|
||||
),
|
||||
toggleMyPagesMobileMenu: () =>
|
||||
set((state) => {
|
||||
// Close the other dropdown if it's open
|
||||
if (!state.isMyPagesMobileMenuOpen && state.isHamburgerMenuOpen) {
|
||||
set({ isHamburgerMenuOpen: false })
|
||||
set(
|
||||
({
|
||||
isMyPagesMenuOpen,
|
||||
isMyPagesMobileMenuOpen,
|
||||
isHamburgerMenuOpen,
|
||||
isLanguageSwitcherOpen,
|
||||
}) => {
|
||||
// Close the other dropdowns if they're open
|
||||
if (!isMyPagesMobileMenuOpen) {
|
||||
if (isMyPagesMenuOpen) {
|
||||
set({ isMyPagesMenuOpen: false })
|
||||
}
|
||||
if (isHamburgerMenuOpen) {
|
||||
set({ isHamburgerMenuOpen: false })
|
||||
}
|
||||
if (isLanguageSwitcherOpen) {
|
||||
set({ isLanguageSwitcherOpen: false })
|
||||
}
|
||||
}
|
||||
return { isMyPagesMobileMenuOpen: !isMyPagesMobileMenuOpen }
|
||||
}
|
||||
return { isMyPagesMobileMenuOpen: !state.isMyPagesMobileMenuOpen }
|
||||
}),
|
||||
),
|
||||
toggleMyPagesMenu: () =>
|
||||
set(
|
||||
({ isHamburgerMenuOpen, isLanguageSwitcherOpen, isMyPagesMenuOpen }) => {
|
||||
// Close the other dropdown if it's open
|
||||
if (!isMyPagesMenuOpen && isLanguageSwitcherOpen) {
|
||||
set({ isLanguageSwitcherOpen: false })
|
||||
}
|
||||
if (!isMyPagesMenuOpen && isHamburgerMenuOpen) {
|
||||
set({ isHamburgerMenuOpen: false })
|
||||
({
|
||||
isHamburgerMenuOpen,
|
||||
isLanguageSwitcherOpen,
|
||||
isMyPagesMenuOpen,
|
||||
isMyPagesMobileMenuOpen,
|
||||
}) => {
|
||||
// Close the other dropdowns if they're open
|
||||
if (!isMyPagesMenuOpen) {
|
||||
if (isHamburgerMenuOpen) {
|
||||
set({ isHamburgerMenuOpen: false })
|
||||
}
|
||||
if (isMyPagesMobileMenuOpen) {
|
||||
set({ isMyPagesMobileMenuOpen: false })
|
||||
}
|
||||
if (isLanguageSwitcherOpen) {
|
||||
set({ isLanguageSwitcherOpen: false })
|
||||
}
|
||||
}
|
||||
return { isMyPagesMenuOpen: !isMyPagesMenuOpen }
|
||||
}
|
||||
),
|
||||
toggleLanguageSwitcher: () =>
|
||||
set(({ isLanguageSwitcherOpen, isMyPagesMenuOpen }) => {
|
||||
// Close the other dropdown if it's open
|
||||
if (!isLanguageSwitcherOpen && isMyPagesMenuOpen) {
|
||||
set({ isMyPagesMenuOpen: false })
|
||||
set(
|
||||
({
|
||||
isLanguageSwitcherOpen,
|
||||
isMyPagesMenuOpen,
|
||||
isMyPagesMobileMenuOpen,
|
||||
}) => {
|
||||
// Close the other dropdowns if they're open
|
||||
if (!isLanguageSwitcherOpen) {
|
||||
if (isMyPagesMenuOpen) {
|
||||
set({ isMyPagesMenuOpen: false })
|
||||
}
|
||||
if (isMyPagesMobileMenuOpen) {
|
||||
set({ isMyPagesMobileMenuOpen: false })
|
||||
}
|
||||
}
|
||||
return { isLanguageSwitcherOpen: !isLanguageSwitcherOpen }
|
||||
}
|
||||
return { isLanguageSwitcherOpen: !isLanguageSwitcherOpen }
|
||||
}),
|
||||
),
|
||||
}))
|
||||
|
||||
export default useDropdownStore
|
||||
|
||||
Reference in New Issue
Block a user