fix: make header a parallel route

This commit is contained in:
Christel Westerberg
2024-06-11 16:47:18 +02:00
parent f557c8e465
commit e622be7c86
11 changed files with 110 additions and 15 deletions

View File

@@ -0,0 +1,14 @@
"use client"
import { useParams } from "next/navigation"
import LanguageSwitcher from "@/components/Current/Header/LanguageSwitcher"
import { baseUrls } from "../../_constants"
import { LangParams } from "@/types/params"
export default function Error() {
const params = useParams<LangParams>()
return <LanguageSwitcher urls={baseUrls} lang={params.lang} />
}

View File

@@ -0,0 +1,13 @@
import { serverClient } from "@/lib/trpc/server"
import LanguageSwitcher from "@/components/Current/Header/LanguageSwitcher"
import { LangParams, PageArgs } from "@/types/params"
export default async function LanguageSwitcherRoute({
params,
}: PageArgs<LangParams>) {
const urls = await serverClient().contentstack.config.languageSwitcher()
return <LanguageSwitcher urls={urls} lang={params.lang} />
}

View File

@@ -0,0 +1,21 @@
import { ReactNode } from "react"
import Header from "@/components/Current/Header"
import { LangParams, PageArgs } from "@/types/params"
export default function HeaderLayout({
params,
languageSwitcher,
children,
}: PageArgs<LangParams> & {
languageSwitcher: ReactNode
children: ReactNode
}) {
return (
<>
<Header lang={params.lang} languageSwitcher={languageSwitcher} />
{children}
</>
)
}

View File

@@ -0,0 +1,3 @@
export default function EmptyHeaderPage() {
return null
}

View File

@@ -0,0 +1,10 @@
import { LanguageSwitcherData } from "@/types/requests/languageSwitcher"
export const baseUrls: LanguageSwitcherData = {
da: { url: "/da/" },
de: { url: "/de/" },
en: { url: "/en/" },
fi: { url: "/fi/" },
no: { url: "/no/" },
sv: { url: "/sv/" },
}

View File

@@ -0,0 +1,6 @@
"use client"
export default function Error() {
// Don't return any header if error
return null
}

View File

@@ -0,0 +1,15 @@
import Header from "@/components/Current/Header"
import LanguageSwitcher from "@/components/Current/Header/LanguageSwitcher"
import { baseUrls } from "./_constants"
import { LangParams, PageArgs } from "@/types/params"
export async function LanguageSwitcherRoute({ params }: PageArgs<LangParams>) {
return (
<Header
lang={params.lang}
languageSwitcher={<LanguageSwitcher urls={baseUrls} lang={params.lang} />}
/>
)
}