import type { ProcessRuleResponse } from '@/models/datasets' import * as React from 'react' import { useCallback } from 'react' import { useTranslation } from 'react-i18next' import { indexMethodIcon, retrievalIcon } from '@/app/components/datasets/create/icons' import { IndexingType } from '@/app/components/datasets/create/step-two' import { FieldInfo } from '@/app/components/datasets/documents/detail/metadata' import { ProcessMode } from '@/models/datasets' import { RETRIEVE_METHOD } from '@/types/app' type RuleDetailProps = { sourceData?: ProcessRuleResponse indexingType?: IndexingType retrievalMethod?: RETRIEVE_METHOD } const RuleDetail = ({ sourceData, indexingType, retrievalMethod, }: RuleDetailProps) => { const { t } = useTranslation() const getValue = useCallback((field: string) => { let value = '-' switch (field) { case 'mode': value = !sourceData?.mode ? value : sourceData.mode === ProcessMode.general ? (t('embedding.custom', { ns: 'datasetDocuments' }) as string) : `${t('embedding.hierarchical', { ns: 'datasetDocuments' })} ยท ${sourceData?.rules?.parent_mode === 'paragraph' ? t('parentMode.paragraph', { ns: 'dataset' }) : t('parentMode.fullDoc', { ns: 'dataset' })}` break } return value }, [sourceData, t]) return (
)} /> )} />
) } export default React.memo(RuleDetail)