Proyectos de Subversion LeadersLinked - SPA

Rev

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

import React, { useEffect } from 'react'
import { useSelector } from 'react-redux'
import { useForm } from 'react-hook-form'

import { useFetchHelper } from '@hooks'

import Modal from '@app/components/UI/modal/Modal'
import TagsInput from '@app/components/UI/TagsInput'

const AptitudesModal = ({
  show = false,
  aptitudes: userAptitudes = [],
  onClose = () => {},
  onConfirm = () => {}
}) => {
  const { data: aptitudes } = useFetchHelper('aptitudes')
  const labels = useSelector(({ intl }) => intl.labels)

  const { register, handleSubmit, setValue } = useForm()

  const onSubmitHandler = handleSubmit((data) => onConfirm(data))

  useEffect(() => {
    register('aptitudes')
  }, [])

  useEffect(() => {
    userAptitudes.length
      ? setValue('aptitudes', userAptitudes)
      : setValue('aptitudes', [''])
  }, [userAptitudes])

  return (
    <Modal
      show={show}
      title={labels.aptitudes}
      onClose={onClose}
      onAccept={onSubmitHandler}
    >
      <TagsInput
        suggestions={aptitudes}
        defaultValue={userAptitudes}
        onChange={(tags) => setValue('aptitudes', tags)}
      />
    </Modal>
  )
}

export default AptitudesModal