Fake library loading (#7717)

(cherry picked from commit ec96a81735ee5761eb6c84d15de53e37ece9fdb2)

# Conflicts:
#	app/src/main/java/eu/kanade/presentation/library/components/LibraryContent.kt
This commit is contained in:
Andreas 2022-08-10 21:54:26 +02:00 committed by Jobobby04
parent 0b7d0f7f67
commit d157115c80

View File

@ -8,7 +8,11 @@ import androidx.compose.runtime.Composable
import androidx.compose.runtime.LaunchedEffect
import androidx.compose.runtime.State
import androidx.compose.runtime.derivedStateOf
import androidx.compose.runtime.getValue
import androidx.compose.runtime.mutableStateOf
import androidx.compose.runtime.remember
import androidx.compose.runtime.rememberCoroutineScope
import androidx.compose.runtime.setValue
import androidx.compose.ui.Modifier
import androidx.compose.ui.platform.LocalContext
import androidx.compose.ui.platform.LocalUriHandler
@ -25,6 +29,8 @@ import eu.kanade.tachiyomi.data.database.models.LibraryManga
import eu.kanade.tachiyomi.ui.library.LibraryItem
import eu.kanade.tachiyomi.ui.library.setting.DisplayModeSetting
import eu.kanade.tachiyomi.widget.EmptyView
import kotlinx.coroutines.delay
import kotlinx.coroutines.launch
@Composable
fun LibraryContent(
@ -57,6 +63,9 @@ fun LibraryContent(
val coercedCurrentPage = remember { currentPage().coerceAtMost(categories.lastIndex) }
val pagerState = rememberPagerState(coercedCurrentPage)
val scope = rememberCoroutineScope()
var isRefreshing by remember(pagerState.currentPage) { mutableStateOf(false) }
if (showPageTabs && categories.size > 1) {
LibraryTabs(
state = pagerState,
@ -88,8 +97,16 @@ fun LibraryContent(
}
SwipeRefresh(
state = rememberSwipeRefreshState(isRefreshing = false),
onRefresh = { onRefresh(categories[currentPage()]) },
state = rememberSwipeRefreshState(isRefreshing = isRefreshing),
onRefresh = {
onRefresh(categories[currentPage()])
scope.launch {
// Fake refresh status but hide it after a second as it's a long running task
isRefreshing = true
delay(1000)
isRefreshing = false
}
},
indicator = { s, trigger ->
SwipeRefreshIndicator(
state = s,