chat: refocus and reset state on submit, allow enter linebreaks on mobile

This commit is contained in:
James Acklin 2021-04-29 11:10:53 -04:00
parent 11e89cf388
commit f39c642801
2 changed files with 8 additions and 11 deletions

View File

@ -74,6 +74,8 @@ class ChatInput extends Component<ChatInputProps, ChatInputState> {
} else { } else {
onSubmit(tokenizeMessage(text)); onSubmit(tokenizeMessage(text));
} }
this.chatEditor.current.editor.focus();
this.setState({ currentInput: '' });
} }
uploadSuccess(url: string) { uploadSuccess(url: string) {

View File

@ -240,17 +240,12 @@ export default class ChatEditor extends Component {
rows="1" rows="1"
style={{ width: '100%', background: 'transparent', color: 'currentColor' }} style={{ width: '100%', background: 'transparent', color: 'currentColor' }}
placeholder={inCodeMode ? "Code..." : "Message..."} placeholder={inCodeMode ? "Code..." : "Message..."}
onChange={event => { onChange={event =>
this.messageChange(null, null, event.target.value); this.messageChange(null, null, event.target.value)
}} }
onKeyDown={event => { onKeyDown={event =>
if (event.key === 'Enter') { this.messageChange(null, null, event.target.value)
event.preventDefault();
this.submit();
} else {
this.messageChange(null, null, event.target.value);
} }
}}
ref={input => { ref={input => {
if (!input) return; if (!input) return;
this.editor = inputProxy(input); this.editor = inputProxy(input);