fix: input message duplicated due with some input sources (#1259)

This commit is contained in:
Louis 2023-12-30 10:04:12 +07:00 committed by GitHub
parent 75ad4462dc
commit 8757d4d086
No known key found for this signature in database
GPG Key ID: 4AEE18F83AFDEB23

View File

@ -5,6 +5,7 @@ import { Button, Textarea } from '@janhq/uikit'
import { useAtom, useAtomValue } from 'jotai' import { useAtom, useAtomValue } from 'jotai'
import { debounce } from 'lodash'
import { StopCircle } from 'lucide-react' import { StopCircle } from 'lucide-react'
import { twMerge } from 'tailwind-merge' import { twMerge } from 'tailwind-merge'
@ -82,16 +83,20 @@ const ChatScreen = () => {
} }
}, [currentPrompt]) }, [currentPrompt])
const onKeyDown = async (e: React.KeyboardEvent<HTMLTextAreaElement>) => { const onKeyDown = debounce(
if (e.key === 'Enter') { async (e: React.KeyboardEvent<HTMLTextAreaElement>) => {
if (!e.shiftKey) { if (e.key === 'Enter') {
e.preventDefault() if (!e.shiftKey) {
if (messages[messages.length - 1]?.status !== MessageStatus.Pending) e.preventDefault()
sendChatMessage() if (messages[messages.length - 1]?.status !== MessageStatus.Pending)
else onStopInferenceClick() sendChatMessage()
else onStopInferenceClick()
}
} }
} },
} 50,
{ leading: false, trailing: true }
)
const onStopInferenceClick = async () => { const onStopInferenceClick = async () => {
events.emit(EventName.OnInferenceStopped, {}) events.emit(EventName.OnInferenceStopped, {})