commit b30311d700a58f94385684ac17ebc5d67fb5e68a
parent 7c12a2efd880a3de6347342b8641610fa76b704b
Author: Marc Stibane <marc@taler.net>
Date: Tue, 21 Jan 2025 10:15:38 +0100
timeToPay
Diffstat:
1 file changed, 16 insertions(+), 8 deletions(-)
diff --git a/TalerWallet1/Views/Sheets/Payment/PaymentView.swift b/TalerWallet1/Views/Sheets/Payment/PaymentView.swift
@@ -132,13 +132,19 @@ struct PaymentView: View, Sendable {
}
func timeToPay(_ terms: MerchantContractTerms) -> Int {
- if terms.payDeadline > terms.timestamp {
- if let duration = try? terms.payDeadline - terms.timestamp {
- switch duration {
- case .milliseconds(let uInt64):
- return Int(uInt64 / 1000)
- case .forever: break
- } } }
+ if let milliseconds = try? terms.payDeadline.milliseconds() {
+ let date = Date(milliseconds: milliseconds)
+ let now = Date.now
+ let timeInterval = now.timeIntervalSince(date)
+ if timeInterval < 0 {
+ symLog.log("\(timeInterval) seconds left to pay")
+ return Int(-timeInterval)
+ } else {
+ symLog.log("\(date) - \(now) = \(timeInterval)")
+ }
+ } else {
+ symLog.log("no milliseconds")
+ }
return 0
}
@@ -233,7 +239,7 @@ struct PaymentView: View, Sendable {
if !paid {
if let effective {
VStack {
- if timeToPay > 0 {
+ if timeToPay > 0 && timeToPay < 300 {
let startDate = Date()
HStack {
Text("Time to pay:")
@@ -254,6 +260,8 @@ struct PaymentView: View, Sendable {
}.monospacedDigit()
Text("seconds")
}.accessibilityElement(children: .combine)
+ } else {
+ let _ = symLog.log("\(timeToPay) not shown")
}
let destination = PaymentDone(stack: stack.push(),
// scope: firstScope, // TODO: let user choose which currency