From 20f6e36c2ced7b191ef57904c4cf93b838cbcb5c Mon Sep 17 00:00:00 2001 From: fabienmcll Date: Sat, 31 Aug 2024 23:54:24 +0200 Subject: [PATCH] quiz fonctionel --- src/assets/main.css | 5 +++++ src/components/Question.vue | 41 +++++++++++++++++++++++++++---------- src/components/Quiz.vue | 19 +++++++++++++++-- src/components/Recap.vue | 29 ++++++++++++++++++++++++++ 4 files changed, 81 insertions(+), 13 deletions(-) create mode 100644 src/components/Recap.vue diff --git a/src/assets/main.css b/src/assets/main.css index 0ba671d..f06687c 100644 --- a/src/assets/main.css +++ b/src/assets/main.css @@ -4,4 +4,9 @@ .question { padding-top: 2rem; +} + +.question button{ + margin-left: auto; + display: block; } \ No newline at end of file diff --git a/src/components/Question.vue b/src/components/Question.vue index c901241..33f4d98 100644 --- a/src/components/Question.vue +++ b/src/components/Question.vue @@ -1,17 +1,36 @@ - \ No newline at end of file +const answer = ref(null); +const emit = defineEmits(['answer']); +const hasAnswer = computed(() => answer.value !== null); + +const submitAnswer = () => { + if (hasAnswer.value) { + emit('answer', answer.value); + } +}; + +watch(() => props.question, () => { + answer.value = null; +}); + diff --git a/src/components/Quiz.vue b/src/components/Quiz.vue index a47ad25..cc2f135 100644 --- a/src/components/Quiz.vue +++ b/src/components/Quiz.vue @@ -2,8 +2,10 @@

{{ quiz.title }}

- - + + + + {{ answers }}
@@ -16,13 +18,26 @@ import { computed, ref } from 'vue'; import Progress from './Progress.vue'; import Question from './Question.vue'; +import Recap from './Recap.vue'; const props = defineProps({ quiz: Object }) +const state = ref('question') +const answers = ref(props.quiz.questions.map(() => null)) const step = ref(0) const question = computed(() => props.quiz.questions[step.value]) +const addAnswer = (answer) =>{ + answers.value[step.value] = answer + if (step.value === props.quiz.questions.length -1){ + state.value = 'recap' + } else{ + step.value++ + + } +} + \ No newline at end of file diff --git a/src/components/Recap.vue b/src/components/Recap.vue new file mode 100644 index 0000000..5cac470 --- /dev/null +++ b/src/components/Recap.vue @@ -0,0 +1,29 @@ + + +