diff --git a/web/src/components/document-preview/txt-preview.tsx b/web/src/components/document-preview/txt-preview.tsx index cf6649e343..b07ad85c2f 100644 --- a/web/src/components/document-preview/txt-preview.tsx +++ b/web/src/components/document-preview/txt-preview.tsx @@ -40,7 +40,7 @@ export const TxtPreviewer = ({ className, url }: TxtPreviewerProps) => { return (
diff --git a/web/src/components/floating-chat-widget-markdown.tsx b/web/src/components/floating-chat-widget-markdown.tsx index df61b30951..cbbb7bdc6a 100644 --- a/web/src/components/floating-chat-widget-markdown.tsx +++ b/web/src/components/floating-chat-widget-markdown.tsx @@ -86,13 +86,14 @@ const FloatingChatWidgetMarkdown = ({ ( documentId: string, chunk: IReferenceChunk, - isPdf: boolean, + fileExtension: string, documentUrl?: string, ) => () => { if (!documentId) return; - if (!isPdf && documentUrl) { - window.open(documentUrl, '_blank'); + if (fileExtension !== 'pdf' && documentUrl) { + const nextLink = `/document/${documentId}?ext=${fileExtension}&resource=${'document'}`; + window.open(nextLink, '_blank'); } else if (clickDocumentButton) { clickDocumentButton(documentId, chunk); } @@ -215,7 +216,7 @@ const FloatingChatWidgetMarkdown = ({ onClick={handleDocumentButtonClick( documentId, chunkItem, - fileExtension === 'pdf', + fileExtension, documentUrl, )} disabled={!documentUrl && fileExtension !== 'pdf'} @@ -270,7 +271,7 @@ const FloatingChatWidgetMarkdown = ({ onClick={handleDocumentButtonClick( documentId, chunkItem, - fileExtension === 'pdf', + fileExtension, documentUrl, )} /> diff --git a/web/src/components/markdown-content/index.tsx b/web/src/components/markdown-content/index.tsx index 2f332bc4b5..9789987491 100644 --- a/web/src/components/markdown-content/index.tsx +++ b/web/src/components/markdown-content/index.tsx @@ -6,7 +6,7 @@ import { citationMarkerReg } from '@/utils/citation-utils'; import { getExtension } from '@/utils/document-util'; import { getDirAttribute } from '@/utils/text-direction'; import DOMPurify from 'dompurify'; -import { useCallback, useEffect, useMemo } from 'react'; +import { useCallback, useEffect, useMemo, useState } from 'react'; import Markdown from 'react-markdown'; import SyntaxHighlighter from 'react-syntax-highlighter'; import rehypeKatex from 'rehype-katex'; @@ -94,15 +94,16 @@ const MarkdownContent = ({ ( documentId: string, chunk: IReferenceChunk, - isPdf: boolean, + fileExtension: string, documentUrl?: string, ) => () => { - if (!isPdf) { + if (fileExtension !== 'pdf') { if (!documentUrl) { return; } - window.open(documentUrl, '_blank'); + const nextLink = `/document/${documentId}?ext=${fileExtension}&resource=${'document'}`; + window.open(nextLink, '_blank'); } else { clickDocumentButton?.(documentId, chunk); } @@ -226,7 +227,7 @@ const MarkdownContent = ({ onClick={handleDocumentButtonClick( documentId, chunkItem, - fileExtension === 'pdf', + fileExtension, documentUrl, )} > diff --git a/web/src/components/next-markdown-content/index.tsx b/web/src/components/next-markdown-content/index.tsx index 600c89d6f0..62d3ff80a9 100644 --- a/web/src/components/next-markdown-content/index.tsx +++ b/web/src/components/next-markdown-content/index.tsx @@ -200,15 +200,16 @@ function MarkdownContent({ ( documentId: string, chunk: IReferenceChunk, - isPdf: boolean, + fileExtension: string, documentUrl?: string, ) => () => { - if (!isPdf) { + if (fileExtension !== 'pdf') { if (!documentUrl) { return; } - window.open(documentUrl, '_blank'); + const nextLink = `/document/${documentId}?ext=${fileExtension}&resource=${'document'}`; + window.open(nextLink, '_blank'); } else { clickDocumentButton?.(documentId, chunk); } @@ -318,7 +319,7 @@ function MarkdownContent({ onClick={handleDocumentButtonClick( documentId, chunkItem, - fileExtension === 'pdf', + fileExtension, documentUrl, )} className="text-ellipsis text-wrap"