summaryrefslogtreecommitdiffstats
path: root/src/stores/FeaturesStore.js
diff options
context:
space:
mode:
Diffstat (limited to 'src/stores/FeaturesStore.js')
-rw-r--r--src/stores/FeaturesStore.js16
1 files changed, 10 insertions, 6 deletions
diff --git a/src/stores/FeaturesStore.js b/src/stores/FeaturesStore.js
index f788c347d..9740d078f 100644
--- a/src/stores/FeaturesStore.js
+++ b/src/stores/FeaturesStore.js
@@ -3,15 +3,19 @@ import { computed, observable } from 'mobx';
3import Store from './lib/Store'; 3import Store from './lib/Store';
4import CachedRequest from './lib/CachedRequest'; 4import CachedRequest from './lib/CachedRequest';
5 5
6import delayApp from '../features/delayApp';
7
6export default class FeaturesStore extends Store { 8export default class FeaturesStore extends Store {
7 @observable defaultFeaturesRequest = new CachedRequest(this.api.features, 'default'); 9 @observable defaultFeaturesRequest = new CachedRequest(this.api.features, 'default');
8 @observable featuresRequest = new CachedRequest(this.api.features, 'features'); 10 @observable featuresRequest = new CachedRequest(this.api.features, 'features');
9 11
10 setup() { 12 async setup() {
11 this.registerReactions([ 13 this.registerReactions([
12 this._monitorLoginStatus.bind(this), 14 this._monitorLoginStatus.bind(this),
13 this._debugFeatures.bind(this),
14 ]); 15 ]);
16
17 await this.featuresRequest._promise;
18 setTimeout(this._enableFeatures.bind(this), 1);
15 } 19 }
16 20
17 @computed get features() { 21 @computed get features() {
@@ -22,10 +26,6 @@ export default class FeaturesStore extends Store {
22 return this.defaultFeaturesRequest.execute().result || {}; 26 return this.defaultFeaturesRequest.execute().result || {};
23 } 27 }
24 28
25 _debugFeatures() {
26 console.log(this.features);
27 }
28
29 _monitorLoginStatus() { 29 _monitorLoginStatus() {
30 if (this.stores.user.isLoggedIn) { 30 if (this.stores.user.isLoggedIn) {
31 this.featuresRequest.invalidate({ immediately: true }); 31 this.featuresRequest.invalidate({ immediately: true });
@@ -33,4 +33,8 @@ export default class FeaturesStore extends Store {
33 this.defaultFeaturesRequest.invalidate({ immediately: true }); 33 this.defaultFeaturesRequest.invalidate({ immediately: true });
34 } 34 }
35 } 35 }
36
37 _enableFeatures() {
38 delayApp(this.stores, this.actions);
39 }
36} 40}