UNPKG

@risecx/carespace-chat-ui

Version:

carespace-chat-ui React component

52 lines (44 loc) 1.57 kB
function _extends() { _extends = Object.assign || function (target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i]; for (var key in source) { if (Object.prototype.hasOwnProperty.call(source, key)) { target[key] = source[key]; } } } return target; }; return _extends.apply(this, arguments); } import { reactLocalStorage } from 'reactjs-localstorage'; import ACTION_TYPES from './LoginTypes'; var initialState = { isLogged: false, isAnonymous: reactLocalStorage.get('isAnonymous') || true, identified: false, user: {} }; var reducer = function reducer(state, action) { switch (action.type) { case ACTION_TYPES.SET_USER: try { reactLocalStorage.setObject('user', action.payload.user); reactLocalStorage.set('userId', action.payload.user.id); reactLocalStorage.set('token', action.payload.token); reactLocalStorage.set('isAnonymous', false); } catch (error) { console.error(error); } return _extends({}, state, { user: action.payload }); case ACTION_TYPES.IS_ANONYMOUS: reactLocalStorage.set('isAnonymous', action.payload); return _extends({}, state, { isAnonymous: action.payload }); case ACTION_TYPES.IS_IDENTIFIED: return _extends({}, state, { identified: action.payload }); case ACTION_TYPES.IS_LOGGED: return _extends({}, state, { isLogged: action.payload }); default: return state; } }; export default { initialState: initialState, reducer: reducer };