summaryrefslogtreecommitdiffstats
path: root/web_src
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
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')
-rw-r--r--web_src/js/features/mcaptcha.js16
-rw-r--r--web_src/js/index.js2
-rw-r--r--web_src/less/_form.less3
-rw-r--r--web_src/less/helpers.less5
4 files changed, 25 insertions, 1 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();
diff --git a/web_src/less/_form.less b/web_src/less/_form.less
index eeab07c475..c958763216 100644
--- a/web_src/less/_form.less
+++ b/web_src/less/_form.less
@@ -156,7 +156,8 @@ textarea:focus,
padding-left: @create-page-form-input-padding+30px;
}
- .inline.field > label {
+ .inline.field > label,
+ .inline.field > span {
text-align: right;
width: @create-page-form-input-padding;
word-wrap: break-word;
diff --git a/web_src/less/helpers.less b/web_src/less/helpers.less
index cacf7d9c8e..5510ee5b23 100644
--- a/web_src/less/helpers.less
+++ b/web_src/less/helpers.less
@@ -168,3 +168,8 @@
.py-3 { padding-top: .5rem !important; padding-bottom: .5rem !important; }
.py-4 { padding-top: 1rem !important; padding-bottom: 1rem !important; }
.py-5 { padding-top: 2rem !important; padding-bottom: 2rem !important; }
+
+@media @mediaSm {
+ .db-small { display: block !important; }
+ .w-100-small { width: 100% !important; }
+}