Feat(WEB-307) Display correct membership information * fix: fix typo * chore: update fetch of user membership * chore: update components to use api data * chore: remove lang as static value * fix: adapt to dev updates * fix: adapt to code from dev * fix: break out MembershipLevel into its a React component * fix: add enum to zod validation * refactor: rename tier to level * refactor: remove unnecessary casts * refactor: change toString() to hideEmpty=false * refactor: remove toString() * refactor: remove hideEmpty from title and subtitle * fix: update currentLevel with data * fix: fix from rebase Approved-by: Michael Zetterberg
37 lines
1.1 KiB
TypeScript
37 lines
1.1 KiB
TypeScript
import { membershipLevels } from "@/constants/membershipLevels"
|
|
|
|
import {
|
|
BestFriend,
|
|
CloseFriend,
|
|
DearFriend,
|
|
GoodFriend,
|
|
LoyalFriend,
|
|
NewFriend,
|
|
TrueFriend,
|
|
} from "@/components/Levels"
|
|
|
|
import styles from "./membershipLevel.module.css"
|
|
|
|
import type { MembershipLevelProps } from "@/types/components/myPages/membershipLevel"
|
|
|
|
export default function MembershipLevel({ level }: MembershipLevelProps) {
|
|
switch (level) {
|
|
case membershipLevels.L1:
|
|
return <NewFriend className={styles.level} color="pale" />
|
|
case membershipLevels.L2:
|
|
return <GoodFriend className={styles.level} color="pale" />
|
|
case membershipLevels.L3:
|
|
return <CloseFriend className={styles.level} color="pale" />
|
|
case membershipLevels.L4:
|
|
return <DearFriend className={styles.level} color="pale" />
|
|
case membershipLevels.L5:
|
|
return <LoyalFriend className={styles.level} color="pale" />
|
|
case membershipLevels.L6:
|
|
return <TrueFriend className={styles.level} color="pale" />
|
|
case membershipLevels.L7:
|
|
return <BestFriend className={styles.level} color="pale" />
|
|
default:
|
|
return null
|
|
}
|
|
}
|