mirror of
				https://github.com/mihonapp/mihon.git
				synced 2025-10-31 14:27:57 +01:00 
			
		
		
		
	Tweak Library screen (#7718)
* Allow to refresh when there is white space fixes #7701 * Don't use key on library screen as it retains scroll position on first item fixes #7631
This commit is contained in:
		| @@ -42,7 +42,10 @@ fun LazyGridScope.globalSearchItem( | ||||
|     onGlobalSearchClicked: () -> Unit, | ||||
| ) { | ||||
|     if (searchQuery.isNullOrEmpty().not()) { | ||||
|         item(span = { GridItemSpan(maxLineSpan) }) { | ||||
|         item( | ||||
|             span = { GridItemSpan(maxLineSpan) }, | ||||
|             contentType = { "library_global_search_item" }, | ||||
|         ) { | ||||
|             TextButton(onClick = onGlobalSearchClicked) { | ||||
|                 Text( | ||||
|                     text = stringResource(R.string.action_global_search_query, searchQuery!!), | ||||
|   | ||||
| @@ -2,6 +2,7 @@ package eu.kanade.presentation.library.components | ||||
|  | ||||
| import androidx.compose.foundation.combinedClickable | ||||
| import androidx.compose.foundation.layout.Column | ||||
| import androidx.compose.foundation.layout.fillMaxSize | ||||
| import androidx.compose.foundation.layout.padding | ||||
| import androidx.compose.foundation.lazy.grid.items | ||||
| import androidx.compose.material3.MaterialTheme | ||||
| @@ -25,15 +26,14 @@ fun LibraryComfortableGrid( | ||||
|     onGlobalSearchClicked: () -> Unit, | ||||
| ) { | ||||
|     LazyLibraryGrid( | ||||
|         modifier = Modifier.fillMaxSize(), | ||||
|         columns = columns, | ||||
|     ) { | ||||
|         globalSearchItem(searchQuery, onGlobalSearchClicked) | ||||
|  | ||||
|         items( | ||||
|             items = items, | ||||
|             key = { | ||||
|                 it.manga.id!! | ||||
|             }, | ||||
|             contentType = { "library_comfortable_grid_item" }, | ||||
|         ) { libraryItem -> | ||||
|             LibraryComfortableGridItem( | ||||
|                 libraryItem, | ||||
|   | ||||
| @@ -4,6 +4,7 @@ import androidx.compose.foundation.background | ||||
| import androidx.compose.foundation.combinedClickable | ||||
| import androidx.compose.foundation.layout.Box | ||||
| import androidx.compose.foundation.layout.fillMaxHeight | ||||
| import androidx.compose.foundation.layout.fillMaxSize | ||||
| import androidx.compose.foundation.layout.fillMaxWidth | ||||
| import androidx.compose.foundation.layout.padding | ||||
| import androidx.compose.foundation.lazy.grid.items | ||||
| @@ -33,15 +34,14 @@ fun LibraryCompactGrid( | ||||
|     onGlobalSearchClicked: () -> Unit, | ||||
| ) { | ||||
|     LazyLibraryGrid( | ||||
|         modifier = Modifier.fillMaxSize(), | ||||
|         columns = columns, | ||||
|     ) { | ||||
|         globalSearchItem(searchQuery, onGlobalSearchClicked) | ||||
|  | ||||
|         items( | ||||
|             items = items, | ||||
|             key = { | ||||
|                 it.manga.id!! | ||||
|             }, | ||||
|             contentType = { "library_compact_grid_item" }, | ||||
|         ) { libraryItem -> | ||||
|             LibraryCompactGridItem( | ||||
|                 item = libraryItem, | ||||
|   | ||||
| @@ -1,6 +1,7 @@ | ||||
| package eu.kanade.presentation.library.components | ||||
|  | ||||
| import androidx.compose.foundation.combinedClickable | ||||
| import androidx.compose.foundation.layout.fillMaxSize | ||||
| import androidx.compose.foundation.lazy.grid.items | ||||
| import androidx.compose.runtime.Composable | ||||
| import androidx.compose.ui.Modifier | ||||
| @@ -18,15 +19,14 @@ fun LibraryCoverOnlyGrid( | ||||
|     onGlobalSearchClicked: () -> Unit, | ||||
| ) { | ||||
|     LazyLibraryGrid( | ||||
|         modifier = Modifier.fillMaxSize(), | ||||
|         columns = columns, | ||||
|     ) { | ||||
|         globalSearchItem(searchQuery, onGlobalSearchClicked) | ||||
|  | ||||
|         items( | ||||
|             items = items, | ||||
|             key = { | ||||
|                 it.manga.id!! | ||||
|             }, | ||||
|             contentType = { "library_only_cover_grid_item" }, | ||||
|         ) { libraryItem -> | ||||
|             LibraryCoverOnlyGridItem( | ||||
|                 item = libraryItem, | ||||
|   | ||||
| @@ -3,6 +3,7 @@ package eu.kanade.presentation.library.components | ||||
| import androidx.compose.foundation.combinedClickable | ||||
| import androidx.compose.foundation.layout.Row | ||||
| import androidx.compose.foundation.layout.fillMaxHeight | ||||
| import androidx.compose.foundation.layout.fillMaxSize | ||||
| import androidx.compose.foundation.layout.height | ||||
| import androidx.compose.foundation.layout.padding | ||||
| import androidx.compose.foundation.lazy.items | ||||
| @@ -37,6 +38,7 @@ fun LibraryList( | ||||
|     onGlobalSearchClicked: () -> Unit, | ||||
| ) { | ||||
|     FastScrollLazyColumn( | ||||
|         modifier = Modifier.fillMaxSize(), | ||||
|         contentPadding = bottomNavPaddingValues, | ||||
|     ) { | ||||
|         item { | ||||
| @@ -52,9 +54,7 @@ fun LibraryList( | ||||
|  | ||||
|         items( | ||||
|             items = items, | ||||
|             key = { | ||||
|                 it.manga.id!! | ||||
|             }, | ||||
|             contentType = { "library_list_item" }, | ||||
|         ) { libraryItem -> | ||||
|             LibraryListItem( | ||||
|                 item = libraryItem, | ||||
|   | ||||
		Reference in New Issue
	
	Block a user