UNPKG

@krowdy/kds-auth

Version:

React components that implement Google's Material Design.

83 lines (68 loc) 3.38 kB
"use strict"; var _typeof = require("@babel/runtime/helpers/typeof"); Object.defineProperty(exports, "__esModule", { value: true }); exports["default"] = void 0; var _react = _interopRequireWildcard(require("react")); var _kdsCore = require("@krowdy/kds-core"); var _utils = require("../utils"); function _getRequireWildcardCache(nodeInterop) { if (typeof WeakMap !== "function") return null; var cacheBabelInterop = new WeakMap(); var cacheNodeInterop = new WeakMap(); return (_getRequireWildcardCache = function _getRequireWildcardCache(nodeInterop) { return nodeInterop ? cacheNodeInterop : cacheBabelInterop; })(nodeInterop); } function _interopRequireWildcard(obj, nodeInterop) { if (!nodeInterop && obj && obj.__esModule) { return obj; } if (obj === null || _typeof(obj) !== "object" && typeof obj !== "function") { return { "default": obj }; } var cache = _getRequireWildcardCache(nodeInterop); if (cache && cache.has(obj)) { return cache.get(obj); } var newObj = {}; var hasPropertyDescriptor = Object.defineProperty && Object.getOwnPropertyDescriptor; for (var key in obj) { if (key !== "default" && Object.prototype.hasOwnProperty.call(obj, key)) { var desc = hasPropertyDescriptor ? Object.getOwnPropertyDescriptor(obj, key) : null; if (desc && (desc.get || desc.set)) { Object.defineProperty(newObj, key, desc); } else { newObj[key] = obj[key]; } } } newObj["default"] = obj; if (cache) { cache.set(obj, newObj); } return newObj; } /* global google */ var GoogleLogin = function GoogleLogin(_ref) { var isLoaded = _ref.isLoaded; var classes = useStyles(); var _ref2 = (0, _utils.useAuth)() || {}, onUpdateState = _ref2.onUpdateState, validateSocialNetwork = _ref2.validateSocialNetwork, _ref2$googleCredentia = _ref2.googleCredentials; _ref2$googleCredentia = _ref2$googleCredentia === void 0 ? {} : _ref2$googleCredentia; var clientId = _ref2$googleCredentia.clientId; var _handleResponseGoogle = function _handleResponseGoogle(response) { var tokenId = response.credential; validateSocialNetwork('google', { tokenId: tokenId }); }; (0, _react.useEffect)(function () { if (isLoaded) try { google.accounts.id.initialize({ auto_select: true, callback: _handleResponseGoogle, cancel_on_tap_outside: true, client_id: clientId, prompt_parent_id: 'googleContainer' }); google.accounts.id.prompt(function (notification) { if (notification.isDisplayed()) onUpdateState({ oneTapGoogleDisplay: true });else if (notification.getSkippedReason() === 'user_cancel' || notification.getNotDisplayedReason()) onUpdateState({ oneTapGoogleDisplay: false }); }); } catch (error) { // eslint-disable-next-line no-console console.log(error); } // eslint-disable-next-line react-hooks/exhaustive-deps }, [isLoaded]); return /*#__PURE__*/_react["default"].createElement("div", { className: classes.googleContainer, id: "googleContainer" }); }; var useStyles = (0, _kdsCore.makeStyles)(function (_ref3) { var zIndex = _ref3.zIndex; return { googleContainer: { position: 'fixed', right: 20, top: 20, zIndex: zIndex.modal + 1 } }; }, { name: 'GoogleLogin' }); var _default = _react["default"].memo(GoogleLogin); exports["default"] = _default;