Restore lyrics position

This commit is contained in:
Damontecres 2026-03-06 15:01:29 -05:00
parent 9f9552f870
commit e4422375ce
No known key found for this signature in database
2 changed files with 3 additions and 5 deletions

View file

@ -39,7 +39,6 @@ import org.jellyfin.sdk.model.api.LyricLine
@Composable @Composable
fun LyricsContent( fun LyricsContent(
lyricsHaveFocus: Boolean, lyricsHaveFocus: Boolean,
synced: Boolean,
lyrics: LyricDto?, lyrics: LyricDto?,
currentLyricPosition: Int?, currentLyricPosition: Int?,
onClick: (LyricLine) -> Unit, onClick: (LyricLine) -> Unit,
@ -50,11 +49,11 @@ fun LyricsContent(
remember(lyrics) { List(lyrics?.lyrics.orEmpty().size) { FocusRequester() } } remember(lyrics) { List(lyrics?.lyrics.orEmpty().size) { FocusRequester() } }
val listState = rememberLazyListState(currentLyricPosition ?: 0) val listState = rememberLazyListState(currentLyricPosition ?: 0)
val bringIntoViewRequester = remember { BringIntoViewRequester() } val bringIntoViewRequester = remember { BringIntoViewRequester() }
if (synced) { if (!lyricsHaveFocus) {
LaunchedEffect(currentLyricPosition) { LaunchedEffect(currentLyricPosition) {
if (currentLyricPosition != null && !lyricsHaveFocus) { if (currentLyricPosition != null) {
listState.layoutInfo.visibleItemsInfo.lastOrNull()?.index?.let { listState.layoutInfo.visibleItemsInfo.lastOrNull()?.index?.let {
if (currentLyricPosition !in 0..it) { if (currentLyricPosition !in listState.firstVisibleItemIndex..it) {
listState.animateScrollToItem(currentLyricPosition) listState.animateScrollToItem(currentLyricPosition)
} }
} }

View file

@ -220,7 +220,6 @@ fun NowPlayingPage(
.fillMaxHeight(), .fillMaxHeight(),
) { ) {
LyricsContent( LyricsContent(
synced = true,
lyrics = state.lyrics, lyrics = state.lyrics,
currentLyricPosition = state.currentLyricIndex, currentLyricPosition = state.currentLyricIndex,
lyricsHaveFocus = lyricsHaveFocus, lyricsHaveFocus = lyricsHaveFocus,