react-hooks-toolbox
Version:
React hooks toolbox
39 lines (33 loc) • 1.49 kB
JavaScript
exports.__esModule = true;
exports.reducer = reducer;
var _utils = require("./utils");
var _immer = require("immer");
var _immer2 = _interopRequireDefault(_immer);
function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }
function reducer(state, action) {
switch (action.type) {
case "CHANGE_SIGNED_STATUS":
var signed = action.signed;
var basicProfileUserSigned = null;
if (signed) {
var gapi = window["gapi"],
GoogleAuth = gapi.auth2.getAuthInstance(),
currentUser = GoogleAuth.currentUser.get(),
profile = currentUser.getBasicProfile(),
token = currentUser.getAuthResponse().id_token;
basicProfileUserSigned = (0, _utils.createProfileObject)(profile.getId(), profile.getName(), profile.getGivenName(), profile.getFamilyName(), profile.getImageUrl(), profile.getEmail(), token);
}
return (0, _immer2.default)(state, function (draftState) {
draftState.signed = signed;
draftState.userProfile = basicProfileUserSigned;
});
case "CHANGE_GAPI_STATUS":
return (0, _immer2.default)(state, function (draftState) {
draftState.gapiStatus = action.status;
draftState.gapiError = action.error;
});
default:
return state;
}
}
;