Artificial delay when a message fails to send (#2091)

This commit is contained in:
Mauro
2023-11-16 10:09:29 +01:00
committed by GitHub
parent 9f1092b0b6
commit 003b494c90
6 changed files with 48 additions and 10 deletions
@@ -24,6 +24,7 @@ struct TimelineItemBubbledStylerView<Content: View>: View {
@Environment(\.timelineGroupStyle) private var timelineGroupStyle
let timelineItem: EventBasedTimelineItemProtocol
let adjustedDeliveryStatus: TimelineItemDeliveryStatus?
@ViewBuilder let content: () -> Content
@State private var showItemActionMenu = false
@@ -62,7 +63,7 @@ struct TimelineItemBubbledStylerView<Content: View>: View {
if !timelineItem.isOutgoing {
Spacer()
}
TimelineItemStatusView(timelineItem: timelineItem)
TimelineItemStatusView(timelineItem: timelineItem, adjustedDeliveryStatus: adjustedDeliveryStatus)
.environmentObject(context)
.padding(.top, 8)
.padding(.bottom, 3)
@@ -162,7 +163,7 @@ struct TimelineItemBubbledStylerView<Content: View>: View {
@ViewBuilder
var interactiveLocalizedSendInfo: some View {
if timelineItem.hasFailedToSend {
if adjustedDeliveryStatus == .sendingFailed {
layoutedLocalizedSendInfo
.onTapGesture {
context.sendFailedConfirmationDialogInfo = .init(itemID: timelineItem.id)
@@ -203,12 +204,12 @@ struct TimelineItemBubbledStylerView<Content: View>: View {
Text(timelineItem.timestamp)
}
if timelineItem.hasFailedToSend {
if adjustedDeliveryStatus == .sendingFailed {
CompoundIcon(\.error, size: .xSmall, relativeTo: .compound.bodyXS)
}
}
.font(.compound.bodyXS)
.foregroundColor(timelineItem.hasFailedToSend ? .compound.textCriticalPrimary : .compound.textSecondary)
.foregroundColor(adjustedDeliveryStatus == .sendingFailed ? .compound.textCriticalPrimary : .compound.textSecondary)
}
@ViewBuilder