84 lines
2.3 KiB
JavaScript
84 lines
2.3 KiB
JavaScript
|
let rooms = {};
|
|||
|
|
|||
|
function openModal(roomName) {
|
|||
|
currentRoom = roomName;
|
|||
|
document.getElementById('passwordModal').style.display = 'block';
|
|||
|
}
|
|||
|
|
|||
|
function closeModal() {
|
|||
|
document.getElementById('passwordModal').style.display = 'none';
|
|||
|
}
|
|||
|
|
|||
|
function validatePassword() {
|
|||
|
const enteredPassword = document.getElementById('roomPassword').value;
|
|||
|
if (enteredPassword === rooms[currentRoom]) {
|
|||
|
alert('Вы вошли в комнату: ' + currentRoom);
|
|||
|
closeModal();
|
|||
|
} else {
|
|||
|
alert('Неверный пароль. Попробуйте снова.');
|
|||
|
}
|
|||
|
}
|
|||
|
|
|||
|
function openCreateRoomModal() {
|
|||
|
document.getElementById('createRoomModal').style.display = 'block';
|
|||
|
}
|
|||
|
|
|||
|
function closeCreateRoomModal() {
|
|||
|
document.getElementById('createRoomModal').style.display = 'none';
|
|||
|
}
|
|||
|
|
|||
|
function createRoom() {
|
|||
|
const roomName = document.getElementById('newRoomName').value.trim();
|
|||
|
const roomPassword = document.getElementById('newRoomPassword').value.trim();
|
|||
|
|
|||
|
if (roomName === '' || roomPassword === '') {
|
|||
|
alert('Пожалуйста, заполните все поля.');
|
|||
|
return;
|
|||
|
}
|
|||
|
|
|||
|
if (rooms[roomName]) {
|
|||
|
alert('Комната с таким названием уже существует.');
|
|||
|
return;
|
|||
|
}
|
|||
|
|
|||
|
rooms[roomName] = roomPassword;
|
|||
|
addRoomToList(roomName);
|
|||
|
closeCreateRoomModal();
|
|||
|
}
|
|||
|
|
|||
|
function addRoomToList(roomName) {
|
|||
|
const roomList = document.querySelector('.room-list');
|
|||
|
|
|||
|
const existingRoomItem = Array.from(roomList.children).find(item => item.querySelector('.room-name').textContent === roomName);
|
|||
|
if (existingRoomItem) {
|
|||
|
existingRoomItem.remove();
|
|||
|
}
|
|||
|
|
|||
|
const roomItem = document.createElement('li');
|
|||
|
roomItem.classList.add('room-item');
|
|||
|
|
|||
|
roomItem.innerHTML = `
|
|||
|
<span class="room-name">${roomName}</span>
|
|||
|
<button class="join-button" onclick="openModal('${roomName}')">Войти</button>
|
|||
|
`;
|
|||
|
|
|||
|
roomList.appendChild(roomItem);
|
|||
|
}
|
|||
|
|
|||
|
function initializeRoomList() {
|
|||
|
Object.keys(rooms).forEach(roomName => {
|
|||
|
addRoomToList(roomName);
|
|||
|
});
|
|||
|
}
|
|||
|
|
|||
|
initializeRoomList();
|
|||
|
|
|||
|
window.onclick = function(event) {
|
|||
|
if (event.target === document.getElementById('passwordModal')) {
|
|||
|
closeModal();
|
|||
|
}
|
|||
|
if (event.target === document.getElementById('createRoomModal')) {
|
|||
|
closeCreateRoomModal();
|
|||
|
}
|
|||
|
}
|