Commit 70de6755 by Aleksandr

fix dropping current screen with navigation

parent be3bcf1e
package com.isidroid.c23.ui.navigation package com.isidroid.c23.ui.navigation
import androidx.compose.runtime.Composable import androidx.compose.runtime.Composable
import androidx.compose.runtime.LaunchedEffect
import androidx.compose.ui.Modifier import androidx.compose.ui.Modifier
import androidx.navigation.NavHostController import androidx.navigation.NavHostController
import androidx.navigation.NavType import androidx.navigation.NavType
...@@ -15,6 +16,7 @@ import com.isidroid.c23.ui.navigation.destinations.JobDetailsDestination ...@@ -15,6 +16,7 @@ import com.isidroid.c23.ui.navigation.destinations.JobDetailsDestination
import com.isidroid.c23.ui.navigation.destinations.MapScreenDestination import com.isidroid.c23.ui.navigation.destinations.MapScreenDestination
import com.isidroid.c23.ui.navigation.destinations.PrintJobsScreenDestination import com.isidroid.c23.ui.navigation.destinations.PrintJobsScreenDestination
import com.isidroid.c23.ui.navigation.destinations.RenderScreenDestination import com.isidroid.c23.ui.navigation.destinations.RenderScreenDestination
import timber.log.Timber
@Composable @Composable
fun AppNavHost( fun AppNavHost(
......
...@@ -16,10 +16,10 @@ fun NavController.navigateSingleTopTo( ...@@ -16,10 +16,10 @@ fun NavController.navigateSingleTopTo(
isInclusive: Boolean = true, isInclusive: Boolean = true,
popupToRoute: String? = null popupToRoute: String? = null
) { ) {
navigate(route) { val dropNode = if (dropCurrent) currentDestination?.route else popupToRoute
val dropNode = if (dropCurrent) currentDestination?.route else popupToRoute val node = dropNode?.let { graph.findNode(dropNode) } ?: graph.findStartDestination()
val node = dropNode?.let { graph.findNode(popupToRoute) } ?: graph.findStartDestination()
navigate(route) {
popUpTo(node.id) { popUpTo(node.id) {
inclusive = isInclusive inclusive = isInclusive
if (isSaveState != null) if (isSaveState != null)
......
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment