fix(dashboard): heatmap cell click + 5th tab + model sync fixes\n\n- restore hmModal with 4 legacy tabs + new Performance Graph tab\n- fix event.target in research-dashboard.template.html switchTab\n- fix showCellDetail event.stopPropagation for modal persistence\n- update agent models + sync KILO_SPEC.md and AGENTS.md

This commit is contained in:
Deploy Bot
2026-05-27 13:46:55 +01:00
parent 36455ccf24
commit 7635cb62cd
6 changed files with 768 additions and 1363 deletions

View File

@@ -259,12 +259,12 @@
</div>
<div class="tabs" id="tabBar">
<button class="tab-btn active" onclick="switchTab('overview')">Обзор</button>
<button class="tab-btn" onclick="switchTab('groq')">Groq Free Tier</button>
<button class="tab-btn" onclick="switchTab('models')">Все модели</button>
<button class="tab-btn" onclick="switchTab('heatmap')">Матрица</button>
<button class="tab-btn" onclick="switchTab('recs')">Рекомендации</button>
<button class="tab-btn" onclick="switchTab('impact')">Анализ профита</button>
<button class="tab-btn active" onclick="switchTab('overview', this)">Обзор</button>
<button class="tab-btn" onclick="switchTab('groq', this)">Groq Free Tier</button>
<button class="tab-btn" onclick="switchTab('models', this)">Все модели</button>
<button class="tab-btn" onclick="switchTab('heatmap', this)">Матрица</button>
<button class="tab-btn" onclick="switchTab('recs', this)">Рекомендации</button>
<button class="tab-btn" onclick="switchTab('impact', this)">Анализ профита</button>
</div>
<!-- ========== TAB: OVERVIEW ========== -->
@@ -477,11 +477,11 @@ const impactData = (EMBEDDED_DATA.impact_data || []).map(d => ({
}));
// ======================= RENDER =======================
function switchTab(id) {
function switchTab(id, el) {
document.querySelectorAll('.tab-panel').forEach(p=>p.classList.remove('active'));
document.querySelectorAll('.tab-btn').forEach(b=>b.classList.remove('active'));
document.getElementById('tab-'+id).classList.add('active');
event.target.classList.add('active');
(el || document.querySelector(`button[onclick*="switchTab('${id}')"]`)).classList.add('active');
if(id==='impact') requestAnimationFrame(()=>setTimeout(drawChart,50));
}