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 @@
+
+
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);