Repository navigation
feat(web): TrackRow on profile Tracks and Reposts behind track_rows - #14685
Merged
Merged
Conversation
|
dylanjeffers
force-pushed
the
design/track-row-feed-profile
branch
from
October 20, 2026 00:14
9a38655 to
f78973c
Compare
dylanjeffers
force-pushed
the
design/track-row
branch
from
October 20, 2026 00:14
9ed0be5 to
3656c5f
Compare
dylanjeffers
force-pushed
the
design/track-row-feed-profile
branch
from
October 20, 2026 00:19
f78973c to
43e9d12
Compare
dylanjeffers
force-pushed
the
design/track-row
branch
from
October 20, 2026 00:19
3656c5f to
4a2fc37
Compare
The profile page passes the row variant to its Tracks and Reposts lineups when the `track_rows` flag is on. `TrackRow` gains an optional `context` line above the row, which the connected row uses to label the artist pick. In row mode the lineup drops the two-column grid it uses for small tiles so rows span the full width. Feed stays on tiles on purpose: a feed item is a post with who reposted it and inline playlists, and the tile carries that better than a row. Co-Authored-By: Claude Fable 5.1 <noreply@anthropic.com>
Reposts mixes playlists into the track lineup. With rows the cards sat flush against the row above; give them a top margin in row layout. Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
dylanjeffers
force-pushed
the
design/track-row-feed-profile
branch
from
October 21, 2026 23:05
43e9d12 to
326e804
Compare
dylanjeffers
added a commit
that referenced
this pull request
Oct 21, 2026
## What Stacked on #14685. Search track results (the Tracks tab and the tracks section of All results) render Harmony `TrackRow` when `track_rows` is on. Default off, no change otherwise. Mobile keeps tiles. The desktop tile spacing styles are skipped in row mode so rows stack flush. ## Collection pages: left as they are The collection page uses `EditAwareTracksTable`, which is already a dense row layout: 48px rows, sortable Added/Plays/Reposts columns, hover-revealed play and actions, and drag reorder plus remove in the owner's edit mode. Replacing it with `TrackRow` would lose sorting and reordering for no density gain. If we want the two to match visually, the follow-up is to restyle the table's row to the TrackRow tokens, not to swap the component. ## Verified - `tsc` and eslint clean for web - Dev server, flag forced on: `/search/tracks?query=lofi` renders 11 rows per screen at full width with artwork, badges, favorites and durations. 🤖 Generated with [Claude Code](https://claude.com/claude-code) --------- Co-authored-by: Claude Fable 5.1 <noreply@anthropic.com>
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
What
Stacked on #14684. The profile page's Tracks and Reposts lineups render Harmony
TrackRowwhentrack_rowsis on. Default off, no change otherwise.TrackRowgets an optionalcontextnode: one 12px line above the row, aligned with the title column, used here for "Artist Pick" with the pin icon. It adds 16px to that row only.TrackRowTiletakesshowArtistPickand fillscontextwhen the track is the owner's pick, matching the tile's label.TrackLineupno longer applies the two-column grid container in row mode (profile Tracks usesLineupVariant.GRIDfor small tiles; rows span the column).ProfilePage(desktop) reads the flag and passestileVariantto the artist Tracks lineup, the artist Reposts lineup and the user Reposts lineup.Feed is intentionally left on tiles
A feed item is a post: who reposted it, inline playlists, comment activity. The tile carries that; a 56px row would strip it. Rows are for catalog surfaces (Trending, profiles, search, collections). Keeping Feed on tiles also leaves a control surface for reading the row experiment.
Verified
tscclean for harmony and web; eslint clean🤖 Generated with Claude Code