import React, { useEffect, useState } from 'react'; import io from 'socket.io-client'; import './CustomerChat.css'; // Import CSS for styling const socket = io('http://localhost:3001'); const CustomerChat = () => { const [name, setName] = useState(''); const [message, setMessage] = useState(''); const [messages, setMessages] = useState([]); const [dropdownVisible, setDropdownVisible] = useState(false); useEffect(() => { socket.on('receiveMessage', (message) => { setMessages((prevMessages) => [...prevMessages, message]); }); return () => { socket.off('receiveMessage'); }; }, []); const sendMessage = () => { if (message.trim() && name.trim()) { socket.emit('sendMessage', { content: message, sender: name }); setMessage(''); } }; const toggleDropdown = () => { setDropdownVisible(!dropdownVisible); }; const handleEndChat = () => { socket.emit('endConversation', { recipient: name }); setMessages([]); setDropdownVisible(false); }; return (

Customer Chat

{dropdownVisible && (
)}
{messages.map((msg, index) => (
{msg.sender}: {msg.content}
))}
setName(e.target.value)} placeholder="Enter your name..." /> setMessage(e.target.value)} placeholder="Type your message..." />
); }; export default CustomerChat;