🐛 fix(manual-journal): fix race condition in form submission handlers

Fix the order of setSubmitPayload and submitForm calls in all six
button handlers to prevent race condition where submitForm reads
stale state before setSubmitPayload updates it.

Changes:
- handleSubmitPublishBtnClick
- handleSubmitPublishAndNewBtnClick
- handleSubmitPublishContinueEditingBtnClick
- handleSubmitDraftBtnClick
- handleSubmitDraftAndNewBtnClick
- handleSubmitDraftContinueEditingBtnClick

Co-Authored-By: Claude Haiku 4.5 <noreply@anthropic.com>
This commit is contained in:
Ahmed Bouhuolia
2026-02-07 16:58:57 +02:00
parent 2c05785096
commit 36bfa573ad

View File

@@ -32,38 +32,38 @@ export default function MakeJournalFloatingAction() {
// Handle submit & publish button click. // Handle submit & publish button click.
const handleSubmitPublishBtnClick = (event) => { const handleSubmitPublishBtnClick = (event) => {
submitForm();
setSubmitPayload({ redirect: true, publish: true }); setSubmitPayload({ redirect: true, publish: true });
submitForm();
}; };
// Handle submit, publish & new button click. // Handle submit, publish & new button click.
const handleSubmitPublishAndNewBtnClick = (event) => { const handleSubmitPublishAndNewBtnClick = (event) => {
submitForm();
setSubmitPayload({ redirect: false, publish: true, resetForm: true }); setSubmitPayload({ redirect: false, publish: true, resetForm: true });
submitForm();
}; };
// Handle submit, publish & edit button click. // Handle submit, publish & edit button click.
const handleSubmitPublishContinueEditingBtnClick = (event) => { const handleSubmitPublishContinueEditingBtnClick = (event) => {
submitForm();
setSubmitPayload({ redirect: false, publish: true }); setSubmitPayload({ redirect: false, publish: true });
submitForm();
}; };
// Handle submit as draft button click. // Handle submit as draft button click.
const handleSubmitDraftBtnClick = (event) => { const handleSubmitDraftBtnClick = (event) => {
submitForm();
setSubmitPayload({ redirect: true, publish: false }); setSubmitPayload({ redirect: true, publish: false });
submitForm();
}; };
// Handle submit as draft & new button click. // Handle submit as draft & new button click.
const handleSubmitDraftAndNewBtnClick = (event) => { const handleSubmitDraftAndNewBtnClick = (event) => {
submitForm();
setSubmitPayload({ redirect: false, publish: false, resetForm: true }); setSubmitPayload({ redirect: false, publish: false, resetForm: true });
submitForm();
}; };
// Handle submit as draft & continue editing button click. // Handle submit as draft & continue editing button click.
const handleSubmitDraftContinueEditingBtnClick = (event) => { const handleSubmitDraftContinueEditingBtnClick = (event) => {
submitForm();
setSubmitPayload({ redirect: false, publish: false }); setSubmitPayload({ redirect: false, publish: false });
submitForm();
}; };
// Handle cancel button click. // Handle cancel button click.