fix: conditionally aquire focus for inputbar (#5860)

This commit is contained in:
one 2025-05-11 13:27:10 +08:00 committed by GitHub
parent 8e1c10abd6
commit baa9fbbeeb
No known key found for this signature in database
GPG Key ID: B5690EEEBB952194

View File

@ -741,7 +741,7 @@ const Inputbar: FC<Props> = ({ assistant: _assistant, setActiveTopic, topic }) =
useEffect(() => { useEffect(() => {
textareaRef.current?.focus() textareaRef.current?.focus()
}, [assistant]) }, [assistant, topic])
useEffect(() => { useEffect(() => {
setTimeout(() => resizeTextArea(), 0) setTimeout(() => resizeTextArea(), 0)
@ -757,9 +757,14 @@ const Inputbar: FC<Props> = ({ assistant: _assistant, setActiveTopic, topic }) =
}, []) }, [])
useEffect(() => { useEffect(() => {
window.addEventListener('focus', () => { const onFocus = () => {
if (document.activeElement?.closest('.ant-modal')) {
return
}
textareaRef.current?.focus() textareaRef.current?.focus()
}) }
window.addEventListener('focus', onFocus)
return () => window.removeEventListener('focus', onFocus)
}, []) }, [])
useEffect(() => { useEffect(() => {