// Modal.js import React, { useEffect, useMemo } from 'react'; import { useForm } from 'react-hook-form'; import { Button, Checkbox, Flex, Modal, Space, TextInput } from '@mantine/core'; import { addUserAgent, getResolver, updateUserAgent, } from '../../utils/forms/UserAgentUtils.js'; const UserAgent = ({ userAgent = null, isOpen, onClose }) => { const defaultValues = useMemo( () => ({ name: userAgent?.name || '', user_agent: userAgent?.user_agent || '', description: userAgent?.description || '', is_active: userAgent?.is_active ?? true, }), [userAgent] ); const { register, handleSubmit, formState: { errors, isSubmitting }, reset, setValue, watch, } = useForm({ defaultValues, resolver: getResolver(), }); const onSubmit = async (values) => { if (userAgent?.id) { await updateUserAgent(userAgent.id, values); } else { await addUserAgent(values); } reset(); onClose(); }; useEffect(() => { reset(defaultValues); }, [defaultValues, reset]); if (!isOpen) { return <>; } const isActive = watch('is_active'); return (
setValue('is_active', e.currentTarget.checked)} />
); }; export default UserAgent;