Improve container details UX, dashboard shortcuts, and RPC rate limits.
Release rolling / release (push) Successful in 8m38s
Release rolling / release (push) Successful in 8m38s
Tighten container detail tabs into a fit-to-viewport layout with a richer overview, debounced process filters, and a readable process table. Make dashboard KPI cards navigate to resource views (with status filters that reset on leave), and raise per-peer RPC limits so normal UI polling no longer trips rate limiting.
This commit is contained in:
+121
-1
@@ -819,6 +819,60 @@ body {
|
||||
display: none !important;
|
||||
}
|
||||
|
||||
/* Container details — fit-to-viewport shell (no wasted chrome / double scroll) */
|
||||
#container-details-view.view {
|
||||
display: flex !important;
|
||||
flex-direction: column;
|
||||
overflow: hidden !important;
|
||||
height: 100% !important;
|
||||
max-height: 100%;
|
||||
min-height: 0;
|
||||
padding: 12px 16px 10px !important;
|
||||
}
|
||||
|
||||
#container-details-view.hidden {
|
||||
display: none !important;
|
||||
}
|
||||
|
||||
#container-details-view > .container-details-layout {
|
||||
flex: 1 1 auto;
|
||||
min-height: 0;
|
||||
height: 100%;
|
||||
max-height: 100%;
|
||||
display: flex;
|
||||
flex-direction: column;
|
||||
overflow: hidden;
|
||||
padding-left: 0 !important;
|
||||
padding-right: 0 !important;
|
||||
padding-bottom: 0 !important;
|
||||
box-sizing: border-box;
|
||||
}
|
||||
|
||||
#container-details-view .container-details-tab-content {
|
||||
flex: 1 1 auto;
|
||||
min-height: 0;
|
||||
overflow: hidden;
|
||||
}
|
||||
|
||||
#container-details-view .detail-fill-panel,
|
||||
#container-details-view #logs-pane > .detail-fill-panel,
|
||||
#container-details-view #terminal-pane > .detail-fill-panel {
|
||||
min-height: 0;
|
||||
flex: 1 1 auto;
|
||||
}
|
||||
|
||||
#container-details-view .logs-container,
|
||||
#container-details-view .terminal-container-wrapper {
|
||||
min-height: 0;
|
||||
max-height: none !important;
|
||||
height: auto !important;
|
||||
}
|
||||
|
||||
#container-details-view .stat-card:hover,
|
||||
#container-details-view .info-card:hover {
|
||||
transform: none;
|
||||
}
|
||||
|
||||
#dashboard-view .dashboard-layout.dash {
|
||||
flex: 1 1 auto;
|
||||
min-height: 0;
|
||||
@@ -945,7 +999,31 @@ body {
|
||||
linear-gradient(145deg, rgba(26, 34, 46, 0.95), rgba(15, 19, 26, 0.9));
|
||||
box-shadow: 0 8px 24px rgba(0, 0, 0, 0.22);
|
||||
overflow: hidden;
|
||||
transition: border-color 0.18s ease, box-shadow 0.18s ease;
|
||||
transition: border-color 0.18s ease, box-shadow 0.18s ease, transform 0.15s ease;
|
||||
/* reset button styles when KPIs are interactive */
|
||||
color: inherit;
|
||||
font: inherit;
|
||||
text-align: left;
|
||||
width: 100%;
|
||||
margin: 0;
|
||||
appearance: none;
|
||||
-webkit-appearance: none;
|
||||
}
|
||||
|
||||
.dash-kpi--link {
|
||||
cursor: pointer;
|
||||
}
|
||||
|
||||
.dash-kpi--link:hover {
|
||||
border-color: rgba(52, 211, 153, 0.28);
|
||||
box-shadow: 0 10px 28px rgba(0, 0, 0, 0.28), 0 0 0 1px rgba(52, 211, 153, 0.08);
|
||||
transform: translateY(-1px);
|
||||
}
|
||||
|
||||
.dash-kpi--link:focus-visible {
|
||||
outline: none;
|
||||
border-color: var(--accent-primary);
|
||||
box-shadow: 0 0 0 3px rgba(45, 212, 191, 0.2), 0 10px 28px rgba(0, 0, 0, 0.28);
|
||||
}
|
||||
|
||||
.dash-kpi:hover {
|
||||
@@ -1907,6 +1985,48 @@ textarea::placeholder {
|
||||
overflow-y: visible;
|
||||
}
|
||||
|
||||
/* Processes tab: allow vertical scroll inside the fill panel */
|
||||
#container-details-view #container-top-content.table-responsive {
|
||||
overflow-y: auto !important;
|
||||
overflow-x: hidden !important;
|
||||
flex: 1 1 auto;
|
||||
min-height: 0;
|
||||
}
|
||||
|
||||
/* Process table: keep real table layout; no ellipsis on values */
|
||||
#container-details-view .procs-table {
|
||||
table-layout: fixed !important;
|
||||
width: 100% !important;
|
||||
}
|
||||
|
||||
#container-details-view .procs-table th,
|
||||
#container-details-view .procs-table td {
|
||||
display: table-cell !important;
|
||||
overflow: visible !important;
|
||||
text-overflow: clip !important;
|
||||
max-width: none;
|
||||
}
|
||||
|
||||
#container-details-view .procs-table td code {
|
||||
display: inline !important;
|
||||
max-width: none !important;
|
||||
overflow: visible !important;
|
||||
text-overflow: clip !important;
|
||||
white-space: inherit !important;
|
||||
}
|
||||
|
||||
#container-details-view .procs-table td.procs-td-cmd {
|
||||
white-space: normal !important;
|
||||
word-break: break-word !important;
|
||||
overflow-wrap: anywhere !important;
|
||||
}
|
||||
|
||||
#container-details-view .procs-table td.procs-td-cmd code {
|
||||
white-space: pre-wrap !important;
|
||||
word-break: break-word !important;
|
||||
overflow-wrap: anywhere !important;
|
||||
}
|
||||
|
||||
.view .table-responsive > .table,
|
||||
.view table.table {
|
||||
width: 100% !important;
|
||||
|
||||
+12
-6
@@ -521,7 +521,7 @@ kbd {
|
||||
align-items: center;
|
||||
}
|
||||
|
||||
/* xterm / logs production layout */
|
||||
/* xterm / logs production layout — fill parent, no fixed vh that forces page scroll */
|
||||
.xterm-host,
|
||||
.terminal-xterm-container,
|
||||
#container-terminal-xterm,
|
||||
@@ -529,19 +529,25 @@ kbd {
|
||||
#docker-terminal-container {
|
||||
width: 100%;
|
||||
height: 100%;
|
||||
min-height: 0;
|
||||
}
|
||||
|
||||
#terminal-container,
|
||||
#docker-terminal-container {
|
||||
min-height: 280px;
|
||||
}
|
||||
|
||||
.terminal-container-wrapper {
|
||||
display: flex;
|
||||
flex-direction: column;
|
||||
min-height: 360px;
|
||||
height: calc(100vh - 320px);
|
||||
max-height: 70vh;
|
||||
flex: 1 1 auto;
|
||||
min-height: 180px;
|
||||
height: auto;
|
||||
max-height: none;
|
||||
background: #0b0f14;
|
||||
border-radius: 10px;
|
||||
border-radius: 0 0 10px 10px;
|
||||
overflow: hidden;
|
||||
border: 1px solid rgba(255, 255, 255, 0.08);
|
||||
border: none;
|
||||
}
|
||||
|
||||
#container-terminal-xterm {
|
||||
|
||||
+1089
-9
File diff suppressed because it is too large
Load Diff
Reference in New Issue
Block a user