From 0bb7f684ba647579d7a0f581d16718c0685727fe Mon Sep 17 00:00:00 2001 From: austinried <4966622+austinried@users.noreply.github.com> Date: Sat, 3 Oct 2026 03:09:32 +0000 Subject: [PATCH] home: align the starred song rows with the image rows --- .../kotlin/com/subtracks/ui/home/HomeScreen.kt | 14 ++++++++++---- 1 file changed, 10 insertions(+), 4 deletions(-) diff --git a/app/src/main/kotlin/com/subtracks/ui/home/HomeScreen.kt b/app/src/main/kotlin/com/subtracks/ui/home/HomeScreen.kt index 3ad79bd2..c72bed9b 100644 --- a/app/src/main/kotlin/com/subtracks/ui/home/HomeScreen.kt +++ b/app/src/main/kotlin/com/subtracks/ui/home/HomeScreen.kt @@ -10,6 +10,7 @@ import androidx.compose.foundation.layout.Spacer import androidx.compose.foundation.layout.fillMaxSize import androidx.compose.foundation.layout.fillMaxWidth import androidx.compose.foundation.layout.height +import androidx.compose.foundation.layout.offset import androidx.compose.foundation.layout.padding import androidx.compose.foundation.layout.size import androidx.compose.foundation.layout.width @@ -270,6 +271,7 @@ private val TILE_SIZE = 132.dp private val ARTIST_TILE_SIZE = 104.dp private val TILE_SPACING = 8.dp private val ARTIST_SPACING = 16.dp +private val STARRED_ROW_PULL = 4.dp private const val GENRE_ROWS = 3 private fun LazyListScope.albumRow( @@ -408,10 +410,14 @@ private fun LazyListScope.starredSongs( isPlaying = item.song.id == playingSongId, durationSeconds = item.song.duration, modifier = - Modifier.combinedClickable( - onClick = { onPlayStarred(item.song) }, - onLongClick = { onLongClick(MenuTarget.Song(item.song, coverArt(item.coverArt, true))) }, - ), + Modifier + // ListItem centres its content inside a 72dp minimum height; pull the row up so + // the cover aligns with the flush album and artist rows above it. + .offset(y = -STARRED_ROW_PULL) + .combinedClickable( + onClick = { onPlayStarred(item.song) }, + onLongClick = { onLongClick(MenuTarget.Song(item.song, coverArt(item.coverArt, true))) }, + ), ) } }