aboutsummaryrefslogtreecommitdiffstats
path: root/web_src/js
diff options
context:
space:
mode:
authorGusted <williamzijl7@hotmail.com>2022-08-10 13:20:10 +0000
committerGitHub <noreply@github.com>2022-08-10 15:20:10 +0200
commit58de07e5fd14c23dd4c4a315b8c5b3fb3219f66a (patch)
treecec2e02c494e19a42bc6095c480d93354259b669 /web_src/js
parent452272c0384d7033ffde18bcb1167e8e49ff598c (diff)
downloadgitea-58de07e5fd14c23dd4c4a315b8c5b3fb3219f66a.tar.gz
gitea-58de07e5fd14c23dd4c4a315b8c5b3fb3219f66a.zip
Add support mCaptcha as captcha provider (#20458)
https://mcaptcha.org/ Co-authored-by: Felipe Leopoldo Sologuren GutiƩrrez <fsologureng@users.noreply.github.com>
Diffstat (limited to 'web_src/js')
-rw-r--r--web_src/js/features/mcaptcha.js16
-rw-r--r--web_src/js/index.js2
2 files changed, 18 insertions, 0 deletions
diff --git a/web_src/js/features/mcaptcha.js b/web_src/js/features/mcaptcha.js
new file mode 100644
index 0000000000..725e2e28ac
--- /dev/null
+++ b/web_src/js/features/mcaptcha.js
@@ -0,0 +1,16 @@
+export async function initMcaptcha() {
+ const mCaptchaEl = document.querySelector('.m-captcha');
+ if (!mCaptchaEl) return;
+
+ const {default: mCaptcha} = await import(/* webpackChunkName: "mcaptcha-vanilla-glue" */'@mcaptcha/vanilla-glue');
+ mCaptcha.INPUT_NAME = 'm-captcha-response';
+ const siteKey = mCaptchaEl.getAttribute('data-sitekey');
+ const instanceURL = mCaptchaEl.getAttribute('data-instance-url');
+
+ mCaptcha.default({
+ siteKey: {
+ instanceUrl: new URL(instanceURL),
+ key: siteKey,
+ }
+ });
+}
diff --git a/web_src/js/index.js b/web_src/js/index.js
index b96e79c3c8..bd56fff773 100644
--- a/web_src/js/index.js
+++ b/web_src/js/index.js
@@ -86,6 +86,7 @@ import {initCommonOrganization} from './features/common-organization.js';
import {initRepoWikiForm} from './features/repo-wiki.js';
import {initRepoCommentForm, initRepository} from './features/repo-legacy.js';
import {initFormattingReplacements} from './features/formatting.js';
+import {initMcaptcha} from './features/mcaptcha.js';
// Run time-critical code as soon as possible. This is safe to do because this
// script appears at the end of <body> and rendered HTML is accessible at that point.
@@ -182,6 +183,7 @@ $(document).ready(() => {
initRepository();
initCommitStatuses();
+ initMcaptcha();
initUserAuthLinkAccountView();
initUserAuthOauth2();