129 lines
5.1 KiB
Swift
129 lines
5.1 KiB
Swift
import SwiftUI
|
|
import BankingUiSwift
|
|
|
|
|
|
struct ContentView: View {
|
|
|
|
@ObservedObject var data: AppData = AppData()
|
|
|
|
@State private var selection = 0
|
|
|
|
@State private var showTransferMoneyOptionsActionSheet = false
|
|
@State private var selectedTransferMoneyOption: Int? = 0
|
|
|
|
|
|
// TODO: remove again
|
|
private let enterTanState: EnterTanState
|
|
|
|
|
|
init() {
|
|
let customer = Customer(bankCode: "", customerId: "", password: "", finTsServerAddress: "")
|
|
let selectedTanProcedure = TanProcedure(displayName: "chipTAN optisch", type: .chiptanflickercode, bankInternalProcedureCode: "chipTAN optisch")
|
|
customer.supportedTanProcedures = [
|
|
TanProcedure(displayName: "App TAN", type: .apptan, bankInternalProcedureCode: "App TAN"),
|
|
selectedTanProcedure,
|
|
TanProcedure(displayName: "SMS TAN", type: .smstan, bankInternalProcedureCode: "SMS TAN")
|
|
]
|
|
customer.selectedTanProcedure = selectedTanProcedure
|
|
|
|
customer.tanMedia = [
|
|
TanMedium(displayName: "EC-Karte mit Nummer 12345678", status: .available),
|
|
TanMedium(displayName: "Handy mit Nummer 0170 / 12345678", status: .available)
|
|
]
|
|
|
|
self.enterTanState = EnterTanState(customer, TanChallenge(messageToShowToUser: "Gib die TAN ein du faules Stueck!", tanProcedure: selectedTanProcedure)) { result in }
|
|
}
|
|
|
|
|
|
var body: some View {
|
|
// NavigationView {
|
|
VStack {
|
|
TabView(selection: $selection) {
|
|
AccountsTab(data: data)
|
|
.tabItem {
|
|
VStack {
|
|
Image("first")
|
|
Text("Accounts")
|
|
}
|
|
}
|
|
.tag(0)
|
|
|
|
// actionSheet(isPresented: $showTransferMoneyOptionsActionSheet) {
|
|
// ActionSheet(
|
|
// title: Text("Action"),
|
|
// message: Text("Available actions"),
|
|
// buttons: [
|
|
// .default(Text("Show transfer money dialog")) { self.selectedTransferMoneyOption = 1 },
|
|
// .destructive(Text("Delete"))
|
|
// ]
|
|
// )
|
|
// }
|
|
|
|
// TransferMoneyDialog()
|
|
// .tabItem {
|
|
// NavigationLink(destination: TransferMoneyDialog(), tag: 1, selection: $selectedTransferMoneyOption) {
|
|
// EmptyView()
|
|
// }
|
|
// VStack {
|
|
// Image("second")
|
|
// Text("Second")
|
|
// }
|
|
// .onTapGesture {
|
|
// NSLog("Tapped on second item") // TODO: remove again
|
|
// self.showTransferMoneyOptionsActionSheet = true
|
|
// }
|
|
// }
|
|
// NavigationView {
|
|
VStack {
|
|
NavigationLink(destination: TransferMoneyDialog()) {
|
|
Text("Show transfer money dialog")
|
|
}
|
|
|
|
NavigationLink(destination: TransferMoneyDialog().onDisappear(perform: {
|
|
NSLog("Disappearing NavigationLink") // TODO: remove
|
|
self.selectedTransferMoneyOption = 0
|
|
}), tag: 1, selection: $selectedTransferMoneyOption) {
|
|
EmptyView()
|
|
}
|
|
|
|
SheetPresenter(presentingSheet: $showTransferMoneyOptionsActionSheet, content:
|
|
ActionSheet(
|
|
title: Text(""),
|
|
buttons: [
|
|
.default(Text("Show transfer money dialog")) { self.selectedTransferMoneyOption = 1 },
|
|
.cancel()
|
|
]
|
|
)
|
|
)
|
|
}
|
|
// }
|
|
.tabItem {
|
|
VStack {
|
|
Image(systemName: "plus.circle.fill")
|
|
}
|
|
}
|
|
.tag(1)
|
|
|
|
NavigationView { EnterTanDialog(self.enterTanState) }
|
|
.tabItem {
|
|
VStack {
|
|
Text("EnterTanDialog")
|
|
}
|
|
}
|
|
.tag(2)
|
|
|
|
}
|
|
|
|
|
|
}
|
|
.hideNavigationBar()
|
|
// }
|
|
}
|
|
}
|
|
|
|
struct ContentView_Previews: PreviewProvider {
|
|
static var previews: some View {
|
|
ContentView()
|
|
}
|
|
}
|