Proyectos de Subversion LeadersLinked - Backend

Rev

Rev 12991 | Autoría | Comparar con el anterior | Ultima modificación | Ver Log |

import React, { useEffect } from 'react'
import { Button, Modal } from 'react-bootstrap'
import { useForm } from 'react-hook-form'
import DescriptionInput from '../../../shared/DescriptionInput'

const SectionModal = ({ show, closeModal, section, onSubmit, sectionType }) => {

        const { handleSubmit, errors, register, setValue } = useForm()

        useEffect(() => {
                register('text')
                setValue('name', section.name)
                setValue('text', section.text)
        }, [section])

        const submit = (data) => {
                sectionType === 'add' && onSubmit(data.name, data.text)
                sectionType === 'edit' && onSubmit(data.name, data.text, section.slug_section)
                closeModal()
        }

        return (
                <Modal size="md" onHide={closeModal} show={show}>
                        <Modal.Header closeButton>
                                <Modal.Title>{`${sectionType === 'add' ? 'Agregar' : 'Editar'} sección`}</Modal.Title>
                        </Modal.Header>
                        <form onSubmit={handleSubmit(submit)}>
                                <Modal.Body>
                                        <div className='form-group'>
                                                <label className="form-label">Nombre</label>
                                                <input type="text" name='name' className='form-control' ref={register({ required: true })} />
                                                {errors.name && <p>{errors.name.message}</p>}
                                        </div>
                                        <div className='form-group'>
                                                <label className="form-label">Texto</label>
                                                <DescriptionInput
                                                        defaultValue={section.text}
                                                        name='text'
                                                        onChange={setValue}
                                                />
                                        </div>
                                </Modal.Body>
                                <Modal.Footer>
                                        <Button variant="primary" type='submit'>
                                                Enviar
                                        </Button>
                                        <Button variant="danger" onClick={closeModal}>
                                                Cancelar
                                        </Button>
                                </Modal.Footer>
                        </form>
                </Modal >
        )
}

export default SectionModal