From 26167c8528f1e0784fc4e9a2a4096712c279e0d3 Mon Sep 17 00:00:00 2001 From: aoi Date: Sat, 23 May 2026 03:01:52 +0800 Subject: [PATCH] =?UTF-8?q?*=20=E9=87=8D=E6=9E=84=E7=A9=BA=E4=B9=A6?= =?UTF-8?q?=E6=9E=B6=E7=8A=B6=E6=80=81=E5=A4=84=E7=90=86=E6=9C=BA=E5=88=B6?= =?UTF-8?q?=EF=BC=8C=E6=8F=90=E9=AB=98=E5=88=86=E9=A1=B5=E5=99=A8=E7=B4=A2?= =?UTF-8?q?=E5=BC=95=E7=9A=84=E5=AE=89=E5=85=A8=E6=80=A7?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../app/ui/main/bookshelf/BookshelfScreen.kt | 70 ++++--------------- 1 file changed, 14 insertions(+), 56 deletions(-) diff --git a/app/src/main/java/io/legado/app/ui/main/bookshelf/BookshelfScreen.kt b/app/src/main/java/io/legado/app/ui/main/bookshelf/BookshelfScreen.kt index 88c7a98e2..156243c59 100644 --- a/app/src/main/java/io/legado/app/ui/main/bookshelf/BookshelfScreen.kt +++ b/app/src/main/java/io/legado/app/ui/main/bookshelf/BookshelfScreen.kt @@ -210,60 +210,6 @@ fun BookshelfScreen( } ) - if (uiState.groups.isEmpty()) { - val scrollBehavior = GlassTopAppBarDefaults.defaultScrollBehavior() - val onSearchClick = { - if (BookshelfConfig.bookshelfSearchActionDirectToSearchState.value) { - onNavigateToSearch(uiState.searchKey.trim()) - } else { - viewModel.setSearchMode(!uiState.isSearch) - } - } - AppScaffold( - modifier = Modifier.nestedScroll(scrollBehavior.nestedScrollConnection), - contentWindowInsets = WindowInsets(0), - snackbarHost = { - SnackbarHost( - hostState = snackbarHostState, - modifier = Modifier - .padding( - - bottom = 72.dp + WindowInsets.navigationBars - .asPaddingValues() - .calculateBottomPadding() - ) - ) - }, - topBar = { - BookshelfTopBar( - uiState = uiState, - scrollBehavior = scrollBehavior, - onSearchClick = onSearchClick, - onSearchQueryChange = { viewModel.setSearchKey(it) }, - onSearchSubmit = { rawQuery -> - rawQuery.trim() - .takeIf { it.isNotEmpty() } - ?.let(onNavigateToSearch) - }, - onClearSearch = { viewModel.setSearchKey("") } - ) - } - ) { paddingValues -> - if (!uiState.isInitialLoading) { - EmptyMessage( - modifier = Modifier - .fillMaxSize() - .padding( - top = paddingValues.calculateTopPadding(), - bottom = 120.dp - ), - messageResId = R.string.bookshelf_empty - ) - } - } - return - } - val activeOverlay = uiState.activeOverlay val showGroupMenu = activeOverlay == BookshelfOverlay.GroupMenu val isEditMode = uiState.isEditMode @@ -280,7 +226,7 @@ fun BookshelfScreen( } val pagerState = rememberPagerState( - initialPage = uiState.selectedGroupIndex, + initialPage = uiState.selectedGroupIndex.coerceAtLeast(0), pageCount = { uiState.groups.size } ) val latestGroups by rememberUpdatedState(uiState.groups) @@ -765,7 +711,19 @@ fun BookshelfScreen( } } ) { isRoot -> - if (bookGroupStyle == 2 && isRoot && !isUsingStandaloneSearchGroup) { + if (uiState.groups.isEmpty() && !uiState.isSearch) { + if (!uiState.isInitialLoading) { + EmptyMessage( + modifier = Modifier + .fillMaxSize() + .padding( + top = paddingValues.calculateTopPadding(), + bottom = 120.dp + ), + messageResId = R.string.bookshelf_empty + ) + } + } else if (bookGroupStyle == 2 && isRoot && !isUsingStandaloneSearchGroup) { val folderColumns = if (bookshelfFolderLayoutMode == 0) bookshelfFolderLayoutList else bookshelfFolderLayoutGrid val isGridMode = bookshelfFolderLayoutMode != 0