aboutsummaryrefslogtreecommitdiffstats
path: root/src/features/announcements/index.js
diff options
context:
space:
mode:
Diffstat (limited to 'src/features/announcements/index.js')
-rw-r--r--src/features/announcements/index.js17
1 files changed, 5 insertions, 12 deletions
diff --git a/src/features/announcements/index.js b/src/features/announcements/index.js
index 5ea74e0af..c087689a7 100644
--- a/src/features/announcements/index.js
+++ b/src/features/announcements/index.js
@@ -1,11 +1,9 @@
1import { reaction, runInAction } from 'mobx'; 1import { reaction } from 'mobx';
2import { AnnouncementsStore } from './store'; 2import { AnnouncementsStore } from './store';
3import api from './api';
4import state, { resetState } from './state';
5 3
6const debug = require('debug')('Franz:feature:announcements'); 4const debug = require('debug')('Franz:feature:announcements');
7 5
8let store = null; 6export const announcementsStore = new AnnouncementsStore();
9 7
10export default function initAnnouncements(stores, actions) { 8export default function initAnnouncements(stores, actions) {
11 // const { features } = stores; 9 // const { features } = stores;
@@ -19,15 +17,10 @@ export default function initAnnouncements(stores, actions) {
19 (isEnabled) => { 17 (isEnabled) => {
20 if (isEnabled) { 18 if (isEnabled) {
21 debug('Initializing `announcements` feature'); 19 debug('Initializing `announcements` feature');
22 store = new AnnouncementsStore(stores, api, actions, state); 20 announcementsStore.start(stores, actions);
23 store.initialize(); 21 } else if (announcementsStore.isFeatureActive) {
24 runInAction(() => { state.isFeatureActive = true; });
25 } else if (store) {
26 debug('Disabling `announcements` feature'); 22 debug('Disabling `announcements` feature');
27 runInAction(() => { state.isFeatureActive = false; }); 23 announcementsStore.stop();
28 store.teardown();
29 store = null;
30 resetState(); // Reset state to default
31 } 24 }
32 }, 25 },
33 { 26 {