2
0

🐛 (fileUpload) Handle duplicate names properly

Closes #1366
This commit is contained in:
Baptiste Arnaud
2024-03-18 18:22:45 +01:00
parent 782c08b15e
commit 26a9282c20
4 changed files with 19 additions and 4 deletions

View File

@ -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",

View File

@ -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) => {

View File

@ -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",

View File

@ -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",