diff --git a/app/src/main/java/com/greenart7c3/nostrsigner/ui/MainScreen.kt b/app/src/main/java/com/greenart7c3/nostrsigner/ui/MainScreen.kt index 00629e07..781e929b 100644 --- a/app/src/main/java/com/greenart7c3/nostrsigner/ui/MainScreen.kt +++ b/app/src/main/java/com/greenart7c3/nostrsigner/ui/MainScreen.kt @@ -499,7 +499,7 @@ fun MainScreen( var showDialog by remember { mutableStateOf(false) } if (BuildConfig.FLAVOR != "offline") { - LaunchedEffect(Unit, route.value) { + LaunchedEffect(Unit) { launch(Dispatchers.IO) { askNotificationPermission( context, @@ -508,12 +508,6 @@ fun MainScreen( showDialog = true } } - launch(Dispatchers.Main) { - if (route.value != null) { - navController.navigate(route.value!!) - route.value = null - } - } } } @@ -660,9 +654,22 @@ fun MainScreen( } } ) { padding -> + var localRoute by remember { mutableStateOf(route.value ?: Route.Home.route) } + + if (BuildConfig.FLAVOR != "offline") { + LaunchedEffect(Unit, route.value) { + launch(Dispatchers.Main) { + if (route.value != null) { + localRoute = route.value!! + route.value = null + } + } + } + } + NavHost( navController, - startDestination = route.value ?: Route.Home.route, + startDestination = localRoute, enterTransition = { fadeIn(animationSpec = tween(200)) }, exitTransition = { fadeOut(animationSpec = tween(200)) } ) {