From 6395a54999d236901d992a7c725fe2855bcdd525 Mon Sep 17 00:00:00 2001 From: ralacote Date: Fri, 18 Oct 2024 12:49:13 +0200 Subject: [PATCH] =?UTF-8?q?Merge=20de=20la=20brange=20fait=20=C3=A0=20la?= =?UTF-8?q?=20mano?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- src/app/app.component.html | 2 +- src/app/app.routes.ts | 2 + .../components/sudoku/sudoku.component.html | 2 + src/app/components/sudoku/sudoku.component.ts | 4 +- .../user-accueil/user-accueil.component.html | 5 +++ .../user-accueil/user-accueil.component.ts | 40 ++++++++++++++++--- .../user-menu/user-menu.component.html | 2 +- src/app/services/user-service.ts | 12 ++++++ 8 files changed, 60 insertions(+), 9 deletions(-) diff --git a/src/app/app.component.html b/src/app/app.component.html index a1a6042..6330d4c 100644 --- a/src/app/app.component.html +++ b/src/app/app.component.html @@ -1,3 +1,3 @@ - + \ No newline at end of file diff --git a/src/app/app.routes.ts b/src/app/app.routes.ts index cb1cdfa..d824146 100644 --- a/src/app/app.routes.ts +++ b/src/app/app.routes.ts @@ -7,9 +7,11 @@ import { UserListComponent } from './components/user-list/user-list.component'; import { UserDetailComponent } from './components/user-detail/user-detail.component'; import { SudokuComponent } from './components/sudoku/sudoku.component'; import { DifficultySelectorComponent } from './components/difficulty-selector/difficulty-selector.component' +import { UserAccueilComponent } from './components/user-accueil/user-accueil.component'; export const routes: Routes = [ { path: '', component: LoginComponent }, + { path: 'accueil', component: UserAccueilComponent }, { path: 'books', component: BookListComponent }, { path: 'book/add', component: BookFormComponent }, { path: 'book/:id', component: BookDetailComponent }, diff --git a/src/app/components/sudoku/sudoku.component.html b/src/app/components/sudoku/sudoku.component.html index 4fc9441..83803cd 100644 --- a/src/app/components/sudoku/sudoku.component.html +++ b/src/app/components/sudoku/sudoku.component.html @@ -1,3 +1,5 @@ + +

sudoku works!

diff --git a/src/app/components/sudoku/sudoku.component.ts b/src/app/components/sudoku/sudoku.component.ts index 8f8aafd..890dcc9 100644 --- a/src/app/components/sudoku/sudoku.component.ts +++ b/src/app/components/sudoku/sudoku.component.ts @@ -2,13 +2,13 @@ import { Component } from '@angular/core'; import { RouterModule } from '@angular/router'; import { NgFor,NgIf } from '@angular/common'; import { ActivatedRoute } from '@angular/router'; - +import { UserMenuComponent } from '../user-menu/user-menu.component'; import { SudokuService } from '../../services/sudoku-service'; @Component({ selector: 'app-sudoku', standalone: true, - imports: [RouterModule, NgFor, NgIf], + imports: [RouterModule, NgFor, NgIf,UserMenuComponent], templateUrl: './sudoku.component.html', styleUrl: './sudoku.component.css' }) diff --git a/src/app/components/user-accueil/user-accueil.component.html b/src/app/components/user-accueil/user-accueil.component.html index 5d868c1..f3f5895 100644 --- a/src/app/components/user-accueil/user-accueil.component.html +++ b/src/app/components/user-accueil/user-accueil.component.html @@ -14,5 +14,10 @@ SAM DIM + + + {{ azerty }} + + \ 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 fd34869..87670e5 100644 --- a/src/app/components/user-accueil/user-accueil.component.ts +++ b/src/app/components/user-accueil/user-accueil.component.ts @@ -1,26 +1,56 @@ import { Component } from '@angular/core'; import { RouterModule } from '@angular/router'; import { UserMenuComponent } from '../user-menu/user-menu.component'; +import { UserService } from '../../services/user-service'; +import { NgFor } from '@angular/common'; + +interface Streak { + day: string + isPlayed: boolean +} @Component({ selector: 'app-user-accueil', standalone: true, - imports: [UserMenuComponent,RouterModule], + imports: [UserMenuComponent,RouterModule,NgFor], templateUrl: './user-accueil.component.html', styleUrl: './user-accueil.component.css' }) export class UserAccueilComponent { protected formattedDate : String + protected streaks: Object[] - public constructor() { + public constructor(us : UserService) { const currentDate: Date = new Date const options: Intl.DateTimeFormatOptions = { year: 'numeric', month: 'long', day: 'numeric' - }; - this.formattedDate = currentDate.toLocaleDateString(undefined, options); - } + } + this.formattedDate = currentDate.toLocaleDateString(undefined, options) + + this.streaks = ["❌","❌","❌","❌","❌","❌","❌"] + + let userConnecte = localStorage.getItem('UserConnecte') + if(userConnecte == undefined) {return} + + let id = us.getIdByUser(userConnecte) + if(id == undefined) {return} + + let streaks = us.getStreaksFromId(id) + if(streaks == undefined) {return} + + this.streaks = [] + streaks.forEach(element => { + let a : Streak = element as Streak + if(a["isPlayed"]){ + this.streaks.push("✅") + } else { + this.streaks.push("❌") + } + }); + + } } diff --git a/src/app/components/user-menu/user-menu.component.html b/src/app/components/user-menu/user-menu.component.html index a602d3d..adbee2e 100644 --- a/src/app/components/user-menu/user-menu.component.html +++ b/src/app/components/user-menu/user-menu.component.html @@ -4,5 +4,5 @@ Accueil Classement Details - Sudoku + Sudoku diff --git a/src/app/services/user-service.ts b/src/app/services/user-service.ts index 82a2fff..2807379 100644 --- a/src/app/services/user-service.ts +++ b/src/app/services/user-service.ts @@ -34,6 +34,18 @@ export class UserService { return Math.ceil(this.users.length / this.pageSize) } + public getIdByUser(name: String): number | undefined{ + let u : User | undefined = this.users.find((user) => user.login === name) + if(u == undefined) { return } + return u.id + } + + public getStreaksFromId(id: number): Object[] | undefined{ + let u : User | undefined = this.users.find((user) => user.id === id) + if(u == undefined) { return } + return u.streaks + } + public getUserNbPts(nbPage:number, sortSens:number): User[] { if (nbPage>this.getNbPage() || nbPage<=0) return[]; let page = this.HardCopy(this.users);