diff --git a/app/src/main/java/eu/kanade/presentation/manga/MangaScreenConstants.kt b/app/src/main/java/eu/kanade/presentation/manga/MangaScreenConstants.kt index 1a1438053..4353a642f 100644 --- a/app/src/main/java/eu/kanade/presentation/manga/MangaScreenConstants.kt +++ b/app/src/main/java/eu/kanade/presentation/manga/MangaScreenConstants.kt @@ -12,6 +12,7 @@ enum class DownloadAction { enum class EditCoverAction { EDIT, DELETE, + ADD_TO_LIBRARY, } enum class MangaScreenItem { diff --git a/app/src/main/java/eu/kanade/presentation/manga/components/MangaCoverDialog.kt b/app/src/main/java/eu/kanade/presentation/manga/components/MangaCoverDialog.kt index 3756bbe25..51e35afee 100644 --- a/app/src/main/java/eu/kanade/presentation/manga/components/MangaCoverDialog.kt +++ b/app/src/main/java/eu/kanade/presentation/manga/components/MangaCoverDialog.kt @@ -65,6 +65,7 @@ import tachiyomi.i18n.MR import tachiyomi.presentation.core.components.material.Scaffold import tachiyomi.presentation.core.i18n.stringResource import tachiyomi.presentation.core.util.clickableNoIndication +import tachiyomi.source.local.isLocal @Composable fun MangaCoverDialog( @@ -125,10 +126,12 @@ fun MangaCoverDialog( var expanded by remember { mutableStateOf(false) } IconButton( onClick = { - if (isCustomCover) { - expanded = true - } else { - onEditClick(EditCoverAction.EDIT) + when { + !manga.favorite && !manga.isLocal() -> { + onEditClick(EditCoverAction.ADD_TO_LIBRARY) + } + isCustomCover -> expanded = true + else -> onEditClick(EditCoverAction.EDIT) } }, ) { diff --git a/app/src/main/java/eu/kanade/tachiyomi/ui/manga/MangaCoverViewModel.kt b/app/src/main/java/eu/kanade/tachiyomi/ui/manga/MangaCoverViewModel.kt index dae1829a6..797722d18 100644 --- a/app/src/main/java/eu/kanade/tachiyomi/ui/manga/MangaCoverViewModel.kt +++ b/app/src/main/java/eu/kanade/tachiyomi/ui/manga/MangaCoverViewModel.kt @@ -160,6 +160,15 @@ class MangaCoverViewModel( } } + fun addToLibraryWarning(context: Context) { + viewModelScope.launch { + snackbarHostState.showSnackbar( + context.stringResource(MR.strings.notification_first_add_to_library), + withDismissAction = true, + ) + } + } + private fun notifyCoverUpdated(context: Context) { viewModelScope.launch { snackbarHostState.showSnackbar( diff --git a/app/src/main/java/eu/kanade/tachiyomi/ui/manga/MangaScreen.kt b/app/src/main/java/eu/kanade/tachiyomi/ui/manga/MangaScreen.kt index c2a9e31b6..581944f3d 100644 --- a/app/src/main/java/eu/kanade/tachiyomi/ui/manga/MangaScreen.kt +++ b/app/src/main/java/eu/kanade/tachiyomi/ui/manga/MangaScreen.kt @@ -253,6 +253,7 @@ class MangaScreen( when (it) { EditCoverAction.EDIT -> getContent.launch("image/*") EditCoverAction.DELETE -> vm.deleteCustomCover(context) + EditCoverAction.ADD_TO_LIBRARY -> vm.addToLibraryWarning(context) } }, onDismissRequest = onDismissRequest,