Skip to content

SwiftUI player screen ("None") parity with skinned player #112

@LeoHChen

Description

@LeoHChen

The skinned player ( + "SkinnedMainView" + ) is more polished than the default SwiftUI player ("None" skin option). Bring the SwiftUI player to parity. One issue, checklist of items, one PR per item is fine — but they should ship as a coordinated set under this issue.

Gap checklist

  • Control alignment — transport row spacing, vertical alignment of play/pause vs. prev/next, balance against the visualizer block above.
  • Time / elapsed readout typography — should use + "WinampTheme.lcdFont(size:)" + with proper glow, matching the skinned player's LCD feel. Currently a system monospaced font in places.
  • Visualizer header chrome — the band above the visualizer (track title, Smart Play indicator, mode label) lacks the bevel/inset treatment the skinned player uses. Apply + ".bevelPanel" + / + ".lcdPanel" + consistently.
  • Transport-button hit targets — verify all controls meet at least 44pt; the previous EQ-picker fix (Make EQ preset picker easier to tap and quicker to commit (closes #83) #87) had a similar problem. Audit each button.
  • Scrubber affordance — the SwiftUI scrubber lacks the visual feedback the skinned scrubber has on touch-down. Add a thumb-grow or glow on active drag.
  • Missing-titles fallback — verify the SwiftUI player respects the same fallback chain as + "Track.displayTitle / displayArtist / displayAlbum" + (per CLAUDE.md). The chrome-bar work in Chrome bar consistency, missing titles, drive Reload #67 handled this for the bar but the SwiftUI full-screen player needs a recheck.
  • EQ access from the player — direct path from the SwiftUI player to the EQ sheet, matching the affordance the skinned player provides. Currently the user has to back out to find it.

Acceptance

  • Every checklist item ticked, with a before/after screenshot in the PR(s).
  • Designer agent confirms parity. Same visual rhythm as the skinned player when toggling between the two.
  • No regression in the skinned player.

Related

Metadata

Metadata

Assignees

No one assigned

    Labels

    designVisual design, theming, iconographyenhancementNew feature or requestuxUser experience, layout, interaction flow

    Projects

    No projects

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions