Proyectos de Subversion LeadersLinked - SPA

Rev

Rev 1930 | Ir a la última revisión | | Comparar con el anterior | Ultima modificación | Ver Log |

Rev Autor Línea Nro. Línea
5 stevensc 1
import React, { useState } from 'react'
2
import { useSelector } from 'react-redux'
3
import { shareModalTypes } from '../../redux/share-modal/shareModal.types'
4
 
1384 stevensc 5
import Modal from 'components/UI/modal/Modal'
1437 stevensc 6
import FormErrorFeedback from 'components/UI/form/FormErrorFeedback'
1217 stevensc 7
import DropzoneComponent from 'components/dropzone/DropzoneComponent'
5 stevensc 8
 
1929 stevensc 9
const FileModal = ({ isShow, onHide, onComplete }) => {
5 stevensc 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 (
1426 stevensc 33
    <Modal
34
      show={isShow}
1930 stevensc 35
      title='Selecciona un archivo'
1426 stevensc 36
      onClose={onClose}
37
      onReject={onClose}
38
      onAccept={handleSubmit}
39
    >
3278 stevensc 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
      />
1929 stevensc 50
 
1217 stevensc 51
      {error && <FormErrorFeedback>{labels.select_file}</FormErrorFeedback>}
5 stevensc 52
    </Modal>
53
  )
54
}
55
 
56
export default FileModal