소스 검색

need to fix reciving private messages

serg1557733 1 년 전
부모
커밋
25267ecf2f
3개의 변경된 파일13개의 추가작업 그리고 18개의 파일을 삭제
  1. 2 4
      backend/app.js
  2. 11 12
      frontend/src/components/chatPage/privateChat/PrivateChat.jsx
  3. 0 2
      frontend/src/components/chatPage/userInfo/UserInfo.jsx

+ 2 - 4
backend/app.js

@@ -353,8 +353,7 @@ io.on("connection", async (socket) => {
            });
 
         socket.on("private message", async ({ fromUser, from, message, toUser , to}) => {
-            console.log(fromUser)
-            
+//create message and save to DB            
             const privateMessage = new PrivateMessage({
                 text:  message,
                 createDate: Date.now(),
@@ -363,13 +362,12 @@ io.on("connection", async (socket) => {
             });
             await privateMessage.save()
 
-          
+          //emit event 
             socket.to(to).emit("private message", {privateMessage, fromUser});
           });
 
 
           socket.on('privat chat', async (data) => {
-            console.log(data)
             //find user to in Db
             const privateMessagesToUser = await PrivateMessage.find({toUser: {$in:[data.user._id, data.toUser._id]}, fromUser: {$in:[data.user._id, data.toUser._id]}}).sort({ 'createDate': 1 })
           

+ 11 - 12
frontend/src/components/chatPage/privateChat/PrivateChat.jsx

@@ -20,13 +20,13 @@ export const PrivateChat = () => {
 
     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 [startMessages, setStartMessages] = useState([])   
-    const [startMessagesFrom, setStartMessagesFrom] = useState([])   
-
     let endMessages = useRef(null);
 
 socket.on('send privat messages', (messages)=> {
@@ -35,11 +35,11 @@ socket.on('send privat messages', (messages)=> {
 
   const newMessages = [];
 
-socket.on("private message", (message)=> {
-    console.log(message)
+  ///need to test not working
+socket.on("private message", (message, from)=> {
     newMessages.push(message)
+    console.log(newMessages)
   });  
-console.log(newMessages)
   
 
     const [isEditing, setIsEditing] = useState(false)   
@@ -50,19 +50,18 @@ console.log(newMessages)
 
     const [play] = useSound(notifSound);
 
-console.log(messages)
 
     useEffect(() => {
         if (!isEditing) {
             scrollToBottom((endMessages)) 
         } 
-      }, [startMessages, messages, newMessages]);
+      }, [newMessages]);
            
-    useEffect(()=> {
-        if(newMessages.length > 0 && newMessages[newMessages.length-1].userName !== user.userName){
-           // play()                 
-        }
-    }, [newMessages])
+    // useEffect(()=> {
+    //     if(newMessages.length > 0 && newMessages[newMessages.length-1].userName !== user.userName){
+    //        // play()                 
+    //     }
+    // }, [newMessages])
 
     return (             
             <Box className='messageBox'>  

+ 0 - 2
frontend/src/components/chatPage/userInfo/UserInfo.jsx

@@ -46,8 +46,6 @@ export const UserInfo = () => {
 
     let userAvatarUrl = storeUserAvatar || user.avatar;
 
-    console.log(usersOnline)
-
     const inputHandler = (e) => {
         const file = e.target.files[0]
         dispatch(getUserAvatar(file))