import { IModalManagerChildrenProps } from '@/components/modal-manager'; import { useTranslate } from '@/hooks/commonHooks'; import { Form, Input, Modal } from 'antd'; import { useEffect } from 'react'; interface IProps extends Omit { loading: boolean; initialValue: string; llmFactory: string; onOk: (name: string, baseUrl: string) => void; showModal?(): void; } type FieldType = { api_key?: string; base_url?: string; }; const ApiKeyModal = ({ visible, hideModal, llmFactory, loading, initialValue, onOk, }: IProps) => { const [form] = Form.useForm(); const { t } = useTranslate('setting'); const handleOk = async () => { const ret = await form.validateFields(); return onOk(ret.api_key, ret.base_url); }; const handleCancel = () => { hideModal(); }; const onFinish = (values: any) => { console.log('Success:', values); }; const onFinishFailed = (errorInfo: any) => { console.log('Failed:', errorInfo); }; useEffect(() => { if (visible) { form.setFieldValue('api_key', initialValue); } }, [initialValue, form, visible]); return (
label={t('apiKey')} name="api_key" tooltip={t('apiKeyTip')} rules={[{ required: true, message: t('apiKeyMessage') }]} > {llmFactory === 'OpenAI' && ( label={t('baseUrl')} name="base_url" tooltip={t('baseUrlTip')} > )}
); }; export default ApiKeyModal;