From e5973b7b05aadaea2cb3bd28282c92e92e4cb896 Mon Sep 17 00:00:00 2001 From: hunicus <93150691+hunicus@users.noreply.github.com> Date: Tue, 13 May 2025 19:31:31 -0400 Subject: [PATCH] Get correct backend property To detect electrum backends. --- .../src/app/docs/api-docs/api-docs-nav.component.ts | 12 +++++++++++- frontend/src/app/docs/api-docs/api-docs.component.ts | 4 +++- 2 files changed, 14 insertions(+), 2 deletions(-) diff --git a/frontend/src/app/docs/api-docs/api-docs-nav.component.ts b/frontend/src/app/docs/api-docs/api-docs-nav.component.ts index 7ff37ba24..c3640dfe3 100644 --- a/frontend/src/app/docs/api-docs/api-docs-nav.component.ts +++ b/frontend/src/app/docs/api-docs/api-docs-nav.component.ts @@ -1,5 +1,7 @@ import { Component, OnInit, Input, Output, EventEmitter } from '@angular/core'; import { Env, StateService } from '@app/services/state.service'; +import { Subject, Subscription } from 'rxjs'; +import { takeUntil } from 'rxjs/operators'; import { restApiDocsData, wsApiDocsData } from '@app/docs/api-docs/api-docs-data'; import { faqData } from '@app/docs/api-docs/api-docs-data'; @@ -13,6 +15,7 @@ export class ApiDocsNavComponent implements OnInit { @Input() network: any; @Input() whichTab: string; @Output() navLinkClickEvent: EventEmitter = new EventEmitter(); + private destroy$: Subject = new Subject(); env: Env; tabData: any[]; auditEnabled: boolean; @@ -26,7 +29,9 @@ export class ApiDocsNavComponent implements OnInit { ngOnInit(): void { this.env = this.stateService.env; this.officialMempoolInstance = this.env.OFFICIAL_MEMPOOL_SPACE; - this.runningElectrs = !!(this.stateService.backend == 'esplora'); + this.stateService.backend$.pipe(takeUntil(this.destroy$)).subscribe((backend) => { + this.runningElectrs = !!(backend == 'esplora'); + }); this.auditEnabled = this.env.AUDIT; if (this.whichTab === 'rest') { this.tabData = restApiDocsData; @@ -42,4 +47,9 @@ export class ApiDocsNavComponent implements OnInit { this.navLinkClickEvent.emit({event: event, fragment: fragment}); } + ngOnDestroy(): void { + this.destroy$.next(true); + this.destroy$.complete(); + } + } diff --git a/frontend/src/app/docs/api-docs/api-docs.component.ts b/frontend/src/app/docs/api-docs/api-docs.component.ts index f7a5addf3..7fed8c53b 100644 --- a/frontend/src/app/docs/api-docs/api-docs.component.ts +++ b/frontend/src/app/docs/api-docs/api-docs.component.ts @@ -71,7 +71,9 @@ export class ApiDocsComponent implements OnInit, AfterViewInit { ngOnInit(): void { this.env = this.stateService.env; this.officialMempoolInstance = this.env.OFFICIAL_MEMPOOL_SPACE; - this.runningElectrs = !!(this.stateService.backend == 'esplora'); + this.stateService.backend$.pipe(takeUntil(this.destroy$)).subscribe((backend) => { + this.runningElectrs = !!(backend == 'esplora'); + }); this.auditEnabled = this.env.AUDIT; this.network$ = merge(of(''), this.stateService.networkChanged$).pipe( tap((network: string) => {