| const files = useStore(s => s.files) | const files = useStore(s => s.files) | ||||
| const { handleLocalFileUpload } = useFile(fileConfig) | const { handleLocalFileUpload } = useFile(fileConfig) | ||||
| const handleChange = (e: React.ChangeEvent<HTMLInputElement>) => { | const handleChange = (e: React.ChangeEvent<HTMLInputElement>) => { | ||||
| const file = e.target.files?.[0] | |||||
| const targetFiles = e.target.files | |||||
| if (file) | |||||
| handleLocalFileUpload(file) | |||||
| if (targetFiles) { | |||||
| if (fileConfig.number_limits) { | |||||
| for (let i = 0; i < targetFiles.length; i++) { | |||||
| if (i + 1 + files.length <= fileConfig.number_limits) | |||||
| handleLocalFileUpload(targetFiles[i]) | |||||
| } | |||||
| } | |||||
| else { | |||||
| handleLocalFileUpload(targetFiles[0]) | |||||
| } | |||||
| } | |||||
| } | } | ||||
| const allowedFileTypes = fileConfig.allowed_file_types | const allowedFileTypes = fileConfig.allowed_file_types | ||||
| onChange={handleChange} | onChange={handleChange} | ||||
| accept={accept} | accept={accept} | ||||
| disabled={!!(fileConfig.number_limits && files.length >= fileConfig?.number_limits)} | disabled={!!(fileConfig.number_limits && files.length >= fileConfig?.number_limits)} | ||||
| multiple={!!fileConfig.number_limits && fileConfig.number_limits > 1} | |||||
| /> | /> | ||||
| ) | ) | ||||
| } | } |