You can not select more than 25 topics
Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
75 lines
1.9 KiB
75 lines
1.9 KiB
import { Component } from '@angular/core';
|
|
import { takeUntilDestroyed } from '@angular/core/rxjs-interop';
|
|
import {
|
|
FormControl,
|
|
Validators,
|
|
FormsModule,
|
|
ReactiveFormsModule,
|
|
NgForm,
|
|
} from '@angular/forms';
|
|
import { MatInputModule } from '@angular/material/input';
|
|
import { MatFormFieldModule } from '@angular/material/form-field';
|
|
import { merge } from 'rxjs';
|
|
import { MatIconModule } from '@angular/material/icon';
|
|
import { MatButtonModule } from '@angular/material/button';
|
|
import { CommonModule } from '@angular/common';
|
|
import { UserService } from 'src/app/services/user.service';
|
|
import { User } from 'src/app/models/user.model';
|
|
|
|
@Component({
|
|
selector: 'app-auth',
|
|
templateUrl: './login.component.html',
|
|
styleUrl: './login.component.css',
|
|
standalone: true,
|
|
imports: [
|
|
MatFormFieldModule,
|
|
MatInputModule,
|
|
FormsModule,
|
|
ReactiveFormsModule,
|
|
MatButtonModule,
|
|
MatIconModule,
|
|
CommonModule,
|
|
],
|
|
})
|
|
export class LoginComponent {
|
|
hide = true;
|
|
|
|
email = new FormControl('', [Validators.required, Validators.email]);
|
|
|
|
login = new FormControl('', [Validators.required]);
|
|
|
|
password = new FormControl('', [Validators.required]);
|
|
|
|
errorMessage = '';
|
|
|
|
successLogin = '';
|
|
errorLogin = '';
|
|
|
|
constructor(private userService: UserService) {
|
|
merge(this.email.statusChanges, this.email.valueChanges).pipe(
|
|
takeUntilDestroyed()
|
|
);
|
|
}
|
|
|
|
loginAction() {
|
|
console.log('login user :', this.login.value);
|
|
|
|
const form: any = {
|
|
value: {
|
|
login: this.login.value,
|
|
password: this.password.value,
|
|
},
|
|
};
|
|
this.userService.loginUser(form).subscribe((response) => {
|
|
console.log('response :', response);
|
|
if ((response as any).success) {
|
|
this.successLogin = 'Vous êtes connecté.';
|
|
this.errorLogin = '';
|
|
} else {
|
|
this.errorLogin = "L'authentification a échoué.";
|
|
this.successLogin = '';
|
|
}
|
|
});
|
|
}
|
|
}
|