Proyectos de Subversion LeadersLinked - SPA

Rev

Rev 1437 | Rev 1979 | 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 from 'react'
1217 stevensc 2
import { useDispatch } from 'react-redux'
3
import { useForm } from 'react-hook-form'
4
 
5 stevensc 5
import { axios } from '../../utils'
6
import { addNotification } from '../../redux/notification/notification.actions'
7
 
1384 stevensc 8
import Modal from 'components/UI/modal/Modal'
1437 stevensc 9
import FormErrorFeedback from 'components/UI/form/FormErrorFeedback'
5 stevensc 10
 
11
const CreateGroupModal = ({ isOpen, onClose }) => {
12
  const { register, handleSubmit, errors } = useForm()
13
  const dispatch = useDispatch()
14
 
1217 stevensc 15
  const onSubmitHandler = handleSubmit(async (data) => {
5 stevensc 16
    axios
1971 stevensc 17
      .post('/chat/create-group', data)
5 stevensc 18
      .then(({ data: response }) => {
19
        const { success } = response
20
 
21
        if (!success) {
22
          dispatch(
23
            addNotification({
24
              style: 'danger',
655 stevensc 25
              message: 'Ha ocurrido un error, por favor intente más tarde.'
5 stevensc 26
            })
27
          )
28
          return
29
        }
30
 
31
        onClose()
32
      })
655 stevensc 33
      .catch((err) => {
34
        dispatch(addNotification({ style: 'danger', message: err.message }))
5 stevensc 35
      })
1217 stevensc 36
  })
5 stevensc 37
 
38
  return (
1217 stevensc 39
    <Modal
40
      title='Crear grupo'
41
      show={isOpen}
42
      onClose={onClose}
1426 stevensc 43
      onReject={onClose}
1217 stevensc 44
      onAccept={onSubmitHandler}
45
    >
46
      <label className='mb-1' htmlFor='name'>
47
        Nombre del grupo
48
      </label>
49
      <input
50
        type='text'
51
        name='name'
52
        id='name'
53
        ref={register({ required: 'Este campo es requerido' })}
54
      />
55
      {errors.name && (
56
        <FormErrorFeedback>{errors.name.message}</FormErrorFeedback>
57
      )}
5 stevensc 58
    </Modal>
59
  )
60
}
61
 
62
export default CreateGroupModal