From 59d235e8d29159bc8caccf8bee6a2bca8b0b90dc Mon Sep 17 00:00:00 2001 From: Sebastian Date: Fri, 16 Sep 2022 16:03:58 -0300 Subject: redirect after success #7357 --- .../taler-wallet-webextension/src/cta/Deposit/index.ts | 7 +++---- .../taler-wallet-webextension/src/cta/Deposit/state.ts | 14 ++------------ .../taler-wallet-webextension/src/cta/Deposit/test.ts | 10 ++++++---- .../src/cta/Deposit/views.tsx | 18 ------------------ 4 files changed, 11 insertions(+), 38 deletions(-) (limited to 'packages/taler-wallet-webextension/src/cta/Deposit') diff --git a/packages/taler-wallet-webextension/src/cta/Deposit/index.ts b/packages/taler-wallet-webextension/src/cta/Deposit/index.ts index 0f6c4743e..d6433b18c 100644 --- a/packages/taler-wallet-webextension/src/cta/Deposit/index.ts +++ b/packages/taler-wallet-webextension/src/cta/Deposit/index.ts @@ -21,19 +21,19 @@ import { ButtonHandler } from "../../mui/handlers.js"; import { compose, StateViewMap } from "../../utils/index.js"; import * as wxApi from "../../wxApi.js"; import { useComponentState } from "./state.js"; -import { CompletedView, LoadingUriView, ReadyView } from "./views.js"; +import { LoadingUriView, ReadyView } from "./views.js"; export interface Props { talerDepositUri: string | undefined; amountStr: AmountString | undefined; cancel: () => Promise; + onSuccess: (tx: string) => Promise; } export type State = | State.Loading | State.LoadingUriError - | State.Ready - | State.Completed; + | State.Ready; export namespace State { export interface Loading { @@ -62,7 +62,6 @@ export namespace State { const viewMapping: StateViewMap = { loading: Loading, "loading-uri": LoadingUriView, - completed: CompletedView, ready: ReadyView, }; diff --git a/packages/taler-wallet-webextension/src/cta/Deposit/state.ts b/packages/taler-wallet-webextension/src/cta/Deposit/state.ts index 0ae8bff18..b6861cb4b 100644 --- a/packages/taler-wallet-webextension/src/cta/Deposit/state.ts +++ b/packages/taler-wallet-webextension/src/cta/Deposit/state.ts @@ -21,12 +21,9 @@ import * as wxApi from "../../wxApi.js"; import { Props, State } from "./index.js"; export function useComponentState( - { talerDepositUri, amountStr, cancel }: Props, + { talerDepositUri, amountStr, cancel, onSuccess }: Props, api: typeof wxApi, ): State { - const [result, setResult] = useState( - undefined, - ); const info = useAsyncAsHook(async () => { if (!talerDepositUri) throw Error("ERROR_NO-URI-FOR-DEPOSIT"); @@ -51,14 +48,7 @@ export function useComponentState( const { deposit, uri, amount } = info.response; async function doDeposit(): Promise { const resp = await api.createDepositGroup(uri, Amounts.stringify(amount)); - setResult(resp); - } - - if (result !== undefined) { - return { - status: "completed", - error: undefined, - }; + onSuccess(resp.transactionId); } return { diff --git a/packages/taler-wallet-webextension/src/cta/Deposit/test.ts b/packages/taler-wallet-webextension/src/cta/Deposit/test.ts index 67f9ca8bd..5d5c5cecb 100644 --- a/packages/taler-wallet-webextension/src/cta/Deposit/test.ts +++ b/packages/taler-wallet-webextension/src/cta/Deposit/test.ts @@ -35,6 +35,7 @@ describe("Deposit CTA states", () => { cancel: async () => { null; }, + onSuccess: async () => { null; }, }, { prepareRefund: async () => ({}), @@ -75,13 +76,14 @@ describe("Deposit CTA states", () => { cancel: async () => { null; }, + onSuccess: async () => { null; }, }, { prepareDeposit: async () => - ({ - effectiveDepositAmount: Amounts.parseOrThrow("EUR:1"), - totalDepositCost: Amounts.parseOrThrow("EUR:1.2"), - } as PrepareDepositResponse as any), + ({ + effectiveDepositAmount: Amounts.parseOrThrow("EUR:1"), + totalDepositCost: Amounts.parseOrThrow("EUR:1.2"), + } as PrepareDepositResponse as any), createDepositGroup: async () => ({}), } as any, ), diff --git a/packages/taler-wallet-webextension/src/cta/Deposit/views.tsx b/packages/taler-wallet-webextension/src/cta/Deposit/views.tsx index 9045e5bfa..2ec305de5 100644 --- a/packages/taler-wallet-webextension/src/cta/Deposit/views.tsx +++ b/packages/taler-wallet-webextension/src/cta/Deposit/views.tsx @@ -40,24 +40,6 @@ export function LoadingUriView({ error }: State.LoadingUriError): VNode { /> ); } -export function CompletedView(state: State.Completed): VNode { - const { i18n } = useTranslationContext(); - - return ( - - - - - Digital cash deposit - -
-

- deposit completed -

-
-
- ); -} export function ReadyView(state: State.Ready): VNode { const { i18n } = useTranslationContext(); -- cgit v1.2.3