Rev 1979 | Rev 2094 | Ir a la última revisión | Autoría | Comparar con el anterior | Ultima modificación | Ver Log |
import React from 'react'
import { useDispatch } from 'react-redux'
import { useForm } from 'react-hook-form'
import { axios } from '@app/utils'
import { addNotification } from '@app/redux/notification/notification.actions'
import Modal from '../UI/modal/Modal'
import Input from '../UI/inputs/Input'
const CreateGroupModal = ({ isOpen, onClose }) => {
const { register, handleSubmit, errors } = useForm()
const dispatch = useDispatch()
const onSubmitHandler = handleSubmit(async (data) => {
const formData = new FormData()
Object.entries(data).map(([key, value]) => formData.append(key, value))
axios
.post('/chat/create-group', formData)
.then(({ data: response }) => {
const { success } = response
if (!success) {
dispatch(
addNotification({
style: 'danger',
message: 'Ha ocurrido un error, por favor intente más tarde.'
})
)
return
}
onClose()
})
.catch((err) => {
dispatch(addNotification({ style: 'danger', message: err.message }))
})
})
return (
<Modal
title='Crear grupo'
show={isOpen}
onClose={onClose}
onReject={onClose}
onAccept={onSubmitHandler}
>
<Input
label='Nombre'
placeholder='Nombre del grupo'
name='name'
ref={register({ required: 'Este campo es requerido' })}
error={errors.name?.message}
/>
</Modal>
)
}
export default CreateGroupModal