chore: move function declarations

This commit is contained in:
Arvid Norlin
2024-04-11 13:22:45 +02:00
parent 4b486ab344
commit 3d2fafff6d

View File

@@ -16,6 +16,35 @@ import {
} from "@/types/requests/myPages/navigation"
import { GetNavigationMyPages } from "@/lib/graphql/Query/NavigationMyPages.graphql"
function getURL(node: PageLink) {
switch (node.__typename) {
case PageLinkEnum.ContentPage:
return node.web.url
case PageLinkEnum.AccountPage:
case PageLinkEnum.LoyaltyPage:
case PageLinkEnum.CodeDefinedPage:
return node.url
}
}
function mapMenuItems(navigationItems: NavigationItem[]) {
return navigationItems.map(({ item }): MenuItem => {
const { node } = item.pageConnection.edges[0]
const {
title,
system: { uid },
} = node
return {
title,
uid,
url: getURL(node),
linkText: item.link_text,
subItems: item.sub_items ? mapMenuItems(item.sub_items) : null,
}
})
}
export default async function MyPagesLayout({
children,
params,
@@ -26,35 +55,6 @@ export default async function MyPagesLayout({
locale: params.lang,
}
)
function mapMenuItems(navigationItems: NavigationItem[]) {
function getURL(node: PageLink) {
switch (node.__typename) {
case PageLinkEnum.ContentPage:
return node.web.url
case PageLinkEnum.AccountPage:
case PageLinkEnum.LoyaltyPage:
case PageLinkEnum.CodeDefinedPage:
return node.url
}
}
return navigationItems.map(({ item }): MenuItem => {
const { node } = item.pageConnection.edges[0]
const {
title,
system: { uid },
} = node
return {
title,
uid,
url: getURL(node),
linkText: item.link_text,
subItems: item.sub_items ? mapMenuItems(item.sub_items) : null,
}
})
}
// navigation_my_pages is of type Single, hence the hard [0]
const navigation = response.data.all_navigation_my_pages.items[0]
const menuItems = mapMenuItems(navigation.items)