Proyectos de Subversion LeadersLinked - Backend

Rev

Rev 6189 | Rev 6259 | Ir a la última revisión | | Comparar con el anterior | Ultima modificación | Ver Log |

Rev Autor Línea Nro. Línea
5949 stevensc 1
import axios from 'axios'
6199 stevensc 2
import { async } from 'postcss-js'
3
import React, { useState } from 'react'
5957 stevensc 4
import { Modal, Form, Button } from 'react-bootstrap'
5949 stevensc 5
import { useForm } from 'react-hook-form'
6
 
7
const CoverModal = ({
8
    isOpen,
9
    closeModal,
10
    coverUploadUrl,
11
    action
12
}) => {
13
 
6119 stevensc 14
    const { handleSubmit, register } = useForm()
6199 stevensc 15
    const [error, setError] = useState(null);
5949 stevensc 16
 
6180 stevensc 17
    const onSubmit = ({ cover }) => {
6186 stevensc 18
        const data = new FormData()
6189 stevensc 19
        data.append("cover", cover[0])
6186 stevensc 20
        axios.post(coverUploadUrl, data)
6199 stevensc 21
            .then(({ data }) => {
22
                if (!data.success) {
23
                    return setError(data.data)
24
                }
25
                action(data.data)
26
                setError(null)
27
                closeModal()
28
            })
6119 stevensc 29
            .catch((err) => console.log(err))
5949 stevensc 30
    }
31
 
32
    return (
33
        <Modal
5988 stevensc 34
            size="md"
5949 stevensc 35
            show={isOpen}
36
            onHide={closeModal}
37
            autoFocus={false}
38
        >
39
            <Modal.Header closeButton>
40
                <Modal.Title>Cambiar</Modal.Title>
41
            </Modal.Header>
42
            <form onSubmit={handleSubmit(onSubmit)}>
43
                <Modal.Body>
44
                    <Form.Group controlId="formFileSm" className="mb-3">
6061 stevensc 45
                        <div class="mb-3">
46
                            <input
47
                                className="form-control form-control-sm"
48
                                id="formFileSm"
49
                                type="file"
50
                                name="cover"
51
                                accept='.jpg, .jpeg, .png, .gif'
6199 stevensc 52
                                placeholder='Imagen recomendada de'
6061 stevensc 53
                                ref={register}
54
                            />
55
                        </div>
5949 stevensc 56
                    </Form.Group>
57
                </Modal.Body>
58
                <Modal.Footer>
59
                    <Button
60
                        variant="primary"
61
                        type="submit"
62
                    >
63
                        Enviar
64
                    </Button>
65
                    <Button
66
                        variant="default"
67
                        onClick={closeModal}
68
                    >
69
                        Cancelar
70
                    </Button>
71
                </Modal.Footer>
72
            </form>
73
        </Modal >
74
    )
75
}
76
 
77
export default CoverModal