Combine Bulk-favorite's dialogs into one reusable compose

This commit is contained in:
Cuong-Tran 2025-04-07 12:25:24 +07:00
parent 28fae3657a
commit d89180fb10
No known key found for this signature in database
GPG key ID: 733AA7624B9315C2
11 changed files with 97 additions and 154 deletions

View file

@ -25,6 +25,7 @@ import eu.kanade.presentation.components.AppBar
import eu.kanade.presentation.components.BulkSelectionToolbar import eu.kanade.presentation.components.BulkSelectionToolbar
import eu.kanade.presentation.manga.DuplicateMangaDialog import eu.kanade.presentation.manga.DuplicateMangaDialog
import eu.kanade.tachiyomi.data.cache.CoverCache 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.browse.migration.advanced.design.PreMigrationScreen
import eu.kanade.tachiyomi.ui.category.CategoryScreen import eu.kanade.tachiyomi.ui.category.CategoryScreen
import eu.kanade.tachiyomi.ui.manga.MangaScreen 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 @Composable
fun AddDuplicateMangaDialog(bulkFavoriteScreenModel: BulkFavoriteScreenModel) { fun AddDuplicateMangaDialog(bulkFavoriteScreenModel: BulkFavoriteScreenModel) {
val navigator = LocalNavigator.currentOrThrow val navigator = LocalNavigator.currentOrThrow
val bulkFavoriteState by bulkFavoriteScreenModel.state.collectAsState() val bulkFavoriteState by bulkFavoriteScreenModel.state.collectAsState()
val dialog = bulkFavoriteState.dialog as BulkFavoriteScreenModel.Dialog.AddDuplicateManga val dialog = bulkFavoriteState.dialog as Dialog.AddDuplicateManga
bulkFavoriteScreenModel.stopRunning() bulkFavoriteScreenModel.stopRunning()
@ -464,7 +501,7 @@ fun AddDuplicateMangaDialog(bulkFavoriteScreenModel: BulkFavoriteScreenModel) {
@Composable @Composable
fun RemoveMangaDialog(bulkFavoriteScreenModel: BulkFavoriteScreenModel) { fun RemoveMangaDialog(bulkFavoriteScreenModel: BulkFavoriteScreenModel) {
val bulkFavoriteState by bulkFavoriteScreenModel.state.collectAsState() val bulkFavoriteState by bulkFavoriteScreenModel.state.collectAsState()
val dialog = bulkFavoriteState.dialog as BulkFavoriteScreenModel.Dialog.RemoveManga val dialog = bulkFavoriteState.dialog as Dialog.RemoveManga
RemoveMangaDialog( RemoveMangaDialog(
onDismissRequest = bulkFavoriteScreenModel::dismissDialog, onDismissRequest = bulkFavoriteScreenModel::dismissDialog,
@ -479,7 +516,7 @@ fun RemoveMangaDialog(bulkFavoriteScreenModel: BulkFavoriteScreenModel) {
fun ChangeMangaCategoryDialog(bulkFavoriteScreenModel: BulkFavoriteScreenModel) { fun ChangeMangaCategoryDialog(bulkFavoriteScreenModel: BulkFavoriteScreenModel) {
val navigator = LocalNavigator.currentOrThrow val navigator = LocalNavigator.currentOrThrow
val bulkFavoriteState by bulkFavoriteScreenModel.state.collectAsState() val bulkFavoriteState by bulkFavoriteScreenModel.state.collectAsState()
val dialog = bulkFavoriteState.dialog as BulkFavoriteScreenModel.Dialog.ChangeMangaCategory val dialog = bulkFavoriteState.dialog as Dialog.ChangeMangaCategory
ChangeCategoryDialog( ChangeCategoryDialog(
initialSelection = dialog.initialSelection, initialSelection = dialog.initialSelection,
@ -496,7 +533,7 @@ fun ChangeMangaCategoryDialog(bulkFavoriteScreenModel: BulkFavoriteScreenModel)
fun ChangeMangasCategoryDialog(bulkFavoriteScreenModel: BulkFavoriteScreenModel) { fun ChangeMangasCategoryDialog(bulkFavoriteScreenModel: BulkFavoriteScreenModel) {
val navigator = LocalNavigator.currentOrThrow val navigator = LocalNavigator.currentOrThrow
val bulkFavoriteState by bulkFavoriteScreenModel.state.collectAsState() val bulkFavoriteState by bulkFavoriteScreenModel.state.collectAsState()
val dialog = bulkFavoriteState.dialog as BulkFavoriteScreenModel.Dialog.ChangeMangasCategory val dialog = bulkFavoriteState.dialog as Dialog.ChangeMangasCategory
ChangeCategoryDialog( ChangeCategoryDialog(
initialSelection = dialog.initialSelection, 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 @Composable
fun BulkAllowDuplicateDialog(bulkFavoriteScreenModel: BulkFavoriteScreenModel) { fun BulkAllowDuplicateDialog(bulkFavoriteScreenModel: BulkFavoriteScreenModel) {
val navigator = LocalNavigator.currentOrThrow val navigator = LocalNavigator.currentOrThrow
val bulkFavoriteState by bulkFavoriteScreenModel.state.collectAsState() val bulkFavoriteState by bulkFavoriteScreenModel.state.collectAsState()
val dialog = bulkFavoriteState.dialog as BulkFavoriteScreenModel.Dialog.BulkAllowDuplicate val dialog = bulkFavoriteState.dialog as Dialog.BulkAllowDuplicate
DuplicateMangaDialog( DuplicateMangaDialog(
duplicates = dialog.duplicates, duplicates = dialog.duplicates,

View file

@ -26,12 +26,8 @@ import eu.kanade.presentation.browse.components.FeedActionsDialog
import eu.kanade.presentation.browse.components.SourceFeedDeleteDialog import eu.kanade.presentation.browse.components.SourceFeedDeleteDialog
import eu.kanade.presentation.components.AppBar import eu.kanade.presentation.components.AppBar
import eu.kanade.presentation.components.TabContent import eu.kanade.presentation.components.TabContent
import eu.kanade.tachiyomi.ui.browse.AddDuplicateMangaDialog import eu.kanade.tachiyomi.ui.browse.BulkFavoriteDialogs
import eu.kanade.tachiyomi.ui.browse.BulkAllowDuplicateDialog
import eu.kanade.tachiyomi.ui.browse.BulkFavoriteScreenModel 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.bulkSelectionButton
import eu.kanade.tachiyomi.ui.browse.source.browse.BrowseSourceScreen import eu.kanade.tachiyomi.ui.browse.source.browse.BrowseSourceScreen
import eu.kanade.tachiyomi.ui.home.HomeScreen import eu.kanade.tachiyomi.ui.home.HomeScreen
@ -242,19 +238,10 @@ fun feedTab(
} }
// KMK --> // KMK -->
when (bulkFavoriteState.dialog) { BulkFavoriteDialogs(
is BulkFavoriteScreenModel.Dialog.AddDuplicateManga -> bulkFavoriteScreenModel = bulkFavoriteScreenModel,
AddDuplicateMangaDialog(bulkFavoriteScreenModel) dialog = bulkFavoriteState.dialog,
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 -> {}
}
// KMK <-- // KMK <--
val internalErrString = stringResource(MR.strings.internal_error) val internalErrString = stringResource(MR.strings.internal_error)

View file

@ -9,9 +9,8 @@ import cafe.adriel.voyager.navigator.LocalNavigator
import cafe.adriel.voyager.navigator.currentOrThrow import cafe.adriel.voyager.navigator.currentOrThrow
import eu.kanade.presentation.browse.MigrateSearchScreen import eu.kanade.presentation.browse.MigrateSearchScreen
import eu.kanade.presentation.util.Screen 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.BulkFavoriteScreenModel
import eu.kanade.tachiyomi.ui.browse.ChangeMangasCategoryDialog
import eu.kanade.tachiyomi.ui.browse.migration.advanced.process.MigrationListScreen import eu.kanade.tachiyomi.ui.browse.migration.advanced.process.MigrationListScreen
import eu.kanade.tachiyomi.ui.manga.MangaScreen import eu.kanade.tachiyomi.ui.manga.MangaScreen
@ -74,13 +73,10 @@ class MigrateSearchScreen(private val mangaId: Long, private val validSources: L
) )
// KMK --> // KMK -->
when (bulkFavoriteState.dialog) { BulkFavoriteDialogs(
is BulkFavoriteScreenModel.Dialog.ChangeMangasCategory -> bulkFavoriteScreenModel = bulkFavoriteScreenModel,
ChangeMangasCategoryDialog(bulkFavoriteScreenModel) dialog = bulkFavoriteState.dialog,
is BulkFavoriteScreenModel.Dialog.BulkAllowDuplicate -> )
BulkAllowDuplicateDialog(bulkFavoriteScreenModel)
else -> {}
}
// KMK <-- // KMK <--
} }
} }

View file

@ -21,9 +21,8 @@ import eu.kanade.presentation.components.BulkSelectionToolbar
import eu.kanade.presentation.components.SearchToolbar import eu.kanade.presentation.components.SearchToolbar
import eu.kanade.presentation.util.Screen import eu.kanade.presentation.util.Screen
import eu.kanade.tachiyomi.source.online.HttpSource 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.BulkFavoriteScreenModel
import eu.kanade.tachiyomi.ui.browse.ChangeMangasCategoryDialog
import eu.kanade.tachiyomi.ui.browse.bulkSelectionButton import eu.kanade.tachiyomi.ui.browse.bulkSelectionButton
import eu.kanade.tachiyomi.ui.browse.migration.advanced.process.MigrationListScreen import eu.kanade.tachiyomi.ui.browse.migration.advanced.process.MigrationListScreen
import eu.kanade.tachiyomi.ui.browse.source.browse.BrowseSourceScreenModel import eu.kanade.tachiyomi.ui.browse.source.browse.BrowseSourceScreenModel
@ -213,13 +212,10 @@ data class SourceSearchScreen(
} }
// KMK --> // KMK -->
when (bulkFavoriteState.dialog) { BulkFavoriteDialogs(
is BulkFavoriteScreenModel.Dialog.ChangeMangasCategory -> bulkFavoriteScreenModel = bulkFavoriteScreenModel,
ChangeMangasCategoryDialog(bulkFavoriteScreenModel) dialog = bulkFavoriteState.dialog,
is BulkFavoriteScreenModel.Dialog.BulkAllowDuplicate -> )
BulkAllowDuplicateDialog(bulkFavoriteScreenModel)
else -> {}
}
// KMK <-- // KMK <--
} }
} }

View file

@ -52,9 +52,8 @@ import eu.kanade.presentation.util.Screen
import eu.kanade.tachiyomi.source.CatalogueSource import eu.kanade.tachiyomi.source.CatalogueSource
import eu.kanade.tachiyomi.source.ConfigurableSource import eu.kanade.tachiyomi.source.ConfigurableSource
import eu.kanade.tachiyomi.source.online.HttpSource 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.BulkFavoriteScreenModel
import eu.kanade.tachiyomi.ui.browse.ChangeMangasCategoryDialog
import eu.kanade.tachiyomi.ui.browse.extension.details.SourcePreferencesScreen 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.migration.advanced.design.PreMigrationScreen
import eu.kanade.tachiyomi.ui.browse.source.SourcesScreen import eu.kanade.tachiyomi.ui.browse.source.SourcesScreen
@ -497,13 +496,10 @@ data class BrowseSourceScreen(
} }
// KMK --> // KMK -->
when (bulkFavoriteState.dialog) { BulkFavoriteDialogs(
is BulkFavoriteScreenModel.Dialog.ChangeMangasCategory -> bulkFavoriteScreenModel = bulkFavoriteScreenModel,
ChangeMangasCategoryDialog(bulkFavoriteScreenModel) dialog = bulkFavoriteState.dialog,
is BulkFavoriteScreenModel.Dialog.BulkAllowDuplicate -> )
BulkAllowDuplicateDialog(bulkFavoriteScreenModel)
else -> {}
}
// KMK <-- // KMK <--
LaunchedEffect(Unit) { LaunchedEffect(Unit) {

View file

@ -27,12 +27,8 @@ import eu.kanade.presentation.util.Screen
import eu.kanade.tachiyomi.source.ConfigurableSource import eu.kanade.tachiyomi.source.ConfigurableSource
import eu.kanade.tachiyomi.source.Source import eu.kanade.tachiyomi.source.Source
import eu.kanade.tachiyomi.source.online.HttpSource import eu.kanade.tachiyomi.source.online.HttpSource
import eu.kanade.tachiyomi.ui.browse.AddDuplicateMangaDialog import eu.kanade.tachiyomi.ui.browse.BulkFavoriteDialogs
import eu.kanade.tachiyomi.ui.browse.BulkAllowDuplicateDialog
import eu.kanade.tachiyomi.ui.browse.BulkFavoriteScreenModel 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.extension.details.SourcePreferencesScreen
import eu.kanade.tachiyomi.ui.browse.source.browse.BrowseSourceScreen import eu.kanade.tachiyomi.ui.browse.source.browse.BrowseSourceScreen
import eu.kanade.tachiyomi.ui.browse.source.browse.SourceFilterDialog import eu.kanade.tachiyomi.ui.browse.source.browse.SourceFilterDialog
@ -290,19 +286,10 @@ class SourceFeedScreen(val sourceId: Long) : Screen() {
} }
// KMK --> // KMK -->
when (bulkFavoriteState.dialog) { BulkFavoriteDialogs(
is BulkFavoriteScreenModel.Dialog.AddDuplicateManga -> bulkFavoriteScreenModel = bulkFavoriteScreenModel,
AddDuplicateMangaDialog(bulkFavoriteScreenModel) dialog = bulkFavoriteState.dialog,
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 -> {}
}
// KMK <-- // KMK <--
} }

View file

@ -15,12 +15,8 @@ import cafe.adriel.voyager.navigator.currentOrThrow
import eu.kanade.core.util.ifSourcesLoaded import eu.kanade.core.util.ifSourcesLoaded
import eu.kanade.presentation.browse.GlobalSearchScreen import eu.kanade.presentation.browse.GlobalSearchScreen
import eu.kanade.presentation.util.Screen import eu.kanade.presentation.util.Screen
import eu.kanade.tachiyomi.ui.browse.AddDuplicateMangaDialog import eu.kanade.tachiyomi.ui.browse.BulkFavoriteDialogs
import eu.kanade.tachiyomi.ui.browse.BulkAllowDuplicateDialog
import eu.kanade.tachiyomi.ui.browse.BulkFavoriteScreenModel 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.browse.source.browse.BrowseSourceScreen
import eu.kanade.tachiyomi.ui.manga.MangaScreen import eu.kanade.tachiyomi.ui.manga.MangaScreen
import tachiyomi.presentation.core.screens.LoadingScreen import tachiyomi.presentation.core.screens.LoadingScreen
@ -117,19 +113,10 @@ class GlobalSearchScreen(
} }
// KMK --> // KMK -->
when (bulkFavoriteState.dialog) { BulkFavoriteDialogs(
is BulkFavoriteScreenModel.Dialog.AddDuplicateManga -> bulkFavoriteScreenModel = bulkFavoriteScreenModel,
AddDuplicateMangaDialog(bulkFavoriteScreenModel) dialog = bulkFavoriteState.dialog,
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 -> {}
}
// KMK <-- // KMK <--
} }
} }

View file

@ -63,12 +63,8 @@ import eu.kanade.tachiyomi.source.ConfigurableSource
import eu.kanade.tachiyomi.source.Source import eu.kanade.tachiyomi.source.Source
import eu.kanade.tachiyomi.source.isLocalOrStub import eu.kanade.tachiyomi.source.isLocalOrStub
import eu.kanade.tachiyomi.source.online.HttpSource import eu.kanade.tachiyomi.source.online.HttpSource
import eu.kanade.tachiyomi.ui.browse.AddDuplicateMangaDialog import eu.kanade.tachiyomi.ui.browse.BulkFavoriteDialogs
import eu.kanade.tachiyomi.ui.browse.BulkAllowDuplicateDialog
import eu.kanade.tachiyomi.ui.browse.BulkFavoriteScreenModel 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.ExtensionsScreen
import eu.kanade.tachiyomi.ui.browse.extension.details.SourcePreferencesScreen 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.migration.advanced.design.PreMigrationScreen
@ -213,24 +209,10 @@ class MangaScreen(
content() content()
} }
when (bulkFavoriteState.dialog) { BulkFavoriteDialogs(
is BulkFavoriteScreenModel.Dialog.AddDuplicateManga -> bulkFavoriteScreenModel = bulkFavoriteScreenModel,
AddDuplicateMangaDialog(bulkFavoriteScreenModel) dialog = bulkFavoriteState.dialog,
)
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 -> {}
}
} }
@Composable @Composable

View file

@ -22,9 +22,8 @@ import eu.kanade.presentation.category.components.ChangeCategoryDialog
import eu.kanade.presentation.components.BulkSelectionToolbar import eu.kanade.presentation.components.BulkSelectionToolbar
import eu.kanade.presentation.manga.DuplicateMangaDialog import eu.kanade.presentation.manga.DuplicateMangaDialog
import eu.kanade.presentation.util.Screen 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.BulkFavoriteScreenModel
import eu.kanade.tachiyomi.ui.browse.ChangeMangasCategoryDialog
import eu.kanade.tachiyomi.ui.browse.migration.advanced.design.PreMigrationScreen import eu.kanade.tachiyomi.ui.browse.migration.advanced.design.PreMigrationScreen
import eu.kanade.tachiyomi.ui.browse.source.browse.BrowseSourceScreenModel import eu.kanade.tachiyomi.ui.browse.source.browse.BrowseSourceScreenModel
import eu.kanade.tachiyomi.ui.category.CategoryScreen import eu.kanade.tachiyomi.ui.category.CategoryScreen
@ -202,13 +201,10 @@ class MangaDexFollowsScreen(private val sourceId: Long) : Screen() {
} }
// KMK --> // KMK -->
when (bulkFavoriteState.dialog) { BulkFavoriteDialogs(
is BulkFavoriteScreenModel.Dialog.ChangeMangasCategory -> bulkFavoriteScreenModel = bulkFavoriteScreenModel,
ChangeMangasCategoryDialog(bulkFavoriteScreenModel) dialog = bulkFavoriteState.dialog,
is BulkFavoriteScreenModel.Dialog.BulkAllowDuplicate -> )
BulkAllowDuplicateDialog(bulkFavoriteScreenModel)
else -> {}
}
// KMK <-- // KMK <--
} }
} }

