taler-typescript-core

Wallet core logic and WebUIs for various components
Log | Files | Refs | Submodules | README | LICENSE

commit 49816cfa28712b91857519eeddb7724201e3ab16
parent ab1441f8cd850d5b7309720799ba0071cbb307f8
Author: Sebastian <sebasjm@gmail.com>
Date:   Mon,  3 Feb 2025 16:08:09 -0300

test accounts

Diffstat:
Mpackages/kyc-ui/src/hooks/session.ts | 21+++++++++++++++++++--
Mpackages/kyc-ui/src/pages/FillForm.tsx | 2+-
Mpackages/kyc-ui/src/pages/TriggerKyc.tsx | 4+++-
3 files changed, 23 insertions(+), 4 deletions(-)

diff --git a/packages/kyc-ui/src/hooks/session.ts b/packages/kyc-ui/src/hooks/session.ts @@ -19,18 +19,35 @@ import { Codec, buildCodecForObject, codecForAccessToken, + codecForList, + codecForString, codecOptional, + codecOptionalDefault, } from "@gnu-taler/taler-util"; import { buildStorageKey, useLocalStorage } from "@gnu-taler/web-util/browser"; export type SessionState = { accessToken: AccessToken; + testAccounts: PrivPub[]; +}; + +type PrivPub = { + priv: string; + pub: string; }; export const codecForSessionState = (): Codec<SessionState> => buildCodecForObject<SessionState>() .property("accessToken", codecForAccessToken()) - // .property("lastAddress", codecOptional(codecForList(codecForLastAddress()))) + .property( + "testAccounts", + codecOptionalDefault(codecForList(codecForPrivPub()), []), + ) + .build("SessionState"); +export const codecForPrivPub = (): Codec<PrivPub> => + buildCodecForObject<PrivPub>() + .property("priv", codecForString()) + .property("pub", codecForString()) .build("SessionState"); export interface SessionStateHandler { @@ -54,7 +71,7 @@ export function useSessionState(): SessionStateHandler { return { state, start(accessToken) { - update({accessToken}) + update({ accessToken, testAccounts: [] }); }, }; } diff --git a/packages/kyc-ui/src/pages/FillForm.tsx b/packages/kyc-ui/src/pages/FillForm.tsx @@ -96,7 +96,7 @@ export function FillForm({ } const { handler, status } = useForm<FormType>(theForm.config, { - CUSTOMER_ID: "123", + // CUSTOMER_ID: "123", }); const validatedForm = status.status !== "ok" ? undefined : status.result; diff --git a/packages/kyc-ui/src/pages/TriggerKyc.tsx b/packages/kyc-ui/src/pages/TriggerKyc.tsx @@ -35,6 +35,7 @@ import { } from "@gnu-taler/web-util/browser"; import { Fragment, h, VNode } from "preact"; import { useEffect, useMemo, useState } from "preact/hooks"; +import { useSessionState } from "../hooks/session.js"; type FormType = { amount: AmountJson; @@ -44,6 +45,7 @@ type Props = { }; export function TriggerKyc({ onKycStarted }: Props): VNode { const { i18n } = useTranslationContext(); + const { state } = useSessionState(); const [notification, withErrorHandler, notify] = useLocalNotificationHandler(); const { config, lib } = useExchangeApiContext(); @@ -60,7 +62,7 @@ export function TriggerKyc({ onKycStarted }: Props): VNode { title: i18n.str`Trigger KYC Balance`, fields: [ { - id: ".amount" as UIHandlerId, + id: "amount" as UIHandlerId, type: "amount", currency: config.config.currency, label: i18n.str`Amount`,