UNPKG

infinity-forge

Version:
36 lines 1.7 kB
"use strict"; Object.defineProperty(exports, "__esModule", { value: true }); exports.default = useLoadGsiScript; var react_1 = require("react"); function useLoadGsiScript(options) { if (options === void 0) { options = {}; } var nonce = options.nonce, onScriptLoadSuccess = options.onScriptLoadSuccess, onScriptLoadError = options.onScriptLoadError; var _a = (0, react_1.useState)(false), scriptLoadedSuccessfully = _a[0], setScriptLoadedSuccessfully = _a[1]; var onScriptLoadSuccessRef = (0, react_1.useRef)(onScriptLoadSuccess); onScriptLoadSuccessRef.current = onScriptLoadSuccess; var onScriptLoadErrorRef = (0, react_1.useRef)(onScriptLoadError); onScriptLoadErrorRef.current = onScriptLoadError; (0, react_1.useEffect)(function () { var scriptTag = document.createElement('script'); scriptTag.src = 'https://accounts.google.com/gsi/client'; scriptTag.async = true; scriptTag.defer = true; scriptTag.nonce = nonce; scriptTag.onload = function () { var _a; setScriptLoadedSuccessfully(true); (_a = onScriptLoadSuccessRef.current) === null || _a === void 0 ? void 0 : _a.call(onScriptLoadSuccessRef); }; scriptTag.onerror = function () { var _a; setScriptLoadedSuccessfully(false); (_a = onScriptLoadErrorRef.current) === null || _a === void 0 ? void 0 : _a.call(onScriptLoadErrorRef); }; document.body.appendChild(scriptTag); return function () { document.body.removeChild(scriptTag); }; }, [nonce]); return scriptLoadedSuccessfully; } //# sourceMappingURL=useLoadGsiScript.js.map