diff --git a/templates/index.html b/templates/index.html index cc15aba..b0d7525 100644 --- a/templates/index.html +++ b/templates/index.html @@ -433,12 +433,19 @@ a{color:var(--link)} border-color: var(--accent); } -.options-btn.active { +/* Кнопка options когда меню открыто (неактивное состояние) */ +.options-btn:not(.active) { background: var(--accent); color: #0b0d12; border-color: var(--accent); } +.options-btn.active { + background: var(--chip); + color: var(--muted); + border-color: var(--border); +} + .logout-btn:hover { background: var(--err); color: #fff; @@ -3133,6 +3140,9 @@ function updateContainerSelectionUI() { } } } + + // Обновляем видимость кнопок LogLevels + updateLogLevelsVisibility(); } // Функция для сохранения выбранного контейнера в localStorage @@ -3268,6 +3278,9 @@ async function updateMultiViewMode() { setTimeout(() => { initializeLevelButtons(); }, 100); + + // Обновляем видимость кнопок LogLevels + updateLogLevelsVisibility(); } async function setupMultiView() { @@ -3397,6 +3410,9 @@ async function setupMultiView() { setTimeout(() => { updateLogStyles(); }, 1500); // Задержка после настройки счетчиков + + // Обновляем видимость кнопок LogLevels + updateLogLevelsVisibility(); } function createMultiViewPanel(service) { @@ -3616,6 +3632,9 @@ function clearLogArea() { if (logTitle) { logTitle.textContent = 'LogBoard+'; } + + // Обновляем видимость кнопок LogLevels + updateLogLevelsVisibility(); } @@ -3713,18 +3732,14 @@ async function fetchServices(){ await switchToSingle(selectedService); } } else { - // Нет сохраненного режима, используем первый контейнер - console.log('No saved view mode, using first container'); - if (state.services.length) { - await switchToSingle(state.services[0]); - } + // Нет сохраненного режима, не открываем автоматически первый контейнер + console.log('No saved view mode, not auto-opening first container'); + // Пользователь сам выберет нужный контейнер } } else { - // Нет сохраненного режима, используем первый контейнер - console.log('No saved view mode found, using first container'); - if (state.services.length) { - await switchToSingle(state.services[0]); - } + // Нет сохраненного режима, не открываем автоматически первый контейнер + console.log('No saved view mode found, not auto-opening first container'); + // Пользователь сам выберет нужный контейнер } // Добавляем обработчики для счетчиков после загрузки сервисов @@ -5340,6 +5355,33 @@ function updateCounterVisibility() { } } +// Функция для управления видимостью кнопок LogLevels +function updateLogLevelsVisibility() { + const singleViewLevels = document.querySelector('.single-view-levels'); + const multiViewLevels = document.querySelectorAll('.multi-view-levels'); + + // Проверяем, есть ли выбранные контейнеры + const hasSelectedContainers = state.selectedContainers.length > 0 || state.current; + + // Управляем видимостью кнопок в single view + if (singleViewLevels) { + if (hasSelectedContainers) { + singleViewLevels.style.display = 'flex'; + } else { + singleViewLevels.style.display = 'none'; + } + } + + // Управляем видимостью кнопок в multi view + multiViewLevels.forEach(levelsContainer => { + if (hasSelectedContainers) { + levelsContainer.style.display = 'flex'; + } else { + levelsContainer.style.display = 'none'; + } + }); +} + // Функция для обновления логов и счетчиков async function refreshLogsAndCounters() { if (state.multiViewMode && state.selectedContainers.length > 0) { @@ -5500,10 +5542,9 @@ els.refreshBtn.onclick = async () => { // Переключаемся на обновленный контейнер await switchToSingle(updatedContainer); } else { - // Если контейнер больше не существует, переключаемся на первый доступный - if (state.services.length > 0) { - await switchToSingle(state.services[0]); - } + // Если контейнер больше не существует, не открываем автоматически первый доступный + // Пользователь сам выберет нужный контейнер + console.log('Container no longer exists, not auto-opening first available container'); } } }; @@ -6634,6 +6675,9 @@ window.addEventListener('keydown', async (e)=>{ cleanDuplicateLines(els.logContent); } }, 1000); + + // Инициализируем видимость кнопок LogLevels + updateLogLevelsVisibility(); })();