MessageEditorMenu.jsx.jsx 2.2 KB

1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859
  1. import { useDispatch, useSelector} from 'react-redux';
  2. import { useState } from 'react';
  3. import { editMessage } from '../../reducers/messageReducer';
  4. import TextareaAutosize from '@mui/material/TextareaAutosize';
  5. import { storeMessage } from '../../reducers/messageReducer';
  6. import { deleteMessage } from '../../reducers/messageReducer';
  7. //test
  8. export const MessageEditorMenu = () => {
  9. const dispatch = useDispatch();
  10. const editOldMessage = useSelector(state => state.messageReducer.editMessage)
  11. const messageId = useSelector(state => state.messageReducer.messageId)
  12. const socket = useSelector(state => state.getUserSocketReducer.socket)
  13. const [message, setMessage] = useState({message: editOldMessage});
  14. console.log(message)
  15. return (
  16. <div>
  17. <button
  18. onClick={() => {
  19. dispatch(editMessage({socket, editMessage: message, messageId }))
  20. dispatch(editMessage({socket: null, editMessage: '', messageId: '' }))
  21. }}
  22. > Edit</button>
  23. <button
  24. onClick={() => {
  25. dispatch(deleteMessage({socket, messageId}))
  26. dispatch(editMessage({socket: null, editMessage: '', messageId: '' }))
  27. }}
  28. > Delete </button>
  29. <button
  30. onClick={() => {
  31. dispatch(editMessage({socket: null, editMessage: '', messageId: '' }))
  32. }}
  33. > cancel</button>
  34. <TextareaAutosize
  35. id="outlined-basic"
  36. variant="outlined"
  37. value={message.message }
  38. placeholder='type you message...'
  39. minRows={3}
  40. maxRows={4}
  41. className='textArea'
  42. onChange={e => {
  43. dispatch(storeMessage({message: e.target.value}))
  44. setMessage({message: e.target.value})
  45. }
  46. }
  47. />
  48. </div>
  49. )
  50. }