Rev 3668 | AutorÃa | Comparar con el anterior | Ultima modificación | Ver Log |
import React, { useEffect, useMemo } from 'react';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 HobbiesModal = ({show = false,hobbies: userHobbies = [],onClose = () => {},onConfirm = () => {}}) => {const { data: hobbies = [] } = useFetchHelper('hobbies');const { register, handleSubmit, setValue } = useForm();const currentValues = useMemo(() => {return userHobbies?.map(({ value }) => value) || [];}, [userHobbies]);const handleConfirm = handleSubmit((data) => onConfirm?.(data));useEffect(() => {register('hobbies');}, [register]);useEffect(() => {show ? setValue('hobbies', currentValues) : setValue('hobbies', ['']);}, [show, currentValues]);return (<Modal title='Hobbies' show={show} onClose={onClose} onAccept={handleConfirm}><TagsInputlabel='Seleccionar hobbies'name='hobbies'options={hobbies}defaultValues={currentValues}onChange={(tags) => setValue('hobbies', tags)}/></Modal>);};export default HobbiesModal;