From cca694eaab98cfd70134e3a2feb1318e96c4afbd Mon Sep 17 00:00:00 2001 From: ralacote Date: Fri, 11 Oct 2024 08:54:30 +0200 Subject: [PATCH 1/3] Menu et accueil --- .../book-menu/book-menu.component.html | 6 --- .../book-menu/book-menu.component.ts | 15 -------- src/app/components/login/login.component.html | 5 ++- src/app/components/login/login.component.ts | 15 +++++++- .../user-accueil/user-accueil.component.css | 0 .../user-accueil/user-accueil.component.html | 3 ++ .../user-accueil/user-accueil.component.ts | 15 ++++++++ .../user-list/user-list.component.html | 2 + .../user-list/user-list.component.ts | 3 +- .../user-menu/user-menu.component.html | 7 ++++ .../user-menu/user-menu.component.ts | 37 +++++++++++++++++++ 11 files changed, 82 insertions(+), 26 deletions(-) delete mode 100644 src/app/components/book-menu/book-menu.component.html delete mode 100644 src/app/components/book-menu/book-menu.component.ts create mode 100644 src/app/components/user-accueil/user-accueil.component.css create mode 100644 src/app/components/user-accueil/user-accueil.component.html create mode 100644 src/app/components/user-accueil/user-accueil.component.ts create mode 100644 src/app/components/user-menu/user-menu.component.html create mode 100644 src/app/components/user-menu/user-menu.component.ts diff --git a/src/app/components/book-menu/book-menu.component.html b/src/app/components/book-menu/book-menu.component.html deleted file mode 100644 index c4b9517..0000000 --- a/src/app/components/book-menu/book-menu.component.html +++ /dev/null @@ -1,6 +0,0 @@ - - - Accueil - Liste des livres - Ajouter un livre - \ No newline at end of file diff --git a/src/app/components/book-menu/book-menu.component.ts b/src/app/components/book-menu/book-menu.component.ts deleted file mode 100644 index 450f6b4..0000000 --- a/src/app/components/book-menu/book-menu.component.ts +++ /dev/null @@ -1,15 +0,0 @@ -import { Component } from '@angular/core'; -import { RouterModule } from '@angular/router'; - -import { MatButtonModule } from '@angular/material/button'; -import { MatMenuModule } from '@angular/material/menu'; - -@Component({ - selector: 'app-book-menu', - standalone: true, - imports: [RouterModule, MatButtonModule, MatMenuModule], - templateUrl: './book-menu.component.html' -}) -export class BookMenuComponent { - -} diff --git a/src/app/components/login/login.component.html b/src/app/components/login/login.component.html index 32e8530..5ce396d 100644 --- a/src/app/components/login/login.component.html +++ b/src/app/components/login/login.component.html @@ -1,18 +1,19 @@
+

Identifiez vous !

Login - +
Password - +
diff --git a/src/app/components/login/login.component.ts b/src/app/components/login/login.component.ts index 08b2501..96ad23a 100644 --- a/src/app/components/login/login.component.ts +++ b/src/app/components/login/login.component.ts @@ -10,6 +10,8 @@ import { MatInputModule } from '@angular/material/input'; import { MatMenuModule } from '@angular/material/menu'; import { User } from '../../models/user.model'; import { NgIf } from '@angular/common'; +import { UserService } from '../../services/user-service'; +import { Router } from '@angular/router'; @Component({ selector: 'app-login', @@ -33,6 +35,7 @@ export class LoginComponent { @Output() addConnectEvent = new EventEmitter(); public isButtonVisible = false; + private UserService : UserService; user: User = {id:1, login: '', password: '', streak: null, streaks: [], points: null} loginForm: FormGroup = new FormGroup({ @@ -40,6 +43,11 @@ export class LoginComponent { password: new FormControl(this.user.password, Validators.required), }); + public constructor(us: UserService,private router: Router) { + this.UserService = us + } + + connect() { console.log(this.loginForm.value.login) console.log(this.loginForm.value.password) @@ -55,14 +63,17 @@ export class LoginComponent { } this.user = this.loginForm.value; - + localStorage.setItem('UserConnecte',String(this.user.id)); + + //this.UserService.addUserToLocal(this.user); this.addConnectEvent.emit(this.user); this.loginForm.reset(); this.isButtonVisible = false; + this.router.navigate(['/accueil']); } - onInputChange(event: Event) { + onInputChange() { if(this.loginForm.value.login != "" && this.loginForm.value.password != ""){ this.isButtonVisible = true; } else{ diff --git a/src/app/components/user-accueil/user-accueil.component.css b/src/app/components/user-accueil/user-accueil.component.css new file mode 100644 index 0000000..e69de29 diff --git a/src/app/components/user-accueil/user-accueil.component.html b/src/app/components/user-accueil/user-accueil.component.html new file mode 100644 index 0000000..e1d9f57 --- /dev/null +++ b/src/app/components/user-accueil/user-accueil.component.html @@ -0,0 +1,3 @@ + + +

user-accueil works!

diff --git a/src/app/components/user-accueil/user-accueil.component.ts b/src/app/components/user-accueil/user-accueil.component.ts new file mode 100644 index 0000000..64fdae7 --- /dev/null +++ b/src/app/components/user-accueil/user-accueil.component.ts @@ -0,0 +1,15 @@ +import { Component } from '@angular/core'; +import { RouterModule } from '@angular/router'; +import { UserMenuComponent } from '../user-menu/user-menu.component'; + +@Component({ + selector: 'app-user-accueil', + standalone: true, + imports: [UserMenuComponent,RouterModule], + templateUrl: './user-accueil.component.html', + styleUrl: './user-accueil.component.css' +}) + +export class UserAccueilComponent { + +} diff --git a/src/app/components/user-list/user-list.component.html b/src/app/components/user-list/user-list.component.html index b84a421..69a88cd 100644 --- a/src/app/components/user-list/user-list.component.html +++ b/src/app/components/user-list/user-list.component.html @@ -1,3 +1,5 @@ + +

User list

    diff --git a/src/app/components/user-list/user-list.component.ts b/src/app/components/user-list/user-list.component.ts index 73735b3..b6e0a1f 100644 --- a/src/app/components/user-list/user-list.component.ts +++ b/src/app/components/user-list/user-list.component.ts @@ -4,11 +4,12 @@ import { NgFor } from '@angular/common'; import { User } from '../../models/user.model'; import { UserService } from '../../services/user-service'; +import { UserMenuComponent } from '../user-menu/user-menu.component'; @Component({ selector: 'app-user-list', standalone: true, - imports: [RouterModule,NgFor,], + imports: [RouterModule,NgFor,UserMenuComponent], templateUrl: './user-list.component.html', styleUrl: './user-list.component.css' }) diff --git a/src/app/components/user-menu/user-menu.component.html b/src/app/components/user-menu/user-menu.component.html new file mode 100644 index 0000000..b1fdc89 --- /dev/null +++ b/src/app/components/user-menu/user-menu.component.html @@ -0,0 +1,7 @@ + + + {{userconnecte}} + Accueil + Classement + Details + diff --git a/src/app/components/user-menu/user-menu.component.ts b/src/app/components/user-menu/user-menu.component.ts new file mode 100644 index 0000000..01de6b6 --- /dev/null +++ b/src/app/components/user-menu/user-menu.component.ts @@ -0,0 +1,37 @@ +import { Component } from '@angular/core'; +import { RouterModule } from '@angular/router'; +import { MatButtonModule } from '@angular/material/button'; +import { MatMenuModule } from '@angular/material/menu'; +import { UserService } from '../../services/user-service'; + +@Component({ + selector: 'app-book-menu', + standalone: true, + imports: [RouterModule, MatButtonModule, MatMenuModule], + templateUrl: './user-menu.component.html' +}) + +export class UserMenuComponent { + private Service : UserService; + public userconnecte : String | undefined; + public route : String | undefined; + + public constructor(us: UserService) { + this.Service = us + this.reloadPseudo() + } + + public reloadPseudo(){ + let id = localStorage.getItem('UserConnecte'); + + if (typeof id === "string" && id !="undefined"){ + let user = this.Service.getUserById(+id); + this.route = "/users/" + user?.id; + this.userconnecte = user?.login; + } else { + this.userconnecte = "Pseudo"; + this.route = "/users/0"; + } + } + +} From b065246de77968da6d2ccf5ec76dbccff8cfe8a4 Mon Sep 17 00:00:00 2001 From: ralacote Date: Fri, 11 Oct 2024 09:06:09 +0200 Subject: [PATCH 2/3] =?UTF-8?q?Rectificiation=20d'un=20bug=20du=20push=20p?= =?UTF-8?q?r=C3=A9c=C3=A9dent?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- src/app/components/login/login.component.ts | 14 ++++++++------ 1 file changed, 8 insertions(+), 6 deletions(-) diff --git a/src/app/components/login/login.component.ts b/src/app/components/login/login.component.ts index 96ad23a..2e3e534 100644 --- a/src/app/components/login/login.component.ts +++ b/src/app/components/login/login.component.ts @@ -1,4 +1,4 @@ -import { Component, EventEmitter, Output, ViewChild } from '@angular/core'; +import { Component, EventEmitter, OnInit, Output, ViewChild } from '@angular/core'; import { FormControl, FormGroup, FormsModule, ReactiveFormsModule, Validators } from '@angular/forms'; @@ -31,7 +31,7 @@ import { Router } from '@angular/router'; styleUrl: './login.component.css' }) -export class LoginComponent { +export class LoginComponent implements OnInit { @Output() addConnectEvent = new EventEmitter(); public isButtonVisible = false; @@ -47,11 +47,11 @@ export class LoginComponent { this.UserService = us } + ngOnInit() { + sessionStorage.clear(); + } connect() { - console.log(this.loginForm.value.login) - console.log(this.loginForm.value.password) - if (this.loginForm.invalid) { console.log("ERREUR INVALIDE"); return; @@ -61,9 +61,11 @@ export class LoginComponent { console.log("ERREUR DIFFERENT"); return; } + console.log(this.loginForm.value.login) + this.user = this.loginForm.value; - localStorage.setItem('UserConnecte',String(this.user.id)); + localStorage.setItem('UserConnecte',String(this.user.login)); //this.UserService.addUserToLocal(this.user); this.addConnectEvent.emit(this.user); From 96e4242b59a047bc1c13160e52a64902a73bcc59 Mon Sep 17 00:00:00 2001 From: ralacote Date: Fri, 11 Oct 2024 09:50:59 +0200 Subject: [PATCH 3/3] Ajout de trucs pour accueil --- src/app/components/login/login.component.ts | 4 +--- .../user-accueil/user-accueil.component.html | 17 ++++++++++++++++- .../user-accueil/user-accueil.component.ts | 11 +++++++++++ .../user-menu/user-menu.component.html | 1 + .../components/user-menu/user-menu.component.ts | 7 ++++--- 5 files changed, 33 insertions(+), 7 deletions(-) diff --git a/src/app/components/login/login.component.ts b/src/app/components/login/login.component.ts index 2e3e534..d0e2fa3 100644 --- a/src/app/components/login/login.component.ts +++ b/src/app/components/login/login.component.ts @@ -63,16 +63,14 @@ export class LoginComponent implements OnInit { } console.log(this.loginForm.value.login) - this.user = this.loginForm.value; localStorage.setItem('UserConnecte',String(this.user.login)); //this.UserService.addUserToLocal(this.user); - this.addConnectEvent.emit(this.user); + this.addConnectEvent.emit(this.user) this.loginForm.reset(); this.isButtonVisible = false; this.router.navigate(['/accueil']); - } onInputChange() { diff --git a/src/app/components/user-accueil/user-accueil.component.html b/src/app/components/user-accueil/user-accueil.component.html index e1d9f57..5d868c1 100644 --- a/src/app/components/user-accueil/user-accueil.component.html +++ b/src/app/components/user-accueil/user-accueil.component.html @@ -1,3 +1,18 @@ -

    user-accueil works!

    +

    {{formattedDate}}

    + + + + + + + + + + + + + + +
    LUNMARMERJEUVENSAMDIM
    \ No newline at end of file diff --git a/src/app/components/user-accueil/user-accueil.component.ts b/src/app/components/user-accueil/user-accueil.component.ts index 64fdae7..fd34869 100644 --- a/src/app/components/user-accueil/user-accueil.component.ts +++ b/src/app/components/user-accueil/user-accueil.component.ts @@ -11,5 +11,16 @@ import { UserMenuComponent } from '../user-menu/user-menu.component'; }) export class UserAccueilComponent { + protected formattedDate : String + + public constructor() { + const currentDate: Date = new Date + const options: Intl.DateTimeFormatOptions = { + year: 'numeric', + month: 'long', + day: 'numeric' + }; + this.formattedDate = currentDate.toLocaleDateString(undefined, options); + } } diff --git a/src/app/components/user-menu/user-menu.component.html b/src/app/components/user-menu/user-menu.component.html index b1fdc89..a602d3d 100644 --- a/src/app/components/user-menu/user-menu.component.html +++ b/src/app/components/user-menu/user-menu.component.html @@ -4,4 +4,5 @@ Accueil Classement Details + Sudoku diff --git a/src/app/components/user-menu/user-menu.component.ts b/src/app/components/user-menu/user-menu.component.ts index 01de6b6..8fecd66 100644 --- a/src/app/components/user-menu/user-menu.component.ts +++ b/src/app/components/user-menu/user-menu.component.ts @@ -25,9 +25,10 @@ export class UserMenuComponent { let id = localStorage.getItem('UserConnecte'); if (typeof id === "string" && id !="undefined"){ - let user = this.Service.getUserById(+id); - this.route = "/users/" + user?.id; - this.userconnecte = user?.login; + let user = this.Service.getUserById(+id) + this.route = "/users/" + user?.id + this.userconnecte = user?.login + this.userconnecte = id } else { this.userconnecte = "Pseudo"; this.route = "/users/0";