From c5dc4e9bd520e31528198518653312db8fbcb50f Mon Sep 17 00:00:00 2001
From: =?UTF-8?q?Th=C3=A9ophile=20HUSS?= <theophile.huss@etu.unistra.fr>
Date: Fri, 6 Dec 2024 14:02:05 +0100
Subject: [PATCH 01/13] fix: Hide password in login/signup page

---
 .../modules/profile/sign/sign.component.html  | 64 +++++++++++++------
 1 file changed, 45 insertions(+), 19 deletions(-)

diff --git a/src/app/modules/profile/sign/sign.component.html b/src/app/modules/profile/sign/sign.component.html
index b75216c..8784b03 100644
--- a/src/app/modules/profile/sign/sign.component.html
+++ b/src/app/modules/profile/sign/sign.component.html
@@ -1,34 +1,60 @@
 <div class="container">
     <div class="button-header">
-        <button [ngClass]="{active: login}" (click)="showLogin()">LOGIN</button>
-        <button [ngClass]="{active: signup}" (click)="showSignup()">SIGNUP</button>
+        <button [ngClass]="{ active: login }" (click)="showLogin()">LOGIN</button>
+        <button [ngClass]="{ active: signup }" (click)="showSignup()">SIGNUP</button>
     </div>
     <div class="content">
         <form [formGroup]="formGroup">
-            <input formControlName="email" placeholder="EMAIL" (blur)="checkValidity('email')" [ngClass]="{ 
-                    'wrong': !formGroup.get('email')?.valid && formGroup.get('email')?.touched 
-                }" class="inputText" />
-            <input formControlName="password" placeholder="PASSWORD" (blur)="checkValidity('password')"
+            <input
+                formControlName="email"
+                placeholder="EMAIL"
+                (blur)="checkValidity('email')"
+                [ngClass]="{
+                    wrong: !formGroup.get('email')?.valid && formGroup.get('email')?.touched
+                }"
+                class="inputText"
+            />
+            <input
+                formControlName="password"
+                placeholder="PASSWORD"
+                (blur)="checkValidity('password')"
                 [ngClass]="{ wrong: !formGroup.get('password')?.valid && formGroup.get('password')?.touched }"
-                class="inputText" />
-            <input formControlName="confirm_password" placeholder="CONFIRM PASSWORD" *ngIf="signup"
-                (blur)="checkValidity('confirm_password')" [ngClass]="{
+                class="inputText"
+                type="password"
+            />
+            <input
+                formControlName="confirm_password"
+                placeholder="CONFIRM PASSWORD"
+                *ngIf="signup"
+                (blur)="checkValidity('confirm_password')"
+                [ngClass]="{
                 wrong:
                     formGroup.get('confirm_password')?.errors?.['missMatch'] && formGroup.get('confirm_password')?.touched
-                }" class="inputText" />
+                }"
+                class="inputText"
+                type="password"
+            />
             <div class="error">
                 <p *ngIf="!formGroup.get('email')?.valid && formGroup.get('email')?.touched" class="error">
-                    Email is required</p>
-                <p *ngIf="!formGroup.get('password')?.valid && formGroup.get('password')?.touched" class="error">8
-                    character minimum</p>
-                <p *ngIf="formGroup.get('confirm_password')?.errors?.['missMatch'] && formGroup.get('confirm_password')?.touched"
-                    class="error">Passwords do not match</p>
+                    Email is required
+                </p>
+                <p *ngIf="!formGroup.get('password')?.valid && formGroup.get('password')?.touched" class="error">
+                    8 character minimum
+                </p>
+                <p
+                    *ngIf="formGroup.get('confirm_password')?.errors?.['missMatch'] && formGroup.get('confirm_password')?.touched"
+                    class="error"
+                >
+                    Passwords do not match
+                </p>
             </div>
         </form>
-        <button [disabled]="!formGroup.valid || (signup && formGroup.get('confirm_password')?.errors?.['missMatch'])"
-            (click)="submit()" [ngClass]="{ wrongButton: !formGroup.valid,
-                blueButton: formGroup.valid }">
+        <button
+            [disabled]="!formGroup.valid || (signup && formGroup.get('confirm_password')?.errors?.['missMatch'])"
+            (click)="submit()"
+            [ngClass]="{ wrongButton: !formGroup.valid, blueButton: formGroup.valid }"
+        >
             @if (login) { LOGIN } @else { SIGNUP }
         </button>
     </div>
