Proyectos de Subversion LeadersLinked - Backend

Rev

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

Rev Autor Línea Nro. Línea
11139 stevensc 1
import React, { useState } from 'react'
11131 stevensc 2
import Datetime from 'react-datetime'
3
import { useForm } from 'react-hook-form'
4
import SearchLocationInput from '../../../shared/SearchLocationInput'
5
import SubmitModal from './SubmitModal'
6
 
7
const jobTypeOptions = [
8
	{ label: 'Tiempo completo', value: 'f' },
9
	{ label: 'Tiempo parcial', value: 'p' },
10
	{ label: 'Contratado', value: 'c' },
11
	{ label: 'Temporal', value: 't' },
12
]
13
 
11139 stevensc 14
const AddModal = ({ closeModal, dataLink, googleApiKey, jobCategoryOptions }) => {
11131 stevensc 15
 
16
	const { register, watch } = useForm()
17
	const [year, setYear] = useState()
18
	const [value, setValue] = useState('')
19
	const [data, setData] = useState({})
20
 
21
	return (
22
		<SubmitModal
23
			closeModal={closeModal}
24
			postLink={dataLink}
25
			submitData={{
26
				...data,
27
				title: watch('title'),
28
				employment_type: watch('employment_type'),
29
				last_date_of_application: year,
30
				job_category_id: watch('job_category-id'),
31
				add_location_search: value
32
			}}
33
			title="Nuevo empleo"
34
		>
35
			<div className="form-group">
36
				<label>Título</label>
11143 stevensc 37
				<input className='form-control' type='text' name='title' ref={register({ required: true })} />
11131 stevensc 38
			</div>
39
			<div className="form-group">
40
				<label>Tipo de empleo</label>
41
				<select
42
					className='form-control'
43
					name="employment_type"
44
					ref={register({ required: true })}
45
				>
46
					{
11141 stevensc 47
						jobTypeOptions.map(({ value, label }) => (
11131 stevensc 48
							<option key={value} value={value}>{label}</option>
49
						))
50
					}
51
				</select>
52
			</div>
53
			<div className="form-group">
54
				<label>Tipo de empleo</label>
55
				<Datetime
56
					dateFormat="DD-MM-YYYY"
57
					timeFormat={false}
58
					onChange={(e) =>
59
						setYear(new Intl.DateTimeFormat({ year: 'numeric', month: 'numeric', day: 'numeric' }).format(e.toDate()))
60
					}
61
					inputProps={{ className: 'form-control' }}
62
					closeOnSelect
63
				/>
64
			</div>
65
			<div className="form-group">
66
				<label>Categoría de Empleo</label>
67
				<select
68
					className='form-control'
69
					name="job_category-id"
70
					ref={register({ required: true })}
71
				>
72
					{
11141 stevensc 73
						Object.entries(jobCategoryOptions).map(([value, name]) => (
11131 stevensc 74
							<option key={value} value={value}>{name}</option>
75
						))
76
					}
77
				</select>
78
			</div>
11144 stevensc 79
			<div className="form-group">
80
				<label>Ubicación</label>
81
				<SearchLocationInput
82
					value={value}
83
					setValue={setValue}
84
					googleApiKey={googleApiKey}
85
					updateData={setData}
86
				/>
87
			</div>
11131 stevensc 88
		</SubmitModal >
89
	)
90
}
91
 
92
export default AddModal