diff options
Diffstat (limited to 'web/src/js/ducks/ui.js')
-rw-r--r-- | web/src/js/ducks/ui.js | 37 |
1 files changed, 37 insertions, 0 deletions
diff --git a/web/src/js/ducks/ui.js b/web/src/js/ducks/ui.js new file mode 100644 index 00000000..26420e0d --- /dev/null +++ b/web/src/js/ducks/ui.js @@ -0,0 +1,37 @@ +import { SELECT_FLOW } from './flows' +const SET_ACTIVE_MENU = 'SET_ACTIVE_MENU' + + +const defaultState = { + active_menu: 'Start' +} +export default function reducer(state = defaultState, action) { + switch (action.type) { + case SET_ACTIVE_MENU: + return { + ...state, + active_menu: action.active_menu + } + case SELECT_FLOW: + let isNewSelection = (action.flowId && !action.currentSelection) + let isSelectAction = action.flowId + if (isNewSelection){ + let wasFlowSelected = state.active_menu == 'Flow' + return{ + ...state, + active_menu: isSelectAction ? 'Flow' : (wasFlowSelected ? 'Start' : state.active_menu) + } + } + return state + default: + return state + } +} + +export function setActiveMenu(active_menu) { + return { + type: SET_ACTIVE_MENU, + active_menu + } +} + |