Browse Source

index: Fix signalling part of Progress Bar not working correctly

master
Hampus Sjöberg 4 years ago
parent
commit
87a62eace5
  1. 6
      common/data.ts
  2. 19
      frontend/components/ProgressBar.tsx

6
common/data.ts

@ -15,6 +15,8 @@ export function computeStats(blocks: IBlock[]) {
const currentSignallingRatio = const currentSignallingRatio =
currentNumberOfBlocks > 0 ? currentNumberOfSignallingBlocks / currentNumberOfBlocks : 0; currentNumberOfBlocks > 0 ? currentNumberOfSignallingBlocks / currentNumberOfBlocks : 0;
const currentSignallingPercentage = (currentSignallingRatio * 100).toFixed(2); const currentSignallingPercentage = (currentSignallingRatio * 100).toFixed(2);
const currentSignallingRatioToAll = currentNumberOfBlocks > 0 ? currentNumberOfSignallingBlocks / 2016 : 0;
const currentSignallingPercentageToAll = (currentSignallingRatioToAll * 100).toFixed(2);
let willProbablyActivate: boolean | undefined = undefined; let willProbablyActivate: boolean | undefined = undefined;
let estimatedSignallingBlocksLeft; let estimatedSignallingBlocksLeft;
if (currentNumberOfBlocks >= 144) { if (currentNumberOfBlocks >= 144) {
@ -33,8 +35,10 @@ export function computeStats(blocks: IBlock[]) {
currentPeriodFailed, currentPeriodFailed,
willProbablyActivate, willProbablyActivate,
estimatedSignallingBlocksLeft, estimatedSignallingBlocksLeft,
currentSignallingPercentage,
currentSignallingRatio, currentSignallingRatio,
currentSignallingRatioToAll,
currentSignallingPercentage,
currentSignallingPercentageToAll,
}; };
} }

19
frontend/components/ProgressBar.tsx

@ -107,8 +107,8 @@ function ProgressBar() {
currentNumberOfBlocks, currentNumberOfBlocks,
blocksLeftInThisPeriod, blocksLeftInThisPeriod,
currentNumberOfSignallingBlocks, currentNumberOfSignallingBlocks,
currentSignallingRatio, currentSignallingRatioToAll,
currentSignallingPercentage, currentSignallingPercentageToAll,
currentNumberOfNonSignallingBlocks, currentNumberOfNonSignallingBlocks,
} = computeStats(blocks); } = computeStats(blocks);
@ -121,7 +121,7 @@ function ProgressBar() {
// Add rounding error leftovers to blocks left percentage // Add rounding error leftovers to blocks left percentage
const leftOver = const leftOver =
100 - 100 -
(Number.parseFloat(currentSignallingPercentage) + (Number.parseFloat(currentSignallingPercentageToAll) +
Number.parseFloat(nonSignallingPercentage) + Number.parseFloat(nonSignallingPercentage) +
Number.parseFloat(blocksLeftPercentage)); Number.parseFloat(blocksLeftPercentage));
if (leftOver != 0) { if (leftOver != 0) {
@ -137,9 +137,12 @@ function ProgressBar() {
return ( return (
<Container> <Container>
<ProgressBarContainer> <ProgressBarContainer>
{currentSignallingRatio > 0 && ( {currentSignallingRatioToAll > 0 && (
<Green roundedRightBorder={currentNumberOfSignallingBlocks === 2016} style={{ flex: currentSignallingRatio }}> <Green
{currentSignallingPercentage}% roundedRightBorder={currentNumberOfSignallingBlocks === 2016}
style={{ flex: currentSignallingRatioToAll }}
>
{currentSignallingPercentageToAll}%
</Green> </Green>
)} )}
{blocksLeftRatio > 0 && ( {blocksLeftRatio > 0 && (
@ -158,8 +161,8 @@ function ProgressBar() {
)} )}
</ProgressBarContainer> </ProgressBarContainer>
<ProgressBarInfoContainer> <ProgressBarInfoContainer>
{currentSignallingRatio > 0 && ( {currentSignallingRatioToAll > 0 && (
<ProgressBarInfoText style={{ flex: currentSignallingRatio }}> <ProgressBarInfoText style={{ flex: currentSignallingRatioToAll }}>
{currentNumberOfSignallingBlocks} signalling block{currentNumberOfSignallingBlocks > 1 && <>s</>} {currentNumberOfSignallingBlocks} signalling block{currentNumberOfSignallingBlocks > 1 && <>s</>}
</ProgressBarInfoText> </ProgressBarInfoText>
)} )}

Loading…
Cancel
Save