fix bug updating default wallet
This commit is contained in:
@@ -10,18 +10,23 @@ import Foundation
|
|||||||
class UserSettingsStore: ObservableObject {
|
class UserSettingsStore: ObservableObject {
|
||||||
@Published var defaultWallet: Wallet {
|
@Published var defaultWallet: Wallet {
|
||||||
didSet {
|
didSet {
|
||||||
UserDefaults.standard.set(defaultWallet.rawValue, forKey: "defaultwallet")
|
UserDefaults.standard.set(defaultWallet.rawValue, forKey: "default_wallet")
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
@Published var showWalletSelector: Bool {
|
@Published var showWalletSelector: Bool {
|
||||||
didSet {
|
didSet {
|
||||||
UserDefaults.standard.set(showWalletSelector, forKey: "showwalletselector")
|
UserDefaults.standard.set(showWalletSelector, forKey: "show_wallet_selector")
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
init() {
|
init() {
|
||||||
self.defaultWallet = UserDefaults.standard.object(forKey: "defaultwallet") as? Wallet ?? .systemdefaultwallet
|
if let defaultWalletName = UserDefaults.standard.string(forKey: "default_wallet"),
|
||||||
self.showWalletSelector = UserDefaults.standard.object(forKey: "showwalletselector") as? Bool ?? true
|
let defaultWallet = Wallet(rawValue: defaultWalletName) {
|
||||||
|
self.defaultWallet = defaultWallet
|
||||||
|
} else {
|
||||||
|
self.defaultWallet = .systemdefaultwallet
|
||||||
|
}
|
||||||
|
self.showWalletSelector = UserDefaults.standard.object(forKey: "show_wallet_selector") as? Bool ?? true
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -7,8 +7,8 @@
|
|||||||
|
|
||||||
import Foundation
|
import Foundation
|
||||||
|
|
||||||
// New url prefixes needed to be added to LSApplicationQueriesSchemes
|
enum Wallet: String, CaseIterable, Identifiable {
|
||||||
enum Wallet: String, CaseIterable {
|
var id: String { self.rawValue }
|
||||||
|
|
||||||
struct Model: Identifiable, Hashable {
|
struct Model: Identifiable, Hashable {
|
||||||
var id: String { self.tag }
|
var id: String { self.tag }
|
||||||
@@ -20,6 +20,7 @@ enum Wallet: String, CaseIterable {
|
|||||||
var image: String
|
var image: String
|
||||||
}
|
}
|
||||||
|
|
||||||
|
// New url prefixes needed to be added to LSApplicationQueriesSchemes
|
||||||
case systemdefaultwallet
|
case systemdefaultwallet
|
||||||
case strike
|
case strike
|
||||||
case cashapp
|
case cashapp
|
||||||
|
|||||||
@@ -18,8 +18,8 @@ struct ConfigView: View {
|
|||||||
@State var privkey_copied: Bool = false
|
@State var privkey_copied: Bool = false
|
||||||
@State var pubkey_copied: Bool = false
|
@State var pubkey_copied: Bool = false
|
||||||
@EnvironmentObject var user_settings: UserSettingsStore
|
@EnvironmentObject var user_settings: UserSettingsStore
|
||||||
|
|
||||||
@State var walletModels: [Wallet.Model] = Wallet.allModels
|
@State var allWallets: [Wallet] = Wallet.allCases
|
||||||
|
|
||||||
let generator = UIImpactFeedbackGenerator(style: .light)
|
let generator = UIImpactFeedbackGenerator(style: .light)
|
||||||
|
|
||||||
@@ -83,13 +83,13 @@ struct ConfigView: View {
|
|||||||
|
|
||||||
Section("Wallet Selector") {
|
Section("Wallet Selector") {
|
||||||
Toggle("Show wallet selector", isOn: $user_settings.showWalletSelector).toggleStyle(.switch)
|
Toggle("Show wallet selector", isOn: $user_settings.showWalletSelector).toggleStyle(.switch)
|
||||||
Picker(selection: $user_settings.defaultWallet,
|
Picker("Select default wallet",
|
||||||
label: Text("Select default wallet"), content: {
|
selection: $user_settings.defaultWallet) {
|
||||||
ForEach(walletModels) { wallet in
|
ForEach(allWallets, id: \.self) { wallet in
|
||||||
Text(wallet.displayName)
|
Text(wallet.model.displayName)
|
||||||
.tag(wallet.tag)
|
.tag(wallet.model.tag)
|
||||||
}
|
}
|
||||||
})
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
Section("Reset") {
|
Section("Reset") {
|
||||||
|
|||||||
Reference in New Issue
Block a user