Proyectos de Subversion LeadersLinked - SPA

Rev

Rev 1854 | Ir a la última revisión | | Ultima modificación | Ver Log |

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