From cd2e2349e21f4ef60d1d69b4fd56ccdc43585543 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=E2=80=9CNaeel=E2=80=9D?= Date: Mon, 27 Jul 2026 17:12:23 +0400 Subject: [PATCH] v1.0.84: log panel hidden by default, toggle button bottom-right --- site/app.py | 2 +- site/templates/index.html | 15 +++++++++++---- 2 files changed, 12 insertions(+), 5 deletions(-) diff --git a/site/app.py b/site/app.py index e896fb7..29c2d1e 100644 --- a/site/app.py +++ b/site/app.py @@ -6,7 +6,7 @@ from routes.main import bp as main_bp from routes.api import bp as api_bp from routes.api_test import bp as api_test_bp -VERSION = "1.0.83" +VERSION = "1.0.84" app = Flask(__name__, template_folder="templates", static_folder="static") app.config["NUBES_API_ENDPOINT"] = os.getenv("NUBES_API_ENDPOINT", "https://lk-api-gateway-dev.ngcloud.ru/api/v1/svc") diff --git a/site/templates/index.html b/site/templates/index.html index cc13c6e..a77bfea 100644 --- a/site/templates/index.html +++ b/site/templates/index.html @@ -384,25 +384,32 @@ async function refreshInstances(){ document.getElementById('inst-list').innerHTML=html; } -// === Панель логов === +// === Панель логов (скрыта, показывается по кнопке) === let logPollTimer=null; function startLogPoll(){ if(logPollTimer) return; logPollTimer=setInterval(async()=>{ + const el=document.getElementById('log-panel'); + if(!el||el.style.display==='none') return; // не дёргать если скрыта try{ const r=await fetch('/api/log'); const lines=await r.json(); - const el=document.getElementById('log-panel'); - if(!el) return; el.innerHTML=lines.map(l=>`
${l}
`).join(''); el.scrollTop=el.scrollHeight; }catch(e){} },2000); } +function toggleLog(){ + const el=document.getElementById('log-panel'); + if(!el) return; + if(el.style.display==='none'){ el.style.display='block'; startLogPoll(); } + else el.style.display='none'; +} startLogPoll(); -
+ + \ No newline at end of file