Skip to content

Commit 9662abc

Browse files
h0tak88rclaude
andcommitted
feat: remove raw JSON side drawer from scan detail findings
The side panel that showed raw JSON when clicking a finding row overlapped with the bottom detail panel. Removed entirely. Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com>
1 parent 91bcb3d commit 9662abc

1 file changed

Lines changed: 1 addition & 13 deletions

File tree

internal/api/ui/pages/scan-detail.js

Lines changed: 1 addition & 13 deletions
Original file line numberDiff line numberDiff line change
@@ -963,13 +963,6 @@
963963
<div id="recon-urls-content" style="min-height:200px;max-height:580px;overflow:auto;font-family:var(--font-mono);font-size:12px"><div style="text-align:center;padding:40px;color:var(--text-muted)">Loading URLs…</div></div>
964964
<div id="recon-urls-pagination" style="padding:10px 12px;background:rgba(2,6,23,0.3);border-top:1px solid var(--border);display:flex;justify-content:center;align-items:center;gap:15px;font-size:12px"></div>
965965
</div>
966-
<div id="recon-details-drawer" style="display:none;position:absolute;top:0;right:0;width:420px;height:100%;background:rgba(2,6,23,.98);border-left:1px solid var(--border);z-index:20;box-shadow:-12px 0 40px rgba(0,0,0,.45)">
967-
<div style="display:flex;align-items:center;justify-content:space-between;padding:12px;border-bottom:1px solid var(--border)">
968-
<div style="font-size:12px;color:var(--text-secondary);text-transform:uppercase;letter-spacing:.5px">Finding Details</div>
969-
<button id="recon-drawer-close" type="button" style="background:transparent;border:none;color:var(--text-muted);font-size:18px;cursor:pointer">X</button>
970-
</div>
971-
<div id="recon-drawer-body" style="padding:12px;overflow:auto;height:calc(100% - 52px)"></div>
972-
</div>
973966
</section>
974967
</div>
975968
</div>`;
@@ -991,9 +984,6 @@
991984
const urlsView = root.querySelector('#recon-urls-view');
992985
const urlsContent = root.querySelector('#recon-urls-content');
993986
const standardTable = root.querySelector('#recon-standard-view table.dashboard-table');
994-
const drawer = root.querySelector('#recon-details-drawer');
995-
const drawerBody = root.querySelector('#recon-drawer-body');
996-
const drawerClose = root.querySelector('#recon-drawer-close');
997987

998988
const SEV_DEFS = [
999989
{ key: 'critical', label: 'Critical', color: '#fc8181', bg: 'rgba(252,129,129,.13)', border: 'rgba(252,129,129,.35)' },
@@ -1385,8 +1375,7 @@
13851375

13861376
if (wrap) wrap.addEventListener('scroll', () => { _virtualScrollTop = wrap.scrollTop; if (currentRenderedRows.length > 150) renderBody(); });
13871377

1388-
root.addEventListener('click', e => { const r = e.target.closest('.findings-row'); if (r && !e.target.closest('input,a,button')) { const idx = Number(r.dataset.rowIndex); if (currentRenderedRows[idx]) openDrawerForRow(currentRenderedRows[idx]); } });
1389-
if (drawerClose) drawerClose.addEventListener('click', () => drawer.style.display = 'none');
1378+
root.addEventListener('click', e => { const r = e.target.closest('.findings-row'); if (r && !e.target.closest('input,a,button')) { /* drawer removed */ } });
13901379
const urlsSearchInput = root.querySelector('#recon-urls-search');
13911380
const urlsTypeSel = root.querySelector('#recon-urls-type');
13921381
const urlsCopyBtn = root.querySelector('#recon-urls-copy');
@@ -1422,7 +1411,6 @@
14221411
URL.revokeObjectURL(href);
14231412
});
14241413

1425-
function openDrawerForRow(r) { drawerBody.innerHTML = `<pre style="padding:12px;font-size:11px;color:var(--text-primary)">${esc(JSON.stringify(r, null, 2))}</pre>`; drawer.style.display = 'block'; }
14261414
}
14271415

14281416
// ── Assets & file-filter helpers — delegated to scan-detail-assets.js ────

0 commit comments

Comments
 (0)