import { useState, useEffect } from 'react'; import { Plus, Copy, Check, LogOut } from 'lucide-react'; export default function RoomList({ user, onSelectRoom, onLogout }) { const [rooms, setRooms] = useState([]); const [showCreateModal, setShowCreateModal] = useState(false); const [newRoomName, setNewRoomName] = useState(''); const [copiedId, setCopiedId] = useState(null); // بارگذاری اتاق‌ها از LocalStorage useEffect(() => { const savedRooms = JSON.parse(localStorage.getItem('chat_rooms') || '[]'); setRooms(savedRooms); }, []); const handleCreateRoom = () => { if (!newRoomName.trim()) return; if (rooms.length >= 3) { alert('شما حداکثر مجاز به ساخت ۳ اتاق هستید.'); return; } const newRoom = { id: Math.random().toString(36).substr(2, 9), name: newRoomName, createdAt: new Date().toISOString(), members: 1 }; const updatedRooms = [...rooms, newRoom]; setRooms(updatedRooms); localStorage.setItem('chat_rooms', JSON.stringify(updatedRooms)); setNewRoomName(''); setShowCreateModal(false); onSelectRoom(newRoom); }; const copyRoomLink = (e, roomId) => { e.stopPropagation(); const link = `${window.location.origin}/?room=${roomId}`; navigator.clipboard.writeText(link); setCopiedId(roomId); setTimeout(() => setCopiedId(null), 2000); }; return (

اتاق‌های گفتگو

به یک اتاق بپیوندید یا یکی بسازید

{rooms.length === 0 ? (

هنوز اتاقی وجود ندارد

اولین اتاق را بسازید!

) : ( rooms.map((room) => (
onSelectRoom(room)} className="glass-panel p-4 rounded-xl cursor-pointer hover:bg-white/10 transition-all duration-200 group relative" >
{room.name.charAt(0)}

{room.name}

کد: {room.id} • {room.members} عضو

)) )}
{/* مودال ساخت اتاق */} {showCreateModal && (

ساخت اتاق جدید

setNewRoomName(e.target.value)} className="glass-input w-full p-3 rounded-xl mb-4" autoFocus />
)}
); }