// // ConsolidatedNotification.swift // // // Created by Jérôme Danthinne on 31/01/2023. // import Foundation public struct ConsolidatedNotification: Identifiable { public let notifications: [Notification] public let type: Notification.NotificationType public let createdAt: ServerDate public let accounts: [Account] public let status: Status? public var id: String? { notifications.first?.id } public init(notifications: [Notification], type: Notification.NotificationType, createdAt: ServerDate, accounts: [Account], status: Status?) { self.notifications = notifications self.type = type self.createdAt = createdAt self.accounts = accounts self.status = status ?? nil } public static func placeholder() -> ConsolidatedNotification { .init(notifications: [Notification.placeholder()], type: .favourite, createdAt: ServerDate(), accounts: [.placeholder()], status: .placeholder()) } public static func placeholders() -> [ConsolidatedNotification] { [.placeholder(), .placeholder(), .placeholder(), .placeholder(), .placeholder(), .placeholder(), .placeholder(), .placeholder(), .placeholder(), .placeholder(), .placeholder(), .placeholder()] } } extension ConsolidatedNotification: Sendable {}