app.component.ts 1.7 KB
Newer Older
XFT's avatar
.  
XFT committed
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64
import { ChangeDetectionStrategy, ChangeDetectorRef, Component, OnInit } from '@angular/core';
import { WalletService } from './core/services/wallet.service';
import { selectAccountAddress } from './core/selectors';
import { BaseComponent } from './base.component';
import { Store } from '@ngrx/store';
import { Observable } from 'rxjs';
import { BreakpointObserver, Breakpoints } from '@angular/cdk/layout'
import { MenuItem } from 'primeng/api'

@Component({
  selector: 'os-root',
  templateUrl: './app.component.html',
  styleUrls: ['./app.component.scss'],
  changeDetection: ChangeDetectionStrategy.OnPush,
})
export class AppComponent extends BaseComponent implements OnInit {
  public accountAddress$: Observable<string>;
  public isPhonePortrait = false;
  public hideNavBar = false;
  public menuItems: MenuItem[];

  constructor(
    store: Store,
    private readonly _cdr: ChangeDetectorRef,
    private readonly _walletService: WalletService,
    private responsive: BreakpointObserver
  ) {
    super(store);

    this.accountAddress$ = this.store.select(selectAccountAddress);
  }
  ngOnInit(): void {
    this.responsive.observe([
      Breakpoints.HandsetPortrait
    ])
      .subscribe(result => {

        this.isPhonePortrait = false;

        if (result.matches) {
          this.isPhonePortrait = true;
          this.hideNavBar = true;
        }
      })
      this.menuItems = [
        {
          label: 'Shift',
          routerLink: '/shift'
        },
        {
          label: 'Vault',
          routerLink: '/vault'
        },
        {
          label: 'Token Swap',
          routerLink: '/swap'
        },
        {
          label: 'LP Staking',
          routerLink: '/stake'
        }
      ]
  }
}