From da9c333b27db781113acccc66625968445185a88 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Arnar=20K=C3=A1ri=20=C3=81g=C3=BAstsson?= Date: Tue, 18 Oct 2022 08:02:07 +0000 Subject: [PATCH] fix(j-s): fix files being displayed in progress state (#8710) Co-authored-by: kodiakhq[bot] <49736102+kodiakhq[bot]@users.noreply.github.com> --- .../PoliceCaseFiles/PoliceCaseFilesRoute.tsx | 4 ++-- .../hooks/useS3UploadV2/useS3UploadV2.ts | 22 ++++++++++++------- 2 files changed, 16 insertions(+), 10 deletions(-) diff --git a/apps/judicial-system/web/src/routes/Prosecutor/Indictments/PoliceCaseFiles/PoliceCaseFilesRoute.tsx b/apps/judicial-system/web/src/routes/Prosecutor/Indictments/PoliceCaseFiles/PoliceCaseFilesRoute.tsx index 4ef16cd4a4ba..9628f6134ffb 100644 --- a/apps/judicial-system/web/src/routes/Prosecutor/Indictments/PoliceCaseFiles/PoliceCaseFilesRoute.tsx +++ b/apps/judicial-system/web/src/routes/Prosecutor/Indictments/PoliceCaseFiles/PoliceCaseFilesRoute.tsx @@ -85,14 +85,14 @@ const UploadFilesToPoliceCase: React.FC<{ }, [setAllUploaded, displayFiles]) const setSingleFile = useCallback( - (displayFile) => { + (displayFile: UploadFile, newId?: string) => { setDisplayFiles((previous) => { const index = previous.findIndex((f) => f.id === displayFile.id) if (index === -1) { return previous } const next = [...previous] - next[index] = displayFile + next[index] = { ...displayFile, id: newId ?? displayFile.id } return next }) }, diff --git a/apps/judicial-system/web/src/utils/hooks/useS3UploadV2/useS3UploadV2.ts b/apps/judicial-system/web/src/utils/hooks/useS3UploadV2/useS3UploadV2.ts index d6d9ea8d1d87..96402f94ae47 100644 --- a/apps/judicial-system/web/src/utils/hooks/useS3UploadV2/useS3UploadV2.ts +++ b/apps/judicial-system/web/src/utils/hooks/useS3UploadV2/useS3UploadV2.ts @@ -82,7 +82,10 @@ export const useS3UploadV2 = ( >(DeleteFileMutationDocument) const upload = useCallback( - (files: Array<[File, string]>, updateFile: (file: UploadFile) => void) => { + ( + files: Array<[File, string]>, + updateFile: (file: UploadFile, newId?: string) => void, + ) => { files.forEach(async ([file, id]) => { try { const data = await createPresignedMutation({ @@ -124,13 +127,16 @@ export const useS3UploadV2 = ( throw Error('failed to add file to case') } - updateFile({ - name: file.name, - percent: 100, - status: 'done', - // We need to set the id so we are able to delete the file later - id: data2.data.createFile.id, - }) + updateFile( + { + id: id, + name: file.name, + percent: 100, + status: 'done', + // We need to set the id so we are able to delete the file later + }, + data2.data.createFile.id, + ) } catch (e) { updateFile({ id: id,