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

View File

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

View File

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