diff --git a/web/src/components/MemoChat/ChatMessage.tsx b/web/src/components/MemoChat/ChatMessage.tsx index 1c78fea64..5e1993701 100644 --- a/web/src/components/MemoChat/ChatMessage.tsx +++ b/web/src/components/MemoChat/ChatMessage.tsx @@ -1,6 +1,10 @@ import { Message } from "@/store/zustand/message"; import { marked } from "@/labs/marked"; import Icon from "@/components/Icon"; +import Dropdown from "../kit/Dropdown"; +import { useMemoStore } from "@/store/module"; +import toast from "react-hot-toast"; +import { useTranslate } from "@/utils/i18n"; interface MessageProps { index: number; @@ -8,6 +12,19 @@ interface MessageProps { } const ChatMessage = ({ index, message }: MessageProps) => { + const memoStore = useMemoStore(); + const t = useTranslate(); + + const handleSaveAsMemos = async () => { + await memoStore.createMemo({ + content: message.content, + visibility: "PRIVATE", + resourceIdList: [], + relationList: [], + }); + toast.success(t("memo-chat.save-as-memo-success")); + }; + return (
{message.role === "user" ? ( @@ -22,6 +39,18 @@ const ChatMessage = ({ index, message }: MessageProps) => {
{marked(message.content)}
+ + + + } + />
)} diff --git a/web/src/locales/en.json b/web/src/locales/en.json index 3f7fb2bfe..8cb9f71aa 100644 --- a/web/src/locales/en.json +++ b/web/src/locales/en.json @@ -391,6 +391,8 @@ }, "memo-chat": { "title": "Memo Chat", + "save-as-memo": "Save as memo", + "save-as-memo-success": "Saved as memo successfully.", "not-enabled": "You have not set up your OpenAI API key.", "go-to-settings": "Go to settings", "placeholder": "Ask anything…", diff --git a/web/src/locales/zh-Hans.json b/web/src/locales/zh-Hans.json index 320a8dc36..8e82633a9 100644 --- a/web/src/locales/zh-Hans.json +++ b/web/src/locales/zh-Hans.json @@ -98,6 +98,8 @@ }, "memo-chat": { "go-to-settings": "前往设置", + "save-as-memo": "保存为 Memo", + "save-as-memo-success": "保存为 Memo 成功", "not-enabled": "您尚未设置 OpenAI API 密钥。", "placeholder": "随便问", "title": "问 AI",