// Angular Core
import { Component, OnInit } from '@angular/core';
import { Router } from '@angular/router';

// Services
import { SessionService } from 'src/app/services/session/session.service';
import { SessionDataInterface } from 'src/app/interfaces/session-data-interface';
import { environment } from 'src/environments/environment';

@Component({
  standalone: false,
  selector: 'app-page-not-found',
  templateUrl: './page-not-found.component.html',
  styleUrls: ['./page-not-found.component.scss']
})
export class PageNotFoundComponent implements OnInit {
  session!: SessionDataInterface['data'];
  imgUrl: string = environment.imageUrl;
  renderMe!: boolean;
  constructor(private sessionService: SessionService, private router: Router) { }

  ngOnInit(): void {
     this.renderMe = false; 
     this.checkSession();
  }

  /**
   * Check user session if user not loggedin then navigate to login page
  */
  checkSession() {
    return new Promise((resolve) => {
      var r = this.sessionService.get();
      r.then(() => {
        this.session = this.sessionService.getSession();
        if (!this.session.logged_in) {
            this.router.navigate(['/market/login']);
        }
        this.renderMe = true; 
      });
    });
  };
}
