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", + })} +

+
+
+ + + + → + + + +
+
+ + {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", })} - + )