diff --git a/src/aggregator/web/index.html b/src/aggregator/web/index.html index 3996ba9..ca1688e 100644 --- a/src/aggregator/web/index.html +++ b/src/aggregator/web/index.html @@ -589,9 +589,19 @@ } }; + let isSubmitting = false; document.getElementById('new-task-form').onsubmit = async (e) => { e.preventDefault(); + // Prevent double submission + if (isSubmitting) return; + isSubmitting = true; + + const submitBtn = e.target.querySelector('button[type="submit"]'); + const originalText = submitBtn.textContent; + submitBtn.textContent = 'Creating...'; + submitBtn.disabled = true; + const projectPath = document.getElementById('task-project').value; const title = document.getElementById('task-title').value; const description = document.getElementById('task-description').value; @@ -626,6 +636,10 @@ } catch (err) { console.error('Create error:', err); showToast(err.message || 'Failed to create task', 'error'); + } finally { + isSubmitting = false; + submitBtn.textContent = originalText; + submitBtn.disabled = false; } };