diff --git a/src/components/pages/upload/File/index.tsx b/src/components/pages/upload/File/index.tsx index 13fa7076..019abdd9 100644 --- a/src/components/pages/upload/File/index.tsx +++ b/src/components/pages/upload/File/index.tsx @@ -66,23 +66,16 @@ export default function UploadFile({ title, folder }: { title?: string; folder?: }, []); const upload = async () => { - const toPartialFiles: File[] = files.filter( - (file) => config.chunks.enabled && file.size >= bytes(config.chunks.max), - ); - if (toPartialFiles.length > 0) { - uploadPartialFiles(toPartialFiles, { - setFiles, - setLoading, - setProgress, - clipboard, - clearEphemeral, - options, - ephemeral, - config, - folder, - }); - } else { - const size = aggSize(); + const maxBytes = config.chunks.enabled && bytes(config.chunks.max); + const partialUploads: File[] = maxBytes + ? files.filter((file) => file.size >= maxBytes) + : []; + const normalUploads: File[] = maxBytes + ? files.filter((file) => file.size < maxBytes) + : files; + + if (normalUploads.length > 0) { + const size = normalUploads.reduce((acc, file) => acc + file.size, 0); if (size > bytes(config.files.maxFileSize)) { notifications.show({ title: 'Upload may fail', @@ -98,7 +91,7 @@ export default function UploadFile({ title, folder }: { title?: string; folder?: }); } - await uploadFiles(files, { + await uploadFiles(normalUploads, { setFiles, setLoading, setProgress, @@ -109,6 +102,20 @@ export default function UploadFile({ title, folder }: { title?: string; folder?: folder, }); } + + if (partialUploads.length > 0) { + await uploadPartialFiles(partialUploads, { + setFiles, + setLoading, + setProgress, + clipboard, + clearEphemeral, + options, + ephemeral, + config, + folder, + }); + } }; useEffect(() => {