Преглед изворни кода

fix: simplify Enter key handling and remove unused ref (#10413)

tags/0.11.1
katsuma пре 11 месеци
родитељ
комит
98b3e37144
No account linked to committer's email address
1 измењених фајлова са 3 додато и 15 уклоњено
  1. 3
    15
      web/app/components/base/chat/chat/chat-input-area/index.tsx

+ 3
- 15
web/app/components/base/chat/chat/chat-input-area/index.tsx Прегледај датотеку

@@ -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}

Loading…
Откажи
Сачувај