From e565c65a310b5568cea26910d7be86a4a3020e83 Mon Sep 17 00:00:00 2001 From: Arvid Norlin Date: Wed, 22 May 2024 14:18:48 +0200 Subject: [PATCH] fix: correct OverviewTable createComparison function --- .../DynamicContent/OverviewTable/index.tsx | 70 ++++++++++--------- 1 file changed, 37 insertions(+), 33 deletions(-) diff --git a/components/Loyalty/Blocks/DynamicContent/OverviewTable/index.tsx b/components/Loyalty/Blocks/DynamicContent/OverviewTable/index.tsx index bd81990f9..6ee4c4fb5 100644 --- a/components/Loyalty/Blocks/DynamicContent/OverviewTable/index.tsx +++ b/components/Loyalty/Blocks/DynamicContent/OverviewTable/index.tsx @@ -1,6 +1,6 @@ "use client" -import { useState } from "react" +import { Fragment, useState } from "react" import { Minus } from "react-feather" import { Lang } from "@/constants/languages" @@ -62,12 +62,10 @@ function OverviewTableTitle({ texts }: OverviewTableTitleProps) { return ( {texts.map(({ text, highlight }, idx) => ( - <> - <span key={idx} className={highlight ? styles.highlight : ""}> - {text} - </span> + <Fragment key={idx}> + <span className={highlight ? styles.highlight : ""}>{text}</span> {idx < texts.length - 1 && " "} - </> + </Fragment> ))} ) @@ -80,37 +78,43 @@ function getLevelByTier(tier: number) { } function createComparison(levelA: ComparisonLevel, levelB: ComparisonLevel) { - const comparedLevels = [levelA, levelB].sort( - (a, b) => a.benefits.length - b.benefits.length + const unlockedBenefitsA = levelA.benefits.filter( + (benefit) => benefit.unlocked ) + const unlockedBenefitsB = levelB.benefits.filter( + (benefit) => benefit.unlocked + ) + + const higherLevelBenefits = + unlockedBenefitsA.length > unlockedBenefitsB.length + ? unlockedBenefitsA + : unlockedBenefitsB return ( <> - {comparedLevels[1].benefits - .filter((benefit) => benefit.unlocked) - .map((benefit, idx) => { - const aBenefit = comparedLevels[0].benefits[idx] - const bBenefit = comparedLevels[1].benefits[idx] - return ( - - ) - })} + {higherLevelBenefits.map((benefit, idx) => { + const aBenefit = levelA.benefits[idx] + const bBenefit = levelB.benefits[idx] + return ( + + ) + })} ) }