Adding mouse over title to fee rate badge.

This commit is contained in:
softsimon 2020-03-16 02:41:13 +07:00
parent 8a5887e890
commit 3e6f382c4d
No known key found for this signature in database
GPG Key ID: 488D7DCFB5A430D7
2 changed files with 7 additions and 6 deletions

View File

@ -50,8 +50,8 @@
{{ tx.fee / (tx.weight / 4) | number : '1.2-2' }} sats/vB {{ tx.fee / (tx.weight / 4) | number : '1.2-2' }} sats/vB
   
<span *ngIf="feeRating === 1" class="badge badge-success">Optimal</span> <span *ngIf="feeRating === 1" class="badge badge-success">Optimal</span>
<span *ngIf="feeRating === 2" class="badge badge-warning">Overpaid {{ overpaidTimes }}x</span> <span *ngIf="feeRating === 2" class="badge badge-warning" title="Only ~{{ medianFeeNeeded }} sat/vB was needed to get into this block">Overpaid {{ overpaidTimes }}x</span>
<span *ngIf="feeRating === 3" class="badge badge-danger">Overpaid {{ overpaidTimes }}x</span> <span *ngIf="feeRating === 3" class="badge badge-danger" title="Only ~{{ medianFeeNeeded }} sat/vB was needed to get into this block">Overpaid {{ overpaidTimes }}x</span>
</td> </td>
</tr> </tr>
<tr> <tr>

View File

@ -19,6 +19,7 @@ export class TransactionComponent implements OnInit, OnDestroy {
txId: string; txId: string;
feeRating: number; feeRating: number;
overpaidTimes: number; overpaidTimes: number;
medianFeeNeeded: number;
isLoadingTx = true; isLoadingTx = true;
error: any = undefined; error: any = undefined;
latestBlock: Block; latestBlock: Block;
@ -98,16 +99,16 @@ export class TransactionComponent implements OnInit, OnDestroy {
.pipe(filter((block) => block.height === this.tx.status.block_height)) .pipe(filter((block) => block.height === this.tx.status.block_height))
.subscribe((block) => { .subscribe((block) => {
const feePervByte = this.tx.fee / (this.tx.weight / 4); const feePervByte = this.tx.fee / (this.tx.weight / 4);
let medianFee = block.feeRange[Math.round(block.feeRange.length * 0.5)]; this.medianFeeNeeded = block.feeRange[Math.round(block.feeRange.length * 0.5)];
// Block not filled // Block not filled
if (block.weight < 4000000 * 0.95) { if (block.weight < 4000000 * 0.95) {
medianFee = 1; this.medianFeeNeeded = 1;
} }
this.overpaidTimes = Math.round(feePervByte / block.medianFee); this.overpaidTimes = Math.round(feePervByte / this.medianFeeNeeded);
if (feePervByte <= medianFee || this.overpaidTimes < 2) { if (feePervByte <= this.medianFeeNeeded || this.overpaidTimes < 2) {
this.feeRating = 1; this.feeRating = 1;
} else { } else {
this.feeRating = 2; this.feeRating = 2;