diff --git a/apps/scandic-web/components/ContentType/CampaignPage/Hero/hero.module.css b/apps/scandic-web/components/ContentType/CampaignPage/Hero/hero.module.css index 20b22f7fc..0f31b4a95 100644 --- a/apps/scandic-web/components/ContentType/CampaignPage/Hero/hero.module.css +++ b/apps/scandic-web/components/ContentType/CampaignPage/Hero/hero.module.css @@ -33,11 +33,14 @@ background-color: var(--Surface-Brand-Accent-Default); } - .heading { + .heading, + .highlight, + .rateText { color: var(--Text-Brand-OnAccent-Heading); } - .text { + .text, + .campaignText { color: var(--Text-Brand-OnPrimary-1-Default); } @@ -51,12 +54,18 @@ background-color: var(--Surface-Brand-Primary-3-Default); } - .heading { + .highlight { + color: var(--Text-Brand-OnPrimary-3-Heading); + } + + .heading, + .rateText { color: var(--Text-Brand-OnPrimary-3-Accent); } .benefitList > li, - .text { + .text, + .campaignText { color: var(--Text-Brand-OnPrimary-3-Default); } } diff --git a/apps/scandic-web/components/ContentType/CampaignPage/Hero/index.tsx b/apps/scandic-web/components/ContentType/CampaignPage/Hero/index.tsx index c111bcb1a..6cb71ee7a 100644 --- a/apps/scandic-web/components/ContentType/CampaignPage/Hero/index.tsx +++ b/apps/scandic-web/components/ContentType/CampaignPage/Hero/index.tsx @@ -25,6 +25,7 @@ export default async function CampaignHero({ heading, benefits, rate_text, + campaign_text, button, theme, pageType = "campaign", @@ -73,6 +74,23 @@ export default async function CampaignHero({ ))} ) : null} + {pageType === "campaign" && campaign_text ? ( +

+ {campaign_text.text ? ( + + {campaign_text.text} + + ) : null} + {campaign_text.bold_text && campaign_text.text ? " " : null} + {campaign_text.bold_text ? ( + + + {campaign_text.bold_text} + + + ) : null} +

+ ) : null} {rate_text ? ( - +

{rate_text.bold_text ? ( {rate_text.bold_text} @@ -93,7 +111,7 @@ export default async function CampaignHero({ {rate_text.text} ) : null} - +

) : null} {button ? ( { + if (data?.bold_text || data?.text) { + return data + } + return null + }), + campaign_text: z + .object({ + text: z.string().nullish(), + bold_text: z.string().nullish(), + }) + .nullish() + .transform((data) => { + if (data?.bold_text || data?.text) { + return data + } + return null + }), button: z .intersection(z.object({ cta: z.string() }), linkConnectionSchema) .transform((data) => { diff --git a/packages/trpc/lib/routers/hotels/utils.ts b/packages/trpc/lib/routers/hotels/utils.ts index 427b19b07..4caaee74b 100644 --- a/packages/trpc/lib/routers/hotels/utils.ts +++ b/packages/trpc/lib/routers/hotels/utils.ts @@ -359,7 +359,7 @@ export async function getHotelsByHotelIds({ contentType?: "hotel" | "restaurant" | "meeting" }) { const cacheClient = await getCacheClient() - const cacheKey = `${lang}:getHotelsByHotelIds:hotels:${contentType}:${hotelIds.sort().join(",")}` + const cacheKey = `${lang}:getHotelsByHotelIds:hotels:${contentType}:${[...hotelIds].sort().join(",")}` return await cacheClient.cacheOrGet( cacheKey,