diff --git a/apps/scandic-web/components/HotelReservation/EnterDetails/BedType/bedOptions.module.css b/apps/scandic-web/components/HotelReservation/EnterDetails/BedType/bedOptions.module.css
index 0f026213f..55782c956 100644
--- a/apps/scandic-web/components/HotelReservation/EnterDetails/BedType/bedOptions.module.css
+++ b/apps/scandic-web/components/HotelReservation/EnterDetails/BedType/bedOptions.module.css
@@ -8,7 +8,7 @@
display: grid;
gap: var(--Spacing-x2);
grid-template-columns: repeat(auto-fill, minmax(230px, 1fr));
- width: min(700px, 100%);
+ width: min(696px, 100%);
}
.iconContainer {
diff --git a/apps/scandic-web/components/HotelReservation/EnterDetails/Breakfast/breakfast.module.css b/apps/scandic-web/components/HotelReservation/EnterDetails/Breakfast/breakfast.module.css
index 2428d1a5a..fe73b9458 100644
--- a/apps/scandic-web/components/HotelReservation/EnterDetails/Breakfast/breakfast.module.css
+++ b/apps/scandic-web/components/HotelReservation/EnterDetails/Breakfast/breakfast.module.css
@@ -8,5 +8,5 @@
display: grid;
gap: var(--Spacing-x2);
grid-template-columns: repeat(auto-fit, minmax(230px, 1fr));
- width: min(700px, 100%);
+ width: min(696px, 100%);
}
diff --git a/apps/scandic-web/components/HotelReservation/EnterDetails/Details/Multiroom/JoinScandicFriendsCard/index.tsx b/apps/scandic-web/components/HotelReservation/EnterDetails/Details/Multiroom/JoinScandicFriendsCard/index.tsx
index a85ba9350..b7ee391de 100644
--- a/apps/scandic-web/components/HotelReservation/EnterDetails/Details/Multiroom/JoinScandicFriendsCard/index.tsx
+++ b/apps/scandic-web/components/HotelReservation/EnterDetails/Details/Multiroom/JoinScandicFriendsCard/index.tsx
@@ -2,11 +2,15 @@
import { useIntl } from "react-intl"
-import { MaterialIcon } from "@scandic-hotels/design-system/Icons/MaterialIcon"
+import { Typography } from "@scandic-hotels/design-system/Typography"
+
+import { membershipTermsAndConditions } from "@/constants/webHrefs"
import Checkbox from "@/components/TempDesignSystem/Form/Checkbox"
-import Caption from "@/components/TempDesignSystem/Text/Caption"
+import Link from "@/components/TempDesignSystem/Link"
+import Footnote from "@/components/TempDesignSystem/Text/Footnote"
import { useRoomContext } from "@/contexts/Details/Room"
+import useLang from "@/hooks/useLang"
import { formatPrice } from "@/utils/numberFormatting"
import styles from "./joinScandicFriendsCard.module.css"
@@ -17,6 +21,7 @@ import { CurrencyEnum } from "@/types/enums/currency"
export default function JoinScandicFriendsCard({
name = "join",
}: JoinScandicFriendsCardProps) {
+ const lang = useLang()
const intl = useIntl()
const {
room,
@@ -32,72 +37,69 @@ export default function JoinScandicFriendsCard({
return null
}
- const list = [
- {
- title: intl.formatMessage({
- defaultMessage: "Earn bonus nights & points",
- }),
- },
- {
- title: intl.formatMessage({
- defaultMessage: "Get member benefits & offers",
- }),
- },
- {
- title: intl.formatMessage({
- defaultMessage: "Join at no cost",
- }),
- },
- ]
-
- const saveOnJoiningLabel = intl.formatMessage(
- {
- defaultMessage: "Pay the member price of {amount} for Room {roomNr}",
- },
- {
- amount: formatPrice(
- intl,
- room.roomRate.member.localPrice.pricePerStay ?? 0,
- room.roomRate.member.localPrice.currency ?? CurrencyEnum.Unknown
- ),
- roomNr,
- }
- )
-
return (
+
+
+
+ {/* eslint-disable-next-line formatjs/no-literal-string-in-jsx */}
+ {`${intl.formatMessage({
+ defaultMessage: "Get the member room price",
+ })}: `}
+
+
+ {intl.formatMessage(
+ {
+ defaultMessage: "{amount} for room {roomNr}",
+ },
+ {
+ amount: formatPrice(
+ intl,
+ room.roomRate.member.localPrice.pricePerStay ?? 0,
+ room.roomRate.member.localPrice.currency ??
+ CurrencyEnum.Unknown
+ ),
+ roomNr,
+ }
+ )}
+
+
+
-
-
- {saveOnJoiningLabel}
-
-
+
+
{intl.formatMessage({
- defaultMessage: "Join Scandic Friends",
+ defaultMessage: "Join Scandic Friends before check-in",
})}
-
-
+
+
-
- {list.map((item) => (
-
-
- {item.title}
-
- ))}
+
+
+ {intl.formatMessage(
+ {
+ defaultMessage:
+ "By joining you accept the Terms and Conditions . The Scandic Friends Membership is valid until further notice, but can at any time be terminated by contacting Scandic Customer Service.",
+ },
+ {
+ termsAndConditionsLink: (str) => (
+
+ {str}
+
+ ),
+ }
+ )}
+
)
diff --git a/apps/scandic-web/components/HotelReservation/EnterDetails/Details/Multiroom/JoinScandicFriendsCard/joinScandicFriendsCard.module.css b/apps/scandic-web/components/HotelReservation/EnterDetails/Details/Multiroom/JoinScandicFriendsCard/joinScandicFriendsCard.module.css
index 99ccb1381..7d7900718 100644
--- a/apps/scandic-web/components/HotelReservation/EnterDetails/Details/Multiroom/JoinScandicFriendsCard/joinScandicFriendsCard.module.css
+++ b/apps/scandic-web/components/HotelReservation/EnterDetails/Details/Multiroom/JoinScandicFriendsCard/joinScandicFriendsCard.module.css
@@ -1,35 +1,48 @@
.cardContainer {
align-self: flex-start;
- background-color: var(--Base-Surface-Primary-light-Normal);
- border: 1px solid var(--Base-Border-Subtle);
+ background-color: var(--Surface-Primary-Hover-Accent);
border-radius: var(--Corner-radius-lg);
display: grid;
- gap: var(--Spacing-x-one-and-half);
- padding: var(--Spacing-x-one-and-half) var(--Spacing-x2);
- width: min(100%, 600px);
+ gap: var(--Space-x2);
+ padding: var(--Space-x2);
+ grid-template-areas:
+ "price"
+ "checkbox"
+ "terms";
+ width: min(100%, 696px);
+}
+
+.priceContainer {
+ grid-area: price;
+ margin-bottom: var(--Space-x1);
+}
+
+.price {
+ color: var(--Text-Accent-Primary);
}
.checkBox {
align-self: center;
+ grid-area: checkbox;
}
-.list {
- display: flex;
- gap: var(--Spacing-x1);
- flex-direction: column;
-}
-
-.listItem {
- display: flex;
+.terms {
+ grid-area: terms;
}
@media screen and (min-width: 768px) {
.cardContainer {
- gap: var(--Spacing-x1);
+ grid-template-columns: 1fr auto;
+ grid-template-rows: auto auto;
+ gap: var(--Space-x3);
+ grid-template-areas:
+ "price checkbox"
+ "terms terms";
}
- .list {
- flex-direction: row;
- flex-wrap: wrap;
+ .priceContainer {
+ margin-bottom: 0;
+ display: flex;
+ flex-direction: column;
}
}
diff --git a/apps/scandic-web/components/HotelReservation/EnterDetails/Details/Multiroom/details.module.css b/apps/scandic-web/components/HotelReservation/EnterDetails/Details/Multiroom/details.module.css
index 219168dc7..f4b9191e1 100644
--- a/apps/scandic-web/components/HotelReservation/EnterDetails/Details/Multiroom/details.module.css
+++ b/apps/scandic-web/components/HotelReservation/EnterDetails/Details/Multiroom/details.module.css
@@ -6,7 +6,7 @@
.container {
display: grid;
gap: var(--Spacing-x2);
- width: min(100%, 600px);
+ width: min(100%, 696px);
}
.fullWidth {
@@ -18,13 +18,7 @@
}
@media screen and (min-width: 768px) {
- .form {
- gap: var(--Spacing-x3);
- }
-
.container {
- gap: var(--Spacing-x2);
grid-template-columns: 1fr 1fr;
- width: min(100%, 600px);
}
}
diff --git a/apps/scandic-web/components/HotelReservation/EnterDetails/Details/RoomOne/JoinScandicFriendsCard/index.tsx b/apps/scandic-web/components/HotelReservation/EnterDetails/Details/RoomOne/JoinScandicFriendsCard/index.tsx
index 6304bf445..82fe828db 100644
--- a/apps/scandic-web/components/HotelReservation/EnterDetails/Details/RoomOne/JoinScandicFriendsCard/index.tsx
+++ b/apps/scandic-web/components/HotelReservation/EnterDetails/Details/RoomOne/JoinScandicFriendsCard/index.tsx
@@ -1,14 +1,14 @@
"use client"
import { useIntl } from "react-intl"
-import { MaterialIcon } from "@scandic-hotels/design-system/Icons/MaterialIcon"
+import { Typography } from "@scandic-hotels/design-system/Typography"
import { membershipTermsAndConditions } from "@/constants/webHrefs"
import LoginButton from "@/components/LoginButton"
+import Button from "@/components/TempDesignSystem/Button"
import Checkbox from "@/components/TempDesignSystem/Form/Checkbox"
import Link from "@/components/TempDesignSystem/Link"
-import Caption from "@/components/TempDesignSystem/Text/Caption"
import Footnote from "@/components/TempDesignSystem/Text/Footnote"
import { useRoomContext } from "@/contexts/Details/Room"
import useLang from "@/hooks/useLang"
@@ -37,98 +37,58 @@ export default function JoinScandicFriendsCard({
return null
}
- const list = [
- {
- title: intl.formatMessage({
- defaultMessage: "Friendly room rates",
- }),
- },
- {
- title: intl.formatMessage({
- defaultMessage: "Earn & spend points",
- }),
- },
- {
- title: intl.formatMessage({
- defaultMessage: "Join for free",
- }),
- },
- ]
-
- const saveOnJoiningLabel = intl.formatMessage(
- {
- defaultMessage: "Get the member room price: {amount}",
- },
- {
- amount: formatPrice(
- intl,
- room.roomRate.member.localPrice.pricePerStay ?? 0,
- room.roomRate.member.localPrice.currency ?? CurrencyEnum.Unknown
- ),
- }
- )
-
return (
+
+
+
+ {/* eslint-disable-next-line formatjs/no-literal-string-in-jsx */}
+ {`${intl.formatMessage({
+ defaultMessage: "Get the member room price",
+ })}: `}
+
+
+ {formatPrice(
+ intl,
+ room.roomRate.member.localPrice.pricePerStay ?? 0,
+ room.roomRate.member.localPrice.currency ?? CurrencyEnum.Unknown
+ )}
+
+
+
-
-
- {saveOnJoiningLabel}
-
-
+
+
{intl.formatMessage({
- defaultMessage: "Join Scandic Friends",
+ defaultMessage: "Join Scandic Friends now",
})}
-
-
+
+
-
- {/* eslint-disable-next-line formatjs/no-literal-string-in-jsx */}
- {`${intl.formatMessage({
- defaultMessage: "Already a friend?",
- })} `}
+
{intl.formatMessage({
defaultMessage: "Log in",
})}
-
+
-
- {list.map((item) => (
-
-
- {item.title}
-
- ))}
-
{intl.formatMessage(
{
defaultMessage:
- "By signing up you accept the Scandic Friends Terms and Conditions . Your membership is valid until further notice, and you can terminate your membership at any time by sending an email to Scandic's customer service",
+ "By joining you accept the Terms and Conditions . The Scandic Friends Membership is valid until further notice, but can at any time be terminated by contacting Scandic Customer Service.",
},
{
termsAndConditionsLink: (str) => (
diff --git a/apps/scandic-web/components/HotelReservation/EnterDetails/Details/RoomOne/JoinScandicFriendsCard/joinScandicFriendsCard.module.css b/apps/scandic-web/components/HotelReservation/EnterDetails/Details/RoomOne/JoinScandicFriendsCard/joinScandicFriendsCard.module.css
index 228a86a25..9646aa471 100644
--- a/apps/scandic-web/components/HotelReservation/EnterDetails/Details/RoomOne/JoinScandicFriendsCard/joinScandicFriendsCard.module.css
+++ b/apps/scandic-web/components/HotelReservation/EnterDetails/Details/RoomOne/JoinScandicFriendsCard/joinScandicFriendsCard.module.css
@@ -1,21 +1,30 @@
.cardContainer {
align-self: flex-start;
- background-color: var(--Base-Surface-Primary-light-Normal);
- border: 1px solid var(--Base-Border-Subtle);
+ background-color: var(--Surface-Primary-Hover-Accent);
border-radius: var(--Corner-radius-lg);
display: grid;
- gap: var(--Spacing-x-one-and-half);
- padding: var(--Spacing-x-one-and-half) var(--Spacing-x2);
+ gap: var(--Space-x2);
+ padding: var(--Space-x2);
grid-template-areas:
- "checkbox"
- "list"
- "login"
- "terms";
- width: min(100%, 600px);
+ "price login"
+ "checkbox checkbox"
+ "terms terms";
+ width: min(100%, 696px);
+}
+
+.priceContainer {
+ grid-area: price;
+ margin-bottom: var(--Space-x1);
+}
+
+.price {
+ color: var(--Text-Accent-Primary);
}
.login {
grid-area: login;
+ align-self: center;
+ justify-self: end;
}
.checkBox {
@@ -23,33 +32,23 @@
grid-area: checkbox;
}
-.list {
- display: grid;
- grid-area: list;
- gap: var(--Spacing-x1);
-}
-
-.listItem {
- display: flex;
-}
-
.terms {
- border-top: 1px solid var(--Base-Border-Normal);
grid-area: terms;
- padding-top: var(--Spacing-x1);
}
@media screen and (min-width: 768px) {
.cardContainer {
- grid-template-columns: 1fr auto;
- gap: var(--Spacing-x2);
+ grid-template-columns: 1fr auto auto;
+ grid-template-rows: auto auto;
+ gap: var(--Space-x3);
grid-template-areas:
- "checkbox login"
- "list list"
- "terms terms";
+ "price checkbox login"
+ "terms terms terms";
}
- .list {
+
+ .priceContainer {
+ margin-bottom: 0;
display: flex;
- gap: var(--Spacing-x1);
+ flex-direction: column;
}
}
diff --git a/apps/scandic-web/components/HotelReservation/EnterDetails/Details/RoomOne/details.module.css b/apps/scandic-web/components/HotelReservation/EnterDetails/Details/RoomOne/details.module.css
index 219168dc7..f4b9191e1 100644
--- a/apps/scandic-web/components/HotelReservation/EnterDetails/Details/RoomOne/details.module.css
+++ b/apps/scandic-web/components/HotelReservation/EnterDetails/Details/RoomOne/details.module.css
@@ -6,7 +6,7 @@
.container {
display: grid;
gap: var(--Spacing-x2);
- width: min(100%, 600px);
+ width: min(100%, 696px);
}
.fullWidth {
@@ -18,13 +18,7 @@
}
@media screen and (min-width: 768px) {
- .form {
- gap: var(--Spacing-x3);
- }
-
.container {
- gap: var(--Spacing-x2);
grid-template-columns: 1fr 1fr;
- width: min(100%, 600px);
}
}
diff --git a/apps/scandic-web/components/HotelReservation/EnterDetails/Payment/payment.module.css b/apps/scandic-web/components/HotelReservation/EnterDetails/Payment/payment.module.css
index 8592b02bd..c8ff72bf5 100644
--- a/apps/scandic-web/components/HotelReservation/EnterDetails/Payment/payment.module.css
+++ b/apps/scandic-web/components/HotelReservation/EnterDetails/Payment/payment.module.css
@@ -13,7 +13,7 @@
display: flex;
flex-direction: column;
gap: var(--Spacing-x4);
- max-width: 480px;
+ max-width: 696px;
}
.section {