Proyectos de Subversion LeadersLinked - Backend

Rev

Rev 6305 | Rev 14843 | 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
 
11152 stevensc 8
	const { handleSubmit, register } = useForm()
9
	const [error, setError] = useState()
6266 stevensc 10
 
11152 stevensc 11
	const onSubmit = ({ footer }) => {
12
		const data = new FormData()
13
		data.append('footer', footer[0])
6303 stevensc 14
 
11152 stevensc 15
		axios.post(footerUploadUrl, data)
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
			})
26
			.catch(err => console.log(err))
27
	}
6266 stevensc 28
 
11152 stevensc 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 htmlFor="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"
47
							name="footer"
48
							accept='.jpg, .jpeg, .png, .gif'
49
							ref={register}
50
							style={{ padding: '1px' }}
51
						/>
52
					</div>
53
					{error && <p>{error}</p>}
54
				</Modal.Body>
55
				<Modal.Footer>
56
					<Button
57
						variant="primary"
58
						type="submit"
59
					>
6266 stevensc 60
                        Enviar
11152 stevensc 61
					</Button>
62
					<Button
63
						className='btn-tertiary'
64
						onClick={closeModal}
65
					>
6266 stevensc 66
                        Cancelar
11152 stevensc 67
					</Button>
68
				</Modal.Footer>
69
			</form>
70
		</Modal >
71
	)
6266 stevensc 72
}
73
 
74
export default FooterModal