index.tsx 1.3 KB

12345678910111213141516171819202122232425262728293031323334353637383940414243
  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. disabled?: boolean
  13. value: RetrievalConfig
  14. onChange: (value: RetrievalConfig) => void
  15. }
  16. const EconomicalRetrievalMethodConfig: FC<Props> = ({
  17. disabled = false,
  18. value,
  19. onChange,
  20. }) => {
  21. const { t } = useTranslation()
  22. return (
  23. <div className='space-y-2'>
  24. <OptionCard
  25. disabled={disabled} icon={<Image className='w-4 h-4' src={retrievalIcon.vector} alt='' />}
  26. title={t('dataset.retrieval.invertedIndex.title')}
  27. description={t('dataset.retrieval.invertedIndex.description')} isActive
  28. activeHeaderClassName='bg-dataset-option-card-purple-gradient'
  29. >
  30. <RetrievalParamConfig
  31. type={RETRIEVE_METHOD.invertedIndex}
  32. value={value}
  33. onChange={onChange}
  34. />
  35. </OptionCard>
  36. </div>
  37. )
  38. }
  39. export default React.memo(EconomicalRetrievalMethodConfig)