From 21c5d12d5517976e6779de05b3e69774b0b15f48 Mon Sep 17 00:00:00 2001 From: Arvid Norlin Date: Thu, 11 Apr 2024 10:22:43 +0200 Subject: [PATCH] feat: add AccountPage handling --- app/[lang]/(live)/(protected)/my-pages/layout.tsx | 2 ++ lib/graphql/Query/NavigationMyPages.graphql | 10 ++++++++++ types/requests/myPages/navigation.ts | 13 ++++++++++++- 3 files changed, 24 insertions(+), 1 deletion(-) diff --git a/app/[lang]/(live)/(protected)/my-pages/layout.tsx b/app/[lang]/(live)/(protected)/my-pages/layout.tsx index c801cecfc..352aa356d 100644 --- a/app/[lang]/(live)/(protected)/my-pages/layout.tsx +++ b/app/[lang]/(live)/(protected)/my-pages/layout.tsx @@ -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 }, diff --git a/lib/graphql/Query/NavigationMyPages.graphql b/lib/graphql/Query/NavigationMyPages.graphql index 7a11ced7e..160818e96 100644 --- a/lib/graphql/Query/NavigationMyPages.graphql +++ b/lib/graphql/Query/NavigationMyPages.graphql @@ -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 } diff --git a/types/requests/myPages/navigation.ts b/types/requests/myPages/navigation.ts index e54dc2e9b..b2493c72b 100644 --- a/types/requests/myPages/navigation.ts +++ b/types/requests/myPages/navigation.ts @@ -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: {