summaryrefslogtreecommitdiff
path: root/examples/server/webui/src/components/ChatMessage.tsx
diff options
context:
space:
mode:
Diffstat (limited to 'examples/server/webui/src/components/ChatMessage.tsx')
-rw-r--r--examples/server/webui/src/components/ChatMessage.tsx17
1 files changed, 16 insertions, 1 deletions
diff --git a/examples/server/webui/src/components/ChatMessage.tsx b/examples/server/webui/src/components/ChatMessage.tsx
index 40ea7471..a60fd241 100644
--- a/examples/server/webui/src/components/ChatMessage.tsx
+++ b/examples/server/webui/src/components/ChatMessage.tsx
@@ -20,6 +20,7 @@ export default function ChatMessage({
onEditMessage,
onChangeSibling,
isPending,
+ onContinueMessage,
}: {
msg: Message | PendingMessage;
siblingLeafNodeIds: Message['id'][];
@@ -27,6 +28,7 @@ export default function ChatMessage({
id?: string;
onRegenerateMessage(msg: Message): void;
onEditMessage(msg: Message, content: string): void;
+ onContinueMessage(msg: Message, content: string): void;
onChangeSibling(sibling: Message['id']): void;
isPending?: boolean;
}) {
@@ -112,7 +114,11 @@ export default function ChatMessage({
onClick={() => {
if (msg.content !== null) {
setEditingContent(null);
- onEditMessage(msg as Message, editingContent);
+ if (msg.role === 'user') {
+ onEditMessage(msg as Message, editingContent);
+ } else {
+ onContinueMessage(msg as Message, editingContent);
+ }
}
}}
>
@@ -283,6 +289,15 @@ export default function ChatMessage({
🔄 Regenerate
</button>
)}
+ {!isPending && (
+ <button
+ className="badge btn-mini show-on-hover"
+ onClick={() => setEditingContent(msg.content)}
+ disabled={msg.content === null}
+ >
+ ✍️ Edit
+ </button>
+ )}
</>
)}
<CopyButton