Proyectos de Subversion LeadersLinked - SPA

Rev

Rev 3278 | Mostrar el archivo completo | | | Autoría | Ultima modificación | Ver Log |

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