feat(dashboard): widget readability — name-per-line, fill graphs, container breakpoints
Address graphical issues raised from the dashboard screenshot: - No more truncated host names. Hosts-Overview and Host-Agent-Resources put the host name on its own line (full, wraps if needed) with its data grouped beneath it; ping/dns (.ping-name) and uptime widget names wrap instead of ellipsis. Prefer vertical overflow over cramming/truncating a row. - History graph fills the panel: drop the fixed 0–100 y-axis ceiling (beginAtZero + 8% grace) so the lines use the vertical space instead of hugging the bottom; axis labels still show real %. - Container-query breakpoints: the widget body is now a query container, so fragments restyle to their OWN panel width. Host-list widgets flow into 2 cols ≥520px and 3 cols ≥900px (.host-blocks) — use the width, remove vertical deadspace — and collapse to one column when narrow. Mirrored into the share view. Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
This commit is contained in:
@@ -163,7 +163,7 @@ textarea { resize: vertical; }
|
||||
.ping-row { display:flex; align-items:center; gap:1rem; padding:0.45rem 0; border-bottom:1px solid var(--border); }
|
||||
.ping-row:last-child { border-bottom:none; }
|
||||
.ping-meta { min-width:120px; max-width:180px; flex-shrink:1; overflow:hidden; }
|
||||
.ping-name { font-size:0.875rem; font-weight:500; white-space:nowrap; overflow:hidden; text-overflow:ellipsis; display:block; }
|
||||
.ping-name { font-size:0.875rem; font-weight:500; display:block; overflow-wrap:anywhere; }
|
||||
a.ping-name:hover { text-decoration:underline; }
|
||||
/* Dashboard widget grid — Gridstack-rendered. Static (positioned but inert) in
|
||||
view mode; the dashboard itself becomes the edit surface when Edit is toggled,
|
||||
@@ -174,6 +174,14 @@ a.ping-name:hover { text-decoration:underline; }
|
||||
padding:0.8rem 1rem; display:flex; flex-direction:column; overflow:hidden;
|
||||
}
|
||||
.grid-stack-item-content .dash-cell-body { flex:1; min-height:0; overflow:auto; }
|
||||
/* The widget body is a query container, so fragments can restyle to their OWN
|
||||
panel width (not the viewport) — widgets adapt as you resize them. */
|
||||
.dash-cell-body { container-type:inline-size; }
|
||||
/* Host-list widgets flow into columns as the panel widens: use the width, drop
|
||||
the vertical deadspace; stay single-column (and untruncated) when narrow. */
|
||||
.host-blocks { display:grid; grid-template-columns:1fr; gap:0 1.5rem; }
|
||||
@container (min-width:520px) { .host-blocks { grid-template-columns:1fr 1fr; } }
|
||||
@container (min-width:900px) { .host-blocks { grid-template-columns:1fr 1fr 1fr; } }
|
||||
.panel-chrome { display:none; }
|
||||
.panel-drag { cursor:grab; color:var(--text-dim); user-select:none; }
|
||||
.panel-drag:active { cursor:grabbing; }
|
||||
|
||||
Reference in New Issue
Block a user