-
Notifications
You must be signed in to change notification settings - Fork 0
/
store.js
32 lines (27 loc) · 902 Bytes
/
store.js
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
import { createStore, applyMiddleware, combineReducers } from 'redux';
import { composeWithDevTools } from 'redux-devtools-extension';
import thunkMiddleware from 'redux-thunk';
const reconfigureBrowseData = state => ({
title: state.title,
collections: state._embedded.items,
links: state._links,
count: state.count,
totla: state.total,
});
export const browseItems = (state = [], action) => {
switch (action.type) {
case 'SET_INITIAL_BROWSE_ITEMS':
return action.browse;
case 'UPDATE_BROWSE_ITEMS':
return Object.assign({}, state, reconfigureBrowseData(action.browse));
default:
return state;
}
};
export const reducers = combineReducers({
browse: browseItems,
});
const initializeStore = (initialState = {}) => {
return createStore(reducers, initialState, composeWithDevTools(applyMiddleware(thunkMiddleware)));
};
export default initializeStore;