Mercurial > public > simoleon
diff Simoleon/Helpers/CurrencySelector.swift @ 42:d25b02d439d4
Minor updates subscription and legal requirements
author | Dennis Concepción Martín <dennisconcepcionmartin@gmail.com> |
---|---|
date | Mon, 26 Jul 2021 15:35:06 +0100 |
parents | e521236028e0 |
children | 2eb05f396fcd |
line wrap: on
line diff
--- a/Simoleon/Helpers/CurrencySelector.swift Sun Jul 25 10:59:51 2021 +0100 +++ b/Simoleon/Helpers/CurrencySelector.swift Mon Jul 26 15:35:06 2021 +0100 @@ -11,7 +11,6 @@ struct CurrencySelector: View { @Binding var currencyPair: String @Binding var showingCurrencySelector: Bool - @EnvironmentObject var subscriptionController: SubscriptionController @State private var searchCurrency = "" @State private var showingSubscriptionPaywall = false @@ -34,6 +33,9 @@ UIApplication.shared.dismissKeyboard() }) ) + .sheet(isPresented: $showingSubscriptionPaywall) { + SubscriptionPaywall(showingSubscriptionPaywall: $showingSubscriptionPaywall) + } .navigationTitle(Text("Currencies", comment: "Navigation title")) .navigationBarTitleDisplayMode(.inline) .toolbar { @@ -44,11 +46,12 @@ } } } - .sheet(isPresented: $showingSubscriptionPaywall) { - Subscription(showingSubscriptionPaywall: $showingSubscriptionPaywall) - } } + /* + If searched currency string is empty -> show all currencies + else -> show filtered list of currencies containing searched currency string + */ private func currencyPairs() -> [String] { let currencyPairs: [String] = parseJson("CurrencyPairs.json") @@ -60,12 +63,18 @@ } + /* + If user is subscribed -> select currency and dismiss currency selector + else -> show subscription paywall + */ private func select(_ currencyPair: String) { - if subscriptionController.isActive { - self.currencyPair = currencyPair - showingCurrencySelector = false - } else { - showingSubscriptionPaywall = true + Purchases.shared.purchaserInfo { (purchaserInfo, error) in + if purchaserInfo?.entitlements["all"]?.isActive == true { + self.currencyPair = currencyPair + showingCurrencySelector = false + } else { + showingSubscriptionPaywall = true + } } } } @@ -74,6 +83,5 @@ struct CurrencySelector_Previews: PreviewProvider { static var previews: some View { CurrencySelector(currencyPair: .constant("USD/GBP"), showingCurrencySelector: .constant(false)) - .environmentObject(SubscriptionController()) } }