index.tsx 1.2 KB

123456789101112131415161718192021222324252627282930313233343536373839
  1. 'use client'
  2. import type { FC } from 'react'
  3. import React from 'react'
  4. import { useTranslation } from 'react-i18next'
  5. import Image from 'next/image'
  6. import RetrievalParamConfig from '../retrieval-param-config'
  7. import { OptionCard } from '../../create/step-two/option-card'
  8. import { retrievalIcon } from '../../create/icons'
  9. import { RETRIEVE_METHOD } from '@/types/app'
  10. import type { RetrievalConfig } from '@/types/app'
  11. type Props = {
  12. value: RetrievalConfig
  13. onChange: (value: RetrievalConfig) => void
  14. }
  15. const EconomicalRetrievalMethodConfig: FC<Props> = ({
  16. value,
  17. onChange,
  18. }) => {
  19. const { t } = useTranslation()
  20. return (
  21. <div className='space-y-2'>
  22. <OptionCard icon={<Image className='w-4 h-4' src={retrievalIcon.vector} alt='' />}
  23. title={t('dataset.retrieval.invertedIndex.title')}
  24. description={t('dataset.retrieval.invertedIndex.description')} isActive
  25. activeHeaderClassName='bg-dataset-option-card-purple-gradient'
  26. >
  27. <RetrievalParamConfig
  28. type={RETRIEVE_METHOD.invertedIndex}
  29. value={value}
  30. onChange={onChange}
  31. />
  32. </OptionCard>
  33. </div>
  34. )
  35. }
  36. export default React.memo(EconomicalRetrievalMethodConfig)