MessageDropZone.jsx 1.3 KB

12345678910111213141516171819202122232425262728293031323334353637
  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 { actionOpenModal } from '../../../reducers/modalReducer';
  6. // import { actionSetDropMedia } from '../../../reducers/messageCreatorReducer';
  7. import { addUploadDate } from '../../utils/addUploadDate';
  8. import { actionSetDropMedia } from '../../../reducers/chatReducer';
  9. function MessageDropZone({onLoad, openModal, url, chatId }) {
  10. const {acceptedFiles, getRootProps, getInputProps} = useDropzone({
  11. noDrag: true,
  12. multiple: true,
  13. });
  14. useEffect(()=>{
  15. acceptedFiles[0] && openModal('messageMediaModal');
  16. let files = addUploadDate(acceptedFiles)
  17. acceptedFiles[0] && onLoad(chatId, files)
  18. }, [acceptedFiles])
  19. return (
  20. <section className="container" >
  21. <div style={{height: '24px'}}
  22. {...getRootProps({className: 'dropzone'})}>
  23. <input {...getInputProps()} />
  24. <img style={{
  25. cursor: 'pointer',
  26. height: '24px'
  27. }} src={DropIcon}/>
  28. </div>
  29. </section>
  30. );
  31. }
  32. export default connect(null , {openModal: actionOpenModal, onLoad: actionSetDropMedia})(MessageDropZone)