1
0
mirror of https://github.com/oceanprotocol/commons.git synced 2023-03-15 18:03:00 +01:00
commons/client/src/components/molecules/Dropzone.tsx

35 lines
888 B
TypeScript
Raw Normal View History

2019-09-09 13:53:06 +02:00
import React, { useCallback } from 'react'
import { useDropzone } from 'react-dropzone'
import styles from './Dropzone.module.scss'
export default function Dropzone({
handleOnDrop,
disabled
}: {
handleOnDrop(files: FileList): void
disabled?: boolean
}) {
const onDrop = useCallback(acceptedFiles => handleOnDrop(acceptedFiles), [
handleOnDrop
])
const { getRootProps, getInputProps, isDragActive } = useDropzone({
onDrop
})
return (
<div
{...getRootProps({
className: isDragActive
? styles.dragover
: disabled
? styles.disabled
: styles.dropzone
})}
>
<input {...getInputProps()} />
<p>{`Drag 'n' drop some files here, or click to select files`}</p>
</div>
)
}