Proyectos de Subversion LeadersLinked - Backend

Rev

Rev 14843 | 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'

const CompanyImgModal = ({
    isOpen,
    closeModal,
    imageUploadUrl,
    action
}) => {

    const { handleSubmit, register } = useForm()
    const [error, setError] = useState(null);

    const onSubmit = ({ image }) => {
        const data = new FormData()
        data.append("image", image[0])
        axios.post(imageUploadUrl, data)
            .then(({ data }) => {
                if (!data.success) {
                    return setError(data.data)
                }
                action(data.data)
                setError(null)
                closeModal()
            })
            .catch((err) => console.log(err))
    }

    return (
        <Modal
            size="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>
                        <input
                            className="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>
                    <Button
                        variant="primary"
                        type="submit"
                    >
                        Enviar
                    </Button>
                    <Button
                        variant="default"
                        onClick={closeModal}
                    >
                        Cancelar
                    </Button>
                </Modal.Footer>
            </form>
        </Modal >
    )
}

export default CompanyImgModal