diff --git a/client/src/pages/competence/CompetenceAssignmentRow.vue b/client/src/pages/competence/CompetenceAssignmentRow.vue index fb2fb48a..0f9b8983 100644 --- a/client/src/pages/competence/CompetenceAssignmentRow.vue +++ b/client/src/pages/competence/CompetenceAssignmentRow.vue @@ -43,7 +43,7 @@ const getIconName = () => { > -
Bewertung freigegeben
+
{{ $t("a.Bewertung freigegeben") }}
-
Ergebnisse abgegeben
+
{{ $t("a.Ergebnisse abgegeben") }}
@@ -74,8 +74,8 @@ const getIconName = () => {
-
Höchstpunktzahl
-
{{ assignment.max_points }} Punkte
+
{{ $t("a.Höchstpunktzahl") }}
+
{{ assignment.max_points }} {{ $t("a.Punkte") }}
diff --git a/client/src/pages/competence/CompetenceCertificateComponent.vue b/client/src/pages/competence/CompetenceCertificateComponent.vue index a309167c..7ff49703 100644 --- a/client/src/pages/competence/CompetenceCertificateComponent.vue +++ b/client/src/pages/competence/CompetenceCertificateComponent.vue @@ -5,29 +5,29 @@ import CompetenceAssignmentRow from "@/pages/competence/CompetenceAssignmentRow. import { computed } from "vue"; import type { StatusCount } from "@/components/ui/ItProgress.vue"; import ItProgress from "@/components/ui/ItProgress.vue"; +import _ from "lodash"; log.debug("CompetenceCertificateComponent setup"); const props = defineProps<{ competenceCertificate: CompetenceCertificate; + detailView: boolean; }>(); const totalPointsEvaluatedAssignments = computed(() => { - return props.competenceCertificate.assignments.reduce((acc, assignment) => { - if (assignment.completion?.completion_status === "EVALUATION_SUBMITTED") { - return acc + assignment.max_points; - } - return acc; - }, 0); + return _.sum( + props.competenceCertificate.assignments + .filter((a) => a.completion?.completion_status === "EVALUATION_SUBMITTED") + .map((a) => a.max_points) + ); }); const userPointsEvaluatedAssignments = computed(() => { - return props.competenceCertificate.assignments.reduce((acc, assignment) => { - if (assignment.completion?.completion_status === "EVALUATION_SUBMITTED") { - return acc + (assignment.completion?.evaluation_points ?? 0); - } - return acc; - }, 0); + return _.sum( + props.competenceCertificate.assignments + .filter((a) => a.completion?.completion_status === "EVALUATION_SUBMITTED") + .map((a) => a.completion?.evaluation_points ?? 0) + ); }); const numAssignmentsEvaluated = computed(() => { @@ -52,12 +52,23 @@ const progressStatusCount = computed(() => { diff --git a/client/src/pages/competence/CompetenceOverviewPage.vue b/client/src/pages/competence/CompetenceCertificateDetailPage.vue similarity index 61% rename from client/src/pages/competence/CompetenceOverviewPage.vue rename to client/src/pages/competence/CompetenceCertificateDetailPage.vue index e7ecbf9e..b275d617 100644 --- a/client/src/pages/competence/CompetenceOverviewPage.vue +++ b/client/src/pages/competence/CompetenceCertificateDetailPage.vue @@ -9,13 +9,14 @@ import CompetenceCertificateComponent from "@/pages/competence/CompetenceCertifi const props = defineProps<{ courseSlug: string; + certificateSlug: string; }>(); -log.debug("CompetenceOverviewPage created", props); +log.debug("CompetenceCertificateDetailPage created", props); const courseSession = useCurrentCourseSession(); -const queryResult = useQuery({ +const certificatesQuery = useQuery({ query: COMPETENCE_NAVI_CERTIFICATE_QUERY, variables: { courseSlug: props.courseSlug, @@ -23,11 +24,11 @@ const queryResult = useQuery({ }, }); -const competenceCertificates = computed(() => { +const certificate = computed(() => { return ( - (queryResult.data.value?.competence_certificate_list + (certificatesQuery.data.value?.competence_certificate_list ?.competence_certificates as unknown as CompetenceCertificate[]) ?? [] - ); + ).find((cc) => cc.slug.endsWith(props.certificateSlug)); }); onMounted(async () => { @@ -37,14 +38,19 @@ onMounted(async () => {