Taste-profile fidelity (M160) + Songs-like row + home polish #109

Merged
bvandeusen merged 22 commits from dev into main 2026-07-14 13:03:12 -04:00
Showing only changes of commit d6ee5a304d - Show all commits
@@ -23,8 +23,12 @@ import com.fabledsword.minstrel.theme.FabledSwordFlatTokens
* ServerImage + fallback structure was identical at all three sites. * ServerImage + fallback structure was identical at all three sites.
* *
* [overlay] is a `BoxScope` slot for things drawn on top of the cover * [overlay] is a `BoxScope` slot for things drawn on top of the cover
* (e.g. the `VariantPill` system-playlist label) — callers can use * (e.g. the `VariantPill` system-playlist label, the play button) —
* `Modifier.align(...)` inside it. * callers can use `Modifier.align(...)` inside it. The overlay sits on
* an outer, UN-clipped box so corner-anchored widgets are not cut off by
* [shape]: a `BottomEnd` play button on a `CircleShape` avatar falls in
* the square's corner, outside the circle, and would otherwise be clipped
* away. Only the artwork + background are clipped to [shape].
*/ */
@Composable @Composable
fun CoverTile( fun CoverTile(
@@ -38,8 +42,12 @@ fun CoverTile(
overlay: @Composable BoxScope.() -> Unit = {}, overlay: @Composable BoxScope.() -> Unit = {},
) { ) {
Box( Box(
modifier = modifier modifier = modifier.size(size),
.size(size) contentAlignment = Alignment.Center,
) {
Box(
modifier = Modifier
.fillMaxSize()
.clip(shape) .clip(shape)
.background(background), .background(background),
contentAlignment = Alignment.Center, contentAlignment = Alignment.Center,
@@ -51,6 +59,7 @@ fun CoverTile(
) { ) {
fallback() fallback()
} }
}
overlay() overlay()
} }
} }