diff --git a/build.gradle.kts b/build.gradle.kts index 3277d82c..8c4b5e1d 100644 --- a/build.gradle.kts +++ b/build.gradle.kts @@ -30,7 +30,7 @@ dependencies { implementation(compose("org.jetbrains.compose.ui:ui-util")) implementation(compose("org.jetbrains.compose.material:material-icons-extended")) implementation("ca.gosyer:compose-router:0.24.2-jetbrains-2") - implementation("ca.gosyer:accompanist-pager:0.9.1") + implementation("ca.gosyer:accompanist-pager:0.12.0") // UI (Swing) implementation("com.github.weisj:darklaf-core:2.6.1") diff --git a/src/main/kotlin/ca/gosyer/ui/library/LibraryScreen.kt b/src/main/kotlin/ca/gosyer/ui/library/LibraryScreen.kt index adeb67ee..68c89628 100644 --- a/src/main/kotlin/ca/gosyer/ui/library/LibraryScreen.kt +++ b/src/main/kotlin/ca/gosyer/ui/library/LibraryScreen.kt @@ -21,7 +21,6 @@ import androidx.compose.runtime.LaunchedEffect import androidx.compose.runtime.State import androidx.compose.runtime.collectAsState import androidx.compose.runtime.getValue -import androidx.compose.runtime.remember import androidx.compose.ui.Modifier import androidx.compose.ui.unit.dp import androidx.compose.ui.util.fastForEachIndexed @@ -34,7 +33,7 @@ import ca.gosyer.ui.base.vm.viewModel import ca.gosyer.ui.manga.openMangaMenu import ca.gosyer.util.compose.ThemedWindow import com.google.accompanist.pager.HorizontalPager -import com.google.accompanist.pager.PagerState +import com.google.accompanist.pager.rememberPagerState fun openLibraryMenu() { ThemedWindow(BuildConfig.NAME) { @@ -140,17 +139,17 @@ private fun LibraryPager( ) { if (categories.isEmpty()) return - val state = remember(categories.size, selectedPage) { - PagerState( - currentPage = selectedPage, - pageCount = categories.size - ) - } + val state = rememberPagerState(categories.size, selectedPage) LaunchedEffect(state.currentPage) { if (state.currentPage != selectedPage) { onPageChanged(state.currentPage) } } + LaunchedEffect(selectedPage) { + if (state.currentPage != selectedPage) { + state.animateScrollToPage(selectedPage) + } + } HorizontalPager(state = state) { val library by getLibraryForPage(it) when (displayMode) {