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 (
+
+ )
+}
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);
}
}