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 authored and Felipe Knorr Kuhn committed 2021-09-02 00:47:00 -07:00
1 parent 645986b7fc
commit 70ae94d16f
1 file changed
+12 -4
@@ -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();
}
}
}