feat: tune visual of web app admin panel

This commit is contained in:
3252a8
2026-05-12 09:59:15 +03:00
parent fe976022ec
commit c8d4b3565c
8 changed files with 766 additions and 91 deletions
+143 -36
View File
@@ -588,61 +588,168 @@
white-space: nowrap;
}
.admin-dashboard-panel-card {
border: 1px solid var(--admin-border);
background: var(--admin-card-bg);
border-radius: 12px;
box-shadow: var(--admin-card-shadow);
padding: 16px 18px;
.admin-panel-dash-card {
padding-top: 14px;
padding-bottom: 14px;
}
.admin-panel-dash {
display: grid;
gap: 14px;
gap: 18px;
min-width: 0;
}
.admin-dashboard-panel-metrics {
display: flex;
flex-wrap: wrap;
gap: 12px 20px;
.admin-panel-dash-tiles {
display: grid;
gap: 10px;
grid-template-columns: repeat(auto-fit, minmax(148px, 1fr));
padding: 12px;
border-radius: 12px;
border: 1px solid var(--admin-border);
background: color-mix(in srgb, var(--admin-bg) 65%, var(--admin-surface-2));
}
.admin-dashboard-panel-metric {
display: flex;
flex-direction: column;
gap: 2px;
.admin-panel-dash-tile {
display: grid;
gap: 6px;
padding: 12px 12px 11px;
border-radius: 10px;
border: 1px solid color-mix(in srgb, var(--admin-border) 85%, transparent);
background: color-mix(in srgb, var(--admin-surface) 92%, var(--admin-bg));
min-width: 0;
}
.admin-dashboard-panel-metric strong {
font-size: 18px;
font-weight: 700;
color: var(--admin-text);
letter-spacing: -0.02em;
.admin-panel-dash-tile--wide {
grid-column: 1 / -1;
}
.admin-dashboard-panel-metric span {
.admin-panel-dash-tile-label {
display: flex;
align-items: center;
gap: 6px;
font-size: 11px;
font-weight: 600;
text-transform: uppercase;
letter-spacing: 0.04em;
text-transform: uppercase;
color: var(--admin-muted);
min-width: 0;
}
.admin-panel-dash-ico {
display: inline-flex;
color: color-mix(in srgb, var(--accent) 82%, var(--admin-muted));
flex-shrink: 0;
}
.admin-panel-dash-ico :global(svg) {
display: block;
}
.admin-panel-dash-tile-value {
font-size: 22px;
font-weight: 700;
letter-spacing: -0.03em;
line-height: 1.1;
color: color-mix(in srgb, var(--accent) 22%, var(--admin-text));
font-variant-numeric: tabular-nums;
min-width: 0;
overflow: hidden;
text-overflow: ellipsis;
white-space: nowrap;
}
.admin-panel-dash-tile-value--sm {
font-size: 16px;
font-weight: 650;
white-space: normal;
line-height: 1.25;
}
.admin-panel-dash-nodes {
display: grid;
gap: 10px;
min-width: 0;
}
.admin-panel-dash-nodes-head {
display: grid;
gap: 4px;
padding: 0 2px;
}
.admin-panel-dash-nodes-title {
margin: 0;
font-size: 12px;
font-weight: 700;
letter-spacing: 0.05em;
text-transform: uppercase;
color: var(--admin-text);
}
.admin-panel-dash-nodes-hint {
margin: 0;
font-size: 11px;
line-height: 1.35;
color: var(--admin-muted);
}
.admin-dashboard-panel-bandwidth {
display: flex;
flex-wrap: wrap;
gap: 8px 16px;
.admin-panel-dash-nodes-grid {
display: grid;
gap: 8px;
grid-template-columns: repeat(auto-fit, minmax(160px, 1fr));
max-height: 240px;
overflow-y: auto;
padding: 10px;
border-radius: 12px;
border: 1px solid var(--admin-border);
background: color-mix(in srgb, var(--admin-bg) 65%, var(--admin-surface-2));
}
.admin-panel-dash-node {
display: grid;
gap: 4px;
padding: 10px 11px;
border-radius: 10px;
border: 1px solid color-mix(in srgb, var(--admin-border) 85%, transparent);
background: color-mix(in srgb, var(--admin-surface) 92%, var(--admin-bg));
min-width: 0;
}
.admin-panel-dash-node-name {
font-size: 12px;
font-weight: 600;
color: var(--admin-muted);
overflow: hidden;
text-overflow: ellipsis;
white-space: nowrap;
}
.admin-panel-dash-node-value {
font-size: 15px;
font-weight: 700;
color: color-mix(in srgb, var(--accent) 28%, var(--admin-text));
font-variant-numeric: tabular-nums;
}
.admin-panel-dash-node-meta {
font-size: 11px;
font-weight: 600;
color: var(--admin-muted);
font-variant-numeric: tabular-nums;
}
.admin-panel-dash-nodes-more {
margin: 0;
font-size: 11px;
color: var(--admin-muted);
padding: 0 4px;
}
.admin-panel-dash-nodes-empty {
margin: 0;
font-size: 12px;
color: var(--admin-muted);
}
.admin-dashboard-panel-bandwidth dt {
font-weight: 600;
color: var(--admin-text);
margin: 0;
}
.admin-dashboard-panel-bandwidth dd {
margin: 0;
padding: 8px 4px 0;
}
.admin-sync-strip {