Files
web/components/Header/index.tsx
T
Linus Flood 6a1f86265e Cleanup
2024-09-11 20:13:35 +02:00

41 lines
963 B
TypeScript

import { Suspense } from "react"
import { serverClient } from "@/lib/trpc/server"
import LoadingSpinner from "../LoadingSpinner"
import MainMenu from "./MainMenu"
import TopMenu from "./TopMenu"
import styles from "./header.module.css"
export default async function Header({
languageSwitcher,
}: {
languageSwitcher: React.ReactNode
}) {
const [languages, headerData] = await Promise.all([
serverClient().contentstack.languageSwitcher.get(),
serverClient().contentstack.base.header(),
])
if (!languages || !headerData) {
return null
}
return (
<header className={styles.header}>
<Suspense fallback={<LoadingSpinner />}>
<TopMenu
languageSwitcher={languageSwitcher}
topLink={headerData.topLink}
/>
<MainMenu
languageUrls={languages.urls}
menuItems={headerData.menuItems}
topLink={headerData.topLink}
/>
</Suspense>
</header>
)
}