taler-typescript-core

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

commit e8cc8a123606a7127af446d147e4f429e131b3f5
parent ff1e0e1c7b4a73b6d0f71208be4b571b64649edb
Author: Sebastian <sebasjm@gmail.com>
Date:   Mon,  7 Apr 2025 12:12:30 -0300

fix #9534

Diffstat:
Mpackages/merchant-backoffice-ui/src/components/form/InputPaytoForm.tsx | 2+-
Mpackages/merchant-backoffice-ui/src/paths/instance/accounts/update/UpdatePage.tsx | 78+++++++++++++++++++++++++++++++++++++++++++++++++++---------------------------
2 files changed, 52 insertions(+), 28 deletions(-)

diff --git a/packages/merchant-backoffice-ui/src/components/form/InputPaytoForm.tsx b/packages/merchant-backoffice-ui/src/components/form/InputPaytoForm.tsx @@ -301,7 +301,7 @@ export function InputPaytoForm<T>({ > <InputSelector<Entity> name="target" - label={i18n.str`Type`} + label={i18n.str`Wire method`} tooltip={i18n.str`Method to use for wire transfer`} values={targets} readonly={readonly} diff --git a/packages/merchant-backoffice-ui/src/paths/instance/accounts/update/UpdatePage.tsx b/packages/merchant-backoffice-ui/src/paths/instance/accounts/update/UpdatePage.tsx @@ -109,36 +109,37 @@ export function UpdatePage({ : facadeURL.hash ? i18n.str`URL must not hash param` : undefined, - credit_facade_credentials: !state.credit_facade_credentials - ? undefined - : (undefinedIfEmpty({ - type: - replacingAccountId && - // @ts-expect-error unedit is not in facade creds - state.credit_facade_credentials?.type === "unedit" - ? i18n.str`Required` - : undefined, - username: - state.credit_facade_credentials?.type !== "basic" - ? undefined - : !state.credit_facade_credentials.username + credit_facade_credentials: + !state.credit_facade_credentials || !state.credit_facade_url + ? undefined + : (undefinedIfEmpty({ + type: + replacingAccountId && + // @ts-expect-error unedit is not in facade creds + state.credit_facade_credentials?.type === "unedit" ? i18n.str`Required` : undefined, + username: + state.credit_facade_credentials?.type !== "basic" + ? undefined + : !state.credit_facade_credentials.username + ? i18n.str`Required` + : undefined, - token: - state.credit_facade_credentials?.type !== "bearer" - ? undefined - : !state.credit_facade_credentials.token - ? i18n.str`Required` - : undefined, + token: + state.credit_facade_credentials?.type !== "bearer" + ? undefined + : !state.credit_facade_credentials.token + ? i18n.str`Required` + : undefined, - password: - state.credit_facade_credentials?.type !== "basic" - ? undefined - : !state.credit_facade_credentials.password - ? i18n.str`Required` - : undefined, - }) as any), + password: + state.credit_facade_credentials?.type !== "basic" + ? undefined + : !state.credit_facade_credentials.password + ? i18n.str`Required` + : undefined, + }) as any), }); const hasErrors = errors !== undefined; @@ -258,6 +259,29 @@ export function UpdatePage({ } } + function stringifyPayto(account: PaytoString): string { + const p = parsePaytoUri(account); + if (!p) return ""; + if (!p.isKnown) return account; + switch (p.targetType) { + case "iban": { + return p.iban; + } + case "taler": { + return p.reservePub; + } + case "x-taler-bank": { + return p.account; + } + case "bitcoin": { + return p.address; + } + default: { + assertUnreachable(p); + } + } + } + return ( <Fragment> <section class="section"> @@ -268,7 +292,7 @@ export function UpdatePage({ <div class="level-item"> <span class="is-size-4"> <i18n.Translate>Account:</i18n.Translate>{" "} - <b>{account.id.substring(0, 8)}...</b> + <b>{stringifyPayto(account.payto_uri)}</b> </span> </div> </div>