Partial fix for links not working

This commit is contained in:
Weves
2024-05-27 17:29:16 -07:00
committed by Chris Weaver
parent 9a3613eb44
commit 008a91bff0
2 changed files with 112 additions and 100 deletions

View File

@@ -1020,8 +1020,8 @@ export function ChatPage({
const previousMessage = const previousMessage =
i !== 0 ? messageHistory[i - 1] : null; i !== 0 ? messageHistory[i - 1] : null;
return ( return (
<div key={i}>
<AIMessage <AIMessage
key={message.messageId}
messageId={message.messageId} messageId={message.messageId}
content={message.message} content={message.message}
files={message.files} files={message.files}
@@ -1040,8 +1040,7 @@ export function ChatPage({
message.documents.length > 0) === true message.documents.length > 0) === true
} }
handleFeedback={ handleFeedback={
i === messageHistory.length - 1 && i === messageHistory.length - 1 && isStreaming
isStreaming
? undefined ? undefined
: (feedbackType) => : (feedbackType) =>
setCurrentFeedback([ setCurrentFeedback([
@@ -1080,9 +1079,7 @@ export function ChatPage({
} }
: undefined : undefined
} }
isCurrentlyShowingRetrieved={ isCurrentlyShowingRetrieved={isShowingRetrieved}
isShowingRetrieved
}
handleShowRetrieved={(messageNumber) => { handleShowRetrieved={(messageNumber) => {
if (isShowingRetrieved) { if (isShowingRetrieved) {
setSelectedMessageForDocDisplay(null); setSelectedMessageForDocDisplay(null);
@@ -1116,7 +1113,6 @@ export function ChatPage({
}} }}
retrievalDisabled={retrievalDisabled} retrievalDisabled={retrievalDisabled}
/> />
</div>
); );
} else { } else {
return ( return (

View File

@@ -113,6 +113,7 @@ export const AIMessage = ({
if (!isReady) { if (!isReady) {
return <div />; return <div />;
} }
console.log(content);
if (!isComplete) { if (!isComplete) {
const trimIncompleteCodeSection = ( const trimIncompleteCodeSection = (
@@ -223,14 +224,29 @@ export const AIMessage = ({
key={messageId} key={messageId}
className="prose max-w-full" className="prose max-w-full"
components={{ components={{
a: ({ node, ...props }) => ( a: (props) => {
const { node, ...rest } = props;
// for some reason <a> tags cause the onClick to not apply
// and the links are unclickable
// TODO: fix the fact that you have to double click to follow link
// for the first link
return (
<a <a
{...props} key={node?.position?.start?.offset}
className="text-blue-500 hover:text-blue-700" onClick={() =>
target="_blank" rest.href
rel="noopener noreferrer" ? window.open(rest.href, "_blank")
/> : undefined
), }
className="cursor-pointer text-link hover:text-link-hover"
// href={rest.href}
// target="_blank"
// rel="noopener noreferrer"
>
{rest.children}
</a>
);
},
code: (props) => ( code: (props) => (
<CodeBlock {...props} content={content as string} /> <CodeBlock {...props} content={content as string} />
), ),