feat: add initial my pages navigation

This commit is contained in:
Arvid Norlin
2024-04-05 09:34:12 +02:00
parent a35daee3a6
commit e5876e4e14
4 changed files with 81 additions and 21 deletions

View File

@@ -6,16 +6,36 @@ import Sidebar from "@/components/MyPages/Sidebar"
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 { GetNavigationMyPages } from "@/lib/graphql/Query/NavigationMyPages.graphql"
export default function MyPagesLayout({
export default async function MyPagesLayout({
children,
params,
}: React.PropsWithChildren<LayoutArgs<LangParams>>) {
const response = await request<GetNavigationMyPagesData>(
GetNavigationMyPages,
{
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,
}
})
return (
<div className={`${firaMono.variable} ${firaSans.variable} ${styles.page}`}>
<Header lang={params.lang} />
<div className={styles.content}>
<Sidebar />
<Sidebar menuItems={menuItems} />
{children}
</div>
</div>