fix: deltas showing up even on no diff

This commit is contained in:
TrèsAbhi committed 2023-10-01 15:15:36 -05:00
1 parent b9c3cfaee4
commit 8e5a588e87
1 file changed
+16 -18
+16 -18
View File
@@ -32,7 +32,7 @@ export default function SessionPage() {
} }
| undefined | undefined
>(undefined); >(undefined);
const battles = diff?.list.reduce( const sessionBattles = diff?.list.reduce(
(accumulator, { stats }) => accumulator + stats.all.battles, (accumulator, { stats }) => accumulator + stats.all.battles,
0, 0,
); );
@@ -43,32 +43,28 @@ export default function SessionPage() {
? diff.list.reduce( ? diff.list.reduce(
(accumulator, { stats }) => accumulator + stats.all.wins, (accumulator, { stats }) => accumulator + stats.all.wins,
0, 0,
) / battles! ) / sessionBattles!
: 0; : 0;
const careerBattles = tankStatsArray.reduce(
(accumulator, stats) => accumulator + stats.all.battles,
0,
);
const careerWinrate = const careerWinrate =
tankStatsArray.reduce( tankStatsArray.reduce(
(accumulator, stats) => accumulator + stats.all.wins, (accumulator, stats) => accumulator + stats.all.wins,
0, 0,
) / ) / careerBattles;
tankStatsArray.reduce(
(accumulator, stats) => accumulator + stats.all.battles,
0,
);
const currentDamage = diff const currentDamage = diff
? diff.list.reduce( ? diff.list.reduce(
(accumulator, { stats }) => accumulator + stats.all.damage_dealt, (accumulator, { stats }) => accumulator + stats.all.damage_dealt,
0, 0,
) / battles! ) / sessionBattles!
: 0; : 0;
const careerDamage = const careerDamage =
tankStatsArray.reduce( tankStatsArray.reduce(
(accumulator, stats) => accumulator + stats.all.damage_dealt, (accumulator, stats) => accumulator + stats.all.damage_dealt,
0, 0,
) / ) / careerBattles;
tankStatsArray.reduce(
(accumulator, stats) => accumulator + stats.all.battles,
0,
);
useEffect(() => { useEffect(() => {
async function recalculateDiff() { async function recalculateDiff() {
@@ -158,7 +154,7 @@ export default function SessionPage() {
stats={[ stats={[
{ {
title: 'Battles', title: 'Battles',
current: battles!.toLocaleString(), current: sessionBattles!.toLocaleString(),
career: tankStatsArray career: tankStatsArray
.reduce( .reduce(
(accumulator, stats) => accumulator + stats.all.battles, (accumulator, stats) => accumulator + stats.all.battles,
@@ -168,9 +164,11 @@ export default function SessionPage() {
}, },
{ {
title: 'Winrate', title: 'Winrate',
current: battles ? `${(100 * sessionWinrate).toFixed(2)}%` : '--', current: sessionBattles
? `${(100 * sessionWinrate).toFixed(2)}%`
: '--',
career: `${(100 * careerWinrate).toFixed(2)}%`, career: `${(100 * careerWinrate).toFixed(2)}%`,
delta: sessionWinrate - careerWinrate, delta: sessionBattles === 0 ? 0 : sessionWinrate - careerWinrate,
}, },
(() => { (() => {
const battlesWithWN8 = diff.list.reduce( const battlesWithWN8 = diff.list.reduce(
@@ -199,8 +197,8 @@ export default function SessionPage() {
})(), })(),
{ {
title: 'Damage', title: 'Damage',
delta: currentDamage - careerDamage, delta: sessionBattles === 0 ? 0 : currentDamage - careerDamage,
current: battles current: sessionBattles
? Math.round(currentDamage).toLocaleString() ? Math.round(currentDamage).toLocaleString()
: '--', : '--',
career: Math.round(careerDamage).toLocaleString(), career: Math.round(careerDamage).toLocaleString(),