2021-07-31 18:40:15 +02:00
|
|
|
<div class="mempool-blocks-container">
|
2021-07-20 14:04:53 +02:00
|
|
|
<div class="flashing" *ngIf="(timeAvg$ | async) as timeAvg;">
|
2020-07-30 12:01:13 +02:00
|
|
|
<ng-template ngFor let-projectedBlock [ngForOf]="mempoolBlocks$ | async" let-i="index" [ngForTrackBy]="trackByFn">
|
2020-05-24 17:23:56 +02:00
|
|
|
<div class="bitcoin-block text-center mempool-block" id="mempool-block-{{ i }}" [ngStyle]="mempoolBlockStyles[i]">
|
2020-05-09 15:37:50 +02:00
|
|
|
<a [routerLink]="['/mempool-block/' | relativeUrl, i]" class="blockLink"> </a>
|
2020-07-30 10:38:55 +02:00
|
|
|
<div class="block-body">
|
2020-02-23 21:42:29 +01:00
|
|
|
<div class="fees">
|
2021-08-07 03:24:46 +02:00
|
|
|
~{{ projectedBlock.medianFee | number:feeRounding }} <span i18n="shared.sat-vbyte|sat/vB">sat/vB</span>
|
2020-02-23 21:42:29 +01:00
|
|
|
</div>
|
2020-07-20 06:03:53 +02:00
|
|
|
<div class="fee-span">
|
2021-08-07 03:24:46 +02:00
|
|
|
{{ projectedBlock.feeRange[0] | number:feeRounding }} - {{ projectedBlock.feeRange[projectedBlock.feeRange.length - 1] | number:feeRounding }} <span i18n="shared.sat-vbyte|sat/vB">sat/vB</span>
|
2020-07-20 06:03:53 +02:00
|
|
|
</div>
|
2021-05-18 16:20:17 +02:00
|
|
|
<div class="block-size" [innerHTML]="projectedBlock.blockSize | bytes: 2">‎</div>
|
2020-12-06 17:44:08 +01:00
|
|
|
<div class="transaction-count">
|
|
|
|
<ng-container *ngTemplateOutlet="projectedBlock.nTx === 1 ? transactionsSingular : transactionsPlural; context: {$implicit: projectedBlock.nTx | number}"></ng-container>
|
|
|
|
<ng-template #transactionsSingular let-i i18n="shared.transaction-count.singular">{{ i }} transaction</ng-template>
|
|
|
|
<ng-template #transactionsPlural let-i i18n="shared.transaction-count.plural">{{ i }} transactions</ng-template>
|
|
|
|
</div>
|
2021-07-31 16:30:35 +02:00
|
|
|
<div class="time-difference" *ngIf="projectedBlock.blockVSize <= stateService.blockVSize; else mergedBlock">
|
2020-03-25 15:29:40 +01:00
|
|
|
<ng-template [ngIf]="network === 'liquid'" [ngIfElse]="timeDiffMainnet">
|
2021-07-20 14:04:53 +02:00
|
|
|
<app-time-until [time]="(1 * i) + now + 61000" [fastRender]="false" [fixedRender]="true"></app-time-until>
|
2020-03-25 15:29:40 +01:00
|
|
|
</ng-template>
|
|
|
|
<ng-template #timeDiffMainnet>
|
2021-08-01 00:25:24 +02:00
|
|
|
<app-time-until [time]="(timeAvg * i) + now + timeAvg" [fastRender]="false" [fixedRender]="true" [forceFloorOnTimeIntervals]="['hour']"></app-time-until>
|
2020-03-25 15:29:40 +01:00
|
|
|
</ng-template>
|
|
|
|
</div>
|
2020-06-07 12:30:32 +02:00
|
|
|
<ng-template #mergedBlock>
|
2020-12-06 17:44:08 +01:00
|
|
|
<div class="time-difference">
|
2021-07-31 16:30:35 +02:00
|
|
|
<b>(<ng-container *ngTemplateOutlet="blocksPlural; context: {$implicit: projectedBlock.blockVSize / stateService.blockVSize | ceil }"></ng-container>)</b>
|
2021-07-17 13:58:16 +02:00
|
|
|
<ng-template #blocksPlural let-i i18n="shared.blocks">{{ i }} <span class="shared-block">blocks</span></ng-template>
|
2020-12-06 17:44:08 +01:00
|
|
|
</div>
|
2020-02-23 21:42:29 +01:00
|
|
|
</ng-template>
|
2020-02-16 16:15:07 +01:00
|
|
|
</div>
|
2020-02-23 21:42:29 +01:00
|
|
|
<span class="animated-border"></span>
|
2020-02-16 16:15:07 +01:00
|
|
|
</div>
|
2020-07-23 05:53:42 +02:00
|
|
|
</ng-template>
|
2020-02-16 16:15:07 +01:00
|
|
|
</div>
|
2020-03-20 21:38:18 +01:00
|
|
|
<div *ngIf="arrowVisible" id="arrow-up" [ngStyle]="{'right': rightPosition + 75 + 'px', transition: transition }"></div>
|
2020-02-16 16:15:07 +01:00
|
|
|
</div>
|
2020-12-06 17:44:08 +01:00
|
|
|
|
2021-07-31 18:40:15 +02:00
|
|
|
<div class="mempool-blocks-container" *ngIf="loadingMempoolBlocks === true">
|
2021-07-10 15:04:15 +02:00
|
|
|
<div class="flashing">
|
|
|
|
<ng-template ngFor let-projectedBlock [ngForOf]="mempoolBlocks" let-i="index" [ngForTrackBy]="trackByFn">
|
|
|
|
<div class="bitcoin-block text-center mempool-block" id="mempool-block-{{ i }}" [ngStyle]="mempoolBlockStyles[i]"></div>
|
|
|
|
</ng-template>
|
|
|
|
</div>
|
|
|
|
</div>
|