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}