Files
web/packages/trpc/lib/routers/contentstack/promoCampaignPage/utils.ts
Matilda Landström dd44e39732 Merged in feat/LOY-362-promo-blocks (pull request #2880)
feat(LOY-362): add blocks

* feat(LOY-362): add blocks

* fix(LOY-362): hide RTE while waiting for CS


Approved-by: Chuma Mcphoy (We Ahead)
2025-09-29 14:42:16 +00:00

46 lines
1.3 KiB
TypeScript

import {
PromoCampaignPageEnum,
type PromoCampaignPageRefs,
} from "../../../types/promoCampaignPage"
import { generateTag, generateTagsFromSystem } from "../../../utils/generateTag"
import type { Lang } from "@scandic-hotels/common/constants/language"
import type { System } from "../schemas/system"
export function generatePageTags(
validatedData: PromoCampaignPageRefs,
lang: Lang
): string[] {
const connections = getConnections(validatedData)
return [
generateTagsFromSystem(lang, connections),
generateTag(lang, validatedData.promo_campaign_page.system.uid),
].flat()
}
export function getConnections({ promo_campaign_page }: PromoCampaignPageRefs) {
const connections: System["system"][] = [promo_campaign_page.system]
if (promo_campaign_page.blocks) {
promo_campaign_page.blocks.forEach((block) => {
switch (block.__typename) {
case PromoCampaignPageEnum.ContentStack.blocks.Accordion: {
if (block.accordion.length) {
connections.push(...block.accordion)
}
break
}
/*case PromoCampaignPageEnum.ContentStack.blocks.Content:
{
if (block.content.length) {
connections.push(...block.content)
}
}
break*/
}
})
}
return connections
}