DropMediaFilesOptions.jsx 1.3 KB

12345678910111213141516171819202122232425262728293031323334
  1. import { useEffect } from "react";
  2. import { useDropzone } from "react-dropzone";
  3. import { connect } from "react-redux";
  4. import { actionChangeFile, actionDeleteOneMediaFile } from "../../actions/actionsForChats";
  5. import { addUploadDate } from "../../helpers/addUploadDate";
  6. import { DropMediaFilesOptionsWrap } from "./DropMediaFilesOptions.style"
  7. import ArrowsIcon from './icons8-arrows.png';
  8. import Basket from './icons8_basket.svg';
  9. const DropMediaFilesOptions = ({deleteFile, mediaKey, changeFile, chatId}) => {
  10. const {acceptedFiles, getRootProps, getInputProps} = useDropzone({
  11. noDrag: true,
  12. multiple: false
  13. });
  14. useEffect(()=>{
  15. let files = addUploadDate(acceptedFiles)
  16. acceptedFiles[0] && changeFile(chatId, files, mediaKey)
  17. }, [acceptedFiles])
  18. return (
  19. <DropMediaFilesOptionsWrap>
  20. <div style={{height: '19px'}}
  21. {...getRootProps({className: 'dropzone'})}>
  22. <input {...getInputProps()} />
  23. <img src={ArrowsIcon}/>
  24. </div>
  25. <img src={Basket} onClick={() => deleteFile(chatId, mediaKey)}/>
  26. </DropMediaFilesOptionsWrap>
  27. )
  28. }
  29. export default connect(null, {deleteFile: actionDeleteOneMediaFile, changeFile: actionChangeFile})(DropMediaFilesOptions)