/**
 * @license
 * Copyright Akveo. All Rights Reserved.
 * Licensed under the MIT License. See License.txt in the project root for license information.
 */

import { Component, OnDestroy, Input } from '@angular/core';
import { NbMediaBreakpoint, NbMediaBreakpointsService, NbThemeService } from '@nebular/theme';
import { takeWhile } from 'rxjs/operators';

@Component({
  selector: 'ngx-landing-main-info',
  templateUrl: './main-info-section.component.html',
  styleUrls: ['./main-info-section.component.scss'],
})
export class MainInfoSectionComponent implements OnDestroy {
  constructor(themeService: NbThemeService, breakpointService: NbMediaBreakpointsService) {
    this.breakpoints = breakpointService.getBreakpointsMap();
    themeService.onMediaQueryChange()
      .pipe(takeWhile(() => this.alive))
      .subscribe(([oldValue, newValue]) => {
        this.breakpoint = newValue;
      });
  }

  private alive = true;
  public forMaterialTheme: boolean = false;
  public readonly breakpoints: any;
  public breakpoint: NbMediaBreakpoint;

  @Input() public set material(value: any) {
    this.forMaterialTheme = (value);
  }

  public get imageUrl(): string {
    return this.forMaterialTheme !== false
      ? 'assets/img/ngx-admin-material.jpg'
      : 'assets/img/ngx-admin.png';
  }

  public ngOnDestroy() {
    this.alive = false;
  }
}
