Newer
Older
import React from 'react'
import { DropzoneState, useDropzone } from 'react-dropzone'
export const MAX_FILE_SIZE = 250 * 1024 * 1024
export const SIZE_TOO_LARGE = 'size-too-large'
export const useAddFormalizations = ({}): {
dropzoneState: DropzoneState
formalizations: File[]
} => {
const [files, setFiles] = React.useState<File[]>([])
const onDrop = React.useCallback((acceptedFiles: File[]) => {
setFiles((currentFiles) => [...currentFiles, ...acceptedFiles])
}, [])
const dropzoneState = useDropzone({
onDrop,
noDrag: true,
validator: (file) => {
if (file.size > MAX_FILE_SIZE) {
return {
code: SIZE_TOO_LARGE,
message: `Maximo ${MAX_FILE_SIZE} MB.`,
}
}
return null
},
})
const handleRemoveFormalization = (index: number) => {
const filesCopy = [...files]
filesCopy.splice(index, 1)
setFiles(filesCopy)
}
return { dropzoneState, formalizations: files, handleRemoveFormalization }