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
7 changes: 7 additions & 0 deletions public/css/aurora.css
Original file line number Diff line number Diff line change
Expand Up @@ -288,6 +288,13 @@ a{color:inherit}
.data-table tbody tr:hover td{background:var(--chip)}
.data-table .mono{font-family:var(--font-mono); font-size:12.5px; color:var(--muted)}
.data-table .cell-name{font-weight:600}
/* Routes table — service/domain group header rows (related routes read as a unit) */
.data-table tr.aurora-group-row td{background:var(--surface-2); padding:9px 14px; border-bottom:1px solid var(--line)}
.data-table tr.aurora-group-row:hover td{background:var(--surface-2)}
.data-table tr.aurora-group-row .group-status-dot{display:inline-block; vertical-align:middle}
.aurora-group-label{font-weight:700; font-size:12.5px; color:var(--text); margin-left:9px; vertical-align:middle}
.aurora-group-count{margin-left:10px; font-size:11px; color:var(--faint); font-family:var(--font-mono); vertical-align:middle}
.aurora-group-badge{margin-left:8px; vertical-align:middle; font-size:10.5px; padding:1px 7px}
.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
27 changes: 25 additions & 2 deletions public/js/routes.js
Original file line number Diff line number Diff line change
Expand Up @@ -495,14 +495,37 @@
+ '</div></td></tr>';
}

// Aurora group-header row: shown for every multi-route group (service
// bundle or shared domain) so related routes read as a unit, not just a
// hinted-at indent. Mirrors the default theme's .routes-table-group row.
function auroraRenderGroupHead(g) {
var t = GC.t;
var label = g.label != null
? escapeHtml(g.label)
: escapeHtml(t['routes.group_no_domain'] || 'Without domain');
var bundleTag = g.isBundle
? '<span class="tag tag-blue aurora-group-badge">' + escapeHtml(t['service_bundle.badge'] || 'SERVICE') + '</span>'
: '';
var countTxt = (t['routes.group_count'] || '{{count}} routes').replace('{{count}}', g.routes.length);
return '<tr class="aurora-group-row" data-gkey="' + escapeHtml(g.key) + '"><td colspan="6">'
+ '<span class="group-status-dot ' + statusDotClass(g.status) + '"></span>'
+ '<span class="aurora-group-label">' + label + '</span>'
+ bundleTag
+ '<span class="aurora-group-count">' + escapeHtml(countTxt) + '</span>'
+ '</td></tr>';
}

function auroraRenderTable(groups) {
var t = GC.t;
var rows = '';
// Aurora: flat table — no group chrome, no batch column
// Aurora: group-headed table (no batch column). Multi-route groups get a
// header row + indented sub-rows; standalone routes render bare.
for (var gi = 0; gi < groups.length; gi++) {
var g = groups[gi];
var grouped = !g.single && g.routes.length > 1;
if (grouped) rows += auroraRenderGroupHead(g);
for (var ri = 0; ri < g.routes.length; ri++) {
rows += auroraRenderTableRow(g.routes[ri], { subRow: g.routes.length > 1 && ri > 0 });
rows += auroraRenderTableRow(g.routes[ri], { subRow: grouped && ri > 0 });
}
}
if (!rows) {
Expand Down
Loading