diff --git a/apps/scandic-web/components/Blocks/DynamicContent/Stays/Previous/L6Progress/L6ProgressModal/index.tsx b/apps/scandic-web/components/Blocks/DynamicContent/Stays/Previous/L6Progress/L6ProgressModal/index.tsx
new file mode 100644
index 000000000..f34550680
--- /dev/null
+++ b/apps/scandic-web/components/Blocks/DynamicContent/Stays/Previous/L6Progress/L6ProgressModal/index.tsx
@@ -0,0 +1,114 @@
+"use client"
+
+import { useIntl } from "react-intl"
+
+import { dt } from "@scandic-hotels/common/dt"
+import { IconButton } from "@scandic-hotels/design-system/IconButton" // client only
+import { MaterialIcon } from "@scandic-hotels/design-system/Icons/MaterialIcon"
+import Modal from "@scandic-hotels/design-system/Modal"
+import { TextLink } from "@scandic-hotels/design-system/TextLink"
+import { Typography } from "@scandic-hotels/design-system/Typography"
+
+import { compareAllLevels, faq } from "@/constants/webHrefs"
+
+import useLang from "@/hooks/useLang"
+import { getTierStartDate } from "@/utils/getTierStartDate"
+
+import styles from "./l6progressModal.module.css"
+
+type L6ProgressModalProps = {
+ tierExpires: string | null
+}
+
+export function L6ProgressModal({ tierExpires }: L6ProgressModalProps) {
+ const intl = useIntl()
+ const lang = useLang()
+
+ const tierStarts = getTierStartDate(tierExpires)
+
+ return (
+
+ }
+ >
+
+
+
+ {intl.formatMessage({
+ id: "myPages.l6progress.modal.title",
+ defaultMessage: "Level upgrade and membership year",
+ })}
+
+
+
+
+
+ {intl.formatMessage({
+ id: "myPages.l6progress.modal.yourLevelDuring",
+ defaultMessage:
+ "Your level during the current and next period is based on the points you earn during this 12-month period.",
+ })}
+
+
+ {intl.formatMessage({
+ id: "myPages.l6progress.modal.youCanAlsoReach",
+ defaultMessage:
+ "You can also reach Best Friend, our highest membership level, by staying 100 nights with us within a membership year.",
+ })}
+
+
+
+
+
+
+ {intl.formatMessage({
+ id: "myPages.currentMemberYear",
+ defaultMessage: "Current member year",
+ })}
+
+
+
+
+
+
+ {dt(tierStarts).locale(lang).format("MMM, YYYY")}
+ {/* eslint-disable-next-line formatjs/no-literal-string-in-jsx */}
+
+ →
+
+ {dt(tierExpires).locale(lang).format("MMM D, YYYY")}
+
+
+
+
+
+
+ {intl.formatMessage({
+ id: "myPages.compareAllLevels",
+ defaultMessage: "Compare all levels",
+ })}
+
+
+
+ {intl.formatMessage({
+ id: "common.scandicFriendsFaq",
+ defaultMessage: "Scandic Friends FAQ",
+ })}
+
+
+
+
+ )
+}
diff --git a/apps/scandic-web/components/Blocks/DynamicContent/Stays/Previous/L6Progress/L6ProgressModal/l6progressModal.module.css b/apps/scandic-web/components/Blocks/DynamicContent/Stays/Previous/L6Progress/L6ProgressModal/l6progressModal.module.css
new file mode 100644
index 000000000..5fe2a3f8e
--- /dev/null
+++ b/apps/scandic-web/components/Blocks/DynamicContent/Stays/Previous/L6Progress/L6ProgressModal/l6progressModal.module.css
@@ -0,0 +1,41 @@
+.infoButton {
+ grid-column: 2;
+ grid-row: 1 / 3;
+ align-self: start;
+}
+
+.levelProgressModal {
+ display: flex;
+ flex-direction: column;
+ gap: var(--Space-x2);
+ padding-bottom: var(--Space-x1);
+}
+
+.title {
+ display: flex;
+ flex-direction: column;
+}
+
+.dates {
+ display: flex;
+ align-items: center;
+ gap: var(--Space-x1);
+}
+
+.link {
+ display: flex;
+ gap: var(--Space-x05);
+ justify-content: left;
+}
+
+.content {
+ display: flex;
+ flex-direction: column;
+ gap: var(--Space-x2);
+}
+
+@media screen and (min-width: 768px) {
+ .dialog {
+ max-width: 560px;
+ }
+}
diff --git a/apps/scandic-web/components/Blocks/DynamicContent/Stays/Previous/L6Progress/index.tsx b/apps/scandic-web/components/Blocks/DynamicContent/Stays/Previous/L6Progress/index.tsx
index 686cf11d8..3fd86842e 100644
--- a/apps/scandic-web/components/Blocks/DynamicContent/Stays/Previous/L6Progress/index.tsx
+++ b/apps/scandic-web/components/Blocks/DynamicContent/Stays/Previous/L6Progress/index.tsx
@@ -9,6 +9,7 @@ import { getIntl } from "@/i18n"
import { getLang } from "@/i18n/serverContext"
import { getTierStartDate } from "@/utils/getTierStartDate"
+import { L6ProgressModal } from "./L6ProgressModal"
import { ProgressSection } from "./ProgressSection"
import styles from "./l6Progress.module.css"
@@ -58,17 +59,24 @@ export async function L6Progress() {
{formattedStartDate && (
-
-
- {intl.formatMessage(
- {
- id: "previousStays.sinceDate",
- defaultMessage: "Since {date}",
- },
- { date: formattedStartDate }
- )}
-
-
+ <>
+
+
+
+ {intl.formatMessage(
+ {
+ id: "previousStays.sinceDate",
+ defaultMessage: "Since {date}",
+ },
+ { date: formattedStartDate }
+ )}
+
+
+
+
+ >
)}
diff --git a/apps/scandic-web/components/Blocks/DynamicContent/Stays/Previous/L6Progress/l6Progress.module.css b/apps/scandic-web/components/Blocks/DynamicContent/Stays/Previous/L6Progress/l6Progress.module.css
index b36f92e2e..93c6f077c 100644
--- a/apps/scandic-web/components/Blocks/DynamicContent/Stays/Previous/L6Progress/l6Progress.module.css
+++ b/apps/scandic-web/components/Blocks/DynamicContent/Stays/Previous/L6Progress/l6Progress.module.css
@@ -19,14 +19,19 @@
color: var(--Text-Secondary);
}
+.sinceDate {
+ display: flex;
+ gap: var(--Space-x05);
+}
+
.progressSection {
display: grid;
grid-template-columns: min-content 1fr auto;
gap: var(--Space-x05);
align-items: center;
grid-template-areas:
- "startLabel . endLabel"
- "startValue bar endValue";
+ "startLabel startLabel endLabel endLabel"
+ "startValue bar bar endValue";
}
.startLabelText {
@@ -69,7 +74,7 @@
.header {
flex-direction: row;
- align-items: baseline;
+ align-items: center;
gap: var(--Space-x1);
}
diff --git a/apps/scandic-web/components/MyPages/LevelProgressCard/LevelProgressModal/LevelProgressModal.module.css b/apps/scandic-web/components/MyPages/LevelProgressCard/LevelProgressModal/LevelProgressModal.module.css
index 96b6acecb..55649552b 100644
--- a/apps/scandic-web/components/MyPages/LevelProgressCard/LevelProgressModal/LevelProgressModal.module.css
+++ b/apps/scandic-web/components/MyPages/LevelProgressCard/LevelProgressModal/LevelProgressModal.module.css
@@ -24,11 +24,8 @@
.link {
display: flex;
- gap: var(--Space-x1);
-}
-
-.linkText {
- text-decoration: underline;
+ gap: var(--Space-x05);
+ justify-content: left;
}
@media screen and (min-width: 768px) {
diff --git a/apps/scandic-web/components/MyPages/LevelProgressCard/LevelProgressModal/index.tsx b/apps/scandic-web/components/MyPages/LevelProgressCard/LevelProgressModal/index.tsx
index f5626cf4d..95537a146 100644
--- a/apps/scandic-web/components/MyPages/LevelProgressCard/LevelProgressModal/index.tsx
+++ b/apps/scandic-web/components/MyPages/LevelProgressCard/LevelProgressModal/index.tsx
@@ -7,7 +7,7 @@ import { dt } from "@scandic-hotels/common/dt"
import { IconButton } from "@scandic-hotels/design-system/IconButton" // client only
import { MaterialIcon } from "@scandic-hotels/design-system/Icons/MaterialIcon"
import Modal from "@scandic-hotels/design-system/Modal"
-import Link from "@scandic-hotels/design-system/OldDSLink"
+import { TextLink } from "@scandic-hotels/design-system/TextLink"
import { Typography } from "@scandic-hotels/design-system/Typography"
import { compareAllLevels, faq } from "@/constants/webHrefs"
@@ -83,32 +83,30 @@ export default function LevelProgressModal({
})}
-
{intl.formatMessage({
id: "myPages.compareAllLevels",
defaultMessage: "Compare all levels",
})}
-
-
+
{intl.formatMessage({
id: "common.scandicFriendsFaq",
defaultMessage: "Scandic Friends FAQ",
})}
-
+
)