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