refactor(ui): блочный дизайн + LLM-отчёт с цветовой индикацией
dashboard:
- Убран: severity ratio bar, Top Rules Triggered, Most Flagged Packages
- Заменены 6 stat-карточек на компактную stat-minibar
- 2-колоночная сетка: heatmap + Latest Flagged (с красной рамкой)
- Таблицы сжаты (.compact)
findings (scan/package detail):
- Findings всегда раскрыты как блоки (.finding-block)
- Убран accordion (details/summary) и toggle-all кнопка
- Код в тёмном блоке, кнопка Copy сверху
LLM-отчёт:
- Цветовая индикация по вердикту:
- safe → зелёный badge, зелёная рамка, лёгкий зелёный фон
- suspicious → жёлтый badge, жёлтая рамка, лёгкий жёлтый фон
- malicious → красный badge, красная рамка, лёгкий красный фон
- Бейдж с вердиктом + severity rating в хедере
- Summary курсивом, analysis с pre-line для абзацев
Скан-инфо:
- scan-info-block с grid-раскладкой (8 полей)
- SHA256 компактным шрифтом
- Блок ошибки скана отдельно выделен
CSS:
- Удалены: .stats-grid, .stat-card, .severity-bar*, .top-rules-chart*,
.finding-card*, .finding-details, .finding-header-row, .finding-summary-hint
- Добавлены: .stat-minibar, .dashboard-grid, .dash-block, .scan-info-*,
.finding-block, .llm-{safe,suspicious,malicious}, .llm-badge-*,
table.compact
- app.js: удалён toggleFindings()
This commit is contained in:
@@ -1,16 +1,5 @@
|
||||
// GuardDog Nexus — shared UI utilities
|
||||
|
||||
function toggleFindings() {
|
||||
var container = document.getElementById('findings-container');
|
||||
if (!container) return;
|
||||
var details = container.querySelectorAll('details');
|
||||
if (details.length === 0) return;
|
||||
var isOpen = details[0].open;
|
||||
details.forEach(function (d) { d.open = !isOpen; });
|
||||
var btn = document.querySelector('.toggle-all-btn');
|
||||
if (btn) btn.textContent = isOpen ? 'Expand All' : 'Collapse All';
|
||||
}
|
||||
|
||||
function copyCode(btn, codeId) {
|
||||
var el = document.getElementById(codeId);
|
||||
if (!el) return;
|
||||
|
||||
Reference in New Issue
Block a user