Merged in fix/sw-2548-invalid-tier-expiry-for-sas-eb-basic (pull request #1908)

Handle invalid tier expiry 1900-01-01 from SAS

* Handle invalid tier expiry 1900-01-01 from SAS

* Set correct sasTierExpirationDate


Approved-by: Linus Flood
This commit is contained in:
Anton Gunnarsson
2025-04-30 08:11:35 +00:00
parent b9bf5e6510
commit f4fe2e3a4a
2 changed files with 19 additions and 6 deletions

View File

@@ -89,7 +89,8 @@ async function MatchedAccountInfo() {
eurobonusMembership.boostedTier || eurobonusMembership.tier
]
const sasMembershipNumber = eurobonusMembership.membershipNumber
const sasTierExpirationDate = eurobonusMembership.tierExpires
const sasTierExpirationDate =
eurobonusMembership.boostedTierExpires || eurobonusMembership.tierExpires
const scandicLevelName = TIER_TO_FRIEND_MAP[friendsMembership.membershipLevel]
const scandicExpirationDate = friendsMembership.tierExpirationDate
@@ -302,6 +303,13 @@ async function TierMatchExpiration({
const intl = await getIntl()
const displayedExpirationDate =
matchState === "boostedBySAS" ? scandicExpirationDate : sasExpirationDate
if (!displayedExpirationDate) {
return null
}
return (
<div className={styles.stack}>
<Label>
@@ -310,11 +318,7 @@ async function TierMatchExpiration({
})}
</Label>
<Typography variant="Body/Paragraph/mdBold">
<p>
{matchState === "boostedBySAS"
? scandicExpirationDate
: sasExpirationDate}
</p>
<p>{displayedExpirationDate}</p>
</Typography>
</div>
)

View File

@@ -31,8 +31,17 @@ export const sasMembershipSchema = z
spendablePoints: z.number().nullish(),
boostedByScandic: z.boolean().nullish(),
boostedTier: sasEurobonusTier.nullish(),
boostedTierExpires: z.string().nullish().default(null),
})
.merge(commonMembershipSchema)
.transform((response) => {
return {
...response,
tierExpires:
// SAS API returns 1900-01-01 for non-expiring tiers
response.tierExpires === "1900-01-01" ? null : response.tierExpires,
}
})
export const friendsMembershipSchema = z
.object({