feat(SW-186): implemented queries and typings for menu inside header query

This commit is contained in:
Erik Tiekstra
2024-08-27 12:44:50 +02:00
parent 99c0d7976f
commit d5aa2c9415
6 changed files with 130 additions and 50 deletions

View File

@@ -27,6 +27,9 @@ import {
HeaderData,
HeaderDataRaw,
HeaderRefDataRaw,
InternalExternalLink,
MenuItem,
SubmenuItem,
validateContactConfigSchema,
validateCurrentHeaderConfigSchema,
validateFooterConfigSchema,
@@ -235,10 +238,38 @@ export const baseQueryRouter = router({
const data = validatedHeaderConfig.data.all_header.items[0]
const topLink = makeLinkObjectFromInternalExternalLink(data.top_link)
const menuItems: MenuItem[] = data.menu_items.map((menuItem) => {
let link = null
let seeAllLink = null
let submenu: SubmenuItem[] = []
const headerData: HeaderData = { topLink }
if (!menuItem.submenu.length) {
link = !menuItem.submenu.length
? makeLinkObjectFromInternalExternalLink(menuItem.link)
: null
seeAllLink = makeLinkObjectFromInternalExternalLink(
menuItem.see_all_link
)
} else {
submenu = menuItem.submenu.map(({ title, links }) => ({
title: title,
links: links.map(
(link) =>
makeLinkObjectFromInternalExternalLink(
link
) as InternalExternalLink
),
}))
}
return {
title: menuItem.title,
link,
seeAllLink,
submenu,
}
})
console.log({ headerData })
const headerData: HeaderData = { topLink, menuItems }
return headerData
}),