308202a1df
The MediaCard consolidation in the discovery doc would have needed ~14 props to cover the differentiating bits (wrapping element a vs button, art-shape, art-fallback strategy, click semantics, title align/size, subtitle count). That's a god-prop blob that's harder to reason about than three explicit cards. Narrowed to the actually-drifted bit: the action cluster (LikeButton + Plus + bottom-right menu slot, including the stopPropagation defensive wrappers). One small component covers AlbumCard / ArtistCard / CompactTrackCard so the focus-ring and button-styling drift can't recur. Each card keeps its own data-fetching, art container, and wrapping element since those have load-bearing differences. The consolidation addresses drift, not LOC for its own sake. Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com>