@magmamath/students-features 0.6.5 → 0.6.6-rc.1
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/feedback/model/comments.js +3 -5
- package/dist/commonjs/features/feedback/model/comments.js.map +1 -1
- package/dist/commonjs/features/feedback/model/model.js +9 -7
- package/dist/commonjs/features/feedback/model/model.js.map +1 -1
- package/dist/commonjs/features/gifCelebrations/GifCelebrations.js +65 -0
- package/dist/commonjs/features/gifCelebrations/GifCelebrations.js.map +1 -0
- package/dist/commonjs/features/gifCelebrations/assets/confetti.webp +0 -0
- package/dist/commonjs/features/gifCelebrations/components/Backdrop.js +44 -0
- package/dist/commonjs/features/gifCelebrations/components/Backdrop.js.map +1 -0
- package/dist/commonjs/features/gifCelebrations/components/ContentContainer.js +46 -0
- package/dist/commonjs/features/gifCelebrations/components/ContentContainer.js.map +1 -0
- package/dist/commonjs/features/gifCelebrations/components/Gif.js +80 -0
- package/dist/commonjs/features/gifCelebrations/components/Gif.js.map +1 -0
- package/dist/commonjs/features/gifCelebrations/components/Progress.js +106 -0
- package/dist/commonjs/features/gifCelebrations/components/Progress.js.map +1 -0
- package/dist/commonjs/features/gifCelebrations/constants.js +30 -0
- package/dist/commonjs/features/gifCelebrations/constants.js.map +1 -0
- package/dist/commonjs/features/gifCelebrations/helpers.js +71 -0
- package/dist/commonjs/features/gifCelebrations/helpers.js.map +1 -0
- package/dist/commonjs/features/gifCelebrations/index.js +20 -0
- package/dist/commonjs/features/gifCelebrations/index.js.map +1 -0
- package/dist/commonjs/features/gifCelebrations/model/GifCelebrations.cache.js +32 -0
- package/dist/commonjs/features/gifCelebrations/model/GifCelebrations.cache.js.map +1 -0
- package/dist/commonjs/features/gifCelebrations/model/GifCelebrations.model.js +125 -0
- package/dist/commonjs/features/gifCelebrations/model/GifCelebrations.model.js.map +1 -0
- package/dist/commonjs/features/gifCelebrations/model/GifCelebrationsApi.js +14 -0
- package/dist/commonjs/features/gifCelebrations/model/GifCelebrationsApi.js.map +1 -0
- package/dist/commonjs/features/gifCelebrations/types/model.types.js +6 -0
- package/dist/commonjs/features/gifCelebrations/types/model.types.js.map +1 -0
- package/dist/commonjs/index.js +12 -0
- package/dist/commonjs/index.js.map +1 -1
- package/dist/commonjs/lib/helpers/helpers.js.map +1 -1
- package/dist/commonjs/react-app-env.d.js +2 -0
- package/dist/commonjs/react-app-env.d.js.map +1 -0
- package/dist/commonjs/shared/translation/localization/en.json +5 -0
- package/dist/commonjs/shared/translation/localization/gb.json +5 -0
- package/dist/commonjs/shared/translation/localization/sw.json +5 -0
- package/dist/module/features/feedback/model/comments.js +3 -5
- package/dist/module/features/feedback/model/comments.js.map +1 -1
- package/dist/module/features/feedback/model/model.js +9 -7
- package/dist/module/features/feedback/model/model.js.map +1 -1
- package/dist/module/features/gifCelebrations/GifCelebrations.js +58 -0
- package/dist/module/features/gifCelebrations/GifCelebrations.js.map +1 -0
- package/dist/module/features/gifCelebrations/assets/confetti.webp +0 -0
- package/dist/module/features/gifCelebrations/components/Backdrop.js +36 -0
- package/dist/module/features/gifCelebrations/components/Backdrop.js.map +1 -0
- package/dist/module/features/gifCelebrations/components/ContentContainer.js +38 -0
- package/dist/module/features/gifCelebrations/components/ContentContainer.js.map +1 -0
- package/dist/module/features/gifCelebrations/components/Gif.js +73 -0
- package/dist/module/features/gifCelebrations/components/Gif.js.map +1 -0
- package/dist/module/features/gifCelebrations/components/Progress.js +98 -0
- package/dist/module/features/gifCelebrations/components/Progress.js.map +1 -0
- package/dist/module/features/gifCelebrations/constants.js +26 -0
- package/dist/module/features/gifCelebrations/constants.js.map +1 -0
- package/dist/module/features/gifCelebrations/helpers.js +64 -0
- package/dist/module/features/gifCelebrations/helpers.js.map +1 -0
- package/dist/module/features/gifCelebrations/index.js +5 -0
- package/dist/module/features/gifCelebrations/index.js.map +1 -0
- package/dist/module/features/gifCelebrations/model/GifCelebrations.cache.js +27 -0
- package/dist/module/features/gifCelebrations/model/GifCelebrations.cache.js.map +1 -0
- package/dist/module/features/gifCelebrations/model/GifCelebrations.model.js +120 -0
- package/dist/module/features/gifCelebrations/model/GifCelebrations.model.js.map +1 -0
- package/dist/module/features/gifCelebrations/model/GifCelebrationsApi.js +9 -0
- package/dist/module/features/gifCelebrations/model/GifCelebrationsApi.js.map +1 -0
- package/dist/module/features/gifCelebrations/types/model.types.js +4 -0
- package/dist/module/features/gifCelebrations/types/model.types.js.map +1 -0
- package/dist/module/index.js +1 -0
- package/dist/module/index.js.map +1 -1
- package/dist/module/react-app-env.d.js +2 -0
- package/dist/module/react-app-env.d.js.map +1 -0
- package/dist/module/shared/translation/localization/en.json +5 -0
- package/dist/module/shared/translation/localization/gb.json +5 -0
- package/dist/module/shared/translation/localization/sw.json +5 -0
- package/dist/typescript/commonjs/features/gifCelebrations/GifCelebrations.d.ts +10 -0
- package/dist/typescript/commonjs/features/gifCelebrations/GifCelebrations.d.ts.map +1 -0
- package/dist/typescript/commonjs/features/gifCelebrations/components/Backdrop.d.ts +10 -0
- package/dist/typescript/commonjs/features/gifCelebrations/components/Backdrop.d.ts.map +1 -0
- package/dist/typescript/commonjs/features/gifCelebrations/components/ContentContainer.d.ts +10 -0
- package/dist/typescript/commonjs/features/gifCelebrations/components/ContentContainer.d.ts.map +1 -0
- package/dist/typescript/commonjs/features/gifCelebrations/components/Gif.d.ts +10 -0
- package/dist/typescript/commonjs/features/gifCelebrations/components/Gif.d.ts.map +1 -0
- package/dist/typescript/commonjs/features/gifCelebrations/components/Progress.d.ts +10 -0
- package/dist/typescript/commonjs/features/gifCelebrations/components/Progress.d.ts.map +1 -0
- package/dist/typescript/commonjs/features/gifCelebrations/constants.d.ts +22 -0
- package/dist/typescript/commonjs/features/gifCelebrations/constants.d.ts.map +1 -0
- package/dist/typescript/commonjs/features/gifCelebrations/helpers.d.ts +85 -0
- package/dist/typescript/commonjs/features/gifCelebrations/helpers.d.ts.map +1 -0
- package/dist/typescript/commonjs/features/gifCelebrations/index.d.ts +3 -0
- package/dist/typescript/commonjs/features/gifCelebrations/index.d.ts.map +1 -0
- package/dist/typescript/commonjs/features/gifCelebrations/model/GifCelebrations.cache.d.ts +18 -0
- package/dist/typescript/commonjs/features/gifCelebrations/model/GifCelebrations.cache.d.ts.map +1 -0
- package/dist/typescript/commonjs/features/gifCelebrations/model/GifCelebrations.model.d.ts +26 -0
- package/dist/typescript/commonjs/features/gifCelebrations/model/GifCelebrations.model.d.ts.map +1 -0
- package/dist/typescript/commonjs/features/gifCelebrations/model/GifCelebrationsApi.d.ts +6 -0
- package/dist/typescript/commonjs/features/gifCelebrations/model/GifCelebrationsApi.d.ts.map +1 -0
- package/dist/typescript/commonjs/features/gifCelebrations/types/model.types.d.ts +42 -0
- package/dist/typescript/commonjs/features/gifCelebrations/types/model.types.d.ts.map +1 -0
- package/dist/typescript/commonjs/index.d.ts +1 -0
- package/dist/typescript/commonjs/index.d.ts.map +1 -1
- package/dist/typescript/commonjs/lib/helpers/helpers.d.ts.map +1 -1
- package/dist/typescript/commonjs/shared/translation/constants.d.ts +15 -0
- package/dist/typescript/commonjs/shared/translation/constants.d.ts.map +1 -1
- package/dist/typescript/commonjs/shared/translation/model.d.ts +10 -0
- package/dist/typescript/commonjs/shared/translation/model.d.ts.map +1 -1
- package/dist/typescript/module/features/gifCelebrations/GifCelebrations.d.ts +10 -0
- package/dist/typescript/module/features/gifCelebrations/GifCelebrations.d.ts.map +1 -0
- package/dist/typescript/module/features/gifCelebrations/components/Backdrop.d.ts +10 -0
- package/dist/typescript/module/features/gifCelebrations/components/Backdrop.d.ts.map +1 -0
- package/dist/typescript/module/features/gifCelebrations/components/ContentContainer.d.ts +10 -0
- package/dist/typescript/module/features/gifCelebrations/components/ContentContainer.d.ts.map +1 -0
- package/dist/typescript/module/features/gifCelebrations/components/Gif.d.ts +10 -0
- package/dist/typescript/module/features/gifCelebrations/components/Gif.d.ts.map +1 -0
- package/dist/typescript/module/features/gifCelebrations/components/Progress.d.ts +10 -0
- package/dist/typescript/module/features/gifCelebrations/components/Progress.d.ts.map +1 -0
- package/dist/typescript/module/features/gifCelebrations/constants.d.ts +22 -0
- package/dist/typescript/module/features/gifCelebrations/constants.d.ts.map +1 -0
- package/dist/typescript/module/features/gifCelebrations/helpers.d.ts +85 -0
- package/dist/typescript/module/features/gifCelebrations/helpers.d.ts.map +1 -0
- package/dist/typescript/module/features/gifCelebrations/index.d.ts +3 -0
- package/dist/typescript/module/features/gifCelebrations/index.d.ts.map +1 -0
- package/dist/typescript/module/features/gifCelebrations/model/GifCelebrations.cache.d.ts +18 -0
- package/dist/typescript/module/features/gifCelebrations/model/GifCelebrations.cache.d.ts.map +1 -0
- package/dist/typescript/module/features/gifCelebrations/model/GifCelebrations.model.d.ts +26 -0
- package/dist/typescript/module/features/gifCelebrations/model/GifCelebrations.model.d.ts.map +1 -0
- package/dist/typescript/module/features/gifCelebrations/model/GifCelebrationsApi.d.ts +6 -0
- package/dist/typescript/module/features/gifCelebrations/model/GifCelebrationsApi.d.ts.map +1 -0
- package/dist/typescript/module/features/gifCelebrations/types/model.types.d.ts +42 -0
- package/dist/typescript/module/features/gifCelebrations/types/model.types.d.ts.map +1 -0
- package/dist/typescript/module/index.d.ts +1 -0
- package/dist/typescript/module/index.d.ts.map +1 -1
- package/dist/typescript/module/lib/helpers/helpers.d.ts.map +1 -1
- package/dist/typescript/module/shared/translation/constants.d.ts +15 -0
- package/dist/typescript/module/shared/translation/constants.d.ts.map +1 -1
- package/dist/typescript/module/shared/translation/model.d.ts +10 -0
- package/dist/typescript/module/shared/translation/model.d.ts.map +1 -1
- package/package.json +1 -1
- package/src/features/feedback/model/comments.ts +7 -7
- package/src/features/feedback/model/model.ts +6 -6
- package/src/features/gifCelebrations/GifCelebrations.tsx +77 -0
- package/src/features/gifCelebrations/assets/confetti.webp +0 -0
- package/src/features/gifCelebrations/components/Backdrop.tsx +41 -0
- package/src/features/gifCelebrations/components/ContentContainer.tsx +44 -0
- package/src/features/gifCelebrations/components/Gif.tsx +86 -0
- package/src/features/gifCelebrations/components/Progress.tsx +116 -0
- package/src/features/gifCelebrations/constants.ts +25 -0
- package/src/features/gifCelebrations/helpers.ts +75 -0
- package/src/features/gifCelebrations/index.ts +2 -0
- package/src/features/gifCelebrations/model/GifCelebrations.cache.ts +43 -0
- package/src/features/gifCelebrations/model/GifCelebrations.model.ts +174 -0
- package/src/features/gifCelebrations/model/GifCelebrationsApi.ts +10 -0
- package/src/features/gifCelebrations/types/model.types.ts +50 -0
- package/src/index.ts +1 -0
- package/src/lib/helpers/helpers.ts +1 -1
- package/src/react-app-env.d.ts +5 -0
- package/src/shared/translation/localization/en.json +5 -0
- package/src/shared/translation/localization/gb.json +5 -0
- package/src/shared/translation/localization/sw.json +5 -0
|
@@ -0,0 +1,73 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
|
|
3
|
+
import { StyleSheet, View, Image } from 'react-native';
|
|
4
|
+
import React, { useLayoutEffect, useState } from 'react';
|
|
5
|
+
import { BORDER_RADIUS, COLORS, SPACING } from '@magmamath/react-native-ui';
|
|
6
|
+
import { MAX_GIF_SIZE, MIN_GIF_SIZE } from "../constants.js";
|
|
7
|
+
import { useText } from "../../../shared/translation/index.js";
|
|
8
|
+
import { getGifLabel } from "../helpers.js";
|
|
9
|
+
import { jsx as _jsx, jsxs as _jsxs } from "react/jsx-runtime";
|
|
10
|
+
export const Gif = ({
|
|
11
|
+
gifObject,
|
|
12
|
+
getCachePathMethod,
|
|
13
|
+
TextComponent
|
|
14
|
+
}) => {
|
|
15
|
+
const [size, setSize] = useState(null);
|
|
16
|
+
const [pathOrUri, setPathOrUri] = useState('');
|
|
17
|
+
const t = useText();
|
|
18
|
+
useLayoutEffect(() => {
|
|
19
|
+
const loadImageSize = async () => {
|
|
20
|
+
const path = getCachePathMethod ? (await getCachePathMethod(gifObject.url)) || gifObject.url : gifObject.url;
|
|
21
|
+
Image.getSize(path, (width, height) => {
|
|
22
|
+
setSize({
|
|
23
|
+
width: Math.max(MIN_GIF_SIZE, Math.min(MAX_GIF_SIZE.WIDTH, width)),
|
|
24
|
+
height: Math.max(MIN_GIF_SIZE, Math.min(MAX_GIF_SIZE.HEIGHT, height))
|
|
25
|
+
});
|
|
26
|
+
setPathOrUri(path);
|
|
27
|
+
});
|
|
28
|
+
};
|
|
29
|
+
loadImageSize();
|
|
30
|
+
}, [gifObject.url]);
|
|
31
|
+
return /*#__PURE__*/_jsx(View, {
|
|
32
|
+
style: styles.backgroundContainer,
|
|
33
|
+
children: /*#__PURE__*/_jsxs(View, {
|
|
34
|
+
style: styles.container,
|
|
35
|
+
children: [size && pathOrUri && /*#__PURE__*/_jsx(Image, {
|
|
36
|
+
alt: "Funny celebration animated image",
|
|
37
|
+
source: {
|
|
38
|
+
uri: pathOrUri
|
|
39
|
+
},
|
|
40
|
+
width: size.width,
|
|
41
|
+
height: size.height,
|
|
42
|
+
style: [styles.image, {
|
|
43
|
+
width: size.width,
|
|
44
|
+
height: size.height
|
|
45
|
+
}] //this sizes duplication is needed for compatibility with web and rn
|
|
46
|
+
}), /*#__PURE__*/_jsx(View, {
|
|
47
|
+
style: styles.textContainer,
|
|
48
|
+
children: TextComponent(t(getGifLabel(Number(gifObject.group.replace('group', '')))))
|
|
49
|
+
})]
|
|
50
|
+
})
|
|
51
|
+
});
|
|
52
|
+
};
|
|
53
|
+
const styles = StyleSheet.create({
|
|
54
|
+
backgroundContainer: {
|
|
55
|
+
backgroundColor: 'rgba(255, 255, 255, 0.6)',
|
|
56
|
+
borderRadius: 23,
|
|
57
|
+
padding: SPACING[200]
|
|
58
|
+
},
|
|
59
|
+
container: {
|
|
60
|
+
padding: SPACING[1600],
|
|
61
|
+
borderRadius: BORDER_RADIUS[400],
|
|
62
|
+
backgroundColor: COLORS.NEUTRAL_1
|
|
63
|
+
},
|
|
64
|
+
image: {
|
|
65
|
+
borderRadius: BORDER_RADIUS[100]
|
|
66
|
+
},
|
|
67
|
+
textContainer: {
|
|
68
|
+
position: 'absolute',
|
|
69
|
+
bottom: 74,
|
|
70
|
+
alignSelf: 'center'
|
|
71
|
+
}
|
|
72
|
+
});
|
|
73
|
+
//# sourceMappingURL=Gif.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"names":["StyleSheet","View","Image","React","useLayoutEffect","useState","BORDER_RADIUS","COLORS","SPACING","MAX_GIF_SIZE","MIN_GIF_SIZE","useText","getGifLabel","jsx","_jsx","jsxs","_jsxs","Gif","gifObject","getCachePathMethod","TextComponent","size","setSize","pathOrUri","setPathOrUri","t","loadImageSize","path","url","getSize","width","height","Math","max","min","WIDTH","HEIGHT","style","styles","backgroundContainer","children","container","alt","source","uri","image","textContainer","Number","group","replace","create","backgroundColor","borderRadius","padding","NEUTRAL_1","position","bottom","alignSelf"],"sourceRoot":"../../../../../src","sources":["features/gifCelebrations/components/Gif.tsx"],"mappings":"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","ignoreList":[]}
|
|
@@ -0,0 +1,98 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
|
|
3
|
+
import { StyleSheet, View, Image, Platform } from 'react-native';
|
|
4
|
+
import React from 'react';
|
|
5
|
+
import { BORDER_RADIUS, COLORS, HeadingVariants, SPACING, Typography } from '@magmamath/react-native-ui';
|
|
6
|
+
import Animated, { useAnimatedStyle, interpolate } from 'react-native-reanimated';
|
|
7
|
+
import confettiImage from '../assets/confetti.webp';
|
|
8
|
+
import { jsx as _jsx, jsxs as _jsxs } from "react/jsx-runtime";
|
|
9
|
+
const MIN_WIDTH_FOR_ONE_DIGIT = 12;
|
|
10
|
+
const MIN_WIDTH_FOR_TWO_DIGITS = 15;
|
|
11
|
+
const IS_WEB = Platform.OS === 'web';
|
|
12
|
+
export const Progress = ({
|
|
13
|
+
progress,
|
|
14
|
+
completedPercent
|
|
15
|
+
}) => {
|
|
16
|
+
const progressLineWidth = (() => {
|
|
17
|
+
if (completedPercent <= 9) {
|
|
18
|
+
return MIN_WIDTH_FOR_ONE_DIGIT;
|
|
19
|
+
}
|
|
20
|
+
if (completedPercent <= 15) {
|
|
21
|
+
return MIN_WIDTH_FOR_TWO_DIGITS;
|
|
22
|
+
}
|
|
23
|
+
return completedPercent;
|
|
24
|
+
})();
|
|
25
|
+
const animatedStyles = useAnimatedStyle(() => ({
|
|
26
|
+
width: `${interpolate(progress.value, [0, 1, 2], [0, progressLineWidth, progressLineWidth])}%`
|
|
27
|
+
}), [progress, progressLineWidth]);
|
|
28
|
+
return /*#__PURE__*/_jsx(View, {
|
|
29
|
+
style: styles.backgroundContainer,
|
|
30
|
+
children: /*#__PURE__*/_jsxs(View, {
|
|
31
|
+
style: styles.container,
|
|
32
|
+
children: [/*#__PURE__*/_jsx(View, {
|
|
33
|
+
style: styles.progressContainer,
|
|
34
|
+
children: /*#__PURE__*/_jsx(Animated.View, {
|
|
35
|
+
style: [styles.progress, animatedStyles],
|
|
36
|
+
children: /*#__PURE__*/_jsx(Typography, {
|
|
37
|
+
variant: HeadingVariants.H1,
|
|
38
|
+
style: styles.percent,
|
|
39
|
+
children: `${completedPercent}%`
|
|
40
|
+
})
|
|
41
|
+
})
|
|
42
|
+
}), /*#__PURE__*/_jsx(Image, {
|
|
43
|
+
source: IS_WEB ? {
|
|
44
|
+
uri: confettiImage
|
|
45
|
+
} : require('../assets/confetti.webp'),
|
|
46
|
+
style: styles.confetti
|
|
47
|
+
})]
|
|
48
|
+
})
|
|
49
|
+
});
|
|
50
|
+
};
|
|
51
|
+
const styles = StyleSheet.create({
|
|
52
|
+
backgroundContainer: {
|
|
53
|
+
backgroundColor: 'rgba(255, 255, 255, 0.6)',
|
|
54
|
+
borderRadius: 23,
|
|
55
|
+
padding: SPACING[200],
|
|
56
|
+
width: '100%'
|
|
57
|
+
},
|
|
58
|
+
container: {
|
|
59
|
+
width: '100%',
|
|
60
|
+
height: 116,
|
|
61
|
+
flexDirection: 'row',
|
|
62
|
+
alignItems: 'center',
|
|
63
|
+
borderRadius: BORDER_RADIUS[400],
|
|
64
|
+
backgroundColor: COLORS.NEUTRAL_1,
|
|
65
|
+
paddingLeft: SPACING[400],
|
|
66
|
+
paddingRight: SPACING[200],
|
|
67
|
+
gap: SPACING[100]
|
|
68
|
+
},
|
|
69
|
+
progressContainer: {
|
|
70
|
+
height: 50,
|
|
71
|
+
flexGrow: 1,
|
|
72
|
+
backgroundColor: COLORS.NEUTRAL_5,
|
|
73
|
+
borderRadius: 90,
|
|
74
|
+
overflow: 'hidden'
|
|
75
|
+
},
|
|
76
|
+
progress: {
|
|
77
|
+
position: 'absolute',
|
|
78
|
+
height: '100%',
|
|
79
|
+
backgroundColor: COLORS.PRIMARY_BLUE,
|
|
80
|
+
borderRadius: BORDER_RADIUS[200],
|
|
81
|
+
justifyContent: 'center',
|
|
82
|
+
alignItems: 'flex-end',
|
|
83
|
+
paddingRight: 10.6,
|
|
84
|
+
overflow: 'hidden'
|
|
85
|
+
},
|
|
86
|
+
confetti: {
|
|
87
|
+
width: 75,
|
|
88
|
+
height: 70,
|
|
89
|
+
marginHorizontal: SPACING[200]
|
|
90
|
+
},
|
|
91
|
+
percent: {
|
|
92
|
+
position: 'absolute',
|
|
93
|
+
paddingRight: 10,
|
|
94
|
+
color: COLORS.NEUTRAL_1,
|
|
95
|
+
fontWeight: '700'
|
|
96
|
+
}
|
|
97
|
+
});
|
|
98
|
+
//# sourceMappingURL=Progress.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"names":["StyleSheet","View","Image","Platform","React","BORDER_RADIUS","COLORS","HeadingVariants","SPACING","Typography","Animated","useAnimatedStyle","interpolate","confettiImage","jsx","_jsx","jsxs","_jsxs","MIN_WIDTH_FOR_ONE_DIGIT","MIN_WIDTH_FOR_TWO_DIGITS","IS_WEB","OS","Progress","progress","completedPercent","progressLineWidth","animatedStyles","width","value","style","styles","backgroundContainer","children","container","progressContainer","variant","H1","percent","source","uri","require","confetti","create","backgroundColor","borderRadius","padding","height","flexDirection","alignItems","NEUTRAL_1","paddingLeft","paddingRight","gap","flexGrow","NEUTRAL_5","overflow","position","PRIMARY_BLUE","justifyContent","marginHorizontal","color","fontWeight"],"sourceRoot":"../../../../../src","sources":["features/gifCelebrations/components/Progress.tsx"],"mappings":"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","ignoreList":[]}
|
|
@@ -0,0 +1,26 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
|
|
3
|
+
export const BACKDROP_COLOR = {
|
|
4
|
+
INITIAL: 'rgba(51, 51, 51, 0)',
|
|
5
|
+
FINAL: 'rgba(51, 51, 51, 0.66)'
|
|
6
|
+
};
|
|
7
|
+
export const CONTENT_CONTAINER = {
|
|
8
|
+
ANGLE: 5,
|
|
9
|
+
CONTAINER_WIDTH: 769,
|
|
10
|
+
SAFE_AREA: 44 // to be sure that the content is not cut off on the edges because of rotate transform
|
|
11
|
+
};
|
|
12
|
+
export const ANIMATION_DURATION = 1750;
|
|
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 MIN_GIF_SIZE = 300;
|
|
19
|
+
export const GROUPS_PERCENTAGES = {
|
|
20
|
+
group1: [15, 20, 25, 30],
|
|
21
|
+
// Early celebrations
|
|
22
|
+
group2: [33, 40, 45, 50],
|
|
23
|
+
// Mid celebrations
|
|
24
|
+
group3: [60, 66, 75, 80] // Party
|
|
25
|
+
};
|
|
26
|
+
//# sourceMappingURL=constants.js.map
|
|
@@ -0,0 +1 @@
|
|
|
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","MIN_GIF_SIZE","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;AACD,OAAO,MAAMC,YAAY,GAAG,GAAG;AAE/B,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":[]}
|
|
@@ -0,0 +1,64 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
|
|
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
|
+
*/
|
|
17
|
+
export const calculatePercentageTable = totalProblems => {
|
|
18
|
+
if (totalProblems <= 12) return {
|
|
19
|
+
50: Math.ceil(totalProblems * 0.5)
|
|
20
|
+
};
|
|
21
|
+
if (totalProblems <= 18) {
|
|
22
|
+
return {
|
|
23
|
+
33: Math.ceil(totalProblems * 0.33),
|
|
24
|
+
66: Math.ceil(totalProblems * 0.66)
|
|
25
|
+
};
|
|
26
|
+
}
|
|
27
|
+
if (totalProblems <= 24) {
|
|
28
|
+
return {
|
|
29
|
+
25: Math.ceil(totalProblems * 0.25),
|
|
30
|
+
50: Math.ceil(totalProblems * 0.5),
|
|
31
|
+
75: Math.ceil(totalProblems * 0.75)
|
|
32
|
+
};
|
|
33
|
+
}
|
|
34
|
+
if (totalProblems <= 30) {
|
|
35
|
+
return {
|
|
36
|
+
20: Math.ceil(totalProblems * 0.2),
|
|
37
|
+
40: Math.ceil(totalProblems * 0.4),
|
|
38
|
+
60: Math.ceil(totalProblems * 0.6),
|
|
39
|
+
80: Math.ceil(totalProblems * 0.8)
|
|
40
|
+
};
|
|
41
|
+
}
|
|
42
|
+
return {
|
|
43
|
+
15: Math.ceil(totalProblems * 0.15),
|
|
44
|
+
30: Math.ceil(totalProblems * 0.3),
|
|
45
|
+
45: Math.ceil(totalProblems * 0.45),
|
|
46
|
+
60: Math.ceil(totalProblems * 0.6),
|
|
47
|
+
75: Math.ceil(totalProblems * 0.75)
|
|
48
|
+
};
|
|
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
|
+
}))]));
|
|
55
|
+
export const getGifLabel = relatedGroup => {
|
|
56
|
+
if (relatedGroup === 2) {
|
|
57
|
+
return 'gifCelebrations.onTheWay';
|
|
58
|
+
}
|
|
59
|
+
if (relatedGroup === 3) {
|
|
60
|
+
return 'gifCelebrations.almostThere';
|
|
61
|
+
}
|
|
62
|
+
return 'gifCelebrations.greatStart';
|
|
63
|
+
};
|
|
64
|
+
//# sourceMappingURL=helpers.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"names":["calculatePercentageTable","totalProblems","Math","ceil","generateGifsStructure","gifs","Object","fromEntries","entries","map","key","value","url","isShown","group","getGifLabel","relatedGroup"],"sourceRoot":"../../../../src","sources":["features/gifCelebrations/helpers.ts"],"mappings":";;AAGA;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;AAEH,OAAO,MAAMK,WAAW,GAAIC,YAAyB,IAAsB;EACzE,IAAIA,YAAY,KAAK,CAAC,EAAE;IACtB,OAAO,0BAA0B;EACnC;EACA,IAAIA,YAAY,KAAK,CAAC,EAAE;IACtB,OAAO,6BAA6B;EACtC;EAEA,OAAO,4BAA4B;AACrC,CAAC","ignoreList":[]}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"names":["GifCelebrations","GifCelebrationsModel"],"sourceRoot":"../../../../src","sources":["features/gifCelebrations/index.ts"],"mappings":";;AAAA,SAASA,eAAe,QAAQ,sBAAmB;AACnD,SAASC,oBAAoB,QAAQ,kCAA+B","ignoreList":[]}
|
|
@@ -0,0 +1,27 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
|
|
3
|
+
import { createEffect, createEvent, createStore } from 'effector';
|
|
4
|
+
import { generateGifsStructure } from "../helpers.js";
|
|
5
|
+
import { Image } from 'react-native';
|
|
6
|
+
export class GifCelebrationsCache {
|
|
7
|
+
initialSet = createEvent();
|
|
8
|
+
set = createEvent();
|
|
9
|
+
reset = createEvent();
|
|
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
|
+
}
|
|
26
|
+
}
|
|
27
|
+
//# sourceMappingURL=GifCelebrations.cache.js.map
|
|
@@ -0,0 +1 @@
|
|
|
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":[]}
|
|
@@ -0,0 +1,120 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
|
|
3
|
+
import { createEffect, createEvent, createStore, sample } from 'effector';
|
|
4
|
+
import { GifCelebrationsApi } from "./GifCelebrationsApi.js";
|
|
5
|
+
import { GifCelebrationsCache } from "./GifCelebrations.cache.js";
|
|
6
|
+
import { calculatePercentageTable } from "../helpers.js";
|
|
7
|
+
import { GROUPS_PERCENTAGES, MIN_PROBLEMS_TO_SHOW_GIF } from "../constants.js";
|
|
8
|
+
export class GifCelebrationsModel {
|
|
9
|
+
triggerPlay = createEvent();
|
|
10
|
+
stop = createEvent();
|
|
11
|
+
resetIsGifCelebrationMayBeTriggered = createEvent();
|
|
12
|
+
setIsGifCelebrationMayBeTriggered = createEvent();
|
|
13
|
+
$isGifCelebrationMayBeTriggered = createStore(false).reset(this.resetIsGifCelebrationMayBeTriggered).reset(this.stop).on(this.setIsGifCelebrationMayBeTriggered, (_, isGifCelebrationMayBeTriggered) => isGifCelebrationMayBeTriggered);
|
|
14
|
+
resetPercentageTable = createEvent();
|
|
15
|
+
$problemsPercentageTable = createStore(null).reset(this.resetPercentageTable);
|
|
16
|
+
setActiveGif = createEvent();
|
|
17
|
+
$activeGif = createStore(null).reset(this.stop).reset(this.resetIsGifCelebrationMayBeTriggered).on(this.setActiveGif, (_, gif) => gif);
|
|
18
|
+
initialize = createEvent();
|
|
19
|
+
resetGroupGifs = createEvent();
|
|
20
|
+
constructor({
|
|
21
|
+
api,
|
|
22
|
+
totalProblems,
|
|
23
|
+
resolvedProblems,
|
|
24
|
+
customPrefetchMethod,
|
|
25
|
+
customGetCachePathMethod
|
|
26
|
+
}) {
|
|
27
|
+
this.api = new GifCelebrationsApi(api);
|
|
28
|
+
this.cache = new GifCelebrationsCache({
|
|
29
|
+
customPrefetchMethod,
|
|
30
|
+
customGetCachePathMethod
|
|
31
|
+
});
|
|
32
|
+
this.$totalProblems = totalProblems;
|
|
33
|
+
this.$resolvedProblems = resolvedProblems;
|
|
34
|
+
this.setupEventHandlers();
|
|
35
|
+
}
|
|
36
|
+
setupEventHandlers() {
|
|
37
|
+
sample({
|
|
38
|
+
source: this.api.getGifsFx.doneData,
|
|
39
|
+
filter: response => response.ok,
|
|
40
|
+
fn: response => response.data,
|
|
41
|
+
target: this.cache.prefetchGifs
|
|
42
|
+
});
|
|
43
|
+
sample({
|
|
44
|
+
clock: this.initialize,
|
|
45
|
+
source: this.cache.$gifs,
|
|
46
|
+
filter: gifs => !gifs,
|
|
47
|
+
target: this.api.getGifsFx
|
|
48
|
+
});
|
|
49
|
+
sample({
|
|
50
|
+
//todo: fix types
|
|
51
|
+
//@ts-ignore
|
|
52
|
+
clock: [this.initialize, this.$totalProblems.updates],
|
|
53
|
+
source: this.$totalProblems,
|
|
54
|
+
filter: totalProblems => totalProblems && totalProblems >= MIN_PROBLEMS_TO_SHOW_GIF,
|
|
55
|
+
fn: totalProblems => calculatePercentageTable(totalProblems),
|
|
56
|
+
target: this.$problemsPercentageTable
|
|
57
|
+
});
|
|
58
|
+
sample({
|
|
59
|
+
clock: this.triggerPlay,
|
|
60
|
+
source: {
|
|
61
|
+
isGifCelebrationMayBeTriggered: this.$isGifCelebrationMayBeTriggered,
|
|
62
|
+
gifsGroups: this.cache.$gifs,
|
|
63
|
+
resolvedProblem: this.$resolvedProblems,
|
|
64
|
+
problemsPercentageTable: this.$problemsPercentageTable
|
|
65
|
+
},
|
|
66
|
+
filter: ({
|
|
67
|
+
isGifCelebrationMayBeTriggered,
|
|
68
|
+
gifsGroups,
|
|
69
|
+
resolvedProblem,
|
|
70
|
+
problemsPercentageTable
|
|
71
|
+
}) => !!(isGifCelebrationMayBeTriggered && gifsGroups && resolvedProblem !== undefined && problemsPercentageTable),
|
|
72
|
+
fn: sources => sources,
|
|
73
|
+
target: this.handleGifSelection
|
|
74
|
+
});
|
|
75
|
+
}
|
|
76
|
+
handleGifSelection = createEffect(({
|
|
77
|
+
gifsGroups,
|
|
78
|
+
resolvedProblem,
|
|
79
|
+
problemsPercentageTable
|
|
80
|
+
}) => {
|
|
81
|
+
const percentageMilestone = Object.keys(problemsPercentageTable).find(key => problemsPercentageTable[Number(key)] === resolvedProblem);
|
|
82
|
+
if (!percentageMilestone) return null;
|
|
83
|
+
const groupName = this.findGroupForPercentage(Number(percentageMilestone));
|
|
84
|
+
if (!groupName) return null;
|
|
85
|
+
const gifsForGroup = gifsGroups[groupName];
|
|
86
|
+
if (!gifsForGroup || gifsForGroup.length === 0) return null;
|
|
87
|
+
const unusedGifIndex = gifsForGroup.findIndex(gif => !gif.isShown);
|
|
88
|
+
if (unusedGifIndex === -1) {
|
|
89
|
+
const updatedGifsGroups = {
|
|
90
|
+
...gifsGroups
|
|
91
|
+
};
|
|
92
|
+
updatedGifsGroups[groupName] = gifsGroups[groupName].map(gif => ({
|
|
93
|
+
...gif,
|
|
94
|
+
isShown: false
|
|
95
|
+
}));
|
|
96
|
+
const gifObject = {
|
|
97
|
+
...updatedGifsGroups[groupName][0],
|
|
98
|
+
isShown: true
|
|
99
|
+
};
|
|
100
|
+
updatedGifsGroups[groupName][0].isShown = true;
|
|
101
|
+
this.setActiveGif(gifObject);
|
|
102
|
+
this.cache.set(updatedGifsGroups);
|
|
103
|
+
}
|
|
104
|
+
const selectedGif = gifsForGroup[unusedGifIndex];
|
|
105
|
+
const gifObject = {
|
|
106
|
+
...selectedGif,
|
|
107
|
+
isShown: true
|
|
108
|
+
};
|
|
109
|
+
const updatedGifsGroups = {
|
|
110
|
+
...gifsGroups
|
|
111
|
+
};
|
|
112
|
+
updatedGifsGroups[groupName][unusedGifIndex].isShown = true;
|
|
113
|
+
this.cache.set(updatedGifsGroups);
|
|
114
|
+
this.setActiveGif(gifObject);
|
|
115
|
+
});
|
|
116
|
+
findGroupForPercentage(percentage) {
|
|
117
|
+
return Object.keys(GROUPS_PERCENTAGES).find(key => GROUPS_PERCENTAGES[key].includes(percentage));
|
|
118
|
+
}
|
|
119
|
+
}
|
|
120
|
+
//# sourceMappingURL=GifCelebrations.model.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"names":["createEffect","createEvent","createStore","sample","GifCelebrationsApi","GifCelebrationsCache","calculatePercentageTable","GROUPS_PERCENTAGES","MIN_PROBLEMS_TO_SHOW_GIF","GifCelebrationsModel","triggerPlay","stop","resetIsGifCelebrationMayBeTriggered","setIsGifCelebrationMayBeTriggered","$isGifCelebrationMayBeTriggered","reset","on","_","isGifCelebrationMayBeTriggered","resetPercentageTable","$problemsPercentageTable","setActiveGif","$activeGif","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","updates","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":[]}
|
|
@@ -0,0 +1,9 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
|
|
3
|
+
import { createControllerEffect } from "./../../../lib/effector/createControllerEffect.js";
|
|
4
|
+
export class GifCelebrationsApi {
|
|
5
|
+
constructor(api) {
|
|
6
|
+
this.getGifsFx = createControllerEffect(api.getGifs);
|
|
7
|
+
}
|
|
8
|
+
}
|
|
9
|
+
//# sourceMappingURL=GifCelebrationsApi.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"names":["createControllerEffect","GifCelebrationsApi","constructor","api","getGifsFx","getGifs"],"sourceRoot":"../../../../../src","sources":["features/gifCelebrations/model/GifCelebrationsApi.ts"],"mappings":";;AAAA,SAASA,sBAAsB,QAAQ,mDAAgD;AAGvF,OAAO,MAAMC,kBAAkB,CAAC;EAG9BC,WAAWA,CAACC,GAA8B,EAAE;IAC1C,IAAI,CAACC,SAAS,GAAGJ,sBAAsB,CAACG,GAAG,CAACE,OAAO,CAAC;EACtD;AACF","ignoreList":[]}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"names":[],"sourceRoot":"../../../../../src","sources":["features/gifCelebrations/types/model.types.ts"],"mappings":"","ignoreList":[]}
|
package/dist/module/index.js
CHANGED
|
@@ -8,4 +8,5 @@ export * from "./features/celebrations/index.js";
|
|
|
8
8
|
export * from "./features/endOfAssignment/index.js";
|
|
9
9
|
export * from "./features/formulaSheet/index.js";
|
|
10
10
|
export * from "./features/problemSelector/index.js";
|
|
11
|
+
export * from "./features/gifCelebrations/index.js";
|
|
11
12
|
//# sourceMappingURL=index.js.map
|
package/dist/module/index.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"names":["useFeaturesLocalization","setFeaturesLocalization","Locale","generateRandomId"],"sourceRoot":"../../src","sources":["index.ts"],"mappings":";;AAAA,SAASA,uBAAuB,EAAEC,uBAAuB,EAAEC,MAAM,QAAQ,+BAAsB;AAC/F,SAASC,gBAAgB,QAAQ,0BAAuB;AACxD,cAAc,6BAAoB;AAClC,cAAc,8BAAqB;AACnC,cAAc,kCAAyB;AACvC,cAAc,qCAA4B;AAC1C,cAAc,kCAAyB;AACvC,cAAc,qCAA4B","ignoreList":[]}
|
|
1
|
+
{"version":3,"names":["useFeaturesLocalization","setFeaturesLocalization","Locale","generateRandomId"],"sourceRoot":"../../src","sources":["index.ts"],"mappings":";;AAAA,SAASA,uBAAuB,EAAEC,uBAAuB,EAAEC,MAAM,QAAQ,+BAAsB;AAC/F,SAASC,gBAAgB,QAAQ,0BAAuB;AACxD,cAAc,6BAAoB;AAClC,cAAc,8BAAqB;AACnC,cAAc,kCAAyB;AACvC,cAAc,qCAA4B;AAC1C,cAAc,kCAAyB;AACvC,cAAc,qCAA4B;AAC1C,cAAc,qCAA4B","ignoreList":[]}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"names":[],"sourceRoot":"../../src","sources":["react-app-env.d.ts"],"mappings":"","ignoreList":[]}
|
|
@@ -18,5 +18,10 @@
|
|
|
18
18
|
"errorMessage": "Something went wrong! Try again",
|
|
19
19
|
"howCanIHelp": "Hi! Do you want help?",
|
|
20
20
|
"showError": "Show error"
|
|
21
|
+
},
|
|
22
|
+
"gifCelebrations": {
|
|
23
|
+
"greatStart": "Great start!",
|
|
24
|
+
"onTheWay": "On the way!",
|
|
25
|
+
"almostThere": "Almost there"
|
|
21
26
|
}
|
|
22
27
|
}
|
|
@@ -18,5 +18,10 @@
|
|
|
18
18
|
"errorMessage": "Something went wrong! Try again",
|
|
19
19
|
"howCanIHelp": "Hi! Do you want help?",
|
|
20
20
|
"showError": "Show error"
|
|
21
|
+
},
|
|
22
|
+
"gifCelebrations": {
|
|
23
|
+
"greatStart": "Great start!",
|
|
24
|
+
"onTheWay": "On the way!",
|
|
25
|
+
"almostThere": "Almost there"
|
|
21
26
|
}
|
|
22
27
|
}
|
|
@@ -18,5 +18,10 @@
|
|
|
18
18
|
"errorMessage": "Något gick snett! Försök igen",
|
|
19
19
|
"howCanIHelp": "Hej! Hur kan jag hjälpa dig?",
|
|
20
20
|
"showError": "Visa fel"
|
|
21
|
+
},
|
|
22
|
+
"gifCelebrations": {
|
|
23
|
+
"greatStart": "Bra start!",
|
|
24
|
+
"onTheWay": "På god väg!",
|
|
25
|
+
"almostThere": "Nästan där"
|
|
21
26
|
}
|
|
22
27
|
}
|
|
@@ -0,0 +1,10 @@
|
|
|
1
|
+
import React from 'react';
|
|
2
|
+
import { GifCelebrationsModel } from './model/GifCelebrations.model';
|
|
3
|
+
import { TextComponentType } from './types/model.types';
|
|
4
|
+
type GifCelebrationsProps = {
|
|
5
|
+
model: GifCelebrationsModel;
|
|
6
|
+
TextComponent: TextComponentType;
|
|
7
|
+
};
|
|
8
|
+
export declare const GifCelebrations: ({ model, TextComponent }: GifCelebrationsProps) => React.JSX.Element | null;
|
|
9
|
+
export {};
|
|
10
|
+
//# sourceMappingURL=GifCelebrations.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"GifCelebrations.d.ts","sourceRoot":"","sources":["../../../../../src/features/gifCelebrations/GifCelebrations.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAoB,MAAM,OAAO,CAAA;AAQxC,OAAO,EAAE,oBAAoB,EAAE,MAAM,+BAA+B,CAAA;AACpE,OAAO,EAAiB,iBAAiB,EAAE,MAAM,qBAAqB,CAAA;AAEtE,KAAK,oBAAoB,GAAG;IAC1B,KAAK,EAAE,oBAAoB,CAAA;IAC3B,aAAa,EAAE,iBAAiB,CAAA;CACjC,CAAA;AAED,eAAO,MAAM,eAAe,6BAA8B,oBAAoB,6BA4D7E,CAAA"}
|
|
@@ -0,0 +1,10 @@
|
|
|
1
|
+
import React from 'react';
|
|
2
|
+
import { SharedValue } from 'react-native-reanimated';
|
|
3
|
+
import { ProgressValue } from '../types/model.types';
|
|
4
|
+
type BackdropProps = {
|
|
5
|
+
children: React.ReactNode;
|
|
6
|
+
progress: SharedValue<ProgressValue>;
|
|
7
|
+
};
|
|
8
|
+
export declare const Backdrop: ({ children, progress }: BackdropProps) => React.JSX.Element;
|
|
9
|
+
export {};
|
|
10
|
+
//# sourceMappingURL=Backdrop.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"Backdrop.d.ts","sourceRoot":"","sources":["../../../../../../src/features/gifCelebrations/components/Backdrop.tsx"],"names":[],"mappings":"AACA,OAAO,KAAK,MAAM,OAAO,CAAA;AACzB,OAAiB,EAAsC,WAAW,EAAE,MAAM,yBAAyB,CAAA;AAEnG,OAAO,EAAE,aAAa,EAAE,MAAM,sBAAsB,CAAA;AAEpD,KAAK,aAAa,GAAG;IACnB,QAAQ,EAAE,KAAK,CAAC,SAAS,CAAA;IACzB,QAAQ,EAAE,WAAW,CAAC,aAAa,CAAC,CAAA;CACrC,CAAA;AAED,eAAO,MAAM,QAAQ,2BAA4B,aAAa,sBAmB7D,CAAA"}
|
|
@@ -0,0 +1,10 @@
|
|
|
1
|
+
import React from 'react';
|
|
2
|
+
import { SharedValue } from 'react-native-reanimated';
|
|
3
|
+
import { ProgressValue } from '../types/model.types';
|
|
4
|
+
type ContentContainerProps = {
|
|
5
|
+
children: React.ReactNode;
|
|
6
|
+
progress: SharedValue<ProgressValue>;
|
|
7
|
+
};
|
|
8
|
+
export declare const ContentContainer: ({ children, progress }: ContentContainerProps) => React.JSX.Element;
|
|
9
|
+
export {};
|
|
10
|
+
//# sourceMappingURL=ContentContainer.d.ts.map
|
package/dist/typescript/commonjs/features/gifCelebrations/components/ContentContainer.d.ts.map
ADDED
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"ContentContainer.d.ts","sourceRoot":"","sources":["../../../../../../src/features/gifCelebrations/components/ContentContainer.tsx"],"names":[],"mappings":"AACA,OAAO,KAAK,MAAM,OAAO,CAAA;AAEzB,OAAiB,EAAiC,WAAW,EAAE,MAAM,yBAAyB,CAAA;AAE9F,OAAO,EAAE,aAAa,EAAE,MAAM,sBAAsB,CAAA;AAEpD,KAAK,qBAAqB,GAAG;IAC3B,QAAQ,EAAE,KAAK,CAAC,SAAS,CAAA;IACzB,QAAQ,EAAE,WAAW,CAAC,aAAa,CAAC,CAAA;CACrC,CAAA;AAED,eAAO,MAAM,gBAAgB,2BAA4B,qBAAqB,sBAsB7E,CAAA"}
|
|
@@ -0,0 +1,10 @@
|
|
|
1
|
+
import React from 'react';
|
|
2
|
+
import { CustomGetCachePathMethod, GifObject, TextComponentType } from '../types/model.types';
|
|
3
|
+
type GifProps = {
|
|
4
|
+
gifObject: GifObject;
|
|
5
|
+
getCachePathMethod?: CustomGetCachePathMethod;
|
|
6
|
+
TextComponent: TextComponentType;
|
|
7
|
+
};
|
|
8
|
+
export declare const Gif: ({ gifObject, getCachePathMethod, TextComponent }: GifProps) => React.JSX.Element;
|
|
9
|
+
export {};
|
|
10
|
+
//# sourceMappingURL=Gif.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
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,SAAS,EAAE,iBAAiB,EAAE,MAAM,sBAAsB,CAAA;AAK7F,KAAK,QAAQ,GAAG;IACd,SAAS,EAAE,SAAS,CAAA;IACpB,kBAAkB,CAAC,EAAE,wBAAwB,CAAA;IAC7C,aAAa,EAAE,iBAAiB,CAAA;CACjC,CAAA;AAOD,eAAO,MAAM,GAAG,qDAAsD,QAAQ,sBA6C7E,CAAA"}
|
|
@@ -0,0 +1,10 @@
|
|
|
1
|
+
import React from 'react';
|
|
2
|
+
import { SharedValue } from 'react-native-reanimated';
|
|
3
|
+
import { ProgressValue } from '../types/model.types';
|
|
4
|
+
type ProgressProps = {
|
|
5
|
+
progress: SharedValue<ProgressValue>;
|
|
6
|
+
completedPercent: number;
|
|
7
|
+
};
|
|
8
|
+
export declare const Progress: ({ progress, completedPercent }: ProgressProps) => React.JSX.Element;
|
|
9
|
+
export {};
|
|
10
|
+
//# sourceMappingURL=Progress.d.ts.map
|
|
@@ -0,0 +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;AAE9F,OAAO,EAAE,aAAa,EAAE,MAAM,sBAAsB,CAAA;AAMpD,KAAK,aAAa,GAAG;IACnB,QAAQ,EAAE,WAAW,CAAC,aAAa,CAAC,CAAA;IACpC,gBAAgB,EAAE,MAAM,CAAA;CACzB,CAAA;AAED,eAAO,MAAM,QAAQ,mCAAoC,aAAa,sBA6CrE,CAAA"}
|