From 4669fa6ec5e7ba705c31d4f87ad3bd2c8ba29dd8 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Tr=C3=A8sAbhi?= <43380238+tresabhi@users.noreply.github.com> Date: Fri, 5 Apr 2024 09:13:13 -0500 Subject: [PATCH] feat: significant change colors --- src/app/tools/compare/page.tsx | 60 +++++++++++++++++++++------------- 1 file changed, 38 insertions(+), 22 deletions(-) diff --git a/src/app/tools/compare/page.tsx b/src/app/tools/compare/page.tsx index 36f850d13..5feac2446 100644 --- a/src/app/tools/compare/page.tsx +++ b/src/app/tools/compare/page.tsx @@ -20,10 +20,13 @@ import { tankCharacteristics } from '../../../core/blitzkrieg/tankCharacteristic import { tankDefinitions } from '../../../core/blitzkrieg/tankDefinitions'; import { tankIcon } from '../../../core/blitzkrieg/tankIcon'; import { tankToCompareMember } from '../../../core/blitzkrieg/tankToCompareMember'; +import { theme } from '../../../stitches.config'; import mutateCompare, { useCompare } from '../../../stores/compare'; import { TankSearch } from '../tankopedia/components/TankSearch'; import { TankControl } from './components/TankControl'; +const SIGNIFICANT_CHANGE_THRESHOLD = 0.15; + export default function Page() { const pathname = usePathname(); const router = useRouter(); @@ -131,21 +134,16 @@ export default function Page() { - {values.map((value, index) => ( - - { + const deltaPercentage = (value ?? 1) / (values[0] ?? 1) - 1; + const significantChange = + Math.abs(deltaPercentage) >= SIGNIFICANT_CHANGE_THRESHOLD; + + return ( + - values[0] : value < values[0] ) - ? 'green' - : 'red' - } + ? significantChange + ? theme.colors.componentInteractiveActive_green + : theme.colors.componentInteractive_green + : significantChange + ? theme.colors.componentInteractiveActive_red + : theme.colors.componentInteractive_red, + }} + > + - {display ? display(stats[index]) : value} - - - - ))} + + {display ? display(stats[index]) : value} + + + + ); + })} ); }