From 35e755d86a3a5649469565cfff31611891dcb207 Mon Sep 17 00:00:00 2001 From: chaitanyapotti Date: Wed, 5 Feb 2020 23:33:00 +0800 Subject: [PATCH 1/3] Updates to fix bugs --- .babelrc | 3 ++- dist/index.js | 2 +- package.json | 3 ++- src/ReCaptcha.js | 30 +++++++++++------------------- 4 files changed, 16 insertions(+), 22 deletions(-) diff --git a/.babelrc b/.babelrc index 36a5a77..01a1891 100644 --- a/.babelrc +++ b/.babelrc @@ -3,6 +3,7 @@ "plugins": [ "@babel/plugin-proposal-object-rest-spread", "@babel/plugin-transform-react-jsx", - "babel-plugin-transform-react-remove-prop-types" + "babel-plugin-transform-react-remove-prop-types", + "@babel/plugin-proposal-class-properties" ] } diff --git a/dist/index.js b/dist/index.js index 3fbab96..48255cc 100644 --- a/dist/index.js +++ b/dist/index.js @@ -1 +1 @@ -module.exports=function(n){var r={};function o(e){if(r[e])return r[e].exports;var t=r[e]={i:e,l:!1,exports:{}};return n[e].call(t.exports,t,t.exports,o),t.l=!0,t.exports}return o.m=n,o.c=r,o.d=function(e,t,n){o.o(e,t)||Object.defineProperty(e,t,{enumerable:!0,get:n})},o.r=function(e){"undefined"!=typeof Symbol&&Symbol.toStringTag&&Object.defineProperty(e,Symbol.toStringTag,{value:"Module"}),Object.defineProperty(e,"__esModule",{value:!0})},o.t=function(t,e){if(1&e&&(t=o(t)),8&e)return t;if(4&e&&"object"==typeof t&&t&&t.__esModule)return t;var n=Object.create(null);if(o.r(n),Object.defineProperty(n,"default",{enumerable:!0,value:t}),2&e&&"string"!=typeof t)for(var r in t)o.d(n,r,function(e){return t[e]}.bind(null,r));return n},o.n=function(e){var t=e&&e.__esModule?function(){return e.default}:function(){return e};return o.d(t,"a",t),t},o.o=function(e,t){return Object.prototype.hasOwnProperty.call(e,t)},o.p="",o(o.s=1)}([function(e,t){e.exports=require("react")},function(e,t,n){var r=n(2).default,o=n(4).default;e.exports={ReCaptcha:r,loadReCaptcha:o}},function(e,t,n){"use strict";n.r(t);var r=n(0),o=n.n(r);n(3);function a(e){return(a="function"==typeof Symbol&&"symbol"==typeof Symbol.iterator?function(e){return typeof e}:function(e){return e&&"function"==typeof Symbol&&e.constructor===Symbol&&e!==Symbol.prototype?"symbol":typeof e})(e)}function u(e,t){for(var n=0;n let readyCheck class ReCaptcha extends Component { - constructor (props) { - super(props) - - this.execute = this.execute.bind(this) - - this.state = { - ready: isReady() - } - - if (!this.state.ready) { - readyCheck = setInterval(this._updateReadyState.bind(this), 1000) - } + state = { + ready: isReady() } componentDidMount () { if (this.state.ready) { - this.execute() + this.execute(); + } else { + readyCheck = setInterval(this._updateReadyState, 1000); } } @@ -52,7 +44,7 @@ class ReCaptcha extends Component { clearInterval(readyCheck) } - execute () { + execute = () => { const { sitekey, verifyCallback, @@ -70,13 +62,13 @@ class ReCaptcha extends Component { } } - _updateReadyState () { + _updateReadyState = () => { if (isReady()) { - this.setState(() => ({ ready: true })) + this.setState(() => ({ ready: true })); - clearInterval(readyCheck) + clearInterval(readyCheck); } - } + }; render () { return this.state.ready ? ( @@ -93,4 +85,4 @@ class ReCaptcha extends Component { ReCaptcha.propTypes = propTypes ReCaptcha.defaultProps = defaultProps -export default ReCaptcha +export default ReCaptcha \ No newline at end of file From 86d301a2411a9aca09d2acb1fd9d6acc33ed70af Mon Sep 17 00:00:00 2001 From: chaitanyapotti Date: Fri, 17 Jul 2020 13:44:10 +0800 Subject: [PATCH 2/3] Add support for async and defer --- src/loadReCaptcha.js | 5 ++++- 1 file changed, 4 insertions(+), 1 deletion(-) diff --git a/src/loadReCaptcha.js b/src/loadReCaptcha.js index cca2cbe..f8e61b9 100644 --- a/src/loadReCaptcha.js +++ b/src/loadReCaptcha.js @@ -1,5 +1,5 @@ // Callback by default is an empty function to execute nothing when no callback is passed -const loadReCaptcha = (siteKey, callback = () => {}) => { +const loadReCaptcha = (siteKey, callback = () => {}, async = false, defer = false) => { const script = document.createElement('script') if (!window.onLoadCaptchaV3Callback && callback) { @@ -7,6 +7,9 @@ const loadReCaptcha = (siteKey, callback = () => {}) => { } script.src = `https://www.recaptcha.net/recaptcha/api.js?onload=onLoadCaptchaV3Callback&render=${siteKey}` + script.async = async + script.defer = defer + document.body.appendChild(script) } From 7deb0713b0305426b80294e3f63b3dd13699e8b9 Mon Sep 17 00:00:00 2001 From: chaitanyapotti Date: Fri, 17 Jul 2020 13:45:21 +0800 Subject: [PATCH 3/3] Minor changes --- .babelrc | 3 +-- dist/index.js | 1 - package.json | 1 - src/ReCaptcha.js | 4 ++-- 4 files changed, 3 insertions(+), 6 deletions(-) delete mode 100644 dist/index.js diff --git a/.babelrc b/.babelrc index df8efa3..5c6240c 100644 --- a/.babelrc +++ b/.babelrc @@ -6,7 +6,6 @@ "plugins": [ "@babel/plugin-proposal-object-rest-spread", "@babel/plugin-transform-react-jsx", - "babel-plugin-transform-react-remove-prop-types", - "@babel/plugin-proposal-class-properties" + "babel-plugin-transform-react-remove-prop-types" ] } diff --git a/dist/index.js b/dist/index.js deleted file mode 100644 index 5c1d6e7..0000000 --- a/dist/index.js +++ /dev/null @@ -1 +0,0 @@ -module.exports=function(e){var t={};function n(r){if(t[r])return t[r].exports;var o=t[r]={i:r,l:!1,exports:{}};return e[r].call(o.exports,o,o.exports,n),o.l=!0,o.exports}return n.m=e,n.c=t,n.d=function(e,t,r){n.o(e,t)||Object.defineProperty(e,t,{enumerable:!0,get:r})},n.r=function(e){"undefined"!=typeof Symbol&&Symbol.toStringTag&&Object.defineProperty(e,Symbol.toStringTag,{value:"Module"}),Object.defineProperty(e,"__esModule",{value:!0})},n.t=function(e,t){if(1&t&&(e=n(e)),8&t)return e;if(4&t&&"object"==typeof e&&e&&e.__esModule)return e;var r=Object.create(null);if(n.r(r),Object.defineProperty(r,"default",{enumerable:!0,value:e}),2&t&&"string"!=typeof e)for(var o in e)n.d(r,o,function(t){return e[t]}.bind(null,o));return r},n.n=function(e){var t=e&&e.__esModule?function(){return e.default}:function(){return e};return n.d(t,"a",t),t},n.o=function(e,t){return Object.prototype.hasOwnProperty.call(e,t)},n.p="",n(n.s=2)}([function(e,t){e.exports=require("react")},function(e,t){e.exports=require("prop-types")},function(e,t,n){"use strict";n.r(t),n.d(t,"ReCaptcha",(function(){return v})),n.d(t,"loadReCaptcha",(function(){return m}));var r=n(0),o=n.n(r);n(1);function c(e){return(c="function"==typeof Symbol&&"symbol"==typeof Symbol.iterator?function(e){return typeof e}:function(e){return e&&"function"==typeof Symbol&&e.constructor===Symbol&&e!==Symbol.prototype?"symbol":typeof e})(e)}function u(e,t){for(var n=0;n ({ ready: true })) clearInterval(readyCheck) } - }; + } render () { return this.state.ready ? ( @@ -86,4 +86,4 @@ class ReCaptcha extends Component { ReCaptcha.propTypes = propTypes ReCaptcha.defaultProps = defaultProps -export default ReCaptcha \ No newline at end of file +export default ReCaptcha