Use Voyager for a few screens

This commit is contained in:
Jobobby04
2022-11-26 13:36:06 -05:00
parent bf9b2ca2ff
commit 7df12c68fd
13 changed files with 333 additions and 371 deletions
@@ -6,7 +6,7 @@ import androidx.core.os.bundleOf
import cafe.adriel.voyager.navigator.Navigator
import eu.kanade.tachiyomi.ui.base.controller.BasicFullComposeController
import eu.kanade.tachiyomi.ui.browse.source.SourcesController
import eu.kanade.tachiyomi.util.system.getParcelableCompat
import eu.kanade.tachiyomi.util.system.getSerializableCompat
class MangaController : BasicFullComposeController {
@@ -33,9 +33,7 @@ class MangaController : BasicFullComposeController {
// SY -->
val smartSearchConfig: SourcesController.SmartSearchConfig?
get() = args.getParcelableCompat<SourcesController.SmartSearchConfig>(
SMART_SEARCH_CONFIG_EXTRA,
)
get() = args.getSerializableCompat(SMART_SEARCH_CONFIG_EXTRA)
// SY <--
@Composable
@@ -86,7 +86,7 @@ import exh.recs.RecommendsController
import exh.source.MERGED_SOURCE_ID
import exh.source.getMainSource
import exh.source.isMdBasedSource
import exh.ui.metadata.MetadataViewController
import exh.ui.metadata.MetadataViewScreen
import kotlinx.coroutines.CancellationException
import kotlinx.coroutines.flow.launchIn
import kotlinx.coroutines.flow.onEach
@@ -166,7 +166,7 @@ class MangaScreen(
onEditCategoryClicked = screenModel::promptChangeCategories.takeIf { successState.manga.favorite },
onMigrateClicked = { migrateManga(router, screenModel.manga!!) }.takeIf { successState.manga.favorite },
// SY -->
onMetadataViewerClicked = { openMetadataViewer(router, successState.manga) },
onMetadataViewerClicked = { openMetadataViewer(navigator, successState.manga) },
onEditInfoClicked = screenModel::showEditMangaInfoDialog,
onRecommendClicked = { openRecommends(context, router, screenModel.source?.getMainSource(), successState.manga) },
onMergedSettingsClicked = screenModel::showEditMergedSettingsDialog,
@@ -446,8 +446,8 @@ class MangaScreen(
}
// SY -->
private fun openMetadataViewer(router: Router, manga: Manga) {
router.pushController(MetadataViewController(manga))
private fun openMetadataViewer(navigator: Navigator, manga: Manga) {
navigator.push(MetadataViewScreen(manga.id, manga.source))
}
private fun openMergedMangaWebview(context: Context, mergedMangaData: MergedMangaData) {