Proyectos de Subversion LeadersLinked - SPA

Rev

Rev 1979 | Rev 2094 | 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
 
2093 stevensc 5
import { axios } from '@app/utils'
6
import { addNotification } from '@app/redux/notification/notification.actions'
5 stevensc 7
 
2093 stevensc 8
import Modal from '../UI/modal/Modal'
9
import Input from '../UI/inputs/Input'
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) => {
1979 stevensc 16
    const formData = new FormData()
17
    Object.entries(data).map(([key, value]) => formData.append(key, value))
2093 stevensc 18
 
5 stevensc 19
    axios
1979 stevensc 20
      .post('/chat/create-group', formData)
5 stevensc 21
      .then(({ data: response }) => {
22
        const { success } = response
23
 
24
        if (!success) {
25
          dispatch(
26
            addNotification({
27
              style: 'danger',
655 stevensc 28
              message: 'Ha ocurrido un error, por favor intente más tarde.'
5 stevensc 29
            })
30
          )
31
          return
32
        }
33
 
34
        onClose()
35
      })
655 stevensc 36
      .catch((err) => {
37
        dispatch(addNotification({ style: 'danger', message: err.message }))
5 stevensc 38
      })
1217 stevensc 39
  })
5 stevensc 40
 
41
  return (
1217 stevensc 42
    <Modal
43
      title='Crear grupo'
44
      show={isOpen}
45
      onClose={onClose}
1426 stevensc 46
      onReject={onClose}
1217 stevensc 47
      onAccept={onSubmitHandler}
48
    >
2093 stevensc 49
      <Input
50
        label='Nombre'
51
        placeholder='Nombre del grupo'
1217 stevensc 52
        name='name'
53
        ref={register({ required: 'Este campo es requerido' })}
2093 stevensc 54
        error={errors.name?.message}
1217 stevensc 55
      />
5 stevensc 56
    </Modal>
57
  )
58
}
59
 
60
export default CreateGroupModal