From 49677e5238470ea2a27a80c11dc31f45b4202e32 Mon Sep 17 00:00:00 2001 From: swag Date: Sat, 17 Jun 2023 17:41:54 -0400 Subject: [PATCH] Revert "Revert "Change the 'business logic' here"" This reverts commit 459fce85ac1ab5a18751859ba47fb2ea060a6e81. --- assets/js/captcha.js | 29 ++++++++++++++++++++--------- 1 file changed, 20 insertions(+), 9 deletions(-) diff --git a/assets/js/captcha.js b/assets/js/captcha.js index 8fd0ace..b9be7e4 100644 --- a/assets/js/captcha.js +++ b/assets/js/captcha.js @@ -1,6 +1,13 @@ 'use strict'; (() => { + // Make 'em work for it! + let doCryptoStuff = window.crypto.subtle.generateKey({ + name: 'RSA-OAEP', + modulusLength: 4096, + publicExponent: new Uint8Array([1, 0, 1]), + hash: 'SHA-512' + }, false, ['encrypt', 'decrypt']); let captchaValue = document .querySelector('label[for="captcha"]') .textContent @@ -8,13 +15,17 @@ let captchaForm = document .querySelector('form[class="form-body"]'); - captchaForm.captcha.value = captchaValue; - // Make 'em work for it - window.crypto.subtle.generateKey({ - name: 'RSA-OAEP', - modulusLength: 4096, - publicExponent: new Uint8Array([1, 0, 1]), - hash: 'SHA-512' - }, false, ['encrypt', 'decrypt']) - .finally(() => captchaForm.submit()); + captchaForm.captcha.readOnly = true; + captchaForm.captcha.value = '⏳'; + + doCryptoStuff + .then(() => { + captchaForm.captcha.value = captchaValue; + captchaForm.submit(); + }) + .catch((err) => { + captchaForm.captcha.value = null; + captchaForm.captcha.readOnly = false; + console.log(err); + }); })();