File tree Expand file tree Collapse file tree 3 files changed +41
-5
lines changed Expand file tree Collapse file tree 3 files changed +41
-5
lines changed Original file line number Diff line number Diff line change 243
243
}
244
244
}
245
245
}
246
+ },
247
+ "Backup is not synced across devices." : {
248
+
246
249
},
247
250
"BDK Wallet" : {
248
251
"extractionState" : "stale",
590
593
},
591
594
"Seed" : {
592
595
593
- },
594
- "Seed is not synced across devices." : {
595
-
596
596
},
597
597
"Select Bitcoin Network" : {
598
598
Original file line number Diff line number Diff line change @@ -22,7 +22,7 @@ class OnboardingViewModel: ObservableObject {
22
22
|| words. hasPrefix ( " sh( " )
23
23
}
24
24
var isXPub : Bool {
25
- words. hasPrefix ( " xpub " ) || words. hasPrefix ( " tpub " )
25
+ words. hasPrefix ( " xpub " ) || words. hasPrefix ( " tpub " ) || words . hasPrefix ( " vpub " )
26
26
}
27
27
@Published var networkColor = Color . gray
28
28
@Published var onboardingViewError : AppError ?
@@ -40,7 +40,7 @@ class OnboardingViewModel: ObservableObject {
40
40
}
41
41
@Published var words : String = " "
42
42
var wordArray : [ String ] {
43
- if words. hasPrefix ( " xpub " ) || words. hasPrefix ( " tpub " ) {
43
+ if words. hasPrefix ( " xpub " ) || words. hasPrefix ( " tpub " ) || words . hasPrefix ( " vpub " ) {
44
44
return [ ]
45
45
}
46
46
let trimmedWords = words. trimmingCharacters ( in: . whitespacesAndNewlines)
Original file line number Diff line number Diff line change @@ -14,6 +14,7 @@ struct OnboardingView: View {
14
14
@ObservedObject var viewModel : OnboardingViewModel
15
15
@State private var showingOnboardingViewErrorAlert = false
16
16
@State private var showingImportView = false
17
+ @State private var showingScanner = false
17
18
let pasteboard = UIPasteboard . general
18
19
19
20
var body : some View {
@@ -25,7 +26,24 @@ struct OnboardingView: View {
25
26
VStack {
26
27
27
28
HStack {
29
+
28
30
Spacer ( )
31
+
32
+ Button {
33
+ showingScanner = true
34
+ } label: {
35
+ Image (
36
+ systemName: viewModel. words. isEmpty
37
+ ? " qrcode.viewfinder " : " clear "
38
+ )
39
+ . contentTransition ( . symbolEffect( . replace) )
40
+ }
41
+ . tint (
42
+ viewModel. words. isEmpty ? . secondary : . primary
43
+ )
44
+ . font ( . title)
45
+ . padding ( )
46
+
29
47
Button {
30
48
if viewModel. words. isEmpty {
31
49
if let clipboardContent = UIPasteboard . general. string {
@@ -153,6 +171,24 @@ struct OnboardingView: View {
153
171
}
154
172
)
155
173
}
174
+ . sheet ( isPresented: $showingScanner) {
175
+ CustomScannerView (
176
+ codeTypes: [ . qr] ,
177
+ completion: { result in
178
+ switch result {
179
+ case . success( let result) :
180
+ viewModel. words = result. string
181
+ showingScanner = false
182
+ case . failure( let error) :
183
+ viewModel. onboardingViewError = . generic(
184
+ message: error. localizedDescription
185
+ )
186
+ showingScanner = false
187
+ }
188
+ } ,
189
+ pasteAction: { }
190
+ )
191
+ }
156
192
157
193
}
158
194
}
You can’t perform that action at this time.
0 commit comments