From 7956a17a33cb9a0dc3c45139c6d824abed7b2764 Mon Sep 17 00:00:00 2001 From: "Chuma Mcphoy (We Ahead)" Date: Mon, 29 Sep 2025 09:40:07 +0000 Subject: [PATCH] Merged in fix/LOY-365-promo-campaign-layout (pull request #2879) MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit fix(LOY-365): cleanup promo campaign page layout * fix(LOY-365): cleanup promo camppaign page layout * fix(LOY-365): proper gap * fix(LOY-365): expired campaign gap Approved-by: Matilda Landström --- .../ExpiredPromoCampaign.module.css | 12 ++- .../ExpiredPromoCampaign/index.tsx | 52 +++++------ .../ContentType/PromoCampaignPage/index.tsx | 90 ++++++++++++++----- .../promoCampaignPage.module.css | 11 ++- 4 files changed, 114 insertions(+), 51 deletions(-) diff --git a/apps/scandic-web/components/ContentType/PromoCampaignPage/ExpiredPromoCampaign/ExpiredPromoCampaign.module.css b/apps/scandic-web/components/ContentType/PromoCampaignPage/ExpiredPromoCampaign/ExpiredPromoCampaign.module.css index 8503000f8..b973d0502 100644 --- a/apps/scandic-web/components/ContentType/PromoCampaignPage/ExpiredPromoCampaign/ExpiredPromoCampaign.module.css +++ b/apps/scandic-web/components/ContentType/PromoCampaignPage/ExpiredPromoCampaign/ExpiredPromoCampaign.module.css @@ -8,14 +8,22 @@ background: var(--Surface-Secondary-Default); } -.content { +.mainContent, +.info { display: flex; flex-direction: column; align-items: center; - gap: var(--Space-x4); text-align: center; } +.mainContent { + gap: var(--Space-x3); +} + +.info { + gap: var(--Space-x1); +} + .title, .description { color: var(--Text-Heading); diff --git a/apps/scandic-web/components/ContentType/PromoCampaignPage/ExpiredPromoCampaign/index.tsx b/apps/scandic-web/components/ContentType/PromoCampaignPage/ExpiredPromoCampaign/index.tsx index d1b81eae8..5e66fd0da 100644 --- a/apps/scandic-web/components/ContentType/PromoCampaignPage/ExpiredPromoCampaign/index.tsx +++ b/apps/scandic-web/components/ContentType/PromoCampaignPage/ExpiredPromoCampaign/index.tsx @@ -16,33 +16,35 @@ export default async function ExpiredPromoCampaign() {
-
- -

- {intl.formatMessage({ - defaultMessage: "This promotion has expired", - })} -

-
+
+
+ +

+ {intl.formatMessage({ + defaultMessage: "This promotion has expired", + })} +

+
- -

- {intl.formatMessage({ - defaultMessage: - "Don't worry, we will conjure up new exciting offers and campaigns in the future. Stay tuned!", - })} -

-
+ +

+ {intl.formatMessage({ + defaultMessage: + "Don't worry, we will conjure up new exciting offers and campaigns in the future. Stay tuned!", + })} +

+
+
+ + + {intl.formatMessage({ + defaultMessage: "See all offers", + })} +
- - - {intl.formatMessage({ - defaultMessage: "See all offers", - })} -
) } diff --git a/apps/scandic-web/components/ContentType/PromoCampaignPage/index.tsx b/apps/scandic-web/components/ContentType/PromoCampaignPage/index.tsx index 992a98ab8..2348065ea 100644 --- a/apps/scandic-web/components/ContentType/PromoCampaignPage/index.tsx +++ b/apps/scandic-web/components/ContentType/PromoCampaignPage/index.tsx @@ -1,3 +1,4 @@ +import { cx } from "class-variance-authority" import { notFound } from "next/navigation" import { Suspense } from "react" @@ -13,6 +14,11 @@ import PromoCampaignPageSkeleton from "./PromoCampaignPageSkeleton" import styles from "./promoCampaignPage.module.css" +import type { + PromoCampaignPageData, + PromoHero, +} from "@scandic-hotels/trpc/types/promoCampaignPage" + export default async function PromoCampaignPage() { const pageData = await getPromoCampaignPage() if (!pageData) { @@ -30,30 +36,70 @@ export default async function PromoCampaignPage() { return ( <> }> -
- {isCampaignExpired ? ( - - ) : ( - - )} -
-
- -

{heading}

-
- {subheading && !isCampaignExpired ? ( - -

{subheading}

-
- ) : null} -
-
-
+ {isCampaignExpired ? ( + + ) : ( + + )}
) } + +function ActiveCampaignLayout({ + heading, + subheading, + promoHero, + eligibleLevels, +}: { + heading: PromoCampaignPageData["heading"] + subheading: PromoCampaignPageData["subheading"] + promoHero: PromoHero + eligibleLevels: PromoCampaignPageData["eligibleLevels"] +}) { + return ( +
+ +
+
+ +

{heading}

+
+ {subheading ? ( + +

{subheading}

+
+ ) : null} +
+
+
+ ) +} + +function ExpiredCampaignLayout({ + heading, +}: { + heading: PromoCampaignPageData["heading"] +}) { + return ( +
+
+
+ +

{heading}

+
+
+
+ +
+ ) +} diff --git a/apps/scandic-web/components/ContentType/PromoCampaignPage/promoCampaignPage.module.css b/apps/scandic-web/components/ContentType/PromoCampaignPage/promoCampaignPage.module.css index 8a8ce1bca..cc89032fe 100644 --- a/apps/scandic-web/components/ContentType/PromoCampaignPage/promoCampaignPage.module.css +++ b/apps/scandic-web/components/ContentType/PromoCampaignPage/promoCampaignPage.module.css @@ -1,11 +1,18 @@ .pageContainer { display: grid; - gap: var(--Space-x6); padding-bottom: var(--Space-x7); width: var(--max-width-content); margin: 0 auto; } +.pageContainer.active { + gap: var(--Space-x7); +} + +.pageContainer.expired { + gap: var(--Space-x3); +} + .intro { display: grid; gap: var(--Space-x5); @@ -23,7 +30,7 @@ } @media screen and (min-width: 1367px) { - .pageContainer { + .pageContainer.active { gap: var(--Space-x9); } }