From 22b3350e4a8491ac919d050b73cb79c2473c38f5 Mon Sep 17 00:00:00 2001 From: ValdiANS Date: Mon, 25 May 2026 10:37:41 +0700 Subject: [PATCH] fix: set flock source and destination raw data accordingly --- .../TransferToLayingFormModal.tsx | 37 ++++++++++++++----- 1 file changed, 27 insertions(+), 10 deletions(-) diff --git a/src/components/pages/production/transfer-to-laying/TransferToLayingFormModal.tsx b/src/components/pages/production/transfer-to-laying/TransferToLayingFormModal.tsx index bbfe64f4..b7dbf35f 100644 --- a/src/components/pages/production/transfer-to-laying/TransferToLayingFormModal.tsx +++ b/src/components/pages/production/transfer-to-laying/TransferToLayingFormModal.tsx @@ -233,13 +233,8 @@ const TransferToLayingFormModal = () => { const [maxSourceQuantity, setMaxSourceQuantity] = useState(0); - const selectedFlockDestinationRawData = isResponseSuccess( - flockDestinationRawData - ) - ? flockDestinationRawData.data.find( - (item) => item.id === formik.values.flockDestination?.value - ) - : undefined; + const [selectedFlockDestinationRawData, setSelectedFlockDestinationRawData] = + useState(undefined); const { data: flockSourceKandangsAvailability } = useSWR( formik.values.flockSource @@ -456,15 +451,37 @@ const TransferToLayingFormModal = () => { }, [transferToLayingId, transferToLaying]); useEffect(() => { + if (!formik.values.flockSource) { + setSelectedFlockSourceRawData(undefined); + return; + } + if (isResponseSuccess(flockSourceRawData)) { - const currentSelectedFlockSourceRawData = flockSourceRawData.data.find( + const found = flockSourceRawData.data.find( (item) => item.id === formik.values.flockSource?.value ); - - setSelectedFlockSourceRawData(currentSelectedFlockSourceRawData); + if (found) { + setSelectedFlockSourceRawData(found); + } } }, [flockSourceRawData, formikFlockSource]); + useEffect(() => { + if (!formik.values.flockDestination) { + setSelectedFlockDestinationRawData(undefined); + return; + } + + if (isResponseSuccess(flockDestinationRawData)) { + const found = flockDestinationRawData.data.find( + (item) => item.id === formik.values.flockDestination?.value + ); + if (found) { + setSelectedFlockDestinationRawData(found); + } + } + }, [flockDestinationRawData, formik.values.flockDestination]); + useEffect(() => { formik.setFieldValue('totalQuantity', totalTransferedChicken); formik.setFieldValue('maxTotalQuantity', totalTransferedChicken);