diff options
Diffstat (limited to 'packages/taler-wallet-webextension/src/cta/Deposit')
4 files changed, 11 insertions, 38 deletions
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<void>; + onSuccess: (tx: string) => Promise<void>; } 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<State> = { 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<CreateDepositGroupResponse | undefined>( - 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<void> { 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 ( - <WalletAction> - <LogoHeader /> - - <SubTitle> - <i18n.Translate>Digital cash deposit</i18n.Translate> - </SubTitle> - <section> - <p> - <i18n.Translate>deposit completed</i18n.Translate> - </p> - </section> - </WalletAction> - ); -} export function ReadyView(state: State.Ready): VNode { const { i18n } = useTranslationContext(); |