element-ios/Riot/Modules/Threads/ThreadList/Views/Cell/ThreadModel.swift

36 lines
892 B
Swift

//
// Copyright 2021-2024 New Vector Ltd.
//
// SPDX-License-Identifier: AGPL-3.0-only
// Please see LICENSE in the repository root for full details.
//
import Foundation
struct ThreadModel {
let rootMessageSenderUserId: String?
let rootMessageSenderAvatar: AvatarViewDataProtocol?
let rootMessageSenderDisplayName: String?
let rootMessageText: NSAttributedString?
let rootMessageRedacted: Bool
let lastMessageTime: String?
let summaryModel: ThreadSummaryModel?
let notificationStatus: ThreadNotificationStatus
}
enum ThreadNotificationStatus {
case none
case notified
case highlighted
init(withThread thread: MXThreadProtocol) {
if thread.highlightCount > 0 {
self = .highlighted
} else if thread.notificationCount > 0 {
self = .notified
} else {
self = .none
}
}
}