diff --git a/apps/web/src/app/(signing)/sign/[token]/checkbox-field.tsx b/apps/web/src/app/(signing)/sign/[token]/checkbox-field.tsx index 78a25d7ea..627782838 100644 --- a/apps/web/src/app/(signing)/sign/[token]/checkbox-field.tsx +++ b/apps/web/src/app/(signing)/sign/[token]/checkbox-field.tsx @@ -180,28 +180,25 @@ export const CheckboxField = ({ field, onSignField, onUnsignField }: CheckboxFie ...checkedValues, item.value.length > 0 ? item.value : `empty-value-${item.id}`, ]; - - await removeSignedFieldWithToken({ - token: recipient.token, - fieldId: field.id, - }); - - if (isLengthConditionMet) { - await signFieldWithToken({ - token: recipient.token, - fieldId: field.id, - value: toCheckboxValue(checkedValues), - isBase64: true, - }); - } } else { updatedValues = checkedValues.filter( (v) => v !== item.value && v !== `empty-value-${item.id}`, ); + } - await removeSignedFieldWithToken({ + setCheckedValues(updatedValues); + + await removeSignedFieldWithToken({ + token: recipient.token, + fieldId: field.id, + }); + + if (updatedValues.length > 0) { + await signFieldWithToken({ token: recipient.token, fieldId: field.id, + value: toCheckboxValue(updatedValues), + isBase64: true, }); } } catch (err) { @@ -213,7 +210,6 @@ export const CheckboxField = ({ field, onSignField, onUnsignField }: CheckboxFie variant: 'destructive', }); } finally { - setCheckedValues(updatedValues); startTransition(() => router.refresh()); } };