{# templates/fragments/recaptcha.html.twig #}
{# recaptcha_enabled: true para mostrar el widget
recaptcha_key: clave de la aplicación
#}
{% if recaptcha_enabled == true %}
<section class="text-center mb-1">
<div id="recaptcha" class="g-recaptcha d-inline-block" data-callback="recaptcha_onCheck" data-expired-callback="recaptcha_onExpire" data-sitekey="{{ recaptcha_key }}"></div>
<script>
$m.reCAPTCHA = {
widget: undefined,
submitBtn: undefined,
};
function recaptcha_onCheck() {
const btn = $m.reCAPTCHA.submitBtn;
btn.disabled = false;
btn.recaptchaDisabled = false;
}
function recaptcha_onExpire() {
const btn = $m.reCAPTCHA.submitBtn;
if (! btn.disabled)
btn.disabled = true;
btn.recaptchaDisabled = true;
}
(function() {
'use strict';
window.addEventListener('load', function() {
$m.reCAPTCHA.widget = document.querySelector('#recaptcha');
$m.reCAPTCHA.submitBtn = $m.reCAPTCHA.widget.closest('form').querySelector('button[type="submit"]');
$m.reCAPTCHA.submitBtn.disabled = true;
});
})();
</script>
</section>
{% endif %}