aboutsummaryrefslogtreecommitdiffstats
path: root/src/features/delayApp/index.js
diff options
context:
space:
mode:
authorLibravatar Stefan Malzner <stefan@adlk.io>2019-02-01 10:35:18 +0100
committerLibravatar Stefan Malzner <stefan@adlk.io>2019-02-01 10:35:18 +0100
commitda92cd426cbf350313945e3459f96638a79bd44e (patch)
tree931d18bbf62854366ccf7021d6206de7e0c42636 /src/features/delayApp/index.js
parentUpdate stale.yml (diff)
parentb23 (diff)
downloadferdium-app-da92cd426cbf350313945e3459f96638a79bd44e.tar.gz
ferdium-app-da92cd426cbf350313945e3459f96638a79bd44e.tar.zst
ferdium-app-da92cd426cbf350313945e3459f96638a79bd44e.zip
Merge branch 'develop'v5.0.0-beta.23
Diffstat (limited to 'src/features/delayApp/index.js')
-rw-r--r--src/features/delayApp/index.js23
1 files changed, 13 insertions, 10 deletions
diff --git a/src/features/delayApp/index.js b/src/features/delayApp/index.js
index d5c544b78..28aa50eb2 100644
--- a/src/features/delayApp/index.js
+++ b/src/features/delayApp/index.js
@@ -3,6 +3,7 @@ import moment from 'moment';
3import DelayAppComponent from './Component'; 3import DelayAppComponent from './Component';
4 4
5import { DEFAULT_FEATURES_CONFIG } from '../../config'; 5import { DEFAULT_FEATURES_CONFIG } from '../../config';
6import { gaEvent } from '../../lib/analytics';
6 7
7const debug = require('debug')('Franz:feature:delayApp'); 8const debug = require('debug')('Franz:feature:delayApp');
8 9
@@ -22,19 +23,18 @@ function setVisibility(value) {
22} 23}
23 24
24export default function init(stores) { 25export default function init(stores) {
25 reaction( 26 debug('Initializing `delayApp` feature');
26 () => stores.features.features.needToWaitToProceed,
27 (enabled, r) => {
28 if (enabled) {
29 debug('Initializing `delayApp` feature');
30 27
31 // Dispose the reaction to run this only once 28 let shownAfterLaunch = false;
32 r.dispose(); 29 let timeLastDelay = moment();
33 30
34 const { needToWaitToProceedConfig: globalConfig } = stores.features.features; 31 reaction(
32 () => stores.features.features.needToWaitToProceed && !stores.user.data.isPremium,
33 (isEnabled) => {
34 if (isEnabled) {
35 debug('Enabling `delayApp` feature');
35 36
36 let shownAfterLaunch = false; 37 const { needToWaitToProceedConfig: globalConfig } = stores.features.features;
37 let timeLastDelay = moment();
38 38
39 config.delayOffset = globalConfig.delayOffset !== undefined ? globalConfig.delayOffset : DEFAULT_FEATURES_CONFIG.needToWaitToProceedConfig.delayOffset; 39 config.delayOffset = globalConfig.delayOffset !== undefined ? globalConfig.delayOffset : DEFAULT_FEATURES_CONFIG.needToWaitToProceedConfig.delayOffset;
40 config.delayDuration = globalConfig.wait !== undefined ? globalConfig.wait : DEFAULT_FEATURES_CONFIG.needToWaitToProceedConfig.wait; 40 config.delayDuration = globalConfig.wait !== undefined ? globalConfig.wait : DEFAULT_FEATURES_CONFIG.needToWaitToProceedConfig.wait;
@@ -50,6 +50,7 @@ export default function init(stores) {
50 debug(`App will be delayed for ${config.delayDuration / 1000}s`); 50 debug(`App will be delayed for ${config.delayDuration / 1000}s`);
51 51
52 setVisibility(true); 52 setVisibility(true);
53 gaEvent('delayApp', 'show', 'Delay App Feature');
53 54
54 timeLastDelay = moment(); 55 timeLastDelay = moment();
55 shownAfterLaunch = true; 56 shownAfterLaunch = true;
@@ -61,6 +62,8 @@ export default function init(stores) {
61 }, DEFAULT_FEATURES_CONFIG.needToWaitToProceedConfig.wait + 1000); // timer needs to be able to hit 0 62 }, DEFAULT_FEATURES_CONFIG.needToWaitToProceedConfig.wait + 1000); // timer needs to be able to hit 0
62 } 63 }
63 }); 64 });
65 } else {
66 setVisibility(false);
64 } 67 }
65 }, 68 },
66 ); 69 );