From 2140a63add20fde08ba59bc4c533f3aa0d348062 Mon Sep 17 00:00:00 2001 From: Derrick Hammer Date: Mon, 18 Mar 2024 12:37:22 -0400 Subject: [PATCH] fix: put plugin logic inside setInputProps onChange --- app/components/lib/uppy.ts | 34 ++++++++++++++++++---------------- 1 file changed, 18 insertions(+), 16 deletions(-) diff --git a/app/components/lib/uppy.ts b/app/components/lib/uppy.ts index 522f658..c3bd0e7 100644 --- a/app/components/lib/uppy.ts +++ b/app/components/lib/uppy.ts @@ -117,6 +117,24 @@ export function useUppy({ uppyInstance.current?.addFiles(files) } + uppy.iteratePlugins((plugin) => { + uppy.removePlugin(plugin); + }); + + uppy.use(UppyFileUpload, { sdk: sdk as Sdk }) + + let useTus = false; + + uppyInstance.current?.getFiles().forEach((file) => { + if (file.size > uploadLimit) { + useTus = true; + } + }) + + if (useTus) { + uppy.use(Tus, { endpoint: endpoint, limit: 6 }) + } + // We clear the input after a file is selected, because otherwise // change event is not fired in Chrome and Safari when a file // with the same name is selected. @@ -128,22 +146,6 @@ export function useUppy({ event.target.value = null } }) - - - uppy.use(UppyFileUpload, { sdk: sdk as Sdk }) - - let useTus = false; - - uppyInstance.current?.getFiles().forEach((file) => { - if (file.size > uploadLimit) { - useTus = true; - } - }) - - if (useTus) { - uppy.use(Tus, { endpoint: endpoint, limit: 6 }) - } - uppy.on("complete", (result) => { if (result.failed.length === 0) { console.log("Upload successful üòÄ")