Exercisegroup 0 and 1 complete implemented
This commit is contained in:
@@ -15,6 +15,8 @@ export enum BannerStateEnum {
|
||||
|
||||
EXERCISESOLVED02,
|
||||
|
||||
EXERCISESOLVED03,
|
||||
|
||||
EXERCISESOLVED11,
|
||||
|
||||
EXERCISESOLVED12,
|
||||
|
||||
@@ -3,4 +3,6 @@ export class ExerciseGroupModel {
|
||||
nameDe: string = ""
|
||||
nameEn: string = ""
|
||||
groupNr: number = 0
|
||||
descriptionDe: string = ""
|
||||
descriptionEn: string = ""
|
||||
}
|
||||
@@ -172,6 +172,7 @@
|
||||
"databaseResetSuccessful": "Datenbank erfolgreich zurück gesetzt!",
|
||||
"exerciseProgressResetSuccessful": "Aufgabenfortschritt erfolgreich zurück gesetzt!",
|
||||
"registerSuccessful": "Account erfolgreich erstellt!",
|
||||
"registerError": "Fehler beim Erstellen des Accounts",
|
||||
"usernameInUse": "Der Accountname ist bereits vergeben!",
|
||||
"accountUpdated": "Account erfolgreich aktualisiert",
|
||||
"logoutSuccessful": "Logout erfolgreich",
|
||||
|
||||
@@ -172,6 +172,7 @@
|
||||
"databaseResetSuccessful": "Database successfully resetted!",
|
||||
"exerciseProgressResetSuccessful": "Exercise progress successfully resetted!",
|
||||
"registerSuccessful": "Account successfully created!",
|
||||
"registerError": "Error on register account",
|
||||
"usernameInUse": "The username is already in use!",
|
||||
"accountUpdated": "Account successfully updated",
|
||||
"logoutSuccessful": "Logout successfull",
|
||||
|
||||
@@ -8,6 +8,7 @@ import { usePreferencesStore } from '@/stores/preferences.store';
|
||||
import dashboardCard from './dashboardCard.vue';
|
||||
import { useOrderStore } from '@/stores/order.store';
|
||||
import { useFilesStore } from '@/stores/files.store';
|
||||
import { useExerciseStore } from '@/stores/exercise.store';
|
||||
|
||||
const concertStore = useConcertStore()
|
||||
const bandStore = useBandStore()
|
||||
@@ -17,6 +18,9 @@ const locationStore = useLocationStore()
|
||||
const preferencesStore = usePreferencesStore()
|
||||
const orderStore = useOrderStore()
|
||||
const filesStore = useFilesStore()
|
||||
const exerciseStore = useExerciseStore()
|
||||
|
||||
exerciseStore.solveExercise(1, 3)
|
||||
|
||||
filesStore.getStaticFolders()
|
||||
bandStore.getBands()
|
||||
|
||||
@@ -21,7 +21,14 @@ onMounted(async () => {
|
||||
)
|
||||
})
|
||||
|
||||
watch(() => router.currentRoute.value.params.id, () => {
|
||||
watch(() => router.currentRoute.value.params.locationUrl, () => {
|
||||
concertStore.getConcert(
|
||||
String(router.currentRoute.value.params.locationUrl),
|
||||
String(router.currentRoute.value.params.date)
|
||||
)
|
||||
})
|
||||
|
||||
watch(() => router.currentRoute.value.params.date, () => {
|
||||
concertStore.getConcert(
|
||||
String(router.currentRoute.value.params.locationUrl),
|
||||
String(router.currentRoute.value.params.date)
|
||||
|
||||
@@ -139,9 +139,20 @@ export const useAccountStore = defineStore("accountStore", {
|
||||
*/
|
||||
async updateAccount() {
|
||||
const feedbackStore = useFeedbackStore()
|
||||
const exerciseStore = useExerciseStore()
|
||||
|
||||
// Check for exercise 0.2 completion
|
||||
let accountComplete = this.userAccount.firstName != "" && this.userAccount.lastName != "" &&
|
||||
this.userAccount.addresses.length != 0 && this.userAccount.payments.length != 0
|
||||
|
||||
if (accountComplete) {
|
||||
exerciseStore.solveExercise(0, 2)
|
||||
}
|
||||
|
||||
// Update in backend
|
||||
await updateAccount(this.userAccount, this.userAccountToken)
|
||||
.then(res => {
|
||||
|
||||
if (res.status == 200) {
|
||||
feedbackStore.addSnackbar(BannerStateEnum.ACCOUNTUPDATESUCCESSFUL)
|
||||
|
||||
|
||||
@@ -109,18 +109,21 @@ export const useBasketStore = defineStore('basketStore', {
|
||||
if (result.status == 201) {
|
||||
await accountStore.refreshOrders()
|
||||
|
||||
this.itemsInBasket = []
|
||||
feedbackStore.addSnackbar(BannerStateEnum.ORDERPLACESUCCESSFUL)
|
||||
|
||||
// Exercise 0.2 is solved
|
||||
exerciseStore.solveExercise(0, 2)
|
||||
// Exercise 0.3 is solved
|
||||
exerciseStore.solveExercise(0, 3)
|
||||
|
||||
for (let ticket of this.itemsInBasket) {
|
||||
if (!ticket.concert.offered) {
|
||||
console.log(this.itemsInBasket)
|
||||
|
||||
for (let item of this.itemsInBasket) {
|
||||
if (!item.concert.offered) {
|
||||
exerciseStore.solveExercise(1, 2)
|
||||
feedbackStore.addSnackbar(BannerStateEnum.EXERCISESOLVED12)
|
||||
}
|
||||
}
|
||||
|
||||
this.itemsInBasket = []
|
||||
} else {
|
||||
feedbackStore.addSnackbar(BannerStateEnum.ERROR)
|
||||
}
|
||||
|
||||
@@ -71,6 +71,7 @@ export const useExerciseStore = defineStore("exerciseStore", {
|
||||
switch(exerciseNr) {
|
||||
case 1: bannerState = BannerStateEnum.EXERCISESOLVED01; break;
|
||||
case 2: bannerState = BannerStateEnum.EXERCISESOLVED02; break;
|
||||
case 3: bannerState = BannerStateEnum.EXERCISESOLVED03; break;
|
||||
}
|
||||
|
||||
break;
|
||||
|
||||
@@ -6,6 +6,7 @@ import { Composer } from 'vue-i18n';
|
||||
/**
|
||||
* Logic of the bubble notifications
|
||||
* Includes an i18n object for translation
|
||||
* Includes a variable for redirecting to 404 page
|
||||
*/
|
||||
export const useFeedbackStore = defineStore("feedbackStore", {
|
||||
state: () => ({
|
||||
@@ -14,15 +15,6 @@ export const useFeedbackStore = defineStore("feedbackStore", {
|
||||
/** Show notification banner in top right corner */
|
||||
showSnackbar: ref(false),
|
||||
|
||||
/** Text in the notification banner */
|
||||
title: ref(""),
|
||||
|
||||
/** Color of the notification banner */
|
||||
color: ref(""),
|
||||
|
||||
/** Prepend icon of the notification banner */
|
||||
icon: ref(""),
|
||||
|
||||
/** Programmatically access to language translation module */
|
||||
$i18n: {},
|
||||
|
||||
@@ -69,6 +61,9 @@ export const useFeedbackStore = defineStore("feedbackStore", {
|
||||
|
||||
case BannerStateEnum.EXERCISESOLVED02:
|
||||
return this.i18n.t("bannerMessages.exerciseSolvedNr", [0, 2])
|
||||
|
||||
case BannerStateEnum.EXERCISESOLVED03:
|
||||
return this.i18n.t("bannerMessages.exerciseSolvedNr", [0, 3])
|
||||
|
||||
|
||||
case BannerStateEnum.EXERCISESOLVED11:
|
||||
@@ -131,6 +126,9 @@ export const useFeedbackStore = defineStore("feedbackStore", {
|
||||
case BannerStateEnum.ACCOUNTREGISTERSUCCESSFUL:
|
||||
return this.i18n.t("bannerMessages.registerSuccessful")
|
||||
|
||||
case BannerStateEnum.ACCOUNTREGISTERERROR:
|
||||
return this.i18n.t("bannerMessages.registerSuccessful")
|
||||
|
||||
case BannerStateEnum.ACCOUNTREGISTERUSERNAMEINUSE:
|
||||
return this.i18n.t("bannerMessages.usernameInUse")
|
||||
|
||||
@@ -207,6 +205,7 @@ export const useFeedbackStore = defineStore("feedbackStore", {
|
||||
|
||||
case BannerStateEnum.EXERCISESOLVED01:
|
||||
case BannerStateEnum.EXERCISESOLVED02:
|
||||
case BannerStateEnum.EXERCISESOLVED03:
|
||||
case BannerStateEnum.EXERCISESOLVED11:
|
||||
case BannerStateEnum.EXERCISESOLVED12:
|
||||
case BannerStateEnum.EXERCISESOLVED13:
|
||||
@@ -237,6 +236,7 @@ export const useFeedbackStore = defineStore("feedbackStore", {
|
||||
|
||||
case BannerStateEnum.EXERCISESOLVED01:
|
||||
case BannerStateEnum.EXERCISESOLVED02:
|
||||
case BannerStateEnum.EXERCISESOLVED03:
|
||||
case BannerStateEnum.EXERCISESOLVED11:
|
||||
case BannerStateEnum.EXERCISESOLVED12:
|
||||
case BannerStateEnum.EXERCISESOLVED13:
|
||||
|
||||
Reference in New Issue
Block a user