27 lines
808 B
Kotlin
27 lines
808 B
Kotlin
package contacts.presentation
|
|
|
|
import androidx.lifecycle.ViewModel
|
|
import androidx.lifecycle.viewModelScope
|
|
import contacts.data.remote.api.ContactDto
|
|
import dagger.hilt.android.lifecycle.HiltViewModel
|
|
import kotlinx.coroutines.flow.MutableStateFlow
|
|
import kotlinx.coroutines.flow.StateFlow
|
|
import kotlinx.coroutines.flow.asStateFlow
|
|
import javax.inject.Inject
|
|
|
|
data class ContactListState(
|
|
val contacts: List<ContactDto> = emptyList(),
|
|
val isLoading: Boolean = false,
|
|
val error: String? = null
|
|
)
|
|
|
|
@HiltViewModel
|
|
class ContactListViewModel @Inject constructor() : ViewModel() {
|
|
private val _state = MutableStateFlow(ContactListState())
|
|
val state: StateFlow<ContactListState> = _state.asStateFlow()
|
|
|
|
fun onSearchChange(query: String) {
|
|
// Заглушка поиска
|
|
}
|
|
}
|