IceCubesApp/Packages/Models/Sources/Models/Conversation.swift

27 lines
841 B
Swift
Raw Normal View History

import Foundation
2023-01-22 15:55:03 +00:00
public struct Conversation: Identifiable, Decodable, Hashable, Equatable {
public let id: String
public let unread: Bool
public let lastStatus: Status?
public let accounts: [Account]
2023-01-17 10:36:01 +00:00
2023-02-26 05:45:57 +00:00
public init(id: String, unread: Bool, lastStatus: Status? = nil, accounts: [Account]) {
self.id = id
self.unread = unread
self.lastStatus = lastStatus
self.accounts = accounts
}
public static func placeholder() -> Conversation {
.init(id: UUID().uuidString, unread: false, lastStatus: .placeholder(), accounts: [.placeholder()])
}
2023-01-17 10:36:01 +00:00
public static func placeholders() -> [Conversation] {
[.placeholder(), .placeholder(), .placeholder(), .placeholder(), .placeholder(),
.placeholder(), .placeholder(), .placeholder(), .placeholder(), .placeholder()]
}
}
extension Conversation: Sendable {}