Proyectos de Subversion LeadersLinked - SPA

Rev

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

Rev Autor Línea Nro. Línea
1459 stevensc 1
import React, { useEffect } from 'react'
1627 stevensc 2
import { Place } from '@mui/icons-material'
1459 stevensc 3
 
2780 stevensc 4
import { useLocationAutocomplete } from '@hooks'
2865 stevensc 5
import Input from './Input'
1459 stevensc 6
 
7
const UbicationInput = ({
8
  onGetAddress = () => {},
9
  settedQuery = '',
10
  placeholder = 'Ubicación',
1798 stevensc 11
  onChange = () => {},
12
  error = null
1459 stevensc 13
}) => {
1798 stevensc 14
  const { address, error: addressError, ref } = useLocationAutocomplete()
1459 stevensc 15
 
16
  useEffect(() => {
17
    onGetAddress(address)
18
  }, [address])
19
 
3071 stevensc 20
  const handleChangeAddress = (event) => {
21
    if (!event.target.value) {
22
      const values = {}
23
      Object.keys(address).forEach((key) => (values[key] = ''))
24
      onGetAddress(values)
25
    }
26
 
27
    onChange(event)
28
  }
29
 
1459 stevensc 30
  return (
2865 stevensc 31
    <Input
1798 stevensc 32
      type='text'
33
      inputRef={ref}
3071 stevensc 34
      onChange={handleChangeAddress}
1798 stevensc 35
      placeholder={placeholder}
3046 stevensc 36
      defaultValue={settedQuery}
2865 stevensc 37
      error={error || addressError}
38
      icon={<Place />}
1798 stevensc 39
    />
1459 stevensc 40
  )
41
}
42
 
43
export default UbicationInput