DevExperimentView.swift (1337B)
1 /* 2 * This file is part of GNU Taler, ©2022-25 Taler Systems S.A. 3 * See LICENSE.md 4 */ 5 /** 6 * @author Marc Stibane 7 */ 8 import SwiftUI 9 import SymLog 10 import taler_swift 11 12 13 #if GNU_TALER 14 struct DevExperimentView: View { 15 private let symLog = SymLogV(0) 16 let stack: CallStack 17 let url: URL 18 19 @Environment(\.dismiss) var dismiss // pop back once 20 @EnvironmentObject private var model: WalletModel 21 @EnvironmentObject private var controller: Controller 22 23 @State private var finished = false 24 25 @MainActor 26 private func viewDidLoad() async { 27 symLog.log(".task \(url.absoluteString)") 28 try? await model.setConfig(setTesting: true) 29 try? await model.devExperimentT(talerUri: url.absoluteString) 30 finished = true 31 } 32 33 var body: some View { 34 if finished { 35 VStack { 36 Spacer() 37 Text(url.absoluteString) 38 .talerFont(.title2) 39 .padding() 40 Spacer() 41 let title = "Finished" 42 Button(title) { 43 dismiss() 44 } 45 Spacer() 46 } 47 } else { 48 LoadingView(stack: stack.push(), scopeInfo: nil, message: url.absoluteString) 49 .task { await viewDidLoad() } 50 } 51 } 52 } 53 #endif