19 lines
539 B
TypeScript
19 lines
539 B
TypeScript
import type {
|
|
MenuItem,
|
|
NavigationItem,
|
|
} from "@/types/requests/myPages/navigation"
|
|
|
|
export function mapMenuItems(navigationItems: NavigationItem[]) {
|
|
return navigationItems.map(({ item }): MenuItem => {
|
|
const { node } = item.pageConnection.edges[0]
|
|
|
|
return {
|
|
linkText: item.link_text || node.title,
|
|
lang: node.system.locale,
|
|
subItems: item.sub_items ? mapMenuItems(item.sub_items) : null,
|
|
uid: node.system.uid,
|
|
url: `/${node.system.locale}/${node.url}`.replaceAll(/\/\/+/g, "/"),
|
|
}
|
|
})
|
|
}
|