-
Notifications
You must be signed in to change notification settings - Fork 0
/
store.js
46 lines (41 loc) · 960 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
33
34
35
36
37
38
39
40
41
42
43
44
45
46
import { createStore, applyMiddleware } from 'redux';
import thunkMiddleware from 'redux-thunk';
export const reducer = (
state = {
isLoading: false,
isMenuActive: true,
// mainDimensionIndex: 0,
},
action,
) => {
switch (action.type) {
case 'SELECT_MAIN_DIMENSION':
console.log('SELECT_MAIN_DIMENSION');
return {
...state,
mainDimensionIndex: action.mainDimensionIndex,
selectedDimensions: action.selectedDimensions, // TODO: Make default here?
};
case 'TOGGLE_MENU':
console.log('TOGGLE_MENU', !state.isMenuActive);
return {
...state,
isMenuActive: !state.isMenuActive,
};
default:
return state;
}
};
export const initStore = (initialState) => {
return createStore(reducer, initialState, applyMiddleware(thunkMiddleware));
};
// function toggleArrayItem(a, v) {
// var i = a.indexOf(v);
// if (i === -1) {
// a.push(v);
// } else {
// a.splice(i,1);
// }
//
// return a;
// }