summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorMarc Stibane <marc@taler.net>2024-02-08 17:45:36 +0100
committerMarc Stibane <marc@taler.net>2024-02-08 17:45:36 +0100
commit2f0716816f4c25cbd52111eefaba4b69e9e3e8d8 (patch)
tree0554256bdeca1a192458cea9a7ac6b3a6f94e226
parent19745a240c51c38a867d3fdfc8f02a0acc8471fb (diff)
downloadtaler-ios-2f0716816f4c25cbd52111eefaba4b69e9e3e8d8.tar.gz
taler-ios-2f0716816f4c25cbd52111eefaba4b69e9e3e8d8.tar.bz2
taler-ios-2f0716816f4c25cbd52111eefaba4b69e9e3e8d8.zip
TransactionDetailV
-rw-r--r--TalerWallet.xcodeproj/project.pbxproj6
-rw-r--r--TalerWallet1/Views/Transactions/TransactionDetailV.swift52
-rw-r--r--TalerWallet1/Views/Transactions/TransactionSummaryV.swift2
3 files changed, 59 insertions, 1 deletions
diff --git a/TalerWallet.xcodeproj/project.pbxproj b/TalerWallet.xcodeproj/project.pbxproj
index 37109e0..43e295c 100644
--- a/TalerWallet.xcodeproj/project.pbxproj
+++ b/TalerWallet.xcodeproj/project.pbxproj
@@ -152,6 +152,8 @@
4E6EDD872A363D8D0031D520 /* ListStyle.swift in Sources */ = {isa = PBXBuildFile; fileRef = 4E6EDD862A363D8D0031D520 /* ListStyle.swift */; };
4E6EF56B2B65A33300AF252A /* PaymentDone.swift in Sources */ = {isa = PBXBuildFile; fileRef = 4E6EF56A2B65A33300AF252A /* PaymentDone.swift */; };
4E6EF56C2B65A33300AF252A /* PaymentDone.swift in Sources */ = {isa = PBXBuildFile; fileRef = 4E6EF56A2B65A33300AF252A /* PaymentDone.swift */; };
+ 4E6EF56E2B669C7000AF252A /* TransactionDetailV.swift in Sources */ = {isa = PBXBuildFile; fileRef = 4E6EF56D2B669C7000AF252A /* TransactionDetailV.swift */; };
+ 4E6EF56F2B669C7000AF252A /* TransactionDetailV.swift in Sources */ = {isa = PBXBuildFile; fileRef = 4E6EF56D2B669C7000AF252A /* TransactionDetailV.swift */; };
4E753A062A0952F8002D9328 /* DebugViewC.swift in Sources */ = {isa = PBXBuildFile; fileRef = 4E753A052A0952F7002D9328 /* DebugViewC.swift */; };
4E753A082A0B6A5F002D9328 /* ShareSheet.swift in Sources */ = {isa = PBXBuildFile; fileRef = 4E753A072A0B6A5F002D9328 /* ShareSheet.swift */; };
4E7940DE29FC307C00A9AEA1 /* P2PSubjectV.swift in Sources */ = {isa = PBXBuildFile; fileRef = 4E7940DD29FC307C00A9AEA1 /* P2PSubjectV.swift */; };
@@ -331,6 +333,7 @@
4E6EDD842A3615BE0031D520 /* ManualDetailsV.swift */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.swift; path = ManualDetailsV.swift; sourceTree = "<group>"; };
4E6EDD862A363D8D0031D520 /* ListStyle.swift */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.swift; path = ListStyle.swift; sourceTree = "<group>"; };
4E6EF56A2B65A33300AF252A /* PaymentDone.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = PaymentDone.swift; sourceTree = "<group>"; };
+ 4E6EF56D2B669C7000AF252A /* TransactionDetailV.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = TransactionDetailV.swift; sourceTree = "<group>"; };
4E753A042A08E720002D9328 /* transactions.json */ = {isa = PBXFileReference; lastKnownFileType = text.json; path = transactions.json; sourceTree = "<group>"; };
4E753A052A0952F7002D9328 /* DebugViewC.swift */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.swift; path = DebugViewC.swift; sourceTree = "<group>"; };
4E753A072A0B6A5F002D9328 /* ShareSheet.swift */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.swift; path = ShareSheet.swift; sourceTree = "<group>"; };
@@ -694,6 +697,7 @@
4EB0952F2989CBFE0043A8A1 /* TransactionsListView.swift */,
4EB095302989CBFE0043A8A1 /* TransactionRowView.swift */,
4EB095312989CBFE0043A8A1 /* TransactionSummaryV.swift */,
+ 4E6EF56D2B669C7000AF252A /* TransactionDetailV.swift */,
4E87C8722A31CB7F001C6406 /* TransactionsEmptyView.swift */,
4E6EDD842A3615BE0031D520 /* ManualDetailsV.swift */,
4ED2F94A2A278F5100453B40 /* ThreeAmountsV.swift */,
@@ -1105,6 +1109,7 @@
4EFA39602AA7946B00742548 /* ToSButtonView.swift in Sources */,
4E3EAE4F2A990778009F1BE8 /* TwoRowButtons.swift in Sources */,
4E3EAE502A990778009F1BE8 /* Model+Transactions.swift in Sources */,
+ 4E6EF56E2B669C7000AF252A /* TransactionDetailV.swift in Sources */,
4E3EAE512A990778009F1BE8 /* Controller+playSound.swift in Sources */,
4E3EAE522A990778009F1BE8 /* WalletEmptyView.swift in Sources */,
4E3EAE532A990778009F1BE8 /* CurrencySpecification.swift in Sources */,
@@ -1212,6 +1217,7 @@
4EFA39612AA7946B00742548 /* ToSButtonView.swift in Sources */,
4EB065442A4CD1A80039B91D /* TwoRowButtons.swift in Sources */,
4EB095592989CBFE0043A8A1 /* Model+Transactions.swift in Sources */,
+ 4E6EF56F2B669C7000AF252A /* TransactionDetailV.swift in Sources */,
4E578E922A481D8600F21F1C /* Controller+playSound.swift in Sources */,
4EB0955F2989CBFE0043A8A1 /* WalletEmptyView.swift in Sources */,
4E16E12329F3BB99008B9C86 /* CurrencySpecification.swift in Sources */,
diff --git a/TalerWallet1/Views/Transactions/TransactionDetailV.swift b/TalerWallet1/Views/Transactions/TransactionDetailV.swift
new file mode 100644
index 0000000..0e4feb0
--- /dev/null
+++ b/TalerWallet1/Views/Transactions/TransactionDetailV.swift
@@ -0,0 +1,52 @@
+//
+// TransactionDetailV.swift
+// TalerWallet
+//
+// Created by Marc Stibane on 2024-01-28.
+// Copyright © 2024 Taler. All rights reserved.
+//
+
+import SwiftUI
+
+struct TransactionDetailV: View {
+ let paymentTx: PaymentTransaction
+
+ var body: some View {
+ let common = paymentTx.common
+ let details = paymentTx.details
+ let info = details.info
+ Section {
+ if let posConfirmation = details.posConfirmation {
+ Text(posConfirmation)
+ }
+// Text(info.summary)
+ Text(info.orderId)
+// Text(info.merchant.name)
+
+ if let fulfillmentUrl = info.fulfillmentUrl {
+ if let destination = URL(string: fulfillmentUrl) {
+ let buttonTitle = info.fulfillmentMessage ?? "Open merchant website"
+ Link(buttonTitle, destination: destination)
+ .buttonStyle(TalerButtonStyle(type: .bordered))
+ .accessibilityHint("Will go to the merchant website.")
+ }
+ } else if let fulfillmentMessage = info.fulfillmentMessage {
+ Text(fulfillmentMessage)
+ }
+ if let products = info.products {
+ ForEach(products) {product in
+ Section {
+ if let product_id = product.product_id {
+ Text(product_id)
+ }
+ }
+ }
+ }
+ }
+ }
+}
+
+// MARK: -
+//#Preview {
+// TransactionDetailV()
+//}
diff --git a/TalerWallet1/Views/Transactions/TransactionSummaryV.swift b/TalerWallet1/Views/Transactions/TransactionSummaryV.swift
index 5eea652..f31cc99 100644
--- a/TalerWallet1/Views/Transactions/TransactionSummaryV.swift
+++ b/TalerWallet1/Views/Transactions/TransactionSummaryV.swift
@@ -293,7 +293,7 @@ struct TransactionSummaryV: View {
}
case .payment(let paymentTransaction): Group {
let details = paymentTransaction.details
-// TransactionDetailV(paymentTx: paymentTransaction)
+ TransactionDetailV(paymentTx: paymentTransaction)
ThreeAmountsSheet(stack: stack.push(),
common: common, topAbbrev: String(localized: "Price:", comment: "mini"),
topTitle: String(localized: "Price (net):"),