import { CommonModule } from '@angular/common';
import { Component, ViewChild } from '@angular/core';
import { FormControl, FormGroup, FormsModule, ReactiveFormsModule } from '@angular/forms';
import { TranslateModule } from '@ngx-translate/core';
import { PasswordHideShowComponent } from '../../shared/components/password-hide-show/password-hide-show.component';
import { StorageService } from '../../shared/services/storage.service';
import { Router } from '@angular/router';

@Component({
  selector: 'app-change-password',
  imports: [TranslateModule, FormsModule, ReactiveFormsModule, CommonModule, PasswordHideShowComponent,],
  templateUrl: './change-password.component.html',
  styleUrl: './change-password.component.scss'
})

export class ChangePasswordComponent{
  isFirstLogin = false;
  loginForm!: FormGroup;
  currentLanguage = new FormControl();
  httpService: any;
  constructor(private storageService: StorageService, private router: Router){}
onLangChange() {
throw new Error('Method not implemented.');
}
passwordType: string = 'password';
passwordType1: string = 'password';
passwordType2: string = 'password';

@ViewChild('psh') passwordHideShow?: PasswordHideShowComponent;
@ViewChild('psh1') passwordHideShow1 ?: PasswordHideShowComponent;
@ViewChild('psh2') passwordHideShow2 ?: PasswordHideShowComponent;

 togglePasswordType() {
    this.passwordType = this.passwordHideShow?.showPassword ? 'password' : 'text';
  }
 togglePasswordType1() {
    this.passwordType1 = this.passwordHideShow1?.showPassword ? 'password' : 'text';
  }
 togglePasswordType2() {
    this.passwordType2 = this.passwordHideShow2?.showPassword ? 'password' : 'text';
  }

   ngOnInit(): void {
    // Call the method to check if first-time login
    this.checkIfFirstTimeChangePasswordOrNot();
  }

  checkIfFirstTimeChangePasswordOrNot() {
    const fromMenu = history.state?.['fromMenu'];
    
    if (fromMenu) {
      this.isFirstLogin = false;
    } else {
      try {
        const currentUser: any = JSON.parse(this.storageService.getItem('user') || '{}');
        
        // Check if user exists and has isFirstLogin flag
        if (currentUser?.user?.isFirstLogin) {
          this.isFirstLogin = true;
        } else {
          this.isFirstLogin = false;
        }
      } catch (error) {
        console.error('Error parsing user data:', error);
        this.isFirstLogin = false;
      }
    }
  }

}
