Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
8 changes: 7 additions & 1 deletion public/css/aurora.css
Original file line number Diff line number Diff line change
Expand Up @@ -301,6 +301,10 @@ a{color:inherit}
/* "Collapse all" toolbar toggle */
#aurora-collapse-all{color:var(--muted)}
#aurora-collapse-all:hover{color:var(--text)}
/* Grouped member rows — nested under their group header via indent + a left
rail, so they're clearly set off from standalone routes (which sit flush). */
.data-table tr.aurora-route-sub td.cell-name{position:relative; padding-left:34px; color:var(--muted)}
.data-table tr.aurora-route-sub td.cell-name::before{content:""; position:absolute; left:17px; top:0; bottom:0; width:2px; background:var(--line-2); border-radius:1px}
.row-actions{display:flex; gap:6px; justify-content:flex-end}
.icon-action{width:30px;height:30px;border-radius:8px;border:1px solid var(--line);background:var(--chip);color:var(--muted);
display:grid;place-items:center;cursor:pointer;transition:.15s}
Expand Down Expand Up @@ -386,7 +390,9 @@ input[type=date]:focus, select:focus {
.toggle{width:42px;height:24px;border-radius:999px;background:var(--surface-3);border:1px solid var(--line-2);position:relative;cursor:pointer;transition:.2s; flex:0 0 auto}
.toggle::after{content:"";position:absolute;top:2px;left:2px;width:18px;height:18px;border-radius:50%;background:var(--muted);transition:.2s}
.toggle.on{background:linear-gradient(145deg,var(--teal),var(--teal-dim));border-color:transparent}
.toggle.on::after{left:20px;background:#fff}
/* transform:none resets pro.css's .toggle.on::after translateX(18px) — without
it the knob is shifted left:20px AND +18px, landing outside the switch. */
.toggle.on::after{left:20px;transform:none;background:#fff}

/* segmented button group (production: .toggle-group/.toggle-btn/.on) */
.toggle-group{display:inline-flex; gap:2px; background:var(--surface-3); border:1px solid var(--line); border-radius:10px; padding:3px}
Expand Down
13 changes: 7 additions & 6 deletions public/js/routes.js
Original file line number Diff line number Diff line change
Expand Up @@ -472,14 +472,15 @@
var status = view.routeStatus(r);
var toggleEl = '<div class="toggle' + (status !== 'disabled' ? ' on' : '') + '" data-action="toggle" data-id="' + r.id + '" style="cursor:pointer" title="Toggle"></div>';

// Domain display (sub-rows indent with └)
var domainTxt = opts.subRow
? '<span style="color:var(--faint)">└ ' + (r.domain ? escapeHtml(r.domain) : '—') + '</span>'
: (r.domain ? escapeHtml(r.domain) : '—');
// Domain display. Grouped members are visually nested via the
// .aurora-route-sub class (indent + left rail in aurora.css) so they read
// as belonging to the group header above, distinct from standalone routes.
var domainTxt = (r.domain ? escapeHtml(r.domain) : '—');

var delDomain = r.domain ? escapeHtml(r.domain) : ((r.l4_protocol === 'udp' ? 'UDP' : 'TCP') + ' :' + (r.l4_listen_port || ''));

return '<tr data-route-id="' + r.id + '">'
var rowCls = opts.grouped ? ' class="aurora-route-sub"' : '';
return '<tr data-route-id="' + r.id + '"' + rowCls + '>'
+ '<td class="cell-name">' + domainTxt + '</td>'
+ '<td>' + typeTag + '</td>'
+ '<td class="mono">' + escapeHtml(targetTxt) + '</td>'
Expand Down Expand Up @@ -543,7 +544,7 @@
if (collapsedGroups.has(g.key)) continue; // collapsed → members hidden
}
for (var ri = 0; ri < g.routes.length; ri++) {
rows += auroraRenderTableRow(g.routes[ri], { subRow: grouped && ri > 0 });
rows += auroraRenderTableRow(g.routes[ri], { grouped: grouped });
}
}
auroraUpdateCollapseAll();
Expand Down
Loading