diff --git a/Forji/Forji/Views/ErrorAlert.swift b/Forji/Forji/Views/ErrorAlert.swift index d6f2381..1f46cd6 100644 --- a/Forji/Forji/Views/ErrorAlert.swift +++ b/Forji/Forji/Views/ErrorAlert.swift @@ -7,12 +7,25 @@ struct ErrorAlertModifier: ViewModifier { func body(content: Content) -> some View { content + .onChange(of: isPresented) { + if isPresented, isCancellationMessage(errorMessage) { + isPresented = false + errorMessage = nil + } + } .alert(title, isPresented: $isPresented) { Button("OK", role: .cancel) {} } message: { Text(errorMessage ?? "An unknown error occurred") } } + + private func isCancellationMessage(_ message: String?) -> Bool { + guard let message = message?.lowercased() else { return false } + return message.contains("cancelled") + || message.contains("canceled") + || message.contains("nsurlerrordomain error -999") + } } extension View {