Skip to content

feat: port full UI mockup redesign (capa3 structure) #132

Description

@gnacho

Port the full redesigned UI mockup (the "capa3" structure layer) on top of the theme engine already merged (#130/#131).

Context

The mockup redesign was validated in a local demo (DEMO=1). This adds the structural layer that was missing beyond the theme skins:

  • Backend (internal/httpapi/system.go): /api/version now exposes (best-effort, omitted if unreadable) load1/5/15 (/proc/loadavg), mem_total_bytes/mem_avail_bytes (/proc/meminfo), arc_hit_pct/arc_size_bytes (/proc/spl/kstat/zfs/arcstats).
  • Sidebar: system stats block (UPTIME, LOAD 1/5/15, daemon+system RAM with mini-bar, ARC HIT), refreshed every 30s, degrades gracefully.
  • Badge LIVE with pulsing dot next to the clock.
  • Full-width pool cards (fixed the !important forcing 2 columns at >=1500px): status LED header, mono topology, big used/total+%, 10px segbar, mono metadata, vdev rows with LED/role/temp, hairline-separated actions row.
  • Dashboard: LEDs on KPI cards; two-column grid with disk temps (LED+mini-bar) and event log (mono timestamp + message); alerts full-width on top.
  • Datasets: LED column (green/amber locked-encryption/cyan zvol), tree glyphs (├─/└─), mountpoint column.
  • Disks / Tasks / Snapshots: status LEDs in rows, jobs, timers, history, snapshot groups.
  • Theme overrides per family (square LEDs + glow in Phosphor/Brutalist, hard borders in Brutalist).

Acceptance criteria

  • go build ./... and go test ./... pass.
  • npm run build (web) passes.
  • Demo works in DEMO=1 mode ("Enter demo mode").
  • Classic theme stays pixel-for-pixel unchanged.
  • No data/preference migration.

Notes

  • Boot CRT and ticker are intentionally NOT included (kept out of production).
  • Classic remains optional; Modern stays default.

Activity

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Projects

    No projects

      Milestone

      No milestone

      Relationships

      None yet

      Development

      No branches or pull requests

      Issue actions