UNPKG

next-recaptcha-v3

Version:

🤖 Next.js hook to add Google ReCaptcha to your application

22 lines (19 loc) • 860 B
"use client"; import { useLayoutEffect, useEffect } from 'react'; /** * Function to generate the src for the script tag * Refs: https://developers.google.com/recaptcha/docs/loading */ const getRecaptchaScriptSrc = ({ reCaptchaKey, language, useRecaptchaNet = false, useEnterprise = false, } = {}) => { const hostName = useRecaptchaNet ? "recaptcha.net" : "google.com"; const script = useEnterprise ? "enterprise.js" : "api.js"; let src = `https://www.${hostName}/recaptcha/${script}?`; if (reCaptchaKey) src += `render=${reCaptchaKey}`; if (language) src += `&hl=${language}`; return src; }; // https://usehooks-ts.com/react-hook/use-isomorphic-layout-effect const useIsomorphicLayoutEffect = typeof window !== "undefined" ? useLayoutEffect : useEffect; export { getRecaptchaScriptSrc, useIsomorphicLayoutEffect };