diff options
Diffstat (limited to 'packages/taler-wallet-webextension/src/cta/TransferPickup/state.ts')
-rw-r--r-- | packages/taler-wallet-webextension/src/cta/TransferPickup/state.ts | 33 |
1 files changed, 11 insertions, 22 deletions
diff --git a/packages/taler-wallet-webextension/src/cta/TransferPickup/state.ts b/packages/taler-wallet-webextension/src/cta/TransferPickup/state.ts index 04fc0e0a7..12643b893 100644 --- a/packages/taler-wallet-webextension/src/cta/TransferPickup/state.ts +++ b/packages/taler-wallet-webextension/src/cta/TransferPickup/state.ts @@ -22,7 +22,7 @@ import { } from "@gnu-taler/taler-util"; import { TalerError, WalletApiOperation } from "@gnu-taler/taler-wallet-core"; import { useState } from "preact/hooks"; -import { alertFromError } from "../../context/alert.js"; +import { alertFromError, useAlertContext } from "../../context/alert.js"; import { useBackendContext } from "../../context/backend.js"; import { useTranslationContext } from "../../context/translation.js"; import { useAsyncAsHook } from "../../hooks/useAsyncAsHook.js"; @@ -34,15 +34,13 @@ export function useComponentState({ onSuccess, }: Props): State { const api = useBackendContext(); + const { pushAlertOnError } = useAlertContext(); const { i18n } = useTranslationContext(); const hook = useAsyncAsHook(async () => { return await api.wallet.call(WalletApiOperation.CheckPeerPushPayment, { talerUri: talerPayPushUri, }); }, []); - const [operationError, setOperationError] = useState< - TalerErrorDetail | undefined - >(undefined); if (!hook) { return { @@ -74,34 +72,25 @@ export function useComponentState({ contractTerms?.purse_expiration; async function accept(): Promise<void> { - try { - const resp = await api.wallet.call( - WalletApiOperation.AcceptPeerPushPayment, - { - peerPushPaymentIncomingId, - }, - ); - onSuccess(resp.transactionId); - } catch (e) { - if (e instanceof TalerError) { - setOperationError(e.errorDetail); - } - console.error(e); - throw Error("error trying to accept"); - } + const resp = await api.wallet.call( + WalletApiOperation.AcceptPeerPushPayment, + { + peerPushPaymentIncomingId, + }, + ); + onSuccess(resp.transactionId); } return { status: "ready", amount: Amounts.parseOrThrow(amount), error: undefined, accept: { - onClick: accept, + onClick: pushAlertOnError(accept), }, summary, expiration: expiration ? AbsoluteTime.fromTimestamp(expiration) : undefined, cancel: { - onClick: onClose, + onClick: pushAlertOnError(onClose), }, - operationError, }; } |