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] 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