import { useEffect } from 'react'; import { useForm } from 'react-hook-form'; import { Button, Input } from '@chakra-ui/react'; 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 (
); }