|
@@ -1,6 +1,5 @@
|
|
|
import {
|
|
|
useCallback,
|
|
|
- useRef,
|
|
|
useState,
|
|
|
} from 'react'
|
|
|
import Textarea from 'rc-textarea'
|
|
@@ -63,7 +62,6 @@ const ChatInputArea = ({
|
|
|
isMultipleLine,
|
|
|
} = useTextAreaHeight()
|
|
|
const [query, setQuery] = useState('')
|
|
|
- const isUseInputMethod = useRef(false)
|
|
|
const [showVoiceInput, setShowVoiceInput] = useState(false)
|
|
|
const filesStore = useFileStore()
|
|
|
const {
|
|
@@ -95,20 +93,11 @@ const ChatInputArea = ({
|
|
|
}
|
|
|
}
|
|
|
|
|
|
- const handleKeyUp = (e: React.KeyboardEvent<HTMLTextAreaElement>) => {
|
|
|
- if (e.key === 'Enter') {
|
|
|
- e.preventDefault()
|
|
|
- // prevent send message when using input method enter
|
|
|
- if (!e.shiftKey && !isUseInputMethod.current)
|
|
|
- handleSend()
|
|
|
- }
|
|
|
- }
|
|
|
-
|
|
|
const handleKeyDown = (e: React.KeyboardEvent<HTMLTextAreaElement>) => {
|
|
|
- isUseInputMethod.current = e.nativeEvent.isComposing
|
|
|
- if (e.key === 'Enter' && !e.shiftKey) {
|
|
|
- setQuery(query.replace(/\n$/, ''))
|
|
|
+ if (e.key === 'Enter' && !e.shiftKey && !e.nativeEvent.isComposing) {
|
|
|
e.preventDefault()
|
|
|
+ setQuery(query.replace(/\n$/, ''))
|
|
|
+ handleSend()
|
|
|
}
|
|
|
}
|
|
|
|
|
@@ -165,7 +154,6 @@ const ChatInputArea = ({
|
|
|
setQuery(e.target.value)
|
|
|
handleTextareaResize()
|
|
|
}}
|
|
|
- onKeyUp={handleKeyUp}
|
|
|
onKeyDown={handleKeyDown}
|
|
|
onPaste={handleClipboardPasteFile}
|
|
|
onDragEnter={handleDragFileEnter}
|