diff --git a/web/app/components/datasets/create/file-uploader/index.module.css b/web/app/components/datasets/create/file-uploader/index.module.css index bf5b7dcaf5..93a7c0e535 100644 --- a/web/app/components/datasets/create/file-uploader/index.module.css +++ b/web/app/components/datasets/create/file-uploader/index.module.css @@ -7,14 +7,12 @@ font-weight: 500; font-size: 16px; line-height: 24px; - color: #344054; } .fileUploader .tip { font-weight: 400; font-size: 12px; line-height: 18px; - color: #667085; } .uploader { @@ -22,18 +20,10 @@ flex-direction: column; max-width: 640px; min-height: 80px; - background: #F9FAFB; - border: 1px dashed #EAECF0; border-radius: 12px; font-weight: 400; font-size: 14px; line-height: 20px; - color: #667085; -} - -.uploader.dragging { - background: #F5F8FF; - border: 1px dashed #B2CCFF; } .uploader .draggingCover { @@ -193,4 +183,4 @@ .file:hover .actionWrapper .remove { display: block; -} \ No newline at end of file +} diff --git a/web/app/components/datasets/create/file-uploader/index.tsx b/web/app/components/datasets/create/file-uploader/index.tsx index adb4bed0d1..0afa5b38f0 100644 --- a/web/app/components/datasets/create/file-uploader/index.tsx +++ b/web/app/components/datasets/create/file-uploader/index.tsx @@ -3,6 +3,7 @@ import React, { useCallback, useEffect, useMemo, useRef, useState } from 'react' import { useTranslation } from 'react-i18next' import { useContext } from 'use-context-selector' import useSWR from 'swr' +import classNames from 'classnames' import s from './index.module.css' import cn from '@/utils/classnames' import type { CustomFile as File, FileItem } from '@/models/datasets' @@ -249,18 +250,18 @@ const FileUploader = ({ /> )} -
{t('datasetCreation.stepOne.uploader.title')}
+
{t('datasetCreation.stepOne.uploader.title')}
{!hideUpload && ( -
+
- - + + {t('datasetCreation.stepOne.uploader.button')}
-
{t('datasetCreation.stepOne.uploader.tip', { +
{t('datasetCreation.stepOne.uploader.tip', { size: fileUploadConfig.file_size_limit, supportTypes: supportTypesShowNames, })}
diff --git a/web/app/components/datasets/create/index.tsx b/web/app/components/datasets/create/index.tsx index f2f869b704..8d9c4d9da3 100644 --- a/web/app/components/datasets/create/index.tsx +++ b/web/app/components/datasets/create/index.tsx @@ -123,7 +123,7 @@ const DatasetUpdateForm = ({ datasetId }: DatasetUpdateFormProps) => { return (
-
+
{ shouldShowDataSourceTypeList && ( -
{t('datasetCreation.steps.one')}
+
{t('datasetCreation.steps.one')}
) } -
+
{ shouldShowDataSourceTypeList && (
diff --git a/web/app/components/datasets/create/step-two/index.tsx b/web/app/components/datasets/create/step-two/index.tsx index 5a3d8536dc..f006160ef0 100644 --- a/web/app/components/datasets/create/step-two/index.tsx +++ b/web/app/components/datasets/create/step-two/index.tsx @@ -174,7 +174,20 @@ const StepTwo = ({ ) const [previewFile, setPreviewFile] = useState( - (datasetId && documentDetail) ? documentDetail.file : files[0], + (datasetId && documentDetail) + ? documentDetail.file + : files[0], + ) + const [previewNotionPage, setPreviewNotionPage] = useState( + (datasetId && documentDetail) + ? documentDetail.notion_page + : notionPages[0], + ) + + const [previewWebsitePage, setPreviewWebsitePage] = useState( + (datasetId && documentDetail) + ? documentDetail.website_page + : websitePages[0], ) // QA Related @@ -252,7 +265,7 @@ const StepTwo = ({ docForm, docLanguage, dataSourceType: DataSourceType.NOTION, - notionPages, + notionPages: [previewNotionPage], indexingTechnique: getIndexing_technique() as any, processRule: getProcessRule(), dataset_id: datasetId || '', @@ -262,7 +275,7 @@ const StepTwo = ({ docForm, docLanguage, dataSourceType: DataSourceType.WEB, - websitePages, + websitePages: [previewWebsitePage], crawlOptions, websiteCrawlProvider, websiteCrawlJobId, @@ -992,15 +1005,63 @@ const StepTwo = ({ title='Preview' >
- >} - onChange={(selected) => { - currentEstimateMutation.reset() - setPreviewFile(selected) - currentEstimateMutation.mutate() - }} - value={previewFile!} - /> + {dataSourceType === DataSourceType.FILE + && >} + onChange={(selected) => { + currentEstimateMutation.reset() + setPreviewFile(selected) + currentEstimateMutation.mutate() + }} + value={previewFile} + /> + } + {dataSourceType === DataSourceType.NOTION + && ({ + id: page.page_id, + name: page.page_name, + extension: 'md', + })) + } + onChange={(selected) => { + currentEstimateMutation.reset() + const selectedPage = notionPages.find(page => page.page_id === selected.id) + setPreviewNotionPage(selectedPage!) + currentEstimateMutation.mutate() + }} + value={{ + id: previewNotionPage?.page_id || '', + name: previewNotionPage?.page_name || '', + extension: 'md', + }} + /> + } + {dataSourceType === DataSourceType.WEB + && ({ + id: page.source_url, + name: page.title, + extension: 'md', + })) + } + onChange={(selected) => { + currentEstimateMutation.reset() + const selectedPage = websitePages.find(page => page.source_url === selected.id) + setPreviewWebsitePage(selectedPage!) + currentEstimateMutation.mutate() + }} + value={ + { + id: previewWebsitePage?.source_url || '', + name: previewWebsitePage?.title || '', + extension: 'md', + } + } + /> + } = { export const Topbar: FC = (props) => { const { className, ...rest } = props const { t } = useTranslation() - return
+ return
- +

{t('datasetCreation.steps.header.creation')}