fix(web): actions ratio limit support decimal values (#1100)

fix(web): make NumberField support decimal values
This commit is contained in:
stacksmash76 2023-09-10 17:50:24 +02:00 committed by GitHub
parent bdea9599d2
commit 1215036d89
No known key found for this signature in database
GPG key ID: 4AEE18F83AFDEB23
2 changed files with 11 additions and 4 deletions

View file

@ -609,6 +609,7 @@ interface NumberFieldProps {
min?: number;
max?: number;
tooltip?: JSX.Element;
isDecimal?: boolean;
}
export const NumberField = ({
@ -620,7 +621,8 @@ export const NumberField = ({
max,
tooltip,
disabled,
required
required,
isDecimal
}: NumberFieldProps) => (
<div className="col-span-12 sm:col-span-6">
<label
@ -642,7 +644,7 @@ export const NumberField = ({
step={step}
min={min}
max={max}
inputMode="numeric"
inputMode={isDecimal ? "decimal" : "numeric"}
required={required}
className={classNames(
meta.touched && meta.error
@ -660,7 +662,11 @@ export const NumberField = ({
form.setFieldValue(field.name, 0);
return;
}
form.setFieldValue(field.name, parseInt(event.target.value)); // Convert the input value to an integer using parseInt() to ensure that the backend can properly parse the numberfield as an integer.
if (isDecimal) {
form.setFieldValue(field.name, parseFloat(event.target.value));
} else {
form.setFieldValue(field.name, parseInt(event.target.value));
}
}}
onWheel={(event) => {
if (event.currentTarget === document.activeElement) {

View file

@ -263,7 +263,8 @@ const TypeForm = ({ action, idx, clients }: TypeFormProps) => {
name={`actions.${idx}.limit_ratio`}
label="Ratio limit"
placeholder="Takes any number (0 is no limit)"
step={1} // 0.5 does not work
step={0.25}
isDecimal
/>
<NumberField
name={`actions.${idx}.limit_seed_time`}