Advertisement
Guest User

Untitled

a guest
Jun 5th, 2023
113
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
Kotlin 0.98 KB | None | 0 0
  1. @Composable
  2. fun AuthScreen(
  3.     onAuth: () -> Unit,
  4.     authViewModel: AuthViewModel = hiltViewModel(),
  5. ) {
  6.     LaunchedEffect(authViewModel) {
  7.         authViewModel.onEvent(AuthEvent.StartAuth)
  8.     }
  9.     val state = authViewModel.liveData.observeAsState(authViewModel.initialState)
  10.     when (state.value) {
  11.         AuthState.Initializing -> LoadingView()
  12.         AuthState.InitializingFailed -> SomethingWentWrongView()
  13.         AuthState.LoginOpened, AuthState.InvalidLogin -> LoginView(failed = state.value is AuthState.InvalidLogin) {
  14.             authViewModel.onEvent(AuthEvent.EnterLogin(it))
  15.         }
  16.         AuthState.PasswordOpened, AuthState.InvalidPassword -> PasswordView(failed = state.value is AuthState.InvalidPassword) {
  17.             authViewModel.onEvent(AuthEvent.EnterPassword(it))
  18.         }
  19.         AuthState.AuthenticationOpened -> LoadingView()
  20.         AuthState.AuthenticationError -> SomethingWentWrongView()
  21.         AuthState.Authenticated -> onAuth()
  22.     }
  23. }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement