Proyectos de Subversion LeadersLinked - SPA

Rev

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