فهرست منبع

Fix appbar back button in Settings screen (#8674)

Ivan Iskandar 2 سال پیش
والد
کامیت
be854b3e90
1فایلهای تغییر یافته به همراه10 افزوده شده و 3 حذف شده
  1. 10 3
      app/src/main/java/eu/kanade/tachiyomi/ui/setting/SettingsScreen.kt

+ 10 - 3
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)
                         }
                     },