From 2a845bd7b501ac7d5cb20b70dbde9279b84e4890 Mon Sep 17 00:00:00 2001 From: NarwhalHorns Date: Sat, 26 Apr 2025 22:36:50 +0100 Subject: [PATCH] Fix empty layout not appearing in browse source screen in some cases (#2043) Co-authored-by: AntsyLich <59261191+AntsyLich@users.noreply.github.com> (cherry picked from commit 37e19edf8a5f6a15a95f160390cbcf22d8133380) # Conflicts: # CHANGELOG.md # app/src/main/java/eu/kanade/presentation/browse/BrowseSourceScreen.kt --- .../presentation/browse/BrowseSourceScreen.kt | 23 ++++++++++--------- 1 file changed, 12 insertions(+), 11 deletions(-) diff --git a/app/src/main/java/eu/kanade/presentation/browse/BrowseSourceScreen.kt b/app/src/main/java/eu/kanade/presentation/browse/BrowseSourceScreen.kt index d5f891db2..6c6a63229 100644 --- a/app/src/main/java/eu/kanade/presentation/browse/BrowseSourceScreen.kt +++ b/app/src/main/java/eu/kanade/presentation/browse/BrowseSourceScreen.kt @@ -82,10 +82,18 @@ fun BrowseSourceContent( } } - if (mangaList.itemCount <= 0 && errorState != null && errorState is LoadState.Error) { + if (mangaList.itemCount == 0 && mangaList.loadState.refresh is LoadState.Loading) { + LoadingScreen(Modifier.padding(contentPadding)) + return + } + + if (mangaList.itemCount == 0) { EmptyScreen( modifier = Modifier.padding(contentPadding), - message = getErrorMessage(errorState), + message = when (errorState) { + is LoadState.Error -> getErrorMessage(errorState) + else -> stringResource(MR.strings.no_results_found) + }, actions = if (source is LocalSource /* SY --> */ && onLocalSourceHelpClick != null /* SY <-- */) { persistentListOf( EmptyScreenAction( @@ -104,7 +112,7 @@ fun BrowseSourceContent( // SY --> if (onWebViewClick != null) { EmptyScreenAction( - MR.strings.action_open_in_web_view, + stringRes = MR.strings.action_open_in_web_view, icon = Icons.Outlined.Public, onClick = onWebViewClick, ) @@ -113,7 +121,7 @@ fun BrowseSourceContent( }, if (onHelpClick != null) { EmptyScreenAction( - MR.strings.label_help, + stringRes = MR.strings.label_help, icon = Icons.AutoMirrored.Outlined.HelpOutline, onClick = onHelpClick, ) @@ -128,13 +136,6 @@ fun BrowseSourceContent( return } - if (mangaList.itemCount == 0 && mangaList.loadState.refresh is LoadState.Loading) { - LoadingScreen( - modifier = Modifier.padding(contentPadding), - ) - return - } - // SY --> if (source?.isEhBasedSource() == true && ehentaiBrowseDisplayMode) { BrowseSourceEHentaiList(