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 (
به یک اتاق بپیوندید یا یکی بسازید
هنوز اتاقی وجود ندارد
اولین اتاق را بسازید!
کد: {room.id} • {room.members} عضو