'use client' import { useTranslation } from 'react-i18next' import Button from '@/app/components/base/button' import Divider from '@/app/components/base/divider' import BasicInfoSection from './components/basic-info-section' import ExternalKnowledgeSection from './components/external-knowledge-section' import IndexingSection from './components/indexing-section' import { useFormState } from './hooks/use-form-state' const Form = () => { const { t } = useTranslation() const { // Context values currentDataset, isCurrentWorkspaceDatasetOperator, // Loading state loading, // Basic form name, setName, description, setDescription, // Icon iconInfo, showAppIconPicker, handleOpenAppIconPicker, handleSelectAppIcon, handleCloseAppIconPicker, // Permission permission, setPermission, selectedMemberIDs, setSelectedMemberIDs, memberList, // External retrieval topK, scoreThreshold, scoreThresholdEnabled, handleSettingsChange, // Indexing and retrieval indexMethod, setIndexMethod, keywordNumber, setKeywordNumber, retrievalConfig, setRetrievalConfig, embeddingModel, setEmbeddingModel, embeddingModelList, // Summary index summaryIndexSetting, handleSummaryIndexSettingChange, // Computed showMultiModalTip, // Actions handleSave, } = useFormState() const isExternalProvider = currentDataset?.provider === 'external' return (
{isExternalProvider ? ( ) : ( )} {/* Save Button */}
) } export default Form