'use client'; import { zodResolver } from '@hookform/resolvers/zod'; import { useForm } from 'react-hook-form'; import { z } from 'zod'; import { Form, FormControl, FormField, FormItem, FormLabel, FormMessage, } from '@/components/ui/form'; import { Input } from '@/components/ui/input'; import { IModalProps } from '@/interfaces/common'; import { TagRenameId } from '@/pages/add-knowledge/constant'; import { useEffect } from 'react'; import { useTranslation } from 'react-i18next'; export function RenameForm({ initialName, hideModal, onOk, }: IModalProps & { initialName: string }) { const { t } = useTranslation(); const FormSchema = z.object({ name: z .string() .min(1, { message: t('common.namePlaceholder'), }) .trim(), }); const form = useForm>({ resolver: zodResolver(FormSchema), defaultValues: { name: '' }, }); async function onSubmit(data: z.infer) { const ret = await onOk?.(data.name); if (ret) { hideModal?.(); } } useEffect(() => { form.setValue('name', initialName); }, [form, initialName]); return (
( {t('common.name')} )} /> ); }