admin form: disable submit button to prevent duplicate invoices

This commit is contained in:
Sergei Poljanski 2026-07-02 17:31:20 +04:00
commit 187910f69b
Signed by: asxpi
GPG key ID: 4F8851660FA4121B

View file

@ -2,6 +2,16 @@
const tbody = document.querySelector('#items-table tbody'); const tbody = document.querySelector('#items-table tbody');
const addBtn = document.getElementById('add-row'); const addBtn = document.getElementById('add-row');
// PDF render + two S3 uploads make create slow enough to double-click,
// which would mint two invoices with consecutive numbers.
const form = document.querySelector('form.invoice-form');
if (form) {
form.addEventListener('submit', function () {
const btn = form.querySelector('button[type="submit"]');
if (btn) { btn.disabled = true; btn.textContent = 'Creating…'; }
});
}
function reindex() { function reindex() {
Array.from(tbody.querySelectorAll('tr.item-row')).forEach((row, i) => { Array.from(tbody.querySelectorAll('tr.item-row')).forEach((row, i) => {
row.querySelectorAll('input').forEach((input) => { row.querySelectorAll('input').forEach((input) => {