import { Avatar, Box, StyledBadge } from '@mui/material'; import { dateFormat } from '../utils/dateFormat'; import { useSelector } from 'react-redux'; import { useRef, useEffect} from 'react'; import { scrollToBottom } from '../utils/scrollToBottom'; import { useDispatch } from 'react-redux'; import { editMessage } from '../../../reducers/messageReducer'; import { StyledAvatar } from './StyledAvatar'; 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 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) =>
{item?.userName.slice(0, 1)}
{ if(e.target.className.includes('myMessage')){ e.currentTarget.className += ' editMessage' startMessages.map( item => { if((item.userName === user.userName) && (item.text === e.target.textContent)){ console.log('edit message',e.target.textContent ) dispatch(editMessage({editMessage: e.target.textContent})) } })} }} className={ (item.userName === user.userName)? 'message myMessage' :'message'}>

{item.text}

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