commit e8cc8a123606a7127af446d147e4f429e131b3f5
parent ff1e0e1c7b4a73b6d0f71208be4b571b64649edb
Author: Sebastian <sebasjm@gmail.com>
Date: Mon, 7 Apr 2025 12:12:30 -0300
fix #9534
Diffstat:
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>