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 (