ReplyMessageDraft.jsx 1.7 KB

12345678910111213141516171819202122232425262728293031
  1. import ReplyIcon from '@mui/icons-material/Reply';
  2. import CloseRoundedIcon from '@mui/icons-material/CloseRounded';
  3. import ForwardRoundedIcon from '@mui/icons-material/ForwardRounded';
  4. import { connect } from "react-redux";
  5. import { actionAddDraftMessage, actionDeleteDraftMessageId} from "../../reducers/chatReducer";
  6. import { MessageDraftContainer, MessageDraftInfo, MessageDraftText, MessageDraftWrapper, MessageOwnerDraftName } from './MessageDraft.style';
  7. import { checkTypeFileForReply } from '../ReplyMessageMediaIcon/ReplyMessageMediaIcon';
  8. import { useEffect, useRef, useState } from 'react';
  9. const ReplyMessage = ({chat, deleteDraftMessage, mes}) => {
  10. const message = typeof mes !== 'object' ? chat?.messages?.[mes] : mes;
  11. return (
  12. <MessageDraftWrapper>
  13. {typeof mes !== 'object' ? <ReplyIcon color="primary"/> : <ForwardRoundedIcon color="primary"/>}
  14. <MessageDraftContainer>
  15. {message?.media && checkTypeFileForReply(message.media?.[0]?.type, false, message.media?.[0]?.url)}
  16. <MessageDraftInfo>
  17. <MessageOwnerDraftName>
  18. {message?.owner?.nick || ''}
  19. </MessageOwnerDraftName>
  20. <MessageDraftText>
  21. {message?.text.replace(/ /g, "\u00a0") || ''}
  22. </MessageDraftText>
  23. </MessageDraftInfo>
  24. </MessageDraftContainer>
  25. <CloseRoundedIcon style={{cursor: 'pointer'}} color="primary" onClick={() => {deleteDraftMessage(chat._id, null)}}/>
  26. </MessageDraftWrapper>
  27. )
  28. }
  29. export default connect(null, {deleteDraftMessage: actionAddDraftMessage})(ReplyMessage);