Compare commits

..
2 Commits
2 changed files with 29 additions and 12 deletions
+20 -7
View File
@@ -193,13 +193,24 @@ export const api = {
conversationId: string, conversationId: string,
messageId: string, messageId: string,
params: ChatParams, params: ChatParams,
) => invoke<void>("regenerate_message", { conversationId, messageId, params }), ) =>
invoke<void>("regenerate_message", {
payload: { conversation_id: conversationId, message_id: messageId, params },
}),
editMessage: ( editMessage: (
conversationId: string, conversationId: string,
messageId: string, messageId: string,
content: string, content: string,
params: ChatParams, params: ChatParams,
) => invoke<void>("edit_message", { conversationId, messageId, content, params }), ) =>
invoke<void>("edit_message", {
payload: {
conversation_id: conversationId,
message_id: messageId,
content,
params,
},
}),
listMessageVersions: (messageId: string) => listMessageVersions: (messageId: string) =>
invoke<MessageVersion[]>("list_message_versions", { messageId }), invoke<MessageVersion[]>("list_message_versions", { messageId }),
applyMessageVersion: ( applyMessageVersion: (
@@ -215,11 +226,13 @@ export const api = {
source?: string, source?: string,
) => ) =>
invoke<string>("download_enqueue", { invoke<string>("download_enqueue", {
url, payload: {
fileName, url,
sha256: sha256 ?? null, file_name: fileName,
repoId: repoId ?? null, sha256: sha256 ?? null,
source: source ?? null, repo_id: repoId ?? null,
source: source ?? null,
},
}), }),
serverStart: (port: number, apiKey: string) => serverStart: (port: number, apiKey: string) =>
invoke<ServerStatus>("server_start", { port, apiKey }), invoke<ServerStatus>("server_start", { port, apiKey }),
+9 -5
View File
@@ -718,15 +718,19 @@ function MessageBubble({
) : isUser ? ( ) : isUser ? (
<> <>
<div className="whitespace-pre-wrap">{message.content}</div> <div className="whitespace-pre-wrap">{message.content}</div>
{!streaming ? ( <div
className={`mt-1 flex justify-end transition-opacity ${
streaming ? "opacity-0" : "opacity-0 group-hover:opacity-100"
}`}
>
<button <button
className="absolute -left-8 top-2 hidden rounded p-1 text-slate-500 hover:text-slate-200 group-hover:block" className="rounded px-1.5 py-0.5 text-[10px] text-white/60 hover:bg-white/10 hover:text-white"
onClick={() => onEditStart(message)} onClick={() => onEditStart(message)}
title="编辑并重新提交" title="编辑并重新提交(清空之后的生成)"
> >
</button> </button>
) : null} </div>
</> </>
) : message.content ? ( ) : message.content ? (
<ReactMarkdown remarkPlugins={[remarkGfm]}>{message.content}</ReactMarkdown> <ReactMarkdown remarkPlugins={[remarkGfm]}>{message.content}</ReactMarkdown>