import { Component, OnInit } from '@angular/core';
import { FormsModule } from '@angular/forms';
import { CommonModule } from '@angular/common';
import { RouterModule } from '@angular/router';
import { HistoricoService } from '../../services/historico.service';
import { Historico } from '../../models/historico.model';
import { AuthService, User } from '../../services/auth.service';


@Component({
  selector: 'app-listar-usuarios',
  standalone: true,
  imports: [
    FormsModule,
    CommonModule,
    RouterModule,
  ],
  templateUrl: './historico.component.html',
  styleUrls: ['./historico.component.css']
})

export class HistoricoComponent implements OnInit {
  checkins: any[] = [];
  humorEmojis: { [key: string]: string } = {
    "1": "😡",
    "2": "😔",
    "3": "😐",
    "4": "🙂",
    "5": "😁",
  };

  constructor(
      private historicoService: HistoricoService,
      private authService: AuthService,
    ) {}

    ngOnInit() {
      const funcionarioId = this.getFuncionarioIdLogado();
      if (funcionarioId !== undefined) {
        this.historicoService.getHistorico(funcionarioId).subscribe(
          (dados) => {
            this.checkins = dados;  
          },
          (erro) => {
            console.error('Erro ao carregar o histórico de check-ins', erro);
          }
        );
      } else {
        console.error('Funcionário não está logado ou ID não encontrado.');
      }
    }

    private getFuncionarioIdLogado(): number | undefined {
    let userId: number | undefined;
    this.authService.currentUser.subscribe((user) => {
      userId = user?.id;
    }).unsubscribe();
    return userId;
    }

  formatarData(dataISO: string): string {
    const data = new Date(dataISO);
    const dia = String(data.getDate()).padStart(2, '0');
    const mes = String(data.getMonth() + 1).padStart(2, '0');
    const ano = data.getFullYear();
    return `${dia}/${mes}/${ano}`;
  }

  ehHoje(dataString: string): boolean {
    const hoje = new Date();
    const data = new Date(dataString);
  
    return data.getDate() === hoje.getDate() &&
           data.getMonth() === hoje.getMonth() &&
           data.getFullYear() === hoje.getFullYear();
  }
    
}
