From ceef37472e2e161e586c4705b5d8785b7ebf50b1 Mon Sep 17 00:00:00 2001 From: Aevann Date: Thu, 9 Mar 2023 21:41:08 +0200 Subject: [PATCH] make the logic for disabling buttons consistent --- files/assets/js/bottom.js | 19 ++++++++++--------- files/assets/js/comments_v.js | 24 +++++++++--------------- files/assets/js/core.js | 8 -------- files/assets/js/userpage_v.js | 8 -------- 4 files changed, 19 insertions(+), 40 deletions(-) diff --git a/files/assets/js/bottom.js b/files/assets/js/bottom.js index f370806f1..ea428e206 100644 --- a/files/assets/js/bottom.js +++ b/files/assets/js/bottom.js @@ -98,16 +98,17 @@ for (const element of TH) { } function disable_btn(t) { + if (t.classList.contains('disabled')) { + setTimeout(() => { + t.disabled = true; + }, 0.0000000000000000001); + + setTimeout(() => { + t.classList.remove("disabled"); + t.disabled = false; + }, 2000); + } t.classList.add('disabled'); - - setTimeout(() => { - t.disabled = true; - }, 0.0000000000000000001); - - setTimeout(() => { - t.classList.remove("disabled"); - t.disabled = false; - }, 2000); } function register_new_elements(e) { diff --git a/files/assets/js/comments_v.js b/files/assets/js/comments_v.js index 1cea5bf9d..5e5d9102f 100644 --- a/files/assets/js/comments_v.js +++ b/files/assets/js/comments_v.js @@ -160,10 +160,8 @@ function post_reply(id){ } else { showToast(false, getMessageFromJsonData(false, data)); } - setTimeout(() => { - btn.disabled = false; - btn.classList.remove('disabled'); - }, 2000); + btn.disabled = false; + btn.classList.remove('disabled'); } xhr[0].send(xhr[1]); } @@ -213,10 +211,8 @@ function comment_edit(id){ else { showToast(false, getMessageFromJsonData(false, data)); } - setTimeout(() => { - btn.disabled = false; - btn.classList.remove('disabled'); - }, 1000); + btn.disabled = false; + btn.classList.remove('disabled'); } xhr[0].send(xhr[1]); } @@ -323,13 +319,11 @@ function handle_action(type, cid, thing) { } else { showToast(false, getMessageFromJsonData(false, data)); } - setTimeout(() => { - for (const btn of btns) - { - btn.disabled = false; - btn.classList.remove('disabled'); - } - }, 2000); + for (const btn of btns) + { + btn.disabled = false; + btn.classList.remove('disabled'); + } } xhr.send(form) } diff --git a/files/assets/js/core.js b/files/assets/js/core.js index ec3e6391b..e04d88c2c 100644 --- a/files/assets/js/core.js +++ b/files/assets/js/core.js @@ -68,14 +68,6 @@ function postToast(t, url, data, extraActionsOnSuccess, method="POST") { return success; }; xhr[0].send(xhr[1]); - - if (!isShopConfirm) - { - setTimeout(() => { - t.disabled = false; - t.classList.remove("disabled"); - }, 2000); - } } function postToastReload(t, url, method="POST") { diff --git a/files/assets/js/userpage_v.js b/files/assets/js/userpage_v.js index b7f78f684..86e68eef4 100644 --- a/files/assets/js/userpage_v.js +++ b/files/assets/js/userpage_v.js @@ -29,8 +29,6 @@ function transferCoins(t, mobile=false) { el.classList.add('d-none'); } - this.disabled = true; - let amount = parseInt(document.getElementById(mobile ? "coin-transfer-amount-mobile" : "coin-transfer-amount").value); let transferred = amount - Math.ceil(amount*TRANSFER_TAX); let username = document.getElementById('username').innerHTML; @@ -46,8 +44,6 @@ function transferCoins(t, mobile=false) { document.getElementById("profile-coins-amount").innerText = parseInt(document.getElementById("profile-coins-amount").innerText) + transferred; } ); - - setTimeout(_ => this.disabled = false, 2000); } function transferBux(t, mobile=false) { @@ -55,8 +51,6 @@ function transferBux(t, mobile=false) { el.classList.add('d-none'); } - this.disabled = true; - let amount = parseInt(document.getElementById(mobile ? "bux-transfer-amount-mobile" : "bux-transfer-amount").value); let username = document.getElementById('username').innerHTML @@ -71,8 +65,6 @@ function transferBux(t, mobile=false) { document.getElementById("profile-bux-amount").innerText = parseInt(document.getElementById("profile-bux-amount").innerText) + amount; } ); - - setTimeout(_ => this.disabled = false, 2000); } function sendMessage(form) {