2023-01-05 11:21:54 +00:00
|
|
|
import Foundation
|
|
|
|
|
2023-01-22 15:55:03 +00:00
|
|
|
public struct Conversation: Identifiable, Decodable, Hashable, Equatable {
|
2023-01-05 11:21:54 +00:00
|
|
|
public let id: String
|
|
|
|
public let unread: Bool
|
2023-02-08 05:27:44 +00:00
|
|
|
public let lastStatus: Status?
|
2023-01-05 11:21:54 +00:00
|
|
|
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
|
|
|
|
}
|
2023-02-26 05:45:31 +00:00
|
|
|
|
2023-01-05 11:21:54 +00:00
|
|
|
public static func placeholder() -> Conversation {
|
|
|
|
.init(id: UUID().uuidString, unread: false, lastStatus: .placeholder(), accounts: [.placeholder()])
|
|
|
|
}
|
2023-01-17 10:36:01 +00:00
|
|
|
|
2023-01-05 11:21:54 +00:00
|
|
|
public static func placeholders() -> [Conversation] {
|
|
|
|
[.placeholder(), .placeholder(), .placeholder(), .placeholder(), .placeholder(),
|
|
|
|
.placeholder(), .placeholder(), .placeholder(), .placeholder(), .placeholder()]
|
|
|
|
}
|
|
|
|
}
|
2023-02-27 05:39:07 +00:00
|
|
|
|
|
|
|
extension Conversation: Sendable {}
|