diff --git a/report-viewer/src/stores/state.ts b/report-viewer/src/stores/state.ts index 03e5543d8..b513f80d7 100644 --- a/report-viewer/src/stores/state.ts +++ b/report-viewer/src/stores/state.ts @@ -32,6 +32,10 @@ export interface State { fileIdToDisplayName: Map submissionIdsToComparisonFileName: Map> + /** + * Name of the file uploaded + */ + uploadedFileName: string } /** diff --git a/report-viewer/src/stores/store.ts b/report-viewer/src/stores/store.ts index b4b714459..491ca6574 100644 --- a/report-viewer/src/stores/store.ts +++ b/report-viewer/src/stores/store.ts @@ -18,7 +18,8 @@ const store = defineStore('store', { singleModeUsed: false, // only used in single mode singleFillRawContent: '', - fileIdToDisplayName: new Map() + fileIdToDisplayName: new Map(), + uploadedFileName: '' }, uiState: { useDarkMode: false, @@ -101,7 +102,8 @@ const store = defineStore('store', { zipModeUsed: false, singleModeUsed: false, singleFillRawContent: '', - fileIdToDisplayName: new Map() + fileIdToDisplayName: new Map(), + uploadedFileName: '' } }, /** diff --git a/report-viewer/src/views/FileUploadView.vue b/report-viewer/src/views/FileUploadView.vue index 7520aafa4..788eac103 100644 --- a/report-viewer/src/views/FileUploadView.vue +++ b/report-viewer/src/views/FileUploadView.vue @@ -75,6 +75,7 @@ fetch('/results.zip') }) .catch(() => {}) +document.title = 'JPlag Report Viewer' const loadingFiles = ref(false) type fileMethod = 'query' | 'local' | 'upload' | 'unknown' const errors: Ref<{ error: Error; source: fileMethod }[]> = ref([]) @@ -162,6 +163,7 @@ async function uploadFileOnDrag(e: DragEvent) { let dropped = e.dataTransfer?.files try { if (dropped?.length === 1) { + store().state.uploadedFileName = dropped[0].name await handleFile(dropped[0]) } else { throw new Error('Not exactly one file') @@ -185,6 +187,7 @@ async function uploadFileThroughWindow() { if (!file) { return } + store().state.uploadedFileName = file.name handleFile(file) } input.click() @@ -209,6 +212,7 @@ async function loadQueryFile(url: URL) { * Handles click on Continue with local files. */ function continueWithLocal() { + store().state.uploadedFileName = 'results.zip' store().setLoadingType({ local: true, zip: localFiles.value === 'zip', @@ -219,6 +223,7 @@ function continueWithLocal() { function registerError(error: Error, source: fileMethod) { loadingFiles.value = false + store().state.uploadedFileName = '' errors.value.push({ error, source }) console.error(error) } diff --git a/report-viewer/src/views/InformationView.vue b/report-viewer/src/views/InformationView.vue index e7ff2bc1c..3ef10da5d 100644 --- a/report-viewer/src/views/InformationView.vue +++ b/report-viewer/src/views/InformationView.vue @@ -17,6 +17,9 @@ {{ overview.matchSensitivity }} + {{ + store().state.uploadedFileName + }} diff --git a/report-viewer/src/views/OverviewView.vue b/report-viewer/src/views/OverviewView.vue index 86717add0..21f042c21 100644 --- a/report-viewer/src/views/OverviewView.vue +++ b/report-viewer/src/views/OverviewView.vue @@ -8,6 +8,9 @@

JPlag Report

{{ submissionPathValue }} + {{ + store().state.uploadedFileName + }} {{ store().getSubmissionIds.length }} @@ -139,6 +142,8 @@ const props = defineProps({ } }) +document.title = `${store().state.uploadedFileName} - JPlag Report Viewer` + const hasMoreSubmissionPaths = computed(() => props.overview.submissionFolderPath.length > 1) const submissionPathValue = computed(() => hasMoreSubmissionPaths.value