feat: add AccountPage handling

This commit is contained in:
Arvid Norlin
2024-04-11 10:22:43 +02:00
parent 631a82ee04
commit 21c5d12d55
3 changed files with 24 additions and 1 deletions

View File

@@ -32,6 +32,7 @@ export default async function MyPagesLayout({
switch (node.__typename) {
case PageLinkEnum.ContentPage:
return node.web.url
case PageLinkEnum.AccountPage:
case PageLinkEnum.CodeDefinedPage:
return node.url
}
@@ -39,6 +40,7 @@ export default async function MyPagesLayout({
return navigationItems.map(({ item }): MenuItem => {
const { node } = item.pageConnection.edges[0]
console.log({ node })
const {
title,
system: { uid },

View File

@@ -6,6 +6,14 @@ fragment CodeDefinedPage on CodeDefinedPage {
}
}
fragment AccountPage on AccountPage {
title
url
system {
uid
}
}
fragment ContentPage on ContentPage {
title
web {
@@ -33,6 +41,7 @@ query GetNavigationMyPages {
edges {
node {
__typename
...AccountPage
...CodeDefinedPage
...ContentPage
}
@@ -45,6 +54,7 @@ query GetNavigationMyPages {
edges {
node {
__typename
...AccountPage
...ContentPage
...CodeDefinedPage
}

View File

@@ -3,6 +3,7 @@ import { Edges } from "../utils/edges"
import { Typename } from "../utils/typename"
export enum PageLinkEnum {
AccountPage = "AccountPage",
CodeDefinedPage = "CodeDefinedPage",
ContentPage = "ContentPage",
}
@@ -17,6 +18,16 @@ export type MenuItem = {
export type SidebarProps = { menuItems: MenuItem[] }
export type AccountPageLink = Typename<
{
uid: string
title: string
url: string
system: { uid: string }
},
PageLinkEnum.AccountPage
>
export type CodeDefinedPageLink = Typename<
{
uid: string
@@ -37,7 +48,7 @@ export type ContentPageLink = Typename<
PageLinkEnum.ContentPage
>
export type PageLink = CodeDefinedPageLink | ContentPageLink
export type PageLink = CodeDefinedPageLink | ContentPageLink | AccountPageLink
export type NavigationItem = {
item: {