blob: df520ffff5136343a9abdc87153aa1bf722d4d82 [file] [log] [blame]
import { useState, useCallback } from 'react'
import { Divider, InputBase } from '@mui/material'
import { RecordVideoMessageButton, RecordVoiceMessageButton, SelectEmojiButton, SendMessageButton, UploadFileButton } from './buttons';
import { Stack } from '@mui/system';
export default function SendMessageForm(props) {
const [currentMessage, setCurrentMessage] = useState("")
const handleSubmit = e => {
e.preventDefault()
if (currentMessage) {
props.onSend(currentMessage)
setCurrentMessage('')
}
}
const handleInputChange = (event) => setCurrentMessage(event.target.value)
const onEmojiSelected = useCallback(
(emoji) => setCurrentMessage((currentMessage) => currentMessage + emoji),
[setCurrentMessage],
)
return (
<Stack
padding="30px 16px 0px 16px"
>
<Divider
sx={{
bordeTop: "1px solid #E5E5E5",
}}
/>
<Stack
component="form"
onSubmit={handleSubmit}
direction="row"
alignItems="center"
flexGrow={1}
spacing="20px"
padding="16px 0px"
>
<UploadFileButton/>
<RecordVoiceMessageButton/>
<RecordVideoMessageButton/>
<Stack
flexGrow={1}
>
<InputBase
placeholder="Write something nice"
value={currentMessage}
onChange={handleInputChange}
sx={{
fontSize: "15px",
color: "black",
"& ::placeholder": {
color: "#7E7E7E",
opacity: 1,
},
}}
/>
</Stack>
<SelectEmojiButton
onEmojiSelected={onEmojiSelected}
/>
{ currentMessage && <SendMessageButton type="submit"/> }
</Stack>
</Stack>
);
}