mirror of
				https://github.com/mihonapp/mihon.git
				synced 2025-10-30 22:07:57 +01:00 
			
		
		
		
	Minor library view cleanup
- Clean up unused code - Add text shadow in compact mode - Tweak some paddings to better match stable
This commit is contained in:
		| @@ -22,9 +22,9 @@ fun LazyLibraryGrid( | ||||
|     LazyVerticalGrid( | ||||
|         modifier = modifier, | ||||
|         columns = if (columns == 0) GridCells.Adaptive(128.dp) else GridCells.Fixed(columns), | ||||
|         contentPadding = PaddingValues(8.dp) + WindowInsets.navigationBars.asPaddingValues(), | ||||
|         verticalArrangement = Arrangement.spacedBy(8.dp), | ||||
|         horizontalArrangement = Arrangement.spacedBy(8.dp), | ||||
|         contentPadding = PaddingValues(12.dp) + WindowInsets.navigationBars.asPaddingValues(), | ||||
|         verticalArrangement = Arrangement.spacedBy(12.dp), | ||||
|         horizontalArrangement = Arrangement.spacedBy(12.dp), | ||||
|         content = content, | ||||
|     ) | ||||
| } | ||||
|   | ||||
| @@ -2,12 +2,14 @@ package eu.kanade.presentation.library.components | ||||
|  | ||||
| import androidx.compose.foundation.combinedClickable | ||||
| import androidx.compose.foundation.layout.Column | ||||
| import androidx.compose.foundation.layout.padding | ||||
| import androidx.compose.foundation.lazy.grid.items | ||||
| import androidx.compose.material3.LocalTextStyle | ||||
| import androidx.compose.material3.Text | ||||
| import androidx.compose.runtime.Composable | ||||
| import androidx.compose.ui.Modifier | ||||
| import androidx.compose.ui.text.font.FontWeight | ||||
| import androidx.compose.ui.unit.dp | ||||
| import eu.kanade.domain.manga.model.MangaCover | ||||
| import eu.kanade.tachiyomi.data.database.models.LibraryManga | ||||
| import eu.kanade.tachiyomi.ui.library.LibraryItem | ||||
| @@ -73,6 +75,7 @@ fun LibraryComfortableGridItem( | ||||
|                 language = item.sourceLanguage, | ||||
|             ) | ||||
|             Text( | ||||
|                 modifier = Modifier.padding(4.dp), | ||||
|                 text = manga.title, | ||||
|                 maxLines = 2, | ||||
|                 style = LocalTextStyle.current.copy(fontWeight = FontWeight.SemiBold), | ||||
|   | ||||
| @@ -16,6 +16,7 @@ import androidx.compose.ui.Modifier | ||||
| import androidx.compose.ui.draw.clip | ||||
| import androidx.compose.ui.graphics.Brush | ||||
| import androidx.compose.ui.graphics.Color | ||||
| import androidx.compose.ui.graphics.Shadow | ||||
| import androidx.compose.ui.text.font.FontWeight | ||||
| import androidx.compose.ui.unit.dp | ||||
| import eu.kanade.tachiyomi.data.database.models.LibraryManga | ||||
| @@ -98,7 +99,14 @@ fun LibraryCompactGridItem( | ||||
|                 .padding(8.dp) | ||||
|                 .align(Alignment.BottomStart), | ||||
|             maxLines = 2, | ||||
|             style = LocalTextStyle.current.copy(color = Color.White, fontWeight = FontWeight.SemiBold), | ||||
|             style = LocalTextStyle.current.copy( | ||||
|                 color = Color.White, | ||||
|                 fontWeight = FontWeight.SemiBold, | ||||
|                 shadow = Shadow( | ||||
|                     color = Color.Black, | ||||
|                     blurRadius = 4f, | ||||
|                 ), | ||||
|             ), | ||||
|         ) | ||||
|     } | ||||
| } | ||||
|   | ||||
| @@ -28,7 +28,6 @@ import eu.kanade.tachiyomi.ui.library.LibraryItem | ||||
| @Composable | ||||
| fun LibraryList( | ||||
|     items: List<LibraryItem>, | ||||
|     columns: Int, | ||||
|     selection: List<LibraryManga>, | ||||
|     onClick: (LibraryManga) -> Unit, | ||||
|     onLongClick: (LibraryManga) -> Unit, | ||||
|   | ||||
| @@ -40,7 +40,6 @@ import uy.kohesive.injekt.api.get | ||||
|  * @constructor creates an instance of the adapter. | ||||
|  */ | ||||
| class LibraryAdapter( | ||||
|     private val controller: LibraryController, | ||||
|     private val presenter: LibraryPresenter, | ||||
|     private val onClickManga: (LibraryManga) -> Unit, | ||||
|     private val preferences: PreferencesHelper = Injekt.get(), | ||||
| @@ -142,7 +141,6 @@ class LibraryAdapter( | ||||
|                                 DisplayModeSetting.LIST -> { | ||||
|                                     LibraryList( | ||||
|                                         items = mangaList, | ||||
|                                         columns = presenter.columns, | ||||
|                                         selection = presenter.selection, | ||||
|                                         onClick = onClickManga, | ||||
|                                         onLongClick = { | ||||
|   | ||||
| @@ -142,7 +142,6 @@ class LibraryController( | ||||
|         super.onViewCreated(view) | ||||
|  | ||||
|         adapter = LibraryAdapter( | ||||
|             controller = this, | ||||
|             presenter = presenter, | ||||
|             onClickManga = { | ||||
|                 openManga(it.id!!) | ||||
| @@ -466,7 +465,7 @@ class LibraryController( | ||||
|         actionMode = null | ||||
|     } | ||||
|  | ||||
|     fun openManga(mangaId: Long) { | ||||
|     private fun openManga(mangaId: Long) { | ||||
|         // Notify the presenter a manga is being opened. | ||||
|         presenter.onOpenManga() | ||||
|  | ||||
|   | ||||
| @@ -7,10 +7,9 @@ import uy.kohesive.injekt.api.get | ||||
|  | ||||
| class LibraryItem( | ||||
|     val manga: LibraryManga, | ||||
|     private val sourceManager: SourceManager = Injekt.get(), | ||||
| ) { | ||||
|  | ||||
|     private val sourceManager: SourceManager = Injekt.get() | ||||
|  | ||||
|     var displayMode: Long = -1 | ||||
|     var downloadCount = -1 | ||||
|     var unreadCount = -1 | ||||
|   | ||||
| @@ -1,10 +1,3 @@ | ||||
| package eu.kanade.tachiyomi.ui.library | ||||
|  | ||||
| import eu.kanade.domain.category.model.Category | ||||
|  | ||||
| class LibraryMangaEvent(val mangas: LibraryMap) { | ||||
|  | ||||
|     fun getMangaForCategory(category: Category): List<LibraryItem>? { | ||||
|         return mangas[category.id] | ||||
|     } | ||||
| } | ||||
| class LibraryMangaEvent(val mangas: LibraryMap) | ||||
|   | ||||
| @@ -18,7 +18,6 @@ import eu.kanade.domain.category.interactor.SetMangaCategories | ||||
| import eu.kanade.domain.category.model.Category | ||||
| import eu.kanade.domain.chapter.interactor.GetChapterByMangaId | ||||
| import eu.kanade.domain.chapter.interactor.SetReadStatus | ||||
| import eu.kanade.domain.chapter.interactor.UpdateChapter | ||||
| import eu.kanade.domain.chapter.model.toDbChapter | ||||
| import eu.kanade.domain.manga.interactor.GetLibraryManga | ||||
| import eu.kanade.domain.manga.interactor.UpdateManga | ||||
| @@ -46,9 +45,7 @@ import eu.kanade.tachiyomi.util.removeCovers | ||||
| import eu.kanade.tachiyomi.widget.ExtendedNavigationView.Item.TriStateGroup.State | ||||
| import kotlinx.coroutines.flow.MutableStateFlow | ||||
| import kotlinx.coroutines.flow.drop | ||||
| import kotlinx.coroutines.flow.filter | ||||
| import kotlinx.coroutines.flow.launchIn | ||||
| import kotlinx.coroutines.flow.map | ||||
| import kotlinx.coroutines.flow.onEach | ||||
| import kotlinx.coroutines.runBlocking | ||||
| import rx.Observable | ||||
| @@ -82,7 +79,6 @@ class LibraryPresenter( | ||||
|     private val getCategories: GetCategories = Injekt.get(), | ||||
|     private val getChapterByMangaId: GetChapterByMangaId = Injekt.get(), | ||||
|     private val setReadStatus: SetReadStatus = Injekt.get(), | ||||
|     private val updateChapter: UpdateChapter = Injekt.get(), | ||||
|     private val updateManga: UpdateManga = Injekt.get(), | ||||
|     private val setMangaCategories: SetMangaCategories = Injekt.get(), | ||||
|     private val preferences: PreferencesHelper = Injekt.get(), | ||||
| @@ -109,11 +105,11 @@ class LibraryPresenter( | ||||
|  | ||||
|     val selection: MutableList<LibraryManga> = mutableStateListOf() | ||||
|  | ||||
|     val isPerCategory by mutableStateOf(preferences.categorizedDisplaySettings().get()) | ||||
|     val isPerCategory by preferences.categorizedDisplaySettings().asState() | ||||
|  | ||||
|     var columns by mutableStateOf(0) | ||||
|  | ||||
|     var currentDisplayMode by mutableStateOf(preferences.libraryDisplayMode().get()) | ||||
|     var currentDisplayMode by preferences.libraryDisplayMode().asState() | ||||
|  | ||||
|     /** | ||||
|      * Relay used to apply the UI filters to the last emission of the library. | ||||
| @@ -234,8 +230,8 @@ class LibraryPresenter( | ||||
|  | ||||
|             if (!containsExclude.any() && !containsInclude.any()) return@tracking true | ||||
|  | ||||
|             val exclude = trackedManga?.filterKeys { containsExclude.containsKey(it.toLong()) }?.values ?: emptyList() | ||||
|             val include = trackedManga?.filterKeys { containsInclude.containsKey(it.toLong()) }?.values ?: emptyList() | ||||
|             val exclude = trackedManga?.filterKeys { containsExclude.containsKey(it) }?.values ?: emptyList() | ||||
|             val include = trackedManga?.filterKeys { containsInclude.containsKey(it) }?.values ?: emptyList() | ||||
|  | ||||
|             if (containsInclude.any() && containsExclude.any()) { | ||||
|                 return@tracking if (exclude.isNotEmpty()) !exclude.any() else include.any() | ||||
| @@ -449,9 +445,6 @@ class LibraryPresenter( | ||||
|      * value. | ||||
|      */ | ||||
|     private fun getLibraryMangasObservable(): Observable<LibraryMap> { | ||||
|         val defaultLibraryDisplayMode = preferences.libraryDisplayMode() | ||||
|         val shouldSetFromCategory = preferences.categorizedDisplaySettings() | ||||
|  | ||||
|         return getLibraryManga.subscribe().asObservable() | ||||
|             .map { list -> | ||||
|                 list.map { libraryManga -> | ||||
|   | ||||
		Reference in New Issue
	
	Block a user