Proyectos de Subversion LeadersLinked - Antes de SPA

Rev

| Ultima modificación | Ver Log |

Rev Autor Línea Nro. Línea
6911 stevensc 1
import React, { useState } from 'react'
2
import { Button, Modal } from 'react-bootstrap'
3
import { useSelector } from 'react-redux'
4
import { shareModalTypes } from '../../redux/share-modal/shareModal.types'
5
 
6
import Spinner from '../UI/Spinner'
7
import FormErrorFeedback from '../UI/FormErrorFeedback'
8
import DropzoneComponent from '../dropzone/DropzoneComponent'
9
 
10
const FileModal = ({ isShow, onHide, onComplete, loading }) => {
11
  const [selectedFile, setSelectedFile] = useState(null)
12
  const [error, setError] = useState(false)
13
  const labels = useSelector(({ intl }) => intl.labels)
14
 
15
  const onUpload = (file) => {
16
    setSelectedFile(file)
17
  }
18
 
19
  const onClose = () => {
20
    setSelectedFile(null)
21
    onHide()
22
  }
23
 
24
  const handleSubmit = () => {
25
    if (!selectedFile) {
26
      setError(true)
27
      return
28
    }
29
 
30
    onComplete(selectedFile)
31
  }
32
 
33
  return (
34
    <Modal show={isShow} onHide={onClose}>
35
      <Modal.Body>
36
        {loading ? (
37
          <Spinner />
38
        ) : (
39
          <DropzoneComponent
40
            modalType={shareModalTypes.CHAT}
41
            onUploaded={onUpload}
42
            settedFile={selectedFile}
43
            recomendationText={
44
              <p className="text-center">
45
                {labels.extensions_allowed}: png, jpg, jpeg, mp4, mpeg, webm,
46
                pdf.
47
              </p>
48
            }
49
          />
50
        )}
51
        {error && <FormErrorFeedback>{labels.select_file}</FormErrorFeedback>}
52
      </Modal.Body>
53
      <Modal.Footer>
54
        <Button variant="primary" onClick={handleSubmit} disabled={loading}>
55
          {labels.accept}
56
        </Button>
57
        <Button variant="danger" onClick={onClose}>
58
          {labels.cancel}
59
        </Button>
60
      </Modal.Footer>
61
    </Modal>
62
  )
63
}
64
 
65
export default FileModal