Better settings handling with localSettings (new!)

This commit is contained in:
kibigo!
2017-06-24 19:12:34 -07:00
parent 4c37f629bc
commit da05cde721
5 changed files with 52 additions and 6 deletions

View File

@@ -14,6 +14,7 @@ import relationships from './relationships';
import search from './search';
import notifications from './notifications';
import settings from './settings';
import localSettings from './local_settings';
import status_lists from './status_lists';
import cards from './cards';
import reports from './reports';
@@ -36,6 +37,7 @@ export default combineReducers({
search,
notifications,
settings,
localSettings,
cards,
reports,
contexts,

View File

@@ -0,0 +1,20 @@
import { LOCAL_SETTING_CHANGE } from '../actions/local_settings';
import { STORE_HYDRATE } from '../actions/store';
import Immutable from 'immutable';
const initialState = Immutable.Map({
layout: 'auto',
});
const hydrate = (state, localSettings) => state.mergeDeep(localSettings);
export default function localSettings(state = initialState, action) {
switch(action.type) {
case STORE_HYDRATE:
return hydrate(state, action.state.get('localSettings'));
case LOCAL_SETTING_CHANGE:
return state.setIn(action.key, action.value);
default:
return state;
}
};