import { Component, OnInit, inject } from '@angular/core'; import { CommonModule } from '@angular/common'; import { FormControl, FormsModule, ReactiveFormsModule, Validators, } from '@angular/forms'; import { CarouselComponent } from '../../../shared/carousel/carousel.component'; import { MatFormFieldModule } from '@angular/material/form-field'; import { MatInputModule } from '@angular/material/input'; import { MatButtonModule } from '@angular/material/button'; import { MatIconModule } from '@angular/material/icon'; import { MatCheckboxModule } from '@angular/material/checkbox'; import { Router } from '@angular/router'; import { AuthService } from 'src/app/_helpers/services/auth.service'; @Component({ selector: 'bgui-login-standard-user', standalone: true, imports: [ CommonModule, CarouselComponent, MatFormFieldModule, ReactiveFormsModule, MatInputModule, MatButtonModule, MatIconModule, MatCheckboxModule, FormsModule, ], templateUrl: './login-standard-user.component.html', styleUrls: ['./login-standard-user.component.scss'], providers: [AuthService], }) export class LoginStandardUserComponent implements OnInit { // eslint-disable-next-line @typescript-eslint/no-explicit-any //authService: any; constructor( private authService: AuthService, private router: Router ) {} images = [ { imageSrc: './assets/images/carousel-auth/orange-with-variant.png', imageAlt: 'nature1', }, { imageSrc: './assets/images/carousel-auth/silver-modern-with-variant.png', imageAlt: 'nature1', }, ]; username = new FormControl('', [Validators.required]); password = new FormControl('', [Validators.required]); // eslint-disable-next-line @typescript-eslint/no-explicit-any user: any = { username: '', password: '', }; getErrorMessage() { if (this.username.hasError('required')) { return 'Impossible de trouver votre compte Beasy'; } return this.username.hasError('email') ? 'Identifiant non valide' : ''; } getErrorAuth() { this.msgAuth = ''; } hide = true; isActive = false; msgAuth = ''; // eslint-disable-next-line @angular-eslint/no-empty-lifecycle-method ngOnInit() { this.user = { username: '', password: '', }; } login() { console.log('Username:', this.user.username); console.log('Password:', this.user.password); this.authService.login(this.user.username, this.user.password).subscribe( // eslint-disable-next-line @typescript-eslint/no-explicit-any (response: any) => { console.log('currentUser=>', response.data); if (response.status) { console.log('Connexion réussie'); // Stocker l'username dans une variable ou dans le localStorage si nécessaire const username = response.data; console.log('userInfos', username); sessionStorage.setItem('username', username); // Redirection vers la page admin // this.router.navigate(['/admin']); this.router.navigateByUrl('/admin'); } else { console.error('Échec de la connexion :', response.error); } }, error => { console.error('Erreur lors de la connexion :', error); // Gérer l'erreur de connexion ici } ); } refreshToken() { this.authService.refreshToken(); } logout() { this.authService.logout(); } onSubmit() {} }