feat(LOY-55): Add FilterRewardsModal * feat(LOY-55): Add rewards filtering functionality - Implement dynamic rewards filtering by category and membership level - Create FilterRewardsModal component for filtering rewards - Add useFilteredRewards hook to handle filtering logic - Update rewards schema and constants to support new filtering features - Remove hardcoded page size and replace with constant * fix(LOY-55): reuse existing tier to friend map * refactor(LOY-55): fix checkbox onChange type safety * refactor(LOY-55): Improve rewards filtering type safety and validation * refactor(LOY-55): Update filter modal border color using design token Approved-by: Christian Andolf
35 lines
737 B
TypeScript
35 lines
737 B
TypeScript
export enum membershipLevels {
|
|
L1 = 1,
|
|
L2 = 2,
|
|
L3 = 3,
|
|
L4 = 4,
|
|
L5 = 5,
|
|
L6 = 6,
|
|
L7 = 7,
|
|
}
|
|
|
|
export enum MembershipLevelEnum {
|
|
L1 = "L1",
|
|
L2 = "L2",
|
|
L3 = "L3",
|
|
L4 = "L4",
|
|
L5 = "L5",
|
|
L6 = "L6",
|
|
L7 = "L7",
|
|
}
|
|
|
|
/**
|
|
* @note Membership levels should always be in English.
|
|
*/
|
|
export 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",
|
|
}
|
|
|
|
export type MembershipLevel = keyof typeof MembershipLevelEnum
|