Fix filter FAB not working in migrate screen

I feel like this needs to be aligned with the browse screen/deduped somehow, but that can happen separately.

Fixes #9444
This commit is contained in:
arkon 2023-05-06 12:27:44 -04:00
parent 2f5eb73d29
commit 1b25290d39

View File

@ -25,6 +25,7 @@ import eu.kanade.presentation.util.Screen
import eu.kanade.tachiyomi.R import eu.kanade.tachiyomi.R
import eu.kanade.tachiyomi.source.online.HttpSource import eu.kanade.tachiyomi.source.online.HttpSource
import eu.kanade.tachiyomi.ui.browse.source.browse.BrowseSourceScreenModel import eu.kanade.tachiyomi.ui.browse.source.browse.BrowseSourceScreenModel
import eu.kanade.tachiyomi.ui.browse.source.browse.SourceFilterDialog
import eu.kanade.tachiyomi.ui.home.HomeScreen import eu.kanade.tachiyomi.ui.home.HomeScreen
import eu.kanade.tachiyomi.ui.manga.MangaScreen import eu.kanade.tachiyomi.ui.manga.MangaScreen
import eu.kanade.tachiyomi.ui.webview.WebViewScreen import eu.kanade.tachiyomi.ui.webview.WebViewScreen
@ -101,13 +102,23 @@ data class SourceSearchScreen(
) )
} }
val onDismissRequest = { screenModel.setDialog(null) }
when (val dialog = state.dialog) { when (val dialog = state.dialog) {
is BrowseSourceScreenModel.Dialog.Filter -> {
SourceFilterDialog(
onDismissRequest = onDismissRequest,
filters = state.filters,
onReset = screenModel::resetFilters,
onFilter = { screenModel.search(filters = state.filters) },
onUpdate = screenModel::setFilters,
)
}
is BrowseSourceScreenModel.Dialog.Migrate -> { is BrowseSourceScreenModel.Dialog.Migrate -> {
MigrateDialog( MigrateDialog(
oldManga = oldManga, oldManga = oldManga,
newManga = dialog.newManga, newManga = dialog.newManga,
screenModel = rememberScreenModel { MigrateDialogScreenModel() }, screenModel = rememberScreenModel { MigrateDialogScreenModel() },
onDismissRequest = { screenModel.setDialog(null) }, onDismissRequest = onDismissRequest,
onClickTitle = { navigator.push(MangaScreen(dialog.newManga.id)) }, onClickTitle = { navigator.push(MangaScreen(dialog.newManga.id)) },
onPopScreen = { onPopScreen = {
scope.launch { scope.launch {