import { PromptEditor } from '@/components/prompt-editor'; import { BlockButton, Button } from '@/components/ui/button'; import { FormControl, FormField, FormItem, FormLabel, FormMessage, } from '@/components/ui/form'; import { RAGFlowSelect } from '@/components/ui/select'; import { X } from 'lucide-react'; import { memo } from 'react'; import { useFieldArray, useFormContext } from 'react-hook-form'; import { useTranslation } from 'react-i18next'; export enum PromptRole { User = 'user', Assistant = 'assistant', } const options = [ { label: 'User', value: PromptRole.User }, { label: 'Assistant', value: PromptRole.Assistant }, ]; const DynamicPrompt = () => { const { t } = useTranslation(); const form = useFormContext(); const name = 'prompts'; const { fields, append, remove } = useFieldArray({ name: name, control: form.control, }); return ( {t('flow.msg')}
{fields.map((field, index) => (
( )} /> (
)} />
))}
append({ content: '', role: PromptRole.User })} > Add
); }; export default memo(DynamicPrompt);