From 58caaafb1c25af0da451d34795376a74508d9ab5 Mon Sep 17 00:00:00 2001 From: softsimon Date: Mon, 13 Jul 2020 23:22:24 +0700 Subject: [PATCH] Display network logo in the top bar. Allow search for block height. Hide empty bisq blocks. --- backend/src/api/bisq.ts | 2 +- .../bisq-address/bisq-address.component.html | 2 +- .../bisq/bisq-block/bisq-block.component.html | 2 +- .../bisq/bisq-block/bisq-block.component.ts | 34 +++++++++++++++--- .../bisq-blocks/bisq-blocks.component.html | 2 +- .../bisq-transaction.component.html | 2 +- .../bisq-transactions.component.html | 2 +- .../master-page/master-page.component.html | 2 ++ frontend/src/resources/paynym-code.png | Bin 63010 -> 0 bytes 9 files changed, 38 insertions(+), 10 deletions(-) delete mode 100644 frontend/src/resources/paynym-code.png diff --git a/backend/src/api/bisq.ts b/backend/src/api/bisq.ts index 4bca8f4c6..8ffd599e7 100644 --- a/backend/src/api/bisq.ts +++ b/backend/src/api/bisq.ts @@ -107,7 +107,7 @@ class Bisq { console.log('Loading Bisq data from dump...'); const data: BisqBlocks = JSON.parse(cacheData); if (data.blocks && data.blocks.length !== this.blocks.length) { - this.blocks = data.blocks; + this.blocks = data.blocks.filter((block) => block.txs.length > 0); this.blocks.reverse(); const time = new Date().getTime() - start; console.log('Bisq dump loaded in ' + time + ' ms'); diff --git a/frontend/src/app/bisq/bisq-address/bisq-address.component.html b/frontend/src/app/bisq/bisq-address/bisq-address.component.html index b6422e867..ef04202c4 100644 --- a/frontend/src/app/bisq/bisq-address/bisq-address.component.html +++ b/frontend/src/app/bisq/bisq-address/bisq-address.component.html @@ -1,5 +1,5 @@
-

Bisq Address

+

Address

{{ addressString | shortenString : 24 }} {{ addressString }} diff --git a/frontend/src/app/bisq/bisq-block/bisq-block.component.html b/frontend/src/app/bisq/bisq-block/bisq-block.component.html index 49ad92e2d..f2fd3c7cd 100644 --- a/frontend/src/app/bisq/bisq-block/bisq-block.component.html +++ b/frontend/src/app/bisq/bisq-block/bisq-block.component.html @@ -1,7 +1,7 @@
diff --git a/frontend/src/app/bisq/bisq-block/bisq-block.component.ts b/frontend/src/app/bisq/bisq-block/bisq-block.component.ts index 9616c76f2..07f8a086b 100644 --- a/frontend/src/app/bisq/bisq-block/bisq-block.component.ts +++ b/frontend/src/app/bisq/bisq-block/bisq-block.component.ts @@ -1,10 +1,12 @@ import { Component, OnInit, OnDestroy } from '@angular/core'; -import { BisqTransaction, BisqBlock } from 'src/app/bisq/bisq.interfaces'; +import { BisqBlock } from 'src/app/bisq/bisq.interfaces'; +import { Location } from '@angular/common'; import { BisqApiService } from '../bisq-api.service'; -import { ActivatedRoute, ParamMap } from '@angular/router'; -import { Subscribable, Subscription, of } from 'rxjs'; +import { ActivatedRoute, ParamMap, Router } from '@angular/router'; +import { Subscription, of } from 'rxjs'; import { switchMap } from 'rxjs/operators'; import { SeoService } from 'src/app/services/seo.service'; +import { ElectrsApiService } from 'src/app/services/electrs-api.service'; @Component({ selector: 'app-bisq-block', @@ -23,13 +25,16 @@ export class BisqBlockComponent implements OnInit, OnDestroy { private bisqApiService: BisqApiService, private route: ActivatedRoute, private seoService: SeoService, + private electrsApiService: ElectrsApiService, + private router: Router, + private location: Location, ) { } ngOnInit(): void { this.subscription = this.route.paramMap .pipe( switchMap((params: ParamMap) => { - this.blockHash = params.get('id') || ''; + const blockHash = params.get('id') || ''; document.body.scrollTo(0, 0); this.isLoading = true; if (history.state.data && history.state.data.blockHeight) { @@ -39,6 +44,27 @@ export class BisqBlockComponent implements OnInit, OnDestroy { this.blockHeight = history.state.data.block.height; return of(history.state.data.block); } + + let isBlockHeight = false; + if (/^[0-9]+$/.test(blockHash)) { + isBlockHeight = true; + } else { + this.blockHash = blockHash; + } + + if (isBlockHeight) { + return this.electrsApiService.getBlockHashFromHeight$(parseInt(blockHash, 10)) + .pipe( + switchMap((hash) => { + this.blockHash = hash; + this.location.replaceState( + this.router.createUrlTree(['/bisq/block/', hash]).toString() + ); + return this.bisqApiService.getBlock$(this.blockHash); + }) + ); + } + return this.bisqApiService.getBlock$(this.blockHash); }) ) diff --git a/frontend/src/app/bisq/bisq-blocks/bisq-blocks.component.html b/frontend/src/app/bisq/bisq-blocks/bisq-blocks.component.html index 11aa8d0d5..24fdff330 100644 --- a/frontend/src/app/bisq/bisq-blocks/bisq-blocks.component.html +++ b/frontend/src/app/bisq/bisq-blocks/bisq-blocks.component.html @@ -1,5 +1,5 @@
-

Bisq Blocks

+

Blocks


diff --git a/frontend/src/app/bisq/bisq-transaction/bisq-transaction.component.html b/frontend/src/app/bisq/bisq-transaction/bisq-transaction.component.html index 24e2a3653..3625fcceb 100644 --- a/frontend/src/app/bisq/bisq-transaction/bisq-transaction.component.html +++ b/frontend/src/app/bisq/bisq-transaction/bisq-transaction.component.html @@ -1,6 +1,6 @@
-

Bisq Transaction

+

Transaction

diff --git a/frontend/src/app/bisq/bisq-transactions/bisq-transactions.component.html b/frontend/src/app/bisq/bisq-transactions/bisq-transactions.component.html index 9d6629a19..e51c19832 100644 --- a/frontend/src/app/bisq/bisq-transactions/bisq-transactions.component.html +++ b/frontend/src/app/bisq/bisq-transactions/bisq-transactions.component.html @@ -1,5 +1,5 @@
-

Bisq Transactions

+

Transactions


diff --git a/frontend/src/app/components/master-page/master-page.component.html b/frontend/src/app/components/master-page/master-page.component.html index 9b37de6c9..2b6d097cd 100644 --- a/frontend/src/app/components/master-page/master-page.component.html +++ b/frontend/src/app/components/master-page/master-page.component.html @@ -6,6 +6,8 @@
Reconnecting...
+ +