- Sidebar: Верстак → 🖥 Консоль - View header: Верстак → Консоль - Log view: show real log content (synced with log panel) - Dark bottom log panel: hidden on all non-log views, left offset 192px (sidebar width) - views.js: switchView handles log view sync
32 lines
1.5 KiB
JavaScript
32 lines
1.5 KiB
JavaScript
// views.js — переключение видов (sidebar navigation)
|
|
|
|
function switchView(viewId) {
|
|
document.querySelectorAll('.view').forEach(v => v.classList.add('hidden'));
|
|
const target = document.getElementById('view-' + viewId);
|
|
if (target) target.classList.remove('hidden');
|
|
// Подсветка активного пункта
|
|
document.querySelectorAll('.sidebar-item').forEach(el => el.classList.remove('active'));
|
|
const btn = document.querySelector('.sidebar-item[data-view="' + viewId + '"]');
|
|
if (btn) btn.classList.add('active');
|
|
// Автозагрузка при открытии вида
|
|
if (viewId === 'history-view' && typeof toggleHistory === 'function') {
|
|
if (!historyOpen) toggleHistory();
|
|
}
|
|
if (viewId === 'scenarios-view' && typeof toggleScenario === 'function') {
|
|
if (!scenarioOpen) toggleScenario();
|
|
}
|
|
if (viewId === 'logs-view') {
|
|
// Показать лог в виде, скрыть нижнюю панель
|
|
const lp = document.getElementById('log-panel');
|
|
const lvc = document.getElementById('log-view-content');
|
|
if (lp && lvc) {
|
|
lvc.innerHTML = lp.innerHTML || '<span style="color:#888;">Логи загружаются...</span>';
|
|
lp.style.display = 'none';
|
|
}
|
|
} else {
|
|
// Скрыть нижнюю панель на всех видах кроме логов
|
|
const lp = document.getElementById('log-panel');
|
|
if (lp) lp.style.display = 'none';
|
|
}
|
|
}
|