@krowdy/kds-auth
Version:
React components that implement Google's Material Design.
96 lines (79 loc) • 3.95 kB
JavaScript
;
var _typeof = require("@babel/runtime/helpers/typeof");
Object.defineProperty(exports, "__esModule", {
value: true
});
exports["default"] = void 0;
var _react = _interopRequireWildcard(require("react"));
var _reactLinkedinLoginOauth = require("react-linkedin-login-oauth2");
var _kdsCore = require("@krowdy/kds-core");
var _constants = require("./constants");
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; }
var _ref2 = /*#__PURE__*/_react["default"].createElement(_kdsCore.Typography, {
variant: "body2"
}, "Ingresa con LinkedIn");
var Linkedin = function Linkedin() {
var classes = useStyles();
var _useAuth = (0, _utils.useAuth)(),
_useAuth$linkedinCred = _useAuth.linkedinCredentials,
linkedinCredentials = _useAuth$linkedinCred === void 0 ? {} : _useAuth$linkedinCred,
validateSocialNetwork = _useAuth.validateSocialNetwork;
var _handleSuccess = (0, _react.useCallback)(function (code) {
validateSocialNetwork('linkedin', {
method: _constants.METHODS_SESSION['linkedin'],
tokenId: code
}); // eslint-disable-next-line react-hooks/exhaustive-deps
}, [validateSocialNetwork, linkedinCredentials]);
if (!linkedinCredentials || !linkedinCredentials.clientId) return null;
return /*#__PURE__*/_react["default"].createElement(_reactLinkedinLoginOauth.LinkedIn, {
clientId: linkedinCredentials.clientId,
onFailure: function onFailure() {},
onSuccess: _handleSuccess,
redirectUri: linkedinCredentials.redirectUri,
scope: linkedinCredentials.scope || 'r_liteprofile r_emailaddress w_member_social',
state: linkedinCredentials.state || '34232423'
}, function (_ref) {
var linkedInLogin = _ref.linkedInLogin;
return /*#__PURE__*/_react["default"].createElement(_kdsCore.Button, {
className: classes.linkedinButton,
onClick: linkedInLogin,
variant: "contained"
}, /*#__PURE__*/_react["default"].createElement("img", {
alt: "Log in with Linked In",
className: classes.iconLinkedin,
src: _constants.IMAGES_SOCIAL['linkedin']
}), _ref2);
});
};
var useStyles = (0, _kdsCore.makeStyles)(function (_ref3) {
var spacing = _ref3.spacing,
palette = _ref3.palette;
return {
iconLinkedin: {
marginRight: spacing(1.5),
marginTop: spacing(-.75)
},
linkedinButton: {
// color de boton de linkedin
'&:hover': {
background: '#007AB9'
},
alignItems: 'center',
background: '#007AB9',
borderRadius: spacing(.5),
color: palette.common.white,
display: 'flex',
flex: 1,
height: 40,
justifyContent: 'center',
marginTop: spacing(2),
width: '100%'
}
};
}, {
name: 'Linkedin'
});
var _default = _react["default"].memo(Linkedin);
exports["default"] = _default;