Skip to content

UI overhaul Phase 4a: adopt primitives, drop duplicate Signal Monitor title - #174

Merged
slittycode merged 1 commit into
mainfrom
claude/ui-overhaul-phase4a
Jun 20, 2026
Merged

UI overhaul Phase 4a: adopt primitives, drop duplicate Signal Monitor title#174
slittycode merged 1 commit into
mainfrom
claude/ui-overhaul-phase4a

Conversation

@slittycode

Copy link
Copy Markdown
Owner

Phase 4a — primitive adoption + declutter (no monolith surgery)

First slice of Phase 4 (information hierarchy). These are the self-contained, low-risk items that adopt the shared primitive layer and remove a genuine duplicate, with no edits to the AnalysisResults/App monoliths.

Changes

  • DiagnosticLog: the static accent dot beside System DiagnosticsLedIndicator status="active". Adopts the primitive and gives the panel a live, subtly-pulsing readout instead of a dead dot. Test-safe — it adds led-indicator--active, not the animate-pulse class the skipped-entry test guards.
  • WaveformPlayer: removed the internal "Signal Monitor" header row (title + Activity icon). The parent DeviceRack in App.tsx (name="Signal Monitor", with its own status LED) already titles the panel, so this was a duplicate title. The readiness strip (ONLINE/SYNCING) and the 600 ms hasJustLoaded load-flash are preserved; Activity import dropped as now-unused.
  • Phase2ConsistencyReport: the bespoke <table> → the ui/DataTable primitive, unifying the violations table onto the shared table chrome (header/border/striping). Severity colour preserved via a render fn; the 120-char detail truncation and dev-audience violation filtering are unchanged.

Why this is safe

  • The error-states smoke uses signalPanel.getByText('Signal Monitor').first(), which still resolves to the DeviceRack title (match count drops 2→1).
  • The phase2ConsistencyReport and diagnosticLogUi pinning suites assert on rendered output (<table, text-warning, severity labels, truncation, header counts) — all preserved.

Verification

  • tsc --noEmit clean
  • 830/830 unit tests pass (incl. both pinning suites)
  • vite build OK
  • Net −25 lines

🤖 Generated with Claude Code

https://claude.ai/code/session_016to3B8Hf9eAGxAbzpQNvku


Generated by Claude Code

… title

Self-contained primitive-adoption + declutter, no monolith surgery:

- DiagnosticLog: static accent dot -> LedIndicator(status="active"), a live
  pulsing readout fitting the "System Diagnostics" affordance.
- WaveformPlayer: remove the internal "Signal Monitor" header row. The parent
  DeviceRack (App.tsx) already titles the panel and carries a status LED, so
  the inline title + Activity icon were a duplicate. The readiness strip
  (ONLINE/SYNCING) and 600ms load-flash are preserved.
- Phase2ConsistencyReport: raw <table> -> ui/DataTable, unifying the
  violations table onto the shared table primitive. Severity colour preserved
  via a render fn; truncation and dev-audience filtering unchanged.

Verify: tsc clean; 830/830 unit tests pass (incl. phase2ConsistencyReport +
diagnosticLogUi pinning suites); vite build OK.

Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_016to3B8Hf9eAGxAbzpQNvku
@slittycode
slittycode merged commit 5d286a6 into main Jun 20, 2026
5 checks passed
@slittycode
slittycode deleted the claude/ui-overhaul-phase4a branch June 20, 2026 04:33
slittycode added a commit that referenced this pull request Jun 21, 2026
Past-tense paper trail for the apps/ui design-system overhaul (PRs #165-#174):
typography unified on the --text-* scale, a single ui/ primitive layer with the
duplicate MeasurementPrimitives set deleted, accessibility lifted to WCAG AA, and
a style-discipline CI guard. Records the two planned phases deliberately dropped
as diff-churn (chip declutter, token scales) and the deferred monolith
restyle/split. Adds the matching Contents entry to docs/history/README.md.


Claude-Session: https://claude.ai/code/session_016to3B8Hf9eAGxAbzpQNvku

Co-authored-by: Claude <noreply@anthropic.com>
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants