refactor(LOY-62): implement code review feedback

This commit is contained in:
Chuma McPhoy
2025-01-13 13:45:13 +01:00
parent e0d8315565
commit da31539610
10 changed files with 61 additions and 143 deletions

View File

@@ -1,23 +1,13 @@
import { useIntl } from "react-intl"
import {
isMembershipLevel,
MembershipLevelEnum,
} from "@/constants/membershipLevels"
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 type { ScriptedRewardTextProps } from "@/types/components/myPages/myPage/accountPage"
const TIER_TO_FRIEND_MAP: Record<MembershipLevelEnum, string> = {
[MembershipLevelEnum.L1]: "New Friend",
[MembershipLevelEnum.L2]: "Good Friend",
[MembershipLevelEnum.L3]: "Close Friend",
[MembershipLevelEnum.L4]: "Dear Friend",
[MembershipLevelEnum.L5]: "Loyal Friend",
[MembershipLevelEnum.L6]: "True Friend",
[MembershipLevelEnum.L7]: "Best Friend",
}
import type { CouponRewardType } from "@/types/components/myPages/rewards"
export default function ScriptedRewardText({
rewardType,
@@ -25,31 +15,21 @@ export default function ScriptedRewardText({
}: ScriptedRewardTextProps) {
const intl = useIntl()
let label: string | null = null
switch (rewardType) {
case "Tier":
if (rewardTierLevel && isMembershipLevel(rewardTierLevel)) {
label = TIER_TO_FRIEND_MAP[rewardTierLevel]
}
break
case "Campaign":
label = intl.formatMessage({ id: "Campaign" })
break
case "Surprise":
label = intl.formatMessage({ id: "Surprise!" })
break
case "Member-voucher":
label = intl.formatMessage({ id: "Voucher" })
break
default:
label = null
const couponLabelMap: Record<CouponRewardType, string> = {
Campaign: intl.formatMessage({ id: "Campaign" }),
Surprise: intl.formatMessage({ id: "Surprise!" }),
"Member-voucher": intl.formatMessage({ id: "Voucher" }),
}
const label =
rewardTierLevel && isMembershipLevel(rewardTierLevel)
? TIER_TO_FRIEND_MAP[rewardTierLevel]
: isCouponRewardType(rewardType)
? couponLabelMap[rewardType]
: null
if (!label) return null
return (
<BiroScript type="two" color="red" tilted="small">
{label}