From d7a6d363f87290177e164549abb46433e889b8a6 Mon Sep 17 00:00:00 2001 From: sanchezvem Date: Tue, 24 Mar 2026 11:35:26 +0100 Subject: [PATCH] added dynamic login page --- .../sign-on-form/sign-on-form.component.html | 28 +++++++++++++++++++ .../sign-on-form/sign-on-form.component.scss | 28 +++++++++++++++++++ .../sign-on-form/sign-on-form.component.ts | 22 +++++++++++++++ src/app/pages/login/login.component.html | 28 +++++++++---------- src/app/pages/login/login.component.ts | 21 +++++++++----- 5 files changed, 106 insertions(+), 21 deletions(-) create mode 100644 src/app/components/sign-on-form/sign-on-form.component.html create mode 100644 src/app/components/sign-on-form/sign-on-form.component.scss create mode 100644 src/app/components/sign-on-form/sign-on-form.component.ts diff --git a/src/app/components/sign-on-form/sign-on-form.component.html b/src/app/components/sign-on-form/sign-on-form.component.html new file mode 100644 index 0000000..9390987 --- /dev/null +++ b/src/app/components/sign-on-form/sign-on-form.component.html @@ -0,0 +1,28 @@ +
+ + Prénom + + + + + Nom + + + + + Pseudo + + + + + Adresse email + + + + + Mot de passe + + + + +
diff --git a/src/app/components/sign-on-form/sign-on-form.component.scss b/src/app/components/sign-on-form/sign-on-form.component.scss new file mode 100644 index 0000000..f906115 --- /dev/null +++ b/src/app/components/sign-on-form/sign-on-form.component.scss @@ -0,0 +1,28 @@ +/* Style global des items */ +ion-item { + --background: #ffffff; + margin-bottom: 4px; +} + +/* Label */ +ion-label { + font-size: 13px; + color: #666; + margin-bottom: 4px; +} + +/* Input */ +ion-input{ + --padding-start: 10px; + --padding-end: 10px; + --padding-top: 0; + --padding-bottom: 0; + border: solid 1px #000; + border-radius: 10px; + font-size: 14px; +} + +/* Button */ +ion-button:active { + transform: scale(0.98); +} \ No newline at end of file diff --git a/src/app/components/sign-on-form/sign-on-form.component.ts b/src/app/components/sign-on-form/sign-on-form.component.ts new file mode 100644 index 0000000..39d0d9c --- /dev/null +++ b/src/app/components/sign-on-form/sign-on-form.component.ts @@ -0,0 +1,22 @@ +import { Component, OnInit } from '@angular/core'; +import {FormControl, FormGroup, ReactiveFormsModule, Validators} from "@angular/forms"; +import {IonicModule} from "@ionic/angular"; + +@Component({ + selector: 'app-sign-on-form', + templateUrl: './sign-on-form.component.html', + styleUrls: ['./sign-on-form.component.scss'], + imports: [ + IonicModule, + ReactiveFormsModule + ] +}) +export class SignOnFormComponent { + userForm: FormGroup = new FormGroup({ + firstName: new FormControl(null, [Validators.required]), + name: new FormControl(null, [Validators.required]), + username: new FormControl(null, [Validators.required]), + email: new FormControl(null, [Validators.required]), + password: new FormControl(null, [Validators.required]), + }) +} diff --git a/src/app/pages/login/login.component.html b/src/app/pages/login/login.component.html index 6307a5c..a103755 100644 --- a/src/app/pages/login/login.component.html +++ b/src/app/pages/login/login.component.html @@ -1,28 +1,28 @@
BeReady-Logo - - - -

Prêt à défier tes potes et prouver que t’es le meilleur ?

- + @if (authState()) { + - -

Se connecter

-
+ +

Se connecter

+
-
-
- ou -
-
+
+
+ ou +
+
+ } @else { + + } - +

Créer un compte

\ No newline at end of file diff --git a/src/app/pages/login/login.component.ts b/src/app/pages/login/login.component.ts index f438501..249dd9c 100644 --- a/src/app/pages/login/login.component.ts +++ b/src/app/pages/login/login.component.ts @@ -1,6 +1,7 @@ -import { Component, OnInit } from '@angular/core'; +import {Component, signal} from '@angular/core'; import {IonicModule} from "@ionic/angular"; import {LoginFormComponent} from "../../components/login-form/login-form.component"; +import {SignOnFormComponent} from "../../components/sign-on-form/sign-on-form.component"; @Component({ selector: 'app-login', @@ -8,13 +9,19 @@ import {LoginFormComponent} from "../../components/login-form/login-form.compone styleUrls: ['./login.component.scss'], imports: [ IonicModule, - LoginFormComponent + LoginFormComponent, + SignOnFormComponent ] }) -export class LoginComponent implements OnInit { - - constructor() { } - - ngOnInit() {} +export class LoginComponent { + authState = signal(true) + createAccount(): void { + if (this.authState()) { + this.authState.set(false); + }else + if (this.authState() == false) { + this.authState.set(true); + } + } }