summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorSebastian <sebasjm@gmail.com>2024-03-12 16:21:30 -0300
committerSebastian <sebasjm@gmail.com>2024-03-12 16:21:30 -0300
commit65148a9e9137329c5e59620ecff412967fa89fc1 (patch)
treedea29838cff6fea23dac08553957ac10f8408837
parentf93a18dcbb089988be7c539022e5dff3dd57f515 (diff)
downloadwallet-core-65148a9e9137329c5e59620ecff412967fa89fc1.tar.gz
wallet-core-65148a9e9137329c5e59620ecff412967fa89fc1.tar.bz2
wallet-core-65148a9e9137329c5e59620ecff412967fa89fc1.zip
fix #8173
-rw-r--r--packages/bank-ui/src/components/Transactions/views.tsx4
-rw-r--r--packages/bank-ui/src/pages/PaymentOptions.tsx1
-rw-r--r--packages/bank-ui/src/pages/PaytoWireTransferForm.tsx164
-rw-r--r--packages/bank-ui/src/pages/SolveChallengePage.tsx2
-rw-r--r--packages/bank-ui/src/pages/WalletWithdrawForm.tsx16
-rw-r--r--packages/bank-ui/src/pages/WireTransfer.tsx39
-rw-r--r--packages/bank-ui/src/pages/account/ShowAccountDetails.tsx2
-rw-r--r--packages/bank-ui/src/pages/account/UpdateAccountPassword.tsx2
-rw-r--r--packages/bank-ui/src/pages/admin/AccountList.tsx4
-rw-r--r--packages/bank-ui/src/pages/admin/CreateNewAccount.tsx2
-rw-r--r--packages/bank-ui/src/pages/admin/DownloadStats.tsx8
-rw-r--r--packages/bank-ui/src/pages/admin/RemoveAccount.tsx2
-rw-r--r--packages/bank-ui/src/pages/regional/ConversionConfig.tsx6
-rw-r--r--packages/bank-ui/src/pages/regional/CreateCashout.tsx28
-rw-r--r--packages/bank-ui/src/pages/regional/ShowCashoutDetails.tsx4
15 files changed, 173 insertions, 111 deletions
diff --git a/packages/bank-ui/src/components/Transactions/views.tsx b/packages/bank-ui/src/components/Transactions/views.tsx
index 417b34c71..da64efdb2 100644
--- a/packages/bank-ui/src/components/Transactions/views.tsx
+++ b/packages/bank-ui/src/components/Transactions/views.tsx
@@ -66,7 +66,7 @@ export function ReadyView({
{} as Record<string, typeof transactions>,
);
return (
- <div class="px-4 mt-4">
+ <div class="px-4 mt-8">
<div class="sm:flex sm:items-center">
<div class="sm:flex-auto">
<h1 class="text-base font-semibold leading-6 text-gray-900">
@@ -120,7 +120,7 @@ export function ReadyView({
<Time
format="HH:mm:ss"
timestamp={item.when}
- // relative={Duration.fromSpec({ days: 1 })}
+ // relative={Duration.fromSpec({ days: 1 })}
/>
</div>
<dl class="font-normal sm:hidden">
diff --git a/packages/bank-ui/src/pages/PaymentOptions.tsx b/packages/bank-ui/src/pages/PaymentOptions.tsx
index a034392d2..189a7665e 100644
--- a/packages/bank-ui/src/pages/PaymentOptions.tsx
+++ b/packages/bank-ui/src/pages/PaymentOptions.tsx
@@ -224,7 +224,6 @@ export function PaymentOptions({
{tab === "wire-transfer" && (
<PaytoWireTransferForm
focus
- title={i18n.str`Transfer details`}
routeHere={routeWireTransfer}
limit={limit}
balance={balance}
diff --git a/packages/bank-ui/src/pages/PaytoWireTransferForm.tsx b/packages/bank-ui/src/pages/PaytoWireTransferForm.tsx
index d10f62cce..d5bb5f88f 100644
--- a/packages/bank-ui/src/pages/PaytoWireTransferForm.tsx
+++ b/packages/bank-ui/src/pages/PaytoWireTransferForm.tsx
@@ -49,7 +49,6 @@ import { RouteDefinition } from "../route.js";
import { undefinedIfEmpty, validateIBAN, validateTalerBank } from "../utils.js";
interface Props {
- title: TranslatedString;
focus?: boolean;
withAccount?: string;
withSubject?: string;
@@ -69,7 +68,6 @@ interface Props {
export function PaytoWireTransferForm({
focus,
- title,
withAccount,
withSubject,
withAmount,
@@ -80,7 +78,10 @@ export function PaytoWireTransferForm({
onAuthorizationRequired,
limit,
}: Props): VNode {
- const [isRawPayto, setIsRawPayto] = useState(false);
+
+ const [inputType, setInputType] = useState<"form" | "payto" | "qr">("form");
+ const isRawPayto = inputType !== "form";
+
const { state: credentials } = useSessionState();
const { bank: api, config, url } = useBankCoreApiContext();
@@ -214,9 +215,7 @@ export function PaytoWireTransferForm({
case TalerErrorCode.BANK_UNKNOWN_CREDITOR:
return notify({
type: "error",
- title: i18n.str`The destination account "${
- acName ?? puri
- }" was not found.`,
+ title: i18n.str`The destination account "${acName ?? puri}" was not found.`,
description: resp.detail.hint as TranslatedString,
debug: resp.detail,
when: AbsoluteTime.now(),
@@ -273,13 +272,9 @@ export function PaytoWireTransferForm({
}
return (
- <div class="grid grid-cols-1 gap-x-8 gap-y-8 pt-10 md:grid-cols-3 bg-gray-100 my-4 px-4 pb-4 rounded-lg">
- {/**
- * FIXME: Scan a qr code
- */}
- <div class="">
- <h2 class="text-base font-semibold leading-7 text-gray-900">{title}</h2>
- <div class="px-2 mt-2 grid grid-cols-1 gap-y-4 sm:gap-x-4">
+ <div class="grid grid-cols-1 gap-x-8 gap-y-8 pt-6 my-4 md:grid-cols-3 bg-gray-100 px-4 pb-4 rounded-lg">
+ {/* <div class="">
+ <div class="px-2 grid grid-cols-1 gap-y-4 sm:gap-x-4">
<label
class={
"relative flex cursor-pointer rounded-lg border bg-white p-4 shadow-sm focus:outline-none" +
@@ -296,6 +291,68 @@ export function PaytoWireTransferForm({
aria-labelledby="project-type-0-label"
aria-describedby="project-type-0-description-0 project-type-0-description-1"
onChange={() => {
+ setIsRawPayto(false);
+ }}
+ />
+ <span class="flex flex-1">
+ <span class="flex flex-col">
+ <span class="block text-sm font-medium text-gray-900">
+ <i18n.Translate>Using a form</i18n.Translate>
+ </span>
+ </span>
+ </span>
+ </label>
+
+ {sendingToFixedAccount ? undefined : (
+ <label
+ class={
+ "relative flex cursor-pointer rounded-lg border bg-white p-4 shadow-sm focus:outline-none" +
+ (isRawPayto
+ ? "border-indigo-600 ring-2 ring-indigo-600"
+ : "border-gray-300")
+ }
+ >
+ <input
+ type="radio"
+ name="project-type"
+ value="Existing Customers"
+ class="sr-only"
+ aria-labelledby="project-type-1-label"
+ aria-describedby="project-type-1-description-0 project-type-1-description-1"
+ onChange={() => {
+
+ setIsRawPayto(true);
+ }}
+ />
+ <span class="flex flex-1">
+ <span class="flex flex-col">
+ <span class="block text-sm font-medium text-gray-900">
+ <i18n.Translate>Import payto:// URI</i18n.Translate>
+ </span>
+ </span>
+ </span>
+ </label>
+ )}
+ {routeCashout ? (
+ <a
+ name="do cashout"
+ href={routeCashout.url({})}
+ class="bg-white p-4 rounded-lg text-sm font-semibold leading-6 text-gray-900"
+ >
+ <i18n.Translate>Cashout</i18n.Translate>
+ </a>
+ ) : undefined}
+ </div>
+ </div> */}
+
+ <div>
+ <fieldset class="px-2 grid grid-cols-1 gap-y-4 sm:gap-x-4">
+ <legend class="sr-only">
+ <i18n.Translate>Input wire transfer detail</i18n.Translate>
+ </legend>
+ <div class="-space-y-px rounded-md ">
+ <label data-checked={inputType === "form"} class="group rounded-tl-md rounded-tr-md relative flex cursor-pointer border p-4 focus:outline-none bg-white data-[checked=true]:z-10 data-[checked=true]:border-indigo-200 data-[checked=true]:bg-indigo-50">
+ <input type="radio" name="input-type" onChange={() => {
if (parsed && parsed.isKnown) {
switch (parsed.targetType) {
case "iban": {
@@ -327,35 +384,18 @@ export function PaytoWireTransferForm({
setSubject(subject);
}
}
- setIsRawPayto(false);
- }}
- />
- <span class="flex flex-1">
- <span class="flex flex-col">
- <span class="block text-sm font-medium text-gray-900">
+ setInputType("form")
+ }} checked={inputType === "form"} value="form" class="mt-0.5 h-4 w-4 shrink-0 cursor-pointer text-indigo-600 border-gray-300 focus:ring-indigo-600 active:ring-2 active:ring-offset-2 active:ring-indigo-600" />
+ <span class="ml-3 flex flex-col">
+ {/* <!-- Checked: "text-indigo-900", Not Checked: "text-gray-900" --> */}
+ <span data-checked={inputType === "form"} class="block text-sm font-medium data-[checked=true]:text-indigo-900">
<i18n.Translate>Using a form</i18n.Translate>
</span>
</span>
- </span>
- </label>
-
- {sendingToFixedAccount ? undefined : (
- <label
- class={
- "relative flex cursor-pointer rounded-lg border bg-white p-4 shadow-sm focus:outline-none" +
- (isRawPayto
- ? "border-indigo-600 ring-2 ring-indigo-600"
- : "border-gray-300")
- }
- >
- <input
- type="radio"
- name="project-type"
- value="Existing Customers"
- class="sr-only"
- aria-labelledby="project-type-1-label"
- aria-describedby="project-type-1-description-0 project-type-1-description-1"
- onChange={() => {
+ </label>
+ {sendingToFixedAccount ? undefined : (<Fragment>
+ <label data-checked={inputType === "payto"} class="relative flex cursor-pointer border p-4 focus:outline-none bg-white data-[checked=true]:z-10 data-[checked=true]:border-indigo-200 data-[checked=true]:bg-indigo-50">
+ <input type="radio" name="input-type" onChange={() => {
if (account) {
let payto;
switch (paytoType) {
@@ -385,19 +425,33 @@ export function PaytoWireTransferForm({
assertUnreachable(paytoType);
}
rawPaytoInputSetter(stringifyPaytoUri(payto));
- }
- setIsRawPayto(true);
- }}
- />
- <span class="flex flex-1">
- <span class="flex flex-col">
- <span class="block text-sm font-medium text-gray-900">
- <i18n.Translate>Import payto:// URI</i18n.Translate>
+ } setInputType("payto")
+ }} checked={inputType === "payto"} value="payto" class="mt-0.5 h-4 w-4 shrink-0 cursor-pointer text-indigo-600 border-gray-300 focus:ring-indigo-600 active:ring-2 active:ring-offset-2 active:ring-indigo-600" />
+ <span class="ml-3 flex flex-col">
+ <span data-checked={inputType === "payto"} class="block font-medium data-[checked=true]:text-indigo-900">payto:// URI</span>
+ <span data-checked={inputType === "payto"} class="block text-sm text-gray-500 data-[checked=true]:text-indigo-600">
+ <i18n.Translate>A special URI that indicate the transfer amount and account target.</i18n.Translate>
</span>
</span>
- </span>
- </label>
- )}
+ </label>
+ { //FIXME: add QR support
+ false && <label data-checked={inputType === "qr"} class="rounded-bl-md rounded-br-md relative flex cursor-pointer border p-4 focus:outline-none bg-white data-[checked=true]:z-10 data-[checked=true]:border-indigo-200 data-[checked=true]:bg-indigo-50">
+ <input type="radio" name="input-type" onChange={() => {
+ setInputType("qr")
+ }} checked={inputType === "qr"} value="qr" class="mt-0.5 h-4 w-4 shrink-0 cursor-pointer text-indigo-600 border-gray-300 focus:ring-indigo-600 active:ring-2 active:ring-offset-2 active:ring-indigo-600" />
+ <span class="ml-3 flex flex-col">
+ <span data-checked={inputType === "qr"} class="block font-medium data-[checked=true]:text-indigo-900">
+ <i18n.Translate>QR code</i18n.Translate>
+ </span>
+ <span data-checked={inputType === "qr"} class="block text-sm text-gray-500 data-[checked=true]:text-indigo-600">
+ <i18n.Translate>If you have a camera in this device you can import a payto:// URI from a QR code.</i18n.Translate>
+ </span>
+ </span>
+ </label>
+ }
+ </Fragment>)}
+
+ </div>
{routeCashout ? (
<a
name="do cashout"
@@ -407,9 +461,11 @@ export function PaytoWireTransferForm({
<i18n.Translate>Cashout</i18n.Translate>
</a>
) : undefined}
- </div>
+
+ </fieldset>
</div>
+
<form
class="bg-white shadow-sm ring-1 ring-gray-900/5 rounded-md sm:rounded-xl md:col-span-2 w-fit mx-auto"
autoCapitalize="none"
@@ -654,13 +710,13 @@ export function InputAmount(
if (
sep_pos !== -1 &&
l - sep_pos - 1 >
- config.currency_specification.num_fractional_input_digits
+ config.currency_specification.num_fractional_input_digits
) {
e.currentTarget.value = e.currentTarget.value.substring(
0,
sep_pos +
- config.currency_specification.num_fractional_input_digits +
- 1,
+ config.currency_specification.num_fractional_input_digits +
+ 1,
);
}
onChange(e.currentTarget.value);
diff --git a/packages/bank-ui/src/pages/SolveChallengePage.tsx b/packages/bank-ui/src/pages/SolveChallengePage.tsx
index 8e639335d..23f3de1d2 100644
--- a/packages/bank-ui/src/pages/SolveChallengePage.tsx
+++ b/packages/bank-ui/src/pages/SolveChallengePage.tsx
@@ -247,7 +247,7 @@ export function SolveChallengePage({
return (
<Fragment>
<LocalNotificationBanner notification={notification} />
- <div class="grid grid-cols-1 gap-x-8 gap-y-8 pt-10 md:grid-cols-3 bg-gray-100 my-4 px-4 pb-4 rounded-lg">
+ <div class="grid grid-cols-1 gap-x-8 gap-y-8 pt-6 md:grid-cols-3 bg-gray-100 my-4 px-4 pb-4 rounded-lg">
<div class="px-4 sm:px-0">
<h2 class="text-base font-semibold leading-7 text-gray-900">
<span
diff --git a/packages/bank-ui/src/pages/WalletWithdrawForm.tsx b/packages/bank-ui/src/pages/WalletWithdrawForm.tsx
index f16488b25..8e9529190 100644
--- a/packages/bank-ui/src/pages/WalletWithdrawForm.tsx
+++ b/packages/bank-ui/src/pages/WalletWithdrawForm.tsx
@@ -105,12 +105,12 @@ function OldWithdrawalForm({
class="font-semibold text-yellow-700 hover:text-yellow-600"
name="complete operation"
href={url}
- // onClick={(e) => {
- // e.preventDefault()
- // walletInegrationApi.publishTalerAction(uri, () => {
- // navigateTo(url)
- // })
- // }}
+ // onClick={(e) => {
+ // e.preventDefault()
+ // walletInegrationApi.publishTalerAction(uri, () => {
+ // navigateTo(url)
+ // })
+ // }}
>
<i18n.Translate>this page</i18n.Translate>
</a>
@@ -340,7 +340,7 @@ export function WalletWithdrawForm({
const [settings, updateSettings] = usePreferences();
return (
- <div class="grid grid-cols-1 gap-x-8 gap-y-8 pt-10 md:grid-cols-3 bg-gray-100 my-4 px-4 pb-4 rounded-lg">
+ <div class="grid grid-cols-1 gap-x-8 gap-y-8 pt-6 md:grid-cols-3 bg-gray-100 my-4 px-4 pb-4 rounded-lg">
<div class="px-4 sm:px-0">
<h2 class="text-base font-semibold leading-7 text-gray-900">
<i18n.Translate>Prepare your Taler wallet</i18n.Translate>
@@ -392,7 +392,7 @@ export function WalletWithdrawForm({
routeClose={routeCancel}
routeHere={routeOperationDetails}
onAbort={onOperationAborted}
- // route={routeCancel}
+ // route={routeCancel}
/>
)}
</div>
diff --git a/packages/bank-ui/src/pages/WireTransfer.tsx b/packages/bank-ui/src/pages/WireTransfer.tsx
index a459677f1..59d6b2b0f 100644
--- a/packages/bank-ui/src/pages/WireTransfer.tsx
+++ b/packages/bank-ui/src/pages/WireTransfer.tsx
@@ -91,20 +91,29 @@ export function WireTransfer({
? Amounts.zeroOfAmount(balance)
: balance;
return (
- <PaytoWireTransferForm
- title={i18n.str`Make a wire transfer`}
- withAccount={toAccount}
- withAmount={withAmount}
- balance={positiveBalance}
- withSubject={withSubject}
- routeHere={routeHere}
- limit={limit}
- onAuthorizationRequired={onAuthorizationRequired}
- onSuccess={() => {
- notifyInfo(i18n.str`Wire transfer created!`);
- if (onSuccess) onSuccess();
- }}
- routeCancel={routeCancel}
- />
+ <div class="px-4 mt-8">
+ <div class="sm:flex sm:items-center mb-4">
+ <div class="sm:flex-auto">
+ <h1 class="text-base font-semibold leading-6 text-gray-900">
+ <i18n.Translate>Make a wire transfer</i18n.Translate>
+ </h1>
+ </div>
+ </div>
+
+ <PaytoWireTransferForm
+ withAccount={toAccount}
+ withAmount={withAmount}
+ balance={positiveBalance}
+ withSubject={withSubject}
+ routeHere={routeHere}
+ limit={limit}
+ onAuthorizationRequired={onAuthorizationRequired}
+ onSuccess={() => {
+ notifyInfo(i18n.str`Wire transfer created!`);
+ if (onSuccess) onSuccess();
+ }}
+ routeCancel={routeCancel}
+ />
+ </div>
);
}
diff --git a/packages/bank-ui/src/pages/account/ShowAccountDetails.tsx b/packages/bank-ui/src/pages/account/ShowAccountDetails.tsx
index 39b2303c0..e81d46d77 100644
--- a/packages/bank-ui/src/pages/account/ShowAccountDetails.tsx
+++ b/packages/bank-ui/src/pages/account/ShowAccountDetails.tsx
@@ -204,7 +204,7 @@ export function ShowAccountDetails({
</h1>
)}
- <div class="grid grid-cols-1 gap-x-8 gap-y-8 pt-10 md:grid-cols-3 bg-gray-100 my-4 px-4 pb-4 rounded-lg">
+ <div class="grid grid-cols-1 gap-x-8 gap-y-8 pt-6 md:grid-cols-3 bg-gray-100 my-4 px-4 pb-4 rounded-lg">
<div class="px-4 sm:px-0">
<h2 class="text-base font-semibold leading-7 text-gray-900">
<div class="flex items-center justify-between">
diff --git a/packages/bank-ui/src/pages/account/UpdateAccountPassword.tsx b/packages/bank-ui/src/pages/account/UpdateAccountPassword.tsx
index 8c0581312..1147e723a 100644
--- a/packages/bank-ui/src/pages/account/UpdateAccountPassword.tsx
+++ b/packages/bank-ui/src/pages/account/UpdateAccountPassword.tsx
@@ -176,7 +176,7 @@ export function UpdateAccountPassword({
</h1>
)}
- <div class="grid grid-cols-1 gap-x-8 gap-y-8 pt-10 md:grid-cols-3 bg-gray-100 my-4 px-4 pb-4 rounded-lg">
+ <div class="grid grid-cols-1 gap-x-8 gap-y-8 pt-6 md:grid-cols-3 bg-gray-100 my-4 px-4 pb-4 rounded-lg">
<div class="px-4 sm:px-0">
<h2 class="text-base font-semibold leading-7 text-gray-900">
<i18n.Translate>Update password</i18n.Translate>
diff --git a/packages/bank-ui/src/pages/admin/AccountList.tsx b/packages/bank-ui/src/pages/admin/AccountList.tsx
index 3ab491960..75bc014eb 100644
--- a/packages/bank-ui/src/pages/admin/AccountList.tsx
+++ b/packages/bank-ui/src/pages/admin/AccountList.tsx
@@ -66,7 +66,7 @@ export function AccountList({
const accounts = result.result;
return (
<Fragment>
- <div class="px-4 sm:px-6 lg:px-8 mt-4">
+ <div class="px-4 sm:px-6 lg:px-8 mt-8">
<div class="sm:flex sm:items-center">
<div class="sm:flex-auto">
<h1 class="text-base font-semibold leading-6 text-gray-900">
@@ -84,7 +84,7 @@ export function AccountList({
</a>
</div>
</div>
- <div class="mt-8 flow-root">
+ <div class="mt-4 flow-root">
<div class="-mx-4 -my-2 overflow-x-auto sm:-mx-6 lg:-mx-8">
<div class="inline-block min-w-full py-2 align-middle sm:px-6 lg:px-8">
{!accounts.length ? (
diff --git a/packages/bank-ui/src/pages/admin/CreateNewAccount.tsx b/packages/bank-ui/src/pages/admin/CreateNewAccount.tsx
index f5755e2cd..b14f5b7ca 100644
--- a/packages/bank-ui/src/pages/admin/CreateNewAccount.tsx
+++ b/packages/bank-ui/src/pages/admin/CreateNewAccount.tsx
@@ -173,7 +173,7 @@ export function CreateNewAccount({
}
return (
- <div class="grid grid-cols-1 gap-x-8 gap-y-8 pt-10 md:grid-cols-3 bg-gray-100 my-4 px-4 pb-4 rounded-lg">
+ <div class="grid grid-cols-1 gap-x-8 gap-y-8 pt-6 md:grid-cols-3 bg-gray-100 my-4 px-4 pb-4 rounded-lg">
<LocalNotificationBanner notification={notification} />
<div class="px-4 sm:px-0">
diff --git a/packages/bank-ui/src/pages/admin/DownloadStats.tsx b/packages/bank-ui/src/pages/admin/DownloadStats.tsx
index 40035db51..078435fe9 100644
--- a/packages/bank-ui/src/pages/admin/DownloadStats.tsx
+++ b/packages/bank-ui/src/pages/admin/DownloadStats.tsx
@@ -81,7 +81,7 @@ export function DownloadStats({ routeCancel }: Props): VNode {
return (
<div>
- <div class="grid grid-cols-1 gap-x-8 gap-y-8 pt-10 md:grid-cols-3 bg-gray-100 my-4 px-4 pb-4 rounded-lg">
+ <div class="grid grid-cols-1 gap-x-8 gap-y-8 pt-6 md:grid-cols-3 bg-gray-100 my-4 px-4 pb-4 rounded-lg">
<LocalNotificationBanner notification={notification} />
<div class="px-4 sm:px-0">
@@ -460,9 +460,9 @@ async function fetchAllStatus(
// await delay()
const previous = options.compareWithPrevious
? await api.getMonitor(token, {
- timeframe: frame.timeframe,
- which: frame.moment.previous,
- })
+ timeframe: frame.timeframe,
+ which: frame.moment.previous,
+ })
: undefined;
if (previous && previous.type === "fail" && options.endOnFirstFail) {
diff --git a/packages/bank-ui/src/pages/admin/RemoveAccount.tsx b/packages/bank-ui/src/pages/admin/RemoveAccount.tsx
index 74172d058..dad315d98 100644
--- a/packages/bank-ui/src/pages/admin/RemoveAccount.tsx
+++ b/packages/bank-ui/src/pages/admin/RemoveAccount.tsx
@@ -190,7 +190,7 @@ export function RemoveAccount({
<i18n.Translate>This step can't be undone.</i18n.Translate>
</Attention>
- <div class="grid grid-cols-1 gap-x-8 gap-y-8 pt-10 md:grid-cols-3 bg-gray-100 my-4 px-4 pb-4 rounded-lg">
+ <div class="grid grid-cols-1 gap-x-8 gap-y-8 pt-6 md:grid-cols-3 bg-gray-100 my-4 px-4 pb-4 rounded-lg">
<div class="px-4 sm:px-0">
<h2 class="text-base font-semibold leading-7 text-gray-900">
<i18n.Translate>Deleting account "{account}"</i18n.Translate>
diff --git a/packages/bank-ui/src/pages/regional/ConversionConfig.tsx b/packages/bank-ui/src/pages/regional/ConversionConfig.tsx
index 818a131e0..8602580a0 100644
--- a/packages/bank-ui/src/pages/regional/ConversionConfig.tsx
+++ b/packages/bank-ui/src/pages/regional/ConversionConfig.tsx
@@ -242,7 +242,7 @@ function useComponentState({
/>
<LocalNotificationBanner notification={notification} />
- <div class="grid grid-cols-1 gap-x-8 gap-y-8 pt-10 md:grid-cols-3 bg-gray-100 my-4 px-4 pb-4 rounded-lg">
+ <div class="grid grid-cols-1 gap-x-8 gap-y-8 pt-6 md:grid-cols-3 bg-gray-100 my-4 px-4 pb-4 rounded-lg">
<div class="px-4 sm:px-0">
<h2 class="text-base font-semibold leading-7 text-gray-900">
<i18n.Translate>Conversion</i18n.Translate>
@@ -519,8 +519,8 @@ function useComponentState({
</div>
{cashoutCalc &&
- status.status === "ok" &&
- Amounts.cmp(status.result.amount, cashoutCalc.credit) <
+ status.status === "ok" &&
+ Amounts.cmp(status.result.amount, cashoutCalc.credit) <
0 ? (
<div class="p-4">
<Attention
diff --git a/packages/bank-ui/src/pages/regional/CreateCashout.tsx b/packages/bank-ui/src/pages/regional/CreateCashout.tsx
index a76179b4d..8f16e31be 100644
--- a/packages/bank-ui/src/pages/regional/CreateCashout.tsx
+++ b/packages/bank-ui/src/pages/regional/CreateCashout.tsx
@@ -198,8 +198,7 @@ export function CreateCashout({
* depending on the isDebit flag
*/
const inputAmount = Amounts.parseOrThrow(
- `${form.isDebit ? regional_currency : fiat_currency}:${
- !form.amount ? "0" : form.amount
+ `${form.isDebit ? regional_currency : fiat_currency}:${!form.amount ? "0" : form.amount
}`,
);
@@ -240,12 +239,11 @@ export function CreateCashout({
: Amounts.cmp(limit, calc.debit) === -1
? i18n.str`Balance is not enough`
: form.isDebit &&
- Amounts.cmp(inputAmount, conversionInfo.cashout_min_amount) < 1
- ? i18n.str`Needs to be higher than ${
- Amounts.stringifyValueWithSpec(
- Amounts.parseOrThrow(conversionInfo.cashout_min_amount),
- regional_currency_specification,
- ).normal
+ Amounts.cmp(inputAmount, conversionInfo.cashout_min_amount) < 1
+ ? i18n.str`Needs to be higher than ${Amounts.stringifyValueWithSpec(
+ Amounts.parseOrThrow(conversionInfo.cashout_min_amount),
+ regional_currency_specification,
+ ).normal
}`
: calculationResult === "amount-is-too-small"
? i18n.str`Amount needs to be higher`
@@ -368,7 +366,7 @@ export function CreateCashout({
<div>
<LocalNotificationBanner notification={notification} />
- <div class="grid grid-cols-1 gap-x-8 gap-y-8 pt-10 md:grid-cols-3 bg-gray-100 my-4 px-4 pb-4 rounded-lg">
+ <div class="grid grid-cols-1 gap-x-8 gap-y-8 pt-6 md:grid-cols-3 bg-gray-100 my-4 px-4 pb-4 rounded-lg">
<section class="mt-4 rounded-sm px-4 py-6 p-8 ">
<h2 id="summary-heading" class="font-medium text-lg">
<i18n.Translate>Cashout</i18n.Translate>
@@ -613,9 +611,9 @@ export function CreateCashout({
cashoutDisabled
? undefined
: (value) => {
- form.amount = value;
- updateForm(structuredClone(form));
- }
+ form.amount = value;
+ updateForm(structuredClone(form));
+ }
}
/>
<ShowInputErrorLabel
@@ -656,7 +654,7 @@ export function CreateCashout({
</dd>
</div>
{Amounts.isZero(sellFee) ||
- Amounts.isZero(calc.beforeFee) ? undefined : (
+ Amounts.isZero(calc.beforeFee) ? undefined : (
<div class="flex items-center justify-between border-t-2 afu pt-4">
<dt class="flex items-center text-sm text-gray-600">
<span>
@@ -689,7 +687,7 @@ export function CreateCashout({
{/* channel, not shown if new cashout api */}
{!OLD_CASHOUT_API ? undefined : config.supported_tan_channels
- .length === 0 ? (
+ .length === 0 ? (
<div class="sm:col-span-5">
<Attention
type="warning"
@@ -761,7 +759,7 @@ export function CreateCashout({
)}
{config.supported_tan_channels.indexOf(TanChannel.SMS) ===
- -1 ? undefined : (
+ -1 ? undefined : (
<label
onClick={() => {
if (!resultAccount.body.contact_data?.phone) return;
diff --git a/packages/bank-ui/src/pages/regional/ShowCashoutDetails.tsx b/packages/bank-ui/src/pages/regional/ShowCashoutDetails.tsx
index 3f635db7e..0f9f2d1b7 100644
--- a/packages/bank-ui/src/pages/regional/ShowCashoutDetails.tsx
+++ b/packages/bank-ui/src/pages/regional/ShowCashoutDetails.tsx
@@ -108,7 +108,7 @@ export function ShowCashoutDetails({ id, routeClose }: Props): VNode {
return (
<div>
- <div class="grid grid-cols-1 gap-x-8 gap-y-8 pt-10 md:grid-cols-3 bg-gray-100 my-4 px-4 pb-4 rounded-lg">
+ <div class="grid grid-cols-1 gap-x-8 gap-y-8 pt-6 md:grid-cols-3 bg-gray-100 my-4 px-4 pb-4 rounded-lg">
<section class="rounded-sm px-4">
<h2 id="summary-heading" class="font-medium text-lg">
<i18n.Translate>Cashout detail</i18n.Translate>
@@ -138,7 +138,7 @@ export function ShowCashoutDetails({ id, routeClose }: Props): VNode {
timestamp={AbsoluteTime.fromProtocolTimestamp(
result.body.creation_time,
)}
- // relative={Duration.fromSpec({ days: 1 })}
+ // relative={Duration.fromSpec({ days: 1 })}
/>
</dd>
</div>