diff --git a/client/src/composables.ts b/client/src/composables.ts index d8df4ac5..32102146 100644 --- a/client/src/composables.ts +++ b/client/src/composables.ts @@ -193,7 +193,9 @@ export function useCourseData(courseSlug: string) { log.error(result.error); } - const courseData = cloneDeep(result.data?.course) as Course; + // VBV-757: clone data from `COURSE_QUERY` here, so that each user in + // `useCourseDataWithCompletion` has its own completion instance in the course + const courseData = cloneDeep(result.data?.course) as unknown as Course; course.value = courseData; actionCompetences.value = courseData.action_competences as ActionCompetence[]; learningPath.value = courseData.learning_path as LearningPathType; diff --git a/client/src/types.ts b/client/src/types.ts index 93ed9552..a24f6ecb 100644 --- a/client/src/types.ts +++ b/client/src/types.ts @@ -204,6 +204,8 @@ export interface Course { slug: string; profiles: string[]; configuration: CourseConfiguration; + learning_path?: LearningPathType; + action_competences?: ActionCompetence[]; } export interface CourseCategory {