import { sendSpacePostRequest } from '@/utils/request'; import { useRequest } from 'ahooks'; import { ConfigProvider, FloatButton, Form, List, Popover, Select, Tooltip, message } from 'antd'; import React, { useEffect, useState } from 'react'; import { useTranslation } from 'react-i18next'; type SelectTableProps = { data: any; loading: boolean; submit: (prompt: any) => void; close: () => void; }; const SelectTable: React.FC = ({ data, loading, submit, close }) => { const { t } = useTranslation(); const handleClick = (item: any) => () => { submit(item); close(); }; return (
record.prompt_name} renderItem={item => ( )} />
); }; type PromptBotProps = { submit: (prompt: any) => void; chat_scene?: string; }; const PromptBot: React.FC = ({ submit, chat_scene }) => { const { t } = useTranslation(); const [open, setOpen] = useState(false); const [current, setCurrent] = useState('common'); const { data, loading, run } = useRequest( () => { const body: any = {}; if (current !== 'common') { body.prompt_type = current; } if (chat_scene) { body.chat_scene = chat_scene; } return sendSpacePostRequest('/prompt/list', body); }, { refreshDeps: [current, chat_scene], onError: err => { message.error(err?.message); }, manual: true, }, ); useEffect(() => { if (open) { run(); } }, [open, current, chat_scene, run]); const close = () => { setOpen(false); }; const handleOpenChange = (newOpen: boolean) => { setOpen(newOpen); }; const handleChange = (value: string) => { setCurrent(value); }; return (