SW-386 Using header component in layout instead of parallel route. Added suspense

This commit is contained in:
Linus Flood
2024-09-11 08:11:47 +02:00
parent a0a1b0be78
commit 12178279d3
7 changed files with 13 additions and 27 deletions

View File

@@ -1 +0,0 @@
export { default } from "../page"

View File

@@ -1 +0,0 @@
export { default } from "../../page"

View File

@@ -1,5 +0,0 @@
"use client"
export default function Error() {
return null
}

View File

@@ -1 +0,0 @@
export { default } from "../../page"

View File

@@ -1,10 +0,0 @@
import Header from "@/components/Header"
import { setLang } from "@/i18n/serverContext"
import { LangParams, PageArgs } from "@/types/params"
export default async function HeaderPage({ params }: PageArgs<LangParams>) {
setLang(params.lang)
return <Header />
}

View File

@@ -9,6 +9,7 @@ import TokenRefresher from "@/components/Auth/TokenRefresher"
import AdobeSDKScript from "@/components/Current/AdobeSDKScript"
import VwoScript from "@/components/Current/VwoScript"
import Footer from "@/components/Footer"
import Header from "@/components/Header"
import { ToastHandler } from "@/components/TempDesignSystem/Toasts"
import { preloadUserTracking } from "@/components/TrackingSDK"
import { getIntl } from "@/i18n"
@@ -20,11 +21,9 @@ import type { LangParams, LayoutArgs } from "@/types/params"
export default async function RootLayout({
children,
params,
header,
bookingwidget,
}: React.PropsWithChildren<
LayoutArgs<LangParams> & {
header: React.ReactNode
bookingwidget: React.ReactNode
}
>) {
@@ -53,7 +52,7 @@ export default async function RootLayout({
<body>
<ServerIntlProvider intl={{ defaultLocale, locale, messages }}>
<TrpcProvider>
{header}
<Header />
{bookingwidget}
{children}
<ToastHandler />

View File

@@ -1,5 +1,8 @@
import { Suspense } from "react"
import { serverClient } from "@/lib/trpc/server"
import LoadingSpinner from "../LoadingSpinner"
import MainMenu from "./MainMenu"
import TopMenu from "./TopMenu"
@@ -15,12 +18,14 @@ export default async function Header() {
return (
<header className={styles.header}>
<TopMenu languageUrls={languages.urls} topLink={headerData.topLink} />
<MainMenu
languageUrls={languages.urls}
menuItems={headerData.menuItems}
topLink={headerData.topLink}
/>
<Suspense fallback={<LoadingSpinner />}>
<TopMenu languageUrls={languages.urls} topLink={headerData.topLink} />
<MainMenu
languageUrls={languages.urls}
menuItems={headerData.menuItems}
topLink={headerData.topLink}
/>
</Suspense>
</header>
)
}