diff --git a/pass/resources/js/checkout.js b/pass/resources/js/checkout.js index fb1cfa1f8da4e3e01113f57ad326a690ee84efe5..111b1371d22456ae271bb2b9e7fa4a10b00aa6f9 100644 --- a/pass/resources/js/checkout.js +++ b/pass/resources/js/checkout.js @@ -155,7 +155,13 @@ function four_finish_purchase() { // Make Create Key button work let create_key_button = document.getElementById("create-key-button"); - create_key_button.addEventListener("pointerdown", () => { + create_key_button.addEventListener("pointerdown", e => { + if (e.target.disabled) { + return; + } else { + e.target.disabled = true; + } + fetch("/redeem/create", { method: "POST", headers: { @@ -171,6 +177,7 @@ function four_finish_purchase() { error_message.textContent = json_response.errors[i].msg document.querySelector("#create-key .errors ul").appendChild(error_message); } + e.target.disabled = false; return Promise.reject("Error while creating a new MetaGer-Pass Key"); }); } else { @@ -182,6 +189,10 @@ function four_finish_purchase() { // Prefill the recharge existing key button let metager_pass_key_input = document.getElementById("metager-pass-key"); metager_pass_key_input.value = key.key; + document.getElementById("metager-pass-key").addEventListener("change", e => { + // When the user changes the generated key unlock the generate button again + create_key_button.disabled = false; + }); // Select The recharge existing key tab and show the correct text document.getElementById("recharge-existing-key").classList.add("hidden"); document.getElementById("recharge-new-key").classList.remove("hidden");