Avoid initial loading indicator on book info
This commit is contained in:
3 files changed
+14
-14
No files matched your search
@@ -25,7 +25,7 @@ data class BookInfoUiState(
|
|||||||
val inBookshelf: Boolean = false,
|
val inBookshelf: Boolean = false,
|
||||||
val bookSource: BookInfoSourceUi? = null,
|
val bookSource: BookInfoSourceUi? = null,
|
||||||
val relatedBooks: ImmutableList<RelatedBooksUi> = persistentListOf(),
|
val relatedBooks: ImmutableList<RelatedBooksUi> = persistentListOf(),
|
||||||
val isTocLoading: Boolean = true,
|
val isTocLoading: Boolean = false,
|
||||||
val isBusy: Boolean = false,
|
val isBusy: Boolean = false,
|
||||||
val deleteAlertEnabled: Boolean = true,
|
val deleteAlertEnabled: Boolean = true,
|
||||||
val deleteOriginal: Boolean = false,
|
val deleteOriginal: Boolean = false,
|
||||||
|
|||||||
@@ -182,9 +182,7 @@ private fun BookInfoScreenContent(
|
|||||||
) { paddingValues ->
|
) { paddingValues ->
|
||||||
val book = state.book
|
val book = state.book
|
||||||
if (book == null) {
|
if (book == null) {
|
||||||
Box(modifier = Modifier.fillMaxSize(), contentAlignment = Alignment.Center) {
|
Box(modifier = Modifier.fillMaxSize())
|
||||||
AppCircularProgressIndicator()
|
|
||||||
}
|
|
||||||
} else {
|
} else {
|
||||||
Box(modifier = Modifier.fillMaxSize()) {
|
Box(modifier = Modifier.fillMaxSize()) {
|
||||||
BookInfoBackdrop(
|
BookInfoBackdrop(
|
||||||
|
|||||||
@@ -705,13 +705,14 @@ class BookInfoViewModel(
|
|||||||
canReName: Boolean = true,
|
canReName: Boolean = true,
|
||||||
runPreUpdateJs: Boolean = true,
|
runPreUpdateJs: Boolean = true,
|
||||||
scope: CoroutineScope = viewModelScope,
|
scope: CoroutineScope = viewModelScope,
|
||||||
|
showLoading: Boolean = true,
|
||||||
) {
|
) {
|
||||||
syncUiState(isTocLoading = true)
|
syncUiState(isTocLoading = showLoading)
|
||||||
if (book.isLocal) {
|
if (book.isLocal) {
|
||||||
LocalBook.upBookInfo(book)
|
LocalBook.upBookInfo(book)
|
||||||
currentBook = book
|
currentBook = book
|
||||||
syncUiState(isTocLoading = true)
|
syncUiState(isTocLoading = showLoading)
|
||||||
loadChapter(book)
|
loadChapter(book, showLoading = showLoading)
|
||||||
} else {
|
} else {
|
||||||
val source = bookSource ?: run {
|
val source = bookSource ?: run {
|
||||||
currentChapterList = emptyList()
|
currentChapterList = emptyList()
|
||||||
@@ -730,14 +731,14 @@ class BookInfoViewModel(
|
|||||||
if (inBookshelf) {
|
if (inBookshelf) {
|
||||||
loadedBook.save()
|
loadedBook.save()
|
||||||
}
|
}
|
||||||
syncUiState(isTocLoading = true)
|
syncUiState(isTocLoading = showLoading)
|
||||||
refreshMeta(loadedBook)
|
refreshMeta(loadedBook)
|
||||||
if (loadedBook.isWebFile) {
|
if (loadedBook.isWebFile) {
|
||||||
loadWebFile(loadedBook)
|
loadWebFile(loadedBook)
|
||||||
currentChapterList = emptyList()
|
currentChapterList = emptyList()
|
||||||
syncUiState(isTocLoading = false)
|
syncUiState(isTocLoading = false)
|
||||||
} else {
|
} else {
|
||||||
loadChapter(loadedBook, runPreUpdateJs)
|
loadChapter(loadedBook, runPreUpdateJs, showLoading = showLoading)
|
||||||
}
|
}
|
||||||
scheduleRelatedBooksLoad(loadedBook, source)
|
scheduleRelatedBooksLoad(loadedBook, source)
|
||||||
}.onError {
|
}.onError {
|
||||||
@@ -786,11 +787,11 @@ class BookInfoViewModel(
|
|||||||
currentGroupNames = null
|
currentGroupNames = null
|
||||||
currentHasCustomGroup = false
|
currentHasCustomGroup = false
|
||||||
bookSource = source
|
bookSource = source
|
||||||
syncUiState(isTocLoading = true)
|
syncUiState(isTocLoading = false)
|
||||||
refreshMeta(book)
|
refreshMeta(book)
|
||||||
upCoverByRule(book)
|
upCoverByRule(book)
|
||||||
if (book.tocUrl.isEmpty() && !book.isLocal) {
|
if (book.tocUrl.isEmpty() && !book.isLocal) {
|
||||||
loadBookInfo(book, runPreUpdateJs = inBookshelf)
|
loadBookInfo(book, runPreUpdateJs = inBookshelf, showLoading = false)
|
||||||
} else {
|
} else {
|
||||||
execute {
|
execute {
|
||||||
appDb.bookChapterDao.getChapterList(book.bookUrl)
|
appDb.bookChapterDao.getChapterList(book.bookUrl)
|
||||||
@@ -800,10 +801,10 @@ class BookInfoViewModel(
|
|||||||
syncUiState(isTocLoading = false)
|
syncUiState(isTocLoading = false)
|
||||||
source?.let { scheduleRelatedBooksLoad(book, it) }
|
source?.let { scheduleRelatedBooksLoad(book, it) }
|
||||||
} else {
|
} else {
|
||||||
loadChapter(book)
|
loadChapter(book, showLoading = false)
|
||||||
}
|
}
|
||||||
}.onError {
|
}.onError {
|
||||||
loadChapter(book)
|
loadChapter(book, showLoading = false)
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
@@ -851,8 +852,9 @@ class BookInfoViewModel(
|
|||||||
book: Book,
|
book: Book,
|
||||||
runPreUpdateJs: Boolean = true,
|
runPreUpdateJs: Boolean = true,
|
||||||
scope: CoroutineScope = viewModelScope,
|
scope: CoroutineScope = viewModelScope,
|
||||||
|
showLoading: Boolean = true,
|
||||||
) {
|
) {
|
||||||
syncUiState(isTocLoading = true)
|
syncUiState(isTocLoading = showLoading)
|
||||||
if (book.isLocal) {
|
if (book.isLocal) {
|
||||||
execute(scope) {
|
execute(scope) {
|
||||||
LocalBook.getChapterList(book).also {
|
LocalBook.getChapterList(book).also {
|
||||||
|
|||||||
Reference in new issue
Block a user