From 34512f8db0f6bc9f368f38fbceba30565fd34601 Mon Sep 17 00:00:00 2001 From: Christian Cueni Date: Fri, 19 Apr 2024 19:28:22 +0200 Subject: [PATCH] Make typechecker happy --- .../src/components/dashboard/UkStatistics.vue | 32 +++++++-- client/src/composables.ts | 10 +-- client/src/pages/dashboard/StatisticPage.vue | 66 ------------------- 3 files changed, 33 insertions(+), 75 deletions(-) delete mode 100644 client/src/pages/dashboard/StatisticPage.vue diff --git a/client/src/components/dashboard/UkStatistics.vue b/client/src/components/dashboard/UkStatistics.vue index 15084d74..7d70d930 100644 --- a/client/src/components/dashboard/UkStatistics.vue +++ b/client/src/components/dashboard/UkStatistics.vue @@ -17,24 +17,46 @@ const statistics = ref(null); const dashboardStore = useDashboardStore(); const attendanceDayPresences = computed(() => { - return statistics.value.attendance_day_presences.summary; + return ( + statistics?.value?.attendance_day_presences?.summary ?? { + days_completed: 0, + participants_present: 0, + } + ); }); const assigmentSummary = computed(() => { - return statistics.value.assignments.summary; + return ( + statistics?.value?.assignments.summary ?? { + average_passed: 0, + completed_count: 0, + total_passed: 0, + total_failed: 0, + } + ); }); const competenceSummary = computed(() => { - return statistics.value.competences.summary; + return ( + statistics?.value?.competences.summary ?? { + fail_total: 0, + success_total: 0, + } + ); }); const feebackSummary = computed(() => { - return statistics.value.feedback_responses.summary; + return ( + statistics?.value?.feedback_responses.summary ?? { + satisfaction_average: 0, + satisfaction_max: 0, + total_responses: 0, + } + ); }); onMounted(async () => { statistics.value = await dashboardStore.loadStatisticsDatav2(props.courseId); - //await dashboardStore.loadStatisticsData(props.courseId); }); diff --git a/client/src/composables.ts b/client/src/composables.ts index b0b0bfc1..1428e4e8 100644 --- a/client/src/composables.ts +++ b/client/src/composables.ts @@ -616,7 +616,7 @@ export function useCourseCircleProgress(circles: Ref) export function useCourseStatisticsv2(courseSlug: string) { const dashboardStore = useDashboardStore(); - const courseStatistics = ref(null); + const courseStatistics = ref(null); const loading = ref(false); const fetchData = async () => { @@ -627,20 +627,22 @@ export function useCourseStatisticsv2(courseSlug: string) { courseSlug ); try { - courseStatistics.value = await fetchStatisticData(courseId); + if (courseId) { + courseStatistics.value = await fetchStatisticData(courseId); + } } finally { loading.value = false; } }; const courseSessionName = (courseSessionId: string) => { - return courseStatistics.value.course_session_properties.sessions.find( + return courseStatistics?.value?.course_session_properties?.sessions.find( (session) => session.id === courseSessionId )?.name; }; const circleMeta = (circleId: string) => { - return courseStatistics.value.course_session_properties.circles.find( + return courseStatistics?.value?.course_session_properties.circles.find( (circle) => circle.id === circleId ); }; diff --git a/client/src/pages/dashboard/StatisticPage.vue b/client/src/pages/dashboard/StatisticPage.vue deleted file mode 100644 index 0e1d29af..00000000 --- a/client/src/pages/dashboard/StatisticPage.vue +++ /dev/null @@ -1,66 +0,0 @@ - - -