Reactivate Admin Panel, implement exercise 2.1, add feedback if exercise solved

This commit is contained in:
2024-10-24 20:23:28 +02:00
parent c5c5a2da8b
commit 37f9f50da3
18 changed files with 409 additions and 350 deletions

View File

@@ -2,6 +2,8 @@ import { fetchAllExerciseGroups, updateExercise } from "@/data/api/exerciseApi";
import { ExerciseGroupApiModel } from "@/data/models/exercises/exerciseGroupApiModel";
import { defineStore } from "pinia";
import { ref } from "vue";
import { useFeedbackStore } from "./feedback.store";
import { BannerStateEnum } from "@/data/enums/bannerStateEnum";
export const useExerciseStore = defineStore("exerciseStore", {
state: () => ({
@@ -23,10 +25,55 @@ export const useExerciseStore = defineStore("exerciseStore", {
},
solveExercise(exerciseGroupNr: number, exerciseNr: number) {
const feedbackStore = useFeedbackStore()
this.fetchInProgress = true
updateExercise(exerciseGroupNr, exerciseNr, true)
.then(result => {
let bannerState = BannerStateEnum.ERROR
switch(exerciseGroupNr) {
case 0: {
switch(exerciseNr) {
case 1: bannerState = BannerStateEnum.EXERCISESOLVED01; break;
case 2: bannerState = BannerStateEnum.EXERCISESOLVED02; break;
}
break;
}
case 1: {
switch(exerciseNr) {
case 1: bannerState = BannerStateEnum.EXERCISESOLVED11; break;
case 2: bannerState = BannerStateEnum.EXERCISESOLVED12; break;
case 3: bannerState = BannerStateEnum.EXERCISESOLVED13; break;
}
break;
}
case 2: {
switch(exerciseNr) {
case 1: bannerState = BannerStateEnum.EXERCISESOLVED21; break;
case 2: bannerState = BannerStateEnum.EXERCISESOLVED22; break;
case 3: bannerState = BannerStateEnum.EXERCISESOLVED23; break;
}
break;
}
case 3: {
switch(exerciseNr) {
case 1: bannerState = BannerStateEnum.EXERCISESOLVED31; break;
case 2: bannerState = BannerStateEnum.EXERCISESOLVED32; break;
case 3: bannerState = BannerStateEnum.EXERCISESOLVED33; break;
}
break;
}
}
feedbackStore.changeBanner(bannerState)
this.getAllExercises()
})
}