From e41b3222bfe21cfb2d78a8eae156f11b460e92df Mon Sep 17 00:00:00 2001 From: Daniel Egger Date: Sat, 27 Jul 2024 15:43:59 +0200 Subject: [PATCH] Add Grade widget in dashboard --- .../dashboard/BerufsbildnerStatistics.vue | 36 +++++++++++++++++-- .../src/components/dashboard/CoursePanel.vue | 9 ++++- .../dashboard/StatisticFilterList.vue | 2 +- .../components/header/CoursePreviewBar.vue | 2 +- .../components/header/MainNavigationBar.vue | 2 +- client/src/components/header/MobileMenu.vue | 2 +- client/src/gql/gql.ts | 4 +-- client/src/gql/graphql.ts | 5 +-- client/src/gql/schema.graphql | 1 + client/src/graphql/queries.ts | 1 + .../dashboard/graphql/types/assignment.py | 6 ++++ .../dashboard/graphql/types/dashboard.py | 3 +- 12 files changed, 60 insertions(+), 13 deletions(-) diff --git a/client/src/components/dashboard/BerufsbildnerStatistics.vue b/client/src/components/dashboard/BerufsbildnerStatistics.vue index de812067..57255a25 100644 --- a/client/src/components/dashboard/BerufsbildnerStatistics.vue +++ b/client/src/components/dashboard/BerufsbildnerStatistics.vue @@ -7,6 +7,8 @@ import { import type { BaseStatisticsType } from "@/gql/graphql"; import LoadingSpinner from "@/components/ui/LoadingSpinner.vue"; import AssignmentSummaryBox from "@/components/dashboard/AssignmentSummaryBox.vue"; +import BaseBox from "@/components/dashboard/BaseBox.vue"; +import { percentToRoundedGrade } from "@/services/assignmentService"; const props = defineProps<{ courseSlug: string; @@ -28,18 +30,48 @@ onMounted(async () => { ); loading.value = false; }); + +const averageGrade = computed(() => { + return percentToRoundedGrade( + assignmentStats.value?.summary.average_evaluation_percent ?? 0, + false + ); +});