import * as authenticationActions from '../actions/AuthenticationActions' import * as userManagementActions from '../actions/UserManagementActions' const initialState = { user: null, accessToken: null, loginPending: false, showLoginDialog: false, showDeleteUserModal: false, isAdmin: false, userList: null, newUserData: null }; function rootReducer(state = initialState, action) { console.log("Bin im reducer: " + action.type) switch (action.type) { case userManagementActions.SHOW_DELETE_USER_MODAL: return { ...state, showDeleteUserModal: true, error: null } case userManagementActions.HIDE_DELETE_USER_MODAL: return { ...state, showDeleteUserModal: false, error: null } case userManagementActions.SHOW_ALL_USERS: return { ...state, userList: action.userList, error: null } case userManagementActions.ALL_USERS_ERROR: return { ...state, error: "displaying all users failed" } case userManagementActions.CREATE_NEW_USER_SUCCESS: return { ...state, newUserData: action.userData, error: null } case authenticationActions.SHOW_LOGIN_DIALOG: return { ...state, showLoginDialog: true, error: null } case authenticationActions.HIDE_LOGIN_DIALOG: return { ...state, showLoginDialog: false, error: null } case authenticationActions.AUTHENTICATION_PENDING: return { ...state, pending: true, error: null } case authenticationActions.AUTHENTICATION_SUCCESS: return { ...state, showLoginDialog: false, pending: false, user: action.user, accessToken: action.accessToken, isAdmin: action.isAdmin } case authenticationActions.AUTHENTICATION_ERROR: return { ...state, pending: false, error: 'Authentication failed' } case authenticationActions.LOGOUT: return { ...state, user: null, accessToken: null } default: return state; } }; export default rootReducer;