diff options
author | Sebastian <sebasjm@gmail.com> | 2022-11-04 15:38:58 -0300 |
---|---|---|
committer | Sebastian <sebasjm@gmail.com> | 2022-11-04 15:38:58 -0300 |
commit | cd6321d3034cfd5c31457fbe659fa5ae60f1cc04 (patch) | |
tree | d08c7f4b3aafc70152643c6858ffc7c56f8420aa | |
parent | 8af72c6036c93ea0d80ca127ae2db0e9c98f5af9 (diff) |
min 0 for amount
3 files changed, 22 insertions, 9 deletions
diff --git a/packages/taler-wallet-webextension/src/mui/TextField.tsx b/packages/taler-wallet-webextension/src/mui/TextField.tsx index c59bb28b6..1c1f5cc49 100644 --- a/packages/taler-wallet-webextension/src/mui/TextField.tsx +++ b/packages/taler-wallet-webextension/src/mui/TextField.tsx @@ -40,6 +40,7 @@ export interface Props { minRows?: number; multiline?: boolean; onChange?: (s: string) => void; + min?: string; placeholder?: string; required?: boolean; diff --git a/packages/taler-wallet-webextension/src/wallet/DestinationSelection.tsx b/packages/taler-wallet-webextension/src/wallet/DestinationSelection.tsx index 1e52f11bc..c584f2aae 100644 --- a/packages/taler-wallet-webextension/src/wallet/DestinationSelection.tsx +++ b/packages/taler-wallet-webextension/src/wallet/DestinationSelection.tsx @@ -283,6 +283,11 @@ export function DestinationSelectionGetCash({ const [currency, setCurrency] = useState(parsedInitialAmount?.currency); const [amount, setAmount] = useState(parsedInitialAmountValue); + function positiveSetAmount(e: string):void { + const value = Number.parseInt(e, 10); + if (value < 0) return + setAmount(String(value)) + } const { i18n } = useTranslationContext(); const previous1: Contact[] = []; const previous2: Contact[] = [ @@ -324,6 +329,7 @@ export function DestinationSelectionGetCash({ <TextField label="Amount" type="number" + min="0" variant="filled" error={invalid} required @@ -425,6 +431,11 @@ export function DestinationSelectionSendCash({ const currency = parsedInitialAmount?.currency; const [amount, setAmount] = useState(parsedInitialAmountValue); + function positiveSetAmount(e: string):void { + const value = Number.parseInt(e, 10); + if (value < 0) return + setAmount(String(value)) + } const { i18n } = useTranslationContext(); const previous1: Contact[] = []; const previous2: Contact[] = [ @@ -466,6 +477,7 @@ export function DestinationSelectionSendCash({ <TextField label="Amount" type="number" + min="0" variant="filled" required error={invalid} @@ -474,7 +486,7 @@ export function DestinationSelectionSendCash({ } value={amount} onChange={(e) => { - setAmount(e); + positiveSetAmount(e); }} /> </div> diff --git a/packages/taler-wallet-webextension/src/wallet/ExchangeSelection/views.tsx b/packages/taler-wallet-webextension/src/wallet/ExchangeSelection/views.tsx index e89fc8879..d9a33c5c2 100644 --- a/packages/taler-wallet-webextension/src/wallet/ExchangeSelection/views.tsx +++ b/packages/taler-wallet-webextension/src/wallet/ExchangeSelection/views.tsx @@ -19,6 +19,7 @@ import { styled } from "@linaria/react"; import { Fragment, h, VNode } from "preact"; import { useState } from "preact/hooks"; import { Amount } from "../../components/Amount.js"; +import { ErrorMessage } from "../../components/ErrorMessage.js"; import { LoadingError } from "../../components/LoadingError.js"; import { SelectList } from "../../components/SelectList.js"; import { Input, SvgIcon } from "../../components/styled/index.js"; @@ -156,17 +157,16 @@ export function NoExchangesView({ const { i18n } = useTranslationContext(); if (!currency) { return ( - <div> - <i18n.Translate>could not find any exchange</i18n.Translate> - </div> + <ErrorMessage + title={<i18n.Translate>Could not find any exchange</i18n.Translate>} + /> ); + } return ( - <div> - <i18n.Translate> - could not find any exchange for the currency {currency} - </i18n.Translate> - </div> + <ErrorMessage + title={<i18n.Translate>Could not find any exchange for the currency {currency}</i18n.Translate>} + /> ); } |