diff options
author | Marc Stibane <marc@taler.net> | 2024-02-09 11:48:39 +0100 |
---|---|---|
committer | Marc Stibane <marc@taler.net> | 2024-02-09 11:48:39 +0100 |
commit | 19d17ba425ae9eca5ef2ad55f7806dad52a59607 (patch) | |
tree | 9b695d490bc59c81e8dd21a1c7f59ec534b97a2f | |
parent | 8bcbb7d81f5144fe499b39ab115e76496a6ca199 (diff) | |
download | taler-ios-19d17ba425ae9eca5ef2ad55f7806dad52a59607.tar.gz taler-ios-19d17ba425ae9eca5ef2ad55f7806dad52a59607.tar.bz2 taler-ios-19d17ba425ae9eca5ef2ad55f7806dad52a59607.zip |
RotatingTaler while waiting for tx to finish
-rw-r--r-- | TalerWallet1/Views/Transactions/TransactionSummaryV.swift | 36 |
1 files changed, 17 insertions, 19 deletions
diff --git a/TalerWallet1/Views/Transactions/TransactionSummaryV.swift b/TalerWallet1/Views/Transactions/TransactionSummaryV.swift index f31cc99..c6291b0 100644 --- a/TalerWallet1/Views/Transactions/TransactionSummaryV.swift +++ b/TalerWallet1/Views/Transactions/TransactionSummaryV.swift @@ -140,6 +140,7 @@ struct TransactionSummaryV: View { TypeDetail(stack: stack.push(), transaction: $transaction, hasDone: doneAction != nil) + // TODO: Retry Countdown, Retry Now button // if transaction.isRetryable { if let retryAction { // TransactionButton(transactionId: common.transactionId, command: .retry, // warning: nil, action: abortAction) @@ -242,6 +243,7 @@ struct TransactionSummaryV: View { let stack: CallStack @Binding var transaction: Transaction let hasDone: Bool + @State private var rotationEnabled = true var body: some View { let common = transaction.common @@ -252,6 +254,11 @@ struct TransactionSummaryV: View { let title = EMPTYSTRING Text(title) .accessibilityFont(.body) + HStack { + Spacer() + RotatingTaler(size: 100, rotationEnabled: $rotationEnabled) + Spacer() + } case .withdrawal(let withdrawalTransaction): Group { let details = withdrawalTransaction.details if pending { @@ -329,14 +336,16 @@ struct TransactionSummaryV: View { } case .peer2peer(let p2pTransaction): Group { let details = p2pTransaction.details - let expiration = details.info.expiration - let (dateString, date) = TalerDater.dateString(from: expiration) - let accessibilityDate = TalerDater.accessibilityDate(date) ?? dateString - let accessibilityLabel = String(localized: "Expires: \(accessibilityDate)") - Text("Expires: \(dateString)") - .accessibilityFont(.body) - .accessibilityLabel(accessibilityLabel) -// .foregroundColor(colorSchemeContrast == .increased ? .primary : .secondary) + if !transaction.isDone { + let expiration = details.info.expiration + let (dateString, date) = TalerDater.dateString(from: expiration) + let accessibilityDate = TalerDater.accessibilityDate(date) ?? dateString + let accessibilityLabel = String(localized: "Expires: \(accessibilityDate)") + Text("Expires: \(dateString)") + .accessibilityFont(.body) + .accessibilityLabel(accessibilityLabel) + // .foregroundColor(colorSchemeContrast == .increased ? .primary : .secondary) + } // TODO: isSendCoins should show QR only while not yet expired - either set timer or wallet-core should do so and send a state-changed notification if pending { if transaction.isPendingReady { @@ -391,17 +400,6 @@ struct TransactionSummaryV: View { } } } - struct DoneButton: View { - var doneAction: () -> Void - - var body: some View { - Button("Done") { - doneAction() - } - .buttonStyle(TalerButtonStyle(type: .prominent)) - .padding(.horizontal) - } - } } // MARK: - #if DEBUG |