Proyectos de Subversion LeadersLinked - SPA

Rev

Rev 3278 | | Comparar con el anterior | Ultima modificación | Ver Log |

Rev Autor Línea Nro. Línea
3719 stevensc 1
import React, { useState } from 'react';
2
import { useSelector } from 'react-redux';
3
import { shareModalTypes } from '../../redux/share-modal/shareModal.types';
4
 
5
import Modal from '@components/UI/modal/Modal';
6
import FormErrorFeedback from '@components/UI/form/FormErrorFeedback';
7
import DropzoneComponent from '@components/dropzone/DropzoneComponent';
8
 
9
const FileModal = ({ isShow, onHide, onComplete }) => {
10
  const [selectedFile, setSelectedFile] = useState(null);
11
  const [error, setError] = useState(false);
12
  const labels = useSelector(({ intl }) => intl.labels);
13
 
14
  const onUpload = (file) => {
15
    setSelectedFile(file);
16
  };
17
 
18
  const onClose = () => {
19
    setSelectedFile(null);
20
    onHide();
21
  };
22
 
23
  const handleSubmit = () => {
24
    if (!selectedFile) {
25
      setError(true);
26
      return;
27
    }
28
 
29
    onComplete(selectedFile);
30
  };
31
 
32
  return (
33
    <Modal
34
      show={isShow}
35
      title='Selecciona un archivo'
36
      onClose={onClose}
37
      onReject={onClose}
38
      onAccept={handleSubmit}
39
    >
40
      <DropzoneComponent
41
        type={shareModalTypes.CHAT}
42
        onUploaded={onUpload}
43
        settedFile={selectedFile}
44
        recomendationText={
45
          <p className='text-center'>
46
            {labels.extensions_allowed}: png, jpg, jpeg, mp4, mpeg, webm, pdf.
47
          </p>
48
        }
49
      />
50
 
51
      {error && <FormErrorFeedback>{labels.select_file}</FormErrorFeedback>}
52
    </Modal>
53
  );
54
};
55
 
56
export default FileModal;