MessageDropZone.jsx 1.2 KB

1234567891011121314151617181920212223242526272829303132333435
  1. import {useDropzone} from 'react-dropzone';
  2. import {useEffect} from 'react';
  3. import DropIcon from './icons8-dropIcon.png';
  4. import { connect } from 'react-redux';
  5. import { addUploadDate } from '../../../helpers/addUploadDate';
  6. import { actionOpenModal } from '../../../actions/actionsForModal';
  7. import { actionSetDropMedia } from '../../../actions/actionsForChats';
  8. function MessageDropZone({onLoad, openModal, url, chatId }) {
  9. const {acceptedFiles, getRootProps, getInputProps} = useDropzone({
  10. noDrag: true,
  11. multiple: true,
  12. });
  13. useEffect(()=>{
  14. acceptedFiles[0] && openModal('messageMediaModal');
  15. let files = addUploadDate(acceptedFiles)
  16. acceptedFiles[0] && onLoad(chatId, files)
  17. }, [acceptedFiles])
  18. return (
  19. <section className="container" >
  20. <div style={{height: '24px'}}
  21. {...getRootProps({className: 'dropzone'})}>
  22. <input {...getInputProps()} />
  23. <img style={{
  24. cursor: 'pointer',
  25. height: '24px'
  26. }} src={DropIcon}/>
  27. </div>
  28. </section>
  29. );
  30. }
  31. export default connect(null , {openModal: actionOpenModal, onLoad: actionSetDropMedia})(MessageDropZone)