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 =
currentNumberOfBlocks > 0 ? currentNumberOfSignallingBlocks / currentNumberOfBlocks : 0;
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 estimatedSignallingBlocksLeft;
if (currentNumberOfBlocks >= 144) {
@ -33,8 +35,10 @@ export function computeStats(blocks: IBlock[]) {
currentPeriodFailed,
willProbablyActivate,
estimatedSignallingBlocksLeft,
currentSignallingPercentage,
currentSignallingRatio,
currentSignallingRatioToAll,
currentSignallingPercentage,
currentSignallingPercentageToAll,
};
}

19
frontend/components/ProgressBar.tsx

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

Loading…
Cancel
Save