Switch success rate for total vsize on acceleration dashboard

This commit is contained in:
Mononaut 2024-04-10 06:40:49 +00:00
parent 80c7754e48
commit e263f94765
No known key found for this signature in database
GPG Key ID: A3F058E41374C04E
3 changed files with 24 additions and 7 deletions

View File

@ -17,10 +17,10 @@
</div> </div>
</div> </div>
<div class="item"> <div class="item">
<h5 class="card-title" i18n="accelerator.success-rate">Success Rate</h5> <h5 class="card-title" i18n="accelerator.total-vsize">Total vSize</h5>
<div class="card-text"> <div class="card-text">
<div>{{ stats.successRate.toFixed(2) }} %</div> <div [innerHTML]="'&lrm;' + (stats.totalVsize | vbytes: 2)"></div>
<div class="symbol" i18n="accelerator.mined-next-block">mined</div> <div class="symbol">{{ (stats.totalVsize / (1_000_000 * blocksInPeriod) * 100).toFixed(2) }}% <span i18n="accelerator.percent-of-blocks"> of blocks</span></div>
</div> </div>
</div> </div>
</div> </div>

View File

@ -6,6 +6,7 @@ export type AccelerationStats = {
totalRequested: number; totalRequested: number;
totalBidBoost: number; totalBidBoost: number;
successRate: number; successRate: number;
totalVsize: number;
} }
@Component({ @Component({
@ -17,16 +18,32 @@ export type AccelerationStats = {
export class AccelerationStatsComponent implements OnInit, OnChanges { export class AccelerationStatsComponent implements OnInit, OnChanges {
@Input() timespan: '3d' | '1w' | '1m' = '1w'; @Input() timespan: '3d' | '1w' | '1m' = '1w';
accelerationStats$: Observable<AccelerationStats>; accelerationStats$: Observable<AccelerationStats>;
blocksInPeriod: number = 7 * 144;
constructor( constructor(
private servicesApiService: ServicesApiServices private servicesApiService: ServicesApiServices
) { } ) { }
ngOnInit(): void { ngOnInit(): void {
this.accelerationStats$ = this.servicesApiService.getAccelerationStats$({ timeframe: this.timespan }); this.updateStats();
} }
ngOnChanges(): void { ngOnChanges(): void {
this.updateStats();
}
updateStats(): void {
this.accelerationStats$ = this.servicesApiService.getAccelerationStats$({ timeframe: this.timespan }); this.accelerationStats$ = this.servicesApiService.getAccelerationStats$({ timeframe: this.timespan });
switch (this.timespan) {
case '3d':
this.blocksInPeriod = 3 * 144;
break;
case '1w':
this.blocksInPeriod = 7 * 144;
break;
case '1m':
this.blocksInPeriod = 30 * 144;
break;
}
} }
} }

View File

@ -17,10 +17,10 @@
</div> </div>
</div> </div>
<div class="item"> <div class="item">
<h5 class="card-title" i18n="accelerator.total-vsize">Total Vsize</h5> <h5 class="card-title" i18n="accelerator.total-vsize">Total vSize</h5>
<div class="card-text"> <div class="card-text">
<div [innerHTML]="'&lrm;' + (stats.totalVsize * 4 | vbytes: 2)"></div> <div [innerHTML]="'&lrm;' + (stats.totalVsize | vbytes: 2)"></div>
<div class="symbol">{{ (stats.totalVsize / 1_000_000 * 100).toFixed(2) }}% <span i18n="accelerator.percent-of-next-block"> of next block</span></div> <div class="symbol">{{ (stats.totalVsize / 1_000_000 * 100).toFixed(2) }}% <span i18n="accelerator.percent-of-block"> of block</span></div>
</div> </div>
</div> </div>
</div> </div>