From 7e2e2750bef0aef20c7978b645b973708f1d1f9c Mon Sep 17 00:00:00 2001 From: oak Date: Wed, 11 Sep 2024 12:41:34 +0300 Subject: [PATCH] pull master --- src/components/managers/settings/settings.tsx | 26 ++++++++++++------- 1 file changed, 17 insertions(+), 9 deletions(-) diff --git a/src/components/managers/settings/settings.tsx b/src/components/managers/settings/settings.tsx index 751578c7..8df9b420 100644 --- a/src/components/managers/settings/settings.tsx +++ b/src/components/managers/settings/settings.tsx @@ -61,6 +61,22 @@ export const Settings: FC = () => { const debouncedHandleFieldChange = useCallback(debounce(handleFieldChange, 1000), []); + const handleCheckboxChange = ( + index: number, + values: UpdateSettingsRequest, + setFieldValue: any, + ) => { + const updatedCarriers = values.shipmentCarriers?.map((carrier, idx) => ({ + ...carrier, + allow: idx === index, + })); + setFieldValue('shipmentCarriers', updatedCarriers); + debouncedHandleFieldChange({ + ...values, + shipmentCarriers: updatedCarriers, + }); + }; + return ( {}}> @@ -121,15 +137,7 @@ export const Settings: FC = () => { { - field.onChange(e); - handleFieldChange({ - ...values, - shipmentCarriers: values.shipmentCarriers?.map((c, idx) => - idx === index ? { ...c, allow: e.target.checked } : c, - ), - }); - }} + onChange={() => handleCheckboxChange(index, values, setFieldValue)} /> } label={carrier.carrier}