diff options
author | A.J. Shulman <Shulman.aj@gmail.com> | 2024-07-17 14:58:46 -0400 |
---|---|---|
committer | A.J. Shulman <Shulman.aj@gmail.com> | 2024-07-17 14:58:46 -0400 |
commit | dd379c9e4c4c214b2ed14e3fd9a5f966e4f03b48 (patch) | |
tree | 1fcf384c00279bfb0e54e31a53d72e3991bed657 /src/client/views/nodes/ChatBox/MessageComponent.tsx | |
parent | 0340c24eccce3d90c03934dec14d574128fb32ef (diff) |
working on rendering MarkDown and added NoTool
Diffstat (limited to 'src/client/views/nodes/ChatBox/MessageComponent.tsx')
-rw-r--r-- | src/client/views/nodes/ChatBox/MessageComponent.tsx | 10 |
1 files changed, 6 insertions, 4 deletions
diff --git a/src/client/views/nodes/ChatBox/MessageComponent.tsx b/src/client/views/nodes/ChatBox/MessageComponent.tsx index 9f3dee990..fb4a56bc3 100644 --- a/src/client/views/nodes/ChatBox/MessageComponent.tsx +++ b/src/client/views/nodes/ChatBox/MessageComponent.tsx @@ -1,5 +1,6 @@ import React from 'react'; import { observer } from 'mobx-react'; +import ReactMarkdown from 'react-markdown'; import { AssistantMessage, Citation } from './types'; interface MessageComponentProps { @@ -13,7 +14,7 @@ interface MessageComponentProps { const MessageComponentBox: React.FC<MessageComponentProps> = function ({ message, index, onFollowUpClick, onCitationClick, updateMessageCitations }) { const renderContent = (content: string) => { if (!message.citations || message.citations.length === 0) { - return content; + return <ReactMarkdown>{content}</ReactMarkdown>; } const parts = []; @@ -22,9 +23,10 @@ const MessageComponentBox: React.FC<MessageComponentProps> = function ({ message message.citations.forEach((citation, idx) => { const location = citation.text_location; const textBefore = content.slice(lastIndex, location); + parts.push(<ReactMarkdown key={`md-${idx}`}>{textBefore}</ReactMarkdown>); const citationButton = ( <button - key={idx} + key={`citation-${idx}`} className="citation-button" onClick={() => onCitationClick(citation)} style={{ @@ -46,11 +48,11 @@ const MessageComponentBox: React.FC<MessageComponentProps> = function ({ message {idx + 1} </button> ); - parts.push(textBefore, citationButton); + parts.push(citationButton); lastIndex = location; }); - parts.push(content.slice(lastIndex)); + parts.push(<ReactMarkdown key="md-last">{content.slice(lastIndex)}</ReactMarkdown>); return parts; }; |