From 032509ddba1e30b9e25ad5ab23394928f96c6413 Mon Sep 17 00:00:00 2001 From: CorrectRoadH Date: Sun, 16 Jul 2023 11:51:30 +0800 Subject: [PATCH] feat: save message to memo (#1940) * feat: implment backend function * feat: implment frontend component * stash * eslint * eslint * eslint * delete node * stash * refactor the style * eslint * eslint * eslint * fix build error * stash * add dep * feat: save message as memos * eslint * eslint * Update web/src/components/MemosChat/MemosChatMessage.tsx Co-authored-by: boojack * stash * eslint * eslint * chore: change translate --------- Co-authored-by: boojack --- web/src/components/MemoChat/ChatMessage.tsx | 29 +++++++++++++++++++++ web/src/locales/en.json | 2 ++ web/src/locales/zh-Hans.json | 2 ++ 3 files changed, 33 insertions(+) diff --git a/web/src/components/MemoChat/ChatMessage.tsx b/web/src/components/MemoChat/ChatMessage.tsx index 1c78fea6..5e199370 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 3f7fb2bf..8cb9f71a 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 320a8dc3..8e82633a 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",