From c2d1b6a192c4fb5e0db1b55d0ac8fa723f1e5155 Mon Sep 17 00:00:00 2001 From: stdpi Date: Sat, 17 May 2025 14:44:12 +0700 Subject: [PATCH 1/2] fix(lyrics): more exhaustive timing for multiline lyrics --- .../github/zyrouge/symphony/ui/components/TimedContentText.kt | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/app/src/main/java/io/github/zyrouge/symphony/ui/components/TimedContentText.kt b/app/src/main/java/io/github/zyrouge/symphony/ui/components/TimedContentText.kt index cd88d0bc..506004ac 100644 --- a/app/src/main/java/io/github/zyrouge/symphony/ui/components/TimedContentText.kt +++ b/app/src/main/java/io/github/zyrouge/symphony/ui/components/TimedContentText.kt @@ -132,7 +132,8 @@ fun TimedContentText( } itemsIndexed(content.pairs) { i, x -> val highlight = !content.isSynced || i < activeIndex - val active = i == activeIndex + val active = i == activeIndex || + (highlight && content.pairs[activeIndex].first == x.first) val textStyle by animateTextStyleAsState( targetValue = when { From 30f7951d9991c01dcd84c9a48099780cab6749ca Mon Sep 17 00:00:00 2001 From: stdpi Date: Sat, 17 May 2025 14:51:08 +0700 Subject: [PATCH 2/2] feat ui: consistent lyrics style between lines and between views --- .../io/github/zyrouge/symphony/ui/view/Lyrics.kt | 15 +++------------ .../symphony/ui/view/nowPlaying/BodyCover.kt | 3 ++- 2 files changed, 5 insertions(+), 13 deletions(-) diff --git a/app/src/main/java/io/github/zyrouge/symphony/ui/view/Lyrics.kt b/app/src/main/java/io/github/zyrouge/symphony/ui/view/Lyrics.kt index d2ed1434..0150f6cd 100644 --- a/app/src/main/java/io/github/zyrouge/symphony/ui/view/Lyrics.kt +++ b/app/src/main/java/io/github/zyrouge/symphony/ui/view/Lyrics.kt @@ -95,18 +95,9 @@ fun LyricsView(context: ViewContext) { Box(modifier = Modifier.weight(1f)) { LyricsText( context, - style = TimedContentTextStyle( - highlighted = MaterialTheme.typography.titleMedium.copy( - color = LocalContentColor.current, - ), - active = MaterialTheme.typography.titleLarge.copy( - fontWeight = FontWeight.Bold, - color = MaterialTheme.colorScheme.primary, - ), - inactive = MaterialTheme.typography.titleMedium.copy( - color = LocalContentColor.current.copy(alpha = 0.5f), - ), - spacing = 8.dp, + style = TimedContentTextStyle.defaultStyle( + textStyle = MaterialTheme.typography.titleLarge.copy(color = LocalContentColor.current), + contentColor = LocalContentColor.current, ), padding = PaddingValues( horizontal = defaultHorizontalPadding, diff --git a/app/src/main/java/io/github/zyrouge/symphony/ui/view/nowPlaying/BodyCover.kt b/app/src/main/java/io/github/zyrouge/symphony/ui/view/nowPlaying/BodyCover.kt index d6ae3eaf..61949014 100644 --- a/app/src/main/java/io/github/zyrouge/symphony/ui/view/nowPlaying/BodyCover.kt +++ b/app/src/main/java/io/github/zyrouge/symphony/ui/view/nowPlaying/BodyCover.kt @@ -23,6 +23,7 @@ import androidx.compose.ui.draw.clip import androidx.compose.ui.graphics.FilterQuality import androidx.compose.ui.input.pointer.pointerInput import androidx.compose.ui.layout.ContentScale +import androidx.compose.ui.text.font.FontWeight import androidx.compose.ui.unit.dp import androidx.compose.ui.unit.min import coil.compose.AsyncImage @@ -95,7 +96,7 @@ private fun NowPlayingBodyCoverLyrics(context: ViewContext, orientation: ScreenO vertical = 8.dp, ), style = TimedContentTextStyle.defaultStyle( - textStyle = LocalTextStyle.current, + textStyle = MaterialTheme.typography.titleLarge.copy(color = LocalContentColor.current), contentColor = LocalContentColor.current, ), )