import { Avatar, Box, StyledBadge } from '@mui/material'; import { dateFormat } from '../utils/dateFormat'; import { useSelector } from 'react-redux'; import { useRef, useEffect, useState} from 'react'; import { scrollToBottom } from '../utils/scrollToBottom'; import { useDispatch } from 'react-redux'; import { editMessage } from '../../../reducers/messageReducer'; import { StyledAvatar } from './StyledAvatar'; import { MessageEditorMenu } from '../MessageEditorMenu.jsx'; export const MessageForm = () => { const dispatch = useDispatch(); const SERVER_URL = process.env.REACT_APP_SERVER_URL|| 'http://localhost:5000/'; const startMessages = useSelector(state => state.getUserSocketReducer.startMessages) const user = useSelector(state => state.getUserSocketReducer.socketUserData) const usersOnline = useSelector(state => state.getUserSocketReducer.usersOnline) const userNamesOnlineSet = new Set(usersOnline.map( i => i.userName)) const storeMessageId = useSelector(state => state.messageReducer.messageId) const endMessages =useRef(null); const regYoutube = /http(?:s?):\/\/(?:www\.)?youtu(?:be\.com\/watch\?v=|\.be\/)([\w\-\_]*)(&(amp;)?‌​[\w\?‌​=]*)?/; //for youtube video useEffect(() => { scrollToBottom(endMessages) }, [startMessages, usersOnline]); return ( { startMessages.map((item, i) =>
{ if(e.target.className.includes('myMessage') && (item.userName === user.userName) && (item.text === e.target.textContent)){ e.currentTarget.className += ' editMessage' dispatch(editMessage({editMessage: e.target.textContent, messageId: item._id})) } }} > {storeMessageId === item._id ? : ""} {item?.userName.slice(0, 1)}
{ item.text.match(regYoutube) ? :

{item.text}

}
{dateFormat(item).time}
)}
) }