fix: surpress "canelled" error on view switches #9

This commit is contained in:
Stefan Hausotte 2026-03-10 20:21:47 +01:00
parent 3ba19d328b
commit ddefefdd7f

View file

@ -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 {