InvitationFailureCallout.swift (974B)
1 import SwiftUI 2 3 struct InvitationFailureCallout: View { 4 let failure: InviteDeliveryFailure 5 let isRetrying: Bool 6 let retry: () -> Void 7 8 var body: some View { 9 HStack(alignment: .top, spacing: 12) { 10 Image(systemName: "icloud.slash.fill") 11 .font(.title2) 12 .foregroundStyle(.red) 13 .accessibilityHidden(true) 14 15 VStack(alignment: .leading, spacing: 8) { 16 Text(failure.title) 17 .font(.headline) 18 19 Text(failure.body) 20 .font(.subheadline) 21 .foregroundStyle(.secondary) 22 .fixedSize(horizontal: false, vertical: true) 23 24 Button("Try Again", action: retry) 25 .buttonStyle(.borderedProminent) 26 .disabled(isRetrying) 27 } 28 .frame(maxWidth: .infinity, alignment: .leading) 29 } 30 .padding(.vertical, 4) 31 } 32 }