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 e965c34..e01e5ad 100644
--- a/src/app/app.routes.ts
+++ b/src/app/app.routes.ts
@@ -6,6 +6,7 @@ import { LoginComponent } from './components/login/login.component';
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 { UserAccueilComponent } from './components/user-accueil/user-accueil.component';
export const routes: Routes = [
{ path: '', component: LoginComponent },
@@ -13,6 +14,7 @@ export const routes: Routes = [
{ path: 'book/add', component: BookFormComponent },
{ path: 'book/:id', component: BookDetailComponent },
{ path: 'users', component: UserListComponent },
+ { path: 'accueil', component: UserAccueilComponent },
{ path: 'user/:id', component: UserDetailComponent },
{ path: 'sudoku/:difficulty', component: SudokuComponent },
{ path: '**', redirectTo: '', pathMatch: 'full' }
diff --git a/src/app/components/sudoku/sudoku.component.html b/src/app/components/sudoku/sudoku.component.html
index ea1649e..8fdcb0d 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 c2cc00f..d1a8b7c 100644
--- a/src/app/components/sudoku/sudoku.component.ts
+++ b/src/app/components/sudoku/sudoku.component.ts
@@ -2,13 +2,14 @@ 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: [UserMenuComponent, RouterModule, NgFor, NgIf],
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..0ef10c1 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..edb7ff5 100644
--- a/src/app/components/user-accueil/user-accueil.component.ts
+++ b/src/app/components/user-accueil/user-accueil.component.ts
@@ -1,26 +1,58 @@
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..c2f4659 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/components/user-menu/user-menu.component.ts b/src/app/components/user-menu/user-menu.component.ts
index 8fecd66..583d14e 100644
--- a/src/app/components/user-menu/user-menu.component.ts
+++ b/src/app/components/user-menu/user-menu.component.ts
@@ -34,5 +34,4 @@ export class UserMenuComponent {
this.route = "/users/0";
}
}
-
}
diff --git a/src/app/services/user-service.ts b/src/app/services/user-service.ts
index 82a2fff..c0d8f42 100644
--- a/src/app/services/user-service.ts
+++ b/src/app/services/user-service.ts
@@ -36,11 +36,11 @@ export class UserService {
public getUserNbPts(nbPage:number, sortSens:number): User[] {
if (nbPage>this.getNbPage() || nbPage<=0) return[];
- let page = this.HardCopy(this.users);
+ let page = this.HardCopy(this.users)
page = page.sort((a,b) => {
if (a.points == null || b.points == null) return 0;
- if (a.points>b.points) return 1*sortSens;
- if (b.points>a.points) return -1*sortSens;
+ if (a.points > b.points) return 1 * sortSens;
+ if (b.points > a.points) return -1 * sortSens;
return 0;
});
page = this.getSubset(page,(nbPage-1)*this.pageSize,nbPage*this.pageSize);
@@ -68,6 +68,18 @@ export class UserService {
return JSON.parse(JSON.stringify(users));
}
+ 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
+ }
+
private getSubset(user: User[],deb:number,fin:number):User[] {
let a: User[] = [];
for (let i=0; i