Proyectos de Subversion LeadersLinked - Backend

Rev

Rev 11046 | 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'
11046 stevensc 3
import { Modal, Button } from 'react-bootstrap'
6266 stevensc 4
import { useForm } from 'react-hook-form'
5
 
6
const HeaderModal = ({
11046 stevensc 7
	isOpen,
8
	closeModal,
9
	headerUploadUrl,
10
	action
6266 stevensc 11
}) => {
12
 
11046 stevensc 13
	const { handleSubmit, register } = useForm()
14
	const [error, setError] = useState(null)
6266 stevensc 15
 
11046 stevensc 16
	const onSubmit = ({ header }) => {
17
		const data = new FormData()
18
		data.append('header', header[0])
19
		axios.post(headerUploadUrl, 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
	}
6266 stevensc 30
 
11046 stevensc 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 htmlFor="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="header"
50
							accept='.jpg, .jpeg, .png, .gif'
51
							ref={register}
52
							style={{ padding: '1px' }}
53
						/>
54
					</div>
55
					{error && <p>{error}</p>}
56
				</Modal.Body>
57
				<Modal.Footer>
58
					<Button
59
						variant="primary"
60
						type="submit"
61
					>
11152 stevensc 62
						Enviar
11046 stevensc 63
					</Button>
64
					<Button
11152 stevensc 65
						className='btn-tertiary'
11046 stevensc 66
						onClick={closeModal}
67
					>
11152 stevensc 68
						Cancelar
11046 stevensc 69
					</Button>
70
				</Modal.Footer>
71
			</form>
72
		</Modal >
73
	)
6266 stevensc 74
}
75
 
76
export default HeaderModal