From 91e6c69abbbf1b557f882c2f63baff2cba72067c Mon Sep 17 00:00:00 2001 From: Oliver Walters Date: Sat, 27 Jun 2026 08:50:34 +0000 Subject: [PATCH] Use lightweight NumberInput --- src/frontend/src/forms/StockForms.tsx | 27 ++++++++++++++++++--------- 1 file changed, 18 insertions(+), 9 deletions(-) diff --git a/src/frontend/src/forms/StockForms.tsx b/src/frontend/src/forms/StockForms.tsx index 8b31379648..155514f65a 100644 --- a/src/frontend/src/forms/StockForms.tsx +++ b/src/frontend/src/forms/StockForms.tsx @@ -17,6 +17,7 @@ import { Flex, Group, List, + NumberInput, Skeleton, Stack, Table, @@ -49,7 +50,6 @@ import { useFormContext } from 'react-hook-form'; import { useNavigate } from 'react-router-dom'; import { api } from '../App'; import RemoveRowButton from '../components/buttons/RemoveRowButton'; -import { StandaloneField } from '../components/forms/StandaloneField'; import { TableFieldExtraRow, type TableFieldRowProps @@ -765,15 +765,24 @@ function StockOperationsRow({ {!merge && ( - { - setQuantity(value); - callChangeFn(rowId, 'quantity', value); + { + let nextValue: StockItemQuantity = ''; + + if (typeof value === 'number') { + nextValue = Number.isFinite(value) ? value : ''; + } else if (value.trim() !== '') { + const parsed = Number.parseFloat(value); + nextValue = Number.isFinite(parsed) ? parsed : ''; } + + setQuantity(nextValue); + callChangeFn(rowId, 'quantity', nextValue); }} error={props.rowErrors?.quantity?.message} />