package com.parkplants.ui.login import androidx.lifecycle.ViewModel import androidx.lifecycle.viewModelScope import com.parkplants.data.repository.AuthRepository import dagger.hilt.android.lifecycle.HiltViewModel import kotlinx.coroutines.flow.MutableStateFlow import kotlinx.coroutines.flow.asStateFlow import kotlinx.coroutines.launch import javax.inject.Inject data class LoginUiState( val isLoading: Boolean = false, val error: String? = null, val success: Boolean = false, ) @HiltViewModel class LoginViewModel @Inject constructor( private val authRepository: AuthRepository, ) : ViewModel() { private val _uiState = MutableStateFlow(LoginUiState()) val uiState = _uiState.asStateFlow() fun login(username: String, password: String) { viewModelScope.launch { _uiState.value = LoginUiState(isLoading = true) val result = authRepository.login(username, password) _uiState.value = if (result.isSuccess) { LoginUiState(success = true) } else { LoginUiState(error = result.exceptionOrNull()?.message ?: "Ошибка") } } } }