another.im-ios/ConversationsClassic/AppCore/Reducers/ConversationReducer.swift
2024-07-11 17:46:57 +02:00

28 lines
732 B
Swift

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
}
}
}