import SwiftUI extension ConversationState { static func reducer(state: inout ConversationState, action: ConversationAction) { switch action { case .makeConversationActive(let chat, let roster): state.currentChat = chat state.currentRoster = roster case .messagesUpdated(let messages): state.currentMessages = messages case .setReplyText(let text): if text.isEmpty { state.replyText = "" } else { state.replyText = text.makeReply } case .attachmentsUpdated(let attachments): state.currentAttachments = attachments default: break } } }