BankingClient/ui/BankingiOSApp/BankingiOSApp/ContentView.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()
}
}