feat: better compare layout

This commit is contained in:
TrèsAbhi committed 2024-06-29 11:57:44 -05:00
1 parent cf68c9812c
commit 9f89903a6e
1 file changed
+59 -30
+59 -30
View File
@@ -178,6 +178,7 @@ export default function Page() {
deltaType = 'higherIsBetter', deltaType = 'higherIsBetter',
decimals, decimals,
deltaNominalDisplay, deltaNominalDisplay,
indent,
}: { }: {
name: string; name: string;
value: value:
@@ -191,6 +192,7 @@ export default function Page() {
deltaType?: 'higherIsBetter' | 'lowerIsBetter'; deltaType?: 'higherIsBetter' | 'lowerIsBetter';
decimals?: number; decimals?: number;
deltaNominalDisplay?: (delta: number) => string | number; deltaNominalDisplay?: (delta: number) => string | number;
indent?: boolean;
}) { }) {
const values = stats.map((stat) => const values = stats.map((stat) =>
typeof value === 'function' ? value(stat)! : (stat[value] as number), typeof value === 'function' ? value(stat)! : (stat[value] as number),
@@ -199,7 +201,11 @@ export default function Page() {
return ( return (
<Table.Row> <Table.Row>
<Table.RowHeaderCell> <Table.RowHeaderCell>
<Flex align="center" gap="2"> <Flex
align="center"
style={{ whiteSpace: 'nowrap' }}
gap={indent ? '6' : '2'}
>
<IconButton <IconButton
color={sorting?.by === name ? undefined : 'gray'} color={sorting?.by === name ? undefined : 'gray'}
variant="ghost" variant="ghost"
@@ -620,7 +626,7 @@ export default function Page() {
{members.length > 0 && ( {members.length > 0 && (
<Flex justify="center"> <Flex justify="center">
<Box maxWidth="100%" position="relative"> <Box maxWidth="100%" position="relative">
<Table.Root variant="surface" style={{ maxWidth: '100%' }}> <Table.Root size="1" variant="surface" style={{ maxWidth: '100%' }}>
<Table.Header> <Table.Header>
<Table.Row> <Table.Row>
<Table.ColumnHeaderCell <Table.ColumnHeaderCell
@@ -1282,67 +1288,81 @@ export default function Page() {
decimals={3} decimals={3}
/> />
<Row <Row
name="Dispersion moving" name="moving"
indent
value="dispersionMoving" value="dispersionMoving"
deltaType="lowerIsBetter" deltaType="lowerIsBetter"
decimals={3} decimals={3}
/> />
<Row <Row
name="Dispersion hull traversing" name="hull traversing"
indent
value="dispersionHullTraversing" value="dispersionHullTraversing"
deltaType="lowerIsBetter" deltaType="lowerIsBetter"
decimals={3} decimals={3}
/> />
<Row <Row
name="Dispersion turret traversing" name="turret traversing"
indent
value="dispersionTurretTraversing" value="dispersionTurretTraversing"
deltaType="lowerIsBetter" deltaType="lowerIsBetter"
decimals={3} decimals={3}
/> />
<Row <Row
name="Dispersion shooting" name="shooting"
indent
value="dispersionShooting" value="dispersionShooting"
deltaType="lowerIsBetter" deltaType="lowerIsBetter"
decimals={3} decimals={3}
/> />
<Row <Row
name="Dispersion gun damaged" name="gun damaged"
indent
value="dispersionGunDamaged" value="dispersionGunDamaged"
deltaType="lowerIsBetter" deltaType="lowerIsBetter"
decimals={3} decimals={3}
/> />
<Row <Row
name="Max dispersion" name="maximum"
indent
value="maxDispersion" value="maxDispersion"
deltaType="lowerIsBetter" deltaType="lowerIsBetter"
decimals={3} decimals={3}
/> />
<Row name="Gun depression" value="gunDepression" decimals={1} /> <Row name="Gun depression" value="gunDepression" decimals={1} />
<Row name="Gun elevation" value="gunElevation" decimals={1} /> <Row
name="elevation"
indent
value="gunElevation"
decimals={1}
/>
</Table.Body> </Table.Body>
<Title>Maneuverability</Title> <Title>Maneuverability</Title>
<Table.Body> <Table.Body>
<Row name="Speed forwards" value="speedForwards" decimals={0} /> <Row name="Speed forwards" value="speedForwards" decimals={0} />
<Row <Row
name="Speed backwards" name="backwards"
indent
value="speedBackwards" value="speedBackwards"
decimals={0} decimals={0}
/> />
<Row name="Engine power" value="enginePower" decimals={0} /> <Row name="Engine power" value="enginePower" decimals={0} />
<Row name="Weight" value="weight" decimals={1} /> <Row name="Weight" value="weight" decimals={1} />
<Row <Row
name="Power to weight ratio on hard terrain" name="Power to weight ratio"
value="powerToWeightRatioHardTerrain" value="powerToWeightRatioHardTerrain"
decimals={1} decimals={1}
/> />
<Row <Row
name="Power to weight ratio on medium terrain" name="medium terrain"
indent
value="powerToWeightRatioMediumTerrain" value="powerToWeightRatioMediumTerrain"
decimals={1} decimals={1}
/> />
<Row <Row
name="Power to weight ratio on soft terrain" name="soft terrain"
indent
value="powerToWeightRatioSoftTerrain" value="powerToWeightRatioSoftTerrain"
decimals={1} decimals={1}
/> />
@@ -1352,17 +1372,19 @@ export default function Page() {
decimals={1} decimals={1}
/> />
<Row <Row
name="Traverse speed on hard terrain" name="Traverse speed"
value="hullTraverseHardTerrain" value="hullTraverseHardTerrain"
decimals={1} decimals={1}
/> />
<Row <Row
name="Traverse speed on medium terrain" name="medium terrain"
indent
value="hullTraverseMediumTerrain" value="hullTraverseMediumTerrain"
decimals={1} decimals={1}
/> />
<Row <Row
name="Traverse speed on soft terrain" name="soft terrain"
indent
value="hullTraverseSoftTerrain" value="hullTraverseSoftTerrain"
decimals={1} decimals={1}
/> />
@@ -1380,19 +1402,21 @@ export default function Page() {
/> />
<Row name="View range" value="viewRange" decimals={0} /> <Row name="View range" value="viewRange" decimals={0} />
<Row <Row
name="Camouflage still" name="Camouflage"
value="camouflageStill" value="camouflageStill"
display={(stats) => (stats.camouflageStill * 100).toFixed(0)} display={(stats) => (stats.camouflageStill * 100).toFixed(0)}
deltaNominalDisplay={(delta) => (delta * 100).toFixed(0)} deltaNominalDisplay={(delta) => (delta * 100).toFixed(0)}
/> />
<Row <Row
name="Camouflage moving" name="moving"
indent
value="camouflageMoving" value="camouflageMoving"
display={(stats) => (stats.camouflageMoving * 100).toFixed(0)} display={(stats) => (stats.camouflageMoving * 100).toFixed(0)}
deltaNominalDisplay={(delta) => (delta * 100).toFixed(0)} deltaNominalDisplay={(delta) => (delta * 100).toFixed(0)}
/> />
<Row <Row
name="Camouflage shooting still" name="shooting"
indent
value="camouflageShootingStill" value="camouflageShootingStill"
display={(stats) => display={(stats) =>
(stats.camouflageShootingStill * 100).toFixed(0) (stats.camouflageShootingStill * 100).toFixed(0)
@@ -1400,7 +1424,8 @@ export default function Page() {
deltaNominalDisplay={(delta) => (delta * 100).toFixed(0)} deltaNominalDisplay={(delta) => (delta * 100).toFixed(0)}
/> />
<Row <Row
name="Camouflage shooting moving" name="shooting & moving"
indent
value="camouflageShootingMoving" value="camouflageShootingMoving"
display={(stats) => display={(stats) =>
(stats.camouflageShootingMoving * 100).toFixed(0) (stats.camouflageShootingMoving * 100).toFixed(0)
@@ -1408,7 +1433,8 @@ export default function Page() {
deltaNominalDisplay={(delta) => (delta * 100).toFixed(0)} deltaNominalDisplay={(delta) => (delta * 100).toFixed(0)}
/> />
<Row <Row
name="Camouflage caught on fire" name="caught on fire"
indent
value="camouflageCaughtOnFire" value="camouflageCaughtOnFire"
display={(stats) => display={(stats) =>
(stats.camouflageCaughtOnFire * 100).toFixed(0) (stats.camouflageCaughtOnFire * 100).toFixed(0)
@@ -1416,29 +1442,32 @@ export default function Page() {
deltaNominalDisplay={(delta) => (delta * 100).toFixed(0)} deltaNominalDisplay={(delta) => (delta * 100).toFixed(0)}
/> />
<Row <Row
name="Width" name="Volume"
value="volume"
deltaType="lowerIsBetter"
decimals={1}
/>
<Row
name="width"
indent
value="width" value="width"
deltaType="lowerIsBetter" deltaType="lowerIsBetter"
decimals={1} decimals={1}
/> />
<Row <Row
name="Height" name="height"
indent
value="height" value="height"
deltaType="lowerIsBetter" deltaType="lowerIsBetter"
decimals={1} decimals={1}
/> />
<Row <Row
name="Length" name="length"
indent
value="length" value="length"
deltaType="lowerIsBetter" deltaType="lowerIsBetter"
decimals={1} decimals={1}
/> />
<Row
name="Volume"
value="volume"
deltaType="lowerIsBetter"
decimals={1}
/>
</Table.Body> </Table.Body>
</Table.Root> </Table.Root>