2
0

🐛 (fileUpload) Fix results file display if name contains comma

Closes #955
This commit is contained in:
Baptiste Arnaud
2023-11-14 17:15:21 +01:00
parent fd00b6fdd5
commit bd198a4e0f
5 changed files with 12 additions and 7 deletions

View File

@@ -10,7 +10,7 @@ export const FileLinks = ({ fileNamesStr }: { fileNamesStr: string }) => {
<HStack as={WrapItem} key={name}> <HStack as={WrapItem} key={name}>
<FileIcon /> <FileIcon />
<TextLink href={name} isExternal> <TextLink href={name} isExternal>
{name.split('/').pop()} {decodeURIComponent(name.split('/').pop() ?? '')}
</TextLink> </TextLink>
</HStack> </HStack>
))} ))}

View File

@@ -1,6 +1,6 @@
{ {
"name": "@typebot.io/js", "name": "@typebot.io/js",
"version": "0.2.18", "version": "0.2.19",
"description": "Javascript library to display typebots on your website", "description": "Javascript library to display typebots on your website",
"type": "module", "type": "module",
"main": "dist/index.js", "main": "dist/index.js",

View File

@@ -8,6 +8,7 @@ import { uploadFiles } from '../helpers/uploadFiles'
import { guessApiHost } from '@/utils/guessApiHost' import { guessApiHost } from '@/utils/guessApiHost'
import { getRuntimeVariable } from '@typebot.io/env/getRuntimeVariable' import { getRuntimeVariable } from '@typebot.io/env/getRuntimeVariable'
import { defaultFileInputOptions } from '@typebot.io/schemas/features/blocks/inputs/file/constants' import { defaultFileInputOptions } from '@typebot.io/schemas/features/blocks/inputs/file/constants'
import { isDefined } from '@typebot.io/lib'
type Props = { type Props = {
context: BotContext context: BotContext
@@ -68,7 +69,10 @@ export const FileUploadForm = (props: Props) => {
}) })
setIsUploading(false) setIsUploading(false)
if (urls.length) if (urls.length)
return props.onSubmit({ label: `File uploaded`, value: urls[0] ?? '' }) return props.onSubmit({
label: `File uploaded`,
value: urls[0] ? encodeURI(urls[0]) : '',
})
setErrorMessage('An error occured while uploading the file') setErrorMessage('An error occured while uploading the file')
} }
const startFilesUpload = async (files: File[]) => { const startFilesUpload = async (files: File[]) => {
@@ -98,7 +102,7 @@ export const FileUploadForm = (props: Props) => {
return setErrorMessage('An error occured while uploading the files') return setErrorMessage('An error occured while uploading the files')
props.onSubmit({ props.onSubmit({
label: `${urls.length} file${urls.length > 1 ? 's' : ''} uploaded`, label: `${urls.length} file${urls.length > 1 ? 's' : ''} uploaded`,
value: urls.join(', '), value: urls.filter(isDefined).map(encodeURI).join(', '),
}) })
} }
@@ -219,7 +223,8 @@ export const FileUploadForm = (props: Props) => {
</Button> </Button>
</Show> </Show>
<SendButton type="submit" disableIcon> <SendButton type="submit" disableIcon>
{props.block.options?.labels?.button === {(props.block.options?.labels?.button ??
defaultFileInputOptions.labels.button) ===
defaultFileInputOptions.labels.button defaultFileInputOptions.labels.button
? `Upload ${selectedFiles().length} file${ ? `Upload ${selectedFiles().length} file${
selectedFiles().length > 1 ? 's' : '' selectedFiles().length > 1 ? 's' : ''

View File

@@ -1,6 +1,6 @@
{ {
"name": "@typebot.io/nextjs", "name": "@typebot.io/nextjs",
"version": "0.2.18", "version": "0.2.19",
"description": "Convenient library to display typebots on your Next.js website", "description": "Convenient library to display typebots on your Next.js website",
"main": "dist/index.js", "main": "dist/index.js",
"types": "dist/index.d.ts", "types": "dist/index.d.ts",

View File

@@ -1,6 +1,6 @@
{ {
"name": "@typebot.io/react", "name": "@typebot.io/react",
"version": "0.2.18", "version": "0.2.19",
"description": "Convenient library to display typebots on your React app", "description": "Convenient library to display typebots on your React app",
"main": "dist/index.js", "main": "dist/index.js",
"types": "dist/index.d.ts", "types": "dist/index.d.ts",