aboutsummaryrefslogtreecommitdiffstats
path: root/src/features/todos/index.ts
diff options
context:
space:
mode:
Diffstat (limited to 'src/features/todos/index.ts')
-rw-r--r--src/features/todos/index.ts29
1 files changed, 29 insertions, 0 deletions
diff --git a/src/features/todos/index.ts b/src/features/todos/index.ts
new file mode 100644
index 000000000..3665812e6
--- /dev/null
+++ b/src/features/todos/index.ts
@@ -0,0 +1,29 @@
1import { reaction } from 'mobx';
2import TodoStore from './store';
3
4const debug = require('debug')('Ferdi:feature:todos');
5
6export const todosStore = new TodoStore();
7
8export default function initTodos(
9 stores: { todos?: any; features?: any },
10 actions: any,
11) {
12 stores.todos = todosStore;
13 const { features } = stores;
14
15 // Toggle todos feature
16 reaction(
17 () => features.features.isTodosEnabled,
18 isEnabled => {
19 if (isEnabled) {
20 debug('Initializing `todos` feature');
21 todosStore.start(stores, actions);
22 } else if (todosStore.isFeatureActive) {
23 debug('Disabling `todos` feature');
24 todosStore.stop();
25 }
26 },
27 { fireImmediately: true },
28 );
29}