From 3c6a3f1d30c860a5e93c7c891026b2c22c3665f1 Mon Sep 17 00:00:00 2001 From: Jesse <2302541+Kangaroux@users.noreply.github.com> Date: Wed, 8 Jul 2020 03:20:43 -0400 Subject: [PATCH] Render recaptcha on registration page --- client/html/index.htm | 1 + client/html/user_registration.tpl | 2 ++ client/js/views/registration_view.js | 12 ++++++++++++ 3 files changed, 15 insertions(+) diff --git a/client/html/index.htm b/client/html/index.htm index 00728903..34895d1e 100644 --- a/client/html/index.htm +++ b/client/html/index.htm @@ -22,6 +22,7 @@ +
diff --git a/client/html/user_registration.tpl b/client/html/user_registration.tpl index a6d291f4..fa0a5627 100644 --- a/client/html/user_registration.tpl +++ b/client/html/user_registration.tpl @@ -38,6 +38,8 @@
+
+
diff --git a/client/js/views/registration_view.js b/client/js/views/registration_view.js index 0a08de23..11b02e62 100644 --- a/client/js/views/registration_view.js +++ b/client/js/views/registration_view.js @@ -5,6 +5,7 @@ const api = require("../api.js"); const views = require("../util/views.js"); const template = views.getTemplate("user-registration"); +const RECAPTCHA_SITE_KEY = "site key"; class RegistrationView extends events.EventTarget { constructor() { @@ -20,6 +21,13 @@ class RegistrationView extends events.EventTarget { views.syncScrollPosition(); views.decorateValidator(this._formNode); this._formNode.addEventListener("submit", (e) => this._evtSubmit(e)); + this.renderRecaptcha(); + } + + renderRecaptcha() { + grecaptcha.render(this._recaptchaNode, { + "sitekey": RECAPTCHA_SITE_KEY + }); } clearMessages() { @@ -66,6 +74,10 @@ class RegistrationView extends events.EventTarget { get _emailFieldNode() { return this._formNode.querySelector("[name=email]"); } + + get _recaptchaNode() { + return this._formNode.querySelector("#recaptcha"); + } } module.exports = RegistrationView;