From 7bc74a5b86ee0253f74987d88a00b68f2c27543a Mon Sep 17 00:00:00 2001 From: kangfenmao Date: Mon, 14 Oct 2024 10:19:48 +0800 Subject: [PATCH] feat: add clear message menu to topic context menu --- src/renderer/src/i18n/en-us.json | 1 + src/renderer/src/i18n/zh-cn.json | 3 ++- src/renderer/src/i18n/zh-tw.json | 1 + src/renderer/src/pages/home/Tabs/Topics.tsx | 28 +++++++++++++++++++-- 4 files changed, 30 insertions(+), 3 deletions(-) diff --git a/src/renderer/src/i18n/en-us.json b/src/renderer/src/i18n/en-us.json index 8d29a92a..247e162c 100644 --- a/src/renderer/src/i18n/en-us.json +++ b/src/renderer/src/i18n/en-us.json @@ -72,6 +72,7 @@ "topics.auto_rename": "Auto Rename", "topics.edit.title": "Edit Name", "topics.edit.placeholder": "Enter new name", + "topics.clear.title": "Clear Messages", "topics.delete.all.title": "Delete all topics", "topics.delete.all.content": "Are you sure you want to delete all topics?", "topics.move_to": "Move to", diff --git a/src/renderer/src/i18n/zh-cn.json b/src/renderer/src/i18n/zh-cn.json index 80464c31..68d32125 100644 --- a/src/renderer/src/i18n/zh-cn.json +++ b/src/renderer/src/i18n/zh-cn.json @@ -72,6 +72,7 @@ "topics.auto_rename": "生成话题名", "topics.edit.title": "编辑话题名", "topics.edit.placeholder": "输入新名称", + "topics.clear.title": "清空消息", "topics.delete.all.title": "删除所有话题", "topics.delete.all.content": "确定要删除所有话题吗?", "topics.move_to": "移动到", @@ -84,7 +85,7 @@ "input.new.context": "清除上下文", "input.expand": "展开", "input.collapse": "收起", - "input.clear.title": "清除消息?", + "input.clear.title": "清空消息", "input.clear.content": "确定要清除当前会话所有消息吗?", "input.placeholder": "在这里输入消息...", "input.send": "发送", diff --git a/src/renderer/src/i18n/zh-tw.json b/src/renderer/src/i18n/zh-tw.json index 96f2a398..ce84c45e 100644 --- a/src/renderer/src/i18n/zh-tw.json +++ b/src/renderer/src/i18n/zh-tw.json @@ -72,6 +72,7 @@ "topics.auto_rename": "自動重新命名", "topics.edit.title": "編輯名稱", "topics.edit.placeholder": "輸入新名稱", + "topics.clear.title": "清空消息", "topics.delete.all.title": "刪除所有話題", "topics.delete.all.content": "確定要刪除所有話題嗎?", "topics.move_to": "移動到", diff --git a/src/renderer/src/pages/home/Tabs/Topics.tsx b/src/renderer/src/pages/home/Tabs/Topics.tsx index d082aa56..08142499 100644 --- a/src/renderer/src/pages/home/Tabs/Topics.tsx +++ b/src/renderer/src/pages/home/Tabs/Topics.tsx @@ -1,11 +1,19 @@ -import { CloseOutlined, DeleteOutlined, EditOutlined, FolderOutlined, UploadOutlined } from '@ant-design/icons' +import { + ClearOutlined, + CloseOutlined, + DeleteOutlined, + EditOutlined, + FolderOutlined, + UploadOutlined +} from '@ant-design/icons' import DragableList from '@renderer/components/DragableList' import PromptPopup from '@renderer/components/Popups/PromptPopup' import { useAssistant, useAssistants } from '@renderer/hooks/useAssistant' import { TopicManager } from '@renderer/hooks/useTopic' import { fetchMessagesSummary } from '@renderer/services/api' import { EVENT_NAMES, EventEmitter } from '@renderer/services/event' -import { useAppSelector } from '@renderer/store' +import store, { useAppSelector } from '@renderer/store' +import { setGenerating } from '@renderer/store/runtime' import { Assistant, Topic } from '@renderer/types' import { Dropdown, MenuProps } from 'antd' import { findIndex } from 'lodash' @@ -96,6 +104,22 @@ const Topics: FC = ({ assistant: _assistant, activeTopic, setActiveTopic } } }, + { + label: t('chat.topics.clear.title'), + key: 'clear-messages', + icon: , + async onClick() { + window.modal.confirm({ + title: t('chat.input.clear.content'), + centered: true, + onOk: async () => { + window.keyv.set(EVENT_NAMES.CHAT_COMPLETION_PAUSED, true) + store.dispatch(setGenerating(false)) + EventEmitter.emit(EVENT_NAMES.CLEAR_MESSAGES) + } + }) + } + }, { label: t('chat.topics.export.title'), key: 'export',