-</div>
\ No newline at end of file
+</div>
-- 
GitLab


From 8c89a2abfac0f815e73e5db85f439ea9e6a944c5 Mon Sep 17 00:00:00 2001
From: =?UTF-8?q?Th=C3=A9ophile=20HUSS?= <theophile.huss@etu.unistra.fr>
Date: Fri, 6 Dec 2024 14:51:34 +0100
Subject: [PATCH 02/13] fix: Change show name quiz into id in community list

---
 .../list-quiz/list-quiz.component.ts          | 21 ++++++++++---------
 1 file changed, 11 insertions(+), 10 deletions(-)

diff --git a/src/app/modules/community/list-quiz/list-quiz.component.ts b/src/app/modules/community/list-quiz/list-quiz.component.ts
index 25d8337..5665f28 100644
--- a/src/app/modules/community/list-quiz/list-quiz.component.ts
+++ b/src/app/modules/community/list-quiz/list-quiz.component.ts
@@ -9,13 +9,12 @@ import { filter } from 'rxjs';
     templateUrl: './list-quiz.component.html',
     styleUrls: ['./list-quiz.component.css', '../../../../styles.css'],
 })
-
 export class ListQuizComponent implements OnInit {
     //listQuizDataSource = new MatTableDataSource();
-    quizzes: any[] = []     //list from database
-    quizList: any[] = [];   //list to display
+    quizzes: any[] = []; //list from database
+    quizList: any[] = []; //list to display
     //displayedColumns = ['Component'];
-    constructor(private communityService: CommunityService) { }
+    constructor(private communityService: CommunityService) {}
     codeQuiz: string = '';
     skip: number = 0;
     take: number = 10;
@@ -41,13 +40,15 @@ export class ListQuizComponent implements OnInit {
                 //this.listQuizDataSource.data = data;
                 this.quizzes = data;
                 this.totalQuiz = data.length;
-                this.quizzes.map((quiz => {
+                this.quizzes.map((quiz) => {
                     this.quizList.push({
-                        title: !quiz.name ? 'Untitled' : quiz.name,
-                        content: `${quiz.questions.length} QUESTIONS | ${quiz.difficulty.name} | ${!quiz.author ? 'Anonymous' : quiz.author}`,
-                        id: quiz.id
-                    })
-                }))
+                        title: quiz.id ?? 'NO ID FOUND',
+                        content: `${quiz.questions.length} QUESTIONS | ${quiz.difficulty.name} | ${
+                            !quiz.author ? 'Anonymous' : quiz.author
+                        }`,
+                        id: quiz.id,
+                    });
+                });
             },
         });
     }
-- 
GitLab


From b181536e3859db5a6e88ae1429b5f3b44f3ec271 Mon Sep 17 00:00:00 2001
From: =?UTF-8?q?Th=C3=A9ophile=20HUSS?= <theophile.huss@etu.unistra.fr>
Date: Fri, 6 Dec 2024 14:52:59 +0100
Subject: [PATCH 03/13] fix: hide My Quizzes button on home page

---
 src/app/modules/home/home-page/home-page.component.html | 4 ++--
 1 file changed, 2 insertions(+), 2 deletions(-)

diff --git a/src/app/modules/home/home-page/home-page.component.html b/src/app/modules/home/home-page/home-page.component.html
index e9048ef..c0e5665 100644
--- a/src/app/modules/home/home-page/home-page.component.html
+++ b/src/app/modules/home/home-page/home-page.component.html
@@ -4,11 +4,11 @@
         <div class="navigation-button">
             <button (click)="quickGame()">Quick game</button>
             <button (click)="playQuiz()">Play a quiz</button>
-            <button (click)="myQuiz()">My quizzes</button>
+            <button (click)="myQuiz()" *ngIf="false">My quizzes</button>
         </div>
     </div>
     <div class="right-side">
         <app-form-play-quiz *ngIf="showPlayQuiz"></app-form-play-quiz>
         <app-my-quiz *ngIf="showMyQuiz"></app-my-quiz>
     </div>
