aboutsummaryrefslogtreecommitdiff
path: root/src/content/reducers
diff options
context:
space:
mode:
Diffstat (limited to 'src/content/reducers')
-rw-r--r--src/content/reducers/addon.js24
-rw-r--r--src/content/reducers/index.js3
2 files changed, 27 insertions, 0 deletions
diff --git a/src/content/reducers/addon.js b/src/content/reducers/addon.js
new file mode 100644
index 0000000..8cc5ef1
--- /dev/null
+++ b/src/content/reducers/addon.js
@@ -0,0 +1,24 @@
+import actions from 'content/actions';
+
+const defaultState = {
+ enabled: true,
+};
+
+export default function reducer(state = defaultState, action = {}) {
+ switch (action.type) {
+ case actions.ADDON_ENABLE:
+ return Object.assign({}, state, {
+ enabled: true,
+ });
+ case actions.ADDON_DISABLE:
+ return Object.assign({}, state, {
+ enabled: false,
+ });
+ case actions.ADDON_TOGGLE_ENABLED:
+ return Object.assign({}, state, {
+ enabled: !state.enabled,
+ });
+ default:
+ return state;
+ }
+}
diff --git a/src/content/reducers/index.js b/src/content/reducers/index.js
index c026a19..7cf318e 100644
--- a/src/content/reducers/index.js
+++ b/src/content/reducers/index.js
@@ -1,14 +1,17 @@
+import addonReducer from './addon';
import inputReducer from './input';
import followReducer from './follow';
// Make setting reducer instead of re-use
const defaultState = {
+ addon: addonReducer(undefined, {}),
input: inputReducer(undefined, {}),
follow: followReducer(undefined, {}),
};
export default function reducer(state = defaultState, action = {}) {
return Object.assign({}, state, {
+ addon: addonReducer(state.addon, action),
input: inputReducer(state.input, action),
follow: followReducer(state.follow, action),
});