feat(ui): auto-refresh overview/modules, quick config, HW re-probe, link-tile layout; deploy: npm ci+build, restart live-console

Made-with: Cursor
This commit is contained in:
eric
2026-03-28 12:32:20 -05:00
parent d9eceb2169
commit ec5dc7f31e
3 changed files with 272 additions and 101 deletions

View File

@@ -64,6 +64,161 @@ html[data-theme="light"] .chart-surface {
background: var(--bg-card);
backdrop-filter: blur(20px);
-webkit-backdrop-filter: blur(20px);
transition: border-color 0.25s ease, box-shadow 0.25s ease, background 0.25s ease;
}
html[data-theme="light"] .glass {
@apply border-slate-200/90 shadow-slate-400/15;
}
.section-title {
@apply text-lg font-semibold tracking-tight;
color: var(--text);
}
.section-lead {
@apply mt-2 text-xs leading-relaxed;
color: var(--muted);
}
.meta-chip {
@apply rounded-2xl border px-4 py-3 text-xs font-mono leading-relaxed;
border-color: rgb(255 255 255 / 0.1);
background: rgb(0 0 0 / 0.22);
color: var(--muted);
}
html[data-theme="light"] .meta-chip {
border-color: rgb(226 232 240 / 0.95);
background: rgb(255 255 255 / 0.72);
color: var(--muted);
}
.tab-strip {
@apply -mx-1 flex gap-2 overflow-x-auto pb-1.5 pt-0.5 md:flex-wrap md:overflow-visible;
scroll-snap-type: x proximity;
-webkit-overflow-scrolling: touch;
}
.tab-btn {
@apply btn-focus shrink-0 snap-start rounded-2xl border px-4 py-2.5 text-sm font-medium transition-colors duration-200;
border-color: rgb(255 255 255 / 0.12);
background: rgb(0 0 0 / 0.22);
color: rgb(203 213 225);
}
.tab-btn:hover {
border-color: rgb(34 211 238 / 0.25);
color: rgb(226 232 240);
}
.tab-btn-active {
border-color: rgb(34 211 238 / 0.45) !important;
background: rgb(34 211 238 / 0.12) !important;
color: rgb(207 250 254) !important;
}
html[data-theme="light"] .tab-btn {
border-color: rgb(226 232 240);
background: rgb(255 255 255 / 0.75);
color: rgb(71 85 105);
}
html[data-theme="light"] .tab-btn:hover {
border-color: rgb(6 182 212 / 0.45);
color: rgb(15 118 110);
}
html[data-theme="light"] .tab-btn-active {
border-color: rgb(6 182 212 / 0.55) !important;
background: rgb(207 250 254 / 0.55) !important;
color: rgb(14 116 144) !important;
}
.link-tile {
@apply btn-focus block rounded-2xl border px-4 py-2.5 text-sm font-medium transition-colors duration-200;
border-color: rgb(255 255 255 / 0.1);
background: rgb(0 0 0 / 0.2);
color: rgb(241 245 249);
}
.link-tile:hover {
border-color: rgb(34 211 238 / 0.35);
}
html[data-theme="light"] .link-tile {
border-color: rgb(226 232 240);
background: rgb(255 255 255 / 0.65);
color: rgb(30 41 59);
}
.link-tile-accent {
border-color: rgb(34 211 238 / 0.28);
background: rgb(34 211 238 / 0.1);
color: rgb(236 254 255);
}
.link-tile-accent:hover {
border-color: rgb(34 211 238 / 0.55);
}
html[data-theme="light"] .link-tile-accent {
border-color: rgb(6 182 212 / 0.35);
background: rgb(207 250 254 / 0.65);
color: rgb(14 116 144);
}
.link-tile-warn {
border-color: rgb(251 191 36 / 0.25);
background: rgb(251 191 36 / 0.1);
color: rgb(254 252 232);
}
html[data-theme="light"] .link-tile-warn {
border-color: rgb(251 191 36 / 0.45);
background: rgb(254 252 232 / 0.9);
color: rgb(120 53 15);
}
.service-card {
@apply rounded-3xl border p-5 transition-shadow duration-200;
border-color: rgb(255 255 255 / 0.08);
background: rgb(0 0 0 / 0.2);
}
.service-card:hover {
box-shadow: 0 12px 40px -24px rgb(34 211 238 / 0.35);
}
html[data-theme="light"] .service-card {
border-color: rgb(226 232 240 / 0.95);
background: rgb(255 255 255 / 0.55);
}
.panel-inset {
@apply rounded-2xl border p-4 text-sm;
border-color: rgb(255 255 255 / 0.08);
background: rgb(0 0 0 / 0.2);
color: rgb(203 213 225);
}
html[data-theme="light"] .panel-inset {
border-color: rgb(226 232 240 / 0.85);
background: rgb(255 255 255 / 0.5);
color: rgb(51 65 85);
}
.field-select {
@apply w-full rounded-2xl border px-4 py-3 text-sm outline-none transition;
border-color: rgb(255 255 255 / 0.12);
background: rgb(2 6 23 / 0.55);
color: rgb(248 250 252);
}
html[data-theme="light"] .field-select {
border-color: rgb(226 232 240);
background: rgb(255 255 255 / 0.9);
color: rgb(15 23 42);
}
.glow-text {