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