From fc458c5c51fd15fbfa31c01ff1a7ad239eafa025 Mon Sep 17 00:00:00 2001
From: Dominik Hebeler <dominik@hebeler.club>
Date: Mon, 21 Nov 2022 16:37:44 +0100
Subject: [PATCH] disabling create key button

---
 pass/resources/js/checkout.js | 13 ++++++++++++-
 1 file changed, 12 insertions(+), 1 deletion(-)

diff --git a/pass/resources/js/checkout.js b/pass/resources/js/checkout.js
index fb1cfa1..111b137 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");
-- 
GitLab