feat(SW-2973): Added bookingCode if available to links inside campaign pages
* feat(SW-2973): Moved block types to trpc lib Approved-by: Matilda Landström
This commit is contained in:
@@ -1,9 +1,12 @@
|
||||
import { CampaignPageEnum } from "../../../types/campaignPage"
|
||||
import {
|
||||
CampaignPageEnum,
|
||||
type CampaignPageRefs,
|
||||
} from "../../../types/campaignPage"
|
||||
import { generateTag, generateTagsFromSystem } from "../../../utils/generateTag"
|
||||
|
||||
import type { Lang } from "@scandic-hotels/common/constants/language"
|
||||
|
||||
import type { CampaignPageRefs } from "../../../types/campaignPage"
|
||||
import type { CarouselCardsBlock } from "../../../types/campaignPage"
|
||||
import type { System } from "../schemas/system"
|
||||
|
||||
export function generatePageTags(
|
||||
@@ -43,3 +46,35 @@ export function getConnections({ campaign_page }: CampaignPageRefs) {
|
||||
|
||||
return connections
|
||||
}
|
||||
|
||||
export function getCarouselCardsBlockWithBookingCodeLinks(
|
||||
block: CarouselCardsBlock,
|
||||
bookingCode: string | null
|
||||
): CarouselCardsBlock {
|
||||
if (!bookingCode) {
|
||||
return block
|
||||
}
|
||||
|
||||
const { link, cards, ...carousel_cards } = block.carousel_cards
|
||||
return {
|
||||
...block,
|
||||
carousel_cards: {
|
||||
...carousel_cards,
|
||||
link: link
|
||||
? {
|
||||
...link,
|
||||
href: `${link.href}?bookingCode=${bookingCode}`,
|
||||
}
|
||||
: undefined,
|
||||
cards: cards.map(({ link, ...card }) => ({
|
||||
...card,
|
||||
link: link
|
||||
? {
|
||||
...link,
|
||||
href: `${link.href}?bookingCode=${bookingCode}`,
|
||||
}
|
||||
: undefined,
|
||||
})),
|
||||
},
|
||||
}
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user