+
-
-
+
diff --git a/client/src/stores/circle.ts b/client/src/stores/circle.ts
index 5f2bdfe2..9fff1755 100644
--- a/client/src/stores/circle.ts
+++ b/client/src/stores/circle.ts
@@ -9,9 +9,6 @@ import { useLearningPathStore } from '@/stores/learningPath'
export type CircleStoreState = {
circle: Circle | undefined
- currentLearningContent: LearningContent | undefined
- currentSelfEvaluation: LearningUnit | undefined
- page: 'INDEX' | 'OVERVIEW' | 'LEARNING_CONTENT' | 'SELF_EVALUATION'
}
export const useCircleStore = defineStore({
@@ -19,9 +16,6 @@ export const useCircleStore = defineStore({
state: () => {
return {
circle: undefined,
- currentLearningContent: undefined,
- currentSelfEvaluation: undefined,
- page: 'INDEX',
} as CircleStoreState;
},
getters: {
@@ -45,32 +39,27 @@ export const useCircleStore = defineStore({
},
async loadLearningContent(learningPathSlug: string, circleSlug: string, learningContentSlug: string) {
const circle = await this.loadCircle(learningPathSlug, circleSlug);
- if (circle) {
- this.currentLearningContent = circle.flatLearningContents.find((learningContent) => {
- return learningContent.slug.endsWith(learningContentSlug);
- });
- }
+ const result = circle.flatLearningContents.find((learningContent) => {
+ return learningContent.slug.endsWith(learningContentSlug);
+ });
- if (!this.currentLearningContent) {
+ if (!result) {
throw `No learning content found with slug: ${learningContentSlug}`;
}
- return this.currentLearningContent;
+ return result
},
async loadSelfEvaluation(learningPathSlug: string, circleSlug: string, learningUnitSlug: string) {
const circle = await this.loadCircle(learningPathSlug, circleSlug);
- if (circle) {
- this.currentSelfEvaluation = circle.flatLearningUnits.find((child) => {
- return child.slug.endsWith(learningUnitSlug)
- });
- }
+ const learningUnit = circle.flatLearningUnits.find((child) => {
+ return child.slug.endsWith(learningUnitSlug)
+ });
- if (!this.currentSelfEvaluation) {
+ if (!learningUnit) {
throw `No self evaluation found with slug: ${learningUnitSlug}`;
}
- return this.currentLearningContent;
-
+ return learningUnit
},
async markCompletion(page: LearningContent | LearningUnitQuestion, flag = true) {
try {
@@ -88,7 +77,6 @@ export const useCircleStore = defineStore({
}
},
openLearningContent(learningContent: LearningContent) {
- this.currentLearningContent = learningContent;
const shortSlug = learningContent.slug.replace(`${this.circle?.slug}-lc-`, '');
this.router.push({
path: `${this.circle?.getUrl()}/${shortSlug}`,
@@ -100,7 +88,6 @@ export const useCircleStore = defineStore({
});
},
openSelfEvaluation(learningUnit: LearningUnit) {
- this.currentSelfEvaluation = learningUnit;
const shortSlug = learningUnit.slug.replace(`${this.circle?.slug}-lu-`, '');
this.router.push({
path: `${this.circle?.getUrl()}/evaluate/${shortSlug}`,
@@ -122,12 +109,12 @@ export const useCircleStore = defineStore({
}
return undefined;
},
- continueFromLearningContent() {
- if (this.currentLearningContent) {
- this.markCompletion(this.currentLearningContent, true);
+ continueFromLearningContent(currentLearningContent: LearningContent) {
+ if (currentLearningContent) {
+ this.markCompletion(currentLearningContent, true);
- const nextLearningContent = this.currentLearningContent.nextLearningContent;
- const currentParent = this.currentLearningContent.parentLearningUnit;
+ const nextLearningContent = currentLearningContent.nextLearningContent;
+ const currentParent = currentLearningContent.parentLearningUnit;
const nextParent = nextLearningContent?.parentLearningUnit;
if (
@@ -138,12 +125,12 @@ export const useCircleStore = defineStore({
// go to self evaluation
// this.openSelfEvaluation(currentParent);
this.closeLearningContent();
- } else if (this.currentLearningContent.nextLearningContent) {
+ } else if (currentLearningContent.nextLearningContent) {
if (
- this.currentLearningContent.parentLearningSequence &&
- this.currentLearningContent.parentLearningSequence.id === nextLearningContent?.parentLearningSequence?.id
+ currentLearningContent.parentLearningSequence &&
+ currentLearningContent.parentLearningSequence.id === nextLearningContent?.parentLearningSequence?.id
) {
- this.openLearningContent(this.currentLearningContent.nextLearningContent);
+ this.openLearningContent(currentLearningContent.nextLearningContent);
} else {
this.closeLearningContent();
}
diff --git a/client/src/views/LearningContentView.vue b/client/src/views/LearningContentView.vue
index df25a693..17af144b 100644
--- a/client/src/views/LearningContentView.vue
+++ b/client/src/views/LearningContentView.vue
@@ -1,10 +1,10 @@
-
+
diff --git a/client/src/views/LearningUnitSelfEvaluationView.vue b/client/src/views/LearningUnitSelfEvaluationView.vue
index f7c084c5..dfcc08f6 100644
--- a/client/src/views/LearningUnitSelfEvaluationView.vue
+++ b/client/src/views/LearningUnitSelfEvaluationView.vue
@@ -3,9 +3,10 @@ import * as log from 'loglevel'
import SelfEvaluation from '@/components/circle/SelfEvaluation.vue'
-import { onMounted } from 'vue'
-import { useCircleStore } from '@/stores/circle'
+import { onMounted, reactive } from 'vue'
import { useAppStore } from '@/stores/app'
+import { useCircleStore } from '@/stores/circle'
+import type { LearningUnit } from '@/types'
log.debug('LearningUnitSelfEvaluationView created')
@@ -20,11 +21,17 @@ appStore.showMainNavigationBar = false
const circleStore = useCircleStore()
+const state: { learningUnit?: LearningUnit } = reactive({})
+
onMounted(async () => {
log.debug('LearningUnitSelfEvaluationView mounted', props.learningPathSlug, props.circleSlug, props.learningUnitSlug)
try {
- await circleStore.loadSelfEvaluation(props.learningPathSlug, props.circleSlug, props.learningUnitSlug)
+ state.learningUnit = await circleStore.loadSelfEvaluation(
+ props.learningPathSlug,
+ props.circleSlug,
+ props.learningUnitSlug
+ )
} catch (error) {
log.error(error)
}
@@ -32,7 +39,7 @@ onMounted(async () => {
-
+