diff options
Diffstat (limited to 'web/src/js/ducks')
-rw-r--r-- | web/src/js/ducks/options.js | 32 | ||||
-rw-r--r-- | web/src/js/ducks/ui/index.js | 2 | ||||
-rw-r--r-- | web/src/js/ducks/ui/modal.js | 33 |
3 files changed, 67 insertions, 0 deletions
diff --git a/web/src/js/ducks/options.js b/web/src/js/ducks/options.js new file mode 100644 index 00000000..39c2f3fc --- /dev/null +++ b/web/src/js/ducks/options.js @@ -0,0 +1,32 @@ +import { fetchApi } from '../utils' + +export const RECEIVE = 'OPTIONS_RECEIVE' +export const UPDATE = 'OPTIONS_UPDATE' +export const REQUEST_UPDATE = 'REQUEST_UPDATE' +export const UNKNOWN_CMD = 'OPTIONS_UNKNOWN_CMD' + +const defaultState = { + +} + +export default function reducer(state = defaultState, action) { + switch (action.type) { + + case RECEIVE: + return action.data + + case UPDATE: + return { + ...state, + ...action.data, + } + + default: + return state + } +} + +export function update(options) { + fetchApi.put('/options', options) + return { type: REQUEST_UPDATE } +} diff --git a/web/src/js/ducks/ui/index.js b/web/src/js/ducks/ui/index.js index 1d989eb1..741671b2 100644 --- a/web/src/js/ducks/ui/index.js +++ b/web/src/js/ducks/ui/index.js @@ -1,9 +1,11 @@ import { combineReducers } from 'redux' import flow from './flow' import header from './header' +import modal from './modal' // TODO: Just move ducks/ui/* into ducks/? export default combineReducers({ flow, header, + modal }) diff --git a/web/src/js/ducks/ui/modal.js b/web/src/js/ducks/ui/modal.js new file mode 100644 index 00000000..aafddaf7 --- /dev/null +++ b/web/src/js/ducks/ui/modal.js @@ -0,0 +1,33 @@ +export const HIDE_MODAL = 'UI_HIDE_MODAL' +export const SET_ACTIVE_MODAL = 'UI_SET_ACTIVE_MODAL' + +const defaultState = { + activeModal: undefined, +} + +export default function reducer(state = defaultState, action){ + switch (action.type){ + + case SET_ACTIVE_MODAL: + return { + ...state, + activeModal: action.activeModal, + } + + case HIDE_MODAL: + return { + ...state, + activeModal: undefined + } + default: + return state + } +} + +export function setActiveModal(activeModal) { + return { type: SET_ACTIVE_MODAL, activeModal } +} + +export function hideModal(){ + return { type: HIDE_MODAL } +} |