feat(SW-312): fix "2-for-1-breakfast" only unlocked for level 5

This commit is contained in:
Matilda Landström
2024-08-29 14:36:26 +02:00
committed by Christel Westerberg
parent 00fc2af3dd
commit 41827f0fe0
15 changed files with 97 additions and 93 deletions

View File

@@ -1,32 +1,31 @@
import { getHighestLevel } from "@/utils/loyaltyTable"
import { findBenefit, getUnlockedBenefits } from "@/utils/loyaltyTable"
import BenefitCard from "../BenefitCard"
import styles from "./benefitList.module.css"
import { BenefitListProps } from "@/types/components/loyalty/blocks"
import type { BenefitListProps } from "@/types/components/loyalty/blocks"
export default function BenefitList({ levels }: BenefitListProps) {
const highestLevel = getHighestLevel(levels)
return highestLevel?.benefits
.filter((benefit) => benefit.unlocked)
.map((benefit, idx) => {
const levelBenefits = levels.map((level) => level.benefits[idx])
return (
<div key={benefit.name} className={styles.benefitCardWrapper}>
<BenefitCard
title={benefit.name}
description={benefit.description}
comparedValues={levelBenefits.map((benefit, idx) => {
return {
key: `${benefit.name}-${idx}`,
value: benefit.value,
unlocked: benefit.unlocked,
valueDetails: benefit.valueDetails,
}
})}
/>
</div>
)
return getUnlockedBenefits(levels).map((benefit) => {
const levelBenefits = levels.map((level) => {
return findBenefit(benefit, level)
})
return (
<div key={benefit.name} className={styles.benefitCardWrapper}>
<BenefitCard
title={benefit.name}
description={benefit.description}
comparedValues={levelBenefits.map((benefit, idx) => {
return {
key: `${benefit.name}-${idx}`,
value: benefit.value,
unlocked: benefit.unlocked,
valueDetails: benefit.valueDetails,
}
})}
/>
</div>
)
})
}