import React, { useContext, useEffect, useState } from 'react' import Contact from '../Contact'; import "./Contacts.css"; import { UserContext } from '../../contexts/UserProvider'; import { ChatContext } from '../../contexts/ChatProvider'; import { SocketContext } from '../../contexts/SocketProvider'; function Contacts({ }) { // const [activeContact, setActiveContact] = useState({}); const { contacts, setContacts, currentChat, setCurrentChat, lastMessages, } = useContext(ChatContext); const { user } = useContext(UserContext); const socket = useContext(SocketContext); // handleClick useEffect(() => { if (!socket) return; socket.on("contact", (contact) => { var newContacts = [...contacts, contact]; newContacts.sort((a,b)=>b.last_message.send_at - a.last_message.send_at); setContacts(newContacts); }); const cleanUp = () => { if (!socket) return; socket.off("contact"); } return cleanUp; }, [socket]) return (
{ contacts.map((contact) => ( // console.log("contact.last_message",contact,contact.last_message), // console.log(user.id), { setCurrentChat(contact) }} profile_pic={"logo512.png"} name={contact.id} lastmessage={contact.chat_data.last_message ? contact.chat_data.last_message.content:null} unseen_count={contact.chat_data.unseen_count ? contact.chat_data.unseen_count:null} isActive={currentChat.id == contact.id} /> )) }
) } export default Contacts