-</div>
\ No newline at end of file
+</div>
-- 
GitLab


From 9ecedee18184934862705d66541b31b3350bebe2 Mon Sep 17 00:00:00 2001
From: =?UTF-8?q?Th=C3=A9ophile=20HUSS?= <theophile.huss@etu.unistra.fr>
Date: Fri, 6 Dec 2024 14:58:38 +0100
Subject: [PATCH 04/13] =?UTF-8?q?fix:=20Rename=20communaut=C3=A9=20in=20co?=
 =?UTF-8?q?mmunity=20in=20the=20header?=
MIME-Version: 1.0
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit

---
 src/app/shared/header/header.component.html | 14 ++++----------
 1 file changed, 4 insertions(+), 10 deletions(-)

diff --git a/src/app/shared/header/header.component.html b/src/app/shared/header/header.component.html
index 44a0c3c..64c84f0 100644
--- a/src/app/shared/header/header.component.html
+++ b/src/app/shared/header/header.component.html
@@ -1,11 +1,5 @@
 <div class="header">
-    <button (click)="navigate('/home')" [ngClass]="{'selected': homePage}">
-        Home
-    </button>
-    <button (click)="navigate('/community')" [ngClass]="{'selected': communityPage}">
-        Communauté
-    </button>
-    <button (click)="navigate('/profile')" [ngClass]="{'selected': profilePage}">
-        Profile
-    </button>
-</div>
\ No newline at end of file
+    <button (click)="navigate('/home')" [ngClass]="{ selected: homePage }">Home</button>
+    <button (click)="navigate('/community')" [ngClass]="{ selected: communityPage }">Community</button>
+    <button (click)="navigate('/profile')" [ngClass]="{ selected: profilePage }">Profile</button>
+</div>
-- 
GitLab


From 804790dfc031b301b3675068027590436a1545e8 Mon Sep 17 00:00:00 2001
From: =?UTF-8?q?Th=C3=A9ophile=20HUSS?= <theophile.huss@etu.unistra.fr>
Date: Fri, 6 Dec 2024 15:09:16 +0100
Subject: [PATCH 05/13] fix: Reload page profile when the user is connected

---
 src/app/modules/profile/sign/sign.component.ts | 1 +
 1 file changed, 1 insertion(+)

diff --git a/src/app/modules/profile/sign/sign.component.ts b/src/app/modules/profile/sign/sign.component.ts
index 4cc90eb..6673b75 100644
--- a/src/app/modules/profile/sign/sign.component.ts
+++ b/src/app/modules/profile/sign/sign.component.ts
@@ -90,6 +90,7 @@ export class SignComponent implements OnInit {
                     next: (data: any) => {
                         if (data['success']) {
                             this.router.navigate(['/profile']);
+                            window.location.reload();
                         }
                     },
                 });
-- 
GitLab


From 53440f1e1556bfe2a4046319ab7b1c917ad98a9c Mon Sep 17 00:00:00 2001
From: =?UTF-8?q?Th=C3=A9ophile=20HUSS?= <theophile.huss@etu.unistra.fr>
Date: Fri, 6 Dec 2024 15:12:26 +0100
Subject: [PATCH 06/13] style: fix css in profile Co-authored-by: Elies

---
 .../profile-info/profile-info.component.css   | 36 +++++++++----
 .../profile-info/profile-info.component.html  | 50 ++++++++++---------
 2 files changed, 54 insertions(+), 32 deletions(-)

diff --git a/src/app/modules/profile/profile-info/profile-info.component.css b/src/app/modules/profile/profile-info/profile-info.component.css
index 06003f3..7ebfdb3 100644
--- a/src/app/modules/profile/profile-info/profile-info.component.css
+++ b/src/app/modules/profile/profile-info/profile-info.component.css
@@ -12,6 +12,29 @@
     height: 88%;
 }
 
+.top {
+    display: flex;
+    flex-direction: row;
+    align-items: center;
+    align-items: center;
+    justify-content: space-between;
+
+    width: 100%;
+    height: 10vh;
+}
+
+.top mat-icon {
+    width: auto;
+    height: auto;
+    margin: 0;
+    font-size: 8vmin;
+    padding-right: 5vw;
+    /* Your profile */
+    font-style: normal;
+    font-weight: 500;
+    color: #00b3f4;
+}
+
 .grid {
     height: 100%;
 }
