blob: 6269e3b19776f6592f306294bc8fa9d0a5cf79db [file] [log] [blame]
Larbi Gharibe9af9732021-03-31 15:08:01 +01001import React from 'react'
Adrien Béraud8a438f82021-04-14 16:18:57 -04002import { makeStyles } from '@material-ui/core/styles'
3import { IconButton, InputBase, Paper, Popper } from '@material-ui/core'
4import SendIcon from '@material-ui/icons/Send'
5import EmojiIcon from '@material-ui/icons/EmojiEmotionsRounded'
6import EmojiPicker from 'emoji-picker-react'
Larbi Gharibe9af9732021-03-31 15:08:01 +01007
Adrien Béraud35e7d7c2021-04-13 03:28:39 -04008const useStyles = makeStyles((theme) => ({
Adrien Béraud8a438f82021-04-14 16:18:57 -04009 root: {
10 margin: 16,
11 padding: '2px 4px',
12 display: 'flex',
13 alignItems: 'center',
14 borderRadius: 8
15 },
16 input: {
17 marginLeft: theme.spacing(1),
18 flex: 1,
19 },
20 iconButton: {
21 padding: 10,
22 },
23 divider: {
24 height: 28,
25 margin: 4,
26 },
27}));
Larbi Gharibe9af9732021-03-31 15:08:01 +010028
Adrien Béraud8a438f82021-04-14 16:18:57 -040029export default function SendMessageForm(props) {
30 const classes = useStyles()
31 const [anchorEl, setAnchorEl] = React.useState(null)
32 const [currentMessage, setCurrentMessage] = React.useState("")
Adrien Béraud35e7d7c2021-04-13 03:28:39 -040033
Adrien Béraud8a438f82021-04-14 16:18:57 -040034 const handleOpenEmojiPicker = e => {
35 setAnchorEl(anchorEl ? null : e.currentTarget)
36 }
37 const handleClose = () => {
38 setAnchorEl(null)
39 }
40 const handleSubmit = e => {
41 e.preventDefault()
42 }
43 const handleInputChange = (event) => {
44 setCurrentMessage(event.target.value);
45 };
46 const onEmojiClick = (e, emojiObject) => {
47 console.log(emojiObject.emoji)
48 setCurrentMessage(currentMessage + emojiObject.emoji)
49 handleClose()
50 }
51 const open = Boolean(anchorEl)
52 const id = open ? 'simple-popover' : undefined
Larbi Gharibe9af9732021-03-31 15:08:01 +010053
Adrien Béraud8a438f82021-04-14 16:18:57 -040054 return (
55 <div className="send-message-form">
56 <Paper component="form"
57 onSubmit={handleSubmit}
58 className="send-message-card"
59 className={classes.root}>
60 <IconButton aria-describedby={id} variant="contained" color="primary" onClick={handleOpenEmojiPicker}>
61 <EmojiIcon />
62 </IconButton>
63 <Popper
64 id={id}
65 open={open}
66 anchorEl={anchorEl}
67 onClose={handleClose}
68 >
69 <EmojiPicker
70 onEmojiClick={onEmojiClick}
71 disableAutoFocus={true}
72 disableSkinTonePicker={true}
73 native
74 />
75 </Popper>
76
77 <InputBase
78 className={classes.input}
79 placeholder="Write something nice"
80 height="35"
81 value={currentMessage}
82 onChange={handleInputChange}
83 />
84 <IconButton type="submit" className={classes.iconButton} aria-label="search">
85 <SendIcon />
86 </IconButton>
87 </Paper>
88 </div>
89 )
Larbi Gharibe9af9732021-03-31 15:08:01 +010090}