From 1dbc1b2c9480f6eaba75b8642079b36410e35f4f Mon Sep 17 00:00:00 2001 From: naglepuff Date: Mon, 29 Dec 2025 12:48:08 -0500 Subject: [PATCH 1/4] Show progress bar for submitted recordings --- client/src/views/Recordings.vue | 67 +++++++++++++++++++++++++++++++-- 1 file changed, 63 insertions(+), 4 deletions(-) diff --git a/client/src/views/Recordings.vue b/client/src/views/Recordings.vue index 3efd914c..1baaadcc 100644 --- a/client/src/views/Recordings.vue +++ b/client/src/views/Recordings.vue @@ -20,6 +20,7 @@ import BatchUploadRecording from '@components/BatchUploadRecording.vue'; import RecordingInfoDisplay from '@components/RecordingInfoDisplay.vue'; import RecordingAnnotationSummary from '@components/RecordingAnnotationSummary.vue'; import { FilterFunction, InternalItem } from 'vuetify'; +import { getNABatConfigurationAnnotations } from '@api/NABatApi'; export default defineComponent({ components: { @@ -231,6 +232,33 @@ export default defineComponent({ } } + const countSubmittedMyRecordings = computed(() => { + const submittedByMe = recordingList.value.filter((recording: Recording) => { + const myAnnotations = recording.fileAnnotations.filter((annotation: FileAnnotation) => ( + annotation.owner === currentUser.value && annotation.submitted + )); + return myAnnotations.length > 0; + }); + return submittedByMe.length; + }); + const countSubmittedSharedRecordings = computed(() => { + const submittedByMe = sharedList.value.filter((recording: Recording) => { + const myAnnotations = recording.fileAnnotations.filter((annotation: FileAnnotation) => ( + annotation.owner === currentUser.value && annotation.submitted + )); + return myAnnotations.length > 0; + }); + return submittedByMe.length; + }); + + const recordingListStyles = computed(() => { + const sectionHeight = configuration.value.mark_annotations_completed_enabled ? '35vh' : '40vh'; + return { + 'height': sectionHeight, + 'max-height': sectionHeight, + }; + }); + onMounted(async () => { await loadCurrentUser(); await fetchRecordingTags(); @@ -308,6 +336,9 @@ export default defineComponent({ dataLoading, submittedForCurrentUser, configuration, + countSubmittedMyRecordings, + countSubmittedSharedRecordings, + recordingListStyles, }; }, }); @@ -379,6 +410,7 @@ export default defineComponent({ density="compact" :loading="dataLoading" class="elevation-1 my-recordings" + :style="recordingListStyles" >