commit 0218169ce64f89c3c7aaa7d7feb3aa7cb3e2d37d
parent a5bb5c524261fafa2e46ab3c77f019ef14873874
Author: Sebastian <sebasjm@taler-systems.com>
Date: Wed, 1 Jul 2026 12:06:18 -0300
when the proposoal is in dialog stage it still loading
Diffstat:
1 file changed, 7 insertions(+), 14 deletions(-)
diff --git a/packages/taler-wallet-webextension/src/cta/Payment/state.ts b/packages/taler-wallet-webextension/src/cta/Payment/state.ts
@@ -21,6 +21,7 @@ import {
ChoiceSelectionDetailType,
ConfirmPayResultType,
NotificationType,
+ Result,
TransactionMajorState,
TransactionType,
TranslatedString
@@ -87,9 +88,11 @@ export function useComponentStateFromTxId({
WalletApiOperation.GetTransactionById, { transactionId, includeContractTerms: true }
);
- const choices = await api.wallet.call(
+ const choices = Result.orUndefined(await api.wallet.callForResult(
WalletApiOperation.GetChoicesForPayment, { transactionId }
- );
+ ));
+
+
return { transaction, choices };
}, []);
@@ -131,19 +134,9 @@ export function useComponentStateFromTxId({
}
const payStatus = hook.response.transaction.type === TransactionType.Payment ? hook.response.transaction : undefined;
const contractTerms = payStatus?.contractTerms
- if (!contractTerms) {
- return {
- status: "error",
- error: {
- message: i18n.str`The transaction doesn't have contract terms.`,
- cause: {},
- context: undefined,
- description: "" as TranslatedString,
- type: "error"
- },
- };
- }
const { choices } = hook.response;
+ if (!contractTerms) return { status: "loading", error: undefined };
+ if (!choices) return { status: "loading", error: undefined };
async function doPayment(): Promise<void> {
const res = await api.wallet.call(WalletApiOperation.ConfirmPay, {