[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
[taler-taler-ios] 25/54: failTransaction
From: |
gnunet |
Subject: |
[taler-taler-ios] 25/54: failTransaction |
Date: |
Fri, 30 Jun 2023 22:33:57 +0200 |
This is an automated email from the git hooks/post-receive script.
marc-stibane pushed a commit to branch master
in repository taler-ios.
commit ef9b59f24bc9479543f2bfd1d97b870c2bda2574
Author: Marc Stibane <marc@taler.net>
AuthorDate: Tue Jun 27 14:24:06 2023 +0200
failTransaction
---
.../Views/Balances/BalancesSectionView.swift | 10 +++++---
.../Views/HelperViews/TransactionButton.swift | 5 ++--
.../Views/Transactions/TransactionDetailView.swift | 7 +++++-
.../Views/Transactions/TransactionsListView.swift | 28 ++++++++++++----------
4 files changed, 32 insertions(+), 18 deletions(-)
diff --git a/TalerWallet1/Views/Balances/BalancesSectionView.swift
b/TalerWallet1/Views/Balances/BalancesSectionView.swift
index 188be25..4220fd0 100644
--- a/TalerWallet1/Views/Balances/BalancesSectionView.swift
+++ b/TalerWallet1/Views/Balances/BalancesSectionView.swift
@@ -84,6 +84,7 @@ struct BalancesSectionView: View {
let abortAction = model.abortTransactionT
let suspendAction = model.suspendTransactionT // dummyTransaction
let resumeAction = model.resumeTransactionT
+ let failAction = model.failTransaction
Section {
// if "KUDOS" == currency && !balance.available.isZero {
@@ -110,8 +111,9 @@ struct BalancesSectionView: View {
transactions: completedTransactions,
reloadAllAction: reloadCompleted,
reloadOneAction: reloadOneAction,
- deleteAction: deleteAction,
abortAction: abortAction,
+ deleteAction: deleteAction,
+ failAction: failAction,
suspendAction: suspendAction,
resumeAction: resumeAction)
}, tag: 3, selection: $buttonSelected
@@ -139,8 +141,9 @@ struct BalancesSectionView: View {
transactions: pendingTransactions,
reloadAllAction: reloadPending,
reloadOneAction: reloadOneAction,
- deleteAction: deleteAction,
abortAction: abortAction,
+ deleteAction: deleteAction,
+ failAction: failAction,
suspendAction: suspendAction,
resumeAction: resumeAction)
}
@@ -170,8 +173,9 @@ struct BalancesSectionView: View {
transactions:
uncompletedTransactions,
reloadAllAction: reloadUncompleted,
reloadOneAction: reloadOneAction,
- deleteAction: deleteAction,
abortAction: abortAction,
+ deleteAction: deleteAction,
+ failAction: failAction,
suspendAction: suspendAction,
resumeAction: resumeAction)
}
diff --git a/TalerWallet1/Views/HelperViews/TransactionButton.swift
b/TalerWallet1/Views/HelperViews/TransactionButton.swift
index 3c017e6..ed4f3fa 100644
--- a/TalerWallet1/Views/HelperViews/TransactionButton.swift
+++ b/TalerWallet1/Views/HelperViews/TransactionButton.swift
@@ -14,9 +14,10 @@ struct TransactionButton: View {
@State var disabled: Bool = false
@State var executed: Bool = false
var body: some View {
+ let isDestructive = (command == .delete) || (command == .fail)
let role: ButtonRole? = (command == .abort) ? .cancel
- : (command == .delete) ? .destructive
- : nil
+ : isDestructive ? .destructive
+ : nil
Button(role: role, action: {
Task {
disabled = true // don't try this more than once
diff --git a/TalerWallet1/Views/Transactions/TransactionDetailView.swift
b/TalerWallet1/Views/Transactions/TransactionDetailView.swift
index 0165764..486984c 100644
--- a/TalerWallet1/Views/Transactions/TransactionDetailView.swift
+++ b/TalerWallet1/Views/Transactions/TransactionDetailView.swift
@@ -31,8 +31,9 @@ struct TransactionDetailView: View {
@State var viewId = UUID()
var reloadAction: ((_ transactionId: String) async throws -> Transaction)
- var deleteAction: ((_ transactionId: String) async throws -> Void)?
var abortAction: ((_ transactionId: String) async throws -> Void)?
+ var deleteAction: ((_ transactionId: String) async throws -> Void)?
+ var failAction: ((_ transactionId: String) async throws -> Void)?
var doneAction: (() -> Void)?
var suspendAction: ((_ transactionId: String) async throws -> Void)?
var resumeAction: ((_ transactionId: String) async throws -> Void)?
@@ -69,6 +70,10 @@ struct TransactionDetailView: View {
TransactionButton(transactionId: common.transactionId,
command: .abort, action: abortAction)
} } // Abort button
+ if transaction.isFailable { if let failAction {
+ TransactionButton(transactionId: common.transactionId,
+ command: .fail, action: failAction)
+ } } // Delete button
if transaction.isDeleteable { if let deleteAction {
TransactionButton(transactionId: common.transactionId,
command: .delete, action: deleteAction)
diff --git a/TalerWallet1/Views/Transactions/TransactionsListView.swift
b/TalerWallet1/Views/Transactions/TransactionsListView.swift
index 77563e4..014a3a0 100644
--- a/TalerWallet1/Views/Transactions/TransactionsListView.swift
+++ b/TalerWallet1/Views/Transactions/TransactionsListView.swift
@@ -14,8 +14,9 @@ struct TransactionsListView: View {
let transactions: [Transaction]
let reloadAllAction: () async -> ()
let reloadOneAction: ((_ transactionId: String) async throws ->
Transaction)
- let deleteAction: (_ transactionId: String) async throws -> ()
let abortAction: (_ transactionId: String) async throws -> ()
+ let deleteAction: (_ transactionId: String) async throws -> ()
+ let failAction: (_ transactionId: String) async throws -> ()
let suspendAction: (_ transactionId: String) async throws -> ()
let resumeAction: (_ transactionId: String) async throws -> ()
@@ -29,15 +30,16 @@ struct TransactionsListView: View {
// let title = AttributedString(localized: "^[\(count) Ticket](inflect:
true)")
let title: String = "\(count) \(navTitle)"
Content(symLog: symLog,
- currency: currency,
- transactions: transactions,
- myListStyle: $myListStyle,
- reloadAllAction: reloadAllAction,
- reloadOneAction: reloadOneAction,
- deleteAction: deleteAction,
- abortAction: abortAction,
- suspendAction: suspendAction,
- resumeAction: resumeAction)
+ currency: currency,
+ transactions: transactions,
+ myListStyle: $myListStyle,
+ reloadAllAction: reloadAllAction,
+ reloadOneAction: reloadOneAction,
+ abortAction: abortAction,
+ deleteAction: deleteAction,
+ failAction: failAction,
+ suspendAction: suspendAction,
+ resumeAction: resumeAction)
.navigationTitle(title)
.navigationBarTitleDisplayMode(.large) // .inline
.onAppear {
@@ -58,8 +60,9 @@ extension TransactionsListView {
@Binding var myListStyle: MyListStyle
let reloadAllAction: () async -> ()
let reloadOneAction: ((_ transactionId: String) async throws ->
Transaction)
- let deleteAction: (_ transactionId: String) async throws -> ()
let abortAction: (_ transactionId: String) async throws -> ()
+ let deleteAction: (_ transactionId: String) async throws -> ()
+ let failAction: (_ transactionId: String) async throws -> ()
let suspendAction: (_ transactionId: String) async throws -> ()
let resumeAction: (_ transactionId: String) async throws -> ()
@@ -102,8 +105,9 @@ extension TransactionsListView {
// pending may not be deleted, but only aborted
TransactionDetailView(transactionId:
transaction.id,
reloadAction: reloadOneAction,
- deleteAction: deleteAction,
abortAction: abortAction,
+ deleteAction: deleteAction,
+ failAction: failAction,
suspendAction: suspendAction,
resumeAction: resumeAction)
}} label: {
--
To stop receiving notification emails like this one, please contact
gnunet@gnunet.org.
- [taler-taler-ios] 32/54: Adjust DebugView for Notch, (continued)
- [taler-taler-ios] 32/54: Adjust DebugView for Notch, gnunet, 2023/06/30
- [taler-taler-ios] 20/54: viewID + comments, gnunet, 2023/06/30
- [taler-taler-ios] 31/54: bump Testflight version, gnunet, 2023/06/30
- [taler-taler-ios] 37/54: Decodable, gnunet, 2023/06/30
- [taler-taler-ios] 29/54: Model cleanup, gnunet, 2023/06/30
- [taler-taler-ios] 36/54: playSound, gnunet, 2023/06/30
- [taler-taler-ios] 44/54: BalanceReloaded, gnunet, 2023/06/30
- [taler-taler-ios] 35/54: developerMode, gnunet, 2023/06/30
- [taler-taler-ios] 45/54: TransactionDetails, gnunet, 2023/06/30
- [taler-taler-ios] 39/54: Scrollview, gnunet, 2023/06/30
- [taler-taler-ios] 25/54: failTransaction,
gnunet <=
- [taler-taler-ios] 23/54: Remove old view, gnunet, 2023/06/30
- [taler-taler-ios] 24/54: balance-change, gnunet, 2023/06/30
- [taler-taler-ios] 47/54: #available(iOS 17.0, *) only with Xcode 15, gnunet, 2023/06/30
- [taler-taler-ios] 46/54: ThreeAmountsSheet, gnunet, 2023/06/30
- [taler-taler-ios] 51/54: remove debugging, gnunet, 2023/06/30
- [taler-taler-ios] 22/54: cleaned up P2P, gnunet, 2023/06/30
- [taler-taler-ios] 54/54: iOS: bump version to 0.9.3 (10), gnunet, 2023/06/30
- [taler-taler-ios] 49/54: ScrollViewReader, gnunet, 2023/06/30
- [taler-taler-ios] 50/54: withdrawalAmountDetails, gnunet, 2023/06/30
- [taler-taler-ios] 48/54: Demo Shop, reloading, gnunet, 2023/06/30