v0.32.6_fix1

This commit is contained in:
Mateusz Gruszczyński committed 2026-10-14 08:19:09 +02:00
1 parent a3d183bd4b
commit e3de084149
34 files changed
+559 -85

No files matched your search

+60 -9
View File
@@ -10399,9 +10399,11 @@ html[data-chart-style] :is(#workspace, dialog) svg polyline {
#panel-overview .dashboard-overview-grid > .stat { grid-column: span 1; }
#panel-overview .dashboard-overview-grid > .card:not(.pool-card) { grid-column: 1 / -1; }
}
/* Even before the aligned layout script starts, phone-width Overview tiles
stay in two columns. A late 1-to-2-column switch can shift scroll position. */
@media (max-width: 550px) {
#panel-overview .dashboard-overview-grid { grid-template-columns: minmax(0, 1fr); }
#panel-overview .dashboard-overview-grid > .stat { grid-column: 1; }
#panel-overview .dashboard-overview-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); }
#panel-overview .dashboard-overview-grid > .stat { grid-column: auto / span 1; }
}
.overview-layout-tile.is-panel { grid-column: span 2; }
.overview-layout-grid .overview-layout-panel-preview {
@@ -10583,6 +10585,9 @@ html[data-chart-style] :is(#workspace, dialog) svg polyline {
#panel-overview .dashboard-overview-grid.is-aligned.stats-grid {
gap: var(--overview-gap);
}
/* Live metric text can change while the user scrolls; do not allow the
browser to re-anchor an entire dashboard against these changing values. */
#panel-overview .dashboard-overview-grid.is-aligned { overflow-anchor: none; }
#panel-overview .dashboard-overview-grid.is-aligned > [data-dashboard-widget] {
grid-column: auto / span 2;
grid-row: auto;
@@ -10609,13 +10614,28 @@ html[data-chart-style] :is(#workspace, dialog) svg polyline {
}
@container overview-canvas (max-width: 700px) {
#panel-overview .dashboard-overview-grid.is-aligned { grid-template-columns: repeat(2, minmax(0, 1fr)); }
#panel-overview .dashboard-overview-grid.is-aligned > [data-dashboard-widget].stat { grid-column: auto / span 1; }
#panel-overview .dashboard-overview-grid.is-aligned > [data-dashboard-widget].stat {
grid-column: auto / span 1;
touch-action: pan-y pinch-zoom;
overflow-wrap: anywhere;
}
/* The WebSocket tunnel action is absolutely positioned on desktop. In a
half-width phone tile it overlaps the label and value unless it flows. */
#panel-overview .dashboard-overview-grid.is-aligned > .stat.stat-with-action { padding-right: 11px; }
#panel-overview .dashboard-overview-grid.is-aligned .stat-with-action .stat-corner-action {
position: static;
display: block;
width: max-content;
max-width: 100%;
margin: 6px 0 0;
white-space: normal;
}
html[data-dashboard-density="normal"] #panel-overview .dashboard-overview-grid.is-aligned > .stat strong,
html[data-dashboard-density="compact"] #panel-overview .dashboard-overview-grid.is-aligned > .stat strong {
font-size: clamp(18px, 5.5vw, 25px);
}
#panel-overview .dashboard-overview-grid.is-aligned > .card:not(.pool-card) { grid-column: 1 / -1; }
}
@container overview-canvas (max-width: 440px) {
#panel-overview .dashboard-overview-grid.is-aligned { grid-template-columns: minmax(0, 1fr); }
#panel-overview .dashboard-overview-grid.is-aligned > [data-dashboard-widget].stat { grid-column: 1; }
}
/* Keep category boundaries intact at every responsive breakpoint. */
#panel-overview .dashboard-overview-grid.is-aligned > [data-dashboard-widget].overview-row-start { grid-column-start: 1; }
@@ -10691,8 +10711,10 @@ html[data-corner-style="extra"] { --rp-radius-surface: 18px; --rp-radius-control
html:is([data-corner-style="square"], [data-corner-style="subtle"], [data-corner-style="rounded"], [data-corner-style="extra"]) :is(
.card, .stat, dialog, .login-card, .appearance-section, .settings-tabs,
.dashboard-widget-setting, .overview-layout-tile, .overview-layout-hidden-item,
.overview-inline-hidden-item, .notice, .toast,
.chart-style-choice, .stream-dashboard-card, .pool-card,
.overview-inline-hidden-item, .overview-inline-hidden, .notice, .toast,
.chart-style-choice, .stream-dashboard-card, .pool-card, .vhost-card,
.vhost-backend-protocol-badge, .vh-backend-card, .entity, .settings-filter-row,
.stream-backend-row,
.file-log-advanced-parser, .table-container, .metric-info-popover
) { border-radius: var(--rp-radius-surface) !important; }
html:is([data-corner-style="square"], [data-corner-style="subtle"], [data-corner-style="rounded"], [data-corner-style="extra"]) :is(
@@ -10708,3 +10730,32 @@ html:is([data-corner-style="square"], [data-corner-style="subtle"], [data-corner
/* ACL DDNS input: keep the rule type separate from its hostname. */
.acl-profile-rule { grid-template-columns: minmax(100px, .6fr) minmax(105px, .6fr) minmax(175px, 1.5fr) auto; }
@media (max-width: 640px) { .acl-profile-rule { grid-template-columns: 1fr; } }
/* Latest HTTP version observed on a real request to each configured origin.
A badge without an observation must not claim that Auto selected H1 or H2. */
.vhost-backend-protocols {
display: flex;
flex-wrap: wrap;
align-items: center;
gap: 5px;
min-width: 0;
margin: 8px 0;
}
.vhost-backend-protocol-badge {
display: inline-flex;
gap: 4px;
align-items: baseline;
max-width: 100%;
min-width: 0;
border: 1px solid var(--pill-line);
background: var(--panel2);
color: var(--muted);
border-radius: 4px;
padding: 3px 7px;
font: 10px var(--mono);
overflow-wrap: anywhere;
}
.vhost-backend-protocol-badge[data-observed="true"] {
color: var(--green);
border-color: var(--pill-live-line);
}