package dev.lonami.talaria.ui import androidx.lifecycle.ViewModel import dev.lonami.talaria.data.MessageSource import dev.lonami.talaria.model.Message import kotlinx.coroutines.flow.MutableStateFlow import kotlinx.coroutines.flow.StateFlow import kotlinx.coroutines.flow.asStateFlow import kotlinx.coroutines.flow.update class ChatViewModel : ViewModel() { private val _uiState = MutableStateFlow(ChatUiState()) val uiState: StateFlow = _uiState.asStateFlow() private fun loadMessages() { _uiState.value = ChatUiState(MessageSource.loadMessages().toMutableList()) } fun sendMessage(message: String) { _uiState.update { state -> state.messages.add(Message("You", message)) state } } init { loadMessages() } }