diff --git a/apps/dashboard/src/lib/features/course/api/lesson.svelte.ts b/apps/dashboard/src/lib/features/course/api/lesson.svelte.ts index 2a362be9..81178fa2 100644 --- a/apps/dashboard/src/lib/features/course/api/lesson.svelte.ts +++ b/apps/dashboard/src/lib/features/course/api/lesson.svelte.ts @@ -204,6 +204,10 @@ export class LessonApi extends BaseApiWithErrors { logContext: 'deleting lesson', onSuccess: (response) => { if (response.data) { + this.sections = this.sections.map((section) => ({ + ...section, + lessons: section.lessons.filter((l) => l.id !== lessonId) + })); snackbar.success('snackbar.lessons.lesson_deleted'); this.success = true; this.errors = {}; diff --git a/apps/dashboard/src/lib/features/course/components/exercise/view-mode.svelte b/apps/dashboard/src/lib/features/course/components/exercise/view-mode.svelte index cfe4762b..ef09b0e4 100644 --- a/apps/dashboard/src/lib/features/course/components/exercise/view-mode.svelte +++ b/apps/dashboard/src/lib/features/course/components/exercise/view-mode.svelte @@ -649,6 +649,7 @@ $effect(() => { if (!exerciseId || isFetchingExercise || skipHydrateFromSubmissions) return; + if (!isExerciseLoaded) return; if (!submissionList.length || $questionnaireMetaData.isFinished) return; let idx = selectedTryIndex; if (idx < 0 || idx >= submissionList.length) { @@ -700,7 +701,7 @@ ...m, answers, totalPossibleGrade, - currentQuestionIndex: $questionnaire.questions.length, + currentQuestionIndex: $questionnaire.questions.length + 1, currentSectionIndex: activeSections.length > 0 ? activeSections.length - 1 : 0, sectionPhase: 'questions', isFinished: true, diff --git a/apps/dashboard/src/lib/features/course/pages/exercise.svelte b/apps/dashboard/src/lib/features/course/pages/exercise.svelte index d78bcec6..ffa93264 100644 --- a/apps/dashboard/src/lib/features/course/pages/exercise.svelte +++ b/apps/dashboard/src/lib/features/course/pages/exercise.svelte @@ -269,6 +269,7 @@ onDestroy(() => { reset(); + questionnaire.update((q) => ({ ...q, questions: [] })); }); onMount(() => { @@ -309,6 +310,8 @@ }); $effect(() => { + if ($isOrgStudent) return; + const addNewQ = $questionnaire?.questions?.length < 1; if (addNewQ) {