This repository has been archived on 2025-09-03. You can view files and clone it. You cannot open issues or pull requests or push a commit.
Files
resolver/app/reducers/userReducer.jsx
2017-07-06 11:20:18 +04:30

82 lines
1.4 KiB
JavaScript

// - Import action types
import * as types from 'actionTypes'
/**
* Default state for reducer
*/
var defaultState = {
info: {},
loaded: false,
openEditProfile: false
}
/**
* User reducer
*/
export var userReducer = (state = defaultState, action) => {
const { payload } = action
switch (action.type) {
case types.USER_INFO:
return {
...state,
info: {
...state.info,
[payload.uid]: {
...payload.info
}
}
}
case types.ADD_USER_INFO:
return {
...state,
info: {
...state.info,
[payload.uid]: {
...payload.info
}
},
loaded: true
}
case types.ADD_PEOPLE_INFO:
return {
...state,
info: {
...state.info,
...payload
}
}
case types.UPDATE_USER_INFO:
return {
...state,
info: {
...state.info,
[payload.uid]: {
...state.info[payload.uid],
...payload.info
}
}
}
case types.CLEAR_ALL_DATA_USER:
return defaultState
case types.CLOSE_EDIT_PROFILE:
return {
...state,
openEditProfile: false
}
case types.OPEN_EDIT_PROFILE:
return {
...state,
openEditProfile: true
}
default:
return state;
}
}