feat(SW-353): dynamic rewards
This commit is contained in:
@@ -0,0 +1,38 @@
|
||||
import {
|
||||
findAvailableRewards,
|
||||
getGroupedLabelAndDescription,
|
||||
getGroupedRewards,
|
||||
} from "@/utils/loyaltyTable"
|
||||
|
||||
import RewardCard from "./Card"
|
||||
|
||||
import styles from "./rewardList.module.css"
|
||||
|
||||
import type { RewardListProps } from "@/types/components/overviewTable"
|
||||
|
||||
export default function RewardList({ levels }: RewardListProps) {
|
||||
const groupedRewards = getGroupedRewards(levels)
|
||||
|
||||
return Object.values(groupedRewards).map((groupedRewards) => {
|
||||
const rewardIdsInGroup = groupedRewards.map((b) => b.reward_id)
|
||||
|
||||
const { label, description } = getGroupedLabelAndDescription(groupedRewards)
|
||||
|
||||
const levelRewards = levels.map((level) => {
|
||||
return findAvailableRewards(rewardIdsInGroup, level)
|
||||
})
|
||||
|
||||
return (
|
||||
<div
|
||||
key={levelRewards[0]?.reward_id ?? ""}
|
||||
className={styles.rewardCardWrapper}
|
||||
>
|
||||
<RewardCard
|
||||
title={label}
|
||||
description={description}
|
||||
comparedValues={levelRewards}
|
||||
/>
|
||||
</div>
|
||||
)
|
||||
})
|
||||
}
|
||||
Reference in New Issue
Block a user