diff options
Diffstat (limited to 'packages/bank-ui/src/pages/WithdrawalConfirmationQuestion.tsx')
-rw-r--r-- | packages/bank-ui/src/pages/WithdrawalConfirmationQuestion.tsx | 74 |
1 files changed, 57 insertions, 17 deletions
diff --git a/packages/bank-ui/src/pages/WithdrawalConfirmationQuestion.tsx b/packages/bank-ui/src/pages/WithdrawalConfirmationQuestion.tsx index 965650eb0..c7bdaaf21 100644 --- a/packages/bank-ui/src/pages/WithdrawalConfirmationQuestion.tsx +++ b/packages/bank-ui/src/pages/WithdrawalConfirmationQuestion.tsx @@ -222,10 +222,21 @@ export function WithdrawalConfirmationQuestion({ <div class="mt-6 border-t border-gray-100"> <dl class="divide-y divide-gray-100"> {((): VNode => { + if (!details.account.isKnown) { + return <div class="px-4 py-2 sm:grid sm:grid-cols-3 sm:gap-4 sm:px-0"> + <dt class="text-sm font-medium leading-6 text-gray-900"> + <i18n.Translate> + Payment provider's account + </i18n.Translate> + </dt> + <dd class="mt-1 text-sm leading-6 text-gray-700 sm:col-span-2 sm:mt-0"> + {details.account.targetPath} + </dd> + </div> + } switch (details.account.targetType) { case "iban": { - const p = details.account as PaytoUriIBAN; - const name = p.params["receiver-name"]; + const name = details.account.params["receiver-name"]; return ( <Fragment> <div class="px-4 py-2 sm:grid sm:grid-cols-3 sm:gap-4 sm:px-0"> @@ -235,7 +246,7 @@ export function WithdrawalConfirmationQuestion({ </i18n.Translate> </dt> <dd class="mt-1 text-sm leading-6 text-gray-700 sm:col-span-2 sm:mt-0"> - {p.iban} + {details.account.iban} </dd> </div> {name && ( @@ -254,18 +265,27 @@ export function WithdrawalConfirmationQuestion({ ); } case "x-taler-bank": { - const p = details.account as PaytoUriTalerBank; - const name = p.params["receiver-name"]; + const name = details.account.params["receiver-name"]; return ( <Fragment> <div class="px-4 py-2 sm:grid sm:grid-cols-3 sm:gap-4 sm:px-0"> <dt class="text-sm font-medium leading-6 text-gray-900"> <i18n.Translate> + Payment provider's account bank hostname + </i18n.Translate> + </dt> + <dd class="mt-1 text-sm leading-6 text-gray-700 sm:col-span-2 sm:mt-0"> + {details.account.host} + </dd> + </div> + <div class="px-4 py-2 sm:grid sm:grid-cols-3 sm:gap-4 sm:px-0"> + <dt class="text-sm font-medium leading-6 text-gray-900"> + <i18n.Translate> Payment provider's account id </i18n.Translate> </dt> <dd class="mt-1 text-sm leading-6 text-gray-700 sm:col-span-2 sm:mt-0"> - {p.account} + {details.account.account} </dd> </div> {name && ( @@ -283,19 +303,39 @@ export function WithdrawalConfirmationQuestion({ </Fragment> ); } - default: + case "bitcoin": { + const name = details.account.params["receiver-name"]; return ( - <div class="px-4 py-2 sm:grid sm:grid-cols-3 sm:gap-4 sm:px-0"> - <dt class="text-sm font-medium leading-6 text-gray-900"> - <i18n.Translate> - Payment provider's account - </i18n.Translate> - </dt> - <dd class="mt-1 text-sm leading-6 text-gray-700 sm:col-span-2 sm:mt-0"> - {details.account.targetPath} - </dd> - </div> + <Fragment> + <div class="px-4 py-2 sm:grid sm:grid-cols-3 sm:gap-4 sm:px-0"> + <dt class="text-sm font-medium leading-6 text-gray-900"> + <i18n.Translate> + Payment provider's account address + </i18n.Translate> + </dt> + <dd class="mt-1 text-sm leading-6 text-gray-700 sm:col-span-2 sm:mt-0"> + {details.account.address} + </dd> + </div> + {name && ( + <div class="px-4 py-2 sm:grid sm:grid-cols-3 sm:gap-4 sm:px-0"> + <dt class="text-sm font-medium leading-6 text-gray-900"> + <i18n.Translate> + Payment provider's name + </i18n.Translate> + </dt> + <dd class="mt-1 text-sm leading-6 text-gray-700 sm:col-span-2 sm:mt-0"> + {name} + </dd> + </div> + )} + </Fragment> ); + } + default: { + assertUnreachable(details.account) + } + } })()} <div class="px-4 py-2 sm:grid sm:grid-cols-3 sm:gap-4 sm:px-0"> |