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