Proyectos de Subversion LeadersLinked - Backend

Rev

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