feat(SW-272) added mega menu

This commit is contained in:
Erik Tiekstra
2024-09-20 14:27:20 +02:00
parent bb93d488bb
commit 9fcf362587
8 changed files with 307 additions and 58 deletions

View File

@@ -16,6 +16,7 @@ const useDropdownStore = create<DropdownState>((set, get) => ({
isHeaderLanguageSwitcherOpen: false,
isHeaderLanguageSwitcherMobileOpen: false,
isFooterLanguageSwitcherOpen: false,
openMegaMenu: false,
handleHamburgerClick: () => {
const state = get()
if (state.isMyPagesMobileMenuOpen) {
@@ -31,9 +32,27 @@ const useDropdownStore = create<DropdownState>((set, get) => ({
}
}
},
toggleMegaMenu: (menu: string | false) =>
set(
produce((state: DropdownState) => {
if (state.openMegaMenu === menu) {
state.openMegaMenu = false
} else {
state.openMegaMenu = menu
}
state.isHamburgerMenuOpen = false
state.isMyPagesMobileMenuOpen = false
state.isMyPagesMenuOpen = false
state.isHeaderLanguageSwitcherOpen = false
state.isHeaderLanguageSwitcherMobileOpen = false
state.isFooterLanguageSwitcherOpen = false
})
),
toggleDropdown: (dropdown: DropdownTypeEnum) =>
set(
produce((state: DropdownState) => {
state.openMegaMenu = false
switch (dropdown) {
case DropdownTypeEnum.HamburgerMenu:
state.isHamburgerMenuOpen = !state.isHamburgerMenuOpen
@@ -97,3 +116,42 @@ const useDropdownStore = create<DropdownState>((set, get) => ({
}))
export default useDropdownStore
const error = [
{
query: {
hotelId: "698",
params: { hotelId: "698", language: "En", include: "RoomCategories" },
},
},
{
query: { lang: "en" },
error: {
issues: [
{
code: "invalid_type",
expected: "object",
received: "undefined",
path: [
"all_header",
"items",
0,
"menu_items",
0,
"submenu",
0,
"links",
0,
"linkConnection",
"edges",
0,
"node",
"web",
],
message: "Required",
},
],
name: "ZodError",
},
},
]