diff --git a/src/components/pages/marketing/detail/MarketingDetail.tsx b/src/components/pages/marketing/detail/MarketingDetail.tsx index 91e02928..f8f7d269 100644 --- a/src/components/pages/marketing/detail/MarketingDetail.tsx +++ b/src/components/pages/marketing/detail/MarketingDetail.tsx @@ -89,7 +89,6 @@ const MarketingDetail = ({ deleteModal.closeModal(); router.push('/marketing'); toast.success(res?.message as string); - refresh?.(); setIsLoading(false); }; diff --git a/src/components/pages/marketing/form/MarketingForm.tsx b/src/components/pages/marketing/form/MarketingForm.tsx index b9a1a1fb..ac20c0c9 100644 --- a/src/components/pages/marketing/form/MarketingForm.tsx +++ b/src/components/pages/marketing/form/MarketingForm.tsx @@ -507,7 +507,7 @@ const MarketingForm = ({ addSOModal.openModal(); }, [addSOModal]); const handleAddSubmitSO = useCallback( - async (values: SalesOrderProductFormValues) => { + async (values: SalesOrderProductFormValues, id?: number) => { const currentProducts = formik.values.sales_order; const newValues = { @@ -515,18 +515,12 @@ const MarketingForm = ({ id: values.id ?? Date.now(), }; - const existingIndex = currentProducts.findIndex( - (item) => - item.kandang_id === newValues.kandang_id && - item.product_warehouse_id === newValues.product_warehouse_id - ); - let updatedProducts = []; - if (existingIndex !== -1) { + if (id) { // Overwrite - updatedProducts = currentProducts.map((item, index) => - index === existingIndex ? newValues : item + updatedProducts = currentProducts.map((item) => + item.id === id ? newValues : item ); } else { // Add new item diff --git a/src/components/pages/marketing/form/repeater/sales-order/SalesOrderProductForm.tsx b/src/components/pages/marketing/form/repeater/sales-order/SalesOrderProductForm.tsx index 52d844cd..8bea75c4 100644 --- a/src/components/pages/marketing/form/repeater/sales-order/SalesOrderProductForm.tsx +++ b/src/components/pages/marketing/form/repeater/sales-order/SalesOrderProductForm.tsx @@ -39,7 +39,10 @@ const SalesOrderProductForm = ({ initialValues?: SalesOrderProductFormValues; exisitingValues?: SalesOrderProductFormValues[]; modalRef?: RefObject; - onSubmitForm?: (value: SalesOrderProductFormValues) => Promise; + onSubmitForm?: ( + value: SalesOrderProductFormValues, + id?: number + ) => Promise; }) => { const [formErrorMessage, setFormErrorMessage] = useState(''); const [currentInput, setCurrentInput] = useState(''); @@ -76,7 +79,7 @@ const SalesOrderProductForm = ({ validationSchema: SalesOrderProductSchema, onSubmit: async (values) => { setFormErrorMessage(''); - onSubmitForm?.(values); + onSubmitForm?.(values, initialValues?.id); handleResetForm(); }, validateOnBlur: true, @@ -414,7 +417,9 @@ const SalesOrderProductForm = ({ /> - +
+ +