feat: significant change colors

This commit is contained in:
TrèsAbhi committed 2024-04-05 09:13:13 -05:00
1 parent 49294d1906
commit 4669fa6ec5
1 file changed
+33 -17
+33 -17
View File
@@ -20,10 +20,13 @@ import { tankCharacteristics } from '../../../core/blitzkrieg/tankCharacteristic
import { tankDefinitions } from '../../../core/blitzkrieg/tankDefinitions'; import { tankDefinitions } from '../../../core/blitzkrieg/tankDefinitions';
import { tankIcon } from '../../../core/blitzkrieg/tankIcon'; import { tankIcon } from '../../../core/blitzkrieg/tankIcon';
import { tankToCompareMember } from '../../../core/blitzkrieg/tankToCompareMember'; import { tankToCompareMember } from '../../../core/blitzkrieg/tankToCompareMember';
import { theme } from '../../../stitches.config';
import mutateCompare, { useCompare } from '../../../stores/compare'; import mutateCompare, { useCompare } from '../../../stores/compare';
import { TankSearch } from '../tankopedia/components/TankSearch'; import { TankSearch } from '../tankopedia/components/TankSearch';
import { TankControl } from './components/TankControl'; import { TankControl } from './components/TankControl';
const SIGNIFICANT_CHANGE_THRESHOLD = 0.15;
export default function Page() { export default function Page() {
const pathname = usePathname(); const pathname = usePathname();
const router = useRouter(); const router = useRouter();
@@ -131,8 +134,34 @@ export default function Page() {
</Flex> </Flex>
</Table.RowHeaderCell> </Table.RowHeaderCell>
{values.map((value, index) => ( {values.map((value, index) => {
<Table.Cell key={index}> const deltaPercentage = (value ?? 1) / (values[0] ?? 1) - 1;
const significantChange =
Math.abs(deltaPercentage) >= SIGNIFICANT_CHANGE_THRESHOLD;
return (
<Table.Cell
key={index}
style={{
backgroundColor:
index === 0 ||
value === undefined ||
values[0] === undefined ||
value === values[0]
? undefined
: (
deltaType === 'higherIsBetter'
? value > values[0]
: value < values[0]
)
? significantChange
? theme.colors.componentInteractiveActive_green
: theme.colors.componentInteractive_green
: significantChange
? theme.colors.componentInteractiveActive_red
: theme.colors.componentInteractive_red,
}}
>
<Flex <Flex
align="center" align="center"
justify="center" justify="center"
@@ -145,26 +174,13 @@ export default function Page() {
style={{ style={{
textAlign: 'center', textAlign: 'center',
}} }}
color={
index === 0 ||
value === undefined ||
values[0] === undefined ||
value === values[0]
? undefined
: (
deltaType === 'higherIsBetter'
? value > values[0]
: value < values[0]
)
? 'green'
: 'red'
}
> >
{display ? display(stats[index]) : value} {display ? display(stats[index]) : value}
</Text> </Text>
</Flex> </Flex>
</Table.Cell> </Table.Cell>
))} );
})}
</Table.Row> </Table.Row>
); );
} }