feat(SW-186): implemented queries and typings for menu inside header query
This commit is contained in:
@@ -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
|
||||
}),
|
||||
|
||||
Reference in New Issue
Block a user