Proyectos de Subversion LeadersLinked - SPA

Rev

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

Rev Autor Línea Nro. Línea
1904 stevensc 1
import React, { useEffect } from 'react'
1902 stevensc 2
import { useSelector } from 'react-redux'
3
import { useForm } from 'react-hook-form'
4
 
5
import Modal from '../modal/Modal'
6
import DropzoneComponent from '../../dropzone/DropzoneComponent'
7
import FormErrorFeedback from '../form/FormErrorFeedback'
8
 
9
const CoverModal = ({
10
  show = false,
11
  sizes = '',
12
  onClose = () => {},
13
  onConfirm = async () => {}
14
}) => {
15
  const labels = useSelector(({ intl }) => intl.labels)
16
 
17
  const { register, errors, handleSubmit, setValue } = useForm()
18
 
19
  const onUploadedHandler = (files) => {
20
    setValue('cover', files)
21
  }
22
 
1904 stevensc 23
  const onSubmit = handleSubmit(({ cover }) => onConfirm(cover))
1902 stevensc 24
 
25
  useEffect(() => {
26
    register('cover', {
27
      required: 'Este campo es requerido'
28
    })
29
  }, [])
30
 
31
  return (
32
    <Modal
33
      title={labels.cover}
34
      show={show}
35
      onClose={onClose}
36
      onAccept={onSubmit}
37
    >
38
      <DropzoneComponent
39
        modalType='IMAGE'
40
        onUploaded={onUploadedHandler}
41
        recomendationText={`Imágenes recomendadas de ${sizes}`}
42
      />
43
      {errors.cover && (
44
        <FormErrorFeedback>{errors.cover.message}</FormErrorFeedback>
45
      )}
46
    </Modal>
47
  )
48
}
49
 
50
export default CoverModal