'use strict'; import Immutable from 'immutable'; import { INIT_LAYOUT, RESIZE, INIT_API_ROOT } from '../actions/global'; function global (state = { title: '', copyright: '', sections: [], actions: {}, plugins: {}, clientHeight: 768, clientWidth: 1024, apiRoot: '', }, action) { const payload = action.payload; switch (action.type) { case RESIZE: return Immutable.fromJS(state).merge({ clientHeight: payload.clientHeight, clientWidth: payload.clientWidth }).toJS(); case INIT_LAYOUT: return Immutable.fromJS(state).merge({ title: payload.title, copyright: payload.copyright, sections: payload.sections, actions: payload.actions, plugins: payload.plugins, }).toJS(); case INIT_API_ROOT: return Immutable.fromJS(state).merge({ apiRoot: payload.apiRoot, }).toJS(); default: return state; } } export default global;