mirror of
https://github.com/mempool/mempool.git
synced 2025-03-13 11:36:07 +01:00
81 lines
4.3 KiB
HTML
81 lines
4.3 KiB
HTML
<app-indexing-progress *ngIf="!widget"></app-indexing-progress>
|
|
|
|
<div [class]="widget === false ? 'full-container' : ''">
|
|
|
|
<div *ngIf="widget">
|
|
<div class="pool-distribution" *ngIf="(hashrateObservable$ | async) as hashrates; else loadingStats">
|
|
<div class="item">
|
|
<h5 class="card-title" i18n="mining.hashrate">Hashrate</h5>
|
|
<p class="card-text">
|
|
{{ hashrates.currentHashrate | amountShortener: 1 : 'H/s' }}
|
|
</p>
|
|
</div>
|
|
<div class="item">
|
|
<h5 class="card-title" i18n="block.difficulty">Difficulty</h5>
|
|
<p class="card-text" *ngIf="network === 'signet'">
|
|
{{ hashrates.currentDifficulty | amountShortener : 5 }}
|
|
</p>
|
|
<p class="card-text" *ngIf="network !== 'signet'">
|
|
{{ hashrates.currentDifficulty | amountShortener : 2 }}
|
|
</p>
|
|
</div>
|
|
</div>
|
|
</div>
|
|
|
|
<div class="card-header mb-0 mb-md-4" [style]="widget ? 'display:none' : ''">
|
|
<div class="d-flex d-md-block align-items-baseline">
|
|
<span i18n="mining.hashrate-difficulty">Hashrate & Difficulty</span>
|
|
<button class="btn p-0 pl-2" style="margin: 0 0 4px 0px" (click)="onSaveChart()">
|
|
<fa-icon [icon]="['fas', 'download']" [fixedWidth]="true"></fa-icon>
|
|
</button>
|
|
</div>
|
|
|
|
<form [formGroup]="radioGroupForm" class="formRadioGroup" *ngIf="(hashrateObservable$ | async) as stats">
|
|
<div class="btn-group btn-group-toggle" name="radioBasic" [class]="{'disabled': isLoading}">
|
|
<label class="btn btn-primary btn-sm" *ngIf="stats.blockCount >= 12960" [class.active]="radioGroupForm.get('dateSpan').value === '3m'">
|
|
<input type="radio" [value]="'3m'" fragment="3m" [routerLink]="['/graphs/mining/hashrate-difficulty' | relativeUrl]" [attr.data-cy]="'3m'" formControlName="dateSpan"> 3M
|
|
</label>
|
|
<label class="btn btn-primary btn-sm" *ngIf="stats.blockCount >= 25920" [class.active]="radioGroupForm.get('dateSpan').value === '6m'">
|
|
<input type="radio" [value]="'6m'" fragment="6m" [routerLink]="['/graphs/mining/hashrate-difficulty' | relativeUrl]" [attr.data-cy]="'6m'" formControlName="dateSpan"> 6M
|
|
</label>
|
|
<label class="btn btn-primary btn-sm" *ngIf="stats.blockCount >= 52560" [class.active]="radioGroupForm.get('dateSpan').value === '1y'">
|
|
<input type="radio" [value]="'1y'" fragment="1y" [routerLink]="['/graphs/mining/hashrate-difficulty' | relativeUrl]" [attr.data-cy]="'1y'" formControlName="dateSpan"> 1Y
|
|
</label>
|
|
<label class="btn btn-primary btn-sm" *ngIf="stats.blockCount >= 105120" [class.active]="radioGroupForm.get('dateSpan').value === '2y'">
|
|
<input type="radio" [value]="'2y'" fragment="2y" [routerLink]="['/graphs/mining/hashrate-difficulty' | relativeUrl]" [attr.data-cy]="'2y'" formControlName="dateSpan"> 2Y
|
|
</label>
|
|
<label class="btn btn-primary btn-sm" *ngIf="stats.blockCount >= 157680" [class.active]="radioGroupForm.get('dateSpan').value === '3y'">
|
|
<input type="radio" [value]="'3y'" fragment="3y" [routerLink]="['/graphs/mining/hashrate-difficulty' | relativeUrl]" [attr.data-cy]="'3y'" formControlName="dateSpan"> 3Y
|
|
</label>
|
|
<label class="btn btn-primary btn-sm" [class.active]="radioGroupForm.get('dateSpan').value === 'all'">
|
|
<input type="radio" [value]="'all'" fragment="all" [routerLink]="['/graphs/mining/hashrate-difficulty' | relativeUrl]" [attr.data-cy]="'all'" formControlName="dateSpan"> ALL
|
|
</label>
|
|
</div>
|
|
</form>
|
|
</div>
|
|
|
|
<div [class]="!widget ? 'chart' : 'chart-widget'" [style]="{ height: widget ? ((height + 20) + 'px') : null}" echarts [initOpts]="chartInitOptions" [options]="chartOptions"
|
|
(chartInit)="onChartInit($event)">
|
|
</div>
|
|
<div class="text-center loadingGraphs" *ngIf="isLoading">
|
|
<div class="spinner-border text-light"></div>
|
|
</div>
|
|
|
|
</div>
|
|
|
|
<ng-template #loadingStats>
|
|
<div class="pool-distribution">
|
|
<div class="item">
|
|
<h5 class="card-title" i18n="mining.hashrate">Hashrate</h5>
|
|
<p class="card-text">
|
|
<span class="skeleton-loader skeleton-loader-big"></span>
|
|
</p>
|
|
</div>
|
|
<div class="item">
|
|
<h5 class="card-title" i18n="block.difficulty">Difficulty</h5>
|
|
<p class="card-text">
|
|
<span class="skeleton-loader skeleton-loader-big"></span>
|
|
</p>
|
|
</div>
|
|
</div>
|
|
</ng-template>
|