diff --git a/app/src/main/java/eu/kanade/tachiyomi/ui/setting/SettingsScreen.kt b/app/src/main/java/eu/kanade/tachiyomi/ui/setting/SettingsScreen.kt index 1c6053352b..09915a5664 100644 --- a/app/src/main/java/eu/kanade/tachiyomi/ui/setting/SettingsScreen.kt +++ b/app/src/main/java/eu/kanade/tachiyomi/ui/setting/SettingsScreen.kt @@ -23,7 +23,7 @@ class SettingsScreen private constructor( @Composable override fun Content() { - val navigator = LocalNavigator.currentOrThrow + val parentNavigator = LocalNavigator.currentOrThrow if (!isTabletUi()) { Navigator( screen = if (toBackup) { @@ -34,7 +34,14 @@ class SettingsScreen private constructor( SettingsMainScreen }, content = { - CompositionLocalProvider(LocalBackPress provides navigator::pop) { + val pop: () -> Unit = { + if (it.canPop) { + it.pop() + } else { + parentNavigator.pop() + } + } + CompositionLocalProvider(LocalBackPress provides pop) { ScreenTransition( navigator = it, transition = { Transition.OneWayFade }, @@ -54,7 +61,7 @@ class SettingsScreen private constructor( ) { TwoPanelBox( startContent = { - CompositionLocalProvider(LocalBackPress provides navigator::pop) { + CompositionLocalProvider(LocalBackPress provides parentNavigator::pop) { SettingsMainScreen.Content(twoPane = true) } },