Proyectos de Subversion LeadersLinked - Backend

Rev

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

Rev Autor Línea Nro. Línea
8428 stevensc 1
import React, { useState } from 'react'
8437 stevensc 2
import { useEffect } from 'react';
8428 stevensc 3
import { useForm } from 'react-hook-form';
8437 stevensc 4
import { getData } from '../../../helpers/fetchHelpers';
8428 stevensc 5
import SubmitModal from './SubmitModal'
6
 
7
const SalaryModal = ({
8
    modalData,
9
    closeModal,
10
    dataLink
11
}) => {
12
 
8449 stevensc 13
    const currencyOptions = [
14
        { label: "Pesos mexicanos", value: "MXN" }
15
    ]
8428 stevensc 16
    const [isActive, setIsActive] = useState(false)
8451 stevensc 17
    const [currency, setCurrency] = useState("USD")
8428 stevensc 18
    const { register, watch } = useForm()
19
 
8437 stevensc 20
    useEffect(() => {
21
        getData(dataLink)
22
            .then(res => console.log(res))
23
    }, [])
24
 
8428 stevensc 25
    return (
26
        <SubmitModal
8449 stevensc 27
            title='Salario'
8428 stevensc 28
            closeModal={closeModal}
29
            submitData={{
8437 stevensc 30
                salary_visible: isActive ? "y" : "n",
8449 stevensc 31
                salary_currency: currency,
8451 stevensc 32
                salary_min: watch("salary_min"),
33
                salary_max: watch("salary_max")
8428 stevensc 34
            }}
35
            postLink={dataLink}
36
        >
37
            <div
8449 stevensc 38
                className={`toggle btn btn-block btn-primary ${!isActive && "off"}`}
8428 stevensc 39
                data-toggle="toggle"
40
                role="button"
41
                style={{ width: '130px' }}
42
                onClick={() => setIsActive(!isActive)}
43
            >
44
                <input
45
                    type="checkbox"
46
                    checked={isActive}
47
                />
48
                <div className="toggle-group">
8449 stevensc 49
                    <label for="status" className="btn btn-primary toggle-on">Mostrar</label>
50
                    <label for="status" className="btn btn-light toggle-off">No mostrar</label>
8428 stevensc 51
                    <span className="toggle-handle btn btn-light"></span>
52
                </div>
53
            </div>
54
            <div className='form-group'>
8449 stevensc 55
                <label className="form-label">Moneda</label>
56
                <select
57
                    className='form-control'
58
                    name="employment_type"
59
                    onChange={(e) => setCurrency(e.target.value)}
8451 stevensc 60
                    defaultValue={currencyOptions[0]}
8449 stevensc 61
                >
62
                    {
63
                        currencyOptions.map(({ value, label }) => (
64
                            <option key={value} value={value}>{label}</option>
65
                        ))
66
                    }
67
                </select>
68
 
69
            </div>
70
            <div className='form-group'>
8428 stevensc 71
                <label className="form-label">Minimo</label>
72
                <input
73
                    type='text'
74
                    className='form-control'
8451 stevensc 75
                    disabled={isActive}
8437 stevensc 76
                    name='salary_min'
8428 stevensc 77
                    ref={register({
78
                        required: true,
79
                        valueAsNumber: true,
80
                        min: 1
81
                    })}
8451 stevensc 82
                    />
8428 stevensc 83
            </div>
84
            <div className='form-group'>
85
                <label className="form-label">Maximo</label>
86
                <input
87
                    type='text'
88
                    className='form-control'
8451 stevensc 89
                    disabled={isActive}
8437 stevensc 90
                    name='salary_max'
8428 stevensc 91
                    ref={register({
92
                        required: true,
93
                        valueAsNumber: true,
8437 stevensc 94
                        validate: value => value > watch("salary_min")
8428 stevensc 95
                    })}
96
                />
97
            </div>
98
        </SubmitModal>
99
    )
100
}
101
 
102
export default SalaryModal