@flashist/appframework 0.0.283 → 0.0.284
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
|
@@ -1,14 +1,13 @@
|
|
|
1
1
|
export declare const AppModuleInitialState: {
|
|
2
2
|
app: {
|
|
3
3
|
debug: boolean;
|
|
4
|
-
|
|
4
|
+
curLaunchStartTimestamp: number;
|
|
5
5
|
prevLaunchTimestamp: number;
|
|
6
6
|
appLaunchesCount: number;
|
|
7
7
|
appDaysLaunchesCount: number;
|
|
8
8
|
appDaysLaunchesCount_consequent_withMaxBreaks_Day1: number;
|
|
9
9
|
appDaysLaunchesCount_consequent_withMaxBreaks_Day3: number;
|
|
10
10
|
appDaysLaunchesCount_consequent_withMaxBreaks_Day7: number;
|
|
11
|
-
sessionStartTime: number;
|
|
12
11
|
sessionDuration: number;
|
|
13
12
|
totalUsageDuration: number;
|
|
14
13
|
prevSessionTotalUsageTime: number;
|
|
@@ -2,7 +2,8 @@ export const AppModuleInitialState = {
|
|
|
2
2
|
app: {
|
|
3
3
|
debug: false,
|
|
4
4
|
// The timestamp of the current launching date
|
|
5
|
-
|
|
5
|
+
curLaunchStartTimestamp: 0,
|
|
6
|
+
// curLaunchTimestamp: 0,
|
|
6
7
|
// The last previous timestamp of the current launching date
|
|
7
8
|
prevLaunchTimestamp: 0,
|
|
8
9
|
appLaunchesCount: 0,
|
|
@@ -37,7 +38,6 @@ export const AppModuleInitialState = {
|
|
|
37
38
|
// // Total amount of CONSEQUENT days with max 7 Days Retention streak,
|
|
38
39
|
// // if the streak is broken, starts from 1 again
|
|
39
40
|
// appConsequentDay7RetentionLaunchesCount: 0,
|
|
40
|
-
sessionStartTime: 0,
|
|
41
41
|
sessionDuration: 0,
|
|
42
42
|
totalUsageDuration: 0,
|
|
43
43
|
prevSessionTotalUsageTime: 0,
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"AppModuleState.js","sourceRoot":"","sources":["../../../../src/app/data/state/AppModuleState.ts"],"names":[],"mappings":"AAEA,MAAM,CAAC,MAAM,qBAAqB,GAAG;IACjC,GAAG,EAAE;QACD,KAAK,EAAE,KAAK;QAEZ,8CAA8C;QAC9C,
|
|
1
|
+
{"version":3,"file":"AppModuleState.js","sourceRoot":"","sources":["../../../../src/app/data/state/AppModuleState.ts"],"names":[],"mappings":"AAEA,MAAM,CAAC,MAAM,qBAAqB,GAAG;IACjC,GAAG,EAAE;QACD,KAAK,EAAE,KAAK;QAEZ,8CAA8C;QAC9C,uBAAuB,EAAE,CAAC;QAC1B,yBAAyB;QACzB,4DAA4D;QAC5D,mBAAmB,EAAE,CAAC;QAEtB,gBAAgB,EAAE,CAAC;QAEnB,6DAA6D;QAC7D,oBAAoB,EAAE,CAAC;QACvB,6DAA6D;QAC7D,iDAAiD;QACjD,EAAE;QACF,SAAS;QACT,qEAAqE;QACrE,4DAA4D;QAC5D,+CAA+C;QAC/C,iDAAiD;QACjD,EAAE;QACF,mDAAmD;QACnD,6CAA6C;QAC7C,EAAE;QACF,iDAAiD;QACjD,wDAAwD;QACxD,EAAE;QACF,gDAAgD;QAChD,oDAAoD;QACpD,kDAAkD,EAAE,CAAC;QACrD,kDAAkD,EAAE,CAAC;QACrD,kDAAkD,EAAE,CAAC;QACrD,mEAAmE;QACnE,6DAA6D;QAC7D,qCAAqC;QACrC,uEAAuE;QACvE,kDAAkD;QAClD,8CAA8C;QAC9C,uEAAuE;QACvE,kDAAkD;QAClD,8CAA8C;QAE9C,eAAe,EAAE,CAAC;QAElB,kBAAkB,EAAE,CAAC;QACrB,yBAAyB,EAAE,CAAC;QAE5B,MAAM,EAAE;YACJ,OAAO,EAAE,IAAI;YACb,UAAU,EAAE,IAAI;YAChB,KAAK,EAAE,IAAI;YACX,gBAAgB;YAChB,gBAAgB,EAAE,IAAI;YACtB,mBAAmB;YACnB,QAAQ,EAAE;gBACN,CAAC,EAAE,CAAC;gBACJ,CAAC,EAAE,CAAC;gBACJ,KAAK,EAAE,IAAI;gBACX,MAAM,EAAE,IAAI;aACF;SACD;KACpB;CACJ,CAAC"}
|
|
@@ -1,10 +1,9 @@
|
|
|
1
|
-
import * as dayjs from 'dayjs';
|
|
2
|
-
import * as dayOfYear from "dayjs/plugin/dayOfYear";
|
|
3
1
|
import { getInstance } from "@flashist/flibs";
|
|
4
2
|
import { BaseAppManager } from "../../base/managers/BaseAppManager";
|
|
5
3
|
import { LocalStorageManager } from "../../local-storage/managers/LocalStorageManager";
|
|
6
4
|
import { appStateStorage } from "../../state/AppStateModule";
|
|
7
5
|
import { AppSettings } from "../AppSettings";
|
|
6
|
+
import { DateSettings } from "../../date/DateSettings";
|
|
8
7
|
export class AppManager extends BaseAppManager {
|
|
9
8
|
construction(...args) {
|
|
10
9
|
super.construction(args);
|
|
@@ -12,34 +11,83 @@ export class AppManager extends BaseAppManager {
|
|
|
12
11
|
this.appState = appStateStorage().getState();
|
|
13
12
|
const appModelStorageData = this.storageManager.getParam(AppSettings.storageParamId);
|
|
14
13
|
this.applyStorageData(appModelStorageData);
|
|
15
|
-
//
|
|
16
|
-
|
|
14
|
+
// Make sure the prev session start time is updated
|
|
15
|
+
appStateStorage().change()("app", {
|
|
16
|
+
prevLaunchTimestamp: this.appState.app.curLaunchStartTimestamp
|
|
17
|
+
});
|
|
17
18
|
// // Increase app launch counter
|
|
18
19
|
// this.appState.app.appLaunchesCount++;
|
|
19
|
-
let
|
|
20
|
+
let curLaunchStartTimeFirstValue = Date.now();
|
|
20
21
|
// If there is globally defined flashist-vars
|
|
21
22
|
// and there is information about the time of openning of the app,
|
|
22
23
|
// then use it
|
|
23
24
|
if (flashistGlobalVars === null || flashistGlobalVars === void 0 ? void 0 : flashistGlobalVars.openTime) {
|
|
24
|
-
|
|
25
|
+
curLaunchStartTimeFirstValue = flashistGlobalVars === null || flashistGlobalVars === void 0 ? void 0 : flashistGlobalVars.openTime;
|
|
25
26
|
}
|
|
26
27
|
appStateStorage().change()("app", {
|
|
27
28
|
prevSessionTotalUsageTime: this.appState.app.totalUsageDuration,
|
|
28
|
-
|
|
29
|
+
curLaunchStartTimestamp: curLaunchStartTimeFirstValue,
|
|
29
30
|
appLaunchesCount: this.appState.app.appLaunchesCount + 1
|
|
30
31
|
});
|
|
31
32
|
// Days Launches
|
|
32
|
-
let
|
|
33
|
-
let curDateTimestamp = curDate.getTime();
|
|
33
|
+
let curDateTimestamp = curLaunchStartTimeFirstValue;
|
|
34
34
|
//
|
|
35
35
|
if (this.appState.app.prevLaunchTimestamp) {
|
|
36
|
-
let prevDate = new Date(this.appState.app.prevLaunchTimestamp);
|
|
37
|
-
dayjs.extend(dayOfYear);
|
|
38
|
-
let dayjs_curDate = dayjs(curDateTimestamp);
|
|
39
|
-
let dayjs_prevDate = dayjs(prevDate.getTime());
|
|
40
36
|
//
|
|
41
|
-
let
|
|
42
|
-
|
|
37
|
+
let curPrevDayNumberDelta = 0;
|
|
38
|
+
//
|
|
39
|
+
let curPrevDatesDelta = curDateTimestamp - this.appState.app.prevLaunchTimestamp;
|
|
40
|
+
let fullDaysDelta = Math.floor(curPrevDatesDelta / DateSettings.MS_IN_DAY);
|
|
41
|
+
let curPrevDatesDeltaLeftoverFromFullDay = curPrevDatesDelta % DateSettings.MS_IN_DAY;
|
|
42
|
+
//
|
|
43
|
+
curPrevDayNumberDelta = fullDaysDelta;
|
|
44
|
+
//
|
|
45
|
+
let prevDateTimestampTillNextDay = this.appState.app.prevLaunchTimestamp % DateSettings.MS_IN_DAY;
|
|
46
|
+
// If the leftover from the cur-prev dates is equal or greater,
|
|
47
|
+
// than the leftover 'till the next day for the prev date,
|
|
48
|
+
// it means, that there is 1 additional day difference between the dates
|
|
49
|
+
if (curPrevDatesDeltaLeftoverFromFullDay >= prevDateTimestampTillNextDay) {
|
|
50
|
+
curPrevDayNumberDelta += 1;
|
|
51
|
+
}
|
|
52
|
+
if (fullDaysDelta > 0) {
|
|
53
|
+
appStateStorage().change()("app", {
|
|
54
|
+
appDaysLaunchesCount: this.appState.app.appDaysLaunchesCount + 1
|
|
55
|
+
});
|
|
56
|
+
}
|
|
57
|
+
// Consequent days
|
|
58
|
+
//
|
|
59
|
+
// Day1
|
|
60
|
+
let newStreakDay1 = this.appState.app.appDaysLaunchesCount_consequent_withMaxBreaks_Day1;
|
|
61
|
+
if (0 < fullDaysDelta && fullDaysDelta <= 1) {
|
|
62
|
+
newStreakDay1 = this.appState.app.appDaysLaunchesCount_consequent_withMaxBreaks_Day1 + 1;
|
|
63
|
+
}
|
|
64
|
+
else if (fullDaysDelta > 1) {
|
|
65
|
+
newStreakDay1 = 0;
|
|
66
|
+
}
|
|
67
|
+
//
|
|
68
|
+
// Day3
|
|
69
|
+
let newStreakDay3 = this.appState.app.appDaysLaunchesCount_consequent_withMaxBreaks_Day3;
|
|
70
|
+
if (0 < fullDaysDelta && fullDaysDelta <= 3) {
|
|
71
|
+
newStreakDay3 = this.appState.app.appDaysLaunchesCount_consequent_withMaxBreaks_Day3 + 1;
|
|
72
|
+
}
|
|
73
|
+
else if (fullDaysDelta > 3) {
|
|
74
|
+
newStreakDay3 = 0;
|
|
75
|
+
}
|
|
76
|
+
//
|
|
77
|
+
// Day7
|
|
78
|
+
let newStreakDay7 = 0;
|
|
79
|
+
if (0 < fullDaysDelta && fullDaysDelta <= 7) {
|
|
80
|
+
newStreakDay7 = this.appState.app.appDaysLaunchesCount_consequent_withMaxBreaks_Day7 + 1;
|
|
81
|
+
}
|
|
82
|
+
else if (fullDaysDelta > 7) {
|
|
83
|
+
newStreakDay7 = 0;
|
|
84
|
+
}
|
|
85
|
+
//
|
|
86
|
+
appStateStorage().change()("app", {
|
|
87
|
+
appDaysLaunchesCount_consequent_withMaxBreaks_Day1: newStreakDay1,
|
|
88
|
+
appDaysLaunchesCount_consequent_withMaxBreaks_Day3: newStreakDay3,
|
|
89
|
+
appDaysLaunchesCount_consequent_withMaxBreaks_Day7: newStreakDay7,
|
|
90
|
+
});
|
|
43
91
|
}
|
|
44
92
|
this.updateUsageTime();
|
|
45
93
|
this.updateTimeInterval = setInterval(() => {
|
|
@@ -55,7 +103,7 @@ export class AppManager extends BaseAppManager {
|
|
|
55
103
|
1000 * 60);
|
|
56
104
|
}
|
|
57
105
|
updateUsageTime() {
|
|
58
|
-
let sessionTimeDelta = Date.now() - this.appState.app.
|
|
106
|
+
let sessionTimeDelta = Date.now() - this.appState.app.curLaunchStartTimestamp;
|
|
59
107
|
// this.appState.app.totalUsageDuration = this.appState.app.previousSessionTotalUsageTime + sessionTimeDelta;
|
|
60
108
|
appStateStorage().change()("app", {
|
|
61
109
|
sessionDuration: sessionTimeDelta,
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"AppManager.js","sourceRoot":"","sources":["../../../src/app/managers/AppManager.ts"],"names":[],"mappings":"AAAA,OAAO,
|
|
1
|
+
{"version":3,"file":"AppManager.js","sourceRoot":"","sources":["../../../src/app/managers/AppManager.ts"],"names":[],"mappings":"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"}
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@flashist/appframework",
|
|
3
|
-
"version": "0.0.
|
|
3
|
+
"version": "0.0.284",
|
|
4
4
|
"scripts": {
|
|
5
5
|
"build": "gulp",
|
|
6
6
|
"publish:patch": "npm version patch && npm run build && cd ./dist && npm publish",
|
|
@@ -18,8 +18,7 @@
|
|
|
18
18
|
"dependencies": {
|
|
19
19
|
"@flashist/fconsole": "0.x",
|
|
20
20
|
"@flashist/fcore": "0.x",
|
|
21
|
-
"@flashist/flibs": "0.x"
|
|
22
|
-
"dayjs": "^1.11.18"
|
|
21
|
+
"@flashist/flibs": "0.x"
|
|
23
22
|
},
|
|
24
23
|
"devDependencies": {
|
|
25
24
|
"@flashist/fbuildscripts": "0.x",
|