diff --git a/web-chat/src/MessageInput.tsx b/web-chat/src/MessageInput.tsx index 3858e1ce9e..d398698b7c 100644 --- a/web-chat/src/MessageInput.tsx +++ b/web-chat/src/MessageInput.tsx @@ -1,8 +1,9 @@ -import React, { ChangeEvent } from 'react'; +import React, { ChangeEvent, KeyboardEvent } from 'react'; import { TextField } from '@material-ui/core'; interface Props { messageHandler: (msg: string) => void; + sendMessage: () => void; } interface State { @@ -19,13 +20,22 @@ export default class MessageInput extends React.Component { } messageHandler(event: ChangeEvent) { + this.setState({inputText: event.target.value}) this.props.messageHandler(event.target.value); } + keyPressHandler(event: KeyboardEvent) { + if (event.key === 'Enter') { + this.props.sendMessage() + this.setState({inputText: ''}) + } + } + render() { return ( { shrink: true, }} onChange={this.messageHandler.bind(this)} + onKeyPress={this.keyPressHandler.bind(this)} /> ); } diff --git a/web-chat/src/Room.tsx b/web-chat/src/Room.tsx index 02f03a881f..5513068798 100644 --- a/web-chat/src/Room.tsx +++ b/web-chat/src/Room.tsx @@ -49,7 +49,7 @@ export default function Room (props :Props) { - +