import React, { FC, useCallback } from 'react'; import Dropzone from 'react-dropzone'; import classnames from 'classnames'; import classNames from 'classnames'; import styles from './styles.module.scss'; import { DivProps } from '~/utils/types'; import { DropHereIcon } from '~/components/input/DropHereIcon'; import { useDragDetector } from '~/hooks/dom/useDragDetector'; interface IProps extends DivProps { onUpload: (files: File[]) => void; helperClassName?: string; } const UploadDropzone: FC = ({ children, onUpload, helperClassName, ...rest }) => { const { isDragging: isDraggingOnBody, onStopDragging } = useDragDetector(); const onDrop = useCallback( (files: File[]) => { onStopDragging(); onUpload(files); }, [onStopDragging, onUpload] ); return ( {({ getRootProps, isDragActive }) => (
{children}
)}
); }; export { UploadDropzone };