{backgroundImage && (
-
+
+
+
)}
{scriptedTopTitle ? (
@@ -73,6 +77,7 @@ export default function Card({
href={primaryButton.href}
target={primaryButton.openInNewTab ? "_blank" : undefined}
color={primaryLinkColor}
+ onClick={onPrimaryButtonClick}
>
{primaryButton.title}
@@ -90,6 +95,7 @@ export default function Card({
href={secondaryButton.href}
target={secondaryButton.openInNewTab ? "_blank" : undefined}
color={secondaryLinkColor}
+ onClick={onSecondaryButtonClick}
>
{secondaryButton.title}
diff --git a/stores/main-menu.ts b/stores/main-menu.ts
index 4ccbcb290..cae5320b5 100644
--- a/stores/main-menu.ts
+++ b/stores/main-menu.ts
@@ -16,6 +16,7 @@ const useDropdownStore = create((set, get) => ({
isHeaderLanguageSwitcherOpen: false,
isHeaderLanguageSwitcherMobileOpen: false,
isFooterLanguageSwitcherOpen: false,
+ openMegaMenu: false,
handleHamburgerClick: () => {
const state = get()
if (state.isMyPagesMobileMenuOpen) {
@@ -31,9 +32,27 @@ const useDropdownStore = create((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((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",
+ },
+ },
+]
diff --git a/types/components/dropdown/dropdown.ts b/types/components/dropdown/dropdown.ts
index 899086336..e282e5ee1 100644
--- a/types/components/dropdown/dropdown.ts
+++ b/types/components/dropdown/dropdown.ts
@@ -5,6 +5,8 @@ export interface DropdownState {
isHeaderLanguageSwitcherOpen: boolean
isHeaderLanguageSwitcherMobileOpen: boolean
isFooterLanguageSwitcherOpen: boolean
+ openMegaMenu: string | false
+ toggleMegaMenu: (menu: string | false) => void
toggleDropdown: (dropdown: DropdownTypeEnum) => void
handleHamburgerClick: () => void
}
@@ -16,6 +18,7 @@ export enum DropdownTypeEnum {
HeaderLanguageSwitcher = "headerLanguageSwitcher",
HeaderLanguageSwitcherMobile = "headerLanguageSwitcherMobile",
FooterLanguageSwitcher = "footerLanguageSwitcher",
+ MegaMenu = "megaMenu",
}
export type DropdownType = `${DropdownTypeEnum}`