Rev 11152 | Rev 15274 | Ir a la última revisión | Autoría | Comparar con el anterior | Ultima modificación | Ver Log |
import axios from 'axios'import React, { useState } from 'react'import { Modal, Button } from 'react-bootstrap'import { useForm } from 'react-hook-form'import { useDispatch } from 'react-redux'import { addNotification } from '../../../redux/notification/notification.actions'const CompanyImgModal = ({isOpen,closeModal,imageUploadUrl,action}) => {const { handleSubmit, register } = useForm()const [error, setError] = useState(null)const dispatch = useDispatch()const onSubmit = ({ image }) => {const data = new FormData()data.append('image', image[0])axios.post(imageUploadUrl, data).then(({ data }) => {if (!data.success) {typeof data.data === 'string'?dispatch(addNotification({style: 'danger',msg: data.data})): Object.entries(data.data).map(([key, value]) =>value.map(err =>dispatch(addNotification({style: 'danger',msg: `${key}: ${err}`}))))return}action(data.data)setError(null)closeModal()}).catch((err) => console.log(err))}return (<Modalsize="md"show={isOpen}onHide={closeModal}autoFocus={false}><Modal.Header closeButton><Modal.Title>Cambiar</Modal.Title></Modal.Header><form onSubmit={handleSubmit(onSubmit)}><Modal.Body><div className="mb-3"><label className="form-label">Imagen recomendada de (180 x 180px)</label><inputclassName="form-control form-control-sm"id="formFileSm"type="file"name="image"accept='.jpg, .jpeg, .png, .gif'ref={register}style={{ padding: '1px' }}/></div>{error && <p>{error}</p>}</Modal.Body><Modal.Footer><Buttonvariant="primary"type="submit">Enviar</Button><ButtonclassName='btn-tertiary'onClick={closeModal}>Cancelar</Button></Modal.Footer></form></Modal >)}export default CompanyImgModal