iu9-ca-web-chat/assets/js/list-rooms.js

86 lines
2.4 KiB
JavaScript
Raw Normal View History

2024-08-05 11:42:32 +00:00
let rooms = {};
function openRoom(currentRoom) {
alert('Вы вошли в комнату: ' + currentRoom);
2024-08-05 11:42:32 +00:00
}
function closeAdd() {
document.getElementById('add_members').style.display = 'none';
2024-08-05 11:42:32 +00:00
}
function openAdd() {
document.getElementById('add_members').style.display = 'flex';
}
function addMember() {
const login = document.getElementById('newMemberLogin').value;
if (login) {
alert(`Участник с никнеймом '${login}' добавлен`);
closeAdd();
2024-08-05 11:42:32 +00:00
} else {
alert('Пожалуйста, введите логин участника');
2024-08-05 11:42:32 +00:00
}
}
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();
if (roomName === '') {
2024-08-05 11:42:32 +00:00
alert('Пожалуйста, заполните все поля.');
return;
}
if (rooms[roomName]) {
alert('Комната с таким названием уже существует.');
return;
}
rooms[roomName] = true;
2024-08-05 11:42:32 +00:00
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="add-members-button" onclick="openAdd()">Добавить участников</button>
<button class="join-button" onclick="openRoom('${roomName}')">Войти</button>
2024-08-05 11:42:32 +00:00
`;
roomList.appendChild(roomItem);
}
function initializeRoomList() {
Object.keys(rooms).forEach(roomName => {
addRoomToList(roomName);
});
}
initializeRoomList();
window.onclick = function(event) {
if (event.target === document.getElementById('createRoomModal')) {
closeCreateRoomModal();
}
}
document.getElementById('newRoomName').addEventListener('keydown', function(event) {
if (event.key === 'Enter') {
createRoom();
}
});