document.addEventListener('DOMContentLoaded', function () { const sortButton = document.querySelector('.sort-button'); const modal = document.getElementById('sortModal'); const closeButton = document.querySelector('.close-btn'); const cancelButton = document.querySelector('.cancel-button'); const okButton = document.querySelector('.ok-button'); const startDateInput = document.querySelector('.first-rectangle .date-input'); const endDateInput = document.querySelector('.second-rectangle .date-input'); const checkboxes = document.querySelectorAll('.game-mode-checkbox'); const params = new URLSearchParams(window.location.search); // Устанавливаем состояние чекбоксов при загрузке страницы checkboxes.forEach(checkbox => { checkbox.checked = params.getAll('game_modes').includes(checkbox.value); }); // Открыть модальное окно при нажатии на кнопку sortButton.addEventListener('click', function () { modal.style.display = 'block'; }); // Закрыть модальное окно при нажатии на крестик closeButton.addEventListener('click', function () { modal.style.display = 'none'; }); // Закрыть модальное окно при нажатии на кнопку "Отмена" cancelButton.addEventListener('click', function () { modal.style.display = 'none'; }); // Применить фильтры по дате и режимам игры при нажатии на кнопку "OK" okButton.addEventListener('click', function () { const startDate = startDateInput.value; const endDate = endDateInput.value; // Фильтры по датам if (startDate) params.set('start_date', startDate); else params.delete('start_date'); if (endDate) params.set('end_date', endDate); else params.delete('end_date'); // Фильтры по режимам игры const selectedGameModes = Array.from(checkboxes) .filter(checkbox => checkbox.checked) .map(checkbox => checkbox.value); // Обновляем параметры для выбранных режимов params.delete('game_modes'); // Удаляем старые значения selectedGameModes.forEach(mode => params.append('game_modes', mode)); params.set('page', 1); // Сбрасываем на первую страницу modal.style.display = 'none'; // Закрываем модальное окно window.location.search = params.toString(); // Перезагружаем страницу с новыми параметрами }); // Обновление параметров при изменении чекбоксов checkboxes.forEach(checkbox => { checkbox.addEventListener('change', function () { const selectedGameModes = Array.from(checkboxes) .filter(checkbox => checkbox.checked) .map(checkbox => checkbox.value); // Обновляем параметры URL params.delete('game_modes'); // Удаляем старые значения selectedGameModes.forEach(mode => params.append('game_modes', mode)); params.set('page', 1); // Сбрасываем на первую страницу window.location.search = params.toString(); // Перезагружаем страницу с новыми параметрами }); }); }); document.addEventListener('DOMContentLoaded', function () { const searchInput = document.querySelector('.search-input'); // Функция для обработки поиска function performSearch() { const query = searchInput.value.toLowerCase(); const cards = document.querySelectorAll('.card'); cards.forEach(card => { const title = card.querySelector('.card-title').textContent.toLowerCase(); if (title.includes(query)) { card.style.display = 'block'; // Показываем карточку, если название соответствует запросу } else { card.style.display = 'none'; // Скрываем карточку, если название не соответствует запросу } }); } // Поиск по нажатию клавиши Enter searchInput.addEventListener('keydown', function (event) { if (event.key === 'Enter') { performSearch(); } }); // Поиск по клику на лупу (если такая кнопка добавлена) const searchButton = document.querySelector('.search-button'); if (searchButton) { searchButton.addEventListener('click', performSearch); } }); document.addEventListener('DOMContentLoaded', function () { const starsCheckboxes = document.querySelectorAll('input[name="stars"]'); const params = new URLSearchParams(window.location.search); // Устанавливаем состояние чекбоксов при загрузке страницы const selectedStars = params.get('stars'); if (selectedStars) { starsCheckboxes.forEach(checkbox => { if (checkbox.value === selectedStars) { checkbox.checked = true; } }); } // Обновление параметров при изменении чекбоксов для звезд starsCheckboxes.forEach(checkbox => { checkbox.addEventListener('change', function () { // Снимаем отметки с других чекбоксов starsCheckboxes.forEach(otherCheckbox => { if (otherCheckbox !== checkbox) { otherCheckbox.checked = false; } }); const selectedStar = checkbox.checked ? checkbox.value : null; // Обновляем параметры URL params.delete('stars'); if (selectedStar) { params.set('stars', selectedStar); // Устанавливаем выбранную звезду } params.set('page', 1); // Сбрасываем на первую страницу window.location.search = params.toString(); // Перезагружаем страницу с новыми параметрами }); }); });