feat: close #2136 click avatar to edit message

This commit is contained in:
Yidadaa 2023-06-29 01:31:27 +08:00
parent 6c3d4a11cc
commit b044e274aa
4 changed files with 45 additions and 0 deletions

View File

@ -251,6 +251,12 @@
display: flex;
flex-direction: column;
align-items: flex-start;
&:hover {
.chat-message-edit {
opacity: 0.9;
}
}
}
.chat-message-user > .chat-message-container {
@ -259,6 +265,23 @@
.chat-message-avatar {
margin-top: 20px;
position: relative;
.chat-message-edit {
position: absolute;
height: 100%;
width: 100%;
overflow: hidden;
display: flex;
align-items: center;
justify-content: center;
opacity: 0;
transition: all ease 0.3s;
button {
padding: 7px;
}
}
}
.chat-message-status {

View File

@ -23,6 +23,7 @@ import BreakIcon from "../icons/break.svg";
import SettingsIcon from "../icons/chat-settings.svg";
import DeleteIcon from "../icons/clear.svg";
import PinIcon from "../icons/pin.svg";
import EditIcon from "../icons/rename.svg";
import LightIcon from "../icons/light.svg";
import DarkIcon from "../icons/dark.svg";
@ -902,6 +903,25 @@ export function Chat() {
>
<div className={styles["chat-message-container"]}>
<div className={styles["chat-message-avatar"]}>
<div className={styles["chat-message-edit"]}>
<IconButton
icon={<EditIcon />}
onClick={async () => {
const newMessage = await showPrompt(
Locale.Chat.Actions.Edit,
message.content,
);
chatStore.updateCurrentSession((session) => {
const m = session.messages.find(
(m) => m.id === message.id,
);
if (m) {
m.content = newMessage;
}
});
}}
></IconButton>
</div>
{message.role === "user" ? (
<Avatar avatar={config.avatar} />
) : (

View File

@ -29,6 +29,7 @@ const cn = {
PinToastContent: "已将 2 条对话固定至预设提示词",
PinToastAction: "查看",
Delete: "删除",
Edit: "编辑",
},
Commands: {
new: "新建聊天",

View File

@ -30,6 +30,7 @@ const en: LocaleType = {
PinToastContent: "Pinned 2 messages to contextual prompts",
PinToastAction: "View",
Delete: "Delete",
Edit: "Edit",
},
Commands: {
new: "Start a new chat",