fix: exclude inaccessible links from nav

This commit is contained in:
Michael Zetterberg
2024-06-20 09:29:12 +02:00
parent 1a6a31bfe9
commit 70f0a906d3

View File

@@ -29,25 +29,31 @@ export function mapMenuItems(menuItems: MenuItems) {
return menuItems.map((menuItem) => { return menuItems.map((menuItem) => {
return { return {
...menuItem, ...menuItem,
links: menuItem.links.map((link) => { links: menuItem.links
const page = link.page.edges[0].node .filter((link) => {
let originalUrl = undefined // If content is unpublished or in other way inaccessible in Contentstack
if ( // there will be no edges, filter out those links.
page.__typename === PageLinkEnum.ContentPage || return !!link.page.edges[0]
page.__typename === PageLinkEnum.LoyaltyPage })
) { .map((link) => {
if (page.web.original_url) { const page = link.page.edges[0].node
originalUrl = page.web.original_url let originalUrl = undefined
if (
page.__typename === PageLinkEnum.ContentPage ||
page.__typename === PageLinkEnum.LoyaltyPage
) {
if (page.web.original_url) {
originalUrl = page.web.original_url
}
} }
} return {
return { lang: page.system.locale,
lang: page.system.locale, linkText: link.link_text ? link.link_text : page.title,
linkText: link.link_text ? link.link_text : page.title, uid: page.system.uid,
uid: page.system.uid, url: removeMultipleSlashes(`/${page.system.locale}/${page.url}`),
url: removeMultipleSlashes(`/${page.system.locale}/${page.url}`), originalUrl,
originalUrl, }
} }),
}),
} }
}) })
} }