feat(SW-186): implement cms data into new header

This commit is contained in:
Erik Tiekstra
2024-09-03 15:41:49 +02:00
parent bf7d22c728
commit 52fdc1daac
25 changed files with 123 additions and 154 deletions

View File

@@ -8,7 +8,6 @@ import Link from "@/components/TempDesignSystem/Link"
import { getIntl } from "@/i18n"
import { getLang } from "@/i18n/serverContext"
import { navigationMenuItems } from "../tempHeaderData"
import Avatar from "./Avatar"
import MobileMenu from "./MobileMenu"
import MyPagesMenu from "./MyPagesMenu"
@@ -19,7 +18,10 @@ import styles from "./mainMenu.module.css"
import type { MainMenuProps } from "@/types/components/header/mainMenu"
export default async function MainMenu({ languageUrls }: MainMenuProps) {
export default async function MainMenu({
languageUrls,
menuItems,
}: MainMenuProps) {
const intl = await getIntl()
const lang = getLang()
const myPagesNavigation =
@@ -44,7 +46,9 @@ export default async function MainMenu({ languageUrls }: MainMenuProps) {
/>
</NextLink>
<div className={styles.menus}>
<NavigationMenu items={navigationMenuItems} isMobile={false} />
{menuItems ? (
<NavigationMenu items={menuItems} isMobile={false} />
) : null}
{user ? (
<>
<MyPagesMenu
@@ -70,12 +74,34 @@ export default async function MainMenu({ languageUrls }: MainMenuProps) {
</span>
</Link>
)}
<MobileMenu
languageUrls={languageUrls}
mainNavigation={navigationMenuItems}
/>
{menuItems ? (
<MobileMenu languageUrls={languageUrls} menuItems={menuItems} />
) : null}
</div>
</nav>
</div>
)
}
const error = {
query: { lang: "sv" },
error: {
issues: [
{
code: "invalid_type",
expected: "string",
received: "null",
path: ["all_header", "items", 0, "top_link", "title"],
message: "Expected string, received null",
},
{
code: "invalid_type",
expected: "array",
received: "null",
path: ["all_header", "items", 0, "menu_items"],
message: "Expected array, received null",
},
],
name: "ZodError",
},
}