Fix mCaptcha bug (#33659) (#33661)

Backport #33659 by wxiaoguang

Fix #33658

Co-authored-by: wxiaoguang <wxiaoguang@gmail.com>
pull/33670/head
Giteabot 6 days ago committed by GitHub
parent 8844e62cb4
commit 9da6d4ea85
No known key found for this signature in database
GPG Key ID: B5690EEEBB952194

@ -182,7 +182,7 @@ textarea:focus,
height: 76px !important; height: 76px !important;
} }
.m-captcha-style { .m-captcha-style {
width: 50%; max-width: 450px;
} }
} }

@ -34,13 +34,18 @@ export async function initCaptcha() {
break; break;
} }
case 'm-captcha': { case 'm-captcha': {
const {default: mCaptcha} = await import(/* webpackChunkName: "mcaptcha-vanilla-glue" */'@mcaptcha/vanilla-glue'); const mCaptcha = await import(/* webpackChunkName: "mcaptcha-vanilla-glue" */'@mcaptcha/vanilla-glue');
// @ts-expect-error
// FIXME: the mCaptcha code is not right, it's a miracle that the wrong code could run
// * the "vanilla-glue" has some problems with es6 module.
// * the INPUT_NAME is a "const", it should not be changed.
// * the "mCaptcha.default" is actually the "Widget".
// @ts-expect-error TS2540: Cannot assign to 'INPUT_NAME' because it is a read-only property.
mCaptcha.INPUT_NAME = 'm-captcha-response'; mCaptcha.INPUT_NAME = 'm-captcha-response';
const instanceURL = captchaEl.getAttribute('data-instance-url'); const instanceURL = captchaEl.getAttribute('data-instance-url');
// @ts-expect-error new mCaptcha.default({
mCaptcha.default({
siteKey: { siteKey: {
instanceUrl: new URL(instanceURL), instanceUrl: new URL(instanceURL),
key: siteKey, key: siteKey,

Loading…
Cancel
Save