import { useEffect } from 'react'; import { useForm } from 'react-hook-form'; import { Input, Textarea } from '@chakra-ui/react'; import { ProjectData } from 'ontime-types'; import { logAxiosError } from '../../../common/api/apiUtils'; import { postProjectData } from '../../../common/api/projectDataApi'; import useProjectData from '../../../common/hooks-query/useProjectData'; import ModalLoader from '../modal-loader/ModalLoader'; import { inputProps } from '../modalHelper'; import ModalInput from '../ModalInput'; import OntimeModalFooter from '../OntimeModalFooter'; import style from './SettingsModal.module.scss'; export default function ProjectDataForm() { const { data, status, isFetching, refetch } = useProjectData(); const { handleSubmit, register, reset, formState: { errors, isSubmitting, isDirty, isValid }, } = useForm({ defaultValues: data, values: data, resetOptions: { keepDirtyValues: true, }, }); useEffect(() => { if (data) { reset(data); } }, [data, reset]); const onSubmit = async (formData: ProjectData) => { try { await postProjectData(formData); } catch (error) { logAxiosError('Error saving project data', error); } finally { await refetch(); } }; const onReset = () => { reset(data); }; const disableInputs = status === 'loading'; if (isFetching) { return ; } return (