diff --git a/packages/embeds/js/package.json b/packages/embeds/js/package.json index 27b8daffe..44e48d934 100644 --- a/packages/embeds/js/package.json +++ b/packages/embeds/js/package.json @@ -1,6 +1,6 @@ { "name": "@typebot.io/js", - "version": "0.2.51", + "version": "0.2.52", "description": "Javascript library to display typebots on your website", "type": "module", "main": "dist/index.js", diff --git a/packages/embeds/js/src/features/blocks/inputs/fileUpload/components/FileUploadForm.tsx b/packages/embeds/js/src/features/blocks/inputs/fileUpload/components/FileUploadForm.tsx index c905b3f90..aa989cce4 100644 --- a/packages/embeds/js/src/features/blocks/inputs/fileUpload/components/FileUploadForm.tsx +++ b/packages/embeds/js/src/features/blocks/inputs/fileUpload/components/FileUploadForm.tsx @@ -39,7 +39,22 @@ export const FileUploadForm = (props: Props) => { return setErrorMessage(`A file is larger than ${sizeLimit}MB`) if (!props.block.options?.isMultipleAllowed && files) return startSingleFileUpload(newFiles[0]) - setSelectedFiles([...selectedFiles(), ...newFiles]) + if (selectedFiles().length === 0) { + setSelectedFiles(newFiles) + return + } + const parsedNewFiles = newFiles.map((newFile) => { + let fileName = newFile.name + let counter = 1 + while (selectedFiles().some((file) => file.name === fileName)) { + const dotIndex = newFile.name.lastIndexOf('.') + const extension = dotIndex !== -1 ? newFile.name.slice(dotIndex) : '' + fileName = `${newFile.name.slice(0, dotIndex)}(${counter})${extension}` + counter++ + } + return new File([newFile], fileName, { type: newFile.type }) + }) + setSelectedFiles([...selectedFiles(), ...parsedNewFiles]) } const handleSubmit = async (e: SubmitEvent) => { diff --git a/packages/embeds/nextjs/package.json b/packages/embeds/nextjs/package.json index ebbf5a23b..09715d5c7 100644 --- a/packages/embeds/nextjs/package.json +++ b/packages/embeds/nextjs/package.json @@ -1,6 +1,6 @@ { "name": "@typebot.io/nextjs", - "version": "0.2.51", + "version": "0.2.52", "description": "Convenient library to display typebots on your Next.js website", "main": "dist/index.js", "types": "dist/index.d.ts", diff --git a/packages/embeds/react/package.json b/packages/embeds/react/package.json index cfd244ca2..700dcbc21 100644 --- a/packages/embeds/react/package.json +++ b/packages/embeds/react/package.json @@ -1,6 +1,6 @@ { "name": "@typebot.io/react", - "version": "0.2.51", + "version": "0.2.52", "description": "Convenient library to display typebots on your React app", "main": "dist/index.js", "types": "dist/index.d.ts",