Fix ban duration change updating ban expiration when ban checkbox is unchecked

This commit is contained in:
plebeius
2026-01-09 17:22:05 +01:00
parent 5f4856ad3c
commit f6348f0e66
+11 -7
View File
@@ -176,13 +176,17 @@ const EditMenu = ({ post }: { post: Comment }) => {
const onBanDurationChange = (e: React.ChangeEvent<HTMLInputElement>) => { const onBanDurationChange = (e: React.ChangeEvent<HTMLInputElement>) => {
const days = parseInt(e.target.value, 10) || 1; const days = parseInt(e.target.value, 10) || 1;
setBanDuration(days); setBanDuration(days);
setPublishCommentEditOptions((state) => ({ setPublishCommentEditOptions((state) => {
...state, // Only update ban expiration if ban is currently enabled (checkbox is checked)
commentModeration: { const isBanEnabled = state.commentModeration?.author?.banExpiresAt !== undefined;
...state.commentModeration, return {
author: { banExpiresAt: daysToTimestampInSeconds(days) }, ...state,
}, commentModeration: {
})); ...state.commentModeration,
author: isBanEnabled ? { banExpiresAt: daysToTimestampInSeconds(days) } : state.commentModeration?.author,
},
};
});
}; };
const onPurgeCheckbox = (e: React.ChangeEvent<HTMLInputElement>) => { const onPurgeCheckbox = (e: React.ChangeEvent<HTMLInputElement>) => {