From c0f192c6f260fc0aaba57bb0b7e6c4f2732175de Mon Sep 17 00:00:00 2001 From: kangfenmao Date: Tue, 10 Dec 2024 17:09:57 +0800 Subject: [PATCH] fix: support "ctrl+enter" as send shortcuts #244 --- src/renderer/src/pages/home/Inputbar/Inputbar.tsx | 5 +++++ src/renderer/src/pages/home/Tabs/SettingsTab.tsx | 3 ++- src/renderer/src/store/settings.ts | 2 +- 3 files changed, 8 insertions(+), 2 deletions(-) diff --git a/src/renderer/src/pages/home/Inputbar/Inputbar.tsx b/src/renderer/src/pages/home/Inputbar/Inputbar.tsx index 1cdc3929..08d7327a 100644 --- a/src/renderer/src/pages/home/Inputbar/Inputbar.tsx +++ b/src/renderer/src/pages/home/Inputbar/Inputbar.tsx @@ -183,6 +183,11 @@ const Inputbar: FC = ({ assistant, setActiveTopic }) => { sendMessage() return event.preventDefault() } + + if (sendMessageShortcut === 'Ctrl+Enter' && isEnterPressed && event.ctrlKey) { + sendMessage() + return event.preventDefault() + } } const addNewTopic = useCallback(async () => { diff --git a/src/renderer/src/pages/home/Tabs/SettingsTab.tsx b/src/renderer/src/pages/home/Tabs/SettingsTab.tsx index fb9c9a82..162d3e5e 100644 --- a/src/renderer/src/pages/home/Tabs/SettingsTab.tsx +++ b/src/renderer/src/pages/home/Tabs/SettingsTab.tsx @@ -351,7 +351,8 @@ const SettingsTab: FC = (props) => { menuItemSelectedIcon={} options={[ { value: 'Enter', label: 'Enter' }, - { value: 'Shift+Enter', label: `Shift + Enter` } + { value: 'Shift+Enter', label: `Shift + Enter` }, + { value: 'Ctrl+Enter', label: `Ctrl + Enter` } ]} onChange={(value) => setSendMessageShortcut(value)} style={{ width: 135 }} diff --git a/src/renderer/src/store/settings.ts b/src/renderer/src/store/settings.ts index fa324c7b..9560fa0d 100644 --- a/src/renderer/src/store/settings.ts +++ b/src/renderer/src/store/settings.ts @@ -2,7 +2,7 @@ import { createSlice, PayloadAction } from '@reduxjs/toolkit' import { TRANSLATE_PROMPT } from '@renderer/config/prompts' import { CodeStyleVarious, LanguageVarious, ThemeMode } from '@renderer/types' -export type SendMessageShortcut = 'Enter' | 'Shift+Enter' +export type SendMessageShortcut = 'Enter' | 'Shift+Enter' | 'Ctrl+Enter' export interface SettingsState { showAssistants: boolean