From 83c8f06b81e292df7e25ec845d6d795ff04f4490 Mon Sep 17 00:00:00 2001 From: suyao Date: Wed, 19 Feb 2025 14:02:49 +0800 Subject: [PATCH] fix: add first message handling in mini home window --- src/renderer/src/windows/mini/home/HomeWindow.tsx | 14 +++++++++++--- 1 file changed, 11 insertions(+), 3 deletions(-) diff --git a/src/renderer/src/windows/mini/home/HomeWindow.tsx b/src/renderer/src/windows/mini/home/HomeWindow.tsx index 49966e2354..59881fd803 100644 --- a/src/renderer/src/windows/mini/home/HomeWindow.tsx +++ b/src/renderer/src/windows/mini/home/HomeWindow.tsx @@ -2,8 +2,7 @@ import { isMac } from '@renderer/config/constant' import { useDefaultAssistant, useDefaultModel } from '@renderer/hooks/useAssistant' import { useSettings } from '@renderer/hooks/useSettings' import i18n from '@renderer/i18n' -import { EVENT_NAMES } from '@renderer/services/EventService' -import { EventEmitter } from '@renderer/services/EventService' +import { EVENT_NAMES, EventEmitter } from '@renderer/services/EventService' import { uuid } from '@renderer/utils' import { Divider } from 'antd' import dayjs from 'dayjs' @@ -22,6 +21,7 @@ import InputBar from './components/InputBar' const HomeWindow: FC = () => { const [route, setRoute] = useState<'home' | 'chat' | 'translate' | 'summary' | 'explanation'>('home') + const [isFirstMessage, setIsFirstMessage] = useState(true) const [clipboardText, setClipboardText] = useState('') const [selectedText, setSelectedText] = useState('') const [text, setText] = useState('') @@ -34,7 +34,7 @@ const HomeWindow: FC = () => { const referenceText = selectedText || clipboardText || text - const content = (referenceText === text ? text : `${referenceText}\n\n${text}`).trim() + const content = isFirstMessage ? (referenceText === text ? text : `${referenceText}\n\n${text}`).trim() : text.trim() const onReadClipboard = useCallback(async () => { const text = await navigator.clipboard.readText().catch(() => null) @@ -105,6 +105,7 @@ const HomeWindow: FC = () => { status: 'success' } EventEmitter.emit(EVENT_NAMES.SEND_MESSAGE, message) + setIsFirstMessage(false) }, 0) }, [content, defaultAssistant.id, defaultAssistant.topics] @@ -138,6 +139,13 @@ const HomeWindow: FC = () => { } }, [onReadClipboard, onSendMessage, setRoute]) + // 当路由为home时,初始化isFirstMessage为true + useEffect(() => { + if (route === 'home') { + setIsFirstMessage(true) + } + }, [route]) + if (['chat', 'summary', 'explanation'].includes(route)) { return (