Move LibraryManga to domain layer (#8126)

This commit is contained in:
AntsyLich
2022-10-01 21:30:51 +06:00
committed by GitHub
parent b04d1e5f50
commit ea8383978b
20 changed files with 217 additions and 232 deletions

View File

@@ -55,7 +55,7 @@ fun LibraryScreen(
onChangeCategoryClicked = onChangeCategoryClicked,
onMarkAsReadClicked = onMarkAsReadClicked,
onMarkAsUnreadClicked = onMarkAsUnreadClicked,
onDownloadClicked = onDownloadClicked.takeIf { presenter.selection.none { it.source == LocalSource.ID } },
onDownloadClicked = onDownloadClicked.takeIf { presenter.selection.none { it.manga.source == LocalSource.ID } },
onDeleteClicked = onDeleteClicked,
)
},

View File

@@ -6,7 +6,7 @@ import androidx.compose.runtime.getValue
import androidx.compose.runtime.mutableStateOf
import androidx.compose.runtime.setValue
import eu.kanade.domain.category.model.Category
import eu.kanade.tachiyomi.data.database.models.LibraryManga
import eu.kanade.domain.library.model.LibraryManga
import eu.kanade.tachiyomi.ui.library.LibraryPresenter
@Stable

View File

@@ -12,8 +12,8 @@ import androidx.compose.ui.Modifier
import androidx.compose.ui.text.style.TextOverflow
import androidx.compose.ui.unit.dp
import androidx.compose.ui.unit.sp
import eu.kanade.domain.library.model.LibraryManga
import eu.kanade.domain.manga.model.MangaCover
import eu.kanade.tachiyomi.data.database.models.LibraryManga
import eu.kanade.tachiyomi.ui.library.LibraryItem
@Composable
@@ -38,7 +38,7 @@ fun LibraryComfortableGrid(
) { libraryItem ->
LibraryComfortableGridItem(
libraryItem,
libraryItem.manga in selection,
libraryItem.libraryManga in selection,
onClick,
onLongClick,
)
@@ -53,26 +53,27 @@ fun LibraryComfortableGridItem(
onClick: (LibraryManga) -> Unit,
onLongClick: (LibraryManga) -> Unit,
) {
val manga = item.manga
val libraryManga = item.libraryManga
val manga = libraryManga.manga
LibraryGridItemSelectable(isSelected = isSelected) {
Column(
modifier = Modifier
.combinedClickable(
onClick = {
onClick(manga)
onClick(libraryManga)
},
onLongClick = {
onLongClick(manga)
onLongClick(libraryManga)
},
),
) {
LibraryGridCover(
mangaCover = MangaCover(
manga.id!!,
manga.id,
manga.source,
manga.favorite,
manga.thumbnail_url,
manga.cover_last_modified,
manga.thumbnailUrl,
manga.coverLastModified,
),
downloadCount = item.downloadCount,
unreadCount = item.unreadCount,

View File

@@ -22,7 +22,7 @@ import androidx.compose.ui.graphics.Shadow
import androidx.compose.ui.text.style.TextOverflow
import androidx.compose.ui.unit.dp
import androidx.compose.ui.unit.sp
import eu.kanade.tachiyomi.data.database.models.LibraryManga
import eu.kanade.domain.library.model.LibraryManga
import eu.kanade.tachiyomi.ui.library.LibraryItem
@Composable
@@ -47,7 +47,7 @@ fun LibraryCompactGrid(
) { libraryItem ->
LibraryCompactGridItem(
item = libraryItem,
isSelected = libraryItem.manga in selection,
isSelected = libraryItem.libraryManga in selection,
onClick = onClick,
onLongClick = onLongClick,
)
@@ -62,24 +62,25 @@ fun LibraryCompactGridItem(
onClick: (LibraryManga) -> Unit,
onLongClick: (LibraryManga) -> Unit,
) {
val manga = item.manga
val libraryManga = item.libraryManga
val manga = libraryManga.manga
LibraryGridCover(
modifier = Modifier
.selectedOutline(isSelected)
.combinedClickable(
onClick = {
onClick(manga)
onClick(libraryManga)
},
onLongClick = {
onLongClick(manga)
onLongClick(libraryManga)
},
),
mangaCover = eu.kanade.domain.manga.model.MangaCover(
manga.id!!,
manga.id,
manga.source,
manga.favorite,
manga.thumbnail_url,
manga.cover_last_modified,
manga.thumbnailUrl,
manga.coverLastModified,
),
downloadCount = item.downloadCount,
unreadCount = item.unreadCount,

View File

@@ -19,11 +19,11 @@ import com.google.accompanist.swiperefresh.rememberSwipeRefreshState
import eu.kanade.core.prefs.PreferenceMutableState
import eu.kanade.domain.category.model.Category
import eu.kanade.domain.library.model.LibraryDisplayMode
import eu.kanade.domain.library.model.LibraryManga
import eu.kanade.presentation.components.EmptyScreen
import eu.kanade.presentation.components.SwipeRefreshIndicator
import eu.kanade.presentation.library.LibraryState
import eu.kanade.tachiyomi.R
import eu.kanade.tachiyomi.data.database.models.LibraryManga
import eu.kanade.tachiyomi.ui.library.LibraryItem
import eu.kanade.tachiyomi.widget.EmptyView
import kotlinx.coroutines.delay
@@ -72,7 +72,7 @@ fun LibraryContent(
val onClickManga = { manga: LibraryManga ->
if (state.selectionMode.not()) {
onMangaClicked(manga.id!!)
onMangaClicked(manga.manga.id)
} else {
onToggleSelection(manga)
}

View File

@@ -5,7 +5,7 @@ import androidx.compose.foundation.layout.fillMaxSize
import androidx.compose.foundation.lazy.grid.items
import androidx.compose.runtime.Composable
import androidx.compose.ui.Modifier
import eu.kanade.tachiyomi.data.database.models.LibraryManga
import eu.kanade.domain.library.model.LibraryManga
import eu.kanade.tachiyomi.ui.library.LibraryItem
@Composable
@@ -30,7 +30,7 @@ fun LibraryCoverOnlyGrid(
) { libraryItem ->
LibraryCoverOnlyGridItem(
item = libraryItem,
isSelected = libraryItem.manga in selection,
isSelected = libraryItem.libraryManga in selection,
onClick = onClick,
onLongClick = onLongClick,
)
@@ -45,24 +45,25 @@ fun LibraryCoverOnlyGridItem(
onClick: (LibraryManga) -> Unit,
onLongClick: (LibraryManga) -> Unit,
) {
val manga = item.manga
val libraryManga = item.libraryManga
val manga = libraryManga.manga
LibraryGridCover(
modifier = Modifier
.selectedOutline(isSelected)
.combinedClickable(
onClick = {
onClick(manga)
onClick(libraryManga)
},
onLongClick = {
onLongClick(manga)
onLongClick(libraryManga)
},
),
mangaCover = eu.kanade.domain.manga.model.MangaCover(
manga.id!!,
manga.id,
manga.source,
manga.favorite,
manga.thumbnail_url,
manga.cover_last_modified,
manga.thumbnailUrl,
manga.coverLastModified,
),
downloadCount = item.downloadCount,
unreadCount = item.unreadCount,

View File

@@ -56,8 +56,8 @@ fun MangaGridCover(
fun LibraryGridCover(
modifier: Modifier = Modifier,
mangaCover: eu.kanade.domain.manga.model.MangaCover,
downloadCount: Int,
unreadCount: Int,
downloadCount: Long,
unreadCount: Long,
isLocal: Boolean,
language: String,
content: @Composable BoxScope.() -> Unit = {},

View File

@@ -17,6 +17,7 @@ import androidx.compose.ui.res.stringResource
import androidx.compose.ui.text.style.TextOverflow
import androidx.compose.ui.unit.dp
import androidx.compose.ui.zIndex
import eu.kanade.domain.library.model.LibraryManga
import eu.kanade.domain.manga.model.MangaCover
import eu.kanade.presentation.components.Badge
import eu.kanade.presentation.components.BadgeGroup
@@ -28,7 +29,6 @@ import eu.kanade.presentation.util.horizontalPadding
import eu.kanade.presentation.util.selectedBackground
import eu.kanade.presentation.util.verticalPadding
import eu.kanade.tachiyomi.R
import eu.kanade.tachiyomi.data.database.models.LibraryManga
import eu.kanade.tachiyomi.ui.library.LibraryItem
@Composable
@@ -61,7 +61,7 @@ fun LibraryList(
) { libraryItem ->
LibraryListItem(
item = libraryItem,
isSelected = libraryItem.manga in selection,
isSelected = libraryItem.libraryManga in selection,
onClick = onClick,
onLongClick = onLongClick,
)
@@ -76,19 +76,20 @@ fun LibraryListItem(
onClick: (LibraryManga) -> Unit,
onLongClick: (LibraryManga) -> Unit,
) {
val manga = item.manga
val libraryManga = item.libraryManga
val manga = libraryManga.manga
MangaListItem(
modifier = Modifier.selectedBackground(isSelected),
title = manga.title,
cover = MangaCover(
manga.id!!,
manga.id,
manga.source,
manga.favorite,
manga.thumbnail_url,
manga.cover_last_modified,
manga.thumbnailUrl,
manga.coverLastModified,
),
onClick = { onClick(manga) },
onLongClick = { onLongClick(manga) },
onClick = { onClick(libraryManga) },
onLongClick = { onLongClick(libraryManga) },
) {
if (item.downloadCount > 0) {
Badge(

View File

@@ -13,7 +13,7 @@ import com.google.accompanist.pager.HorizontalPager
import com.google.accompanist.pager.PagerState
import eu.kanade.core.prefs.PreferenceMutableState
import eu.kanade.domain.library.model.LibraryDisplayMode
import eu.kanade.tachiyomi.data.database.models.LibraryManga
import eu.kanade.domain.library.model.LibraryManga
import eu.kanade.tachiyomi.ui.library.LibraryItem
@Composable