import { IModalProps } from '@/interfaces/common'; import { IFeedbackRequestBody } from '@/interfaces/request/chat'; import { zodResolver } from '@hookform/resolvers/zod'; import { useCallback } from 'react'; import { useForm } from 'react-hook-form'; import { useTranslation } from 'react-i18next'; import { z } from 'zod'; import { RAGFlowFormItem } from './ragflow-form'; import { ButtonLoading } from './ui/button'; import { Dialog, DialogContent, DialogFooter, DialogHeader, DialogTitle, } from './ui/dialog'; import { Form } from './ui/form'; import { Textarea } from './ui/textarea'; const FormId = 'feedback-dialog'; const FeedbackDialog = ({ visible, hideModal, onOk, loading, }: IModalProps) => { const { t } = useTranslation(); const FormSchema = z.object({ feedback: z .string() .min(1, { message: t('common.namePlaceholder'), }) .trim(), }); const form = useForm>({ resolver: zodResolver(FormSchema), defaultValues: { feedback: '' }, }); const handleOk = useCallback( async (data: z.infer) => { return onOk?.({ thumbup: false, feedback: data.feedback }); }, [onOk], ); return ( Feedback
{t('common.save')}
); }; export default FeedbackDialog;