'use client'; import { useState, useEffect, useRef } from 'react'; interface ChatMessage { id: string; username: string; message: string; timestamp: Date; } export default function ChatSidebar() { const [messages, setMessages] = useState([ { id: '1', username: 'CyberUser', message: 'Welcome to AeThex Live!', timestamp: new Date(), }, { id: '2', username: 'TechFan', message: 'This stream is amazing!', timestamp: new Date(), }, ]); const [inputMessage, setInputMessage] = useState(''); const messagesEndRef = useRef(null); const scrollToBottom = () => { messagesEndRef.current?.scrollIntoView({ behavior: 'smooth' }); }; useEffect(() => { // Simulate new messages const interval = setInterval(() => { const randomUsers = ['NeuralNet', 'DataStream', 'QuantumBit', 'CyberPunk']; const randomMessages = [ 'Great content!', 'Love the vibe', '🔥🔥🔥', 'Keep it up!', 'Amazing quality', ]; const newMessage: ChatMessage = { id: Date.now().toString(), username: randomUsers[Math.floor(Math.random() * randomUsers.length)], message: randomMessages[Math.floor(Math.random() * randomMessages.length)], timestamp: new Date(), }; setMessages((prev) => [...prev.slice(-49), newMessage]); }, 10000); return () => clearInterval(interval); }, []); useEffect(() => { scrollToBottom(); }, [messages]); const handleSendMessage = (e: React.FormEvent) => { e.preventDefault(); if (!inputMessage.trim()) return; const newMessage: ChatMessage = { id: Date.now().toString(), username: 'You', message: inputMessage, timestamp: new Date(), }; setMessages((prev) => [...prev, newMessage]); setInputMessage(''); }; return (

Live Chat

{messages.map((msg) => (
{msg.username}: {msg.message}
))}
setInputMessage(e.target.value)} placeholder="Type a message..." className="flex-1 bg-black/50 border border-cyan-500/30 rounded-lg px-3 py-2 text-white text-sm font-mono placeholder-cyan-400/40 focus:outline-none focus:ring-2 focus:ring-cyan-500/50" />
); }