Skip to content
Snippets Groups Projects
Unverified Commit 72b71952 authored by Thuc Pham's avatar Thuc Pham Committed by GitHub
Browse files

fix: dont use props as state in chat suggestion component (#267)

parent 2f8feabc
No related branches found
No related tags found
No related merge requests found
---
"create-llama": patch
---
fix: dont use props as state in chat suggestion component
import { useState } from "react";
import { ChatHandler, SuggestedQuestionsData } from ".."; import { ChatHandler, SuggestedQuestionsData } from "..";
export function SuggestedQuestions({ export function SuggestedQuestions({
questions, questions,
append, append,
isLastMessage,
}: { }: {
questions: SuggestedQuestionsData; questions: SuggestedQuestionsData;
append: Pick<ChatHandler, "append">["append"]; append: Pick<ChatHandler, "append">["append"];
isLastMessage: boolean;
}) { }) {
const [showQuestions, setShowQuestions] = useState(questions.length > 0); const showQuestions = isLastMessage && questions.length > 0;
return ( return (
showQuestions && showQuestions &&
append !== undefined && ( append !== undefined && (
...@@ -19,7 +19,6 @@ export function SuggestedQuestions({ ...@@ -19,7 +19,6 @@ export function SuggestedQuestions({
key={index} key={index}
onClick={() => { onClick={() => {
append({ role: "user", content: question }); append({ role: "user", content: question });
setShowQuestions(false);
}} }}
className="text-sm italic hover:underline cursor-pointer" className="text-sm italic hover:underline cursor-pointer"
> >
......
...@@ -34,10 +34,12 @@ function ChatMessageContent({ ...@@ -34,10 +34,12 @@ function ChatMessageContent({
message, message,
isLoading, isLoading,
append, append,
isLastMessage,
}: { }: {
message: Message; message: Message;
isLoading: boolean; isLoading: boolean;
append: Pick<ChatHandler, "append">["append"]; append: Pick<ChatHandler, "append">["append"];
isLastMessage: boolean;
}) { }) {
const annotations = message.annotations as MessageAnnotation[] | undefined; const annotations = message.annotations as MessageAnnotation[] | undefined;
if (!annotations?.length) return <Markdown content={message.content} />; if (!annotations?.length) return <Markdown content={message.content} />;
...@@ -102,6 +104,7 @@ function ChatMessageContent({ ...@@ -102,6 +104,7 @@ function ChatMessageContent({
<SuggestedQuestions <SuggestedQuestions
questions={suggestedQuestionsData[0]} questions={suggestedQuestionsData[0]}
append={append} append={append}
isLastMessage={isLastMessage}
/> />
) : null, ) : null,
}, },
...@@ -122,10 +125,12 @@ export default function ChatMessage({ ...@@ -122,10 +125,12 @@ export default function ChatMessage({
chatMessage, chatMessage,
isLoading, isLoading,
append, append,
isLastMessage,
}: { }: {
chatMessage: Message; chatMessage: Message;
isLoading: boolean; isLoading: boolean;
append: Pick<ChatHandler, "append">["append"]; append: Pick<ChatHandler, "append">["append"];
isLastMessage: boolean;
}) { }) {
const { isCopied, copyToClipboard } = useCopyToClipboard({ timeout: 2000 }); const { isCopied, copyToClipboard } = useCopyToClipboard({ timeout: 2000 });
return ( return (
...@@ -136,6 +141,7 @@ export default function ChatMessage({ ...@@ -136,6 +141,7 @@ export default function ChatMessage({
message={chatMessage} message={chatMessage}
isLoading={isLoading} isLoading={isLoading}
append={append} append={append}
isLastMessage={isLastMessage}
/> />
<Button <Button
onClick={() => copyToClipboard(chatMessage.content)} onClick={() => copyToClipboard(chatMessage.content)}
......
...@@ -69,6 +69,7 @@ export default function ChatMessages( ...@@ -69,6 +69,7 @@ export default function ChatMessages(
chatMessage={m} chatMessage={m}
isLoading={isLoadingMessage} isLoading={isLoadingMessage}
append={props.append!} append={props.append!}
isLastMessage={i === messageLength - 1}
/> />
); );
})} })}
......
0% Loading or .
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment