|
'use client' |
|
import React from 'react' |
|
import { useTranslation } from 'react-i18next' |
|
import EmbeddingProcess from '../embedding-process' |
|
|
|
import s from './index.module.css' |
|
import cn from '@/utils/classnames' |
|
import useBreakpoints, { MediaType } from '@/hooks/use-breakpoints' |
|
import type { FullDocumentDetail, createDocumentResponse } from '@/models/datasets' |
|
|
|
type StepThreeProps = { |
|
datasetId?: string |
|
datasetName?: string |
|
indexingType?: string |
|
creationCache?: createDocumentResponse |
|
} |
|
|
|
const StepThree = ({ datasetId, datasetName, indexingType, creationCache }: StepThreeProps) => { |
|
const { t } = useTranslation() |
|
|
|
const media = useBreakpoints() |
|
const isMobile = media === MediaType.mobile |
|
|
|
return ( |
|
<div className='flex w-full h-full'> |
|
<div className={'h-full w-full overflow-y-scroll px-6 sm:px-16'}> |
|
<div className='max-w-[636px]'> |
|
{!datasetId && ( |
|
<> |
|
<div className={s.creationInfo}> |
|
<div className={s.title}>{t('datasetCreation.stepThree.creationTitle')}</div> |
|
<div className={s.content}>{t('datasetCreation.stepThree.creationContent')}</div> |
|
<div className={s.label}>{t('datasetCreation.stepThree.label')}</div> |
|
<div className={s.datasetName}>{datasetName || creationCache?.dataset?.name}</div> |
|
</div> |
|
<div className={s.dividerLine} /> |
|
</> |
|
)} |
|
{datasetId && ( |
|
<div className={s.creationInfo}> |
|
<div className={s.title}>{t('datasetCreation.stepThree.additionTitle')}</div> |
|
<div className={s.content}>{`${t('datasetCreation.stepThree.additionP1')} ${datasetName || creationCache?.dataset?.name} ${t('datasetCreation.stepThree.additionP2')}`}</div> |
|
</div> |
|
)} |
|
<EmbeddingProcess |
|
datasetId={datasetId || creationCache?.dataset?.id || ''} |
|
batchId={creationCache?.batch || ''} |
|
documents={creationCache?.documents as FullDocumentDetail[]} |
|
indexingType={indexingType || creationCache?.dataset?.indexing_technique} |
|
/> |
|
</div> |
|
</div> |
|
{!isMobile && <div className={cn(s.sideTip)}> |
|
<div className={s.tipCard}> |
|
<span className={s.icon} /> |
|
<div className={s.title}>{t('datasetCreation.stepThree.sideTipTitle')}</div> |
|
<div className={s.content}>{t('datasetCreation.stepThree.sideTipContent')}</div> |
|
</div> |
|
</div>} |
|
</div> |
|
) |
|
} |
|
|
|
export default StepThree |
|
|