summaryrefslogtreecommitdiff
path: root/packages/taler-wallet-webextension/src/cta/Deposit
diff options
context:
space:
mode:
authorSebastian <sebasjm@gmail.com>2022-09-16 16:03:58 -0300
committerSebastian <sebasjm@gmail.com>2022-09-16 16:03:58 -0300
commit59d235e8d29159bc8caccf8bee6a2bca8b0b90dc (patch)
tree551261c860b1989dc0b1a05ddcfd53d20e561626 /packages/taler-wallet-webextension/src/cta/Deposit
parent6ddb2de84245ae3914c92b2b2eb7399e7f04500e (diff)
downloadwallet-core-59d235e8d29159bc8caccf8bee6a2bca8b0b90dc.tar.gz
wallet-core-59d235e8d29159bc8caccf8bee6a2bca8b0b90dc.tar.bz2
wallet-core-59d235e8d29159bc8caccf8bee6a2bca8b0b90dc.zip
redirect after success #7357
Diffstat (limited to 'packages/taler-wallet-webextension/src/cta/Deposit')
-rw-r--r--packages/taler-wallet-webextension/src/cta/Deposit/index.ts7
-rw-r--r--packages/taler-wallet-webextension/src/cta/Deposit/state.ts14
-rw-r--r--packages/taler-wallet-webextension/src/cta/Deposit/test.ts10
-rw-r--r--packages/taler-wallet-webextension/src/cta/Deposit/views.tsx18
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();