import { useEffect } from 'react'; import { useForm } from 'react-hook-form'; import Button from '../../../../common/components/buttons/Button'; import Input from '../../../../common/components/input/input/Input'; import { preventEscape } from '../../../../common/utils/keyEvent'; import * as Panel from '../../panel-utils/PanelUtils'; import style from './ProjectPanel.module.scss'; export type ProjectFormValues = { filename: string; }; interface ProjectFormProps { action: 'duplicate' | 'rename' | 'merge'; filename: string; onCancel: () => void; onSubmit: (values: ProjectFormValues) => Promise; } export default function ProjectForm({ action, filename, onSubmit, onCancel }: ProjectFormProps) { const { handleSubmit, register, formState: { isSubmitting, isDirty, isValid }, setFocus, } = useForm({ defaultValues: { filename }, values: { filename }, resetOptions: { keepDirtyValues: true, }, }); useEffect(() => { setFocus('filename'); }, [setFocus]); return (
preventEscape(event, onCancel)} className={style.form} >
); }