Mercurial > public > simoleon
comparison Simoleon/Helpers/CurrencySelector.swift @ 50:7a6a7c677851
Handle errors with alerts
author | Dennis Concepción Martín <dennisconcepcionmartin@gmail.com> |
---|---|
date | Mon, 26 Jul 2021 21:52:15 +0100 |
parents | 75c1a05176f6 |
children | 1303c1e50843 |
comparison
equal
deleted
inserted
replaced
48:67e76ce661a1 | 50:7a6a7c677851 |
---|---|
12 @Binding var currencyPair: String | 12 @Binding var currencyPair: String |
13 @Binding var showingCurrencySelector: Bool | 13 @Binding var showingCurrencySelector: Bool |
14 | 14 |
15 @State private var searchCurrency = "" | 15 @State private var searchCurrency = "" |
16 @State private var showingSubscriptionPaywall = false | 16 @State private var showingSubscriptionPaywall = false |
17 @State private var alertTitle = "" | |
18 @State private var alertMessage = "" | |
19 @State private var showingAlert = false | |
17 | 20 |
18 var body: some View { | 21 var body: some View { |
19 NavigationView { | 22 NavigationView { |
20 Form { | 23 Form { |
21 TextField("Search ...", text: $searchCurrency) | 24 TextField("Search ...", text: $searchCurrency) |
44 Button(action: { showingCurrencySelector = false }) { | 47 Button(action: { showingCurrencySelector = false }) { |
45 Text("Cancel", comment: "Button to dismiss currency selector") | 48 Text("Cancel", comment: "Button to dismiss currency selector") |
46 } | 49 } |
47 } | 50 } |
48 } | 51 } |
52 } | |
53 .alert(isPresented: $showingAlert) { | |
54 Alert(title: Text(alertTitle), message: Text(alertMessage), dismissButton: .default(Text("Ok"))) | |
49 } | 55 } |
50 } | 56 } |
51 | 57 |
52 /* | 58 /* |
53 If searched currency string is empty: | 59 If searched currency string is empty: |
84 self.currencyPair = currencyPair | 90 self.currencyPair = currencyPair |
85 showingCurrencySelector = false | 91 showingCurrencySelector = false |
86 } else { | 92 } else { |
87 showingSubscriptionPaywall = true | 93 showingSubscriptionPaywall = true |
88 } | 94 } |
95 | |
96 if let error = error as NSError? { | |
97 alertTitle = error.localizedDescription | |
98 alertMessage = error.localizedFailureReason ?? "" | |
99 showingAlert = true | |
100 } | |
89 } | 101 } |
90 #endif | 102 #endif |
91 } | 103 } |
92 } | 104 } |
93 | 105 |