mirror of
https://github.com/ItzCrazyKns/Perplexica.git
synced 2025-05-03 01:32:29 +00:00
feat(chat-window): update message handling
This commit is contained in:
@ -363,20 +363,18 @@ const ChatWindow = ({ id }: { id?: string }) => {
|
|||||||
|
|
||||||
if (data.type === 'sources') {
|
if (data.type === 'sources') {
|
||||||
sources = data.data;
|
sources = data.data;
|
||||||
if (!added) {
|
setMessages((prevMessages) => [
|
||||||
setMessages((prevMessages) => [
|
...prevMessages,
|
||||||
...prevMessages,
|
{
|
||||||
{
|
content: '',
|
||||||
content: '',
|
messageId: data.messageId,
|
||||||
messageId: data.messageId,
|
chatId: chatId!,
|
||||||
chatId: chatId!,
|
role: 'assistant',
|
||||||
role: 'assistant',
|
sources: sources,
|
||||||
sources: sources,
|
createdAt: new Date(),
|
||||||
createdAt: new Date(),
|
},
|
||||||
},
|
]);
|
||||||
]);
|
added = true;
|
||||||
added = true;
|
|
||||||
}
|
|
||||||
setMessageAppeared(true);
|
setMessageAppeared(true);
|
||||||
}
|
}
|
||||||
|
|
||||||
@ -394,20 +392,20 @@ const ChatWindow = ({ id }: { id?: string }) => {
|
|||||||
},
|
},
|
||||||
]);
|
]);
|
||||||
added = true;
|
added = true;
|
||||||
|
setMessageAppeared(true);
|
||||||
|
} else {
|
||||||
|
setMessages((prev) =>
|
||||||
|
prev.map((message) => {
|
||||||
|
if (message.messageId === data.messageId) {
|
||||||
|
return { ...message, content: message.content + data.data };
|
||||||
|
}
|
||||||
|
|
||||||
|
return message;
|
||||||
|
}),
|
||||||
|
);
|
||||||
}
|
}
|
||||||
|
|
||||||
setMessages((prev) =>
|
|
||||||
prev.map((message) => {
|
|
||||||
if (message.messageId === data.messageId) {
|
|
||||||
return { ...message, content: message.content + data.data };
|
|
||||||
}
|
|
||||||
|
|
||||||
return message;
|
|
||||||
}),
|
|
||||||
);
|
|
||||||
|
|
||||||
recievedMessage += data.data;
|
recievedMessage += data.data;
|
||||||
setMessageAppeared(true);
|
|
||||||
}
|
}
|
||||||
|
|
||||||
if (data.type === 'messageEnd') {
|
if (data.type === 'messageEnd') {
|
||||||
|
Reference in New Issue
Block a user