chore(LOY-64): better organisation of reward types and data

This commit is contained in:
Chuma McPhoy
2024-12-11 11:17:55 +01:00
parent 87ff783c87
commit c33f125332
4 changed files with 46 additions and 37 deletions

View File

@@ -1,53 +1,55 @@
import type { FC } from "react"
import { REWARD_IDS } from "@/constants/rewards"
import { getIconByIconName } from "@/components/Icons/get-icon-by-icon-name"
import { isValidRewardId } from "@/utils/rewards"
import type { FC } from "react"
import { IconName, type IconProps } from "@/types/components/icon"
import { RewardId } from "@/types/enums/rewards"
import type { RewardId } from "@/types/components/myPages/rewards"
function getIconForRewardId(rewardId: RewardId): IconName {
switch (rewardId) {
// Food & beverage
case RewardId.TenPercentFood:
case RewardId.FifteenPercentFood:
case REWARD_IDS.TenPercentFood:
case REWARD_IDS.FifteenPercentFood:
return IconName.CroissantCoffeeEgg
case RewardId.TwoForOneBreakfast:
case REWARD_IDS.TwoForOneBreakfast:
return IconName.CutleryTwo
case RewardId.FreeBreakfast:
case REWARD_IDS.FreeBreakfast:
return IconName.CutleryOne
case RewardId.FreeKidsDrink:
case REWARD_IDS.FreeKidsDrink:
return IconName.KidsMocktail
// Monetary vouchers
case RewardId.Bonus50SEK:
case RewardId.Bonus75SEK:
case RewardId.Bonus100SEK:
case RewardId.Bonus150SEK:
case RewardId.Bonus200SEK:
case REWARD_IDS.Bonus50SEK:
case REWARD_IDS.Bonus75SEK:
case REWARD_IDS.Bonus100SEK:
case REWARD_IDS.Bonus150SEK:
case REWARD_IDS.Bonus200SEK:
return IconName.Voucher
// Hotel perks
case RewardId.EarlyCheckin:
case REWARD_IDS.EarlyCheckin:
return IconName.HandKey
case RewardId.LateCheckout:
case REWARD_IDS.LateCheckout:
return IconName.HotelNight
case RewardId.FreeUpgrade:
case REWARD_IDS.FreeUpgrade:
return IconName.MagicWand
case RewardId.RoomGuarantee48H:
case REWARD_IDS.RoomGuarantee48H:
return IconName.Bed
// Earnings
case RewardId.EarnRate25Percent:
case RewardId.EarnRate50Percent:
case REWARD_IDS.EarnRate25Percent:
case REWARD_IDS.EarnRate50Percent:
return IconName.MoneyHand
case RewardId.StayBoostForKids:
case REWARD_IDS.StayBoostForKids:
return IconName.Kids
case RewardId.MemberRate:
case REWARD_IDS.MemberRate:
return IconName.Coin
// Special
case RewardId.YearlyExclusiveGift:
case REWARD_IDS.YearlyExclusiveGift:
return IconName.GiftOpen
default: {