Add a potential fix for the memory leak on the Dashboard

Fix the broken experience after unsubscribing for network changes

Fix the broken experience after unsubscribing for network changes
This commit is contained in:
Felipe Knorr Kuhn 2021-08-31 13:04:38 -07:00 committed by Felipe Knorr Kuhn
parent 645986b7fc
commit 70ae94d16f

View File

@ -1,6 +1,6 @@
import { Component, OnInit, Input, ChangeDetectionStrategy } from '@angular/core';
import { Component, OnInit, OnDestroy, Input, ChangeDetectionStrategy } from '@angular/core';
import { StateService } from '../../services/state.service';
import { Observable } from 'rxjs';
import { Observable, Subscription } from 'rxjs';
@Component({
selector: 'app-amount',
@ -8,11 +8,13 @@ import { Observable } from 'rxjs';
styleUrls: ['./amount.component.scss'],
changeDetection: ChangeDetectionStrategy.OnPush,
})
export class AmountComponent implements OnInit {
export class AmountComponent implements OnInit, OnDestroy {
conversions$: Observable<any>;
viewFiat$: Observable<boolean>;
network = '';
stateSubscription: Subscription;
@Input() satoshis: number;
@Input() digitsInfo = '1.8-8';
@Input() noFiat = false;
@ -24,7 +26,13 @@ export class AmountComponent implements OnInit {
ngOnInit() {
this.viewFiat$ = this.stateService.viewFiat$.asObservable();
this.conversions$ = this.stateService.conversions$.asObservable();
this.stateService.networkChanged$.subscribe((network) => this.network = network);
this.stateSubscription = this.stateService.networkChanged$.subscribe((network) => this.network = network);
}
ngOnDestroy() {
if (this.stateSubscription) {
this.stateSubscription.unsubscribe();
}
}
}