From 7d69aca76f33098c9e7671d157265c63b7bdf99d Mon Sep 17 00:00:00 2001 From: Sebastian Date: Sat, 29 Oct 2022 20:10:46 -0300 Subject: add receiver name to iban form and fix some bugs --- .../src/wallet/DepositPage/state.ts | 2 +- .../src/wallet/ManageAccount/state.ts | 2 +- .../src/wallet/ManageAccount/views.tsx | 38 +++++++++++++++++----- 3 files changed, 32 insertions(+), 10 deletions(-) (limited to 'packages/taler-wallet-webextension') diff --git a/packages/taler-wallet-webextension/src/wallet/DepositPage/state.ts b/packages/taler-wallet-webextension/src/wallet/DepositPage/state.ts index fe692e80d..a70682d89 100644 --- a/packages/taler-wallet-webextension/src/wallet/DepositPage/state.ts +++ b/packages/taler-wallet-webextension/src/wallet/DepositPage/state.ts @@ -182,7 +182,7 @@ export function useComponentState( async function doSend(): Promise { if (!parsedAmount || !currency) return; - const depositPaytoUri = `payto://${currentAccount.targetType}/${currentAccount.targetPath}`; + const depositPaytoUri = stringifyPaytoUri(currentAccount); const amount = Amounts.stringify(parsedAmount); await api.wallet.call(WalletApiOperation.CreateDepositGroup, { amount, depositPaytoUri diff --git a/packages/taler-wallet-webextension/src/wallet/ManageAccount/state.ts b/packages/taler-wallet-webextension/src/wallet/ManageAccount/state.ts index 0dc34c326..f180fc1c0 100644 --- a/packages/taler-wallet-webextension/src/wallet/ManageAccount/state.ts +++ b/packages/taler-wallet-webextension/src/wallet/ManageAccount/state.ts @@ -71,7 +71,7 @@ export function useComponentState( ? "that account is already present" : undefined; - const unableToAdd = !type || !alias || paytoUriError !== undefined || uri !== undefined; + const unableToAdd = !type || !alias || paytoUriError !== undefined || uri === undefined; const accountByType: AccountByType = { iban: [], diff --git a/packages/taler-wallet-webextension/src/wallet/ManageAccount/views.tsx b/packages/taler-wallet-webextension/src/wallet/ManageAccount/views.tsx index 9bb9e5814..74c585f66 100644 --- a/packages/taler-wallet-webextension/src/wallet/ManageAccount/views.tsx +++ b/packages/taler-wallet-webextension/src/wallet/ManageAccount/views.tsx @@ -204,6 +204,9 @@ function IbanTable({ Int. Account Number + + Account name + KYC @@ -217,6 +220,7 @@ function IbanTable({ {account.alias} {p.targetPath} + {p.params["receiver-name"]} {account.kyc_completed ? ( (undefined); + const [number, setNumber] = useState(undefined); + const [name, setName] = useState(undefined); const errors = undefinedIfEmpty({ - value: !value ? i18n.str`Can't be empty` : undefined, + number: !number ? i18n.str`Can't be empty` : undefined, + name: !name ? i18n.str`Can't be empty` : undefined, }); return ( @@ -494,17 +500,33 @@ function IbanAddressAccount({ field }: { field: TextFieldHandler }): VNode { label="IBAN number" variant="standard" fullWidth - value={value} - error={value !== undefined && !!errors?.value} + value={number} + error={number !== undefined && !!errors?.number} onChange={(v) => { - setValue(v); + setNumber(v); if (!errors) { - field.onInput(`payto://iban/${v}`); + field.onInput(`payto://iban/${v}?receiver-name=${name}`); } }} /> - {value !== undefined && errors?.value && ( - {errors?.value}} /> + {number !== undefined && errors?.number && ( + {errors?.number}} /> + )} + { + setName(v); + if (!errors) { + field.onInput(`payto://iban/${number}?receiver-name=${v}`); + } + }} + /> + {name !== undefined && errors?.name && ( + {errors?.name}} /> )} ); -- cgit v1.2.3