From 3cf5b368dd6e57dab48a8858fb25767f616a8df4 Mon Sep 17 00:00:00 2001 From: Claude Date: Tue, 19 May 2026 19:48:41 +0000 Subject: [PATCH] =?UTF-8?q?feat(ui):=20port=20v2=20redesign=20bundle=20?= =?UTF-8?q?=E2=80=94=20AttentionHero,=20HostPanel,=20KpiStrip,=20ServiceTi?= =?UTF-8?q?le=20v2?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Ports the design handoff bundle (handoff/reference/v2/) into the live frontend. Markup structure and CSS class names are copied 1:1; component logic stays wired to the existing API / polling architecture. Tokens (frontend/src/styles/tokens.css) - Deeper surface stack (bg-0/1, surface-1..4) and tighter borders. - New: --grad-hero, --shadow-2, --shadow-pop, --ring-focus, --r-5, --t-med / --t-slow easing curves. - Type pills, reach pills, status dots match the design palette. - Light theme + density-cozy variant + data-reduce-motion override retained. Layout (frontend/src/styles/layout.css) - Full rewrite to the design's 12-col `.dash-main` grid. - New: `.attention` (320px + 1fr), `.host-panel` (8-col, 3-col inner), `.quick-stats` (4-col, holds KpiStrip + Activity), `.kpi`, `.kpi-strip`, `.activity-row` with dashed-bottom rows, `.svc-tile` with the new 4-row grid + status-color left-rule + status-tinted background. - VM table sticky header + `.attn` / `.warn-row` row tinting. - 1100px breakpoint collapses to 6-col, 700px to single-col with drawer becoming full-screen. Layout-extra (NEW frontend/src/styles/layout-extra.css) - `.grid-12` / `.col-N` helpers (used inside Network/Backup/Cloudflare). - KV-stack, mini-table, device-card, port-grid, vlan-list. - Backup heatmap (`.day-grid`, `.day-cell.{ok,half,fail}`), job-table. - DNS-list, settings-nav, settings-row, seg-control, native-style switch. - Drawer: backdrop, slide-in, `.drawer-summary` 4-col, `.drawer-section`, `.drawer-chart`, `.probe-history` heatmap, `.log-pre`, `.drawer-foot`. Components - Header — single-row global-status pill ("X kritisches Issue · Y degraded"), segmented hdr-group (refresh / pause / snapshot), theme + settings icons, removes the lastRefresh/StatusHistory crumb (moved into the Activity feed). - AttentionHero (NEW) — 320px Health-Score card + alerts-list. Derives health from svc/ram/cpu/cert/backup signals client-side. Each alert is a button that opens the matching drawer. - HostPanel (NEW) — 3-col grid: CPU (TrendBars), RAM (StackedBar by guest + legend), Disk (TrendBars). Header carries online badge, temp, disks-passed. - KpiStrip (NEW) — 4 KPIs: Container Up · Services Healthy · Avg Response (with a sparkline of the worst offender) · SLA 30d. - ServiceGrid — ServiceTileV2 markup: status-tinted bg, peach status-rail, 3-col stats (Response / p95·24h / Uptime·30d) with dashed dividers, reach pills LEFT, "letzter Vorfall" RIGHT (was reversed). - VMTable — switched section wrapper to `.vm-section` + `.dash-section-head` + `.vm-table-wrap` to pick up the new sticky-header + row-tinting styles. - NetworkPanel / BackupsSection / CloudflareSection — section wrappers renamed to `.network-section` / `.backup-section` / `.cloudflare-section` + `.dash-section-head` so they sit cleanly in the 12-col main grid. - SettingsPage — 2-col flat layout (3+9 inside dash-main). Native `