diff --git a/web/src/components/image/index.tsx b/web/src/components/image/index.tsx index d7aa10129..14931ec95 100644 --- a/web/src/components/image/index.tsx +++ b/web/src/components/image/index.tsx @@ -7,6 +7,7 @@ import styles from './index.less'; interface IImage { id: string; className: string; + onClick?(): void; } const Image = ({ id, className, ...props }: IImage) => { diff --git a/web/src/pages/chat/markdown-content/index.less b/web/src/pages/chat/markdown-content/index.less index eefca7c93..3a26fa4bf 100644 --- a/web/src/pages/chat/markdown-content/index.less +++ b/web/src/pages/chat/markdown-content/index.less @@ -17,10 +17,15 @@ } .referenceChunkImage { + width: 10vw; + object-fit: contain; +} + +.referenceInnerChunkImage { display: block; object-fit: contain; max-width: 100%; - max-height: 15vh; + max-height: 6vh; } .referenceImagePreview { diff --git a/web/src/pages/chat/markdown-content/index.tsx b/web/src/pages/chat/markdown-content/index.tsx index cfa911d1a..4b8cfe5bc 100644 --- a/web/src/pages/chat/markdown-content/index.tsx +++ b/web/src/pages/chat/markdown-content/index.tsx @@ -101,7 +101,7 @@ const MarkdownContent = ({ }; }; - const getPopoverContent = useCallback( + const getReferenceInfo = useCallback( (chunkIndex: number) => { const chunks = reference?.chunks ?? []; const chunkItem = chunks[chunkIndex]; @@ -114,6 +114,31 @@ const MarkdownContent = ({ const fileExtension = documentId ? getExtension(document?.doc_name) : ''; const imageId = chunkItem?.image_id; + return { + documentUrl, + fileThumbnail, + fileExtension, + imageId, + chunkItem, + documentId, + document, + }; + }, + [fileThumbnails, reference?.chunks, reference?.doc_aggs], + ); + + const getPopoverContent = useCallback( + (chunkIndex: number) => { + const { + documentUrl, + fileThumbnail, + fileExtension, + imageId, + chunkItem, + documentId, + document, + } = getReferenceInfo(chunkIndex); + return (