Break into smaller components

This commit is contained in:
Linus Flood
2024-09-13 12:00:31 +02:00
parent a640fd057e
commit e8b5ec544e
17 changed files with 154 additions and 153 deletions

View File

@@ -1,39 +1,18 @@
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
}
export default async function Header({}) {
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 fallback="Loading top menu">
<TopMenu />
</Suspense>
<Suspense fallback="Loading main menu">
<MainMenu />
</Suspense>
</header>
)