View file

@ -18,12 +18,8 @@ import eu.kanade.presentation.browse.BrowseSourceContent
import eu.kanade.presentation.browse.components.BrowseSourceSimpleToolbar import eu.kanade.presentation.browse.components.BrowseSourceSimpleToolbar
import eu.kanade.presentation.components.BulkSelectionToolbar import eu.kanade.presentation.components.BulkSelectionToolbar
import eu.kanade.presentation.util.Screen import eu.kanade.presentation.util.Screen
import eu.kanade.tachiyomi.ui.browse.AddDuplicateMangaDialog import eu.kanade.tachiyomi.ui.browse.BulkFavoriteDialogs
import eu.kanade.tachiyomi.ui.browse.BulkAllowDuplicateDialog
import eu.kanade.tachiyomi.ui.browse.BulkFavoriteScreenModel 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.browse.source.SourcesScreen
import eu.kanade.tachiyomi.ui.manga.MangaScreen import eu.kanade.tachiyomi.ui.manga.MangaScreen
import eu.kanade.tachiyomi.ui.webview.WebViewActivity import eu.kanade.tachiyomi.ui.webview.WebViewActivity
@ -169,19 +165,10 @@ class BrowseRecommendsScreen(
} }
// KMK --> // KMK -->
when (bulkFavoriteState.dialog) { BulkFavoriteDialogs(
is BulkFavoriteScreenModel.Dialog.AddDuplicateManga -> bulkFavoriteScreenModel = bulkFavoriteScreenModel,
AddDuplicateMangaDialog(bulkFavoriteScreenModel) dialog = bulkFavoriteState.dialog,
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 -> {}
}
// KMK <-- // KMK <--
} }
} }

