diff --git a/src/app/components/register/register.component.css b/src/app/components/register/register.component.css index 239efc4..5eb5cdd 100644 --- a/src/app/components/register/register.component.css +++ b/src/app/components/register/register.component.css @@ -6,3 +6,13 @@ .form-field { width: 100%; } + +.success-message { + color: green; + margin-top: 20px; +} + +.error-message { + color: red; + margin-top: 20px; +} diff --git a/src/app/components/register/register.component.html b/src/app/components/register/register.component.html index be44cc8..f76e7e7 100644 --- a/src/app/components/register/register.component.html +++ b/src/app/components/register/register.component.html @@ -49,4 +49,12 @@ [disabled]="email.invalid || login.invalid || password.invalid"> Créer un compte + + +
+ diff --git a/src/app/components/register/register.component.ts b/src/app/components/register/register.component.ts index f64f635..c4950e4 100644 --- a/src/app/components/register/register.component.ts +++ b/src/app/components/register/register.component.ts @@ -42,6 +42,9 @@ export class RegisterComponent { errorMessage = ''; + successRegister = ''; + errorRegister = ''; + constructor(private userService: UserService) { merge(this.email.statusChanges, this.email.valueChanges) .pipe(takeUntilDestroyed()) @@ -69,6 +72,17 @@ export class RegisterComponent { password: this.password.value, }, }; - this.userService.postUser(form); + // this.userService.postUser(form); + this.userService.postUser(form).subscribe((response) => { + console.log('response :', response); + if ((response as any).success) { + this.successRegister = 'Votre compte a été créé avec succès.'; + this.errorRegister = ''; + } else { + this.errorRegister = + "L'inscription a échoué : un compte avec ce login existe déjà."; + this.successRegister = ''; + } + }); } } diff --git a/src/app/services/user.service.ts b/src/app/services/user.service.ts index 975dd7b..5a24dde 100644 --- a/src/app/services/user.service.ts +++ b/src/app/services/user.service.ts @@ -1,6 +1,6 @@ import { Injectable } from '@angular/core'; import { User } from '../models/user.model'; -import { HttpClient } from '@angular/common/http'; +import { HttpClient, HttpResponse } from '@angular/common/http'; import { Observable } from 'rxjs'; import { NgForm } from '@angular/forms'; @@ -18,12 +18,17 @@ export class UserService { return this.http.get(`${this.API_URL}/Users`); } - postUser(form: NgForm): void { + postUser(form: NgForm): Observable