summaryrefslogtreecommitdiff
path: root/client/src/components/UpdateInput/UpdateInput.jsx
blob: 8fa3ba1ec005a3b46493d1d072f9f4a7031afe9c (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
import React from 'react'
import styles from './UpdateInput.module.css'
import EditButton from '../EditButton/EditButton'

const UpdateInput = ({ label, id, value, type, name, onChange, placeholder, maxLength, pattern, minLength, onInvalid, onValid, readOnly }) => {
  const [editable, setEditable] = React.useState(true)

  const handleEdit = () => {
    setEditable(!editable)
  }

  return (
    <div className={styles.input}>
      <div className={styles.input__container}>
        <label htmlFor={id}>{label}</label>
        <div className={styles.input__edit}>
        <input
          className={styles.input__field}
          type={type}
          id={id}
          name={name}
          value={value}
          onChange={onChange}
          required
          placeholder={placeholder}
          pattern={pattern}
          maxLength={maxLength}
          minLength={minLength}
          onInvalid={onInvalid}
          onValid={onValid}
          readOnly={editable}
        />
        <EditButton
          onClick={handleEdit}
          enabled={!editable ? '1' : '0' } />
        </div>
      </div>
    </div>
  )
}

export default UpdateInput