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; display: flex;
flex-direction: column; flex-direction: column;
align-items: flex-start; align-items: flex-start;
&:hover {
.chat-message-edit {
opacity: 0.9;
}
}
} }
.chat-message-user > .chat-message-container { .chat-message-user > .chat-message-container {
@ -259,6 +265,23 @@
.chat-message-avatar { .chat-message-avatar {
margin-top: 20px; 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 { .chat-message-status {

View File

@ -23,6 +23,7 @@ import BreakIcon from "../icons/break.svg";
import SettingsIcon from "../icons/chat-settings.svg"; import SettingsIcon from "../icons/chat-settings.svg";
import DeleteIcon from "../icons/clear.svg"; import DeleteIcon from "../icons/clear.svg";
import PinIcon from "../icons/pin.svg"; import PinIcon from "../icons/pin.svg";
import EditIcon from "../icons/rename.svg";
import LightIcon from "../icons/light.svg"; import LightIcon from "../icons/light.svg";
import DarkIcon from "../icons/dark.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-container"]}>
<div className={styles["chat-message-avatar"]}> <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" ? ( {message.role === "user" ? (
<Avatar avatar={config.avatar} /> <Avatar avatar={config.avatar} />
) : ( ) : (

View File

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

View File

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