diff --git a/apps/scandic-web/components/Blocks/DynamicContent/Overview/MembershipOverviewCard/SasBoostStatus.tsx b/apps/scandic-web/components/Blocks/DynamicContent/Overview/MembershipOverviewCard/SasBoostStatus.tsx
index c9af8279d..6e9fff297 100644
--- a/apps/scandic-web/components/Blocks/DynamicContent/Overview/MembershipOverviewCard/SasBoostStatus.tsx
+++ b/apps/scandic-web/components/Blocks/DynamicContent/Overview/MembershipOverviewCard/SasBoostStatus.tsx
@@ -2,37 +2,28 @@ import { dt } from "@scandic-hotels/common/dt"
import { Divider } from "@scandic-hotels/design-system/Divider"
import { Typography } from "@scandic-hotels/design-system/Typography"
+import { getIntl } from "@/i18n"
import { getLang } from "@/i18n/serverContext"
-import { getSasTierExpirationDate } from "@/utils/sas"
import styles from "./membershipOverviewCard.module.css"
-import type { EurobonusMembership } from "@scandic-hotels/trpc/types/user"
-import type { IntlShape } from "react-intl"
-
interface SasBoostStatusProps {
- sasMembership: EurobonusMembership
- intl: IntlShape
+ expiryDate: string
}
export default async function SasBoostStatus({
- sasMembership,
- intl,
+ expiryDate,
}: SasBoostStatusProps) {
const lang = await getLang()
- const tierExpirationDate = getSasTierExpirationDate(sasMembership)
-
- if (!tierExpirationDate || sasMembership.boostedByScandic) {
- return null
- }
+ const intl = await getIntl()
const sasBoostExpiryText = intl.formatMessage(
{
id: "membershipOverViewCard.sasBoostedUntilDate",
- defaultMessage: "Linked with SAS until {date}",
+ defaultMessage: "Boosted by SAS until {date}",
},
{
- date: dt(tierExpirationDate).locale(lang).format("D MMM YYYY"),
+ date: dt(expiryDate).locale(lang).format("D MMM YYYY"),
}
)
@@ -40,7 +31,7 @@ export default async function SasBoostStatus({
<>
- {sasBoostExpiryText}
+ {sasBoostExpiryText}
>
)
diff --git a/apps/scandic-web/components/Blocks/DynamicContent/Overview/MembershipOverviewCard/index.tsx b/apps/scandic-web/components/Blocks/DynamicContent/Overview/MembershipOverviewCard/index.tsx
index 6a53e1418..0170b0103 100644
--- a/apps/scandic-web/components/Blocks/DynamicContent/Overview/MembershipOverviewCard/index.tsx
+++ b/apps/scandic-web/components/Blocks/DynamicContent/Overview/MembershipOverviewCard/index.tsx
@@ -2,13 +2,12 @@ import { MembershipLevelEnum } from "@scandic-hotels/common/constants/membership
import { Divider } from "@scandic-hotels/design-system/Divider"
import { MaterialIcon } from "@scandic-hotels/design-system/Icons/MaterialIcon"
import { Typography } from "@scandic-hotels/design-system/Typography"
-import { getEurobonusMembership } from "@scandic-hotels/trpc/routers/user/helpers"
+import { isBoostedBySas } from "@scandic-hotels/trpc/routers/user/helpers"
import { membershipLevels } from "@/constants/membershipLevels"
import MembershipLevelIcon from "@/components/Levels/Icon"
import { getIntl } from "@/i18n"
-import { getSasTierExpirationDate } from "@/utils/sas"
import SasBoostStatus from "./SasBoostStatus"
@@ -34,23 +33,16 @@ export default async function MembershipOverviewCard({
? intl.formatNumber(user.membership.currentPoints)
: intl.formatMessage({ id: "common.NA", defaultMessage: "N/A" })
- const sasMembership = user.loyalty
- ? getEurobonusMembership(user.loyalty)
- : null
-
- const showSasBoostIcon =
- sasMembership &&
- getSasTierExpirationDate(sasMembership) &&
- !sasMembership.boostedByScandic
+ const boostedBySas = user.loyalty ? isBoostedBySas(user.loyalty) : null
return (
- {showSasBoostIcon && (
+ {boostedBySas ? (
- )}
+ ) : null}
-
+
{intl.formatMessage(
{
id: "common.membershipLevelWithValue",
@@ -60,9 +52,10 @@ export default async function MembershipOverviewCard({
)}
- {sasMembership && (
-
- )}
+
+ {user.loyalty && boostedBySas ? (
+
+ ) : null}
-
+
{intl.formatMessage({
id: "common.pointsToSpend",
defaultMessage: "Points to spend",
diff --git a/apps/scandic-web/components/Blocks/DynamicContent/Overview/MembershipOverviewCard/membershipOverviewCard.module.css b/apps/scandic-web/components/Blocks/DynamicContent/Overview/MembershipOverviewCard/membershipOverviewCard.module.css
index 5fd69599f..56b4f148a 100644
--- a/apps/scandic-web/components/Blocks/DynamicContent/Overview/MembershipOverviewCard/membershipOverviewCard.module.css
+++ b/apps/scandic-web/components/Blocks/DynamicContent/Overview/MembershipOverviewCard/membershipOverviewCard.module.css
@@ -16,16 +16,10 @@
margin-bottom: var(--Space-x05);
}
-.levelText,
-.sasBoostText,
-.pointsLabel {
+.headingText {
color: var(--Text-Brand-OnPrimary-3-Heading);
}
-.levelText {
- text-transform: uppercase;
-}
-
.divider {
margin: var(--Space-x4) 0;
}
diff --git a/apps/scandic-web/components/Blocks/DynamicContent/SAS/LinkedAccounts/index.tsx b/apps/scandic-web/components/Blocks/DynamicContent/SAS/LinkedAccounts/index.tsx
index d6ebeb5b1..ddacfd00a 100644
--- a/apps/scandic-web/components/Blocks/DynamicContent/SAS/LinkedAccounts/index.tsx
+++ b/apps/scandic-web/components/Blocks/DynamicContent/SAS/LinkedAccounts/index.tsx
@@ -5,7 +5,10 @@ import DiamondAddIcon from "@scandic-hotels/design-system/Icons/DiamondAddIcon"
import { MaterialIcon } from "@scandic-hotels/design-system/Icons/MaterialIcon"
import SkeletonShimmer from "@scandic-hotels/design-system/SkeletonShimmer"
import { Typography } from "@scandic-hotels/design-system/Typography"
-import { getEurobonusMembership } from "@scandic-hotels/trpc/routers/user/helpers"
+import {
+ getEurobonusMembership,
+ isBoostedBySas,
+} from "@scandic-hotels/trpc/routers/user/helpers"
import {
SAS_EUROBONUS_TIER_TO_NAME_MAP,
@@ -346,7 +349,7 @@ function calculateMatchState(loyalty: UserLoyalty): MatchState {
if (eurobonusMembership?.boostedByScandic) return "boostedByScandic"
if (!loyalty.tierBoostedBy) return "noBoost"
- if (loyalty.tierBoostedBy === "SAS_EB") return "boostedBySAS"
+ if (isBoostedBySas(loyalty)) return "boostedBySAS"
return "noBoost"
}
diff --git a/packages/trpc/lib/routers/user/helpers.ts b/packages/trpc/lib/routers/user/helpers.ts
index 1dfe5d648..e8d458141 100644
--- a/packages/trpc/lib/routers/user/helpers.ts
+++ b/packages/trpc/lib/routers/user/helpers.ts
@@ -48,6 +48,10 @@ export function getFriendsMembership(userLoyalty: UserLoyalty) {
return result
}
+export function isBoostedBySas(loyalty: UserLoyalty) {
+ return loyalty.tierBoostedBy === scandicMembershipTypes.SAS_EB
+}
+
function isEurobonusMembership(
membership: Membership
): membership is EurobonusMembership {