forked from dozoisch/react-google-recaptcha
-
Notifications
You must be signed in to change notification settings - Fork 0
Expand file tree
/
Copy pathrecaptcha-wrapper.js
More file actions
22 lines (19 loc) · 770 Bytes
/
recaptcha-wrapper.js
File metadata and controls
22 lines (19 loc) · 770 Bytes
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
import ReCAPTCHA from "./recaptcha";
import makeAsyncScriptLoader from "react-async-script";
function getOptions() {
return (typeof window !== "undefined" && window.recaptchaOptions) || {};
}
function getURL() {
const dynamicOptions = getOptions();
const lang = dynamicOptions.lang ? `&hl=${dynamicOptions.lang}` : "";
const hostname = dynamicOptions.useRecaptchaNet ? "recaptcha.net" : "www.google.com";
return `https://${hostname}/recaptcha/api.js?onload=${callbackName}&render=explicit${lang}`;
}
const callbackName = "onloadcallback";
const globalName = "grecaptcha";
const initialOptions = getOptions();
export default makeAsyncScriptLoader(getURL, {
callbackName,
globalName,
removeOnMount: initialOptions.removeOnMount || false,
})(ReCAPTCHA);