index.tsx 2.3 KB

12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758596061
  1. 'use client'
  2. import React from 'react'
  3. import { useTranslation } from 'react-i18next'
  4. import type { createDocumentResponse } from '@/models/datasets'
  5. import EmbeddingDetail from '../../documents/detail/embedding'
  6. import cn from 'classnames'
  7. import s from './index.module.css'
  8. type StepThreeProps = {
  9. datasetId?: string,
  10. datasetName?: string,
  11. indexingType?: string,
  12. creationCache?: createDocumentResponse
  13. }
  14. const StepThree = ({ datasetId, datasetName, indexingType, creationCache }: StepThreeProps) => {
  15. const { t } = useTranslation()
  16. return (
  17. <div className='flex w-full h-full'>
  18. <div className={'h-full w-full overflow-y-scroll px-16'}>
  19. <div className='max-w-[636px]'>
  20. {!datasetId && (
  21. <>
  22. <div className={s.creationInfo}>
  23. <div className={s.title}>{t('datasetCreation.stepThree.creationTitle')}</div>
  24. <div className={s.content}>{t('datasetCreation.stepThree.creationContent')}</div>
  25. <div className={s.label}>{t('datasetCreation.stepThree.label')}</div>
  26. <div className={s.datasetName}>{datasetName || creationCache?.dataset?.name}</div>
  27. </div>
  28. <div className={s.dividerLine}/>
  29. </>
  30. )}
  31. {datasetId && (
  32. <div className={s.creationInfo}>
  33. <div className={s.title}>{t('datasetCreation.stepThree.additionTitle')}</div>
  34. <div className={s.content}>{`${t('datasetCreation.stepThree.additionP1')} ${datasetName || creationCache?.dataset?.name} ${t('datasetCreation.stepThree.additionP2')}`}</div>
  35. </div>
  36. )}
  37. <EmbeddingDetail
  38. datasetId={datasetId || creationCache?.dataset?.id}
  39. documentId={creationCache?.document.id}
  40. indexingType={indexingType || creationCache?.dataset?.indexing_technique}
  41. stopPosition='bottom'
  42. detail={creationCache?.document}
  43. />
  44. </div>
  45. </div>
  46. <div className={cn(s.sideTip)}>
  47. <div className={s.tipCard}>
  48. <span className={s.icon}/>
  49. <div className={s.title}>{t('datasetCreation.stepThree.sideTipTitle')}</div>
  50. <div className={s.content}>{t('datasetCreation.stepThree.sideTipContent')}</div>
  51. </div>
  52. </div>
  53. </div>
  54. )
  55. }
  56. export default StepThree;