From 4f6a292e7469448c9be776edb04679d5074c926b Mon Sep 17 00:00:00 2001 From: austinried <4966622+austinried@users.noreply.github.com> Date: Mon, 19 Oct 2026 04:49:33 +0000 Subject: [PATCH] ui: style artist section headers like album disc titles Use the same uppercase label-large semibold text with letter spacing as the disc headers on the album screen. --- .../com/subtracks/ui/library/ArtistDetailScreen.kt | 8 ++++++-- .../com/subtracks/ui/library/ArtistDetailScreenTest.kt | 10 +++++----- 2 files changed, 11 insertions(+), 7 deletions(-) diff --git a/app/src/main/kotlin/com/subtracks/ui/library/ArtistDetailScreen.kt b/app/src/main/kotlin/com/subtracks/ui/library/ArtistDetailScreen.kt index 346f0c4a..547ea01c 100644 --- a/app/src/main/kotlin/com/subtracks/ui/library/ArtistDetailScreen.kt +++ b/app/src/main/kotlin/com/subtracks/ui/library/ArtistDetailScreen.kt @@ -72,10 +72,12 @@ import androidx.compose.ui.res.stringResource import androidx.compose.ui.text.AnnotatedString import androidx.compose.ui.text.TextMeasurer import androidx.compose.ui.text.TextStyle +import androidx.compose.ui.text.font.FontWeight import androidx.compose.ui.text.rememberTextMeasurer import androidx.compose.ui.text.style.TextOverflow import androidx.compose.ui.unit.Dp import androidx.compose.ui.unit.dp +import androidx.compose.ui.unit.sp import androidx.lifecycle.compose.collectAsStateWithLifecycle import com.subtracks.R import com.subtracks.data.model.Album @@ -493,8 +495,10 @@ private fun ArtistSectionHeader( verticalAlignment = Alignment.CenterVertically, ) { Text( - text = text, - style = MaterialTheme.typography.titleMedium, + text = text.uppercase(), + style = MaterialTheme.typography.labelLarge, + fontWeight = FontWeight.SemiBold, + letterSpacing = 1.sp, color = MaterialTheme.colorScheme.onSurfaceVariant, modifier = Modifier.weight(1f), ) diff --git a/app/src/test/kotlin/com/subtracks/ui/library/ArtistDetailScreenTest.kt b/app/src/test/kotlin/com/subtracks/ui/library/ArtistDetailScreenTest.kt index 7d9ed8c4..2adc0743 100644 --- a/app/src/test/kotlin/com/subtracks/ui/library/ArtistDetailScreenTest.kt +++ b/app/src/test/kotlin/com/subtracks/ui/library/ArtistDetailScreenTest.kt @@ -70,7 +70,7 @@ class ArtistDetailScreenTest { ) composeRule.onNodeWithText("Album artist · 1 album").assertExists() - composeRule.onNode(hasScrollAction()).performScrollToNode(hasText("Albums")) + composeRule.onNode(hasScrollAction()).performScrollToNode(hasText("ALBUMS")) composeRule.onNodeWithContentDescription("More options").assertExists() } @@ -88,12 +88,12 @@ class ArtistDetailScreenTest { composeRule.onNodeWithText("Album artist · 2 albums").assertExists() - composeRule.onNode(hasScrollAction()).performScrollToNode(hasText("Albums")) - composeRule.onNodeWithText("Albums").assertExists() + composeRule.onNode(hasScrollAction()).performScrollToNode(hasText("ALBUMS")) + composeRule.onNodeWithText("ALBUMS").assertExists() composeRule.onNodeWithText("Kid A").assertExists() - composeRule.onNode(hasScrollAction()).performScrollToNode(hasText("Appears on")) - composeRule.onNodeWithText("Appears on").assertExists() + composeRule.onNode(hasScrollAction()).performScrollToNode(hasText("APPEARS ON")) + composeRule.onNodeWithText("APPEARS ON").assertExists() composeRule.onNodeWithText("Guest Album").assertExists() }