Skip to content

Commit 1d944fd

Browse files
committed
UI Cleanup
1 parent ffeb01b commit 1d944fd

3 files changed

Lines changed: 37 additions & 3 deletions

File tree

.idea/.idea.Http11Probe/.idea/indexLayout.xml

Lines changed: 8 additions & 0 deletions
Some generated files are not rendered by default. Learn more about customizing how changed files appear on GitHub.

.idea/.idea.Http11Probe/.idea/vcs.xml

Lines changed: 6 additions & 0 deletions
Some generated files are not rendered by default. Learn more about customizing how changed files appear on GitHub.

docs/static/probe/render.js

Lines changed: 23 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -16,12 +16,22 @@ window.ProbeRender = (function () {
1616
var trackBg = isDark ? '#2a2f38' : '#e5e7eb';
1717
var thumbBg = isDark ? '#4b5563' : '#94a3b8';
1818
var thumbHover = isDark ? '#6b7280' : '#64748b';
19+
var borderColor = isDark ? '#30363d' : '#d0d7de';
20+
var rowHoverBg = isDark ? '#161b22' : '#f6f8fa';
21+
var rowActiveBg = isDark ? '#1c2333' : '#ddf4ff';
22+
var linkColor = isDark ? '#58a6ff' : '#0969da';
1923
var css = '.probe-scroll{overflow-x:auto}'
2024
+ '.probe-scroll::-webkit-scrollbar{height:8px}'
2125
+ '.probe-scroll::-webkit-scrollbar-track{background:' + trackBg + ';border-radius:4px}'
2226
+ '.probe-scroll::-webkit-scrollbar-thumb{background:' + thumbBg + ';border-radius:4px}'
2327
+ '.probe-scroll::-webkit-scrollbar-thumb:hover{background:' + thumbHover + '}'
24-
+ '.probe-scroll{scrollbar-width:thin;scrollbar-color:' + thumbBg + ' ' + trackBg + '}';
28+
+ '.probe-scroll{scrollbar-width:thin;scrollbar-color:' + thumbBg + ' ' + trackBg + '}'
29+
+ '.probe-table thead{border-bottom:2px solid ' + borderColor + '}'
30+
+ '.probe-table tbody tr{border-bottom:1px solid ' + borderColor + '}'
31+
+ '.probe-server-row{cursor:pointer;transition:background 0.15s}'
32+
+ '.probe-server-row:hover{background:' + rowHoverBg + '}'
33+
+ '.probe-server-row.probe-row-active{background:' + rowActiveBg + ' !important}'
34+
+ '.probe-table thead a{color:' + linkColor + ' !important;text-decoration:underline !important;text-underline-offset:2px}';
2535
var style = document.createElement('style');
2636
style.textContent = css;
2737
document.head.appendChild(style);
@@ -202,7 +212,7 @@ window.ProbeRender = (function () {
202212
return tid.replace(/^(RFC\d+-[\d.]+-|COMP-|SMUG-|MAL-)/, '');
203213
});
204214

205-
var t = '<div class="probe-scroll"><table style="border-collapse:collapse;font-size:12px;white-space:nowrap;">';
215+
var t = '<div class="probe-scroll"><table class="probe-table" style="border-collapse:collapse;font-size:12px;white-space:nowrap;">';
206216

207217
// Column header row (diagonal labels)
208218
t += '<thead><tr>';
@@ -238,7 +248,7 @@ window.ProbeRender = (function () {
238248

239249
// Server rows
240250
names.forEach(function (n) {
241-
t += '<tr>';
251+
t += '<tr class="probe-server-row">';
242252
t += '<td style="padding:4px 8px;font-weight:600;font-size:12px;">' + n + '</td>';
243253
orderedTests.forEach(function (tid) {
244254
var r = lookup[n] && lookup[n][tid];
@@ -258,6 +268,16 @@ window.ProbeRender = (function () {
258268
t += '<p style="font-size:0.8em;color:#656d76;margin-top:4px;">* Not scored &mdash; RFC-compliant behavior, shown for reference.</p>';
259269
}
260270
el.innerHTML = t;
271+
272+
// Row click-to-highlight (one at a time)
273+
var rows = el.querySelectorAll('.probe-server-row');
274+
rows.forEach(function (row) {
275+
row.addEventListener('click', function () {
276+
var wasActive = row.classList.contains('probe-row-active');
277+
rows.forEach(function (r) { r.classList.remove('probe-row-active'); });
278+
if (!wasActive) row.classList.add('probe-row-active');
279+
});
280+
});
261281
}
262282

263283
// ── Language filter ────────────────────────────────────────────

0 commit comments

Comments
 (0)