From 51bf4f769f10348da45d4e95de7f88c21ad56192 Mon Sep 17 00:00:00 2001 From: nymkappa Date: Wed, 7 Sep 2022 10:05:22 +0200 Subject: [PATCH] Fix missing seo in lightning pages --- .../src/app/lightning/channel/channel.component.ts | 6 ++++-- .../nodes-per-isp-chart.component.ts | 4 +++- .../oldest-nodes/oldest-nodes.component.ts | 10 +++++++++- .../top-nodes-per-capacity.component.ts | 10 +++++++++- .../top-nodes-per-channels.component.ts | 10 +++++++++- 5 files changed, 34 insertions(+), 6 deletions(-) diff --git a/frontend/src/app/lightning/channel/channel.component.ts b/frontend/src/app/lightning/channel/channel.component.ts index b1e39dda7..c6d06683a 100644 --- a/frontend/src/app/lightning/channel/channel.component.ts +++ b/frontend/src/app/lightning/channel/channel.component.ts @@ -1,7 +1,7 @@ import { ChangeDetectionStrategy, Component, OnInit } from '@angular/core'; import { ActivatedRoute, ParamMap } from '@angular/router'; import { Observable, of, zip } from 'rxjs'; -import { catchError, map, shareReplay, switchMap } from 'rxjs/operators'; +import { catchError, map, shareReplay, switchMap, tap } from 'rxjs/operators'; import { IChannel } from 'src/app/interfaces/node-api.interface'; import { ElectrsApiService } from 'src/app/services/electrs-api.service'; import { SeoService } from 'src/app/services/seo.service'; @@ -31,9 +31,11 @@ export class ChannelComponent implements OnInit { .pipe( switchMap((params: ParamMap) => { this.error = null; - this.seoService.setTitle(`Channel: ${params.get('short_id')}`); return this.lightningApiService.getChannel$(params.get('short_id')) .pipe( + tap((value) => { + this.seoService.setTitle(`Channel: ${value.short_id}`); + }), catchError((err) => { this.error = err; return of(null); diff --git a/frontend/src/app/lightning/nodes-per-isp-chart/nodes-per-isp-chart.component.ts b/frontend/src/app/lightning/nodes-per-isp-chart/nodes-per-isp-chart.component.ts index c60620f61..5fe0d3bf3 100644 --- a/frontend/src/app/lightning/nodes-per-isp-chart/nodes-per-isp-chart.component.ts +++ b/frontend/src/app/lightning/nodes-per-isp-chart/nodes-per-isp-chart.component.ts @@ -47,7 +47,9 @@ export class NodesPerISPChartComponent implements OnInit { } ngOnInit(): void { - this.seoService.setTitle($localize`Lightning nodes per ISP`); + if (!this.widget) { + this.seoService.setTitle($localize`Lightning nodes per ISP`); + } this.nodesPerAsObservable$ = combineLatest([ this.sortBySubject.pipe(startWith(true)), diff --git a/frontend/src/app/lightning/nodes-ranking/oldest-nodes/oldest-nodes.component.ts b/frontend/src/app/lightning/nodes-ranking/oldest-nodes/oldest-nodes.component.ts index e97acd80b..d1cec0780 100644 --- a/frontend/src/app/lightning/nodes-ranking/oldest-nodes/oldest-nodes.component.ts +++ b/frontend/src/app/lightning/nodes-ranking/oldest-nodes/oldest-nodes.component.ts @@ -1,6 +1,7 @@ import { ChangeDetectionStrategy, Component, Input, OnInit } from '@angular/core'; import { map, Observable } from 'rxjs'; import { GeolocationData } from 'src/app/shared/components/geolocation/geolocation.component'; +import { SeoService } from 'src/app/services/seo.service'; import { IOldestNodes } from '../../../interfaces/node-api.interface'; import { LightningApiService } from '../../lightning-api.service'; @@ -16,9 +17,16 @@ export class OldestNodes implements OnInit { oldestNodes$: Observable; skeletonRows: number[] = []; - constructor(private apiService: LightningApiService) {} + constructor( + private apiService: LightningApiService, + private seoService: SeoService + ) {} ngOnInit(): void { + if (!this.widget) { + this.seoService.setTitle($localize`Oldest lightning nodes`); + } + for (let i = 1; i <= (this.widget ? 10 : 100); ++i) { this.skeletonRows.push(i); } diff --git a/frontend/src/app/lightning/nodes-ranking/top-nodes-per-capacity/top-nodes-per-capacity.component.ts b/frontend/src/app/lightning/nodes-ranking/top-nodes-per-capacity/top-nodes-per-capacity.component.ts index 595688690..ad396ee31 100644 --- a/frontend/src/app/lightning/nodes-ranking/top-nodes-per-capacity/top-nodes-per-capacity.component.ts +++ b/frontend/src/app/lightning/nodes-ranking/top-nodes-per-capacity/top-nodes-per-capacity.component.ts @@ -1,6 +1,7 @@ import { ChangeDetectionStrategy, Component, Input, OnInit } from '@angular/core'; import { map, Observable } from 'rxjs'; import { INodesRanking, ITopNodesPerCapacity } from 'src/app/interfaces/node-api.interface'; +import { SeoService } from 'src/app/services/seo.service'; import { isMobile } from 'src/app/shared/common.utils'; import { GeolocationData } from 'src/app/shared/components/geolocation/geolocation.component'; import { LightningApiService } from '../../lightning-api.service'; @@ -18,9 +19,16 @@ export class TopNodesPerCapacity implements OnInit { topNodesPerCapacity$: Observable; skeletonRows: number[] = []; - constructor(private apiService: LightningApiService) {} + constructor( + private apiService: LightningApiService, + private seoService: SeoService + ) {} ngOnInit(): void { + if (!this.widget) { + this.seoService.setTitle($localize`Liquidity Ranking`); + } + for (let i = 1; i <= (this.widget ? (isMobile() ? 8 : 7) : 100); ++i) { this.skeletonRows.push(i); } 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 ee4b159c0..f8a2ae52b 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,6 +1,7 @@ import { ChangeDetectionStrategy, Component, Input, OnInit } from '@angular/core'; import { map, Observable } from 'rxjs'; import { INodesRanking, ITopNodesPerChannels } from 'src/app/interfaces/node-api.interface'; +import { SeoService } from 'src/app/services/seo.service'; import { isMobile } from 'src/app/shared/common.utils'; import { GeolocationData } from 'src/app/shared/components/geolocation/geolocation.component'; import { LightningApiService } from '../../lightning-api.service'; @@ -18,9 +19,16 @@ export class TopNodesPerChannels implements OnInit { topNodesPerChannels$: Observable; skeletonRows: number[] = []; - constructor(private apiService: LightningApiService) {} + constructor( + private apiService: LightningApiService, + private seoService: SeoService + ) {} ngOnInit(): void { + if (!this.widget) { + this.seoService.setTitle($localize`Connectivity Ranking`); + } + for (let i = 1; i <= (this.widget ? (isMobile() ? 8 : 7) : 100); ++i) { this.skeletonRows.push(i); }