feat(map): Map will remember if it is hidden between challenges

This commit is contained in:
Stuart Taylor
2017-12-29 12:29:03 +00:00
parent b911a5d724
commit 07df17287a

View File

@ -7,6 +7,7 @@ import {
handleActions handleActions
} from 'berkeleys-redux-utils'; } from 'berkeleys-redux-utils';
import { types as challengeTypes } from '../../routes/Challenges/redux';
import ns from '../ns.json'; import ns from '../ns.json';
import windowEpic from './window-epic.js'; import windowEpic from './window-epic.js';
@ -31,8 +32,8 @@ export const types = createTypes([
'windowResized', 'windowResized',
// commands // commands
'updateNavHeight', 'hidePane',
'hidePane' 'updateNavHeight'
], ns); ], ns);
export const panesMapUpdated = createAction( export const panesMapUpdated = createAction(
@ -51,13 +52,14 @@ export const mouseReleased = createAction(types.mouseReleased);
export const windowResized = createAction(types.windowResized); export const windowResized = createAction(types.windowResized);
// commands // commands
export const updateNavHeight = createAction(types.updateNavHeight);
export const hidePane = createAction(types.hidePane); export const hidePane = createAction(types.hidePane);
export const updateNavHeight = createAction(types.updateNavHeight);
const defaultState = { const defaultState = {
height: 600, height: 600,
width: 800, width: 800,
navHeight: 50, navHeight: 50,
isMapPaneHidden: false,
panes: [], panes: [],
panesByName: {}, panesByName: {},
pressedDivider: null, pressedDivider: null,
@ -197,6 +199,10 @@ export default function createPanesAspects({ createPanesMap }) {
[types.updateNavHeight]: (state, { payload: navHeight }) => ({ [types.updateNavHeight]: (state, { payload: navHeight }) => ({
...state, ...state,
navHeight navHeight
}),
[challengeTypes.toggleMap]: state => ({
...state,
isMapPaneHidden: !state.isMapPaneHidden
}) })
}), }),
defaultState, defaultState,
@ -215,7 +221,7 @@ export default function createPanesAspects({ createPanesMap }) {
panes[name] = { panes[name] = {
name, name,
dividerLeft, dividerLeft,
isHidden: false isHidden: name === 'Map' ? state.isMapPaneHidden : false
}; };
return panes; return panes;
}, {}) }, {})