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 d37b673d6..c14bab32c 100644 --- a/apps/scandic-web/components/Blocks/DynamicContent/Overview/MembershipOverviewCard/SasBoostStatus.tsx +++ b/apps/scandic-web/components/Blocks/DynamicContent/Overview/MembershipOverviewCard/SasBoostStatus.tsx @@ -3,6 +3,7 @@ import { Divider } from "@scandic-hotels/design-system/Divider" import { Typography } from "@scandic-hotels/design-system/Typography" import { getLang } from "@/i18n/serverContext" +import { getSasTierExpirationDate } from "@/utils/sas" import styles from "./membershipOverviewCard.module.css" @@ -19,8 +20,9 @@ export default async function SasBoostStatus({ intl, }: SasBoostStatusProps) { const lang = await getLang() + const tierExpirationDate = getSasTierExpirationDate(sasMembership) - if (!sasMembership.boostedTierExpires || sasMembership.boostedByScandic) { + if (!tierExpirationDate || sasMembership.boostedByScandic) { return null } @@ -29,9 +31,7 @@ export default async function SasBoostStatus({ defaultMessage: "Boosted by SAS until {date}", }, { - date: dt(sasMembership.boostedTierExpires) - .locale(lang) - .format("D MMM YYYY"), + date: dt(tierExpirationDate).locale(lang).format("D MMM YYYY"), } ) 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 2ba263461..6a7f6bec3 100644 --- a/apps/scandic-web/components/Blocks/DynamicContent/Overview/MembershipOverviewCard/index.tsx +++ b/apps/scandic-web/components/Blocks/DynamicContent/Overview/MembershipOverviewCard/index.tsx @@ -8,6 +8,7 @@ import { membershipLevels } from "@/constants/membershipLevels" import MembershipLevelIcon from "@/components/Levels/Icon" import { getIntl } from "@/i18n" +import { getSasTierExpirationDate } from "@/utils/sas" import SasBoostStatus from "./SasBoostStatus" @@ -38,7 +39,9 @@ export default async function MembershipOverviewCard({ : null const showSasBoostIcon = - sasMembership?.boostedTierExpires && !sasMembership.boostedByScandic + sasMembership && + getSasTierExpirationDate(sasMembership) && + !sasMembership.boostedByScandic return (
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 b20d8eda0..e8d615b36 100644 --- a/apps/scandic-web/components/Blocks/DynamicContent/SAS/LinkedAccounts/index.tsx +++ b/apps/scandic-web/components/Blocks/DynamicContent/SAS/LinkedAccounts/index.tsx @@ -17,6 +17,7 @@ import SectionContainer from "@/components/Section/Container" import SectionHeader from "@/components/Section/Header" import SectionLink from "@/components/Section/Link" import { getIntl } from "@/i18n" +import { getSasTierExpirationDate } from "@/utils/sas" import { UnlinkSAS } from "./UnlinkSAS" @@ -82,8 +83,7 @@ async function MatchedAccountInfo() { eurobonusMembership.boostedTier || eurobonusMembership.tier ] const sasMembershipNumber = eurobonusMembership.membershipNumber - const sasTierExpirationDate = - eurobonusMembership.boostedTierExpires || eurobonusMembership.tierExpires + const sasTierExpirationDate = getSasTierExpirationDate(eurobonusMembership) const scandicLevelName = TIER_TO_FRIEND_MAP[friendsMembership.membershipLevel] const scandicExpirationDate = friendsMembership.tierExpirationDate diff --git a/apps/scandic-web/utils/sas.ts b/apps/scandic-web/utils/sas.ts new file mode 100644 index 000000000..ac267903e --- /dev/null +++ b/apps/scandic-web/utils/sas.ts @@ -0,0 +1,10 @@ +import type { EurobonusMembership } from "@scandic-hotels/trpc/types/user" + +/** + * Get SAS tier expiration date, checking boostedTierExpires first, then falling back to tierExpires + */ +export function getSasTierExpirationDate( + sasMembership: EurobonusMembership +): string | null { + return sasMembership.boostedTierExpires || sasMembership.tierExpires +}