fix: add navigation subitems

This commit is contained in:
Arvid Norlin
2024-04-08 10:49:31 +02:00
parent e5876e4e14
commit de025fc889
4 changed files with 78 additions and 28 deletions

View File

@@ -7,7 +7,11 @@ import styles from "./layout.module.css"
import type { LangParams, LayoutArgs } from "@/types/params"
import { request } from "@/lib/graphql/request"
import { GetNavigationMyPagesData } from "@/types/requests/myPages/navigation"
import {
GetNavigationMyPagesData,
NavigationItem,
MenuItem,
} from "@/types/requests/myPages/navigation"
import { GetNavigationMyPages } from "@/lib/graphql/Query/NavigationMyPages.graphql"
export default async function MyPagesLayout({
@@ -20,16 +24,21 @@ export default async function MyPagesLayout({
locale: params.lang,
}
)
const navigation = response.data.all_navigation_my_pages.items[0]
const menuItems = navigation.items.map(({ item }) => {
const { title, uid } = item.pageConnection.edges[0].node
return {
title,
uid,
linkText: item.link_text,
}
})
function mapMenuItems(navigationItems: NavigationItem[]) {
return navigationItems.map(({ item }): MenuItem => {
const { title, uid } = item.pageConnection.edges[0].node
return {
title,
uid,
linkText: item.link_text,
subItems: item.sub_items ? mapMenuItems(item.sub_items) : null,
}
})
}
const navigation = response.data.all_navigation_my_pages.items[0]
const menuItems = mapMenuItems(navigation.items)
return (
<div className={`${firaMono.variable} ${firaSans.variable} ${styles.page}`}>