diff --git a/app/src/main/java/eu/kanade/tachiyomi/ui/browse/BulkFavoriteScreenModel.kt b/app/src/main/java/eu/kanade/tachiyomi/ui/browse/BulkFavoriteScreenModel.kt index a6824487c..ef7a1f835 100644 --- a/app/src/main/java/eu/kanade/tachiyomi/ui/browse/BulkFavoriteScreenModel.kt +++ b/app/src/main/java/eu/kanade/tachiyomi/ui/browse/BulkFavoriteScreenModel.kt @@ -25,6 +25,7 @@ import eu.kanade.presentation.components.AppBar import eu.kanade.presentation.components.BulkSelectionToolbar import eu.kanade.presentation.manga.DuplicateMangaDialog import eu.kanade.tachiyomi.data.cache.CoverCache +import eu.kanade.tachiyomi.ui.browse.BulkFavoriteScreenModel.Dialog import eu.kanade.tachiyomi.ui.browse.migration.advanced.design.PreMigrationScreen import eu.kanade.tachiyomi.ui.category.CategoryScreen import eu.kanade.tachiyomi.ui.manga.MangaScreen @@ -434,11 +435,47 @@ class BulkFavoriteScreenModel( ) } +/** + * Compose to shows the bulk favorite dialogs. + * + * @param bulkFavoriteScreenModel the screen model. + * @param dialog the dialog to show. + */ +@Composable +fun BulkFavoriteDialogs( + bulkFavoriteScreenModel: BulkFavoriteScreenModel, + dialog: Dialog?, +) { + when (dialog) { + /* Bulk-favorite actions */ + is Dialog.ChangeMangasCategory -> + ChangeMangasCategoryDialog(bulkFavoriteScreenModel) + + is Dialog.BulkAllowDuplicate -> + BulkAllowDuplicateDialog(bulkFavoriteScreenModel) + + /* Single-favorite actions for screens originally don't have it */ + is Dialog.AddDuplicateManga -> + AddDuplicateMangaDialog(bulkFavoriteScreenModel) + + is Dialog.RemoveManga -> + RemoveMangaDialog(bulkFavoriteScreenModel) + + is Dialog.ChangeMangaCategory -> + ChangeMangaCategoryDialog(bulkFavoriteScreenModel) + } +} + +/** + * Shows dialog to add a single manga to library when there are duplicates. + * + * @param bulkFavoriteScreenModel the screen model. + */ @Composable fun AddDuplicateMangaDialog(bulkFavoriteScreenModel: BulkFavoriteScreenModel) { val navigator = LocalNavigator.currentOrThrow val bulkFavoriteState by bulkFavoriteScreenModel.state.collectAsState() - val dialog = bulkFavoriteState.dialog as BulkFavoriteScreenModel.Dialog.AddDuplicateManga + val dialog = bulkFavoriteState.dialog as Dialog.AddDuplicateManga bulkFavoriteScreenModel.stopRunning() @@ -464,7 +501,7 @@ fun AddDuplicateMangaDialog(bulkFavoriteScreenModel: BulkFavoriteScreenModel) { @Composable fun RemoveMangaDialog(bulkFavoriteScreenModel: BulkFavoriteScreenModel) { val bulkFavoriteState by bulkFavoriteScreenModel.state.collectAsState() - val dialog = bulkFavoriteState.dialog as BulkFavoriteScreenModel.Dialog.RemoveManga + val dialog = bulkFavoriteState.dialog as Dialog.RemoveManga RemoveMangaDialog( onDismissRequest = bulkFavoriteScreenModel::dismissDialog, @@ -479,7 +516,7 @@ fun RemoveMangaDialog(bulkFavoriteScreenModel: BulkFavoriteScreenModel) { fun ChangeMangaCategoryDialog(bulkFavoriteScreenModel: BulkFavoriteScreenModel) { val navigator = LocalNavigator.currentOrThrow val bulkFavoriteState by bulkFavoriteScreenModel.state.collectAsState() - val dialog = bulkFavoriteState.dialog as BulkFavoriteScreenModel.Dialog.ChangeMangaCategory + val dialog = bulkFavoriteState.dialog as Dialog.ChangeMangaCategory ChangeCategoryDialog( initialSelection = dialog.initialSelection, @@ -496,7 +533,7 @@ fun ChangeMangaCategoryDialog(bulkFavoriteScreenModel: BulkFavoriteScreenModel) fun ChangeMangasCategoryDialog(bulkFavoriteScreenModel: BulkFavoriteScreenModel) { val navigator = LocalNavigator.currentOrThrow val bulkFavoriteState by bulkFavoriteScreenModel.state.collectAsState() - val dialog = bulkFavoriteState.dialog as BulkFavoriteScreenModel.Dialog.ChangeMangasCategory + val dialog = bulkFavoriteState.dialog as Dialog.ChangeMangasCategory ChangeCategoryDialog( initialSelection = dialog.initialSelection, @@ -508,11 +545,16 @@ fun ChangeMangasCategoryDialog(bulkFavoriteScreenModel: BulkFavoriteScreenModel) ) } +/** + * Shows dialog to bulk allow/skip or migrate multiple manga to library when there are duplicates. + * + * @param bulkFavoriteScreenModel the screen model. + */ @Composable fun BulkAllowDuplicateDialog(bulkFavoriteScreenModel: BulkFavoriteScreenModel) { val navigator = LocalNavigator.currentOrThrow val bulkFavoriteState by bulkFavoriteScreenModel.state.collectAsState() - val dialog = bulkFavoriteState.dialog as BulkFavoriteScreenModel.Dialog.BulkAllowDuplicate + val dialog = bulkFavoriteState.dialog as Dialog.BulkAllowDuplicate DuplicateMangaDialog( duplicates = dialog.duplicates, diff --git a/app/src/main/java/eu/kanade/tachiyomi/ui/browse/feed/FeedTab.kt b/app/src/main/java/eu/kanade/tachiyomi/ui/browse/feed/FeedTab.kt index 39948d35a..280ead41f 100644 --- a/app/src/main/java/eu/kanade/tachiyomi/ui/browse/feed/FeedTab.kt +++ b/app/src/main/java/eu/kanade/tachiyomi/ui/browse/feed/FeedTab.kt @@ -26,12 +26,8 @@ import eu.kanade.presentation.browse.components.FeedActionsDialog import eu.kanade.presentation.browse.components.SourceFeedDeleteDialog import eu.kanade.presentation.components.AppBar import eu.kanade.presentation.components.TabContent -import eu.kanade.tachiyomi.ui.browse.AddDuplicateMangaDialog -import eu.kanade.tachiyomi.ui.browse.BulkAllowDuplicateDialog +import eu.kanade.tachiyomi.ui.browse.BulkFavoriteDialogs import eu.kanade.tachiyomi.ui.browse.BulkFavoriteScreenModel -import eu.kanade.tachiyomi.ui.browse.ChangeMangaCategoryDialog -import eu.kanade.tachiyomi.ui.browse.ChangeMangasCategoryDialog -import eu.kanade.tachiyomi.ui.browse.RemoveMangaDialog import eu.kanade.tachiyomi.ui.browse.bulkSelectionButton import eu.kanade.tachiyomi.ui.browse.source.browse.BrowseSourceScreen import eu.kanade.tachiyomi.ui.home.HomeScreen @@ -242,19 +238,10 @@ fun feedTab( } // KMK --> - when (bulkFavoriteState.dialog) { - is BulkFavoriteScreenModel.Dialog.AddDuplicateManga -> - AddDuplicateMangaDialog(bulkFavoriteScreenModel) - is BulkFavoriteScreenModel.Dialog.RemoveManga -> - RemoveMangaDialog(bulkFavoriteScreenModel) - is BulkFavoriteScreenModel.Dialog.ChangeMangaCategory -> - ChangeMangaCategoryDialog(bulkFavoriteScreenModel) - is BulkFavoriteScreenModel.Dialog.ChangeMangasCategory -> - ChangeMangasCategoryDialog(bulkFavoriteScreenModel) - is BulkFavoriteScreenModel.Dialog.BulkAllowDuplicate -> - BulkAllowDuplicateDialog(bulkFavoriteScreenModel) - else -> {} - } + BulkFavoriteDialogs( + bulkFavoriteScreenModel = bulkFavoriteScreenModel, + dialog = bulkFavoriteState.dialog, + ) // KMK <-- val internalErrString = stringResource(MR.strings.internal_error) diff --git a/app/src/main/java/eu/kanade/tachiyomi/ui/browse/migration/search/MigrateSearchScreen.kt b/app/src/main/java/eu/kanade/tachiyomi/ui/browse/migration/search/MigrateSearchScreen.kt index 0deab5b77..d720e100a 100644 --- a/app/src/main/java/eu/kanade/tachiyomi/ui/browse/migration/search/MigrateSearchScreen.kt +++ b/app/src/main/java/eu/kanade/tachiyomi/ui/browse/migration/search/MigrateSearchScreen.kt @@ -9,9 +9,8 @@ import cafe.adriel.voyager.navigator.LocalNavigator import cafe.adriel.voyager.navigator.currentOrThrow import eu.kanade.presentation.browse.MigrateSearchScreen import eu.kanade.presentation.util.Screen -import eu.kanade.tachiyomi.ui.browse.BulkAllowDuplicateDialog +import eu.kanade.tachiyomi.ui.browse.BulkFavoriteDialogs import eu.kanade.tachiyomi.ui.browse.BulkFavoriteScreenModel -import eu.kanade.tachiyomi.ui.browse.ChangeMangasCategoryDialog import eu.kanade.tachiyomi.ui.browse.migration.advanced.process.MigrationListScreen import eu.kanade.tachiyomi.ui.manga.MangaScreen @@ -74,13 +73,10 @@ class MigrateSearchScreen(private val mangaId: Long, private val validSources: L ) // KMK --> - when (bulkFavoriteState.dialog) { - is BulkFavoriteScreenModel.Dialog.ChangeMangasCategory -> - ChangeMangasCategoryDialog(bulkFavoriteScreenModel) - is BulkFavoriteScreenModel.Dialog.BulkAllowDuplicate -> - BulkAllowDuplicateDialog(bulkFavoriteScreenModel) - else -> {} - } + BulkFavoriteDialogs( + bulkFavoriteScreenModel = bulkFavoriteScreenModel, + dialog = bulkFavoriteState.dialog, + ) // KMK <-- } } diff --git a/app/src/main/java/eu/kanade/tachiyomi/ui/browse/migration/search/SourceSearchScreen.kt b/app/src/main/java/eu/kanade/tachiyomi/ui/browse/migration/search/SourceSearchScreen.kt index 5b6d80cdd..b09e7782b 100644 --- a/app/src/main/java/eu/kanade/tachiyomi/ui/browse/migration/search/SourceSearchScreen.kt +++ b/app/src/main/java/eu/kanade/tachiyomi/ui/browse/migration/search/SourceSearchScreen.kt @@ -21,9 +21,8 @@ import eu.kanade.presentation.components.BulkSelectionToolbar import eu.kanade.presentation.components.SearchToolbar import eu.kanade.presentation.util.Screen import eu.kanade.tachiyomi.source.online.HttpSource -import eu.kanade.tachiyomi.ui.browse.BulkAllowDuplicateDialog +import eu.kanade.tachiyomi.ui.browse.BulkFavoriteDialogs import eu.kanade.tachiyomi.ui.browse.BulkFavoriteScreenModel -import eu.kanade.tachiyomi.ui.browse.ChangeMangasCategoryDialog import eu.kanade.tachiyomi.ui.browse.bulkSelectionButton import eu.kanade.tachiyomi.ui.browse.migration.advanced.process.MigrationListScreen import eu.kanade.tachiyomi.ui.browse.source.browse.BrowseSourceScreenModel @@ -213,13 +212,10 @@ data class SourceSearchScreen( } // KMK --> - when (bulkFavoriteState.dialog) { - is BulkFavoriteScreenModel.Dialog.ChangeMangasCategory -> - ChangeMangasCategoryDialog(bulkFavoriteScreenModel) - is BulkFavoriteScreenModel.Dialog.BulkAllowDuplicate -> - BulkAllowDuplicateDialog(bulkFavoriteScreenModel) - else -> {} - } + BulkFavoriteDialogs( + bulkFavoriteScreenModel = bulkFavoriteScreenModel, + dialog = bulkFavoriteState.dialog, + ) // KMK <-- } } diff --git a/app/src/main/java/eu/kanade/tachiyomi/ui/browse/source/browse/BrowseSourceScreen.kt b/app/src/main/java/eu/kanade/tachiyomi/ui/browse/source/browse/BrowseSourceScreen.kt index b923972da..d6b4ddb44 100644 --- a/app/src/main/java/eu/kanade/tachiyomi/ui/browse/source/browse/BrowseSourceScreen.kt +++ b/app/src/main/java/eu/kanade/tachiyomi/ui/browse/source/browse/BrowseSourceScreen.kt @@ -52,9 +52,8 @@ import eu.kanade.presentation.util.Screen import eu.kanade.tachiyomi.source.CatalogueSource import eu.kanade.tachiyomi.source.ConfigurableSource import eu.kanade.tachiyomi.source.online.HttpSource -import eu.kanade.tachiyomi.ui.browse.BulkAllowDuplicateDialog +import eu.kanade.tachiyomi.ui.browse.BulkFavoriteDialogs import eu.kanade.tachiyomi.ui.browse.BulkFavoriteScreenModel -import eu.kanade.tachiyomi.ui.browse.ChangeMangasCategoryDialog import eu.kanade.tachiyomi.ui.browse.extension.details.SourcePreferencesScreen import eu.kanade.tachiyomi.ui.browse.migration.advanced.design.PreMigrationScreen import eu.kanade.tachiyomi.ui.browse.source.SourcesScreen @@ -497,13 +496,10 @@ data class BrowseSourceScreen( } // KMK --> - when (bulkFavoriteState.dialog) { - is BulkFavoriteScreenModel.Dialog.ChangeMangasCategory -> - ChangeMangasCategoryDialog(bulkFavoriteScreenModel) - is BulkFavoriteScreenModel.Dialog.BulkAllowDuplicate -> - BulkAllowDuplicateDialog(bulkFavoriteScreenModel) - else -> {} - } + BulkFavoriteDialogs( + bulkFavoriteScreenModel = bulkFavoriteScreenModel, + dialog = bulkFavoriteState.dialog, + ) // KMK <-- LaunchedEffect(Unit) { diff --git a/app/src/main/java/eu/kanade/tachiyomi/ui/browse/source/feed/SourceFeedScreen.kt b/app/src/main/java/eu/kanade/tachiyomi/ui/browse/source/feed/SourceFeedScreen.kt index 43686931a..fb3fd96d8 100644 --- a/app/src/main/java/eu/kanade/tachiyomi/ui/browse/source/feed/SourceFeedScreen.kt +++ b/app/src/main/java/eu/kanade/tachiyomi/ui/browse/source/feed/SourceFeedScreen.kt @@ -27,12 +27,8 @@ import eu.kanade.presentation.util.Screen import eu.kanade.tachiyomi.source.ConfigurableSource import eu.kanade.tachiyomi.source.Source import eu.kanade.tachiyomi.source.online.HttpSource -import eu.kanade.tachiyomi.ui.browse.AddDuplicateMangaDialog -import eu.kanade.tachiyomi.ui.browse.BulkAllowDuplicateDialog +import eu.kanade.tachiyomi.ui.browse.BulkFavoriteDialogs import eu.kanade.tachiyomi.ui.browse.BulkFavoriteScreenModel -import eu.kanade.tachiyomi.ui.browse.ChangeMangaCategoryDialog -import eu.kanade.tachiyomi.ui.browse.ChangeMangasCategoryDialog -import eu.kanade.tachiyomi.ui.browse.RemoveMangaDialog import eu.kanade.tachiyomi.ui.browse.extension.details.SourcePreferencesScreen import eu.kanade.tachiyomi.ui.browse.source.browse.BrowseSourceScreen import eu.kanade.tachiyomi.ui.browse.source.browse.SourceFilterDialog @@ -290,19 +286,10 @@ class SourceFeedScreen(val sourceId: Long) : Screen() { } // KMK --> - when (bulkFavoriteState.dialog) { - is BulkFavoriteScreenModel.Dialog.AddDuplicateManga -> - AddDuplicateMangaDialog(bulkFavoriteScreenModel) - is BulkFavoriteScreenModel.Dialog.RemoveManga -> - RemoveMangaDialog(bulkFavoriteScreenModel) - is BulkFavoriteScreenModel.Dialog.ChangeMangaCategory -> - ChangeMangaCategoryDialog(bulkFavoriteScreenModel) - is BulkFavoriteScreenModel.Dialog.ChangeMangasCategory -> - ChangeMangasCategoryDialog(bulkFavoriteScreenModel) - is BulkFavoriteScreenModel.Dialog.BulkAllowDuplicate -> - BulkAllowDuplicateDialog(bulkFavoriteScreenModel) - else -> {} - } + BulkFavoriteDialogs( + bulkFavoriteScreenModel = bulkFavoriteScreenModel, + dialog = bulkFavoriteState.dialog, + ) // KMK <-- } diff --git a/app/src/main/java/eu/kanade/tachiyomi/ui/browse/source/globalsearch/GlobalSearchScreen.kt b/app/src/main/java/eu/kanade/tachiyomi/ui/browse/source/globalsearch/GlobalSearchScreen.kt index feb64b964..2db30432e 100644 --- a/app/src/main/java/eu/kanade/tachiyomi/ui/browse/source/globalsearch/GlobalSearchScreen.kt +++ b/app/src/main/java/eu/kanade/tachiyomi/ui/browse/source/globalsearch/GlobalSearchScreen.kt @@ -15,12 +15,8 @@ import cafe.adriel.voyager.navigator.currentOrThrow import eu.kanade.core.util.ifSourcesLoaded import eu.kanade.presentation.browse.GlobalSearchScreen import eu.kanade.presentation.util.Screen -import eu.kanade.tachiyomi.ui.browse.AddDuplicateMangaDialog -import eu.kanade.tachiyomi.ui.browse.BulkAllowDuplicateDialog +import eu.kanade.tachiyomi.ui.browse.BulkFavoriteDialogs import eu.kanade.tachiyomi.ui.browse.BulkFavoriteScreenModel -import eu.kanade.tachiyomi.ui.browse.ChangeMangaCategoryDialog -import eu.kanade.tachiyomi.ui.browse.ChangeMangasCategoryDialog -import eu.kanade.tachiyomi.ui.browse.RemoveMangaDialog import eu.kanade.tachiyomi.ui.browse.source.browse.BrowseSourceScreen import eu.kanade.tachiyomi.ui.manga.MangaScreen import tachiyomi.presentation.core.screens.LoadingScreen @@ -117,19 +113,10 @@ class GlobalSearchScreen( } // KMK --> - when (bulkFavoriteState.dialog) { - is BulkFavoriteScreenModel.Dialog.AddDuplicateManga -> - AddDuplicateMangaDialog(bulkFavoriteScreenModel) - is BulkFavoriteScreenModel.Dialog.RemoveManga -> - RemoveMangaDialog(bulkFavoriteScreenModel) - is BulkFavoriteScreenModel.Dialog.ChangeMangaCategory -> - ChangeMangaCategoryDialog(bulkFavoriteScreenModel) - is BulkFavoriteScreenModel.Dialog.ChangeMangasCategory -> - ChangeMangasCategoryDialog(bulkFavoriteScreenModel) - is BulkFavoriteScreenModel.Dialog.BulkAllowDuplicate -> - BulkAllowDuplicateDialog(bulkFavoriteScreenModel) - else -> {} - } + BulkFavoriteDialogs( + bulkFavoriteScreenModel = bulkFavoriteScreenModel, + dialog = bulkFavoriteState.dialog, + ) // KMK <-- } } 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 d7a75a85b..ee31c386f 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 @@ -63,12 +63,8 @@ import eu.kanade.tachiyomi.source.ConfigurableSource import eu.kanade.tachiyomi.source.Source import eu.kanade.tachiyomi.source.isLocalOrStub import eu.kanade.tachiyomi.source.online.HttpSource -import eu.kanade.tachiyomi.ui.browse.AddDuplicateMangaDialog -import eu.kanade.tachiyomi.ui.browse.BulkAllowDuplicateDialog +import eu.kanade.tachiyomi.ui.browse.BulkFavoriteDialogs import eu.kanade.tachiyomi.ui.browse.BulkFavoriteScreenModel -import eu.kanade.tachiyomi.ui.browse.ChangeMangaCategoryDialog -import eu.kanade.tachiyomi.ui.browse.ChangeMangasCategoryDialog -import eu.kanade.tachiyomi.ui.browse.RemoveMangaDialog import eu.kanade.tachiyomi.ui.browse.extension.ExtensionsScreen import eu.kanade.tachiyomi.ui.browse.extension.details.SourcePreferencesScreen import eu.kanade.tachiyomi.ui.browse.migration.advanced.design.PreMigrationScreen @@ -213,24 +209,10 @@ class MangaScreen( content() } - when (bulkFavoriteState.dialog) { - is BulkFavoriteScreenModel.Dialog.AddDuplicateManga -> - AddDuplicateMangaDialog(bulkFavoriteScreenModel) - - is BulkFavoriteScreenModel.Dialog.RemoveManga -> - RemoveMangaDialog(bulkFavoriteScreenModel) - - is BulkFavoriteScreenModel.Dialog.ChangeMangaCategory -> - ChangeMangaCategoryDialog(bulkFavoriteScreenModel) - - is BulkFavoriteScreenModel.Dialog.ChangeMangasCategory -> - ChangeMangasCategoryDialog(bulkFavoriteScreenModel) - - is BulkFavoriteScreenModel.Dialog.BulkAllowDuplicate -> - BulkAllowDuplicateDialog(bulkFavoriteScreenModel) - - else -> {} - } + BulkFavoriteDialogs( + bulkFavoriteScreenModel = bulkFavoriteScreenModel, + dialog = bulkFavoriteState.dialog, + ) } @Composable diff --git a/app/src/main/java/exh/md/follows/MangaDexFollowsScreen.kt b/app/src/main/java/exh/md/follows/MangaDexFollowsScreen.kt index 5d1d7327e..b6b119f3e 100644 --- a/app/src/main/java/exh/md/follows/MangaDexFollowsScreen.kt +++ b/app/src/main/java/exh/md/follows/MangaDexFollowsScreen.kt @@ -22,9 +22,8 @@ import eu.kanade.presentation.category.components.ChangeCategoryDialog import eu.kanade.presentation.components.BulkSelectionToolbar import eu.kanade.presentation.manga.DuplicateMangaDialog import eu.kanade.presentation.util.Screen -import eu.kanade.tachiyomi.ui.browse.BulkAllowDuplicateDialog +import eu.kanade.tachiyomi.ui.browse.BulkFavoriteDialogs import eu.kanade.tachiyomi.ui.browse.BulkFavoriteScreenModel -import eu.kanade.tachiyomi.ui.browse.ChangeMangasCategoryDialog import eu.kanade.tachiyomi.ui.browse.migration.advanced.design.PreMigrationScreen import eu.kanade.tachiyomi.ui.browse.source.browse.BrowseSourceScreenModel import eu.kanade.tachiyomi.ui.category.CategoryScreen @@ -202,13 +201,10 @@ class MangaDexFollowsScreen(private val sourceId: Long) : Screen() { } // KMK --> - when (bulkFavoriteState.dialog) { - is BulkFavoriteScreenModel.Dialog.ChangeMangasCategory -> - ChangeMangasCategoryDialog(bulkFavoriteScreenModel) - is BulkFavoriteScreenModel.Dialog.BulkAllowDuplicate -> - BulkAllowDuplicateDialog(bulkFavoriteScreenModel) - else -> {} - } + BulkFavoriteDialogs( + bulkFavoriteScreenModel = bulkFavoriteScreenModel, + dialog = bulkFavoriteState.dialog, + ) // KMK <-- } } diff --git a/app/src/main/java/exh/recs/BrowseRecommendsScreen.kt b/app/src/main/java/exh/recs/BrowseRecommendsScreen.kt index ee55aec57..b43f9dc1f 100644 --- a/app/src/main/java/exh/recs/BrowseRecommendsScreen.kt +++ b/app/src/main/java/exh/recs/BrowseRecommendsScreen.kt @@ -18,12 +18,8 @@ import eu.kanade.presentation.browse.BrowseSourceContent import eu.kanade.presentation.browse.components.BrowseSourceSimpleToolbar import eu.kanade.presentation.components.BulkSelectionToolbar import eu.kanade.presentation.util.Screen -import eu.kanade.tachiyomi.ui.browse.AddDuplicateMangaDialog -import eu.kanade.tachiyomi.ui.browse.BulkAllowDuplicateDialog +import eu.kanade.tachiyomi.ui.browse.BulkFavoriteDialogs import eu.kanade.tachiyomi.ui.browse.BulkFavoriteScreenModel -import eu.kanade.tachiyomi.ui.browse.ChangeMangaCategoryDialog -import eu.kanade.tachiyomi.ui.browse.ChangeMangasCategoryDialog -import eu.kanade.tachiyomi.ui.browse.RemoveMangaDialog import eu.kanade.tachiyomi.ui.browse.source.SourcesScreen import eu.kanade.tachiyomi.ui.manga.MangaScreen import eu.kanade.tachiyomi.ui.webview.WebViewActivity @@ -169,19 +165,10 @@ class BrowseRecommendsScreen( } // KMK --> - when (bulkFavoriteState.dialog) { - is BulkFavoriteScreenModel.Dialog.AddDuplicateManga -> - AddDuplicateMangaDialog(bulkFavoriteScreenModel) - is BulkFavoriteScreenModel.Dialog.RemoveManga -> - RemoveMangaDialog(bulkFavoriteScreenModel) - is BulkFavoriteScreenModel.Dialog.ChangeMangaCategory -> - ChangeMangaCategoryDialog(bulkFavoriteScreenModel) - is BulkFavoriteScreenModel.Dialog.ChangeMangasCategory -> - ChangeMangasCategoryDialog(bulkFavoriteScreenModel) - is BulkFavoriteScreenModel.Dialog.BulkAllowDuplicate -> - BulkAllowDuplicateDialog(bulkFavoriteScreenModel) - else -> {} - } + BulkFavoriteDialogs( + bulkFavoriteScreenModel = bulkFavoriteScreenModel, + dialog = bulkFavoriteState.dialog, + ) // KMK <-- } } diff --git a/app/src/main/java/exh/recs/RecommendsScreen.kt b/app/src/main/java/exh/recs/RecommendsScreen.kt index 3dddd5fec..61d116dd2 100644 --- a/app/src/main/java/exh/recs/RecommendsScreen.kt +++ b/app/src/main/java/exh/recs/RecommendsScreen.kt @@ -11,12 +11,8 @@ import cafe.adriel.voyager.navigator.LocalNavigator import cafe.adriel.voyager.navigator.currentOrThrow import eu.kanade.core.util.ifSourcesLoaded import eu.kanade.presentation.util.Screen -import eu.kanade.tachiyomi.ui.browse.AddDuplicateMangaDialog -import eu.kanade.tachiyomi.ui.browse.BulkAllowDuplicateDialog +import eu.kanade.tachiyomi.ui.browse.BulkFavoriteDialogs import eu.kanade.tachiyomi.ui.browse.BulkFavoriteScreenModel -import eu.kanade.tachiyomi.ui.browse.ChangeMangaCategoryDialog -import eu.kanade.tachiyomi.ui.browse.ChangeMangasCategoryDialog -import eu.kanade.tachiyomi.ui.browse.RemoveMangaDialog import eu.kanade.tachiyomi.ui.browse.source.SourcesScreen import eu.kanade.tachiyomi.ui.manga.MangaScreen import eu.kanade.tachiyomi.ui.webview.WebViewActivity @@ -97,19 +93,10 @@ class RecommendsScreen(val mangaId: Long, val sourceId: Long) : Screen() { ) // KMK --> - when (bulkFavoriteState.dialog) { - is BulkFavoriteScreenModel.Dialog.AddDuplicateManga -> - AddDuplicateMangaDialog(bulkFavoriteScreenModel) - is BulkFavoriteScreenModel.Dialog.RemoveManga -> - RemoveMangaDialog(bulkFavoriteScreenModel) - is BulkFavoriteScreenModel.Dialog.ChangeMangaCategory -> - ChangeMangaCategoryDialog(bulkFavoriteScreenModel) - is BulkFavoriteScreenModel.Dialog.ChangeMangasCategory -> - ChangeMangasCategoryDialog(bulkFavoriteScreenModel) - is BulkFavoriteScreenModel.Dialog.BulkAllowDuplicate -> - BulkAllowDuplicateDialog(bulkFavoriteScreenModel) - else -> {} - } + BulkFavoriteDialogs( + bulkFavoriteScreenModel = bulkFavoriteScreenModel, + dialog = bulkFavoriteState.dialog, + ) // KMK <-- } }