aboutsummaryrefslogtreecommitdiffstats
path: root/web/src/js/ducks
diff options
context:
space:
mode:
Diffstat (limited to 'web/src/js/ducks')
-rw-r--r--web/src/js/ducks/options.js32
-rw-r--r--web/src/js/ducks/ui/index.js2
-rw-r--r--web/src/js/ducks/ui/modal.js33
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 }
+}