58 lines
2.6 KiB
HTML
58 lines
2.6 KiB
HTML
<div class="container-xl">
|
|
<h1 class="float-left" i18n="latest-blocks.blocks">Blocks</h1>
|
|
<br>
|
|
|
|
<div class="clearfix"></div>
|
|
|
|
<table class="table table-borderless" [alwaysCallback]="true" infiniteScroll [infiniteScrollDistance]="1.5" [infiniteScrollUpDistance]="1.5" [infiniteScrollThrottle]="50" (scrolled)="loadMore()">
|
|
<thead>
|
|
<th style="width: 15%;" i18n="latest-blocks.height">Height</th>
|
|
<th class="d-none d-md-block" style="width: 20%;" i18n="latest-blocks.timestamp">Timestamp</th>
|
|
<th style="width: 20%;" i18n="latest-blocks.mined">Mined</th>
|
|
<th class="d-none d-lg-block" style="width: 15%;" i18n="latest-blocks.transactions">Transactions</th>
|
|
<th style="width: 20%;" i18n="latest-blocks.size">Size</th>
|
|
</thead>
|
|
<tbody>
|
|
<tr *ngFor="let block of blocks; let i= index; trackBy: trackByBlock">
|
|
<td><a [routerLink]="['/block' | relativeUrl, block.id]" [state]="{ data: { block: block } }">{{ block.height }}</a></td>
|
|
<td class="d-none d-md-block">{{ block.timestamp * 1000 | date:'yyyy-MM-dd HH:mm' }}</td>
|
|
<td><app-time-since [time]="block.timestamp" [fastRender]="true"></app-time-since></td>
|
|
<td class="d-none d-lg-block">{{ block.tx_count | number }}</td>
|
|
<td>
|
|
<div class="progress">
|
|
<div class="progress-bar progress-mempool {{ network$ | async }}" role="progressbar" [ngStyle]="{'width': (block.weight / 4000000)*100 + '%' }"></div>
|
|
<div class="progress-text">{{ block.size | bytes: 2 }}</div>
|
|
</div>
|
|
</td>
|
|
</tr>
|
|
<ng-template [ngIf]="isLoading">
|
|
<tr *ngFor="let item of [1,2,3,4,5,6,7,8,9,10]">
|
|
<td><span class="skeleton-loader"></span></td>
|
|
<td class="d-none d-md-block"><span class="skeleton-loader"></span></td>
|
|
<td><span class="skeleton-loader"></span></td>
|
|
<td class="d-none d-lg-block"><span class="skeleton-loader"></span></td>
|
|
<td><span class="skeleton-loader"></span></td>
|
|
</tr>
|
|
<ng-container *ngIf="(blocksLoadingStatus$ | async) as blocksLoadingStatus">
|
|
<tr>
|
|
<td colspan="5">
|
|
<div class="progress progress-dark">
|
|
<div class="progress-bar progress-darklight" role="progressbar" [ngStyle]="{'width': blocksLoadingStatus + '%' }"></div>
|
|
</div>
|
|
</td>
|
|
</tr>
|
|
</ng-container>
|
|
</ng-template>
|
|
</tbody>
|
|
</table>
|
|
|
|
<ng-template [ngIf]="error">
|
|
<div class="text-center">
|
|
<span>Error loading blocks</span>
|
|
<br>
|
|
<i>{{ error.error }}</i>
|
|
</div>
|
|
</ng-template>
|
|
|
|
</div>
|