mirror of
				https://github.com/mihonapp/mihon.git
				synced 2025-11-04 08:08:55 +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