View file

@ -11,12 +11,8 @@ import cafe.adriel.voyager.navigator.LocalNavigator
import cafe.adriel.voyager.navigator.currentOrThrow import cafe.adriel.voyager.navigator.currentOrThrow
import eu.kanade.core.util.ifSourcesLoaded import eu.kanade.core.util.ifSourcesLoaded
import eu.kanade.presentation.util.Screen import eu.kanade.presentation.util.Screen
import eu.kanade.tachiyomi.ui.browse.AddDuplicateMangaDialog import eu.kanade.tachiyomi.ui.browse.BulkFavoriteDialogs
import eu.kanade.tachiyomi.ui.browse.BulkAllowDuplicateDialog
import eu.kanade.tachiyomi.ui.browse.BulkFavoriteScreenModel 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.browse.source.SourcesScreen
import eu.kanade.tachiyomi.ui.manga.MangaScreen import eu.kanade.tachiyomi.ui.manga.MangaScreen
import eu.kanade.tachiyomi.ui.webview.WebViewActivity import eu.kanade.tachiyomi.ui.webview.WebViewActivity
@ -97,19 +93,10 @@ class RecommendsScreen(val mangaId: Long, val sourceId: Long) : Screen() {
) )
// KMK --> // KMK -->
when (bulkFavoriteState.dialog) { BulkFavoriteDialogs(
is BulkFavoriteScreenModel.Dialog.AddDuplicateManga -> bulkFavoriteScreenModel = bulkFavoriteScreenModel,
AddDuplicateMangaDialog(bulkFavoriteScreenModel) dialog = bulkFavoriteState.dialog,
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 -> {}
}
// KMK <-- // KMK <--
} }
} }