Allow /tv view timespan to be changed through url fragment

This commit is contained in:
nymkappa 2022-02-02 17:49:38 +09:00
parent 4b6ff5e776
commit c9ad316ed5
No known key found for this signature in database
GPG Key ID: E155910B16E8BD04

View File

@ -4,7 +4,8 @@ import { OptimizedMempoolStats } from '../../interfaces/node-api.interface';
import { StateService } from 'src/app/services/state.service';
import { ApiService } from 'src/app/services/api.service';
import { SeoService } from 'src/app/services/seo.service';
import { Observable } from 'rxjs';
import { ActivatedRoute } from '@angular/router';
import { switchMap } from 'rxjs/operators';
@Component({
selector: 'app-television',
@ -21,13 +22,30 @@ export class TelevisionComponent implements OnInit {
private apiService: ApiService,
private stateService: StateService,
private seoService: SeoService,
private route: ActivatedRoute
) { }
ngOnInit() {
this.seoService.setTitle($localize`:@@46ce8155c9ab953edeec97e8950b5a21e67d7c4e:TV view`);
this.websocketService.want(['blocks', 'live-2h-chart', 'mempool-blocks']);
this.apiService.list2HStatistics$()
this.route.fragment
.pipe(
switchMap(() => {
switch (this.route.snapshot.fragment) {
case '2h': return this.apiService.list2HStatistics$();
case '24h': return this.apiService.list24HStatistics$();
case '1w': return this.apiService.list1WStatistics$();
case '1m': return this.apiService.list1MStatistics$();
case '3m': return this.apiService.list3MStatistics$();
case '6m': return this.apiService.list6MStatistics$();
case '1y': return this.apiService.list1YStatistics$();
case '2y': return this.apiService.list2YStatistics$();
case '3y': return this.apiService.list3YStatistics$();
default: return this.apiService.list2HStatistics$();
}
})
)
.subscribe((mempoolStats) => {
this.mempoolStats = mempoolStats;
});