Skip to content

UI overhaul Phase 2b: migrate badge primitives to ui/ (MixDoctor + AnalysisResults) - #168

Merged
slittycode merged 1 commit into
mainfrom
claude/charming-faraday-bcny24
Jun 19, 2026
Merged

UI overhaul Phase 2b: migrate badge primitives to ui/ (MixDoctor + AnalysisResults)#168
slittycode merged 1 commit into
mainfrom
claude/charming-faraday-bcny24

Conversation

@slittycode

Copy link
Copy Markdown
Owner

Phase 2b of the UI overhaul — retire MeasurementPrimitives.tsx (slice 2 of 3)

Follows #167 (Phase 2a). Migrates the badge/chip exports onto ui/Pill, adding two small canonical primitives, and clears two of the three remaining consumers.

Change

  • New ui/DeltaBadge and ui/TokenBadgeList — thin wrappers over ui/Pill on the token palette. The off-palette info/violet/blue/teal tones from the old layer are gone.
  • MixDoctorPanel + AnalysisResults: StatusBadgeui/Pill, DeltaBadgeui/DeltaBadge, TokenBadgeListui/TokenBadgeList. Neither file imports from MeasurementPrimitives anymore.
  • Off-palette tone remaps at the call sites: mutedneutral (genre / instrument / meter chips), violetneutral (production-technique chips).
  • mixDoctorPanel.test.ts: the three badge-color assertions move from StatusBadge's bg-*/10 strings to ui/Pill's bg-*/20.

Deferred to 2c / 2d

MeasurementDashboard (13 StatusBadge, the chordToneForLabel helper — where minor-chord violet becomes neutral with a comment — and OutlinePillButtonButton) lands in 2c; the DAW-lane primitives move into ui/ with tokenized colors in 2d, where MeasurementPrimitives.tsx is deleted.

Verification

  • npm run lint:style
  • npm run lint (tsc --noEmit) ✓
  • npm run test:unit ✓ (830)
  • npm run build

Invariants

Presentation-layer only; no measurement/citation/data-contract surface touched. data-text-role hooks preserved. New primitives ship without speculative API surface (mirror the exact props their call sites use).

🤖 Generated with Claude Code


Generated by Claude Code

…alysisResults)

Second slice of retiring MeasurementPrimitives.tsx. Add two canonical
primitives and migrate two of the three remaining consumers:

- New ui/DeltaBadge and ui/TokenBadgeList, both thin wrappers over ui/Pill
  on the token palette (the off-palette info/violet/blue/teal tones are gone).
- MixDoctorPanel + AnalysisResults: StatusBadge -> ui/Pill, DeltaBadge ->
  ui/DeltaBadge, TokenBadgeList -> ui/TokenBadgeList. Neither file imports
  from MeasurementPrimitives anymore.
- Off-palette tone remaps at the call sites: muted -> neutral (genre /
  instrument / meter chips), violet -> neutral (production-technique chips).
- mixDoctorPanel.test.ts: badge color assertions updated from StatusBadge's
  bg-*/10 strings to ui/Pill's bg-*/20.

MeasurementDashboard (13 StatusBadge, the chord-tone helper, OutlinePillButton)
and the DAW-lane primitives migrate in 2c/2d, where MeasurementPrimitives.tsx
is finally deleted.

Verified: lint:style, tsc --noEmit, 830 unit tests, and the production build
all green.

Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_016to3B8Hf9eAGxAbzpQNvku
@slittycode
slittycode merged commit d66affe into main Jun 19, 2026
5 checks passed
@slittycode
slittycode deleted the claude/charming-faraday-bcny24 branch June 19, 2026 04:16
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