-
- Top 100 nodes connectivity ranking
-
-
+
+
+
Liquidity Ranking
+
+
+
+
- |
Alias |
- Channels |
- Liquidity |
- First seen |
- Last update |
- Location |
+ Channels |
+ Capacity |
+ {{ currency$ | async }} |
+ First seen |
+ Last update |
+ Location |
-
-
-
- {{ i + 1 }}
+ |
+
+
+
|
-
- {{ node.alias }}
- |
-
+ |
{{ node.channels | number }}
|
-
+ |
|
-
+ |
+
+ |
+
|
-
+ |
|
-
+ |
|
-
+
-
-
-
-
-
- |
-
-
- |
-
-
- |
-
-
- |
-
-
- |
-
-
- |
-
-
- |
-
-
-
+
+
+
+
+
-
\ No newline at end of file
+
+
diff --git a/frontend/src/app/lightning/nodes-ranking/top-nodes-per-channels/top-nodes-per-channels.component.scss b/frontend/src/app/lightning/nodes-ranking/top-nodes-per-channels/top-nodes-per-channels.component.scss
index 59151f6b2..b7ed8cf04 100644
--- a/frontend/src/app/lightning/nodes-ranking/top-nodes-per-channels/top-nodes-per-channels.component.scss
+++ b/frontend/src/app/lightning/nodes-ranking/top-nodes-per-channels/top-nodes-per-channels.component.scss
@@ -1,91 +1,48 @@
.container-xl {
max-width: 1400px;
- padding-bottom: 100px;
- @media (min-width: 960px) {
- padding-left: 50px;
- padding-right: 50px;
- }
+}
+.container-xl.widget {
+ padding-right: 0px;
+ padding-left: 0px;
+ padding-bottom: 0px;
}
-.table td, .table th {
- padding: 0.5rem;
+tr, td, th {
+ border: 0px;
+ padding-top: 0.65rem !important;
+ padding-bottom: 0.7rem !important;
}
-.full .rank {
- width: 5%;
-}
-.widget .rank {
- @media (min-width: 960px) {
- width: 13%;
- }
- @media (max-width: 960px) {
- padding-left: 0px;
- padding-right: 0px;
- }
+.clear-link {
+ color: white;
}
-.full .alias {
- width: 20%;
+.pool {
+ width: 15%;
+ @media (max-width: 576px) {
+ width: 75%;
+ }
overflow: hidden;
text-overflow: ellipsis;
- max-width: 350px;
- @media (max-width: 960px) {
- width: 40%;
- max-width: 500px;
- }
+ white-space: nowrap;
+ max-width: 160px;
}
-.widget .alias {
- width: 60%;
- overflow: hidden;
+.pool-name {
+ display: inline-block;
+ vertical-align: text-top;
text-overflow: ellipsis;
- max-width: 350px;
- @media (max-width: 960px) {
- max-width: 175px;
- }
+ overflow: hidden;
}
-.full .capacity {
+.liquidity {
width: 10%;
- @media (max-width: 960px) {
- width: 30%;
- }
-}
-.widget .capacity {
- width: 32%;
- @media (max-width: 960px) {
- padding-left: 0px;
- padding-right: 0px;
+ @media (max-width: 576px) {
+ width: 25%;
}
}
-.full .channels {
+.fiat {
width: 15%;
- padding-right: 50px;
- @media (max-width: 960px) {
- display: none;
- }
+ font-family: monospace;
+ font-size: 14px;
}
-
-.full .timestamp-first {
- width: 10%;
- @media (max-width: 960px) {
- display: none;
- }
-}
-
-.full .timestamp-update {
- width: 10%;
- @media (max-width: 960px) {
- display: none;
- }
-}
-
-.full .location {
- width: 15%;
- @media (max-width: 960px) {
- width: 30%;
- }
- @media (max-width: 600px) {
- display: none;
- }
-}
\ No newline at end of file
diff --git a/frontend/src/app/lightning/nodes-ranking/top-nodes-per-channels/top-nodes-per-channels.component.ts b/frontend/src/app/lightning/nodes-ranking/top-nodes-per-channels/top-nodes-per-channels.component.ts
index ac67787e6..f1740e5bc 100644
--- a/frontend/src/app/lightning/nodes-ranking/top-nodes-per-channels/top-nodes-per-channels.component.ts
+++ b/frontend/src/app/lightning/nodes-ranking/top-nodes-per-channels/top-nodes-per-channels.component.ts
@@ -1,5 +1,6 @@
import { ChangeDetectionStrategy, Component, Input, OnInit } from '@angular/core';
import { map, Observable } from 'rxjs';
+import { StateService } from 'src/app/services/state.service';
import { INodesRanking, ITopNodesPerChannels } from '../../../interfaces/node-api.interface';
import { isMobile } from '../../../shared/common.utils';
import { GeolocationData } from '../../../shared/components/geolocation/geolocation.component';
@@ -17,12 +18,16 @@ export class TopNodesPerChannels implements OnInit {
topNodesPerChannels$: Observable
;
skeletonRows: number[] = [];
+ currency$: Observable;
constructor(
private apiService: LightningApiService,
+ private stateService: StateService,
) {}
ngOnInit(): void {
+ this.currency$ = this.stateService.fiatCurrency$;
+
for (let i = 1; i <= (this.widget ? (isMobile() ? 8 : 6) : 100); ++i) {
this.skeletonRows.push(i);
}
From 7e913e4d34f417fb16248abad85cea4a30c160ee Mon Sep 17 00:00:00 2001
From: nymkappa <1612910616@pm.me>
Date: Thu, 23 Feb 2023 18:57:55 +0900
Subject: [PATCH 03/10] Show geolocation in node channels ranking widget
---
backend/src/api/explorer/nodes.api.ts | 20 +++++++++++++++----
.../top-nodes-per-channels.component.html | 6 +++---
.../top-nodes-per-channels.component.scss | 3 +++
.../top-nodes-per-channels.component.ts | 13 ++++++++++--
4 files changed, 33 insertions(+), 9 deletions(-)
diff --git a/backend/src/api/explorer/nodes.api.ts b/backend/src/api/explorer/nodes.api.ts
index b3f83faa6..6d1d8aa0a 100644
--- a/backend/src/api/explorer/nodes.api.ts
+++ b/backend/src/api/explorer/nodes.api.ts
@@ -228,7 +228,7 @@ class NodesApi {
nodes.capacity
FROM nodes
ORDER BY capacity DESC
- LIMIT 100
+ LIMIT 6
`;
[rows] = await DB.query(query);
@@ -269,14 +269,26 @@ class NodesApi {
let query: string;
if (full === false) {
query = `
- SELECT nodes.public_key as publicKey, IF(nodes.alias = '', SUBSTRING(nodes.public_key, 1, 20), alias) as alias,
- nodes.channels
+ SELECT
+ nodes.public_key as publicKey,
+ IF(nodes.alias = '', SUBSTRING(nodes.public_key, 1, 20), alias) as alias,
+ nodes.channels,
+ geo_names_city.names as city, geo_names_country.names as country,
+ geo_names_iso.names as iso_code, geo_names_subdivision.names as subdivision
FROM nodes
+ LEFT JOIN geo_names geo_names_country ON geo_names_country.id = nodes.country_id AND geo_names_country.type = 'country'
+ LEFT JOIN geo_names geo_names_city ON geo_names_city.id = nodes.city_id AND geo_names_city.type = 'city'
+ LEFT JOIN geo_names geo_names_iso ON geo_names_iso.id = nodes.country_id AND geo_names_iso.type = 'country_iso_code'
+ LEFT JOIN geo_names geo_names_subdivision on geo_names_subdivision.id = nodes.subdivision_id AND geo_names_subdivision.type = 'division'
ORDER BY channels DESC
- LIMIT 100;
+ LIMIT 6;
`;
[rows] = await DB.query(query);
+ for (let i = 0; i < rows.length; ++i) {
+ rows[i].country = JSON.parse(rows[i].country);
+ rows[i].city = JSON.parse(rows[i].city);
+ }
} else {
query = `
SELECT nodes.public_key AS publicKey, IF(nodes.alias = '', SUBSTRING(nodes.public_key, 1, 20), alias) as alias,
diff --git a/frontend/src/app/lightning/nodes-ranking/top-nodes-per-channels/top-nodes-per-channels.component.html b/frontend/src/app/lightning/nodes-ranking/top-nodes-per-channels/top-nodes-per-channels.component.html
index ccb6a48fe..538cae1c2 100644
--- a/frontend/src/app/lightning/nodes-ranking/top-nodes-per-channels/top-nodes-per-channels.component.html
+++ b/frontend/src/app/lightning/nodes-ranking/top-nodes-per-channels/top-nodes-per-channels.component.html
@@ -8,13 +8,13 @@
- Alias |
+ Alias |
Channels |
Capacity |
{{ currency$ | async }} |
First seen |
Last update |
- Location |
+ Location |
@@ -40,7 +40,7 @@
|
-
+ |
|
diff --git a/frontend/src/app/lightning/nodes-ranking/top-nodes-per-channels/top-nodes-per-channels.component.scss b/frontend/src/app/lightning/nodes-ranking/top-nodes-per-channels/top-nodes-per-channels.component.scss
index b7ed8cf04..ffde7c479 100644
--- a/frontend/src/app/lightning/nodes-ranking/top-nodes-per-channels/top-nodes-per-channels.component.scss
+++ b/frontend/src/app/lightning/nodes-ranking/top-nodes-per-channels/top-nodes-per-channels.component.scss
@@ -33,6 +33,9 @@ tr, td, th {
text-overflow: ellipsis;
overflow: hidden;
}
+.pool.widget {
+ width: 45%;
+}
.liquidity {
width: 10%;
diff --git a/frontend/src/app/lightning/nodes-ranking/top-nodes-per-channels/top-nodes-per-channels.component.ts b/frontend/src/app/lightning/nodes-ranking/top-nodes-per-channels/top-nodes-per-channels.component.ts
index f1740e5bc..79a6eb28f 100644
--- a/frontend/src/app/lightning/nodes-ranking/top-nodes-per-channels/top-nodes-per-channels.component.ts
+++ b/frontend/src/app/lightning/nodes-ranking/top-nodes-per-channels/top-nodes-per-channels.component.ts
@@ -28,7 +28,7 @@ export class TopNodesPerChannels implements OnInit {
ngOnInit(): void {
this.currency$ = this.stateService.fiatCurrency$;
- for (let i = 1; i <= (this.widget ? (isMobile() ? 8 : 6) : 100); ++i) {
+ for (let i = 1; i <= (this.widget ? 6 : 100); ++i) {
this.skeletonRows.push(i);
}
@@ -49,7 +49,16 @@ export class TopNodesPerChannels implements OnInit {
} else {
this.topNodesPerChannels$ = this.nodes$.pipe(
map((ranking) => {
- return ranking.topByChannels.slice(0, isMobile() ? 8 : 6);
+ for (const i in ranking.topByChannels) {
+ ranking.topByChannels[i].geolocation = {
+ country: ranking.topByChannels[i].country?.en,
+ city: ranking.topByChannels[i].city?.en,
+ subdivision: ranking.topByChannels[i].subdivision?.en,
+ iso: ranking.topByChannels[i].iso_code,
+ };
+ console.log(ranking.topByChannels[i].geolocation);
+ }
+ return ranking.topByChannels;
})
);
}
From a26dc977ba0783bc6beb492741c2f1a007531e4e Mon Sep 17 00:00:00 2001
From: nymkappa <1612910616@pm.me>
Date: Fri, 24 Feb 2023 14:20:16 +0900
Subject: [PATCH 04/10] Hide new columns when screen width is too small
---
.../top-nodes-per-capacity.component.html | 4 ++--
.../top-nodes-per-capacity.component.scss | 3 +++
.../top-nodes-per-channels.component.html | 6 +++---
.../top-nodes-per-channels.component.scss | 10 +++++-----
4 files changed, 13 insertions(+), 10 deletions(-)
diff --git a/frontend/src/app/lightning/nodes-ranking/top-nodes-per-capacity/top-nodes-per-capacity.component.html b/frontend/src/app/lightning/nodes-ranking/top-nodes-per-capacity/top-nodes-per-capacity.component.html
index a9e30705e..3efbc8594 100644
--- a/frontend/src/app/lightning/nodes-ranking/top-nodes-per-capacity/top-nodes-per-capacity.component.html
+++ b/frontend/src/app/lightning/nodes-ranking/top-nodes-per-capacity/top-nodes-per-capacity.component.html
@@ -10,7 +10,7 @@
Alias |
Liquidity |
- {{ currency$ | async }} |
+ {{ currency$ | async }} |
Channels |
First seen |
Last update |
@@ -28,7 +28,7 @@
|
-
+ |
|
diff --git a/frontend/src/app/lightning/nodes-ranking/top-nodes-per-capacity/top-nodes-per-capacity.component.scss b/frontend/src/app/lightning/nodes-ranking/top-nodes-per-capacity/top-nodes-per-capacity.component.scss
index b7ed8cf04..452122d8e 100644
--- a/frontend/src/app/lightning/nodes-ranking/top-nodes-per-capacity/top-nodes-per-capacity.component.scss
+++ b/frontend/src/app/lightning/nodes-ranking/top-nodes-per-capacity/top-nodes-per-capacity.component.scss
@@ -45,4 +45,7 @@ tr, td, th {
width: 15%;
font-family: monospace;
font-size: 14px;
+ @media (max-width: 991px) {
+ display: none !important;
+ }
}
diff --git a/frontend/src/app/lightning/nodes-ranking/top-nodes-per-channels/top-nodes-per-channels.component.html b/frontend/src/app/lightning/nodes-ranking/top-nodes-per-channels/top-nodes-per-channels.component.html
index 538cae1c2..4bab712a8 100644
--- a/frontend/src/app/lightning/nodes-ranking/top-nodes-per-channels/top-nodes-per-channels.component.html
+++ b/frontend/src/app/lightning/nodes-ranking/top-nodes-per-channels/top-nodes-per-channels.component.html
@@ -14,7 +14,7 @@
| {{ currency$ | async }} |
First seen |
Last update |
- Location |
+ Location |
@@ -26,7 +26,7 @@
- {{ node.channels | number }}
+ {{ node.channels ? (node.channels | number) : '~' }}
|
@@ -40,7 +40,7 @@
|
|
-
+ |
|
diff --git a/frontend/src/app/lightning/nodes-ranking/top-nodes-per-channels/top-nodes-per-channels.component.scss b/frontend/src/app/lightning/nodes-ranking/top-nodes-per-channels/top-nodes-per-channels.component.scss
index ffde7c479..eba9afee9 100644
--- a/frontend/src/app/lightning/nodes-ranking/top-nodes-per-channels/top-nodes-per-channels.component.scss
+++ b/frontend/src/app/lightning/nodes-ranking/top-nodes-per-channels/top-nodes-per-channels.component.scss
@@ -44,8 +44,8 @@ tr, td, th {
}
}
-.fiat {
- width: 15%;
- font-family: monospace;
- font-size: 14px;
-}
+.geolocation {
+ @media (max-width: 991px) {
+ display: none !important;
+ }
+}
\ No newline at end of file
From 7cee6df369533475c5ace2f043b25082f07115af Mon Sep 17 00:00:00 2001
From: nymkappa <1612910616@pm.me>
Date: Fri, 24 Feb 2023 17:47:33 +0900
Subject: [PATCH 05/10] Remove console.log
---
.../top-nodes-per-channels/top-nodes-per-channels.component.ts | 1 -
1 file changed, 1 deletion(-)
diff --git a/frontend/src/app/lightning/nodes-ranking/top-nodes-per-channels/top-nodes-per-channels.component.ts b/frontend/src/app/lightning/nodes-ranking/top-nodes-per-channels/top-nodes-per-channels.component.ts
index 79a6eb28f..cd5796664 100644
--- a/frontend/src/app/lightning/nodes-ranking/top-nodes-per-channels/top-nodes-per-channels.component.ts
+++ b/frontend/src/app/lightning/nodes-ranking/top-nodes-per-channels/top-nodes-per-channels.component.ts
@@ -56,7 +56,6 @@ export class TopNodesPerChannels implements OnInit {
subdivision: ranking.topByChannels[i].subdivision?.en,
iso: ranking.topByChannels[i].iso_code,
};
- console.log(ranking.topByChannels[i].geolocation);
}
return ranking.topByChannels;
})
From 98e709b739ab95bad3f78358549393f3c1441a85 Mon Sep 17 00:00:00 2001
From: nymkappa <1612910616@pm.me>
Date: Fri, 24 Feb 2023 17:49:06 +0900
Subject: [PATCH 06/10] Remove monospace from fiat amount
---
.../top-nodes-per-capacity.component.scss | 2 --
.../top-nodes-per-channels/top-nodes-per-channels.component.ts | 1 -
2 files changed, 3 deletions(-)
diff --git a/frontend/src/app/lightning/nodes-ranking/top-nodes-per-capacity/top-nodes-per-capacity.component.scss b/frontend/src/app/lightning/nodes-ranking/top-nodes-per-capacity/top-nodes-per-capacity.component.scss
index 452122d8e..787f64f30 100644
--- a/frontend/src/app/lightning/nodes-ranking/top-nodes-per-capacity/top-nodes-per-capacity.component.scss
+++ b/frontend/src/app/lightning/nodes-ranking/top-nodes-per-capacity/top-nodes-per-capacity.component.scss
@@ -43,8 +43,6 @@ tr, td, th {
.fiat {
width: 15%;
- font-family: monospace;
- font-size: 14px;
@media (max-width: 991px) {
display: none !important;
}
diff --git a/frontend/src/app/lightning/nodes-ranking/top-nodes-per-channels/top-nodes-per-channels.component.ts b/frontend/src/app/lightning/nodes-ranking/top-nodes-per-channels/top-nodes-per-channels.component.ts
index cd5796664..62f461c6c 100644
--- a/frontend/src/app/lightning/nodes-ranking/top-nodes-per-channels/top-nodes-per-channels.component.ts
+++ b/frontend/src/app/lightning/nodes-ranking/top-nodes-per-channels/top-nodes-per-channels.component.ts
@@ -2,7 +2,6 @@ import { ChangeDetectionStrategy, Component, Input, OnInit } from '@angular/core
import { map, Observable } from 'rxjs';
import { StateService } from 'src/app/services/state.service';
import { INodesRanking, ITopNodesPerChannels } from '../../../interfaces/node-api.interface';
-import { isMobile } from '../../../shared/common.utils';
import { GeolocationData } from '../../../shared/components/geolocation/geolocation.component';
import { LightningApiService } from '../../lightning-api.service';
From 92862939dace11804d366e48607b2ede15c49a29 Mon Sep 17 00:00:00 2001
From: nymkappa <1612910616@pm.me>
Date: Fri, 24 Feb 2023 20:25:28 +0900
Subject: [PATCH 07/10] Make sure we don't show more than 6 rows in channel
ranking widget
---
.../top-nodes-per-channels/top-nodes-per-channels.component.ts | 2 +-
1 file changed, 1 insertion(+), 1 deletion(-)
diff --git a/frontend/src/app/lightning/nodes-ranking/top-nodes-per-channels/top-nodes-per-channels.component.ts b/frontend/src/app/lightning/nodes-ranking/top-nodes-per-channels/top-nodes-per-channels.component.ts
index 62f461c6c..ce6436ce3 100644
--- a/frontend/src/app/lightning/nodes-ranking/top-nodes-per-channels/top-nodes-per-channels.component.ts
+++ b/frontend/src/app/lightning/nodes-ranking/top-nodes-per-channels/top-nodes-per-channels.component.ts
@@ -56,7 +56,7 @@ export class TopNodesPerChannels implements OnInit {
iso: ranking.topByChannels[i].iso_code,
};
}
- return ranking.topByChannels;
+ return ranking.topByChannels.slice(0, 6);
})
);
}
From 80e0ef8970d39617008c45487dfb91f099cf02fd Mon Sep 17 00:00:00 2001
From: nymkappa <1612910616@pm.me>
Date: Sat, 25 Feb 2023 13:20:49 +0900
Subject: [PATCH 08/10] Improve responsiveness on single column layout
---
.../top-nodes-per-capacity.component.scss | 9 ++++++---
.../top-nodes-per-channels.component.scss | 5 ++++-
2 files changed, 10 insertions(+), 4 deletions(-)
diff --git a/frontend/src/app/lightning/nodes-ranking/top-nodes-per-capacity/top-nodes-per-capacity.component.scss b/frontend/src/app/lightning/nodes-ranking/top-nodes-per-capacity/top-nodes-per-capacity.component.scss
index 787f64f30..3547c447f 100644
--- a/frontend/src/app/lightning/nodes-ranking/top-nodes-per-capacity/top-nodes-per-capacity.component.scss
+++ b/frontend/src/app/lightning/nodes-ranking/top-nodes-per-capacity/top-nodes-per-capacity.component.scss
@@ -19,7 +19,7 @@ tr, td, th {
.pool {
width: 15%;
- @media (max-width: 576px) {
+ @media (max-width: 575px) {
width: 75%;
}
overflow: hidden;
@@ -36,14 +36,17 @@ tr, td, th {
.liquidity {
width: 10%;
- @media (max-width: 576px) {
+ @media (max-width: 575px) {
width: 25%;
}
}
.fiat {
width: 15%;
- @media (max-width: 991px) {
+ @media (min-width: 768px) and (max-width: 991px) {
+ display: none !important;
+ }
+ @media (max-width: 575px) {
display: none !important;
}
}
diff --git a/frontend/src/app/lightning/nodes-ranking/top-nodes-per-channels/top-nodes-per-channels.component.scss b/frontend/src/app/lightning/nodes-ranking/top-nodes-per-channels/top-nodes-per-channels.component.scss
index eba9afee9..a42599d69 100644
--- a/frontend/src/app/lightning/nodes-ranking/top-nodes-per-channels/top-nodes-per-channels.component.scss
+++ b/frontend/src/app/lightning/nodes-ranking/top-nodes-per-channels/top-nodes-per-channels.component.scss
@@ -45,7 +45,10 @@ tr, td, th {
}
.geolocation {
- @media (max-width: 991px) {
+ @media (min-width: 768px) and (max-width: 991px) {
+ display: none !important;
+ }
+ @media (max-width: 575px) {
display: none !important;
}
}
\ No newline at end of file
From f09a2aab241da0c8018b614db44d880537645103 Mon Sep 17 00:00:00 2001
From: Mononaut
Date: Tue, 28 Feb 2023 21:30:20 -0600
Subject: [PATCH 09/10] Reset scrolling blockchain cache when network changes
---
frontend/src/app/services/cache.service.ts | 25 +++++++++++++++++-----
1 file changed, 20 insertions(+), 5 deletions(-)
diff --git a/frontend/src/app/services/cache.service.ts b/frontend/src/app/services/cache.service.ts
index 15ef99859..5eefd6e0a 100644
--- a/frontend/src/app/services/cache.service.ts
+++ b/frontend/src/app/services/cache.service.ts
@@ -17,6 +17,7 @@ export class CacheService {
txCache: { [txid: string]: Transaction } = {};
+ network: string;
blockCache: { [height: number]: BlockExtended } = {};
blockLoading: { [height: number]: boolean } = {};
copiesInBlockQueue: { [height: number]: number } = {};
@@ -33,6 +34,10 @@ export class CacheService {
this.stateService.chainTip$.subscribe((height) => {
this.tip = height;
});
+ this.stateService.networkChanged$.subscribe((network) => {
+ this.network = network;
+ this.resetBlockCache();
+ });
}
setTxCache(transactions) {
@@ -68,15 +73,17 @@ export class CacheService {
} catch (e) {
console.log("failed to load blocks: ", e.message);
}
- for (let i = 0; i < chunkSize; i++) {
- delete this.blockLoading[maxHeight - i];
- }
if (result && result.length) {
result.forEach(block => {
- this.addBlockToCache(block);
- this.loadedBlocks$.next(block);
+ if (this.blockLoading[block.height]) {
+ this.addBlockToCache(block);
+ this.loadedBlocks$.next(block);
+ }
});
}
+ for (let i = 0; i < chunkSize; i++) {
+ delete this.blockLoading[maxHeight - i];
+ }
this.clearBlocks();
} else {
this.bumpBlockPriority(height);
@@ -104,6 +111,14 @@ export class CacheService {
}
}
+ // remove all blocks from the cache
+ resetBlockCache() {
+ this.blockCache = {};
+ this.blockLoading = {};
+ this.copiesInBlockQueue = {};
+ this.blockPriorities = [];
+ }
+
getCachedBlock(height) {
return this.blockCache[height];
}
From af2e3cb42a33a873c24e54cbe6f89de7464f608f Mon Sep 17 00:00:00 2001
From: Mononaut
Date: Tue, 28 Feb 2023 21:36:16 -0600
Subject: [PATCH 10/10] Center-align blockchain after resetting scroll
---
frontend/src/app/components/start/start.component.ts | 1 +
1 file changed, 1 insertion(+)
diff --git a/frontend/src/app/components/start/start.component.ts b/frontend/src/app/components/start/start.component.ts
index c7b8a83bc..0855cad05 100644
--- a/frontend/src/app/components/start/start.component.ts
+++ b/frontend/src/app/components/start/start.component.ts
@@ -267,6 +267,7 @@ export class StartComponent implements OnInit, OnDestroy {
resetScroll(): void {
this.scrollToBlock(this.chainTip);
+ this.blockchainContainer.nativeElement.scrollLeft = 0;
}
getPageIndexOf(height: number): number {