@magmamath/students-features 0.6.5-rc.2 → 0.6.5-rc.4
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.
- package/dist/commonjs/features/gifCelebrations/GifCelebrations.js +2 -1
- package/dist/commonjs/features/gifCelebrations/GifCelebrations.js.map +1 -1
- package/dist/commonjs/features/gifCelebrations/components/Gif.js +18 -13
- package/dist/commonjs/features/gifCelebrations/components/Gif.js.map +1 -1
- package/dist/commonjs/features/gifCelebrations/components/Progress.js +6 -3
- package/dist/commonjs/features/gifCelebrations/components/Progress.js.map +1 -1
- package/dist/commonjs/features/gifCelebrations/constants.js +12 -1
- package/dist/commonjs/features/gifCelebrations/constants.js.map +1 -1
- package/dist/commonjs/features/gifCelebrations/helpers.js +21 -27
- package/dist/commonjs/features/gifCelebrations/helpers.js.map +1 -1
- package/dist/commonjs/features/gifCelebrations/model/GifCelebrations.cache.js +18 -5
- package/dist/commonjs/features/gifCelebrations/model/GifCelebrations.cache.js.map +1 -1
- package/dist/commonjs/features/gifCelebrations/model/GifCelebrations.model.js +11 -40
- package/dist/commonjs/features/gifCelebrations/model/GifCelebrations.model.js.map +1 -1
- package/dist/module/features/gifCelebrations/GifCelebrations.js +2 -1
- package/dist/module/features/gifCelebrations/GifCelebrations.js.map +1 -1
- package/dist/module/features/gifCelebrations/components/Gif.js +18 -13
- package/dist/module/features/gifCelebrations/components/Gif.js.map +1 -1
- package/dist/module/features/gifCelebrations/components/Progress.js +8 -5
- package/dist/module/features/gifCelebrations/components/Progress.js.map +1 -1
- package/dist/module/features/gifCelebrations/constants.js +11 -0
- package/dist/module/features/gifCelebrations/constants.js.map +1 -1
- package/dist/module/features/gifCelebrations/helpers.js +19 -25
- package/dist/module/features/gifCelebrations/helpers.js.map +1 -1
- package/dist/module/features/gifCelebrations/model/GifCelebrations.cache.js +19 -6
- package/dist/module/features/gifCelebrations/model/GifCelebrations.cache.js.map +1 -1
- package/dist/module/features/gifCelebrations/model/GifCelebrations.model.js +11 -40
- package/dist/module/features/gifCelebrations/model/GifCelebrations.model.js.map +1 -1
- package/dist/typescript/commonjs/features/gifCelebrations/components/Gif.d.ts +3 -1
- package/dist/typescript/commonjs/features/gifCelebrations/components/Gif.d.ts.map +1 -1
- package/dist/typescript/commonjs/features/gifCelebrations/components/Progress.d.ts.map +1 -1
- package/dist/typescript/commonjs/features/gifCelebrations/constants.d.ts +9 -0
- package/dist/typescript/commonjs/features/gifCelebrations/constants.d.ts.map +1 -1
- package/dist/typescript/commonjs/features/gifCelebrations/helpers.d.ts +16 -8
- package/dist/typescript/commonjs/features/gifCelebrations/helpers.d.ts.map +1 -1
- package/dist/typescript/commonjs/features/gifCelebrations/model/GifCelebrations.cache.d.ts +11 -1
- package/dist/typescript/commonjs/features/gifCelebrations/model/GifCelebrations.cache.d.ts.map +1 -1
- package/dist/typescript/commonjs/features/gifCelebrations/model/GifCelebrations.model.d.ts +1 -1
- package/dist/typescript/commonjs/features/gifCelebrations/model/GifCelebrations.model.d.ts.map +1 -1
- package/dist/typescript/commonjs/features/gifCelebrations/types/model.types.d.ts +7 -0
- package/dist/typescript/commonjs/features/gifCelebrations/types/model.types.d.ts.map +1 -1
- package/dist/typescript/module/features/gifCelebrations/components/Gif.d.ts +3 -1
- package/dist/typescript/module/features/gifCelebrations/components/Gif.d.ts.map +1 -1
- package/dist/typescript/module/features/gifCelebrations/components/Progress.d.ts.map +1 -1
- package/dist/typescript/module/features/gifCelebrations/constants.d.ts +9 -0
- package/dist/typescript/module/features/gifCelebrations/constants.d.ts.map +1 -1
- package/dist/typescript/module/features/gifCelebrations/helpers.d.ts +16 -8
- package/dist/typescript/module/features/gifCelebrations/helpers.d.ts.map +1 -1
- package/dist/typescript/module/features/gifCelebrations/model/GifCelebrations.cache.d.ts +11 -1
- package/dist/typescript/module/features/gifCelebrations/model/GifCelebrations.cache.d.ts.map +1 -1
- package/dist/typescript/module/features/gifCelebrations/model/GifCelebrations.model.d.ts +1 -1
- package/dist/typescript/module/features/gifCelebrations/model/GifCelebrations.model.d.ts.map +1 -1
- package/dist/typescript/module/features/gifCelebrations/types/model.types.d.ts +7 -0
- package/dist/typescript/module/features/gifCelebrations/types/model.types.d.ts.map +1 -1
- package/package.json +1 -1
- package/src/features/gifCelebrations/GifCelebrations.tsx +1 -1
- package/src/features/gifCelebrations/components/Gif.tsx +22 -12
- package/src/features/gifCelebrations/components/Progress.tsx +2 -3
- package/src/features/gifCelebrations/constants.ts +11 -0
- package/src/features/gifCelebrations/helpers.ts +28 -33
- package/src/features/gifCelebrations/model/GifCelebrations.cache.ts +33 -14
- package/src/features/gifCelebrations/model/GifCelebrations.model.ts +13 -37
- package/src/features/gifCelebrations/types/model.types.ts +8 -0
|
@@ -1,10 +1,10 @@
|
|
|
1
1
|
"use strict";
|
|
2
2
|
|
|
3
|
-
import { StyleSheet, View } from 'react-native';
|
|
3
|
+
import { StyleSheet, View, Image } from 'react-native';
|
|
4
4
|
import React from 'react';
|
|
5
5
|
import { BORDER_RADIUS, COLORS, HeadingVariants, SPACING, Typography } from '@magmamath/react-native-ui';
|
|
6
6
|
import Animated, { useAnimatedStyle, interpolate } from 'react-native-reanimated';
|
|
7
|
-
import { jsx as _jsx } from "react/jsx-runtime";
|
|
7
|
+
import { jsx as _jsx, jsxs as _jsxs } from "react/jsx-runtime";
|
|
8
8
|
const MIN_WIDTH_FOR_ONE_DIGIT = 12;
|
|
9
9
|
const MIN_WIDTH_FOR_TWO_DIGITS = 15;
|
|
10
10
|
const ADJUSTMENT_FOR_HUNDRED_PERCENT = 1.8;
|
|
@@ -29,9 +29,9 @@ export const Progress = ({
|
|
|
29
29
|
}), [progress, progressLineWidth]);
|
|
30
30
|
return /*#__PURE__*/_jsx(View, {
|
|
31
31
|
style: styles.backgroundContainer,
|
|
32
|
-
children: /*#__PURE__*/
|
|
32
|
+
children: /*#__PURE__*/_jsxs(View, {
|
|
33
33
|
style: styles.container,
|
|
34
|
-
children: /*#__PURE__*/_jsx(View, {
|
|
34
|
+
children: [/*#__PURE__*/_jsx(View, {
|
|
35
35
|
style: styles.progressContainer,
|
|
36
36
|
children: /*#__PURE__*/_jsx(Animated.View, {
|
|
37
37
|
style: [styles.progress, animatedStyles],
|
|
@@ -41,7 +41,10 @@ export const Progress = ({
|
|
|
41
41
|
children: `${completedPercent}%`
|
|
42
42
|
})
|
|
43
43
|
})
|
|
44
|
-
})
|
|
44
|
+
}), /*#__PURE__*/_jsx(Image, {
|
|
45
|
+
source: require('../assets/confetti.webp'),
|
|
46
|
+
style: styles.confetti
|
|
47
|
+
})]
|
|
45
48
|
})
|
|
46
49
|
});
|
|
47
50
|
};
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"names":["StyleSheet","View","React","BORDER_RADIUS","COLORS","HeadingVariants","SPACING","Typography","Animated","useAnimatedStyle","interpolate","jsx","_jsx","MIN_WIDTH_FOR_ONE_DIGIT","MIN_WIDTH_FOR_TWO_DIGITS","ADJUSTMENT_FOR_HUNDRED_PERCENT","Progress","progress","completedPercent","progressLineWidth","animatedStyles","width","value","style","styles","backgroundContainer","children","container","progressContainer","variant","H1","percent","create","backgroundColor","borderRadius","padding","height","flexDirection","alignItems","NEUTRAL_1","paddingLeft","paddingRight","gap","flexGrow","NEUTRAL_5","overflow","position","left","PRIMARY_BLUE","justifyContent","
|
|
1
|
+
{"version":3,"names":["StyleSheet","View","Image","React","BORDER_RADIUS","COLORS","HeadingVariants","SPACING","Typography","Animated","useAnimatedStyle","interpolate","jsx","_jsx","jsxs","_jsxs","MIN_WIDTH_FOR_ONE_DIGIT","MIN_WIDTH_FOR_TWO_DIGITS","ADJUSTMENT_FOR_HUNDRED_PERCENT","Progress","progress","completedPercent","progressLineWidth","animatedStyles","width","value","style","styles","backgroundContainer","children","container","progressContainer","variant","H1","percent","source","require","confetti","create","backgroundColor","borderRadius","padding","height","flexDirection","alignItems","NEUTRAL_1","paddingLeft","paddingRight","gap","flexGrow","NEUTRAL_5","overflow","position","left","PRIMARY_BLUE","justifyContent","marginHorizontal","color","fontWeight"],"sourceRoot":"../../../../../src","sources":["features/gifCelebrations/components/Progress.tsx"],"mappings":"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","ignoreList":[]}
|
|
@@ -11,4 +11,15 @@ export const CONTENT_CONTAINER = {
|
|
|
11
11
|
};
|
|
12
12
|
export const ANIMATION_DURATION = 1750;
|
|
13
13
|
export const MIN_PROBLEMS_TO_SHOW_GIF = 6;
|
|
14
|
+
export const MAX_GIF_SIZE = {
|
|
15
|
+
WIDTH: 480,
|
|
16
|
+
HEIGHT: 300
|
|
17
|
+
};
|
|
18
|
+
export const GROUPS_PERCENTAGES = {
|
|
19
|
+
group1: [15, 20, 25, 30],
|
|
20
|
+
// Early celebrations
|
|
21
|
+
group2: [33, 40, 45, 50],
|
|
22
|
+
// Mid celebrations
|
|
23
|
+
group3: [60, 66, 75, 80] // Party
|
|
24
|
+
};
|
|
14
25
|
//# sourceMappingURL=constants.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"names":["BACKDROP_COLOR","INITIAL","FINAL","CONTENT_CONTAINER","ANGLE","CONTAINER_WIDTH","SAFE_AREA","ANIMATION_DURATION","MIN_PROBLEMS_TO_SHOW_GIF"],"sourceRoot":"../../../../src","sources":["features/gifCelebrations/constants.ts"],"mappings":";;AAAA,OAAO,MAAMA,cAAc,GAAG;EAC5BC,OAAO,EAAE,qBAAqB;EAC9BC,KAAK,EAAE;AACT,CAAC;AAED,OAAO,MAAMC,iBAAiB,GAAG;EAC/BC,KAAK,EAAE,CAAC;EACRC,eAAe,EAAE,GAAG;EACpBC,SAAS,EAAE,EAAE,CAAE;AACjB,CAAC;AAED,OAAO,MAAMC,kBAAkB,GAAG,IAAI;AACtC,OAAO,MAAMC,wBAAwB,GAAG,CAAC","ignoreList":[]}
|
|
1
|
+
{"version":3,"names":["BACKDROP_COLOR","INITIAL","FINAL","CONTENT_CONTAINER","ANGLE","CONTAINER_WIDTH","SAFE_AREA","ANIMATION_DURATION","MIN_PROBLEMS_TO_SHOW_GIF","MAX_GIF_SIZE","WIDTH","HEIGHT","GROUPS_PERCENTAGES","group1","group2","group3"],"sourceRoot":"../../../../src","sources":["features/gifCelebrations/constants.ts"],"mappings":";;AAAA,OAAO,MAAMA,cAAc,GAAG;EAC5BC,OAAO,EAAE,qBAAqB;EAC9BC,KAAK,EAAE;AACT,CAAC;AAED,OAAO,MAAMC,iBAAiB,GAAG;EAC/BC,KAAK,EAAE,CAAC;EACRC,eAAe,EAAE,GAAG;EACpBC,SAAS,EAAE,EAAE,CAAE;AACjB,CAAC;AAED,OAAO,MAAMC,kBAAkB,GAAG,IAAI;AACtC,OAAO,MAAMC,wBAAwB,GAAG,CAAC;AAEzC,OAAO,MAAMC,YAAY,GAAG;EAC1BC,KAAK,EAAE,GAAG;EACVC,MAAM,EAAE;AACV,CAAC;AAED,OAAO,MAAMC,kBAAkB,GAAG;EAChCC,MAAM,EAAE,CAAC,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,CAAC;EAAE;EAC1BC,MAAM,EAAE,CAAC,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,CAAC;EAAE;EAC1BC,MAAM,EAAE,CAAC,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,CAAC,CAAE;AAC5B,CAAC","ignoreList":[]}
|
|
@@ -1,30 +1,19 @@
|
|
|
1
1
|
"use strict";
|
|
2
2
|
|
|
3
|
-
|
|
4
|
-
|
|
5
|
-
|
|
6
|
-
|
|
7
|
-
|
|
8
|
-
|
|
9
|
-
|
|
10
|
-
|
|
11
|
-
|
|
12
|
-
|
|
13
|
-
|
|
14
|
-
|
|
15
|
-
|
|
16
|
-
|
|
17
|
-
gifsGroups,
|
|
18
|
-
resolvedProblem,
|
|
19
|
-
totalProblems
|
|
20
|
-
}) => {
|
|
21
|
-
if (totalProblems < 7) return null;
|
|
22
|
-
const group = Math.ceil(resolvedProblem / totalProblems * 100);
|
|
23
|
-
if (group <= 20) return gifsGroups.group1[Math.floor(Math.random() * gifsGroups.group1.length)];
|
|
24
|
-
if (group <= 40) return gifsGroups.group2[Math.floor(Math.random() * gifsGroups.group2.length)];
|
|
25
|
-
if (group <= 60) return gifsGroups.group3[Math.floor(Math.random() * gifsGroups.group3.length)];
|
|
26
|
-
return null;
|
|
27
|
-
};
|
|
3
|
+
/**
|
|
4
|
+
* Number of problems When we show gif
|
|
5
|
+
* <6 Never
|
|
6
|
+
* 7-12 50% completion
|
|
7
|
+
* 13-18 33%, 66% completion
|
|
8
|
+
* 19-24 25%, 50%, 75 completion
|
|
9
|
+
* 25-30 20%, 40%, 60%, 80% completion
|
|
10
|
+
* .>30 15%, 30%, 45%, 60%, 75% completion
|
|
11
|
+
*
|
|
12
|
+
* We are also going to have different buckets with different gifs. The logic is as follows:
|
|
13
|
+
* Group 1: 15%, 20%, 25%, 30% - Early celebrations
|
|
14
|
+
* Group 2: 33%, 40%, 45%, 50% - Mid celebrations
|
|
15
|
+
* Group 3: 60%, 66%, 75%, 80% - Party
|
|
16
|
+
*/
|
|
28
17
|
export const calculatePercentageTable = totalProblems => {
|
|
29
18
|
if (totalProblems <= 12) return {
|
|
30
19
|
50: Math.ceil(totalProblems * 0.5)
|
|
@@ -58,4 +47,9 @@ export const calculatePercentageTable = totalProblems => {
|
|
|
58
47
|
75: Math.ceil(totalProblems * 0.75)
|
|
59
48
|
};
|
|
60
49
|
};
|
|
50
|
+
export const generateGifsStructure = gifs => Object.fromEntries(Object.entries(gifs).map(([key, value]) => [key, value.map(url => ({
|
|
51
|
+
url,
|
|
52
|
+
isShown: false,
|
|
53
|
+
group: key
|
|
54
|
+
}))]));
|
|
61
55
|
//# sourceMappingURL=helpers.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"names":["
|
|
1
|
+
{"version":3,"names":["calculatePercentageTable","totalProblems","Math","ceil","generateGifsStructure","gifs","Object","fromEntries","entries","map","key","value","url","isShown","group"],"sourceRoot":"../../../../src","sources":["features/gifCelebrations/helpers.ts"],"mappings":";;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,OAAO,MAAMA,wBAAwB,GAAIC,aAAqB,IAAK;EACjE,IAAIA,aAAa,IAAI,EAAE,EAAE,OAAO;IAAE,EAAE,EAAEC,IAAI,CAACC,IAAI,CAACF,aAAa,GAAG,GAAG;EAAE,CAAC;EAEtE,IAAIA,aAAa,IAAI,EAAE,EAAE;IACvB,OAAO;MACL,EAAE,EAAEC,IAAI,CAACC,IAAI,CAACF,aAAa,GAAG,IAAI,CAAC;MACnC,EAAE,EAAEC,IAAI,CAACC,IAAI,CAACF,aAAa,GAAG,IAAI;IACpC,CAAC;EACH;EAEA,IAAIA,aAAa,IAAI,EAAE,EAAE;IACvB,OAAO;MACL,EAAE,EAAEC,IAAI,CAACC,IAAI,CAACF,aAAa,GAAG,IAAI,CAAC;MACnC,EAAE,EAAEC,IAAI,CAACC,IAAI,CAACF,aAAa,GAAG,GAAG,CAAC;MAClC,EAAE,EAAEC,IAAI,CAACC,IAAI,CAACF,aAAa,GAAG,IAAI;IACpC,CAAC;EACH;EAEA,IAAIA,aAAa,IAAI,EAAE,EAAE;IACvB,OAAO;MACL,EAAE,EAAEC,IAAI,CAACC,IAAI,CAACF,aAAa,GAAG,GAAG,CAAC;MAClC,EAAE,EAAEC,IAAI,CAACC,IAAI,CAACF,aAAa,GAAG,GAAG,CAAC;MAClC,EAAE,EAAEC,IAAI,CAACC,IAAI,CAACF,aAAa,GAAG,GAAG,CAAC;MAClC,EAAE,EAAEC,IAAI,CAACC,IAAI,CAACF,aAAa,GAAG,GAAG;IACnC,CAAC;EACH;EAEA,OAAO;IACL,EAAE,EAAEC,IAAI,CAACC,IAAI,CAACF,aAAa,GAAG,IAAI,CAAC;IACnC,EAAE,EAAEC,IAAI,CAACC,IAAI,CAACF,aAAa,GAAG,GAAG,CAAC;IAClC,EAAE,EAAEC,IAAI,CAACC,IAAI,CAACF,aAAa,GAAG,IAAI,CAAC;IACnC,EAAE,EAAEC,IAAI,CAACC,IAAI,CAACF,aAAa,GAAG,GAAG,CAAC;IAClC,EAAE,EAAEC,IAAI,CAACC,IAAI,CAACF,aAAa,GAAG,IAAI;EACpC,CAAC;AACH,CAAC;AAED,OAAO,MAAMG,qBAAqB,GAAIC,IAAgB,IACpDC,MAAM,CAACC,WAAW,CAChBD,MAAM,CAACE,OAAO,CAACH,IAAI,CAAC,CAACI,GAAG,CAAC,CAAC,CAACC,GAAG,EAAEC,KAAK,CAAC,KAAK,CACzCD,GAAG,EACHC,KAAK,CAACF,GAAG,CAAEG,GAAG,KAAM;EAClBA,GAAG;EACHC,OAAO,EAAE,KAAK;EACdC,KAAK,EAAEJ;AACT,CAAC,CAAC,CAAC,CACJ,CACH,CAAC","ignoreList":[]}
|
|
@@ -1,14 +1,27 @@
|
|
|
1
1
|
"use strict";
|
|
2
2
|
|
|
3
|
-
import { createEvent, createStore } from 'effector';
|
|
3
|
+
import { createEffect, createEvent, createStore } from 'effector';
|
|
4
|
+
import { generateGifsStructure } from "../helpers.js";
|
|
5
|
+
import { Image } from 'react-native';
|
|
4
6
|
export class GifCelebrationsCache {
|
|
5
7
|
initialSet = createEvent();
|
|
6
8
|
set = createEvent();
|
|
7
9
|
reset = createEvent();
|
|
8
|
-
|
|
9
|
-
|
|
10
|
-
|
|
11
|
-
|
|
12
|
-
|
|
10
|
+
prefetchGifs = createEffect(data => {
|
|
11
|
+
Object.values(data).forEach(group => {
|
|
12
|
+
group.forEach(gifUrl => {
|
|
13
|
+
Image.prefetch(gifUrl);
|
|
14
|
+
});
|
|
15
|
+
});
|
|
16
|
+
this.initialSet(data);
|
|
17
|
+
});
|
|
18
|
+
$gifs = createStore(null).reset(this.reset).on(this.initialSet, (_, gifs) => generateGifsStructure(gifs)).on(this.set, (_, gifs) => gifs);
|
|
19
|
+
constructor({
|
|
20
|
+
customPrefetchMethod,
|
|
21
|
+
customGetCachePathMethod
|
|
22
|
+
}) {
|
|
23
|
+
this.prefetchMethod = customPrefetchMethod || Image.prefetch;
|
|
24
|
+
this.getCachePathMethod = customGetCachePathMethod;
|
|
25
|
+
}
|
|
13
26
|
}
|
|
14
27
|
//# sourceMappingURL=GifCelebrations.cache.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"names":["createEvent","createStore","GifCelebrationsCache","initialSet","set","reset","
|
|
1
|
+
{"version":3,"names":["createEffect","createEvent","createStore","generateGifsStructure","Image","GifCelebrationsCache","initialSet","set","reset","prefetchGifs","data","Object","values","forEach","group","gifUrl","prefetch","$gifs","on","_","gifs","constructor","customPrefetchMethod","customGetCachePathMethod","prefetchMethod","getCachePathMethod"],"sourceRoot":"../../../../../src","sources":["features/gifCelebrations/model/GifCelebrations.cache.ts"],"mappings":";;AAAA,SAASA,YAAY,EAAEC,WAAW,EAAEC,WAAW,QAAQ,UAAU;AAOjE,SAASC,qBAAqB,QAAQ,eAAY;AAClD,SAASC,KAAK,QAAQ,cAAc;AAOpC,OAAO,MAAMC,oBAAoB,CAAC;EAChBC,UAAU,GAAGL,WAAW,CAAa,CAAC;EACtCM,GAAG,GAAGN,WAAW,CAAgB,CAAC;EAClCO,KAAK,GAAGP,WAAW,CAAC,CAAC;EAKrBQ,YAAY,GAAGT,YAAY,CAAoBU,IAAI,IAAK;IACtEC,MAAM,CAACC,MAAM,CAACF,IAAI,CAAC,CAACG,OAAO,CAAEC,KAAK,IAAK;MACrCA,KAAK,CAACD,OAAO,CAAEE,MAAM,IAAK;QACxBX,KAAK,CAACY,QAAQ,CAACD,MAAM,CAAC;MACxB,CAAC,CAAC;IACJ,CAAC,CAAC;IAEF,IAAI,CAACT,UAAU,CAACI,IAAI,CAAC;EACvB,CAAC,CAAC;EAEcO,KAAK,GAAGf,WAAW,CAAuB,IAAI,CAAC,CAC5DM,KAAK,CAAC,IAAI,CAACA,KAAK,CAAC,CACjBU,EAAE,CAAC,IAAI,CAACZ,UAAU,EAAE,CAACa,CAAC,EAAEC,IAAI,KAAKjB,qBAAqB,CAACiB,IAAI,CAAC,CAAC,CAC7DF,EAAE,CAAC,IAAI,CAACX,GAAG,EAAE,CAACY,CAAC,EAAEC,IAAI,KAAKA,IAAI,CAAC;EAElCC,WAAWA,CAAC;IAAEC,oBAAoB;IAAEC;EAAoD,CAAC,EAAE;IACzF,IAAI,CAACC,cAAc,GAAGF,oBAAoB,IAAIlB,KAAK,CAACY,QAAQ;IAC5D,IAAI,CAACS,kBAAkB,GAAGF,wBAAwB;EACpD;AACF","ignoreList":[]}
|
|
@@ -4,15 +4,7 @@ import { createEffect, createEvent, createStore, sample } from 'effector';
|
|
|
4
4
|
import { GifCelebrationsApi } from "./GifCelebrationsApi.js";
|
|
5
5
|
import { GifCelebrationsCache } from "./GifCelebrations.cache.js";
|
|
6
6
|
import { calculatePercentageTable } from "../helpers.js";
|
|
7
|
-
import {
|
|
8
|
-
import { MIN_PROBLEMS_TO_SHOW_GIF } from "../constants.js";
|
|
9
|
-
const GROUPS_PERCENTAGES = {
|
|
10
|
-
group1: [15, 20, 25, 30],
|
|
11
|
-
// Early celebrations
|
|
12
|
-
group2: [33, 40, 45, 50],
|
|
13
|
-
// Mid celebrations
|
|
14
|
-
group3: [60, 66, 75, 80] // Party
|
|
15
|
-
};
|
|
7
|
+
import { GROUPS_PERCENTAGES, MIN_PROBLEMS_TO_SHOW_GIF } from "../constants.js";
|
|
16
8
|
export class GifCelebrationsModel {
|
|
17
9
|
triggerPlay = createEvent();
|
|
18
10
|
stop = createEvent();
|
|
@@ -25,10 +17,15 @@ export class GifCelebrationsModel {
|
|
|
25
17
|
constructor({
|
|
26
18
|
api,
|
|
27
19
|
totalProblems,
|
|
28
|
-
resolvedProblems
|
|
20
|
+
resolvedProblems,
|
|
21
|
+
customPrefetchMethod,
|
|
22
|
+
customGetCachePathMethod
|
|
29
23
|
}) {
|
|
30
24
|
this.api = new GifCelebrationsApi(api);
|
|
31
|
-
this.cache = new GifCelebrationsCache(
|
|
25
|
+
this.cache = new GifCelebrationsCache({
|
|
26
|
+
customPrefetchMethod,
|
|
27
|
+
customGetCachePathMethod
|
|
28
|
+
});
|
|
32
29
|
this.$totalProblems = totalProblems;
|
|
33
30
|
this.$resolvedProblems = resolvedProblems;
|
|
34
31
|
this.setupEventHandlers();
|
|
@@ -36,17 +33,9 @@ export class GifCelebrationsModel {
|
|
|
36
33
|
setupEventHandlers() {
|
|
37
34
|
sample({
|
|
38
35
|
source: this.api.getGifsFx.doneData,
|
|
39
|
-
|
|
40
|
-
|
|
41
|
-
|
|
42
|
-
target: createEffect(data => {
|
|
43
|
-
Object.values(data).forEach(group => {
|
|
44
|
-
group.forEach(gifUrl => {
|
|
45
|
-
Image.prefetch(gifUrl);
|
|
46
|
-
});
|
|
47
|
-
});
|
|
48
|
-
this.cache.initialSet(data);
|
|
49
|
-
})
|
|
36
|
+
filter: response => response.ok,
|
|
37
|
+
fn: response => response.data,
|
|
38
|
+
target: this.cache.prefetchGifs
|
|
50
39
|
});
|
|
51
40
|
sample({
|
|
52
41
|
clock: this.initialize,
|
|
@@ -84,24 +73,14 @@ export class GifCelebrationsModel {
|
|
|
84
73
|
resolvedProblem,
|
|
85
74
|
problemsPercentageTable
|
|
86
75
|
}) => {
|
|
87
|
-
// Find which percentage milestone this resolved problem represents
|
|
88
76
|
const percentageMilestone = Object.keys(problemsPercentageTable).find(key => problemsPercentageTable[Number(key)] === resolvedProblem);
|
|
89
77
|
if (!percentageMilestone) return null;
|
|
90
|
-
|
|
91
|
-
// Find which group this percentage belongs to
|
|
92
78
|
const groupName = this.findGroupForPercentage(Number(percentageMilestone));
|
|
93
79
|
if (!groupName) return null;
|
|
94
|
-
|
|
95
|
-
// Get available gifs for this group
|
|
96
80
|
const gifsForGroup = gifsGroups[groupName];
|
|
97
81
|
if (!gifsForGroup || gifsForGroup.length === 0) return null;
|
|
98
|
-
|
|
99
|
-
// Find the first gif that hasn't been shown yet
|
|
100
82
|
const unusedGifIndex = gifsForGroup.findIndex(gif => !gif.isShown);
|
|
101
|
-
|
|
102
|
-
// If all gifs have been shown, reset the group and start from the beginning
|
|
103
83
|
if (unusedGifIndex === -1) {
|
|
104
|
-
// Reset the group by setting all gifs to isShown: false
|
|
105
84
|
const updatedGifsGroups = {
|
|
106
85
|
...gifsGroups
|
|
107
86
|
};
|
|
@@ -109,27 +88,19 @@ export class GifCelebrationsModel {
|
|
|
109
88
|
...gif,
|
|
110
89
|
isShown: false
|
|
111
90
|
}));
|
|
112
|
-
// Select the first gif from the group
|
|
113
91
|
const gifObject = {
|
|
114
92
|
...updatedGifsGroups[groupName][0],
|
|
115
93
|
isShown: true
|
|
116
94
|
};
|
|
117
95
|
updatedGifsGroups[groupName][0].isShown = true;
|
|
118
96
|
this.setActiveGif(gifObject);
|
|
119
|
-
// Update the cache with the shown gif
|
|
120
97
|
this.cache.set(updatedGifsGroups);
|
|
121
98
|
}
|
|
122
|
-
|
|
123
|
-
// Otherwise, use the first unused gif
|
|
124
99
|
const selectedGif = gifsForGroup[unusedGifIndex];
|
|
125
|
-
|
|
126
|
-
// Create a new gif object with isShown set to true
|
|
127
100
|
const gifObject = {
|
|
128
101
|
...selectedGif,
|
|
129
102
|
isShown: true
|
|
130
103
|
};
|
|
131
|
-
|
|
132
|
-
// Update the cache with the shown gif
|
|
133
104
|
const updatedGifsGroups = {
|
|
134
105
|
...gifsGroups
|
|
135
106
|
};
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"names":["createEffect","createEvent","createStore","sample","GifCelebrationsApi","GifCelebrationsCache","calculatePercentageTable","
|
|
1
|
+
{"version":3,"names":["createEffect","createEvent","createStore","sample","GifCelebrationsApi","GifCelebrationsCache","calculatePercentageTable","GROUPS_PERCENTAGES","MIN_PROBLEMS_TO_SHOW_GIF","GifCelebrationsModel","triggerPlay","stop","resetPercentageTable","$problemsPercentageTable","reset","setActiveGif","$activeGif","on","_","gif","initialize","resetGroupGifs","constructor","api","totalProblems","resolvedProblems","customPrefetchMethod","customGetCachePathMethod","cache","$totalProblems","$resolvedProblems","setupEventHandlers","source","getGifsFx","doneData","filter","response","ok","fn","data","target","prefetchGifs","clock","$gifs","gifs","gifsGroups","resolvedProblem","problemsPercentageTable","undefined","sources","handleGifSelection","percentageMilestone","Object","keys","find","key","Number","groupName","findGroupForPercentage","gifsForGroup","length","unusedGifIndex","findIndex","isShown","updatedGifsGroups","map","gifObject","set","selectedGif","percentage","includes"],"sourceRoot":"../../../../../src","sources":["features/gifCelebrations/model/GifCelebrations.model.ts"],"mappings":"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","ignoreList":[]}
|
|
@@ -1,7 +1,9 @@
|
|
|
1
1
|
import React from 'react';
|
|
2
|
+
import { CustomGetCachePathMethod } from '../types/model.types';
|
|
2
3
|
type GifProps = {
|
|
3
4
|
uri: string;
|
|
5
|
+
getCachePathMethod?: CustomGetCachePathMethod;
|
|
4
6
|
};
|
|
5
|
-
export declare const Gif: ({ uri }: GifProps) => React.JSX.Element;
|
|
7
|
+
export declare const Gif: ({ uri, getCachePathMethod }: GifProps) => React.JSX.Element;
|
|
6
8
|
export {};
|
|
7
9
|
//# sourceMappingURL=Gif.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"Gif.d.ts","sourceRoot":"","sources":["../../../../../../src/features/gifCelebrations/components/Gif.tsx"],"names":[],"mappings":"AACA,OAAO,KAAoC,MAAM,OAAO,CAAA;
|
|
1
|
+
{"version":3,"file":"Gif.d.ts","sourceRoot":"","sources":["../../../../../../src/features/gifCelebrations/components/Gif.tsx"],"names":[],"mappings":"AACA,OAAO,KAAoC,MAAM,OAAO,CAAA;AAExD,OAAO,EAAE,wBAAwB,EAAE,MAAM,sBAAsB,CAAA;AAG/D,KAAK,QAAQ,GAAG;IACd,GAAG,EAAE,MAAM,CAAA;IACX,kBAAkB,CAAC,EAAE,wBAAwB,CAAA;CAC9C,CAAA;AAOD,eAAO,MAAM,GAAG,gCAAiC,QAAQ,sBAsCxD,CAAA"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"Progress.d.ts","sourceRoot":"","sources":["../../../../../../src/features/gifCelebrations/components/Progress.tsx"],"names":[],"mappings":"AACA,OAAO,KAAK,MAAM,OAAO,CAAA;AAQzB,OAAiB,EAAoB,WAAW,EAAe,MAAM,yBAAyB,CAAA;
|
|
1
|
+
{"version":3,"file":"Progress.d.ts","sourceRoot":"","sources":["../../../../../../src/features/gifCelebrations/components/Progress.tsx"],"names":[],"mappings":"AACA,OAAO,KAAK,MAAM,OAAO,CAAA;AAQzB,OAAiB,EAAoB,WAAW,EAAe,MAAM,yBAAyB,CAAA;AAM9F,KAAK,aAAa,GAAG;IACnB,QAAQ,EAAE,WAAW,CAAC,MAAM,CAAC,CAAA;IAC7B,gBAAgB,EAAE,MAAM,CAAA;CACzB,CAAA;AAED,eAAO,MAAM,QAAQ,mCAAoC,aAAa,sBAuCrE,CAAA"}
|
|
@@ -9,4 +9,13 @@ export declare const CONTENT_CONTAINER: {
|
|
|
9
9
|
};
|
|
10
10
|
export declare const ANIMATION_DURATION = 1750;
|
|
11
11
|
export declare const MIN_PROBLEMS_TO_SHOW_GIF = 6;
|
|
12
|
+
export declare const MAX_GIF_SIZE: {
|
|
13
|
+
WIDTH: number;
|
|
14
|
+
HEIGHT: number;
|
|
15
|
+
};
|
|
16
|
+
export declare const GROUPS_PERCENTAGES: {
|
|
17
|
+
group1: number[];
|
|
18
|
+
group2: number[];
|
|
19
|
+
group3: number[];
|
|
20
|
+
};
|
|
12
21
|
//# sourceMappingURL=constants.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"constants.d.ts","sourceRoot":"","sources":["../../../../../src/features/gifCelebrations/constants.ts"],"names":[],"mappings":"AAAA,eAAO,MAAM,cAAc;;;CAG1B,CAAA;AAED,eAAO,MAAM,iBAAiB;;;;CAI7B,CAAA;AAED,eAAO,MAAM,kBAAkB,OAAO,CAAA;AACtC,eAAO,MAAM,wBAAwB,IAAI,CAAA"}
|
|
1
|
+
{"version":3,"file":"constants.d.ts","sourceRoot":"","sources":["../../../../../src/features/gifCelebrations/constants.ts"],"names":[],"mappings":"AAAA,eAAO,MAAM,cAAc;;;CAG1B,CAAA;AAED,eAAO,MAAM,iBAAiB;;;;CAI7B,CAAA;AAED,eAAO,MAAM,kBAAkB,OAAO,CAAA;AACtC,eAAO,MAAM,wBAAwB,IAAI,CAAA;AAEzC,eAAO,MAAM,YAAY;;;CAGxB,CAAA;AAED,eAAO,MAAM,kBAAkB;;;;CAI9B,CAAA"}
|
|
@@ -1,10 +1,18 @@
|
|
|
1
|
-
import { GifsGroups } from './types/model.types';
|
|
2
|
-
|
|
3
|
-
|
|
4
|
-
|
|
5
|
-
|
|
6
|
-
|
|
7
|
-
|
|
1
|
+
import { GifsGroups, GifsStructure } from './types/model.types';
|
|
2
|
+
/**
|
|
3
|
+
* Number of problems When we show gif
|
|
4
|
+
* <6 Never
|
|
5
|
+
* 7-12 50% completion
|
|
6
|
+
* 13-18 33%, 66% completion
|
|
7
|
+
* 19-24 25%, 50%, 75 completion
|
|
8
|
+
* 25-30 20%, 40%, 60%, 80% completion
|
|
9
|
+
* .>30 15%, 30%, 45%, 60%, 75% completion
|
|
10
|
+
*
|
|
11
|
+
* We are also going to have different buckets with different gifs. The logic is as follows:
|
|
12
|
+
* Group 1: 15%, 20%, 25%, 30% - Early celebrations
|
|
13
|
+
* Group 2: 33%, 40%, 45%, 50% - Mid celebrations
|
|
14
|
+
* Group 3: 60%, 66%, 75%, 80% - Party
|
|
15
|
+
*/
|
|
8
16
|
export declare const calculatePercentageTable: (totalProblems: number) => {
|
|
9
17
|
50: number;
|
|
10
18
|
33?: undefined;
|
|
@@ -71,5 +79,5 @@ export declare const calculatePercentageTable: (totalProblems: number) => {
|
|
|
71
79
|
40?: undefined;
|
|
72
80
|
80?: undefined;
|
|
73
81
|
};
|
|
74
|
-
export
|
|
82
|
+
export declare const generateGifsStructure: (gifs: GifsGroups) => GifsStructure;
|
|
75
83
|
//# sourceMappingURL=helpers.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"helpers.d.ts","sourceRoot":"","sources":["../../../../../src/features/gifCelebrations/helpers.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,UAAU,EAAE,
|
|
1
|
+
{"version":3,"file":"helpers.d.ts","sourceRoot":"","sources":["../../../../../src/features/gifCelebrations/helpers.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,UAAU,EAAE,aAAa,EAAE,MAAM,qBAAqB,CAAA;AAE/D;;;;;;;;;;;;;GAaG;AACH,eAAO,MAAM,wBAAwB,kBAAmB,MAAM;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;CAkC7D,CAAA;AAED,eAAO,MAAM,qBAAqB,SAAU,UAAU,KAAG,aAUtD,CAAA"}
|
|
@@ -1,8 +1,18 @@
|
|
|
1
|
-
import { GifsGroups, GifsStructure } from '../types/model.types';
|
|
1
|
+
import { GifsGroups, GifsStructure, CustomPrefetchMethod, CustomGetCachePathMethod } from '../types/model.types';
|
|
2
|
+
import { Image } from 'react-native';
|
|
3
|
+
type GifCelebrationsCacheProps = {
|
|
4
|
+
customPrefetchMethod?: CustomPrefetchMethod;
|
|
5
|
+
customGetCachePathMethod?: CustomGetCachePathMethod;
|
|
6
|
+
};
|
|
2
7
|
export declare class GifCelebrationsCache {
|
|
3
8
|
readonly initialSet: import("effector").EventCallable<GifsGroups>;
|
|
4
9
|
readonly set: import("effector").EventCallable<GifsStructure>;
|
|
5
10
|
readonly reset: import("effector").EventCallable<void>;
|
|
11
|
+
readonly prefetchMethod: CustomPrefetchMethod | typeof Image.prefetch;
|
|
12
|
+
readonly getCachePathMethod?: CustomGetCachePathMethod;
|
|
13
|
+
readonly prefetchGifs: import("effector").Effect<GifsGroups, void, Error>;
|
|
6
14
|
readonly $gifs: import("effector").StoreWritable<GifsStructure | null>;
|
|
15
|
+
constructor({ customPrefetchMethod, customGetCachePathMethod }: GifCelebrationsCacheProps);
|
|
7
16
|
}
|
|
17
|
+
export {};
|
|
8
18
|
//# sourceMappingURL=GifCelebrations.cache.d.ts.map
|
package/dist/typescript/commonjs/features/gifCelebrations/model/GifCelebrations.cache.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"GifCelebrations.cache.d.ts","sourceRoot":"","sources":["../../../../../../src/features/gifCelebrations/model/GifCelebrations.cache.ts"],"names":[],"mappings":"AACA,OAAO,
|
|
1
|
+
{"version":3,"file":"GifCelebrations.cache.d.ts","sourceRoot":"","sources":["../../../../../../src/features/gifCelebrations/model/GifCelebrations.cache.ts"],"names":[],"mappings":"AACA,OAAO,EACL,UAAU,EACV,aAAa,EACb,oBAAoB,EACpB,wBAAwB,EACzB,MAAM,sBAAsB,CAAA;AAE7B,OAAO,EAAE,KAAK,EAAE,MAAM,cAAc,CAAA;AAEpC,KAAK,yBAAyB,GAAG;IAC/B,oBAAoB,CAAC,EAAE,oBAAoB,CAAA;IAC3C,wBAAwB,CAAC,EAAE,wBAAwB,CAAA;CACpD,CAAA;AAED,qBAAa,oBAAoB;IAC/B,SAAgB,UAAU,+CAA4B;IACtD,SAAgB,GAAG,kDAA+B;IAClD,SAAgB,KAAK,yCAAgB;IAErC,SAAgB,cAAc,EAAE,oBAAoB,GAAG,OAAO,KAAK,CAAC,QAAQ,CAAA;IAC5E,SAAgB,kBAAkB,CAAC,EAAE,wBAAwB,CAAA;IAE7D,SAAgB,YAAY,qDAQ1B;IAEF,SAAgB,KAAK,yDAGa;gBAEtB,EAAE,oBAAoB,EAAE,wBAAwB,EAAE,EAAE,yBAAyB;CAI1F"}
|
|
@@ -15,7 +15,7 @@ export declare class GifCelebrationsModel {
|
|
|
15
15
|
readonly $activeGif: import("effector").StoreWritable<GifObject | null>;
|
|
16
16
|
readonly initialize: import("effector").EventCallable<void>;
|
|
17
17
|
readonly resetGroupGifs: import("effector").EventCallable<string>;
|
|
18
|
-
constructor({ api, totalProblems, resolvedProblems }: GifCelebrationsModelProps);
|
|
18
|
+
constructor({ api, totalProblems, resolvedProblems, customPrefetchMethod, customGetCachePathMethod, }: GifCelebrationsModelProps);
|
|
19
19
|
private setupEventHandlers;
|
|
20
20
|
private readonly handleGifSelection;
|
|
21
21
|
private findGroupForPercentage;
|
package/dist/typescript/commonjs/features/gifCelebrations/model/GifCelebrations.model.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"GifCelebrations.model.d.ts","sourceRoot":"","sources":["../../../../../../src/features/gifCelebrations/model/GifCelebrations.model.ts"],"names":[],"mappings":"AAAA,OAAO,EAAkD,KAAK,EAAE,MAAM,UAAU,CAAA;AAChF,OAAO,EAAE,kBAAkB,EAAE,MAAM,sBAAsB,CAAA;AACzD,OAAO,EACL,yBAAyB,EACzB,SAAS,
|
|
1
|
+
{"version":3,"file":"GifCelebrations.model.d.ts","sourceRoot":"","sources":["../../../../../../src/features/gifCelebrations/model/GifCelebrations.model.ts"],"names":[],"mappings":"AAAA,OAAO,EAAkD,KAAK,EAAE,MAAM,UAAU,CAAA;AAChF,OAAO,EAAE,kBAAkB,EAAE,MAAM,sBAAsB,CAAA;AACzD,OAAO,EACL,yBAAyB,EACzB,SAAS,EAET,uBAAuB,EACxB,MAAM,sBAAsB,CAAA;AAC7B,OAAO,EAAE,oBAAoB,EAAE,MAAM,yBAAyB,CAAA;AAU9D,qBAAa,oBAAoB;IAC/B,SAAgB,GAAG,EAAE,kBAAkB,CAAA;IACvC,SAAgB,KAAK,EAAE,oBAAoB,CAAA;IAE3C,SAAgB,cAAc,EAAE,KAAK,CAAC,MAAM,CAAC,CAAA;IAC7C,SAAgB,iBAAiB,EAAE,KAAK,CAAC,MAAM,CAAC,CAAA;IAEhD,SAAgB,WAAW,yCAAgB;IAC3C,SAAgB,IAAI,yCAAgB;IAEpC,SAAgB,oBAAoB,yCAAgB;IACpD,SAAgB,wBAAwB,mEAEN;IAElC,SAAgB,YAAY,8CAA2B;IACvD,SAAgB,UAAU,qDAEe;IAEzC,SAAgB,UAAU,yCAAgB;IAC1C,SAAgB,cAAc,2CAAwB;gBAE1C,EACV,GAAG,EACH,aAAa,EACb,gBAAgB,EAChB,oBAAoB,EACpB,wBAAwB,GACzB,EAAE,yBAAyB;IAU5B,OAAO,CAAC,kBAAkB;IAuC1B,OAAO,CAAC,QAAQ,CAAC,kBAAkB,CA+ClC;IAED,OAAO,CAAC,sBAAsB;CAK/B"}
|
|
@@ -1,11 +1,18 @@
|
|
|
1
1
|
import { Store } from 'effector';
|
|
2
|
+
export type CustomPrefetchMethod = (gifs: string[] | string) => Promise<unknown>;
|
|
3
|
+
export type CustomGetCachePathMethod = (uri: string) => Promise<string | null>;
|
|
2
4
|
export type GifCelebrationApiRequests = {
|
|
3
5
|
getGifs: () => Promise<GifResponse>;
|
|
4
6
|
};
|
|
7
|
+
export type GifCelebrationCache = {
|
|
8
|
+
prefetchMethod?: CustomPrefetchMethod;
|
|
9
|
+
};
|
|
5
10
|
export type GifCelebrationsModelProps = {
|
|
6
11
|
api: GifCelebrationApiRequests;
|
|
7
12
|
totalProblems: Store<number>;
|
|
8
13
|
resolvedProblems: Store<number>;
|
|
14
|
+
customPrefetchMethod?: CustomPrefetchMethod;
|
|
15
|
+
customGetCachePathMethod?: CustomGetCachePathMethod;
|
|
9
16
|
};
|
|
10
17
|
export type GifsGroup = string[];
|
|
11
18
|
export type GifsGroups = Record<`group${number}`, GifsGroup>;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"model.types.d.ts","sourceRoot":"","sources":["../../../../../../src/features/gifCelebrations/types/model.types.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,KAAK,EAAE,MAAM,UAAU,CAAA;AAEhC,MAAM,MAAM,yBAAyB,GAAG;IACtC,OAAO,EAAE,MAAM,OAAO,CAAC,WAAW,CAAC,CAAA;CACpC,CAAA;AAED,MAAM,MAAM,yBAAyB,GAAG;IACtC,GAAG,EAAE,yBAAyB,CAAA;IAC9B,aAAa,EAAE,KAAK,CAAC,MAAM,CAAC,CAAA;IAC5B,gBAAgB,EAAE,KAAK,CAAC,MAAM,CAAC,CAAA;
|
|
1
|
+
{"version":3,"file":"model.types.d.ts","sourceRoot":"","sources":["../../../../../../src/features/gifCelebrations/types/model.types.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,KAAK,EAAE,MAAM,UAAU,CAAA;AAEhC,MAAM,MAAM,oBAAoB,GAAG,CAAC,IAAI,EAAE,MAAM,EAAE,GAAG,MAAM,KAAK,OAAO,CAAC,OAAO,CAAC,CAAA;AAChF,MAAM,MAAM,wBAAwB,GAAG,CAAC,GAAG,EAAE,MAAM,KAAK,OAAO,CAAC,MAAM,GAAG,IAAI,CAAC,CAAA;AAE9E,MAAM,MAAM,yBAAyB,GAAG;IACtC,OAAO,EAAE,MAAM,OAAO,CAAC,WAAW,CAAC,CAAA;CACpC,CAAA;AACD,MAAM,MAAM,mBAAmB,GAAG;IAChC,cAAc,CAAC,EAAE,oBAAoB,CAAA;CACtC,CAAA;AAED,MAAM,MAAM,yBAAyB,GAAG;IACtC,GAAG,EAAE,yBAAyB,CAAA;IAC9B,aAAa,EAAE,KAAK,CAAC,MAAM,CAAC,CAAA;IAC5B,gBAAgB,EAAE,KAAK,CAAC,MAAM,CAAC,CAAA;IAC/B,oBAAoB,CAAC,EAAE,oBAAoB,CAAA;IAC3C,wBAAwB,CAAC,EAAE,wBAAwB,CAAA;CACpD,CAAA;AAED,MAAM,MAAM,SAAS,GAAG,MAAM,EAAE,CAAA;AAChC,MAAM,MAAM,UAAU,GAAG,MAAM,CAAC,QAAQ,MAAM,EAAE,EAAE,SAAS,CAAC,CAAA;AAE5D,MAAM,MAAM,SAAS,GAAG;IACtB,GAAG,EAAE,MAAM,CAAA;IACX,OAAO,EAAE,OAAO,CAAA;IAChB,KAAK,EAAE,QAAQ,MAAM,EAAE,CAAA;CACxB,CAAA;AAED,MAAM,MAAM,aAAa,GAAG,MAAM,CAAC,QAAQ,MAAM,EAAE,EAAE,SAAS,EAAE,CAAC,CAAA;AACjE;;;;;GAKG;AACH,MAAM,MAAM,WAAW,GAAG;IACxB,IAAI,EAAE,UAAU,CAAA;IAChB,EAAE,EAAE,OAAO,CAAA;CACZ,CAAA;AACD,MAAM,MAAM,WAAW,GAAG;IACxB,KAAK,EAAE,MAAM,CAAA;CACd,CAAA;AACD,MAAM,MAAM,uBAAuB,GAAG,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAAA"}
|
|
@@ -1,7 +1,9 @@
|
|
|
1
1
|
import React from 'react';
|
|
2
|
+
import { CustomGetCachePathMethod } from '../types/model.types';
|
|
2
3
|
type GifProps = {
|
|
3
4
|
uri: string;
|
|
5
|
+
getCachePathMethod?: CustomGetCachePathMethod;
|
|
4
6
|
};
|
|
5
|
-
export declare const Gif: ({ uri }: GifProps) => React.JSX.Element;
|
|
7
|
+
export declare const Gif: ({ uri, getCachePathMethod }: GifProps) => React.JSX.Element;
|
|
6
8
|
export {};
|
|
7
9
|
//# sourceMappingURL=Gif.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"Gif.d.ts","sourceRoot":"","sources":["../../../../../../src/features/gifCelebrations/components/Gif.tsx"],"names":[],"mappings":"AACA,OAAO,KAAoC,MAAM,OAAO,CAAA;
|
|
1
|
+
{"version":3,"file":"Gif.d.ts","sourceRoot":"","sources":["../../../../../../src/features/gifCelebrations/components/Gif.tsx"],"names":[],"mappings":"AACA,OAAO,KAAoC,MAAM,OAAO,CAAA;AAExD,OAAO,EAAE,wBAAwB,EAAE,MAAM,sBAAsB,CAAA;AAG/D,KAAK,QAAQ,GAAG;IACd,GAAG,EAAE,MAAM,CAAA;IACX,kBAAkB,CAAC,EAAE,wBAAwB,CAAA;CAC9C,CAAA;AAOD,eAAO,MAAM,GAAG,gCAAiC,QAAQ,sBAsCxD,CAAA"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"Progress.d.ts","sourceRoot":"","sources":["../../../../../../src/features/gifCelebrations/components/Progress.tsx"],"names":[],"mappings":"AACA,OAAO,KAAK,MAAM,OAAO,CAAA;AAQzB,OAAiB,EAAoB,WAAW,EAAe,MAAM,yBAAyB,CAAA;
|
|
1
|
+
{"version":3,"file":"Progress.d.ts","sourceRoot":"","sources":["../../../../../../src/features/gifCelebrations/components/Progress.tsx"],"names":[],"mappings":"AACA,OAAO,KAAK,MAAM,OAAO,CAAA;AAQzB,OAAiB,EAAoB,WAAW,EAAe,MAAM,yBAAyB,CAAA;AAM9F,KAAK,aAAa,GAAG;IACnB,QAAQ,EAAE,WAAW,CAAC,MAAM,CAAC,CAAA;IAC7B,gBAAgB,EAAE,MAAM,CAAA;CACzB,CAAA;AAED,eAAO,MAAM,QAAQ,mCAAoC,aAAa,sBAuCrE,CAAA"}
|
|
@@ -9,4 +9,13 @@ export declare const CONTENT_CONTAINER: {
|
|
|
9
9
|
};
|
|
10
10
|
export declare const ANIMATION_DURATION = 1750;
|
|
11
11
|
export declare const MIN_PROBLEMS_TO_SHOW_GIF = 6;
|
|
12
|
+
export declare const MAX_GIF_SIZE: {
|
|
13
|
+
WIDTH: number;
|
|
14
|
+
HEIGHT: number;
|
|
15
|
+
};
|
|
16
|
+
export declare const GROUPS_PERCENTAGES: {
|
|
17
|
+
group1: number[];
|
|
18
|
+
group2: number[];
|
|
19
|
+
group3: number[];
|
|
20
|
+
};
|
|
12
21
|
//# sourceMappingURL=constants.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"constants.d.ts","sourceRoot":"","sources":["../../../../../src/features/gifCelebrations/constants.ts"],"names":[],"mappings":"AAAA,eAAO,MAAM,cAAc;;;CAG1B,CAAA;AAED,eAAO,MAAM,iBAAiB;;;;CAI7B,CAAA;AAED,eAAO,MAAM,kBAAkB,OAAO,CAAA;AACtC,eAAO,MAAM,wBAAwB,IAAI,CAAA"}
|
|
1
|
+
{"version":3,"file":"constants.d.ts","sourceRoot":"","sources":["../../../../../src/features/gifCelebrations/constants.ts"],"names":[],"mappings":"AAAA,eAAO,MAAM,cAAc;;;CAG1B,CAAA;AAED,eAAO,MAAM,iBAAiB;;;;CAI7B,CAAA;AAED,eAAO,MAAM,kBAAkB,OAAO,CAAA;AACtC,eAAO,MAAM,wBAAwB,IAAI,CAAA;AAEzC,eAAO,MAAM,YAAY;;;CAGxB,CAAA;AAED,eAAO,MAAM,kBAAkB;;;;CAI9B,CAAA"}
|
|
@@ -1,10 +1,18 @@
|
|
|
1
|
-
import { GifsGroups } from './types/model.types';
|
|
2
|
-
|
|
3
|
-
|
|
4
|
-
|
|
5
|
-
|
|
6
|
-
|
|
7
|
-
|
|
1
|
+
import { GifsGroups, GifsStructure } from './types/model.types';
|
|
2
|
+
/**
|
|
3
|
+
* Number of problems When we show gif
|
|
4
|
+
* <6 Never
|
|
5
|
+
* 7-12 50% completion
|
|
6
|
+
* 13-18 33%, 66% completion
|
|
7
|
+
* 19-24 25%, 50%, 75 completion
|
|
8
|
+
* 25-30 20%, 40%, 60%, 80% completion
|
|
9
|
+
* .>30 15%, 30%, 45%, 60%, 75% completion
|
|
10
|
+
*
|
|
11
|
+
* We are also going to have different buckets with different gifs. The logic is as follows:
|
|
12
|
+
* Group 1: 15%, 20%, 25%, 30% - Early celebrations
|
|
13
|
+
* Group 2: 33%, 40%, 45%, 50% - Mid celebrations
|
|
14
|
+
* Group 3: 60%, 66%, 75%, 80% - Party
|
|
15
|
+
*/
|
|
8
16
|
export declare const calculatePercentageTable: (totalProblems: number) => {
|
|
9
17
|
50: number;
|
|
10
18
|
33?: undefined;
|
|
@@ -71,5 +79,5 @@ export declare const calculatePercentageTable: (totalProblems: number) => {
|
|
|
71
79
|
40?: undefined;
|
|
72
80
|
80?: undefined;
|
|
73
81
|
};
|
|
74
|
-
export
|
|
82
|
+
export declare const generateGifsStructure: (gifs: GifsGroups) => GifsStructure;
|
|
75
83
|
//# sourceMappingURL=helpers.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"helpers.d.ts","sourceRoot":"","sources":["../../../../../src/features/gifCelebrations/helpers.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,UAAU,EAAE,
|
|
1
|
+
{"version":3,"file":"helpers.d.ts","sourceRoot":"","sources":["../../../../../src/features/gifCelebrations/helpers.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,UAAU,EAAE,aAAa,EAAE,MAAM,qBAAqB,CAAA;AAE/D;;;;;;;;;;;;;GAaG;AACH,eAAO,MAAM,wBAAwB,kBAAmB,MAAM;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;CAkC7D,CAAA;AAED,eAAO,MAAM,qBAAqB,SAAU,UAAU,KAAG,aAUtD,CAAA"}
|
|
@@ -1,8 +1,18 @@
|
|
|
1
|
-
import { GifsGroups, GifsStructure } from '../types/model.types';
|
|
1
|
+
import { GifsGroups, GifsStructure, CustomPrefetchMethod, CustomGetCachePathMethod } from '../types/model.types';
|
|
2
|
+
import { Image } from 'react-native';
|
|
3
|
+
type GifCelebrationsCacheProps = {
|
|
4
|
+
customPrefetchMethod?: CustomPrefetchMethod;
|
|
5
|
+
customGetCachePathMethod?: CustomGetCachePathMethod;
|
|
6
|
+
};
|
|
2
7
|
export declare class GifCelebrationsCache {
|
|
3
8
|
readonly initialSet: import("effector").EventCallable<GifsGroups>;
|
|
4
9
|
readonly set: import("effector").EventCallable<GifsStructure>;
|
|
5
10
|
readonly reset: import("effector").EventCallable<void>;
|
|
11
|
+
readonly prefetchMethod: CustomPrefetchMethod | typeof Image.prefetch;
|
|
12
|
+
readonly getCachePathMethod?: CustomGetCachePathMethod;
|
|
13
|
+
readonly prefetchGifs: import("effector").Effect<GifsGroups, void, Error>;
|
|
6
14
|
readonly $gifs: import("effector").StoreWritable<GifsStructure | null>;
|
|
15
|
+
constructor({ customPrefetchMethod, customGetCachePathMethod }: GifCelebrationsCacheProps);
|
|
7
16
|
}
|
|
17
|
+
export {};
|
|
8
18
|
//# sourceMappingURL=GifCelebrations.cache.d.ts.map
|