From 62b0908dfaff7c9cbe5ed75d19656893a6414bf6 Mon Sep 17 00:00:00 2001 From: kangfenmao Date: Wed, 31 Jul 2024 13:03:05 +0800 Subject: [PATCH] feat: add send message button --- src/renderer/src/assets/styles/index.scss | 2 +- .../src/pages/home/components/Inputbar.tsx | 64 ++++++++++++------- .../src/pages/home/components/Messages.tsx | 2 - ...ssageSetting.tsx => SendMessageButton.tsx} | 24 ++++--- src/renderer/src/providers/ThemeProvider.tsx | 2 +- src/renderer/src/services/ProviderSDK.ts | 2 +- 6 files changed, 57 insertions(+), 39 deletions(-) rename src/renderer/src/pages/home/components/{SendMessageSetting.tsx => SendMessageButton.tsx} (69%) diff --git a/src/renderer/src/assets/styles/index.scss b/src/renderer/src/assets/styles/index.scss index ec3f1096..adb8bf51 100644 --- a/src/renderer/src/assets/styles/index.scss +++ b/src/renderer/src/assets/styles/index.scss @@ -45,7 +45,7 @@ --topic-list-width: 260px; --settings-width: var(--assistants-width); --status-bar-height: 40px; - --input-bar-height: 125px; + --input-bar-height: 135px; } body[theme-mode='light'] { diff --git a/src/renderer/src/pages/home/components/Inputbar.tsx b/src/renderer/src/pages/home/components/Inputbar.tsx index 4a8746ae..44cb47c7 100644 --- a/src/renderer/src/pages/home/components/Inputbar.tsx +++ b/src/renderer/src/pages/home/components/Inputbar.tsx @@ -4,10 +4,10 @@ import { FullscreenExitOutlined, FullscreenOutlined, HistoryOutlined, - MoreOutlined, PauseCircleOutlined, PlusCircleOutlined } from '@ant-design/icons' +import { DEFAULT_CONEXTCOUNT } from '@renderer/config/constant' import { useAssistant } from '@renderer/hooks/useAssistant' import { useSettings } from '@renderer/hooks/useSettings' import { getDefaultTopic } from '@renderer/services/assistant' @@ -23,8 +23,7 @@ import { debounce, isEmpty } from 'lodash' import { FC, useCallback, useEffect, useMemo, useRef, useState } from 'react' import { useTranslation } from 'react-i18next' import styled from 'styled-components' -import SendMessageSetting from './SendMessageSetting' -import { DEFAULT_CONEXTCOUNT } from '@renderer/config/constant' +import SendMessageButton from './SendMessageButton' interface Props { assistant: Assistant @@ -63,11 +62,25 @@ const Inputbar: FC = ({ assistant, setActiveTopic }) => { EventEmitter.emit(EVENT_NAMES.SEND_MESSAGE, message) setText('') + + setExpend(false) } const inputTokenCount = useMemo(() => estimateInputTokenCount(text), [text]) const handleKeyDown = (event: React.KeyboardEvent) => { + if (expended) { + if (event.key === 'Escape') { + setExpend(false) + return + } + if (event.key === 'Enter' && event.shiftKey) { + sendMessage() + return + } + return + } + if (sendMessageShortcut === 'Enter' && event.key === 'Enter') { if (event.shiftKey) { return @@ -127,7 +140,7 @@ const Inputbar: FC = ({ assistant, setActiveTopic }) => { }, [assistant]) return ( - + @@ -158,11 +171,6 @@ const Inputbar: FC = ({ assistant, setActiveTopic }) => { - - setExpend(!expended)}> - {expended ? : } - - {generating && ( @@ -172,11 +180,11 @@ const Inputbar: FC = ({ assistant, setActiveTopic }) => { )} - - - + + setExpend(!expended)}> + {expended ? : } - +