// -- Скрипт для обработки кликов по ссылкам в меню
document.querySelectorAll('.menu-items a').forEach(link => {
    link.addEventListener('click', (event) => {
        event.preventDefault();  								// Предотвращаем стандартное действие ссылки
        const url = link.getAttribute('data-url');				// Получаем URL из атрибута
        document.getElementById('contentFrame').src = url;  	// Загружаем URL во фрейм
		showNotification('error', 'Opened ' + url);				// Отображаем уведомление об открытии ссылки
    });
});

// -- Скрипт для обработки кликов по заголовкам групп меню
document.querySelectorAll('.menu-group-title').forEach(title => {
    title.addEventListener('click', () => {
        const parent = title.parentElement;		// Находим родительский элемент (группу меню)
        parent.classList.toggle('open');		// Переключаем класс 'open' для группы меню
    });
});

// -- Функция для отображения уведомлений
function showNotification(type, message) {
    const notificationContainer = document.getElementById('notifications');  // Находим контейнер для уведомлений
    const notification = document.createElement('div');			// Создаем новый элемент для уведомления
    notification.classList.add('notification', type);			// Добавляем классы для уведомления

    const icon = document.createElement('span');  				// Создаем элемент для иконки
    icon.classList.add('icon', type);							// Добавляем классы для иконки
    icon.innerHTML = type === 'success' ? '✔️' : '❌';			// Устанавливаем иконку в зависимости от типа уведомления

    const text = document.createElement('div');  				// Создаем элемент для текста уведомления
    text.classList.add('message');  							// Добавляем класс для текста
    text.innerText = message;  									// Устанавливаем текст уведомления

    notification.appendChild(icon);  							// Добавляем иконку в уведомление
    notification.appendChild(text);  							// Добавляем текст в уведомление

    notificationContainer.appendChild(notification);  			// Добавляем уведомление в контейнер

    // -- Удаление уведомления через 5 секунд
    setTimeout(() => {
        notification.remove();  								// Удаляем уведомление
    }, 5000);
}

// МОДАЛЬНЫЕ ОКНА

const loginModal = document.getElementById('login-modal');
const registerModal = document.getElementById('register-modal');
const verificationModal = document.getElementById('verification-modal');
const confirmModal = document.getElementById('confirm-modal');

const showModalBtn = document.getElementById('show-modal-btn');
const showRegisterModalBtn = document.getElementById('show-register-modal-btn');
const showVerificationModalBtn = document.getElementById('show-verification-modal-btn');
const showConfirmModalBtn = document.getElementById('show-confirm-modal-btn');

const closeVerificationBtn = document.querySelector('.close-modal-btn');

// Переменные для отслеживания состояния окон
let isModalOpen = false;
let isRegisterModalOpen = false;
let isVerificationModalOpen = false;
let isConfirmModalOpen = false;

// Открытие окна авторизации
showModalBtn.addEventListener('click', (e) => {
    loginModal.showModal();
    isModalOpen = true;
    e.stopPropagation();  // Остановка всплытия события клика
});

// Открытие окна регистрации
showRegisterModalBtn.addEventListener('click', (e) => {
    registerModal.showModal();
    isRegisterModalOpen = true;
    e.stopPropagation();
});

// Открытие окна подтверждения кода
showVerificationModalBtn.addEventListener('click', () => {
    verificationModal.showModal();
    isVerificationModalOpen = true;
});

// Открытие окна подтверждения да/нет
showConfirmModalBtn.addEventListener('click', () => {
    confirmModal.showModal();
    isConfirmModalOpen = true;
});

// Закрытие окна подтверждения кода через кнопку закрытия
closeVerificationBtn.addEventListener('click', () => {
    verificationModal.close();
    isVerificationModalOpen = false;
});

// Закрытие окон при клике вне их
document.addEventListener('click', (e) => {
    if (isModalOpen && !loginModal.contains(e.target)) {
        loginModal.close();
        isModalOpen = false;
    }

    if (isRegisterModalOpen && !registerModal.contains(e.target)) {
        registerModal.close();
        isRegisterModalOpen = false;
    }

    // Важное замечание: окна подтверждения кода и да/нет НЕ закрываются при клике вне их,
    // поэтому здесь мы не добавляем для них соответствующую логику
});

// Остановка всплытия события клика для модальных окон, чтобы не закрывать их при клике внутри
loginModal.addEventListener('click', (e) => e.stopPropagation());
registerModal.addEventListener('click', (e) => e.stopPropagation());
verificationModal.addEventListener('click', (e) => e.stopPropagation());
confirmModal.addEventListener('click', (e) => e.stopPropagation());

// Логика обработки кнопок "Да" и "Нет" в диалоговом окне подтверждения
document.getElementById('confirm-yes').addEventListener('click', () => {
    confirmModal.close();
    isConfirmModalOpen = false;
    // Здесь можно добавить действия при выборе "Да"
});

document.getElementById('confirm-no').addEventListener('click', () => {
    confirmModal.close();
    isConfirmModalOpen = false;
    // Здесь можно добавить действия при выборе "Нет"
});





как я могу улучшить этот код?