Как дождаться ответа от сервера в Compose и выполнить исходя ответа навигацию

у меня есть окно входа в приложение, где пользователь должен ввести номер телефона. Если номер уже существует, то мы просим ввести пароль, если нет, то зарегистрироваться.

Навигация выглядит так:

@Composable
fun navigationMaterialExample() {
     val navController = rememberNavController()
     NavHost(navController, Destinations.Home) {
         composable(Destinations.Home) {
             selectCountryWithCountryCodeAndVerifyPhone(
                goBack = { findNavController().navigateUp() },
                myViewmodel = myViewmodel,
                navController = navController
             )
         }
         composable(Destinations.Login) {
            ChoiceLoginScreen(
                goBack = {..},
            )
         }
         composable(Destinations.Registration) {
            ChoiceRegistrationScreen(
                goBack = {..},
            )
        }
}

Когда пользователь ввел номер телефона, он нажимает на кнопку, и посылается запрос на сервер

@Composable
fun selectCountryWithCountryCodeAndVerifyPhone(
    goBack: () -> Unit,
    myViewmodel: RegistrationViewModal,
    navController : NavHostController) {
    
    Scaffold(
        ..
    ){ contentPadding ->
        Column(..) {
            Text(text = verifyText)
            TogiCountryCodePicker(
                ..
                onValueChange = { myViewmodel.whenPhoneNumberChanged(it) }
            )
            MyTextButton(
                //Отправляем запрос на сервер
                click = {
                   //Данные передаю во viewmodel. Идёт обработка данных
                    myViewmodel.checkMobilePhone()
                },
            )
        }
    }
    //Дожидаюсь ответа
    val nextScreen = myViewmodel.therePhoneInDataBase.observeAsState()

    if(nextScreen.value == "Registration"){
        LaunchedEffect(Unit) {
        println("Registration")
           
        navController.navigate(RegistrationFragment.Destinations.ChoiceRegistrationScreen)
        }
    }

    if(nextScreen.value == "Profile"){..}
}

Здесь есть проблема, Если пользователь вернется к Home выполниться условие if(nextScreen.value == "Registration") и он опять вернется к регистрации. Мне нужно обнулить данные во viewmodel тогда работает


Ответы (0 шт):