import { RiAddLine, RiBookOpenLine, RiCloseLine, } from '@remixicon/react' import * as React from 'react' import { useTranslation } from 'react-i18next' import ActionButton from '@/app/components/base/action-button' import Button from '@/app/components/base/button' import Loading from '@/app/components/base/loading' import { useExternalKnowledgeApi } from '@/context/external-knowledge-api-context' import { useDocLink } from '@/context/i18n' import { useModalContext } from '@/context/modal-context' import { cn } from '@/utils/classnames' import ExternalKnowledgeAPICard from '../external-knowledge-api-card' type ExternalAPIPanelProps = { onClose: () => void } const ExternalAPIPanel: React.FC = ({ onClose }) => { const { t } = useTranslation() const docLink = useDocLink() const { setShowExternalKnowledgeAPIModal } = useModalContext() const { externalKnowledgeApiList, mutateExternalKnowledgeApis, isLoading } = useExternalKnowledgeApi() const handleOpenExternalAPIModal = () => { setShowExternalKnowledgeAPIModal({ payload: { name: '', settings: { endpoint: '', api_key: '' } }, datasetBindings: [], onSaveCallback: () => { mutateExternalKnowledgeApis() }, onCancelCallback: () => { mutateExternalKnowledgeApis() }, isEditMode: false, }) } return (
{t('externalAPIPanelTitle', { ns: 'dataset' })}
{t('externalAPIPanelDescription', { ns: 'dataset' })}
{t('externalAPIPanelDocumentation', { ns: 'dataset' })}
onClose()}>
{isLoading ? ( ) : ( externalKnowledgeApiList.map(api => ( )) )}
) } export default ExternalAPIPanel