|
@@ -8,12 +8,18 @@ function MessageInput({ resetUnreadMessages, sendMessage }) {
|
|
|
if (event.key === 'Enter') {
|
|
if (event.key === 'Enter') {
|
|
|
event.preventDefault()
|
|
event.preventDefault()
|
|
|
sendMessage(event.target.value)
|
|
sendMessage(event.target.value)
|
|
|
- event.target.value = '' // clears the textarea content
|
|
|
|
|
|
|
+ // wrap the form reset in setTimeout so input sources have time to finish
|
|
|
|
|
+ // https://github.com/overleaf/internal/pull/9206
|
|
|
|
|
+ window.setTimeout(() => {
|
|
|
|
|
+ event.target.blur()
|
|
|
|
|
+ event.target.closest('form').reset()
|
|
|
|
|
+ event.target.focus()
|
|
|
|
|
+ }, 0)
|
|
|
}
|
|
}
|
|
|
}
|
|
}
|
|
|
|
|
|
|
|
return (
|
|
return (
|
|
|
- <div className="new-message">
|
|
|
|
|
|
|
+ <form className="new-message">
|
|
|
<label htmlFor="chat-input" className="sr-only">
|
|
<label htmlFor="chat-input" className="sr-only">
|
|
|
{t('your_message')}
|
|
{t('your_message')}
|
|
|
</label>
|
|
</label>
|
|
@@ -23,7 +29,7 @@ function MessageInput({ resetUnreadMessages, sendMessage }) {
|
|
|
onKeyDown={handleKeyDown}
|
|
onKeyDown={handleKeyDown}
|
|
|
onClick={resetUnreadMessages}
|
|
onClick={resetUnreadMessages}
|
|
|
/>
|
|
/>
|
|
|
- </div>
|
|
|
|
|
|
|
+ </form>
|
|
|
)
|
|
)
|
|
|
}
|
|
}
|
|
|
|
|
|