diff --git a/deploy/app.js b/deploy/app.js index 1f22724..39db311 100644 --- a/deploy/app.js +++ b/deploy/app.js @@ -423,6 +423,7 @@ async function loadGroups() { // Один обработчик на все кнопки сравнения diffBody.querySelectorAll('.cmp-btn').forEach(function(btn) { btn.addEventListener('click', function() { + if (this.getAttribute('data-done') === '1') return; var gi = parseInt(this.getAttribute('data-gi')); runCompareForGroup(gi, this); }); @@ -445,7 +446,10 @@ window.runCompareForGroup = async function(gi, btn) { // Свернуть все раскрытые сравнения document.querySelectorAll('.cmp-body').forEach(function(el) { el.style.display = 'none'; }); document.querySelectorAll('.cmp-btn').forEach(function(b) { - b.disabled = false; b.innerHTML = '▶ Сравнить эту группу'; + b.disabled = false; + b.removeAttribute('data-done'); + b.innerHTML = '▶ Сравнить эту группу'; + b.style.background = ''; b.style.color = ''; b.style.borderColor = ''; b.style.cursor = ''; }); btn.disabled = true; @@ -530,7 +534,8 @@ window.runCompareForGroup = async function(gi, btn) { btn.style.color = '#fff'; btn.style.borderColor = 'var(--green)'; btn.style.cursor = 'default'; - btn.disabled = false; + btn.disabled = true; + btn.setAttribute('data-done', '1'); stepDone('stepCompare'); } else if (d.type === 'error') {