refactor(LOY-62): revert to switch case for ScriptedRewardText label text
This commit is contained in:
@@ -4,10 +4,9 @@ import { TIER_TO_FRIEND_MAP } from "@/constants/membershipLevels"
|
||||
|
||||
import BiroScript from "@/components/TempDesignSystem/Text/BiroScript"
|
||||
import { isMembershipLevel } from "@/utils/membershipLevels"
|
||||
import { isCouponRewardType } from "@/utils/rewards"
|
||||
import { getRewardType } from "@/utils/rewards"
|
||||
|
||||
import type { ScriptedRewardTextProps } from "@/types/components/myPages/myPage/accountPage"
|
||||
import type { CouponRewardType } from "@/types/components/myPages/rewards"
|
||||
|
||||
export default function ScriptedRewardText({
|
||||
rewardType,
|
||||
@@ -15,18 +14,26 @@ export default function ScriptedRewardText({
|
||||
}: ScriptedRewardTextProps) {
|
||||
const intl = useIntl()
|
||||
|
||||
const couponLabelMap: Record<CouponRewardType, string> = {
|
||||
Campaign: intl.formatMessage({ id: "Campaign" }),
|
||||
Surprise: intl.formatMessage({ id: "Surprise!" }),
|
||||
"Member-voucher": intl.formatMessage({ id: "Voucher" }),
|
||||
function getLabel(rewardType?: string, rewardTierLevel?: string) {
|
||||
const type = getRewardType(rewardType)
|
||||
|
||||
switch (type) {
|
||||
case "Tier":
|
||||
return rewardTierLevel && isMembershipLevel(rewardTierLevel)
|
||||
? TIER_TO_FRIEND_MAP[rewardTierLevel]
|
||||
: null
|
||||
case "Campaign":
|
||||
return intl.formatMessage({ id: "Campaign" })
|
||||
case "Surprise":
|
||||
return intl.formatMessage({ id: "Surprise!" })
|
||||
case "Member-voucher":
|
||||
return intl.formatMessage({ id: "Voucher" })
|
||||
default:
|
||||
return null
|
||||
}
|
||||
}
|
||||
|
||||
const label =
|
||||
rewardTierLevel && isMembershipLevel(rewardTierLevel)
|
||||
? TIER_TO_FRIEND_MAP[rewardTierLevel]
|
||||
: isCouponRewardType(rewardType)
|
||||
? couponLabelMap[rewardType]
|
||||
: null
|
||||
const label = getLabel(rewardType, rewardTierLevel)
|
||||
|
||||
if (!label) return null
|
||||
|
||||
|
||||
Reference in New Issue
Block a user