diff --git a/db.json b/db.json
index 48bd32d..2f1f6b5 100644
--- a/db.json
+++ b/db.json
@@ -6059,6 +6059,18 @@
"email": "coco@mail.com",
"password": "$2a$10$UdJi398SK6x93IFAWNbYK.KlhZ.20E6vF7v/Va1HplivYQWrMMl2G",
"id": 2
+ },
+ {
+ "email": "julian@mail.com",
+ "password": "$2a$10$Zvontm1V.XFZRRR7wE6vnuFlRBknKOZEPKnI1sLKes4uSa8HM7ci6",
+ "id": 3
+ },
+ {
+ "email": "zfzz@efzefz.com",
+ "password": "$2a$10$KVxyOURcblApZM4QvdxbzeodcCm9y3sxJHTsEdiI/nNxK36mHIMQy",
+ "firstName": "zfzfz",
+ "lastName": "fzfzfz",
+ "id": 4
}
]
-}
+}
\ No newline at end of file
diff --git a/src/app/modules/account/account.module.ts b/src/app/modules/account/account.module.ts
index 525ccb9..babf4fb 100644
--- a/src/app/modules/account/account.module.ts
+++ b/src/app/modules/account/account.module.ts
@@ -6,7 +6,7 @@ import { PageSigninComponent } from './pages/page-signin/page-signin.component';
import { PageSignupnComponent } from './pages/page-signupn/page-signupn.component';
import { PageForgotPasswordComponent } from './pages/page-forgot-password/page-forgot-password.component';
import { PageResetPasswordComponent } from './pages/page-reset-password/page-reset-password.component';
-import { FormsModule } from '@angular/forms';
+import { FormsModule, ReactiveFormsModule } from '@angular/forms';
@NgModule({
@@ -19,7 +19,8 @@ import { FormsModule } from '@angular/forms';
imports: [
CommonModule,
AccountRoutingModule,
- FormsModule
+ FormsModule,
+ ReactiveFormsModule
]
})
export class AccountModule { }
diff --git a/src/app/modules/account/models/user.ts b/src/app/modules/account/models/user.ts
new file mode 100644
index 0000000..a5f3b02
--- /dev/null
+++ b/src/app/modules/account/models/user.ts
@@ -0,0 +1,6 @@
+export interface User {
+ firstName: string;
+ lastName: string;
+ email: string;
+ password?: string;
+}
diff --git a/src/app/modules/account/pages/page-signin/page-signin.component.html b/src/app/modules/account/pages/page-signin/page-signin.component.html
index 7168c8f..b8539ef 100644
--- a/src/app/modules/account/pages/page-signin/page-signin.component.html
+++ b/src/app/modules/account/pages/page-signin/page-signin.component.html
@@ -1 +1,44 @@
-
page-signin works!
+
+
+
+
+
+
+
Il manque des informations dans le formulaire...
+
+
+
diff --git a/src/app/modules/account/pages/page-signin/page-signin.component.scss b/src/app/modules/account/pages/page-signin/page-signin.component.scss
index e69de29..c417d4e 100644
--- a/src/app/modules/account/pages/page-signin/page-signin.component.scss
+++ b/src/app/modules/account/pages/page-signin/page-signin.component.scss
@@ -0,0 +1,32 @@
+.signin-form {
+ height: 100vh;
+ padding-top: 40px;
+ background-color: #f5f5f5;
+}
+
+.form-signin {
+ width: 100%;
+ max-width: 330px;
+ padding: 15px;
+ margin: auto;
+}
+
+.form-signin .checkbox {
+ font-weight: 400;
+}
+
+.form-signin .form-floating:focus-within {
+ z-index: 2;
+}
+
+.form-signin input[type="email"] {
+ margin-bottom: -1px;
+ border-bottom-right-radius: 0;
+ border-bottom-left-radius: 0;
+}
+
+.form-signin input[type="password"] {
+ margin-bottom: 10px;
+ border-top-left-radius: 0;
+ border-top-right-radius: 0;
+}
\ No newline at end of file
diff --git a/src/app/modules/account/pages/page-signin/page-signin.component.ts b/src/app/modules/account/pages/page-signin/page-signin.component.ts
index 5bc2118..2d8f6bf 100644
--- a/src/app/modules/account/pages/page-signin/page-signin.component.ts
+++ b/src/app/modules/account/pages/page-signin/page-signin.component.ts
@@ -1,4 +1,5 @@
import { Component, OnInit } from '@angular/core';
+import { AuthService } from '../../services/auth.service';
@Component({
selector: 'app-page-signin',
@@ -7,9 +8,29 @@ import { Component, OnInit } from '@angular/core';
})
export class PageSigninComponent implements OnInit {
- constructor() { }
+ public errorForm: boolean;
+
+ constructor(
+ private authService: AuthService) {
+ this.errorForm = false;
+ }
ngOnInit(): void {
}
+ onSubmit(objectForm: any): void {
+ console.log(objectForm.form.value);
+ const email = objectForm.form.value.email;
+ const password = objectForm.form.value.password;
+
+ if(email !== '' && password !== '') {
+ this.authService.signin(email, password).subscribe(
+ resp => console.log(resp)
+ );
+ } else {
+ //Afficher une erreur à l'utilisateur
+ this.errorForm = true;
+ }
+ }
+
}
diff --git a/src/app/modules/account/pages/page-signupn/page-signupn.component.html b/src/app/modules/account/pages/page-signupn/page-signupn.component.html
index 7dd5243..ff02785 100644
--- a/src/app/modules/account/pages/page-signupn/page-signupn.component.html
+++ b/src/app/modules/account/pages/page-signupn/page-signupn.component.html
@@ -1,18 +1,66 @@
\ No newline at end of file
diff --git a/src/app/modules/account/pages/page-signupn/page-signupn.component.ts b/src/app/modules/account/pages/page-signupn/page-signupn.component.ts
index f624bec..cd5e696 100644
--- a/src/app/modules/account/pages/page-signupn/page-signupn.component.ts
+++ b/src/app/modules/account/pages/page-signupn/page-signupn.component.ts
@@ -1,4 +1,6 @@
import { Component, OnInit } from '@angular/core';
+import { FormBuilder, FormControl, FormGroup, Validators } from '@angular/forms';
+import { Router } from '@angular/router';
import { AuthService } from '../../services/auth.service';
@Component({
@@ -8,19 +10,53 @@ import { AuthService } from '../../services/auth.service';
})
export class PageSignupnComponent implements OnInit {
- constructor(private authService: AuthService) { }
+ signupForm : FormGroup;
+
+ constructor(
+ private authService: AuthService,
+ private router: Router
+ ) {
+ this.signupForm = new FormGroup({});
+ }
ngOnInit(): void {
+ this.signupForm = new FormGroup({
+ firstNameFc: new FormControl(''),
+ lastNameFc: new FormControl(''),
+ emailFc: new FormControl('', [Validators.required, Validators.email, Validators.pattern(/^([\w\.\-_]+)?\w+@[\w-_]+(\.\w+){1,}/igm)]),
+ passwordFc: new FormControl('', [Validators.minLength(8), Validators.required])
+ });
}
- public onSubmit(objectForm: any): void {
- console.log(objectForm.form.value);
- const email = objectForm.form.value.email;
+ public onSubmit(): void {
+ console.log("value : ", this.signupForm.value);
+ console.log(this.signupForm);
+ const firstName = this.signupForm.value['firstNameFc'];
+ const lastName = this.signupForm.value['lastNameFc'];
+ const email = this.signupForm.value['emailFc'];
+ const password = this.signupForm.value['passwordFc'];
+ const user = {
+ firstName: firstName,
+ lastName: lastName,
+ email: email,
+ password: password
+ }
+
+ if(email !== '' && password !== '') {
+ this.authService.signup(user).subscribe(
+ resp => {
+ this.router.navigate(['account/signin']);
+ }
+ )
+ } else {
+
+ }
+ /*const email = objectForm.form.value.email;
const password = objectForm.form.value.password;
this.authService.signup(email, password).subscribe(
resp => console.log(resp)
- );
+ );*/
}
}
diff --git a/src/app/modules/account/services/auth.service.ts b/src/app/modules/account/services/auth.service.ts
index ab43bdc..e7fcd45 100644
--- a/src/app/modules/account/services/auth.service.ts
+++ b/src/app/modules/account/services/auth.service.ts
@@ -2,6 +2,7 @@ import { HttpClient } from '@angular/common/http';
import { Injectable } from '@angular/core';
import { Observable } from 'rxjs';
import { environment } from 'src/environments/environment';
+import { User } from '../models/user';
@Injectable({
providedIn: 'root'
@@ -13,12 +14,25 @@ export class AuthService {
this.apiUrl = environment.apiUrl;
}
- signup(email: string, password: string): Observable {
- const body = {
- email: email,
- password: password
- };
+ signup(newUser: User): Observable {
+ // const body = {
+ // firstName: firstName,
+ // lastName: lastName,
+ // email: email,
+ // password: password
+ // };
- return this.http.post(`${this.apiUrl}/register`, body);
+ console.log("newUser : ", newUser);
+
+ return this.http.post(`${this.apiUrl}/register`, newUser);
+ }
+
+ signin(email: string, password: string): Observable {
+ const body = {
+ email: email,
+ password: password
+ };
+
+ return this.http.post(`${this.apiUrl}/login`, body);
}
}