Proyectos de Subversion LeadersLinked - Backend

Rev

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