From a430284aa21e3ae1f0d5654e55b2ad2852519cc2 Mon Sep 17 00:00:00 2001 From: wwf <yearningwang@iqtogether.com> Date: 星期三, 04 六月 2025 15:17:49 +0800 Subject: [PATCH] 初始化 --- app/components/datasets/documents/detail/index.tsx | 54 +++++++++++++++++++++++++----------------------------- 1 files changed, 25 insertions(+), 29 deletions(-) diff --git a/app/components/datasets/documents/detail/index.tsx b/app/components/datasets/documents/detail/index.tsx index aff7403..2b65c19 100644 --- a/app/components/datasets/documents/detail/index.tsx +++ b/app/components/datasets/documents/detail/index.tsx @@ -4,12 +4,12 @@ import { createContext, useContext, useContextSelector } from 'use-context-selector' import { useTranslation } from 'react-i18next' import { useRouter } from 'next/navigation' -import { RiArrowLeftLine, RiLayoutLeft2Line, RiLayoutRight2Line } from '@remixicon/react' +import { RiArrowLeftLine, RiLayoutRight2Line } from '@remixicon/react' import { OperationAction, StatusItem } from '../list' import DocumentPicker from '../../common/document-picker' import Completed from './completed' import Embedding from './embedding' -import Metadata from '@/app/components/datasets/metadata/metadata-document' +import Metadata from './metadata' import SegmentAdd, { ProcessStatus } from './segment-add' import BatchModal from './batch-modal' import style from './style.module.css' @@ -21,8 +21,9 @@ import { useDatasetDetailContext } from '@/context/dataset-detail' import FloatRightContainer from '@/app/components/base/float-right-container' import useBreakpoints, { MediaType } from '@/hooks/use-breakpoints' +import { LayoutRight2LineMod } from '@/app/components/base/icons/src/public/knowledge' import { useCheckSegmentBatchImportProgress, useChildSegmentListKey, useSegmentBatchImport, useSegmentListKey } from '@/service/knowledge/use-segment' -import { useDocumentDetail, useDocumentMetadata, useInvalidDocumentList } from '@/service/knowledge/use-document' +import { useDocumentDetail, useDocumentMetadata } from '@/service/knowledge/use-document' import { useInvalid } from '@/service/use-base' type DocumentContextValue = { @@ -53,7 +54,7 @@ export const DocumentTitle: FC<DocumentTitleProps> = ({ datasetId, extension, name, processMode, parent_mode, wrapperCls }) => { const router = useRouter() return ( - <div className={cn('flex flex-1 items-center justify-start', wrapperCls)}> + <div className={cn('flex items-center justify-start flex-1', wrapperCls)}> <DocumentPicker datasetId={datasetId} value={{ @@ -134,7 +135,7 @@ params: { metadata: 'without' }, }) - const { data: documentMetadata } = useDocumentMetadata({ + const { data: documentMetadata, error: metadataErr, refetch: metadataMutate } = useDocumentMetadata({ datasetId, documentId, params: { metadata: 'only' }, @@ -145,27 +146,23 @@ } const isDetailLoading = !documentDetail && !error + const isMetadataLoading = !documentMetadata && !metadataErr const embedding = ['queuing', 'indexing', 'paused'].includes((documentDetail?.display_status || '').toLowerCase()) const invalidChunkList = useInvalid(useSegmentListKey) const invalidChildChunkList = useInvalid(useChildSegmentListKey) - const invalidDocumentList = useInvalidDocumentList(datasetId) const handleOperate = (operateName?: string) => { - invalidDocumentList() if (operateName === 'delete') { backToPrev() } else { detailMutate() - // If operation is not rename, refresh the chunk list after 5 seconds - if (operateName) { - setTimeout(() => { - invalidChunkList() - invalidChildChunkList() - }, 5000) - } + setTimeout(() => { + invalidChunkList() + invalidChildChunkList() + }, 5000) } } @@ -189,10 +186,10 @@ mode, parentMode, }}> - <div className='flex h-full flex-col bg-background-default'> - <div className='flex min-h-16 flex-wrap items-center justify-between border-b border-b-divider-subtle py-2.5 pl-3 pr-4'> - <div onClick={backToPrev} className={'flex h-8 w-8 shrink-0 cursor-pointer items-center justify-center rounded-full hover:bg-components-button-tertiary-bg'}> - <RiArrowLeftLine className='h-4 w-4 text-components-button-ghost-text hover:text-text-tertiary' /> + <div className='flex flex-col h-full bg-background-default'> + <div className='flex items-center justify-between flex-wrap min-h-16 pl-3 pr-4 py-2.5 border-b border-b-divider-subtle'> + <div onClick={backToPrev} className={'shrink-0 rounded-full w-8 h-8 flex justify-center items-center cursor-pointer hover:bg-components-button-tertiary-bg'}> + <RiArrowLeftLine className='text-components-button-ghost-text hover:text-text-tertiary w-4 h-4' /> </div> <DocumentTitle datasetId={datasetId} @@ -202,7 +199,7 @@ parent_mode={parentMode} processMode={mode} /> - <div className='flex flex-wrap items-center'> + <div className='flex items-center flex-wrap'> {embeddingAvailable && documentDetail && !documentDetail.archived && !isFullDocMode && ( <> <SegmentAdd @@ -212,7 +209,7 @@ showBatchModal={showBatchModal} embedding={embedding} /> - <Divider type='vertical' className='!mx-3 !h-[14px] !bg-divider-regular' /> + <Divider type='vertical' className='!bg-divider-regular !h-[14px] !mx-3' /> </> )} <StatusItem @@ -249,17 +246,17 @@ > { showMetadata - ? <RiLayoutLeft2Line className='h-4 w-4 text-components-button-secondary-text' /> - : <RiLayoutRight2Line className='h-4 w-4 text-components-button-secondary-text' /> + ? <LayoutRight2LineMod className='w-4 h-4 text-components-button-secondary-text' /> + : <RiLayoutRight2Line className='w-4 h-4 text-components-button-secondary-text' /> } </button> </div> </div> - <div className='flex flex-1 flex-row' style={{ height: 'calc(100% - 4rem)' }}> + <div className='flex flex-row flex-1' style={{ height: 'calc(100% - 4rem)' }}> {isDetailLoading ? <Loading type='app' /> - : <div className={cn('flex h-full min-w-0 grow flex-col', - embedding ? '' : isFullDocMode ? 'relative pl-11 pr-11 pt-4' : 'relative pl-5 pr-11 pt-3', + : <div className={cn('h-full grow min-w-0 flex flex-col', + embedding ? '' : isFullDocMode ? 'relative pt-4 pr-11 pl-11' : 'relative pt-3 pr-11 pl-5', )}> {embedding ? <Embedding @@ -277,12 +274,11 @@ } </div> } - <FloatRightContainer showClose isOpen={showMetadata} onClose={() => setShowMetadata(false)} isMobile={isMobile} panelClassName='!justify-start' footer={null}> + <FloatRightContainer showClose isOpen={showMetadata} onClose={() => setShowMetadata(false)} isMobile={isMobile} panelClassname='!justify-start' footer={null}> <Metadata - className='mr-2 mt-3' - datasetId={datasetId} - documentId={documentId} docDetail={{ ...documentDetail, ...documentMetadata, doc_type: documentMetadata?.doc_type === 'others' ? '' : documentMetadata?.doc_type } as any} + loading={isMetadataLoading} + onUpdate={metadataMutate} /> </FloatRightContainer> </div> -- Gitblit v1.8.0