mirror of
https://github.com/Novaloop-AG/element-x-ios.git
synced 2026-11-04 19:44:05 +00:00
Delivery Status Redesign (#931)
This commit is contained in:
@@ -37,7 +37,7 @@ enum TimelineItemProxy {
|
||||
/// The delivery status for the item.
|
||||
enum TimelineItemDeliveryStatus: Hashable {
|
||||
case sending
|
||||
case sent(elapsedTime: TimeInterval)
|
||||
case sent
|
||||
case sendingFailed
|
||||
}
|
||||
|
||||
@@ -54,7 +54,9 @@ struct EventTimelineItemProxy {
|
||||
}
|
||||
|
||||
var deliveryStatus: TimelineItemDeliveryStatus? {
|
||||
guard let localSendState = item.localSendState() else { return nil }
|
||||
guard let localSendState = item.localSendState() else {
|
||||
return nil
|
||||
}
|
||||
|
||||
switch localSendState {
|
||||
case .notSentYet:
|
||||
@@ -62,7 +64,7 @@ struct EventTimelineItemProxy {
|
||||
case .sendingFailed:
|
||||
return .sendingFailed
|
||||
case .sent:
|
||||
return .sent(elapsedTime: Date().timeIntervalSince1970 - timestamp.timeIntervalSince1970)
|
||||
return .sent
|
||||
}
|
||||
}
|
||||
|
||||
@@ -109,6 +111,10 @@ struct EventTimelineItemProxy {
|
||||
let debugInfo = item.debugInfo()
|
||||
return TimelineItemDebugInfo(model: debugInfo.model, originalJSON: debugInfo.originalJson, latestEditJSON: debugInfo.latestEditJson)
|
||||
}
|
||||
|
||||
var readReceipts: [String: Receipt] {
|
||||
item.readReceipts()
|
||||
}
|
||||
}
|
||||
|
||||
extension TimelineItemContentKind {
|
||||
@@ -162,3 +168,12 @@ struct TimelineItemDebugInfo: Identifiable, CustomStringConvertible {
|
||||
return String(data: jsonData, encoding: .utf8)
|
||||
}
|
||||
}
|
||||
|
||||
extension Receipt {
|
||||
var dateTimestamp: Date? {
|
||||
guard let timestamp else {
|
||||
return nil
|
||||
}
|
||||
return Date(timeIntervalSince1970: TimeInterval(timestamp / 1000))
|
||||
}
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user