Merged in feature/sw-1881-boosted-by-scandic (pull request #1780)
Show boosted by scandic in SAS Linked Accounts * Add boostedByScandic property to SAS membership * Use get profile with extended partner data * Display correct tier when EB is boosted by SF Approved-by: Joakim Jäderberg
This commit is contained in:
@@ -10,7 +10,7 @@ import {
|
|||||||
TIER_TO_FRIEND_MAP,
|
TIER_TO_FRIEND_MAP,
|
||||||
} from "@/constants/membershipLevels"
|
} from "@/constants/membershipLevels"
|
||||||
import { env } from "@/env/server"
|
import { env } from "@/env/server"
|
||||||
import { getProfile } from "@/lib/trpc/memoizedRequests"
|
import { getProfileWithExtendedPartnerData } from "@/lib/trpc/memoizedRequests"
|
||||||
|
|
||||||
import SectionContainer from "@/components/Section/Container"
|
import SectionContainer from "@/components/Section/Container"
|
||||||
import SectionHeader from "@/components/Section/Header"
|
import SectionHeader from "@/components/Section/Header"
|
||||||
@@ -70,7 +70,7 @@ export default async function SASLinkedAccount({
|
|||||||
}
|
}
|
||||||
|
|
||||||
async function MatchedAccountInfo() {
|
async function MatchedAccountInfo() {
|
||||||
const user = await getProfile()
|
const user = await getProfileWithExtendedPartnerData()
|
||||||
|
|
||||||
if (!user || "error" in user) {
|
if (!user || "error" in user) {
|
||||||
return null
|
return null
|
||||||
@@ -84,7 +84,10 @@ async function MatchedAccountInfo() {
|
|||||||
return null
|
return null
|
||||||
}
|
}
|
||||||
|
|
||||||
const sasLevelName = SAS_EUROBONUS_TIER_TO_NAME_MAP[eurobonusMembership.tier]
|
const sasLevelName =
|
||||||
|
SAS_EUROBONUS_TIER_TO_NAME_MAP[
|
||||||
|
eurobonusMembership.boostedTier || eurobonusMembership.tier
|
||||||
|
]
|
||||||
const sasMembershipNumber = eurobonusMembership.membershipNumber
|
const sasMembershipNumber = eurobonusMembership.membershipNumber
|
||||||
const sasTierExpirationDate = eurobonusMembership.tierExpires
|
const sasTierExpirationDate = eurobonusMembership.tierExpires
|
||||||
|
|
||||||
@@ -327,11 +330,11 @@ function Label({ children }: { children: ReactNode }) {
|
|||||||
|
|
||||||
type MatchState = "boostedBySAS" | "boostedByScandic" | "noBoost"
|
type MatchState = "boostedBySAS" | "boostedByScandic" | "noBoost"
|
||||||
function calculateMatchState(loyalty: UserLoyalty): MatchState {
|
function calculateMatchState(loyalty: UserLoyalty): MatchState {
|
||||||
|
const eurobonusMembership = getEurobonusMembership(loyalty)
|
||||||
|
if (eurobonusMembership?.boostedByScandic) return "boostedByScandic"
|
||||||
|
|
||||||
if (!loyalty.tierBoostedBy) return "noBoost"
|
if (!loyalty.tierBoostedBy) return "noBoost"
|
||||||
if (loyalty.tierBoostedBy === "SAS_EB") return "boostedBySAS"
|
if (loyalty.tierBoostedBy === "SAS_EB") return "boostedBySAS"
|
||||||
|
|
||||||
// const eurobonusMembership = getEurobonusMembership(loyalty)
|
|
||||||
// if (eurobonusMembership.boostedByScandic) return "boostedByScandic"
|
|
||||||
|
|
||||||
return "noBoost"
|
return "noBoost"
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -29,6 +29,8 @@ export const sasMembershipSchema = z
|
|||||||
tier: sasEurobonusTier,
|
tier: sasEurobonusTier,
|
||||||
nextTier: sasEurobonusTier.nullish(),
|
nextTier: sasEurobonusTier.nullish(),
|
||||||
spendablePoints: z.number().nullish(),
|
spendablePoints: z.number().nullish(),
|
||||||
|
boostedByScandic: z.boolean().nullish(),
|
||||||
|
boostedTier: sasEurobonusTier.nullish(),
|
||||||
})
|
})
|
||||||
.merge(commonMembershipSchema)
|
.merge(commonMembershipSchema)
|
||||||
|
|
||||||
|
|||||||
Reference in New Issue
Block a user