From 685938d9f7a10f00ed8570d1df5c31dc3d930ee6 Mon Sep 17 00:00:00 2001 From: gitadmin Date: Thu, 25 Dec 2025 21:38:08 +0300 Subject: [PATCH] =?UTF-8?q?[=D0=92=D0=9E=D0=9B=D0=9A]=20=D1=84=D0=B8=D0=BA?= =?UTF-8?q?=D1=81=20=D0=B2=D0=BE=D0=B7=D0=B2=D1=80=D0=B0=D1=82=D0=B0=20?= =?UTF-8?q?=D0=BD=D0=B0=20=D1=81=D0=B2=D0=BE=D1=8E=20=D1=81=D1=82=D1=80?= =?UTF-8?q?=D0=B0=D0=BD=D0=B8=D1=86=D1=83=20=D0=B8=D0=B7=20=D1=80=D0=B5?= =?UTF-8?q?=D0=B4=D0=B0=D0=BA=D1=82=D0=BE=D1=80=D0=B0=20=D0=BF=D0=BB=D0=BE?= =?UTF-8?q?=D1=89=D0=B0=D0=B4=D0=BE=D0=BA?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- templates/index.html | 42 ++++++++++++++++++++++++++++++++++++++++-- 1 file changed, 40 insertions(+), 2 deletions(-) diff --git a/templates/index.html b/templates/index.html index a424af7..90e3dd5 100644 --- a/templates/index.html +++ b/templates/index.html @@ -1023,7 +1023,23 @@ const urlParams = new URLSearchParams(window.location.search); const selectedPostId = urlParams.get('selected_post'); const selectedEventId = urlParams.get('selected_event'); + const selectedCategoryId = urlParams.get('selected_category'); const tabParam = urlParams.get('tab'); + // Если есть selectedCategoryId или параметр tab=categories, активируем вкладку площадок + {% if g.workmode == 'VOLK' %} + if (selectedCategoryId || tabParam === 'categories') { + const categoriesTab = document.getElementById('categories-tab'); + if (categoriesTab) { + // Активируем вкладку площадок + const tabInstance = new bootstrap.Tab(categoriesTab); + tabInstance.show(); + // Также загружаем площадки, если они еще не загружены + if (document.getElementById('categories-table').children.length === 1) { + loadCategoriesList(); + } + } + } + {% endif %} // Если есть selectedEventId или параметр tab=events, активируем вкладку событий if (selectedEventId || tabParam === 'events') { const eventsTab = document.getElementById('events-tab'); @@ -1039,8 +1055,8 @@ } // Если есть selectedPostId, активируем вкладку постов (по умолчанию и так активна, но если есть selectedEventId, то переключится на события) if (selectedPostId) { - // Убедимся, что вкладка постов активна, если нет selectedEventId - if (!selectedEventId && tabParam !== 'events') { + // Убедимся, что вкладка постов активна, если нет selectedEventId и selectedCategoryId + if (!selectedEventId && !selectedCategoryId && tabParam !== 'events' && tabParam !== 'categories') { const postsTab = document.getElementById('posts-tab'); if (postsTab) { const tabInstance = new bootstrap.Tab(postsTab); @@ -1057,6 +1073,18 @@ highlightSelectedEvent(selectedEventId); showEventDetails(selectedEventId); } + {% if g.workmode == 'VOLK' %} + if (selectedCategoryId) { + // Ждем загрузки списка категорий перед выделением + setTimeout(() => { + highlightSelectedCategory(selectedCategoryId); + showCategoryDetails(selectedCategoryId); + // Убираем параметр из URL без перезагрузки страницы + const newUrl = window.location.pathname + (selectedPostId || selectedEventId ? window.location.search.replace(/[?&]selected_category=[^&]*/, '').replace(/[?&]tab=categories/, '') : ''); + window.history.replaceState({}, document.title, newUrl); + }, 100); + } + {% endif %} }); // Кнопка обновления постов document.getElementById('refresh-posts-btn').addEventListener('click', loadPosts); @@ -1945,6 +1973,16 @@ syncColumnWidths('categories'); reinitializeColumnResizers('categories'); }, 0); + + // Автоматически выбираем категорию из параметра URL + const urlParams = new URLSearchParams(window.location.search); + const selectedCategoryId = urlParams.get('selected_category'); + if (selectedCategoryId) { + // Выделяем категорию + highlightSelectedCategory(selectedCategoryId); + // Показываем детали категории + showCategoryDetails(selectedCategoryId); + } } catch (error) { tableBody.innerHTML = `