From f7aa5a35ca7ae2cad5cf5c8a6ba6a697000de961 Mon Sep 17 00:00:00 2001 From: Reto Aebersold Date: Mon, 15 Jan 2024 15:48:30 +0100 Subject: [PATCH] fix: wait for completion before nav --- .../learningContentPage/LearningContentParent.vue | 4 ++-- client/src/stores/circle.ts | 8 +++++--- 2 files changed, 7 insertions(+), 5 deletions(-) diff --git a/client/src/pages/learningPath/learningContentPage/LearningContentParent.vue b/client/src/pages/learningPath/learningContentPage/LearningContentParent.vue index 012f966f..e33113fd 100644 --- a/client/src/pages/learningPath/learningContentPage/LearningContentParent.vue +++ b/client/src/pages/learningPath/learningContentPage/LearningContentParent.vue @@ -64,8 +64,8 @@ function handleFinishedLearningContent() { props.learningContent, props.circle, previousRoute, - (lc: LearningContentWithCompletion) => { - courseCompletionData.markCompletion(lc, "SUCCESS"); + async (lc: LearningContentWithCompletion) => { + await courseCompletionData.markCompletion(lc, "SUCCESS"); } ); } diff --git a/client/src/stores/circle.ts b/client/src/stores/circle.ts index 1bebc5db..5756c775 100644 --- a/client/src/stores/circle.ts +++ b/client/src/stores/circle.ts @@ -73,16 +73,18 @@ export const useCircleStore = defineStore({ }); } }, - continueFromLearningContent( + async continueFromLearningContent( currentLearningContent: LearningContentWithCompletion, circle: CircleType, returnRoute?: RouteLocationNormalized, - markCompletionFn?: (learningContent: LearningContentWithCompletion) => void + markCompletionFn?: ( + learningContent: LearningContentWithCompletion + ) => Promise ) { if (currentLearningContent) { if (currentLearningContent.can_user_self_toggle_course_completion) { if (markCompletionFn) { - markCompletionFn(currentLearningContent); + await markCompletionFn(currentLearningContent); } } this.closeLearningContent(currentLearningContent, circle, returnRoute);