From e35f8570576cc3cf573db6322ba8650e5b4eb0c1 Mon Sep 17 00:00:00 2001 From: rstubryan Date: Fri, 23 Jan 2026 12:58:33 +0700 Subject: [PATCH] fix(FE): Include deliveries in deps for cost handlers --- .../inventory/movement/form/MovementForm.tsx | 39 ++++++++++--------- 1 file changed, 21 insertions(+), 18 deletions(-) diff --git a/src/components/pages/inventory/movement/form/MovementForm.tsx b/src/components/pages/inventory/movement/form/MovementForm.tsx index e4dd9c51..eda03419 100644 --- a/src/components/pages/inventory/movement/form/MovementForm.tsx +++ b/src/components/pages/inventory/movement/form/MovementForm.tsx @@ -673,26 +673,29 @@ const MovementForm = ({ type = 'add', initialValues }: MovementFormProps) => { [] ); - const handleDeliveryCostChange = useCallback((idx: number, value: number) => { - formik.setFieldValue(`deliveries.${idx}.delivery_cost`, value); + const handleDeliveryCostChange = useCallback( + (idx: number, value: number) => { + formik.setFieldValue(`deliveries.${idx}.delivery_cost`, value); - const delivery = formik.values.deliveries?.[idx]; - if (delivery) { - const productQty = delivery.products.reduce( - (sum, p) => sum + (parseInt(p.product_qty.toString()) || 0), - 0 - ); - if (productQty > 0 && value > 0) { - const perItem = value / productQty; - formik.setFieldValue( - `deliveries.${idx}.delivery_cost_per_item`, - perItem + const delivery = formik.values.deliveries?.[idx]; + if (delivery) { + const productQty = delivery.products.reduce( + (sum, p) => sum + (parseInt(p.product_qty.toString()) || 0), + 0 ); - } else if (value === 0) { - formik.setFieldValue(`deliveries.${idx}.delivery_cost_per_item`, 0); + if (productQty > 0 && value > 0) { + const perItem = value / productQty; + formik.setFieldValue( + `deliveries.${idx}.delivery_cost_per_item`, + perItem + ); + } else if (value === 0) { + formik.setFieldValue(`deliveries.${idx}.delivery_cost_per_item`, 0); + } } - } - }, []); + }, + [formik.values.deliveries] + ); const handleDeliveryCostPerItemChange = useCallback( (idx: number, value: number) => { @@ -712,7 +715,7 @@ const MovementForm = ({ type = 'add', initialValues }: MovementFormProps) => { } } }, - [] + [formik.values.deliveries] ); const handleDeliveryCostChangeWrapper = useCallback(