infinity-forge
Version:
32 lines • 1.52 kB
JavaScript
;
var __importDefault = (this && this.__importDefault) || function (mod) {
return (mod && mod.__esModule) ? mod : { "default": mod };
};
Object.defineProperty(exports, "__esModule", { value: true });
exports.GoogleOAuthProvider = GoogleOAuthProvider;
exports.useGoogleOAuth = useGoogleOAuth;
var jsx_runtime_1 = require("react/jsx-runtime");
var react_1 = require("react");
var useLoadGsiScript_1 = __importDefault(require("./hooks/useLoadGsiScript.js"));
var GoogleOAuthContext = (0, react_1.createContext)(null);
function GoogleOAuthProvider(_a) {
var clientId = _a.clientId, nonce = _a.nonce, onScriptLoadSuccess = _a.onScriptLoadSuccess, onScriptLoadError = _a.onScriptLoadError, children = _a.children;
var scriptLoadedSuccessfully = (0, useLoadGsiScript_1.default)({
nonce: nonce,
onScriptLoadSuccess: onScriptLoadSuccess,
onScriptLoadError: onScriptLoadError,
});
var contextValue = (0, react_1.useMemo)(function () { return ({
clientId: clientId,
scriptLoadedSuccessfully: scriptLoadedSuccessfully,
}); }, [clientId, scriptLoadedSuccessfully]);
return (0, jsx_runtime_1.jsx)(GoogleOAuthContext.Provider, { value: contextValue, children: children });
}
function useGoogleOAuth() {
var context = (0, react_1.useContext)(GoogleOAuthContext);
if (!context) {
throw new Error('Google OAuth components must be used within GoogleOAuthProvider');
}
return context;
}
//# sourceMappingURL=GoogleOAuthProvider.js.map