aboutsummaryrefslogtreecommitdiff
path: root/packages/taler-wallet-webextension/src/cta/Tip
diff options
context:
space:
mode:
Diffstat (limited to 'packages/taler-wallet-webextension/src/cta/Tip')
-rw-r--r--packages/taler-wallet-webextension/src/cta/Tip/state.ts7
-rw-r--r--packages/taler-wallet-webextension/src/cta/Tip/stories.tsx6
-rw-r--r--packages/taler-wallet-webextension/src/cta/Tip/test.ts5
3 files changed, 10 insertions, 8 deletions
diff --git a/packages/taler-wallet-webextension/src/cta/Tip/state.ts b/packages/taler-wallet-webextension/src/cta/Tip/state.ts
index 29a9c4c71..3b9abf5a3 100644
--- a/packages/taler-wallet-webextension/src/cta/Tip/state.ts
+++ b/packages/taler-wallet-webextension/src/cta/Tip/state.ts
@@ -16,7 +16,7 @@
import { Amounts } from "@gnu-taler/taler-util";
import { WalletApiOperation } from "@gnu-taler/taler-wallet-core";
-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";
@@ -29,6 +29,7 @@ export function useComponentState({
}: Props): State {
const api = useBackendContext();
const { i18n } = useTranslationContext();
+ const { pushAlertOnError } = useAlertContext();
const tipInfo = useAsyncAsHook(async () => {
if (!talerTipUri) throw Error("ERROR_NO-URI-FOR-TIP");
const tip = await api.wallet.call(WalletApiOperation.PrepareTip, {
@@ -77,7 +78,7 @@ export function useComponentState({
amount: Amounts.parseOrThrow(tip.tipAmountEffective),
error: undefined,
cancel: {
- onClick: onCancel,
+ onClick: pushAlertOnError(onCancel),
},
};
@@ -92,7 +93,7 @@ export function useComponentState({
status: "ready",
...baseInfo,
accept: {
- onClick: doAccept,
+ onClick: pushAlertOnError(doAccept),
},
};
}
diff --git a/packages/taler-wallet-webextension/src/cta/Tip/stories.tsx b/packages/taler-wallet-webextension/src/cta/Tip/stories.tsx
index 86bdd27a9..dd358d9d2 100644
--- a/packages/taler-wallet-webextension/src/cta/Tip/stories.tsx
+++ b/packages/taler-wallet-webextension/src/cta/Tip/stories.tsx
@@ -20,14 +20,14 @@
*/
import { Amounts } from "@gnu-taler/taler-util";
-import { createExample } from "../../test-utils.js";
+import { tests } from "@gnu-taler/web-util/lib/index.browser";
import { AcceptedView, ReadyView } from "./views.js";
export default {
title: "tip",
};
-export const Accepted = createExample(AcceptedView, {
+export const Accepted = tests.createExample(AcceptedView, {
status: "accepted",
error: undefined,
amount: Amounts.parseOrThrow("EUR:1"),
@@ -35,7 +35,7 @@ export const Accepted = createExample(AcceptedView, {
merchantBaseUrl: "",
});
-export const Ready = createExample(ReadyView, {
+export const Ready = tests.createExample(ReadyView, {
status: "ready",
error: undefined,
amount: Amounts.parseOrThrow("EUR:1"),
diff --git a/packages/taler-wallet-webextension/src/cta/Tip/test.ts b/packages/taler-wallet-webextension/src/cta/Tip/test.ts
index 2cc95f424..44a6f9b0b 100644
--- a/packages/taler-wallet-webextension/src/cta/Tip/test.ts
+++ b/packages/taler-wallet-webextension/src/cta/Tip/test.ts
@@ -23,7 +23,8 @@ import { Amounts } from "@gnu-taler/taler-util";
import { WalletApiOperation } from "@gnu-taler/taler-wallet-core";
import { expect } from "chai";
import { tests } from "../../../../web-util/src/index.browser.js";
-import { createWalletApiMock, nullFunction } from "../../test-utils.js";
+import { nullFunction } from "../../mui/handlers.js";
+import { createWalletApiMock } from "../../test-utils.js";
import { Props } from "./index.js";
import { useComponentState } from "./state.js";
@@ -48,7 +49,7 @@ describe("Tip CTA states", () => {
({ status, error }) => {
expect(status).equals("error");
if (!error) expect.fail();
- expect(error.cause?.message).eq("ERROR_NO-URI-FOR-TIP");
+ expect(error.description).eq("ERROR_NO-URI-FOR-TIP");
},
],
TestingContext,