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

View File

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