Files
web/apps/scandic-web/server/routers/contentstack/campaignOverviewPage/utils.ts
Erik Tiekstra 11201e238d feat(SW-2975): Added top campaign to campaign overview page
Approved-by: Matilda Landström
2025-06-24 10:22:07 +00:00

39 lines
1.2 KiB
TypeScript

import { generateTag, generateTagsFromSystem } from "@/utils/generateTag"
import type { Lang } from "@scandic-hotels/common/constants/language"
import type { System } from "@/types/requests/system"
import type { CampaignOverviewPageRefs } from "@/types/trpc/routers/contentstack/campaignOverviewPage"
export function generatePageTags(
validatedData: CampaignOverviewPageRefs,
lang: Lang
): string[] {
const connections = getConnections(validatedData)
return [
generateTagsFromSystem(lang, connections),
generateTag(lang, validatedData.campaign_overview_page.system.uid),
].flat()
}
export function getConnections({
campaign_overview_page,
}: CampaignOverviewPageRefs) {
const connections: System["system"][] = [campaign_overview_page.system]
if (campaign_overview_page.header.navigation_links) {
campaign_overview_page.header.navigation_links.forEach((link) => {
if (link.link) {
connections.push(link.link)
}
})
}
if (campaign_overview_page.top_campaignConnection) {
campaign_overview_page.top_campaignConnection.edges.forEach(({ node }) => {
connections.push(node.system)
})
}
return connections
}