2021-11-15 15:32:54 -08:00
|
|
|
import SwiftUI
|
|
|
|
import ComposableArchitecture
|
|
|
|
|
|
|
|
struct TransactionHistoryView: View {
|
|
|
|
let store: Store<TransactionHistoryState, TransactionHistoryAction>
|
|
|
|
|
|
|
|
var body: some View {
|
2022-04-21 10:11:55 -07:00
|
|
|
UITableView.appearance().backgroundColor = .clear
|
|
|
|
UITableViewCell.appearance().backgroundColor = .clear
|
|
|
|
|
|
|
|
return WithViewStore(store) { viewStore in
|
|
|
|
if viewStore.isScrollable {
|
|
|
|
List {
|
|
|
|
transactionsList(with: viewStore)
|
|
|
|
}
|
|
|
|
.listStyle(.sidebar)
|
|
|
|
} else {
|
|
|
|
transactionsList(with: viewStore)
|
|
|
|
.padding(.leading, 32)
|
|
|
|
}
|
|
|
|
}
|
|
|
|
}
|
|
|
|
}
|
|
|
|
|
|
|
|
extension TransactionHistoryView {
|
|
|
|
func transactionsList(with viewStore: TransactionHistoryViewStore) -> some View {
|
|
|
|
ForEach(viewStore.transactions) { transaction in
|
|
|
|
WithStateBinding(binding: viewStore.bindingForSelectingTransaction(transaction)) { active in
|
|
|
|
HStack {
|
2022-04-20 07:45:24 -07:00
|
|
|
Text("Show Transaction \(transaction.id)")
|
|
|
|
.navigationLink(
|
2022-04-21 10:11:55 -07:00
|
|
|
isActive: active,
|
2022-04-20 07:45:24 -07:00
|
|
|
destination: { TransactionDetailView(transaction: transaction) }
|
|
|
|
)
|
2022-04-21 10:11:55 -07:00
|
|
|
.foregroundColor(Asset.Colors.Text.body.color)
|
|
|
|
.listRowBackground(Color.clear)
|
|
|
|
|
|
|
|
Spacer()
|
2021-11-15 15:32:54 -08:00
|
|
|
}
|
|
|
|
}
|
|
|
|
}
|
|
|
|
}
|
|
|
|
}
|
|
|
|
|
2021-10-26 16:14:03 -07:00
|
|
|
struct TransactionView_Previews: PreviewProvider {
|
|
|
|
static var previews: some View {
|
|
|
|
NavigationView {
|
2021-12-13 17:17:15 -08:00
|
|
|
TransactionHistoryView(store: .placeholder)
|
2021-10-26 16:14:03 -07:00
|
|
|
}
|
|
|
|
}
|
|
|
|
}
|