mirror of
https://github.com/Suwayomi/TachideskJUI.git
synced 2025-12-10 06:42:05 +01:00
Update accompanist-pager, fix library pager
This commit is contained in:
@@ -30,7 +30,7 @@ dependencies {
|
|||||||
implementation(compose("org.jetbrains.compose.ui:ui-util"))
|
implementation(compose("org.jetbrains.compose.ui:ui-util"))
|
||||||
implementation(compose("org.jetbrains.compose.material:material-icons-extended"))
|
implementation(compose("org.jetbrains.compose.material:material-icons-extended"))
|
||||||
implementation("ca.gosyer:compose-router:0.24.2-jetbrains-2")
|
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)
|
// UI (Swing)
|
||||||
implementation("com.github.weisj:darklaf-core:2.6.1")
|
implementation("com.github.weisj:darklaf-core:2.6.1")
|
||||||
|
|||||||
@@ -21,7 +21,6 @@ import androidx.compose.runtime.LaunchedEffect
|
|||||||
import androidx.compose.runtime.State
|
import androidx.compose.runtime.State
|
||||||
import androidx.compose.runtime.collectAsState
|
import androidx.compose.runtime.collectAsState
|
||||||
import androidx.compose.runtime.getValue
|
import androidx.compose.runtime.getValue
|
||||||
import androidx.compose.runtime.remember
|
|
||||||
import androidx.compose.ui.Modifier
|
import androidx.compose.ui.Modifier
|
||||||
import androidx.compose.ui.unit.dp
|
import androidx.compose.ui.unit.dp
|
||||||
import androidx.compose.ui.util.fastForEachIndexed
|
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.ui.manga.openMangaMenu
|
||||||
import ca.gosyer.util.compose.ThemedWindow
|
import ca.gosyer.util.compose.ThemedWindow
|
||||||
import com.google.accompanist.pager.HorizontalPager
|
import com.google.accompanist.pager.HorizontalPager
|
||||||
import com.google.accompanist.pager.PagerState
|
import com.google.accompanist.pager.rememberPagerState
|
||||||
|
|
||||||
fun openLibraryMenu() {
|
fun openLibraryMenu() {
|
||||||
ThemedWindow(BuildConfig.NAME) {
|
ThemedWindow(BuildConfig.NAME) {
|
||||||
@@ -140,17 +139,17 @@ private fun LibraryPager(
|
|||||||
) {
|
) {
|
||||||
if (categories.isEmpty()) return
|
if (categories.isEmpty()) return
|
||||||
|
|
||||||
val state = remember(categories.size, selectedPage) {
|
val state = rememberPagerState(categories.size, selectedPage)
|
||||||
PagerState(
|
|
||||||
currentPage = selectedPage,
|
|
||||||
pageCount = categories.size
|
|
||||||
)
|
|
||||||
}
|
|
||||||
LaunchedEffect(state.currentPage) {
|
LaunchedEffect(state.currentPage) {
|
||||||
if (state.currentPage != selectedPage) {
|
if (state.currentPage != selectedPage) {
|
||||||
onPageChanged(state.currentPage)
|
onPageChanged(state.currentPage)
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
LaunchedEffect(selectedPage) {
|
||||||
|
if (state.currentPage != selectedPage) {
|
||||||
|
state.animateScrollToPage(selectedPage)
|
||||||
|
}
|
||||||
|
}
|
||||||
HorizontalPager(state = state) {
|
HorizontalPager(state = state) {
|
||||||
val library by getLibraryForPage(it)
|
val library by getLibraryForPage(it)
|
||||||
when (displayMode) {
|
when (displayMode) {
|
||||||
|
|||||||
Reference in New Issue
Block a user