diff --git a/src/components/Upload/UploadProgress/dialog.tsx b/src/components/Upload/UploadProgress/dialog.tsx index 72667ae1c..7feb462cf 100644 --- a/src/components/Upload/UploadProgress/dialog.tsx +++ b/src/components/Upload/UploadProgress/dialog.tsx @@ -40,70 +40,78 @@ export function UploadProgressDialog() { {(uploadStage === UPLOAD_STAGES.UPLOADING || - uploadStage === UPLOAD_STAGES.FINISH) && ( + uploadStage === UPLOAD_STAGES.FINISH || + uploadStage === UPLOAD_STAGES.EXTRACTING_METADATA) && ( - {uploadStage === UPLOAD_STAGES.UPLOADING && ( + {(uploadStage === UPLOAD_STAGES.UPLOADING || + uploadStage === UPLOAD_STAGES.EXTRACTING_METADATA) && ( )} + {(uploadStage === UPLOAD_STAGES.UPLOADING || + uploadStage === UPLOAD_STAGES.FINISH) && ( + <> + + - - + {uploadStage === UPLOAD_STAGES.FINISH && + hasUnUploadedFiles && ( + + {constants.FILE_NOT_UPLOADED_LIST} + + )} - {uploadStage === UPLOAD_STAGES.FINISH && - hasUnUploadedFiles && ( - - {constants.FILE_NOT_UPLOADED_LIST} - - )} - - - - - - - + + + + + + + + )} )} {uploadStage === UPLOAD_STAGES.FINISH && } diff --git a/src/components/Upload/UploadProgress/inProgressSection.tsx b/src/components/Upload/UploadProgress/inProgressSection.tsx index 418c2ed69..95c98e02a 100644 --- a/src/components/Upload/UploadProgress/inProgressSection.tsx +++ b/src/components/Upload/UploadProgress/inProgressSection.tsx @@ -10,15 +10,16 @@ import { } from './section'; import UploadProgressContext from 'contexts/uploadProgress'; import constants from 'utils/strings/constants'; +import { UPLOAD_STAGES } from 'constants/upload'; export const InProgressSection = () => { - const { inProgressUploads, hasLivePhotos, uploadFileNames } = useContext( - UploadProgressContext - ); + const { inProgressUploads, hasLivePhotos, uploadFileNames, uploadStage } = + useContext(UploadProgressContext); const fileList = inProgressUploads ?? []; return ( - + }> {constants.INPROGRESS_UPLOADS} @@ -30,8 +31,13 @@ export const InProgressSection = () => { fileList={fileList.map(({ localFileID, progress }) => ( {uploadFileNames.get(localFileID)} - {`-`} - {`${progress}%`} + {uploadStage === UPLOAD_STAGES.UPLOADING && ( + <> + {' '} + {`-`} + {`${progress}%`} + + )} ))} /> diff --git a/src/components/Upload/UploadProgress/title.tsx b/src/components/Upload/UploadProgress/title.tsx index a900ab171..2bdcd2184 100644 --- a/src/components/Upload/UploadProgress/title.tsx +++ b/src/components/Upload/UploadProgress/title.tsx @@ -20,6 +20,8 @@ function UploadProgressSubtitleText() { return ( {uploadStage === UPLOAD_STAGES.UPLOADING + ? constants.UPLOAD_STAGE_MESSAGE[uploadStage](uploadCounter) + : uploadStage === UPLOAD_STAGES.EXTRACTING_METADATA ? constants.UPLOAD_STAGE_MESSAGE[uploadStage](uploadCounter) : constants.UPLOAD_STAGE_MESSAGE[uploadStage]} diff --git a/src/services/upload/uploadManager.ts b/src/services/upload/uploadManager.ts index f7ebaff42..92c84f0b5 100644 --- a/src/services/upload/uploadManager.ts +++ b/src/services/upload/uploadManager.ts @@ -111,6 +111,14 @@ class UploadManager { addLogLine( `received ${filesWithCollectionToUploadIn.length} files to upload` ); + uiService.setFilenames( + new Map( + filesWithCollectionToUploadIn.map((mediaFile) => [ + mediaFile.localID, + UploadService.getAssetName(mediaFile), + ]) + ) + ); const { metadataJSONFiles, mediaFiles } = segregateMetadataAndMediaFiles(filesWithCollectionToUploadIn); addLogLine(`has ${metadataJSONFiles.length} metadata json files`); @@ -274,6 +282,7 @@ class UploadManager { addLogLine(`extractMetadataFromFiles executed`); UIService.reset(mediaFiles.length); for (const { file, localID, collectionID } of mediaFiles) { + UIService.setFileProgress(localID, 0); if (uploadCancelService.isUploadCancelationRequested()) { throw Error(CustomError.UPLOAD_CANCELLED); } @@ -296,6 +305,10 @@ class UploadManager { file )} ` ); + UIService.moveFileToResultList( + localID, + UPLOAD_RESULT.UPLOADED + ); } catch (e) { if (e.message === CustomError.UPLOAD_CANCELLED) { throw e; diff --git a/src/utils/strings/englishConstants.tsx b/src/utils/strings/englishConstants.tsx index 27f83056b..ce2af3f7e 100644 --- a/src/utils/strings/englishConstants.tsx +++ b/src/utils/strings/englishConstants.tsx @@ -107,7 +107,8 @@ const englishConstants = { UPLOAD_STAGE_MESSAGE: { 0: 'Preparing to upload', 1: 'Reading google metadata files', - 2: 'Reading file metadata', + 2: (fileCounter) => + `${fileCounter.finished} / ${fileCounter.total} files metadata extracted`, 3: (fileCounter) => `${fileCounter.finished} / ${fileCounter.total} files backed up`, 4: 'Cancelling remaining uploads', @@ -543,7 +544,7 @@ const englishConstants = { 'Skipped these as there are files with matching names in the same album', UNSUPPORTED_INFO: 'ente does not support these file formats yet', BLOCKED_UPLOADS: 'Blocked uploads', - INPROGRESS_UPLOADS: 'Uploads in progress', + INPROGRESS_UPLOADS: 'In progress', TOO_LARGE_UPLOADS: 'Large files', LARGER_THAN_AVAILABLE_STORAGE_UPLOADS: 'Insufficient storage', LARGER_THAN_AVAILABLE_STORAGE_INFO: