v0.36.10
This commit is contained in:
1 parent
2789991452
commit
e260612ef9
60 files changed
+69
-339
No files matched your search
@@ -1,4 +1,3 @@
|
||||
/* Overview metrics, charts, dashboard density, inline layout controls and presets */
|
||||
|
||||
html[data-theme=ultra_dark] :is(.card, .stat, dialog) {
|
||||
box-shadow: 0 6px 24px rgba(0, 0, 0, .18);
|
||||
@@ -326,7 +325,6 @@ html[data-theme=cream] :is(.card, .stat, dialog) {
|
||||
|
||||
.pool-table td:nth-child(n
|
||||
|
||||
/**/
|
||||
+4) {
|
||||
font-variant-numeric: tabular-nums;
|
||||
text-align: right;
|
||||
@@ -335,7 +333,6 @@ html[data-theme=cream] :is(.card, .stat, dialog) {
|
||||
[dir=rtl] table,
|
||||
.pool-table th:nth-child(n
|
||||
|
||||
/**/
|
||||
+4),
|
||||
.logging-builder-action .small-label {
|
||||
text-align: right;
|
||||
@@ -649,9 +646,6 @@ html[data-dashboard-density=ultra] #panel-overview .stat-cache-outcomes .cache-m
|
||||
white-space: nowrap;
|
||||
}
|
||||
|
||||
/* Sparkline tiles with a one-line detail (e.g. Backend retry attempts: recent rate,
|
||||
successful retries): the detail sits on the right opposite the value, like a series
|
||||
legend, and the chart spans the full width underneath. */
|
||||
#panel-overview .stats-grid>.stat.stat-chart:has(>small:not([hidden], .stat-chart-legend, .backend-health-origins)):not(:has(>.stat-chart-legend)) {
|
||||
display: grid;
|
||||
grid-template-columns: minmax(0, 1fr) auto;
|
||||
@@ -708,9 +702,6 @@ html[data-dashboard-density=ultra] #panel-overview .stat-cache-outcomes .cache-m
|
||||
min-height: 26px;
|
||||
}
|
||||
|
||||
/* Sparkline tiles with a series legend (HTTP / WebSocket protocol mix, backend
|
||||
traffic): the legend sits on the right, opposite the main value, one series per
|
||||
line, and the chart spans the full width below. */
|
||||
#panel-overview .stats-grid>.stat.stat-chart:has(>.stat-chart-legend) {
|
||||
display: grid;
|
||||
grid-template-columns: minmax(0, 1fr) auto;
|
||||
@@ -749,7 +740,6 @@ html[data-dashboard-density=ultra] #panel-overview .stat-cache-outcomes .cache-m
|
||||
align-self: end;
|
||||
}
|
||||
|
||||
/* Row-unit layout: the chart takes the remaining height of a taller tile. */
|
||||
#panel-overview #dashboard-overview-grid.has-row-units>.stat.stat-chart:has(>.stat-chart-legend)>:is(svg:not(.ui-icon), .rp-chart-axis-host) {
|
||||
align-self: stretch;
|
||||
}
|
||||
@@ -1366,15 +1356,10 @@ html[data-chart-style] :is(#workspace, dialog) svg polyline {
|
||||
outline-offset: -2px;
|
||||
}
|
||||
|
||||
/* Legacy grouped layout: reserve room for the editing toolbar. With row units the
|
||||
toolbar overlays the card header instead, so the unlocked grid has exactly the
|
||||
geometry of the saved one (what you arrange is what you get). */
|
||||
#panel-overview .dashboard-overview-grid.is-unlocked:not(.has-row-units)>[data-dashboard-widget] {
|
||||
padding-top: 40px !important;
|
||||
}
|
||||
|
||||
/* Row-unit editing toolbar: a slim opaque header (handle, card name, hide) that
|
||||
expands to a second line with width / height / move controls on hover or focus. */
|
||||
#panel-overview .dashboard-overview-grid.is-unlocked.has-row-units .overview-inline-toolbar {
|
||||
top: 2px;
|
||||
left: 2px;
|
||||
@@ -1442,7 +1427,6 @@ html[data-chart-style] :is(#workspace, dialog) svg polyline {
|
||||
font-size: 10px;
|
||||
}
|
||||
|
||||
/* "Fit to screen" switch in the unlocked layout toolbar. */
|
||||
.overview-inline-autofit {
|
||||
display: inline-flex;
|
||||
align-items: center;
|
||||
@@ -1461,15 +1445,12 @@ html[data-chart-style] :is(#workspace, dialog) svg polyline {
|
||||
margin: 0;
|
||||
}
|
||||
|
||||
/* Width shown wider on this screen by Fit to screen. */
|
||||
#panel-overview .overview-inline-width-value.is-fitted {
|
||||
color: var(--accent);
|
||||
text-decoration: underline dotted;
|
||||
text-underline-offset: 3px;
|
||||
}
|
||||
|
||||
/* Height value: readable between its − / + buttons. Automatic height (fits the
|
||||
content) is slightly dimmed, a fixed height is shown in full colour. */
|
||||
#panel-overview .dashboard-overview-grid.is-unlocked.has-row-units .overview-inline-width-value.overview-inline-height-value {
|
||||
flex: 0 0 auto;
|
||||
min-width: 34px;
|
||||
@@ -1486,9 +1467,6 @@ html[data-chart-style] :is(#workspace, dialog) svg polyline {
|
||||
opacity: .75;
|
||||
}
|
||||
|
||||
/* Stat tiles taller than their content (a taller neighbour in the same row): keep
|
||||
the label on top, centre the value in the free space, keep meters and legends at
|
||||
the bottom and let sparklines grow, instead of leaving an empty band below. */
|
||||
#panel-overview #dashboard-overview-grid.has-row-units>.stat:not([hidden], .stat-donut, .stat-chart) {
|
||||
grid-template-rows: auto 1fr;
|
||||
}
|
||||
@@ -2256,9 +2234,6 @@ html:is([data-corner-style=square], [data-corner-style=subtle], [data-corner-sty
|
||||
grid-column-start: auto;
|
||||
}
|
||||
|
||||
/* Row units (custom layout): heights snap to the compact stat card height so tall
|
||||
panels sit beside several rows of small cards with aligned edges.
|
||||
overview-rows.js sets --overview-row-unit and each card's --overview-rows. */
|
||||
#panel-overview .dashboard-overview-grid.is-aligned.has-row-units {
|
||||
grid-auto-rows: var(--overview-row-unit, 84px);
|
||||
}
|
||||
@@ -2272,26 +2247,17 @@ html:is([data-corner-style=square], [data-corner-style=subtle], [data-corner-sty
|
||||
min-height: 0 !important;
|
||||
}
|
||||
|
||||
/* Auto-fit: overview-rows.js packs the cards and places them explicitly. While a
|
||||
block is being dragged the normal flow is used, so the drop placeholder works. */
|
||||
#panel-overview #dashboard-overview-grid.has-row-units.has-auto-placement:not(.is-overview-sorting)>[data-dashboard-widget]:not([hidden]) {
|
||||
grid-column: var(--overview-col, auto)/span var(--overview-cols, 1);
|
||||
grid-row: var(--overview-row, auto)/span var(--overview-rows, 1);
|
||||
}
|
||||
|
||||
/* Until the account's layout is applied the cards stay invisible, so the page
|
||||
never shows the factory arrangement first and then jumps (no browser storage).
|
||||
Meanwhile the panel's startup screen is shown in their place (see below). */
|
||||
#panel-overview .dashboard-overview-grid.is-layout-pending {
|
||||
position: relative;
|
||||
min-height: 280px;
|
||||
visibility: hidden;
|
||||
}
|
||||
|
||||
/* The panel's startup screen (logo, spinner, "Loading RustProxy…") is shown in
|
||||
place of the cards while the layout is pending: a zero-height block right
|
||||
before the grid whose content overlays the still invisible grid, so the cards'
|
||||
order and first-child styles are unaffected. */
|
||||
#panel-overview .overview-layout-loading {
|
||||
height: 0;
|
||||
margin-inline: auto;
|
||||
@@ -2311,8 +2277,6 @@ html:is([data-corner-style=square], [data-corner-style=subtle], [data-corner-sty
|
||||
align-self: start !important;
|
||||
}
|
||||
|
||||
/* A card taller than its content gives the extra height to its charts instead of
|
||||
leaving an empty band at the bottom. */
|
||||
#panel-overview .dashboard-overview-grid.has-row-units>.card[data-dashboard-widget]:not([hidden]) {
|
||||
display: flex;
|
||||
flex-direction: column;
|
||||
@@ -2333,7 +2297,6 @@ html:is([data-corner-style=square], [data-corner-style=subtle], [data-corner-sty
|
||||
flex: 1 0 auto;
|
||||
}
|
||||
|
||||
/* With chart scales enabled the SVG sits in an axis host: grow the host and its SVG. */
|
||||
#panel-overview .dashboard-overview-grid.has-row-units>.card[data-dashboard-widget] :is(.rp-chart-axis-host, .mini-live-chart>.rp-chart-axis-host) {
|
||||
display: flex;
|
||||
flex: 1 0 auto;
|
||||
@@ -2672,7 +2635,6 @@ html[data-dashboard-density] #panel-overview .stat :is(.stat-chart-legend, .over
|
||||
text-overflow: ellipsis;
|
||||
white-space: nowrap;
|
||||
}
|
||||
/* WebSocket tunnels: "Established" sits to the right of the main value instead of a third text line. */
|
||||
#panel-overview .stat .stat-value-row {
|
||||
display: flex;
|
||||
align-items: baseline;
|
||||
@@ -2703,8 +2665,6 @@ html[data-dashboard-density] #panel-overview .stat :is(.stat-chart-legend, .over
|
||||
font-weight: 450;
|
||||
}
|
||||
|
||||
/* Compact stat cards: a card made only of title, value and one secondary line shows that line
|
||||
beside the value (right-aligned) instead of on a line of its own. */
|
||||
#panel-overview .stats-grid>.stat:is(:not(.stat-donut, .stat-meter, .stat-with-action, .stat-chart):not(:has(>:not(span, strong, small, .overview-inline-toolbar))):has(>small)) {
|
||||
display: grid;
|
||||
grid-template-columns: minmax(0, 1fr) auto;
|
||||
@@ -2730,7 +2690,6 @@ html[data-dashboard-density] #panel-overview .stat :is(.stat-chart-legend, .over
|
||||
overflow-wrap: anywhere;
|
||||
}
|
||||
|
||||
/* Backends overview card (0.36.7): follows table density (global table rules), corner style tokens and interface colours */
|
||||
#panel-overview .backend-overview-card.is-no-proxy,
|
||||
#panel-overview #backend-diagnostics-card.is-no-proxy { display: none !important; }
|
||||
.bo-heading { display: flex; flex-wrap: wrap; align-items: baseline; gap: 4px 12px; min-width: 0; }
|
||||
@@ -2811,7 +2770,6 @@ html[data-table-density=compact] .bo-spark-bars { width: 70px; }
|
||||
html[data-table-density=compact] .bo-chip { padding: 5px 9px; }
|
||||
html[data-table-density=compact] .bo-meter { margin-top: 3px; }
|
||||
|
||||
/* Process overview card (process_diagnostics) */
|
||||
[data-dashboard-widget="process_diagnostics"] { display: flex; flex-direction: column; min-height: 560px; }
|
||||
.pr-chips { display: flex; flex-wrap: wrap; gap: 6px; margin: 10px 0 0; }
|
||||
.pr-chip { display: inline-flex; align-items: baseline; gap: 7px; margin: 0; padding: 3px 9px; border: 1px solid var(--line); border-radius: var(--rp-radius-control, 0); font: 11px var(--mono); }
|
||||
@@ -2842,7 +2800,6 @@ html[data-table-density=ultra] .pr-chip { padding: 1px 7px; }
|
||||
.pr-cols, .pr-charts { grid-template-columns: 1fr; }
|
||||
}
|
||||
|
||||
/* Memory breakdown card (memory_breakdown) */
|
||||
.mb-card { display: flex; flex-direction: column; }
|
||||
.mb-card .mb-chips { margin-bottom: 12px; }
|
||||
.mb-bar { display: flex; height: 22px; overflow: hidden; background: var(--line); border-radius: var(--rp-progress-radius, 0); gap: 1px; }
|
||||
@@ -2874,10 +2831,8 @@ html[data-table-density=compact] .mb-item { padding-top: 5px; padding-bottom: 5p
|
||||
html[data-table-density=ultra] .mb-item { padding-top: 3px; padding-bottom: 3px; }
|
||||
html[data-table-density=ultra] .mb-bar { height: 16px; }
|
||||
|
||||
/* initial width of the cache outcome segments (set from JS via CSSOM; inline style attributes are blocked by the CSP) */
|
||||
.cache-mix-hit, .cache-mix-miss, .cache-mix-bypass, .cache-mix-other { width: 0; }
|
||||
|
||||
/* Backends overview: trend charts in the requests, latency and traffic cells */
|
||||
.bo-chartcell { display: flex; align-items: center; justify-content: flex-end; gap: 10px; font: 12px var(--mono); font-variant-numeric: tabular-nums; }
|
||||
.bo-requests .bo-chartcell>span { min-width: 44px; text-align: right; }
|
||||
.bo-spark-bars rect { fill: var(--accent); opacity: .75; }
|
||||
|
||||
Reference in new issue
Block a user