import { Modal, type ModalProps } from '@lobehub/ui'; import { Form, Input, Select, FormInstance, message } from 'antd'; import { memo, useRef, useState } from 'react'; import { useTranslation } from 'react-i18next'; import { Flexbox } from 'react-layout-kit'; import { useKnowledgeStore } from '@/store/knowledge'; const DEFAULT_FIELD_VALUE = { vector_store_type: "faiss", embed_model: "bge-large-zh-v1.5" }; interface ModalCreateKnowledgeProps extends ModalProps { toggleModal: (open: boolean) => void; } const CreateKnowledgeBase = memo(({ toggleModal, open }) => { const [confirmLoading, setConfirmLoading] = useState(false); const { t } = useTranslation('chat'); const antdFormInstance = useRef(); const [useFetchKnowledgeAdd, useFetchKnowledgeList] = useKnowledgeStore((s) => [ s.useFetchKnowledgeAdd, s.useFetchKnowledgeList ]); const { mutate } = useFetchKnowledgeList() const onSubmit = async () => { if (!antdFormInstance.current) return; const fieldsError = await antdFormInstance.current.validateFields(); if (fieldsError.length) return; const values = antdFormInstance.current.getFieldsValue(true); setConfirmLoading(true); const { code: resCode, data: resData, msg: resMsg } = await useFetchKnowledgeAdd({ ...values }) setConfirmLoading(true); if (resCode !== 200) { message.error(resMsg) return; } mutate(); toggleModal(false); } return ( toggleModal(false)} onOk={onSubmit} open={open} title="创建知识库" confirmLoading={confirmLoading} >
); }); export default CreateKnowledgeBase;