Fix appbar back button in Settings screen (#8674)

(cherry picked from commit be854b3e90c345db589cde30daaa839c0a21c129)
This commit is contained in:
Ivan Iskandar 2022-12-04 22:27:14 +07:00 committed by Jobobby04
parent 270690e513
commit 5298ddb70f

View File

@ -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)
}
},