import { CREATE_CHANNEL } from '../actions/actionsTypes'; const initialState = { isFetching: false, failure: false, users: [] }; export default function messages(state = initialState, action) { switch (action.type) { case CREATE_CHANNEL.REQUEST: return { ...state, error: undefined, failure: false, isFetching: true }; case CREATE_CHANNEL.SUCCESS: return { ...state, isFetching: false, failure: false, result: action.data }; case CREATE_CHANNEL.FAILURE: return { ...state, isFetching: false, failure: true, error: action.err }; case CREATE_CHANNEL.ADD_USER: return { ...state, users: state.users.concat(action.user) }; case CREATE_CHANNEL.REMOVE_USER: return { ...state, users: state.users.filter(item => item.name !== action.user.name) }; case CREATE_CHANNEL.RESET: return initialState; default: return state; } }