mirror of
				https://github.com/langgenius/dify.git
				synced 2025-10-31 02:42:59 +00:00 
			
		
		
		
	refactor: improve layout and styling in TestRunPanel and FilePreview components
This commit is contained in:
		
							parent
							
								
									13e3f17493
								
							
						
					
					
						commit
						324c0d7b4c
					
				| @ -187,9 +187,9 @@ const TestRunPanel = () => { | |||||||
| 
 | 
 | ||||||
|   return ( |   return ( | ||||||
|     <div |     <div | ||||||
|       className='relative flex h-[calc(100vh-56px)] min-w-[1512px] rounded-t-2xl border-t border-effects-highlight bg-background-default-subtle' |       className='relative flex h-[calc(100vh-56px)] overflow-x-auto rounded-t-2xl border-t border-effects-highlight bg-background-default-subtle' | ||||||
|     > |     > | ||||||
|       <div className='flex flex-1 flex-col px-14'> |       <div className='flex h-full min-w-[760px] flex-1 flex-col px-14'> | ||||||
|         <LeftHeader |         <LeftHeader | ||||||
|           title={t('datasetPipeline.addDocuments.title')} |           title={t('datasetPipeline.addDocuments.title')} | ||||||
|           currentStep={currentStep} |           currentStep={currentStep} | ||||||
| @ -287,7 +287,7 @@ const TestRunPanel = () => { | |||||||
|       {/* Preview */} |       {/* Preview */} | ||||||
|       { |       { | ||||||
|         currentStep === 1 && ( |         currentStep === 1 && ( | ||||||
|           <div className='flex h-full flex-1 shrink-0 flex-col pl-2 pt-2'> |           <div className='flex h-full w-[752px] shrink-0 flex-col pl-2 pt-2'> | ||||||
|             {currentFile && <FilePreview file={currentFile} hidePreview={hideFilePreview} />} |             {currentFile && <FilePreview file={currentFile} hidePreview={hideFilePreview} />} | ||||||
|             {currentNotionPage && <NotionPagePreview currentPage={currentNotionPage} hidePreview={hideNotionPagePreview} />} |             {currentNotionPage && <NotionPagePreview currentPage={currentNotionPage} hidePreview={hideNotionPagePreview} />} | ||||||
|             {currentWebsite && <WebsitePreview payload={currentWebsite} hidePreview={hideWebsitePreview} />} |             {currentWebsite && <WebsitePreview payload={currentWebsite} hidePreview={hideWebsitePreview} />} | ||||||
|  | |||||||
| @ -27,22 +27,27 @@ const FilePreview = ({ | |||||||
|     return arr.slice(0, -1).join() |     return arr.slice(0, -1).join() | ||||||
|   } |   } | ||||||
| 
 | 
 | ||||||
|   const getFileSize = (size: number) => { |   const getFileSize = (fileSize: number) => { | ||||||
|     if (size / 1024 < 10) |     if (!fileSize) | ||||||
|       return `${(size / 1024).toFixed(1)} KB` |       return fileSize | ||||||
| 
 |     const units = ['', 'K', 'M', 'G', 'T', 'P'] | ||||||
|     return `${(size / 1024 / 1024).toFixed(1)} MB` |     let index = 0 | ||||||
|  |     while (fileSize >= 1024 && index < units.length) { | ||||||
|  |       fileSize = fileSize / 1024 | ||||||
|  |       index++ | ||||||
|  |     } | ||||||
|  |     return `${fileSize.toFixed(2)} ${units[index]}B` | ||||||
|   } |   } | ||||||
| 
 | 
 | ||||||
|   return ( |   return ( | ||||||
|     <div className='h-full rounded-t-xl border-l border-t border-components-panel-border bg-background-default-lighter shadow-md shadow-shadow-shadow-5'> |     <div className='h-full rounded-t-xl border-l border-t border-components-panel-border bg-background-default-lighter shadow-md shadow-shadow-shadow-5'> | ||||||
|       <div className='flex gap-x-2 pb-3 pl-6 pr-4 pt-4'> |       <div className='flex gap-x-2 border-b border-divider-subtle pb-3 pl-6 pr-4 pt-4'> | ||||||
|         <div className='flex grow flex-col gap-y-1'> |         <div className='flex grow flex-col gap-y-1'> | ||||||
|           <div className='system-2xs-semibold-uppercase'>{t('datasetPipeline.addDocuments.stepOne.preview')}</div> |           <div className='system-2xs-semibold-uppercase text-text-accent'>{t('datasetPipeline.addDocuments.stepOne.preview')}</div> | ||||||
|           <div className='title-md-semi-bold text-tex-primary'>{`${getFileName(file)}.${file.extension}`}</div> |           <div className='title-md-semi-bold text-tex-primary'>{`${getFileName(file)}.${file.extension}`}</div> | ||||||
|           <div className='system-xs-medium flex gap-x-1  text-text-tertiary'> |           <div className='system-xs-medium flex items-center gap-x-1 text-text-tertiary'> | ||||||
|             <DocumentFileIcon |             <DocumentFileIcon | ||||||
|               className='size-6 shrink-0' |               className='size-3.5 shrink-0' | ||||||
|               name={file.name} |               name={file.name} | ||||||
|               extension={file.extension} |               extension={file.extension} | ||||||
|             /> |             /> | ||||||
| @ -65,13 +70,11 @@ const FilePreview = ({ | |||||||
|           <RiCloseLine className='size-[18px]' /> |           <RiCloseLine className='size-[18px]' /> | ||||||
|         </button> |         </button> | ||||||
|       </div> |       </div> | ||||||
|       <div className='px-6 py-5'> |  | ||||||
|       {isFetching && <Loading />} |       {isFetching && <Loading />} | ||||||
|       {!isFetching && fileData && ( |       {!isFetching && fileData && ( | ||||||
|           <div className='body-md-regular overflow-hidden text-text-secondary'>{fileData.content}</div> |         <div className='body-md-regular overflow-hidden px-6 py-5 text-text-secondary'>{fileData.content}</div> | ||||||
|       )} |       )} | ||||||
|     </div> |     </div> | ||||||
|     </div> |  | ||||||
|   ) |   ) | ||||||
| } | } | ||||||
| 
 | 
 | ||||||
|  | |||||||
| @ -3,7 +3,7 @@ import { SkeletonContainer, SkeletonRectangle } from '@/app/components/base/skel | |||||||
| 
 | 
 | ||||||
| const Loading = () => { | const Loading = () => { | ||||||
|   return ( |   return ( | ||||||
|     <div className='flex h-full flex-col gap-y-12 bg-gradient-to-b from-components-panel-bg-transparent to-components-panel-bg px-6 py-5'> |     <div className='flex h-full flex-col gap-y-3 overflow-hidden bg-gradient-to-b from-components-panel-bg-transparent to-components-panel-bg px-6 py-5'> | ||||||
|       <SkeletonContainer className='w-full gap-0'> |       <SkeletonContainer className='w-full gap-0'> | ||||||
|         <SkeletonRectangle className='my-1.5 w-full' /> |         <SkeletonRectangle className='my-1.5 w-full' /> | ||||||
|         <SkeletonRectangle className='my-1.5 w-full' /> |         <SkeletonRectangle className='my-1.5 w-full' /> | ||||||
|  | |||||||
		Loading…
	
	
			
			x
			
			
		
	
		Reference in New Issue
	
	Block a user
	 twwu
						twwu