summaryrefslogtreecommitdiff
path: root/packages/demobank-ui/src/pages/OperationState/index.ts
diff options
context:
space:
mode:
Diffstat (limited to 'packages/demobank-ui/src/pages/OperationState/index.ts')
-rw-r--r--packages/demobank-ui/src/pages/OperationState/index.ts16
1 files changed, 11 insertions, 5 deletions
diff --git a/packages/demobank-ui/src/pages/OperationState/index.ts b/packages/demobank-ui/src/pages/OperationState/index.ts
index bc3555c48..b17b0d787 100644
--- a/packages/demobank-ui/src/pages/OperationState/index.ts
+++ b/packages/demobank-ui/src/pages/OperationState/index.ts
@@ -19,7 +19,7 @@ import { utils } from "@gnu-taler/web-util/browser";
import { ErrorLoading } from "../../components/ErrorLoading.js";
import { Loading } from "../../components/Loading.js";
import { useComponentState } from "./state.js";
-import { AbortedView, ConfirmedView, InvalidPaytoView, InvalidReserveView, InvalidWithdrawalView, NeedConfirmationView, ReadyView } from "./views.js";
+import { AbortedView, ConfirmedView, FailedView, InvalidPaytoView, InvalidReserveView, InvalidWithdrawalView, NeedConfirmationView, ReadyView } from "./views.js";
export interface Props {
currency: string;
@@ -29,6 +29,7 @@ export interface Props {
export type State = State.Loading |
State.LoadingError |
State.Ready |
+ State.Failed |
State.Aborted |
State.Confirmed |
State.InvalidPayto |
@@ -42,6 +43,11 @@ export namespace State {
error: undefined;
}
+ export interface Failed {
+ status: "failed";
+ error: TalerCoreBankErrorsByMethod<"createWithdrawal">;
+ }
+
export interface LoadingError {
status: "loading-error";
error: TalerError;
@@ -54,8 +60,7 @@ export namespace State {
status: "ready";
error: undefined;
uri: WithdrawUriResult,
- onClose: () => void;
- onAbort: () => void;
+ onClose: () => Promise<TalerCoreBankErrorsByMethod<"abortWithdrawalById"> | undefined>;
}
export interface InvalidPayto {
@@ -78,8 +83,8 @@ export namespace State {
}
export interface NeedConfirmation {
status: "need-confirmation",
- onAbort: () => void;
- onConfirm: () => void;
+ onAbort: () => Promise<TalerCoreBankErrorsByMethod<"abortWithdrawalById"> | undefined>;
+ onConfirm: () => Promise<TalerCoreBankErrorsByMethod<"confirmWithdrawalById"> | undefined>;
error: undefined;
busy: boolean,
}
@@ -106,6 +111,7 @@ export interface Transaction {
const viewMapping: utils.StateViewMap<State> = {
loading: Loading,
+ "failed": FailedView,
"invalid-payto": InvalidPaytoView,
"invalid-withdrawal": InvalidWithdrawalView,
"invalid-reserve": InvalidReserveView,