Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- @Composable
- fun AuthScreen(
- onAuth: () -> Unit,
- authViewModel: AuthViewModel = hiltViewModel(),
- ) {
- LaunchedEffect(authViewModel) {
- authViewModel.onEvent(AuthEvent.StartAuth)
- }
- val state = authViewModel.liveData.observeAsState(authViewModel.initialState)
- when (state.value) {
- AuthState.Initializing -> LoadingView()
- AuthState.InitializingFailed -> SomethingWentWrongView()
- AuthState.LoginOpened, AuthState.InvalidLogin -> LoginView(failed = state.value is AuthState.InvalidLogin) {
- authViewModel.onEvent(AuthEvent.EnterLogin(it))
- }
- AuthState.PasswordOpened, AuthState.InvalidPassword -> PasswordView(failed = state.value is AuthState.InvalidPassword) {
- authViewModel.onEvent(AuthEvent.EnterPassword(it))
- }
- AuthState.AuthenticationOpened -> LoadingView()
- AuthState.AuthenticationError -> SomethingWentWrongView()
- AuthState.Authenticated -> onAuth()
- }
- }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement