Modelo de login como exemplo.
@Serializable
data class LoginModel(
val username: String = "",
val password: String = ""
)
UiState de login como exemplo.
data class LoginUiState(
val login: LoginModel = LoginModel()
)
ViewModel de login como exemplo.
class LoginViewModel: ViewModel() {
private val _uiState = MutableStateFlow(LoginUiState())
val uiState = _uiState.asStateFlow()
fun setLogin(value: LoginModel) {
_uiState.update { currentState ->
currentState.copy(
login = value
)
}
}
}
Composable de login como exemplo.
@Composable
fun LoginScreen(
modifier: Modifier = Modifier,
viewModel: LoginViewModel = koinViewModel()
) {
val uiState = viewModel.uiState.collectAsState()
Column(
modifier = modifier.fillMaxSize()
) {
}
}