feat: totals

This commit is contained in:
TrèsAbhi committed 2024-05-01 22:11:12 -05:00
1 parent ff92b3dd45
commit 352cb70830
3 files changed
+74 -13

No files matched your search

+44 -10
View File
@@ -25,6 +25,7 @@ import {
generateStats,
prettifyStats,
STAT_NAMES,
sumStats,
} from '../../../core/blitz/generateStats';
import {
getAccountInfo,
@@ -75,12 +76,30 @@ export default function Page() {
const delta = useMemo(
() =>
session.tracking && tankStatsB
? deltaTankStats(session.player.stats, tankStatsB).sort(
(a, b) => b.last_battle_time - a.last_battle_time,
)
? deltaTankStats(session.player.stats, tankStatsB)
.sort((a, b) => b.last_battle_time - a.last_battle_time)
.map((entry) => {
const tank = awaitedTankDefinitions[entry.tank_id];
const average = awaitedTankAvearges[tank.id];
const stats = generateStats(entry.all, average?.all);
const statsPretty = prettifyStats(stats);
return {
tank,
stats,
statsPretty,
};
})
: undefined,
[session.tracking && session.player, tankStatsB],
);
const total = useMemo(
() =>
delta
? prettifyStats(sumStats(delta.map(({ stats }) => stats)))
: undefined,
[delta],
);
const search = debounce(async () => {
if (!input.current) return;
@@ -338,13 +357,28 @@ export default function Page() {
</Table.Header>
<Table.Body>
{delta.map((entry) => {
const tank = awaitedTankDefinitions[entry.tank_id];
const average = awaitedTankAvearges[tank.id];
const stats = prettifyStats(
generateStats(entry.all, average?.all),
);
<Table.Row
style={{
overflow: 'hidden',
}}
>
<Table.RowHeaderCell
style={{
paddingLeft: 32,
position: 'relative',
overflowY: 'hidden',
}}
>
Total
</Table.RowHeaderCell>
{session.columns.map((column) => (
<Table.Cell key={column} align="right">
{total![column]}
</Table.Cell>
))}
</Table.Row>
{delta.map(({ statsPretty, tank }) => {
return (
<Table.Row
key={tank.id}
@@ -402,7 +436,7 @@ export default function Page() {
</Table.RowHeaderCell>
{session.columns.map((column) => (
<Table.Cell key={column} align="right">
{stats[column]}
{statsPretty[column]}
</Table.Cell>
))}
</Table.Row>