summaryrefslogtreecommitdiff
path: root/packages/demobank-ui/src/hooks/bank-state.ts
diff options
context:
space:
mode:
Diffstat (limited to 'packages/demobank-ui/src/hooks/bank-state.ts')
-rw-r--r--packages/demobank-ui/src/hooks/bank-state.ts10
1 files changed, 10 insertions, 0 deletions
diff --git a/packages/demobank-ui/src/hooks/bank-state.ts b/packages/demobank-ui/src/hooks/bank-state.ts
index 87f7a49f0..15daf9180 100644
--- a/packages/demobank-ui/src/hooks/bank-state.ts
+++ b/packages/demobank-ui/src/hooks/bank-state.ts
@@ -28,6 +28,7 @@ import {
codecOptional,
} from "@gnu-taler/taler-util";
import { buildStorageKey, useLocalStorage } from "@gnu-taler/web-util/browser";
+import { AppLocation } from "../route.js";
export type ChallengeInProgess =
| DeleteAccountChallenge
@@ -41,6 +42,7 @@ type BaseChallenge<OpType extends string, ReqType> = {
id: string;
operation: OpType;
sent: AbsoluteTime;
+ location: AppLocation;
info?: TalerCorebankApi.TanTransmission;
request: ReqType;
};
@@ -68,6 +70,7 @@ const codecForChallengeUpdatePassword = (): Codec<UpdatePasswordChallenge> =>
buildCodecForObject<UpdatePasswordChallenge>()
.property("operation", codecForConstString("update-password"))
.property("id", codecForString())
+ .property("location", codecForAppLocation())
.property("sent", codecForAbsoluteTime)
.property("info", codecOptional(codecForTanTransmission()))
.property("request", codecForAny())
@@ -77,6 +80,7 @@ const codecForChallengeDeleteAccount = (): Codec<DeleteAccountChallenge> =>
buildCodecForObject<DeleteAccountChallenge>()
.property("operation", codecForConstString("delete-account"))
.property("id", codecForString())
+ .property("location", codecForAppLocation())
.property("sent", codecForAbsoluteTime)
.property("request", codecForString())
.property("info", codecOptional(codecForTanTransmission()))
@@ -86,6 +90,7 @@ const codecForChallengeUpdateAccount = (): Codec<UpdateAccountChallenge> =>
buildCodecForObject<UpdateAccountChallenge>()
.property("operation", codecForConstString("update-account"))
.property("id", codecForString())
+ .property("location", codecForAppLocation())
.property("sent", codecForAbsoluteTime)
.property("info", codecOptional(codecForTanTransmission()))
.property("request", codecForAny())
@@ -96,6 +101,7 @@ const codecForChallengeCreateTransaction =
buildCodecForObject<CreateTransactionChallenge>()
.property("operation", codecForConstString("create-transaction"))
.property("id", codecForString())
+ .property("location", codecForAppLocation())
.property("sent", codecForAbsoluteTime)
.property("info", codecOptional(codecForTanTransmission()))
.property("request", codecForAny())
@@ -106,15 +112,19 @@ const codecForChallengeConfirmWithdrawal =
buildCodecForObject<ConfirmWithdrawalChallenge>()
.property("operation", codecForConstString("confirm-withdrawal"))
.property("id", codecForString())
+ .property("location", codecForAppLocation())
.property("sent", codecForAbsoluteTime)
.property("info", codecOptional(codecForTanTransmission()))
.property("request", codecForString())
.build("ConfirmWithdrawalChallenge");
+const codecForAppLocation = codecForString as () => Codec<AppLocation>
+
const codecForChallengeCashout = (): Codec<CashoutChallenge> =>
buildCodecForObject<CashoutChallenge>()
.property("operation", codecForConstString("create-cashout"))
.property("id", codecForString())
+ .property("location", codecForAppLocation())
.property("sent", codecForAbsoluteTime)
.property("info", codecOptional(codecForTanTransmission()))
.property("request", codecForAny())