diff --git a/components/Header/TopMenu/index.tsx b/components/Header/TopMenu/index.tsx
index 69669861f..0c2d87c3d 100644
--- a/components/Header/TopMenu/index.tsx
+++ b/components/Header/TopMenu/index.tsx
@@ -1,3 +1,5 @@
+import { Suspense } from "react"
+
import { GiftIcon, SearchIcon } from "@/components/Icons"
import LanguageSwitcher from "@/components/LanguageSwitcher"
import { getIntl } from "@/i18n"
@@ -8,7 +10,10 @@ import styles from "./topMenu.module.css"
import type { TopMenuProps } from "@/types/components/header/topMenu"
-export default async function TopMenu({ languageUrls, topLink }: TopMenuProps) {
+export default async function TopMenu({
+ languageSwitcher,
+ topLink,
+}: TopMenuProps) {
const intl = await getIntl()
return (
@@ -21,7 +26,7 @@ export default async function TopMenu({ languageUrls, topLink }: TopMenuProps) {
) : null}
-
+
{languageSwitcher}
{intl.formatMessage({ id: "Find booking" })}
diff --git a/components/Header/index.tsx b/components/Header/index.tsx
index 6be9a911b..32dfb1bf5 100644
--- a/components/Header/index.tsx
+++ b/components/Header/index.tsx
@@ -8,9 +8,15 @@ import TopMenu from "./TopMenu"
import styles from "./header.module.css"
-export default async function Header() {
- const languages = await serverClient().contentstack.languageSwitcher.get()
- const headerData = await serverClient().contentstack.base.header()
+export interface HeaderProps {
+ languageSwitcher: React.ReactNode
+}
+
+export default async function Header({ languageSwitcher }: HeaderProps) {
+ const [languages, headerData] = await Promise.all([
+ serverClient().contentstack.languageSwitcher.get(),
+ serverClient().contentstack.base.header(),
+ ])
if (!languages || !headerData) {
return null
@@ -19,7 +25,10 @@ export default async function Header() {
return (
}>
-
+
- {homeBreadcrumb ? (
- -
-
-
-
-
-
- ) : null}
+
+ {homeBreadcrumb ? (
+ -
+
+
+
+
+
+ ) : null}
+
+ {breadcrumbs.map((breadcrumb) => {
+ if (breadcrumb.href) {
+ return (
+ -
+
+ {breadcrumb.title}
+
+
+
+ )
+ }
- {breadcrumbs.map((breadcrumb) => {
- if (breadcrumb.href) {
return (
-
-
+
{breadcrumb.title}
-
-
+
)
- }
-
- return (
- -
-
- {breadcrumb.title}
-
-
- )
- })}
+ })}
+
)
diff --git a/components/MyPages/Sidebar/index.tsx b/components/MyPages/Sidebar/index.tsx
index efead6f34..65c4b22b7 100644
--- a/components/MyPages/Sidebar/index.tsx
+++ b/components/MyPages/Sidebar/index.tsx
@@ -1,4 +1,4 @@
-import { Fragment } from "react"
+import { Fragment, Suspense } from "react"
import { logout } from "@/constants/routes/handleAuth"
import { serverClient } from "@/lib/trpc/server"
@@ -14,46 +14,49 @@ import styles from "./sidebar.module.css"
export default async function SidebarMyPages() {
const navigation = await serverClient().contentstack.myPages.navigation.get()
const { formatMessage } = await getIntl()
- if (!navigation) {
- return null
- }
+
return (
)
diff --git a/types/components/header/topMenu.ts b/types/components/header/topMenu.ts
index 0c2eb4243..5c4426b81 100644
--- a/types/components/header/topMenu.ts
+++ b/types/components/header/topMenu.ts
@@ -2,6 +2,6 @@ import type { Header } from "@/types/header"
import type { LanguageSwitcherData } from "@/types/requests/languageSwitcher"
export interface TopMenuProps {
- languageUrls: LanguageSwitcherData
+ languageSwitcher: React.ReactNode
topLink: Header["topLink"]
}