50 lines
1.6 KiB
TypeScript
50 lines
1.6 KiB
TypeScript
import { Component, OnInit } from '@angular/core';
|
|
import { Env, StateService } from '../../services/state.service';
|
|
import { Observable, merge, of } from 'rxjs';
|
|
import { LanguageService } from '../../services/language.service';
|
|
import { EnterpriseService } from '../../services/enterprise.service';
|
|
import { NavigationService } from '../../services/navigation.service';
|
|
|
|
@Component({
|
|
selector: 'app-master-page',
|
|
templateUrl: './master-page.component.html',
|
|
styleUrls: ['./master-page.component.scss'],
|
|
})
|
|
export class MasterPageComponent implements OnInit {
|
|
env: Env;
|
|
network$: Observable<string>;
|
|
connectionState$: Observable<number>;
|
|
navCollapsed = false;
|
|
isMobile = window.innerWidth <= 767.98;
|
|
officialMempoolSpace = this.stateService.env.OFFICIAL_MEMPOOL_SPACE;
|
|
urlLanguage: string;
|
|
subdomain = '';
|
|
networkPaths: { [network: string]: string };
|
|
|
|
constructor(
|
|
public stateService: StateService,
|
|
private languageService: LanguageService,
|
|
private enterpriseService: EnterpriseService,
|
|
private navigationService: NavigationService,
|
|
) { }
|
|
|
|
ngOnInit() {
|
|
this.env = this.stateService.env;
|
|
this.connectionState$ = this.stateService.connectionState$;
|
|
this.network$ = merge(of(''), this.stateService.networkChanged$);
|
|
this.urlLanguage = this.languageService.getLanguageForUrl();
|
|
this.subdomain = this.enterpriseService.getSubdomain();
|
|
this.navigationService.subnetPaths.subscribe((paths) => {
|
|
this.networkPaths = paths;
|
|
});
|
|
}
|
|
|
|
collapse(): void {
|
|
this.navCollapsed = !this.navCollapsed;
|
|
}
|
|
|
|
onResize(event: any) {
|
|
this.isMobile = window.innerWidth <= 767.98;
|
|
}
|
|
}
|