Proyectos de Subversion LeadersLinked - Backend

Rev

Rev 15209 | Ir a la última revisión | Autoría | Comparar con el anterior | Ultima modificación | Ver Log |

import React, { useState } from 'react'
import Datetime from 'react-datetime'
import { useForm } from 'react-hook-form'
import SearchLocationInput from '../../../shared/SearchLocationInput'
import SubmitModal from './SubmitModal'

const jobTypeOptions = [
        { label: 'Tiempo completo', value: 'f' },
        { label: 'Tiempo parcial', value: 'p' },
        { label: 'Contratado', value: 'c' },
        { label: 'Temporal', value: 't' },
]

const AddModal = ({ closeModal, dataLink, googleApiKey, jobCategoryOptions, onComplete }) => {

        const { register, watch } = useForm()
        const [year, setYear] = useState(new Intl.DateTimeFormat('en').format(new Date()))
        const [value, setValue] = useState('')
        const [data, setData] = useState({})

        return (
                <SubmitModal
                        closeModal={closeModal}
                        postLink={dataLink}
                        onComplete={onComplete}
                        submitData={{
                                ...data,
                                title: watch('title'),
                                employment_type: watch('employment_type'),
                                last_date_of_application: year,
                                job_category_id: watch('job_category-id'),
                                add_location_search: value
                        }}
                        title="Nuevo empleo"
                >
                        <div className="form-group">
                                <label>Título</label>
                                <input className='form-control' type='text' name='title' ref={register({ required: true })} />
                        </div>
                        <div className="form-group">
                                <label>Tipo de empleo</label>
                                <select
                                        className='form-control'
                                        name="employment_type"
                                        ref={register({ required: true })}
                                >
                                        {jobTypeOptions.map(({ value, label }) =>
                                                <option key={value} value={value}>{label}</option>
                                        )}
                                </select>
                        </div>
                        <div className="form-group">
                                <label>Último día de aplicación</label>
                                <Datetime
                                        dateFormat="DD-MM-YYYY"
                                        timeFormat={false}
                                        onChange={(e) =>
                                                setYear(new Intl.DateTimeFormat('en', { year: 'numeric', month: 'numeric', day: 'numeric' }).format(e.toDate()))
                                        }
                                        inputProps={{ className: 'form-control' }}
                                        initialValue={Date.parse(year)}
                                        closeOnSelect
                                        value={year}
                                />
                        </div>
                        <div className="form-group">
                                <label>Categoría de Empleo</label>
                                <select
                                        className='form-control'
                                        name="job_category-id"
                                        ref={register({ required: true })}
                                >
                                        {
                                                Object.entries(jobCategoryOptions).map(([value, name]) => (
                                                        <option key={value} value={value}>{name}</option>
                                                ))
                                        }
                                </select>
                        </div>
                        <div className="form-group">
                                <label>Ubicación</label>
                                <SearchLocationInput
                                        value={value}
                                        setValue={setValue}
                                        googleApiKey={googleApiKey}
                                        updateData={setData}
                                />
                        </div>
                </SubmitModal >
        )
}

export default AddModal