@plteam/chat-ui
Version:
CUI Kit is a free and open-source library for creating AI assistant chat interfaces, built with React, Material UI, and TypeScript
25 lines (24 loc) • 1.27 kB
JavaScript
import * as React from 'react';
import { useChatContext } from '../../core/ChatGlobalContext';
import { useChatCoreSlots } from '../../core/ChatSlotsContext';
import { ReplayIcon } from '../../../icons';
const MessageActionReload = ({ message }) => {
const { model, apiRef, onAssistantMessageTypingFinish } = useChatContext();
const coreSlots = useChatCoreSlots();
const handleClick = async () => {
const thread = model.currentThread.value;
const userMessage = thread?.messages.currentMessages.value.find(v => v.id === message.parentId);
if (!userMessage || !thread) {
console.error('reload error: user message not found', [message.parentId, model.currentThread.value?.messages.currentMessages.value.length]);
return;
}
const content = userMessage.content;
const newMessage = await apiRef.current?.onEditMessage(content, userMessage);
if (newMessage) {
onAssistantMessageTypingFinish?.({ message: userMessage.data, thread: thread.data });
}
};
return (React.createElement(coreSlots.iconButton, { size: "small", onClick: handleClick },
React.createElement(ReplayIcon, null)));
};
export default MessageActionReload;