Proyectos de Subversion LeadersLinked - SPA

Rev

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

Rev Autor Línea Nro. Línea
1853 stevensc 1
import React, { useEffect } from 'react'
1854 stevensc 2
import { useSelector } from 'react-redux'
1853 stevensc 3
import { useForm } from 'react-hook-form'
4
 
2780 stevensc 5
import { useFetchHelper } from '@hooks'
1853 stevensc 6
 
1854 stevensc 7
import Modal from '@app/components/UI/modal/Modal'
8
import TagsInput from '@app/components/UI/TagsInput'
9
 
1853 stevensc 10
const SkillsModal = ({
11
  show = false,
12
  skills: userSkills = [],
13
  onConfirm = () => null,
14
  onClose = () => null
15
}) => {
16
  const { data: skills } = useFetchHelper('skills', [])
17
  const labels = useSelector(({ intl }) => intl.labels)
18
 
19
  const { register, handleSubmit, setValue } = useForm()
20
 
1854 stevensc 21
  const onSubmit = handleSubmit((data) => onConfirm(data))
1853 stevensc 22
 
23
  useEffect(() => {
24
    register('skills')
25
  }, [])
26
 
27
  useEffect(() => {
28
    userSkills.length
29
      ? setValue('skills', userSkills)
30
      : setValue('skills', [''])
31
  }, [userSkills])
32
 
33
  return (
34
    <Modal
35
      show={show}
36
      onClose={onClose}
37
      title={labels.skills}
38
      onAccept={onSubmit}
39
    >
40
      <TagsInput
41
        suggestions={skills}
3047 stevensc 42
        defaultValue={userSkills}
1853 stevensc 43
        onChange={(tags) => setValue('skills', tags)}
44
      />
45
    </Modal>
46
  )
47
}
48
 
49
export default SkillsModal