Proyectos de Subversion LeadersLinked - Backend

Rev

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

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