Newer
Older
import {
GET_EVENTS,
GET_EVENT_BY_ID,
VISITOR_CHANGE,
WRITE_EVENT,
ADD_EVENT,
DELETE_EVENT,
} from '../actions/types';
const INITIAL_STATE = { events: [], newEvent: {} };
export default (state = INITIAL_STATE, action) => {
switch (action.type) {
case GET_EVENTS:
return { ...state, events: [...action.payload] };
case GET_EVENT_BY_ID:
return { ...state, selectedEvent: action.payload };
case VISITOR_CHANGE:
const index = state.selectedEvent.visitors.indexOf(action.payload);
if (index !== -1) {
state.selectedEvent.visitors.splice(index, 1);
return {
...state,
selectedEvent: {
...state.selectedEvent,
visitors: state.selectedEvent.visitors,
},
};
}
state.selectedEvent.visitors.push(action.payload)
return {
...state,
selectedEvent: {
...state.selectedEvent,
visitors: state.selectedEvent.visitors,
},
};
Chif Gergő
committed
case WRITE_EVENT:
return { ...state, newEvent: { ...state.newEvent, [action.target]: action.payload } };
case ADD_EVENT:
return { ...state, events: [...state.events, action.payload] };
case DELETE_EVENT:
state.events.splice(state.events.indexOf(action.payload), 1);
return { ...state, events: [...state.events] };
default:
return state;
}
};