diff options
author | Marc Stibane <marc@taler.net> | 2024-02-08 17:45:36 +0100 |
---|---|---|
committer | Marc Stibane <marc@taler.net> | 2024-02-08 17:45:36 +0100 |
commit | 2f0716816f4c25cbd52111eefaba4b69e9e3e8d8 (patch) | |
tree | 0554256bdeca1a192458cea9a7ac6b3a6f94e226 | |
parent | 19745a240c51c38a867d3fdfc8f02a0acc8471fb (diff) | |
download | taler-ios-2f0716816f4c25cbd52111eefaba4b69e9e3e8d8.tar.gz taler-ios-2f0716816f4c25cbd52111eefaba4b69e9e3e8d8.tar.bz2 taler-ios-2f0716816f4c25cbd52111eefaba4b69e9e3e8d8.zip |
TransactionDetailV
-rw-r--r-- | TalerWallet.xcodeproj/project.pbxproj | 6 | ||||
-rw-r--r-- | TalerWallet1/Views/Transactions/TransactionDetailV.swift | 52 | ||||
-rw-r--r-- | TalerWallet1/Views/Transactions/TransactionSummaryV.swift | 2 |
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):"), |