@@ -38,15 +61,13 @@
     box-sizing: border-box;
     -moz-box-sizing: border-box;
     -webkit-box-sizing: border-box;
-    border: 1vmin solid #F3F3F3;
+    border: 1vmin solid #f3f3f3;
 }
 
 .grid .container {
     height: 89%;
 }
 
-
-
 .form-group {
     width: 100%;
     height: 10%;
@@ -56,7 +77,7 @@ hr {
     width: 100%;
     height: 1vmin;
     margin: 0;
-    background-color: #F3F3F3;
+    background-color: #f3f3f3;
     border: none;
 }
 
@@ -102,15 +123,13 @@ input {
 
 .quiz-button {
     text-align: center;
-    background-color: #F3F3F3;
+    background-color: #f3f3f3;
     border-radius: 8px;
     box-shadow: 0px 4px 4px rgba(0, 0, 0, 0.25);
     margin: 1%;
     width: 95%;
 }
 
-
-
 .quiz-button p {
     margin: 0;
     padding: 1%;
@@ -123,10 +142,9 @@ input {
     font-weight: semi-bold;
 }
 
-
 img {
     width: 10vw;
     height: 10vw;
     border-radius: 50%;
     margin-bottom: 1vw;
-}
\ No newline at end of file
+}
diff --git a/src/app/modules/profile/profile-info/profile-info.component.html b/src/app/modules/profile/profile-info/profile-info.component.html
index 4341fc4..09eb058 100644
--- a/src/app/modules/profile/profile-info/profile-info.component.html
+++ b/src/app/modules/profile/profile-info/profile-info.component.html
@@ -1,19 +1,25 @@
 <div class="question-marks">
-    <mat-icon *ngIf="isLogged" (click)="logOut()">logout</mat-icon>
-    <h1>Your profile</h1>
+    <div class="top">
+        <h1>Your profile</h1>
+        <mat-icon *ngIf="isLogged" (click)="logOut()">logout</mat-icon>
+    </div>
     <div class="content">
         <h3>Your stats</h3>
         <div class="container">
             <div class="grid-profile">
                 <div class="profile_info">
-                    <img src="https://cdn.pixabay.com/photo/2015/10/05/22/37/blank-profile-picture-973460_1280.png"
-                        alt="profile picture" />
+                    <img
+                        src="https://cdn.pixabay.com/photo/2015/10/05/22/37/blank-profile-picture-973460_1280.png"
+                        alt="profile picture"
+                    />
                     <h3>User Name</h3>
                 </div>
                 <hr />
                 <div class="profile_stats">
-                    <img src="https://img.uxcel.com/tags/key-performance-indicator-kpi-1698250709411-2x.jpg"
-                        alt="stats" />
+                    <img
+                        src="https://img.uxcel.com/tags/key-performance-indicator-kpi-1698250709411-2x.jpg"
+                        alt="stats"
+                    />
                 </div>
             </div>
         </div>
@@ -21,24 +27,22 @@
         <div *ngIf="!isLogged" class="grid">
             <app-sign *ngIf="!isLogged"></app-sign>
         </div>
-        <div *ngIf="isLogged">
-            <h3>Your quizzes</h3>
-            <div class="grid">
-                <!-- <form [formGroup]="form" (ngSubmit)="submitForm()"> -->
-                <form>
-                    <div class="form-group">
-                        <input type="text" class="inputRecherche" placeholder="Search a quiz..." />
-                    </div>
-                </form>
-                <div class="container">
-                    <div class="scrollable-list">
-                        <app-quiz-list [quizList]="quizList"></app-quiz-list>
-                    </div>
-                    <div class="new-quiz">
-                        <button class="blueButton" (click)="newQuiz()">Create a new quiz</button>
-                    </div>
+        <h3 *ngIf="isLogged">Your quizzes</h3>
+        <div *ngIf="isLogged" class="grid">
+            <!-- <form [formGroup]="form" (ngSubmit)="submitForm()"> -->
+            <form>
+                <div class="form-group">
+                    <input type="text" class="inputRecherche" placeholder="Search a quiz..." />
+                </div>
+            </form>
+            <div class="container">
+                <div class="scrollable-list">
+                    <app-quiz-list [quizList]="quizList"></app-quiz-list>
+                </div>
+                <div class="new-quiz">
+                    <button class="blueButton" (click)="newQuiz()">Create a new quiz</button>
                 </div>
             </div>
         </div>
     </div>
-</div>
\ No newline at end of file
+</div>
-- 
GitLab


From 39d2b7db3268e0f23ba70a9820a5916489beb71a Mon Sep 17 00:00:00 2001
From: =?UTF-8?q?Th=C3=A9ophile=20HUSS?= <theophile.huss@etu.unistra.fr>
Date: Fri, 6 Dec 2024 15:14:21 +0100
Subject: [PATCH 07/13] feat: coming soon feature

---
 src/app/modules/profile/profile-info/profile-info.component.ts | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

diff --git a/src/app/modules/profile/profile-info/profile-info.component.ts b/src/app/modules/profile/profile-info/profile-info.component.ts
index c721207..f534187 100644
--- a/src/app/modules/profile/profile-info/profile-info.component.ts
+++ b/src/app/modules/profile/profile-info/profile-info.component.ts
@@ -15,7 +15,7 @@ export class ProfileInfoComponent implements OnInit {
 
     ngOnInit(): void {
         this.quizList = [
-            { title: 'Quiz 1', content: 'Quiz 1 Content' },
+            { title: 'Comming soon', content: 'You will soon be able to create your quizzes' },
             { title: 'Quiz 2', content: 'Quiz 2 Content' },
             { title: 'Quiz 3', content: 'Quiz 3 Content' },
             { title: 'Quiz 4', content: 'Quiz 4 Content' },
-- 
GitLab


From caadb8e0ad2c34ec025ce310b38821df98f42449 Mon Sep 17 00:00:00 2001
From: =?UTF-8?q?Th=C3=A9ophile=20HUSS?= <theophile.huss@etu.unistra.fr>
Date: Fri, 6 Dec 2024 15:19:04 +0100
Subject: [PATCH 08/13] fix: Update profile CSS with the disconnect button

---
 src/app/modules/profile/profile-info/profile-info.component.css | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

diff --git a/src/app/modules/profile/profile-info/profile-info.component.css b/src/app/modules/profile/profile-info/profile-info.component.css
index 7ebfdb3..8f9f3ea 100644
--- a/src/app/modules/profile/profile-info/profile-info.component.css
+++ b/src/app/modules/profile/profile-info/profile-info.component.css
@@ -32,7 +32,7 @@
     /* Your profile */
     font-style: normal;
     font-weight: 500;
-    color: #00b3f4;
+    color: red;
 }
 
 .grid {
-- 
GitLab


From cb9a61846f0c33c1b0a65ecad84ba21c0a48251c Mon Sep 17 00:00:00 2001
From: =?UTF-8?q?Th=C3=A9ophile=20HUSS?= <theophile.huss@etu.unistra.fr>
Date: Fri, 6 Dec 2024 15:41:11 +0100
Subject: [PATCH 09/13] style: Improve responsive

---
 .../quiz-list-detail/quiz-list-detail.component.css        | 7 +++----
 1 file changed, 3 insertions(+), 4 deletions(-)

diff --git a/src/app/modules/community/quiz-list-detail/quiz-list-detail.component.css b/src/app/modules/community/quiz-list-detail/quiz-list-detail.component.css
index f7b1dca..273a926 100644
--- a/src/app/modules/community/quiz-list-detail/quiz-list-detail.component.css
+++ b/src/app/modules/community/quiz-list-detail/quiz-list-detail.component.css
@@ -21,11 +21,10 @@
 .quiz-info {
     display: flex;
     flex-direction: column;
-    justify-content: space-between;
 
     height: 30vh;
 
-    background-color: #FEFEFE;
+    background-color: #fefefe;
     border-radius: 10px;
     gap: 1rem;
 }
@@ -48,6 +47,6 @@ hr {
     padding-left: 15%;
     height: 0.5vmin;
     margin: 0;
-    background-color: #B9B9B9;
+    background-color: #b9b9b9;
     border: none;
-}
\ No newline at end of file
+}
-- 
GitLab


From 51e97cc026f79de621b7c3689673342b537483a0 Mon Sep 17 00:00:00 2001
From: =?UTF-8?q?Th=C3=A9ophile=20HUSS?= <theophile.huss@etu.unistra.fr>
Date: Fri, 6 Dec 2024 15:41:52 +0100
Subject: [PATCH 10/13] fix: Show right informations of the quiz in join quiz
 page

---
 .../form-start-quiz.component.html            | 24 +++++++++++++------
 .../form-start-quiz.component.ts              | 23 +++++++++++-------
 2 files changed, 32 insertions(+), 15 deletions(-)

diff --git a/src/app/modules/home/form-quiz/form-start-quiz/form-start-quiz.component.html b/src/app/modules/home/form-quiz/form-start-quiz/form-start-quiz.component.html
index 46d2adb..cd0c2c2 100644
--- a/src/app/modules/home/form-quiz/form-start-quiz/form-start-quiz.component.html
+++ b/src/app/modules/home/form-quiz/form-start-quiz/form-start-quiz.component.html
@@ -2,24 +2,34 @@
     <p class="title">Join a quiz</p>
     <form [formGroup]="formGroup">
         <div class="form-group">
-            <input type="text" formControlName="id" class="inputRecherche" placeholder="code..." />
+            <input
+                type="text"
+                formControlName="id"
+                class="inputRecherche"
+                placeholder="CODE QUIZ"
+                (input)="showQuizInfo()"
+            />
         </div>
     </form>
-    <div class="quiz-info">
+    <div class="quiz-info" *ngIf="quiz">
         <div class="quiz-title">
             <p class="quiz-info-title">Quiz information</p>
             <hr />
         </div>
         <div class="quiz-info-content">
-            <p class="quiz-info-content-value">{{ quiz.category }}</p>
+            <p class="quiz-info-content-value">{{ quiz.category.name }}</p>
         </div>
         <div class="quiz-info-content">
-            <p class="quiz-info-content-title">Difficulty</p>
-            <p class="quiz-info-content-value">{{ quiz.difficulty }}</p>
+            <p class="quiz-info-content-title">Difficulty :</p>
+            <p class="quiz-info-content-value">{{ quiz.difficulty.name }}</p>
         </div>
         <div class="quiz-info-content">
-            <p class="quiz-info-content-title">Nb. questions</p>
-            <p class="quiz-info-content-value">{{ quiz.nbQuestion }}</p>
+            <p class="quiz-info-content-title">Questions :</p>
+            <p class="quiz-info-content-value">{{ quiz.questionIndex }} / {{ quiz.questionCount }}</p>
+        </div>
+        <div class="quiz-info-content">
+            <p class="quiz-info-content-title">Score :</p>
+            <p class="quiz-info-content-value">{{ quiz.score }}</p>
         </div>
     </div>
 
diff --git a/src/app/modules/home/form-quiz/form-start-quiz/form-start-quiz.component.ts b/src/app/modules/home/form-quiz/form-start-quiz/form-start-quiz.component.ts
index f5325dd..1ff920d 100644
--- a/src/app/modules/home/form-quiz/form-start-quiz/form-start-quiz.component.ts
+++ b/src/app/modules/home/form-quiz/form-start-quiz/form-start-quiz.component.ts
@@ -1,30 +1,37 @@
 import { Component, OnInit } from '@angular/core';
 import { FormBuilder, Validators, FormGroup } from '@angular/forms';
 import { Router } from '@angular/router';
+import { QuestionService } from '../../../../services/question.service';
 
 @Component({
     selector: 'app-form-start-quiz',
     templateUrl: './form-start-quiz.component.html',
     styleUrl: './form-start-quiz.component.css',
 })
-
 export class FormStartQuizComponent implements OnInit {
     quiz: any;
 
-    constructor(private fb: FormBuilder, private router: Router) {}
+    constructor(private fb: FormBuilder, private router: Router, private questionService: QuestionService) {}
     formGroup: FormGroup = new FormGroup({});
     ngOnInit(): void {
         this.formGroup = new FormGroup({
             id: this.fb.control('', [Validators.required]),
         });
-
-        this.quiz = {
-          category: "Math",
-          nbQuestion: 10,
-          difficulty: "easy",
-        }
     }
     playQuiz() {
         this.router.navigate(['/play-quiz'], { queryParams: { idQuiz: this.formGroup.value.id } });
     }
+
+    showQuizInfo() {
+        const idQuiz = this.formGroup.get('id')?.value;
+        if (idQuiz.length == 6) {
+            this.questionService.getQuiz(idQuiz).subscribe({
+                next: (data: any) => {
+                    console.log('data', data);
+                    this.quiz = data;
+                },
+            });
+        }
+        console.log(this.formGroup.get('id')?.value);
+    }
 }
-- 
GitLab


From a64dfeeeacb6f1ec4a017ccdabf9643ec929f130 Mon Sep 17 00:00:00 2001
From: =?UTF-8?q?Th=C3=A9ophile=20HUSS?= <theophile.huss@etu.unistra.fr>
Date: Fri, 6 Dec 2024 15:45:22 +0100
Subject: [PATCH 11/13] fix: show text when no quiz is here

---
 .../form-start-quiz/form-start-quiz.component.html       | 9 +++++++++
 1 file changed, 9 insertions(+)

diff --git a/src/app/modules/home/form-quiz/form-start-quiz/form-start-quiz.component.html b/src/app/modules/home/form-quiz/form-start-quiz/form-start-quiz.component.html
index cd0c2c2..9aa88fe 100644
--- a/src/app/modules/home/form-quiz/form-start-quiz/form-start-quiz.component.html
+++ b/src/app/modules/home/form-quiz/form-start-quiz/form-start-quiz.component.html
@@ -32,6 +32,15 @@
             <p class="quiz-info-content-value">{{ quiz.score }}</p>
         </div>
     </div>
+    <div class="quiz-info" *ngIf="!quiz">
+        <div class="quiz-title">
+            <p class="quiz-info-title">Quiz information</p>
+            <hr />
+        </div>
+        <div class="quiz-info-content">
+            <p class="quiz-info-content-title">Type a code</p>
+        </div>
+    </div>
 
     <div class="new-quiz">
         <button class="blueButton" (click)="playQuiz()">Go !</button>
-- 
GitLab


From efd692db90fe2f5c8c35914edee9d06757c50f0b Mon Sep 17 00:00:00 2001
From: =?UTF-8?q?Th=C3=A9ophile=20HUSS?= <theophile.huss@etu.unistra.fr>
Date: Fri, 6 Dec 2024 15:49:10 +0100
Subject: [PATCH 12/13] fix: Show username when user is connected

---
 .../modules/profile/profile-info/profile-info.component.html  | 2 +-
 .../modules/profile/profile-info/profile-info.component.ts    | 4 +++-
 2 files changed, 4 insertions(+), 2 deletions(-)

diff --git a/src/app/modules/profile/profile-info/profile-info.component.html b/src/app/modules/profile/profile-info/profile-info.component.html
index 09eb058..f81beee 100644
--- a/src/app/modules/profile/profile-info/profile-info.component.html
+++ b/src/app/modules/profile/profile-info/profile-info.component.html
@@ -12,7 +12,7 @@
                         src="https://cdn.pixabay.com/photo/2015/10/05/22/37/blank-profile-picture-973460_1280.png"
                         alt="profile picture"
                     />
-                    <h3>User Name</h3>
+                    <h3>{{ username }}</h3>
                 </div>
                 <hr />
                 <div class="profile_stats">
diff --git a/src/app/modules/profile/profile-info/profile-info.component.ts b/src/app/modules/profile/profile-info/profile-info.component.ts
index f534187..0081079 100644
--- a/src/app/modules/profile/profile-info/profile-info.component.ts
+++ b/src/app/modules/profile/profile-info/profile-info.component.ts
@@ -11,6 +11,7 @@ import { UserService } from '../../../services/user.service';
 export class ProfileInfoComponent implements OnInit {
     quizList: any[] = [];
     isLogged: boolean = false;
+    username: string = 'Anonymous';
     constructor(private router: Router, private cookieService: CookieService, private userSerivce: UserService) {}
 
     ngOnInit(): void {
@@ -31,8 +32,9 @@ export class ProfileInfoComponent implements OnInit {
             { title: 'Quiz 14', content: 'Quiz 14 Content' },
             { title: 'Quiz 15', content: 'Quiz 15 Content' },
         ];
-        this.userSerivce.getMe().subscribe((data) => {
+        this.userSerivce.getMe().subscribe((data: any) => {
             this.isLogged = true;
+            this.username = data.username;
         });
     }
 
-- 
GitLab


From 2244bbe8415acdf6401a8e71ac488724ae44e013 Mon Sep 17 00:00:00 2001
From: =?UTF-8?q?Th=C3=A9ophile=20HUSS?= <theophile.huss@etu.unistra.fr>
Date: Fri, 6 Dec 2024 16:00:05 +0100
Subject: [PATCH 13/13] feat: Add idQuiz on play-quiz page

---
 src/app/modules/home/play-quiz/play-quiz.component.html | 6 +++---
 src/app/modules/home/play-quiz/play-quiz.component.ts   | 8 ++++----
 2 files changed, 7 insertions(+), 7 deletions(-)

diff --git a/src/app/modules/home/play-quiz/play-quiz.component.html b/src/app/modules/home/play-quiz/play-quiz.component.html
index d2897da..5fdd8c7 100644
--- a/src/app/modules/home/play-quiz/play-quiz.component.html
+++ b/src/app/modules/home/play-quiz/play-quiz.component.html
@@ -1,6 +1,7 @@
 <div *ngIf="!isLoading" class="main">
     <div class="header">
         <mat-icon (click)="goHome()">home</mat-icon>
+        <p>ID Quiz {{ idQuiz }}</p>
         <div class="title">
             <h4>Question {{ actualQuestionIndex + 1 }}/{{ quiz.questions.length }}</h4>
             <h5>Score : {{ score }}/{{ quiz.questions.length }}</h5>
@@ -13,9 +14,8 @@
     </div>
     <div class="next-question">
         <button *ngIf="showNextQuestion" (click)="nextQuestion()" class="btnNext">
-            @if (actualQuestionIndex === this.quiz.questionIndex - 1 + this.quiz.questions.length - 1) { Finish quiz
-            }
+            @if (actualQuestionIndex === this.quiz.questionIndex - 1 + this.quiz.questions.length - 1) { Finish quiz }
             @else { Next question }
         </button>
     </div>
-</div>
\ No newline at end of file
+</div>
diff --git a/src/app/modules/home/play-quiz/play-quiz.component.ts b/src/app/modules/home/play-quiz/play-quiz.component.ts
index 71067f0..65d4c37 100644
--- a/src/app/modules/home/play-quiz/play-quiz.component.ts
+++ b/src/app/modules/home/play-quiz/play-quiz.component.ts
@@ -15,9 +15,10 @@ export class PlayQuizComponent implements OnInit {
         private activatedRoute: ActivatedRoute,
         private router: Router,
         private cdr: ChangeDetectorRef
-    ) { }
+    ) {}
     isLoading: boolean = false;
     quiz: any = [];
+    idQuiz: any;
     actualQuestion: any;
     actualQuestionIndex: number = -1;
     score: number = 0;
@@ -25,8 +26,8 @@ export class PlayQuizComponent implements OnInit {
     ngOnInit(): void {
         this.isLoading = true;
         this.activatedRoute.queryParams.subscribe((params) => {
-            const idQuiz = params['idQuiz'];
-            this.questionSerivce.getQuiz(idQuiz).subscribe({
+            this.idQuiz = params['idQuiz'];
+            this.questionSerivce.getQuiz(this.idQuiz).subscribe({
                 next: (data: any) => {
                     this.quiz = data;
                     this.quiz.Question;
@@ -43,7 +44,6 @@ export class PlayQuizComponent implements OnInit {
         return textArea.value;
     }
 
-
     nextQuestion() {
         if (this.actualQuestionIndex === this.quiz.questionIndex - 1 + this.quiz.questions.length - 1) {
             Swal.fire({
-- 
GitLab