2021-05-28 15:35:50 +10:00
|
|
|
import { useState } from 'react';
|
|
|
|
|
|
|
|
|
|
export interface Props {
|
|
|
|
|
sendMessage: (message: string) => void;
|
|
|
|
|
}
|
|
|
|
|
function MessageInput(props: Props) {
|
2021-06-11 15:33:29 +10:00
|
|
|
const [inputText, setInputText] = useState('');
|
2021-05-28 15:35:50 +10:00
|
|
|
|
|
|
|
|
const onChange = (event: React.ChangeEvent<HTMLInputElement>) => {
|
|
|
|
|
setInputText(event.target.value);
|
|
|
|
|
};
|
|
|
|
|
|
2021-06-11 15:33:29 +10:00
|
|
|
const onKeyDown = (event: { key: string }) => {
|
|
|
|
|
if (event.key === 'Enter') {
|
2021-05-28 15:35:50 +10:00
|
|
|
props.sendMessage(inputText);
|
2021-06-11 15:33:29 +10:00
|
|
|
setInputText('');
|
2021-05-28 15:35:50 +10:00
|
|
|
}
|
|
|
|
|
};
|
|
|
|
|
|
|
|
|
|
return (
|
|
|
|
|
<div>
|
|
|
|
|
<input
|
|
|
|
|
type="text"
|
|
|
|
|
placeholder="Send a message...."
|
|
|
|
|
onChange={onChange}
|
|
|
|
|
onKeyDown={onKeyDown}
|
|
|
|
|
value={inputText}
|
|
|
|
|
/>
|
|
|
|
|
</div>
|
|
|
|
|
);
|
|
|
|
|
}
|