diff --git a/frontend/package.json b/frontend/package.json
index e93e66ab1..f618314d8 100644
--- a/frontend/package.json
+++ b/frontend/package.json
@@ -25,6 +25,7 @@
"bootstrap": "^4.4.1",
"chartist": "^0.11.4",
"clipboard": "^2.0.4",
+ "ngx-infinite-scroll": "^8.0.1",
"qrcode": "^1.4.4",
"rxjs": "~6.5.3",
"tlite": "^0.1.9",
diff --git a/frontend/src/app/app.module.ts b/frontend/src/app/app.module.ts
index 6db9f84ff..f2e41ac2b 100644
--- a/frontend/src/app/app.module.ts
+++ b/frontend/src/app/app.module.ts
@@ -4,6 +4,7 @@ import { HttpClientModule } from '@angular/common/http';
import { ReactiveFormsModule } from '@angular/forms';
import { BrowserAnimationsModule } from '@angular/platform-browser/animations';
import { NgbButtonsModule } from '@ng-bootstrap/ng-bootstrap';
+import { InfiniteScrollModule } from 'ngx-infinite-scroll';
import { AppRoutingModule } from './app-routing.module';
import { AppComponent } from './components/app/app.component';
@@ -80,6 +81,7 @@ import { AudioService } from './services/audio.service';
ReactiveFormsModule,
BrowserAnimationsModule,
NgbButtonsModule,
+ InfiniteScrollModule,
],
providers: [
ElectrsApiService,
diff --git a/frontend/src/app/components/address/address.component.html b/frontend/src/app/components/address/address.component.html
index 5836f26cf..ac940add8 100644
--- a/frontend/src/app/components/address/address.component.html
+++ b/frontend/src/app/components/address/address.component.html
@@ -42,14 +42,13 @@
{{ transactions?.length || '?' }} of {{ txCount }} transactions
-
+
diff --git a/frontend/src/app/components/address/address.component.ts b/frontend/src/app/components/address/address.component.ts
index 08edcb5de..6f6929acd 100644
--- a/frontend/src/app/components/address/address.component.ts
+++ b/frontend/src/app/components/address/address.component.ts
@@ -153,6 +153,9 @@ export class AddressComponent implements OnInit, OnDestroy {
}
loadMore() {
+ if (this.isLoadingTransactions || !this.totalConfirmedTxCount || this.loadedConfirmedTxCount >= this.totalConfirmedTxCount) {
+ return;
+ }
this.isLoadingTransactions = true;
this.electrsApiService.getAddressTransactionsFromHash$(this.address.address, this.lastTransactionTxId)
.subscribe((transactions: Transaction[]) => {
diff --git a/frontend/src/app/components/block/block.component.html b/frontend/src/app/components/block/block.component.html
index e20516d22..241ff58f0 100644
--- a/frontend/src/app/components/block/block.component.html
+++ b/frontend/src/app/components/block/block.component.html
@@ -65,14 +65,13 @@
-
+
diff --git a/frontend/src/app/components/block/block.component.ts b/frontend/src/app/components/block/block.component.ts
index 6d55e403f..9055fba2d 100644
--- a/frontend/src/app/components/block/block.component.ts
+++ b/frontend/src/app/components/block/block.component.ts
@@ -96,6 +96,10 @@ export class BlockComponent implements OnInit {
}
loadMore() {
+ if (this.isLoadingTransactions || !this.transactions.length || this.transactions.length === this.block.tx_count) {
+ return;
+ }
+
this.isLoadingTransactions = true;
this.electrsApiService.getBlockTransactions$(this.block.id, this.transactions.length)
.subscribe((transactions) => {
diff --git a/frontend/src/app/components/latest-blocks/latest-blocks.component.html b/frontend/src/app/components/latest-blocks/latest-blocks.component.html
index 4892bcfef..f1df6f48b 100644
--- a/frontend/src/app/components/latest-blocks/latest-blocks.component.html
+++ b/frontend/src/app/components/latest-blocks/latest-blocks.component.html
@@ -1,4 +1,4 @@
-
+
Height |
Timestamp |
@@ -32,8 +32,3 @@
-
-
-
-
-
diff --git a/frontend/src/app/components/time-since/time-since.component.ts b/frontend/src/app/components/time-since/time-since.component.ts
index de683cea6..0b89e52cc 100644
--- a/frontend/src/app/components/time-since/time-since.component.ts
+++ b/frontend/src/app/components/time-since/time-since.component.ts
@@ -31,7 +31,7 @@ export class TimeSinceComponent implements OnInit, OnDestroy {
calculate() {
const seconds = Math.floor((+new Date() - +new Date(this.time * 1000)) / 1000);
if (seconds < 60) {
- return '< 1 min';
+ return '< 1 minute';
}
const intervals = {
year: 31536000,
diff --git a/frontend/src/app/components/transactions-list/transactions-list.component.html b/frontend/src/app/components/transactions-list/transactions-list.component.html
index fcf95a0be..2df03e1e1 100644
--- a/frontend/src/app/components/transactions-list/transactions-list.component.html
+++ b/frontend/src/app/components/transactions-list/transactions-list.component.html
@@ -8,7 +8,7 @@
-