import { Component, OnInit } from "@angular/core";
import { NgbModal } from "@ng-bootstrap/ng-bootstrap";
import { FormBuilder, FormGroup, Validators } from "@angular/forms";
import { User } from "../users/user";
import { Router } from "@angular/router";
import { CourseService } from "src/app/service/course.service";
import { DocumentService } from "src/app/service/document.service";
import { ExcelService } from "src/app/service/excel.service";

@Component({
  selector: "app-portal-category-list-approve",
  templateUrl: "./portal-category-list-approve.component.html",
  styleUrls: ["./portal-category-list-approve.component.scss"],
})
export class PortalCategoryListApproveComponent implements OnInit {
  constructor(
    private modalService: NgbModal,
    private router:Router,
    private excelService:ExcelService,private documentService:DocumentService,private courseService:CourseService
  ) {}

  page = 1;
  pageSize = 7;

  testdata: {
    id:string
    img: String;
    name: String;
    details: String;
    document: String;
  }[] = [];

  ngOnInit() {

    this.testdata = [
      {
        id:'1',
        img: "assets/images/icon/excel.png",
        name: "Excel",
        details: "xxxxxxxxxxxxxxxxxxxxxxxxxxx",
        document: "0"
      },
      {
        id:'2',
        img: "assets/images/icon/document.png",
        name: "Document",
        details: "xxxxxxxxxxxxxxxxxxxxxxxxxxx",
        document: "0"
      },
      {
        id:'3',
        img: "assets/images/icon/course.png",
        name: "Course",
        details: "xxxxxxxxxxxxxxxxxxxxxxxxxxx",
        document: "0"
      },
    ];
    this.getListCount();

  }
  openView(id:string){
    if(id =='1'){
      this.router.navigate(['apps/approve-excel']);
    } else if(id =='2'){
      this.router.navigate(['apps/approve-doc']);
    }else if(id =='3'){
      this.router.navigate(['apps/approve-course']);
    }
  }
  async getListCount(){
    try {
      const countExcel = await this.excelService.getCount().toPromise();
      const countDoc = await this.documentService.getCount().toPromise();
      const countCourse = await this.courseService.getCount().toPromise();
      this.testdata.forEach((x ,i) => {
        if(i == 0){
          x.document = countExcel.toString()
        }else if(i == 1){
          x.document = countDoc.toString()
        }else if(i == 2){
          x.document = countCourse.toString()
        }
      })
    } catch (error) {
      console.error('Error loading data:', error);
    }
  }
  openModal(targetModal: NgbModal) {
    this.modalService.open(targetModal, {
      centered: true,
      backdrop: "static",
    });
  }

  closeBtnClick() {
    this.modalService.dismissAll();
  }

  routerLink(path: String, type: String){
    this.router.navigate([path,{type:type}])
  }

}
