SW-386 Using header component in layout instead of parallel route. Added suspense
This commit is contained in:
@@ -1 +0,0 @@
|
|||||||
export { default } from "../page"
|
|
||||||
@@ -1 +0,0 @@
|
|||||||
export { default } from "../../page"
|
|
||||||
@@ -1,5 +0,0 @@
|
|||||||
"use client"
|
|
||||||
|
|
||||||
export default function Error() {
|
|
||||||
return null
|
|
||||||
}
|
|
||||||
@@ -1 +0,0 @@
|
|||||||
export { default } from "../../page"
|
|
||||||
@@ -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 />
|
|
||||||
}
|
|
||||||
@@ -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 />
|
||||||
|
|||||||
@@ -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>
|
||||||
)
|
)
|
||||||
}
|
}
|
||||||
|
|||||||
Reference in New Issue
Block a user