@magmamath/students-features 1.2.1-rc.22 → 1.2.1-rc.23
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/pmProgress/components/header/PmProgressHeader.js +27 -47
- package/dist/commonjs/features/pmProgress/components/header/PmProgressHeader.js.map +1 -1
- package/dist/commonjs/features/pmProgress/components/header/StartButton.js +114 -0
- package/dist/commonjs/features/pmProgress/components/header/StartButton.js.map +1 -0
- package/dist/module/features/pmProgress/components/header/PmProgressHeader.js +29 -49
- package/dist/module/features/pmProgress/components/header/PmProgressHeader.js.map +1 -1
- package/dist/module/features/pmProgress/components/header/StartButton.js +107 -0
- package/dist/module/features/pmProgress/components/header/StartButton.js.map +1 -0
- package/dist/typescript/commonjs/features/pmProgress/components/header/PmProgressHeader.d.ts.map +1 -1
- package/dist/typescript/commonjs/features/pmProgress/components/header/StartButton.d.ts +11 -0
- package/dist/typescript/commonjs/features/pmProgress/components/header/StartButton.d.ts.map +1 -0
- package/dist/typescript/module/features/pmProgress/components/header/PmProgressHeader.d.ts.map +1 -1
- package/dist/typescript/module/features/pmProgress/components/header/StartButton.d.ts +11 -0
- package/dist/typescript/module/features/pmProgress/components/header/StartButton.d.ts.map +1 -0
- package/package.json +1 -1
- package/src/features/pmProgress/components/header/PmProgressHeader.tsx +26 -40
- package/src/features/pmProgress/components/header/StartButton.tsx +141 -0
|
@@ -14,6 +14,7 @@ var _effectorReact = require("effector-react");
|
|
|
14
14
|
var _PmProgressContext = require("../../context/PmProgressContext.js");
|
|
15
15
|
var _pmProgressHelpers = require("../../shared/pmProgress.helpers.js");
|
|
16
16
|
var _pmProgressConstants = require("../../shared/pmProgress.constants.js");
|
|
17
|
+
var _StartButton = require("./StartButton.js");
|
|
17
18
|
var _jsxRuntime = require("react/jsx-runtime");
|
|
18
19
|
function _getRequireWildcardCache(e) { if ("function" != typeof WeakMap) return null; var r = new WeakMap(), t = new WeakMap(); return (_getRequireWildcardCache = function (e) { return e ? t : r; })(e); }
|
|
19
20
|
function _interopRequireWildcard(e, r) { if (!r && e && e.__esModule) return e; if (null === e || "object" != typeof e && "function" != typeof e) return { default: e }; var t = _getRequireWildcardCache(r); if (t && t.has(e)) return t.get(e); var n = { __proto__: null }, a = Object.defineProperty && Object.getOwnPropertyDescriptor; for (var u in e) if ("default" !== u && {}.hasOwnProperty.call(e, u)) { var i = a ? Object.getOwnPropertyDescriptor(e, u) : null; i && (i.get || i.set) ? Object.defineProperty(n, u, i) : n[u] = e[u]; } return n.default = e, t && t.set(e, n), n; }
|
|
@@ -74,32 +75,34 @@ const PmProgressHeader = () => {
|
|
|
74
75
|
})]
|
|
75
76
|
}), /*#__PURE__*/(0, _jsxRuntime.jsxs)(_reactNative.View, {
|
|
76
77
|
style: styles.nextUp,
|
|
77
|
-
children: [/*#__PURE__*/(0, _jsxRuntime.jsxs)(
|
|
78
|
-
|
|
79
|
-
|
|
80
|
-
|
|
81
|
-
|
|
82
|
-
|
|
83
|
-
|
|
84
|
-
|
|
85
|
-
|
|
86
|
-
}), /*#__PURE__*/(0, _jsxRuntime.jsxs)(_reactNative.View, {
|
|
87
|
-
style: [styles.row, styles.tilted],
|
|
88
|
-
children: [/*#__PURE__*/(0, _jsxRuntime.jsx)(_reactNativeUi.Typography, {
|
|
89
|
-
variant: _reactNativeUi.HeadingVariants.H7,
|
|
90
|
-
style: styles.muted,
|
|
91
|
-
children: nextUp?.title
|
|
92
|
-
}), /*#__PURE__*/(0, _jsxRuntime.jsx)(_reactNative.View, {
|
|
93
|
-
style: styles.diamond,
|
|
94
|
-
children: /*#__PURE__*/(0, _jsxRuntime.jsx)(_SliceDiamondIcon.SliceDiamondIcon, {
|
|
95
|
-
color: nextUp?.color
|
|
78
|
+
children: [nextUp && /*#__PURE__*/(0, _jsxRuntime.jsxs)(_jsxRuntime.Fragment, {
|
|
79
|
+
children: [/*#__PURE__*/(0, _jsxRuntime.jsxs)(_reactNative.View, {
|
|
80
|
+
style: styles.content,
|
|
81
|
+
children: [/*#__PURE__*/(0, _jsxRuntime.jsx)(_reactNative.View, {
|
|
82
|
+
style: styles.subtitle,
|
|
83
|
+
children: /*#__PURE__*/(0, _jsxRuntime.jsx)(_reactNativeUi.Typography, {
|
|
84
|
+
variant: _reactNativeUi.HeadingVariants.H2,
|
|
85
|
+
style: styles.dark,
|
|
86
|
+
children: t('pmProgress.nextUp')
|
|
96
87
|
})
|
|
88
|
+
}), /*#__PURE__*/(0, _jsxRuntime.jsxs)(_reactNative.View, {
|
|
89
|
+
style: [styles.row, styles.tilted],
|
|
90
|
+
children: [/*#__PURE__*/(0, _jsxRuntime.jsx)(_reactNativeUi.Typography, {
|
|
91
|
+
variant: _reactNativeUi.HeadingVariants.H7,
|
|
92
|
+
style: styles.muted,
|
|
93
|
+
children: nextUp?.title
|
|
94
|
+
}), /*#__PURE__*/(0, _jsxRuntime.jsx)(_reactNative.View, {
|
|
95
|
+
style: styles.diamond,
|
|
96
|
+
children: /*#__PURE__*/(0, _jsxRuntime.jsx)(_SliceDiamondIcon.SliceDiamondIcon, {
|
|
97
|
+
color: nextUp?.color
|
|
98
|
+
})
|
|
99
|
+
})]
|
|
97
100
|
})]
|
|
101
|
+
}), /*#__PURE__*/(0, _jsxRuntime.jsx)(_reactNative.View, {
|
|
102
|
+
style: styles.arrow,
|
|
103
|
+
children: /*#__PURE__*/(0, _jsxRuntime.jsx)(_SketchArrowRight.SketchArrowRight, {})
|
|
98
104
|
})]
|
|
99
|
-
}), /*#__PURE__*/(0, _jsxRuntime.jsx)(
|
|
100
|
-
style: styles.arrow,
|
|
101
|
-
children: /*#__PURE__*/(0, _jsxRuntime.jsx)(_SketchArrowRight.SketchArrowRight, {})
|
|
102
|
-
}), /*#__PURE__*/(0, _jsxRuntime.jsx)(_reactNativeUi.Button, {
|
|
105
|
+
}), /*#__PURE__*/(0, _jsxRuntime.jsx)(_StartButton.StartButton, {
|
|
103
106
|
onPress: async () => {
|
|
104
107
|
model.solving.setLoaderOpeningId(_pmProgressConstants.OpeningLoaderId.START_BUTTON);
|
|
105
108
|
const skill = await model.solving.start({
|
|
@@ -111,22 +114,7 @@ const PmProgressHeader = () => {
|
|
|
111
114
|
disabled: loaderOpeningId !== null,
|
|
112
115
|
isLoading: loaderOpeningId === _pmProgressConstants.OpeningLoaderId.START_BUTTON,
|
|
113
116
|
isActive: loaderOpeningId === _pmProgressConstants.OpeningLoaderId.START_BUTTON,
|
|
114
|
-
|
|
115
|
-
size: 16,
|
|
116
|
-
color: _reactNativeUi.COLORS.NEUTRAL_1
|
|
117
|
-
}),
|
|
118
|
-
variant: _reactNativeUi.ButtonVariant.PRIMARY,
|
|
119
|
-
size: _reactNativeUi.ButtonSize.LARGE,
|
|
120
|
-
colorScheme: _reactNativeUi.ButtonColor.YELLOW,
|
|
121
|
-
raiseLevel: 6,
|
|
122
|
-
style: {
|
|
123
|
-
container: styles.startButton
|
|
124
|
-
},
|
|
125
|
-
children: /*#__PURE__*/(0, _jsxRuntime.jsx)(_reactNativeUi.Typography, {
|
|
126
|
-
variant: _reactNativeUi.HeadingVariants.H6,
|
|
127
|
-
style: styles.startButtonText,
|
|
128
|
-
children: t('pmProgress.startButton')
|
|
129
|
-
})
|
|
117
|
+
withPulsation: !!nextUp
|
|
130
118
|
})]
|
|
131
119
|
})]
|
|
132
120
|
});
|
|
@@ -192,14 +180,6 @@ const styles = _reactNative.StyleSheet.create({
|
|
|
192
180
|
transform: [{
|
|
193
181
|
rotate: '358deg'
|
|
194
182
|
}]
|
|
195
|
-
},
|
|
196
|
-
startButton: {
|
|
197
|
-
minWidth: 145
|
|
198
|
-
},
|
|
199
|
-
startButtonText: {
|
|
200
|
-
fontWeight: '700',
|
|
201
|
-
textTransform: 'uppercase',
|
|
202
|
-
color: _reactNativeUi.COLORS.NEUTRAL_1
|
|
203
183
|
}
|
|
204
184
|
});
|
|
205
185
|
//# sourceMappingURL=PmProgressHeader.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"names":["_react","_interopRequireWildcard","require","_reactNative","_reactNativeUi","_SketchArrowRight","_SliceDiamondIcon","_index","_effectorReact","_PmProgressContext","_pmProgressHelpers","_pmProgressConstants","_jsxRuntime","_getRequireWildcardCache","e","WeakMap","r","t","__esModule","default","has","get","n","__proto__","a","Object","defineProperty","getOwnPropertyDescriptor","u","hasOwnProperty","call","i","set","PmProgressHeader","useText","model","onStartPress","usePmProgress","isDropdownOpen","setIsDropdownOpen","useState","grade","useUnit","tree","$grade","grades","useStoreMap","$grades","map","key","value","title","name","disabled","isLocked","loaderOpeningId","solving","$loaderOpeningId","nextUp","$domains","domains","find","domain","isFluency","isFluencyDomain","isCompleted","skillsCount","achieved","total","jsxs","View","style","styles","container","children","jsx","Typography","variant","HeadingVariants","H2","dark","Dropdown","isOpen","onDismiss","anchor","Button","ButtonVariant","TERTIARY","onPress","prev","H8","formatGradeName","caret","CaretUpIcon","color","COLORS","NEUTRAL_9","CaretDownIcon","Menu","menu","items","onItemPress","item","setGrade","content","subtitle","row","tilted","H7","muted","diamond","SliceDiamondIcon","arrow","SketchArrowRight","setLoaderOpeningId","OpeningLoaderId","START_BUTTON","skill","start","type","SolvingFlow","MAGMA","isLoading","isActive","
|
|
1
|
+
{"version":3,"names":["_react","_interopRequireWildcard","require","_reactNative","_reactNativeUi","_SketchArrowRight","_SliceDiamondIcon","_index","_effectorReact","_PmProgressContext","_pmProgressHelpers","_pmProgressConstants","_StartButton","_jsxRuntime","_getRequireWildcardCache","e","WeakMap","r","t","__esModule","default","has","get","n","__proto__","a","Object","defineProperty","getOwnPropertyDescriptor","u","hasOwnProperty","call","i","set","PmProgressHeader","useText","model","onStartPress","usePmProgress","isDropdownOpen","setIsDropdownOpen","useState","grade","useUnit","tree","$grade","grades","useStoreMap","$grades","map","key","value","title","name","disabled","isLocked","loaderOpeningId","solving","$loaderOpeningId","nextUp","$domains","domains","find","domain","isFluency","isFluencyDomain","isCompleted","skillsCount","achieved","total","jsxs","View","style","styles","container","children","jsx","Typography","variant","HeadingVariants","H2","dark","Dropdown","isOpen","onDismiss","anchor","Button","ButtonVariant","TERTIARY","onPress","prev","H8","formatGradeName","caret","CaretUpIcon","color","COLORS","NEUTRAL_9","CaretDownIcon","Menu","menu","items","onItemPress","item","setGrade","Fragment","content","subtitle","row","tilted","H7","muted","diamond","SliceDiamondIcon","arrow","SketchArrowRight","StartButton","setLoaderOpeningId","OpeningLoaderId","START_BUTTON","skill","start","type","SolvingFlow","MAGMA","isLoading","isActive","withPulsation","exports","StyleSheet","create","flexDirection","justifyContent","alignItems","marginBottom","SPACING","zIndex","gap","marginLeft","top","minWidth","transform","rotate","marginRight","NEUTRAL_8","bottom"],"sourceRoot":"../../../../../../src","sources":["features/pmProgress/components/header/PmProgressHeader.tsx"],"mappings":"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","ignoreList":[]}
|
|
@@ -0,0 +1,114 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
|
|
3
|
+
Object.defineProperty(exports, "__esModule", {
|
|
4
|
+
value: true
|
|
5
|
+
});
|
|
6
|
+
exports.StartButton = void 0;
|
|
7
|
+
var _react = _interopRequireWildcard(require("react"));
|
|
8
|
+
var _reactNative = require("react-native");
|
|
9
|
+
var _reactNativeUi = require("@magmamath/react-native-ui");
|
|
10
|
+
var _index = require("../../../../shared/translation/index.js");
|
|
11
|
+
var _jsxRuntime = require("react/jsx-runtime");
|
|
12
|
+
function _getRequireWildcardCache(e) { if ("function" != typeof WeakMap) return null; var r = new WeakMap(), t = new WeakMap(); return (_getRequireWildcardCache = function (e) { return e ? t : r; })(e); }
|
|
13
|
+
function _interopRequireWildcard(e, r) { if (!r && e && e.__esModule) return e; if (null === e || "object" != typeof e && "function" != typeof e) return { default: e }; var t = _getRequireWildcardCache(r); if (t && t.has(e)) return t.get(e); var n = { __proto__: null }, a = Object.defineProperty && Object.getOwnPropertyDescriptor; for (var u in e) if ("default" !== u && {}.hasOwnProperty.call(e, u)) { var i = a ? Object.getOwnPropertyDescriptor(e, u) : null; i && (i.get || i.set) ? Object.defineProperty(n, u, i) : n[u] = e[u]; } return n.default = e, t && t.set(e, n), n; }
|
|
14
|
+
const StartButton = ({
|
|
15
|
+
onPress,
|
|
16
|
+
disabled,
|
|
17
|
+
isLoading,
|
|
18
|
+
isActive,
|
|
19
|
+
withPulsation
|
|
20
|
+
}) => {
|
|
21
|
+
const t = (0, _index.useText)();
|
|
22
|
+
const [sizes, setSizes] = (0, _react.useState)(null);
|
|
23
|
+
const [aspectRatio, setAspectRatio] = (0, _react.useState)(null);
|
|
24
|
+
const showPulsation = withPulsation && sizes && aspectRatio;
|
|
25
|
+
const scaleAnimValue = (0, _react.useRef)(new _reactNative.Animated.Value(0)).current;
|
|
26
|
+
const fadeAnimValue = (0, _react.useRef)(new _reactNative.Animated.Value(1)).current;
|
|
27
|
+
const scaleAnimation = _reactNative.Animated.timing(scaleAnimValue, {
|
|
28
|
+
toValue: 1,
|
|
29
|
+
duration: 1000,
|
|
30
|
+
useNativeDriver: true
|
|
31
|
+
});
|
|
32
|
+
const fadeOutAnimation = _reactNative.Animated.timing(fadeAnimValue, {
|
|
33
|
+
toValue: 0,
|
|
34
|
+
duration: 1000,
|
|
35
|
+
useNativeDriver: true
|
|
36
|
+
});
|
|
37
|
+
const pulsationAnimation = _reactNative.Animated.loop(_reactNative.Animated.sequence([scaleAnimation, _reactNative.Animated.delay(1000), fadeOutAnimation]));
|
|
38
|
+
(0, _react.useEffect)(() => {
|
|
39
|
+
if (sizes && withPulsation) {
|
|
40
|
+
pulsationAnimation.start();
|
|
41
|
+
}
|
|
42
|
+
}, [sizes, withPulsation]);
|
|
43
|
+
return /*#__PURE__*/(0, _jsxRuntime.jsxs)(_reactNative.View, {
|
|
44
|
+
style: styles.container,
|
|
45
|
+
onLayout: event => {
|
|
46
|
+
setSizes({
|
|
47
|
+
width: event.nativeEvent.layout.width + 16,
|
|
48
|
+
height: event.nativeEvent.layout.height + 18
|
|
49
|
+
});
|
|
50
|
+
setAspectRatio(event.nativeEvent.layout.width / event.nativeEvent.layout.height);
|
|
51
|
+
},
|
|
52
|
+
children: [showPulsation && /*#__PURE__*/(0, _jsxRuntime.jsx)(_reactNative.Animated.View, {
|
|
53
|
+
style: [styles.animatedBackground, {
|
|
54
|
+
width: sizes.width,
|
|
55
|
+
height: sizes.height,
|
|
56
|
+
top: -6,
|
|
57
|
+
left: -8,
|
|
58
|
+
transform: [{
|
|
59
|
+
scaleX: scaleAnimValue.interpolate({
|
|
60
|
+
inputRange: [0, 1],
|
|
61
|
+
outputRange: [aspectRatio / 10 > 0.7 ? 0.7 : aspectRatio / 10, 1]
|
|
62
|
+
})
|
|
63
|
+
}, {
|
|
64
|
+
scaleY: scaleAnimValue.interpolate({
|
|
65
|
+
inputRange: [0, 1],
|
|
66
|
+
outputRange: [0, 1]
|
|
67
|
+
})
|
|
68
|
+
}],
|
|
69
|
+
opacity: fadeAnimValue
|
|
70
|
+
}]
|
|
71
|
+
}), /*#__PURE__*/(0, _jsxRuntime.jsx)(_reactNativeUi.Button, {
|
|
72
|
+
onPress: onPress,
|
|
73
|
+
disabled: disabled,
|
|
74
|
+
isLoading: isLoading,
|
|
75
|
+
isActive: isActive,
|
|
76
|
+
icon: /*#__PURE__*/(0, _jsxRuntime.jsx)(_reactNativeUi.PlayIcon, {
|
|
77
|
+
size: 16,
|
|
78
|
+
color: _reactNativeUi.COLORS.NEUTRAL_1
|
|
79
|
+
}),
|
|
80
|
+
variant: _reactNativeUi.ButtonVariant.PRIMARY,
|
|
81
|
+
size: _reactNativeUi.ButtonSize.LARGE,
|
|
82
|
+
colorScheme: _reactNativeUi.ButtonColor.YELLOW,
|
|
83
|
+
raiseLevel: 6,
|
|
84
|
+
style: {
|
|
85
|
+
container: styles.startButton
|
|
86
|
+
},
|
|
87
|
+
children: /*#__PURE__*/(0, _jsxRuntime.jsx)(_reactNativeUi.Typography, {
|
|
88
|
+
variant: _reactNativeUi.HeadingVariants.H6,
|
|
89
|
+
style: styles.startButtonText,
|
|
90
|
+
children: t('pmProgress.startButton')
|
|
91
|
+
})
|
|
92
|
+
})]
|
|
93
|
+
});
|
|
94
|
+
};
|
|
95
|
+
exports.StartButton = StartButton;
|
|
96
|
+
const styles = _reactNative.StyleSheet.create({
|
|
97
|
+
container: {
|
|
98
|
+
marginRight: 8
|
|
99
|
+
},
|
|
100
|
+
startButton: {
|
|
101
|
+
minWidth: 145
|
|
102
|
+
},
|
|
103
|
+
startButtonText: {
|
|
104
|
+
fontWeight: '700',
|
|
105
|
+
textTransform: 'uppercase',
|
|
106
|
+
color: _reactNativeUi.COLORS.NEUTRAL_1
|
|
107
|
+
},
|
|
108
|
+
animatedBackground: {
|
|
109
|
+
backgroundColor: '#FFBE4E66',
|
|
110
|
+
position: 'absolute',
|
|
111
|
+
borderRadius: 50
|
|
112
|
+
}
|
|
113
|
+
});
|
|
114
|
+
//# sourceMappingURL=StartButton.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"names":["_react","_interopRequireWildcard","require","_reactNative","_reactNativeUi","_index","_jsxRuntime","_getRequireWildcardCache","e","WeakMap","r","t","__esModule","default","has","get","n","__proto__","a","Object","defineProperty","getOwnPropertyDescriptor","u","hasOwnProperty","call","i","set","StartButton","onPress","disabled","isLoading","isActive","withPulsation","useText","sizes","setSizes","useState","aspectRatio","setAspectRatio","showPulsation","scaleAnimValue","useRef","Animated","Value","current","fadeAnimValue","scaleAnimation","timing","toValue","duration","useNativeDriver","fadeOutAnimation","pulsationAnimation","loop","sequence","delay","useEffect","start","jsxs","View","style","styles","container","onLayout","event","width","nativeEvent","layout","height","children","jsx","animatedBackground","top","left","transform","scaleX","interpolate","inputRange","outputRange","scaleY","opacity","Button","icon","PlayIcon","size","color","COLORS","NEUTRAL_1","variant","ButtonVariant","PRIMARY","ButtonSize","LARGE","colorScheme","ButtonColor","YELLOW","raiseLevel","startButton","Typography","HeadingVariants","H6","startButtonText","exports","StyleSheet","create","marginRight","minWidth","fontWeight","textTransform","backgroundColor","position","borderRadius"],"sourceRoot":"../../../../../../src","sources":["features/pmProgress/components/header/StartButton.tsx"],"mappings":"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","ignoreList":[]}
|
|
@@ -2,7 +2,7 @@
|
|
|
2
2
|
|
|
3
3
|
import React, { useState } from 'react';
|
|
4
4
|
import { StyleSheet, View } from 'react-native';
|
|
5
|
-
import { Button,
|
|
5
|
+
import { Button, ButtonVariant, CaretDownIcon, CaretUpIcon, COLORS, Dropdown, HeadingVariants, Menu, SPACING, Typography } from '@magmamath/react-native-ui';
|
|
6
6
|
import { SketchArrowRight } from "../../../../shared/icons/SketchArrowRight.js";
|
|
7
7
|
import { SliceDiamondIcon } from "../../../../shared/icons/SliceDiamondIcon.js";
|
|
8
8
|
import { useText } from "../../../../shared/translation/index.js";
|
|
@@ -10,7 +10,8 @@ import { useUnit, useStoreMap } from 'effector-react';
|
|
|
10
10
|
import { usePmProgress } from "../../context/PmProgressContext.js";
|
|
11
11
|
import { formatGradeName, isFluencyDomain } from "../../shared/pmProgress.helpers.js";
|
|
12
12
|
import { OpeningLoaderId, SolvingFlow } from "../../shared/pmProgress.constants.js";
|
|
13
|
-
import {
|
|
13
|
+
import { StartButton } from "./StartButton.js";
|
|
14
|
+
import { jsx as _jsx, jsxs as _jsxs, Fragment as _Fragment } from "react/jsx-runtime";
|
|
14
15
|
export const PmProgressHeader = () => {
|
|
15
16
|
const t = useText();
|
|
16
17
|
const {
|
|
@@ -68,32 +69,34 @@ export const PmProgressHeader = () => {
|
|
|
68
69
|
})]
|
|
69
70
|
}), /*#__PURE__*/_jsxs(View, {
|
|
70
71
|
style: styles.nextUp,
|
|
71
|
-
children: [/*#__PURE__*/_jsxs(
|
|
72
|
-
|
|
73
|
-
|
|
74
|
-
|
|
75
|
-
|
|
76
|
-
|
|
77
|
-
|
|
78
|
-
|
|
79
|
-
|
|
80
|
-
}), /*#__PURE__*/_jsxs(View, {
|
|
81
|
-
style: [styles.row, styles.tilted],
|
|
82
|
-
children: [/*#__PURE__*/_jsx(Typography, {
|
|
83
|
-
variant: HeadingVariants.H7,
|
|
84
|
-
style: styles.muted,
|
|
85
|
-
children: nextUp?.title
|
|
86
|
-
}), /*#__PURE__*/_jsx(View, {
|
|
87
|
-
style: styles.diamond,
|
|
88
|
-
children: /*#__PURE__*/_jsx(SliceDiamondIcon, {
|
|
89
|
-
color: nextUp?.color
|
|
72
|
+
children: [nextUp && /*#__PURE__*/_jsxs(_Fragment, {
|
|
73
|
+
children: [/*#__PURE__*/_jsxs(View, {
|
|
74
|
+
style: styles.content,
|
|
75
|
+
children: [/*#__PURE__*/_jsx(View, {
|
|
76
|
+
style: styles.subtitle,
|
|
77
|
+
children: /*#__PURE__*/_jsx(Typography, {
|
|
78
|
+
variant: HeadingVariants.H2,
|
|
79
|
+
style: styles.dark,
|
|
80
|
+
children: t('pmProgress.nextUp')
|
|
90
81
|
})
|
|
82
|
+
}), /*#__PURE__*/_jsxs(View, {
|
|
83
|
+
style: [styles.row, styles.tilted],
|
|
84
|
+
children: [/*#__PURE__*/_jsx(Typography, {
|
|
85
|
+
variant: HeadingVariants.H7,
|
|
86
|
+
style: styles.muted,
|
|
87
|
+
children: nextUp?.title
|
|
88
|
+
}), /*#__PURE__*/_jsx(View, {
|
|
89
|
+
style: styles.diamond,
|
|
90
|
+
children: /*#__PURE__*/_jsx(SliceDiamondIcon, {
|
|
91
|
+
color: nextUp?.color
|
|
92
|
+
})
|
|
93
|
+
})]
|
|
91
94
|
})]
|
|
95
|
+
}), /*#__PURE__*/_jsx(View, {
|
|
96
|
+
style: styles.arrow,
|
|
97
|
+
children: /*#__PURE__*/_jsx(SketchArrowRight, {})
|
|
92
98
|
})]
|
|
93
|
-
}), /*#__PURE__*/_jsx(
|
|
94
|
-
style: styles.arrow,
|
|
95
|
-
children: /*#__PURE__*/_jsx(SketchArrowRight, {})
|
|
96
|
-
}), /*#__PURE__*/_jsx(Button, {
|
|
99
|
+
}), /*#__PURE__*/_jsx(StartButton, {
|
|
97
100
|
onPress: async () => {
|
|
98
101
|
model.solving.setLoaderOpeningId(OpeningLoaderId.START_BUTTON);
|
|
99
102
|
const skill = await model.solving.start({
|
|
@@ -105,22 +108,7 @@ export const PmProgressHeader = () => {
|
|
|
105
108
|
disabled: loaderOpeningId !== null,
|
|
106
109
|
isLoading: loaderOpeningId === OpeningLoaderId.START_BUTTON,
|
|
107
110
|
isActive: loaderOpeningId === OpeningLoaderId.START_BUTTON,
|
|
108
|
-
|
|
109
|
-
size: 16,
|
|
110
|
-
color: COLORS.NEUTRAL_1
|
|
111
|
-
}),
|
|
112
|
-
variant: ButtonVariant.PRIMARY,
|
|
113
|
-
size: ButtonSize.LARGE,
|
|
114
|
-
colorScheme: ButtonColor.YELLOW,
|
|
115
|
-
raiseLevel: 6,
|
|
116
|
-
style: {
|
|
117
|
-
container: styles.startButton
|
|
118
|
-
},
|
|
119
|
-
children: /*#__PURE__*/_jsx(Typography, {
|
|
120
|
-
variant: HeadingVariants.H6,
|
|
121
|
-
style: styles.startButtonText,
|
|
122
|
-
children: t('pmProgress.startButton')
|
|
123
|
-
})
|
|
111
|
+
withPulsation: !!nextUp
|
|
124
112
|
})]
|
|
125
113
|
})]
|
|
126
114
|
});
|
|
@@ -185,14 +173,6 @@ const styles = StyleSheet.create({
|
|
|
185
173
|
transform: [{
|
|
186
174
|
rotate: '358deg'
|
|
187
175
|
}]
|
|
188
|
-
},
|
|
189
|
-
startButton: {
|
|
190
|
-
minWidth: 145
|
|
191
|
-
},
|
|
192
|
-
startButtonText: {
|
|
193
|
-
fontWeight: '700',
|
|
194
|
-
textTransform: 'uppercase',
|
|
195
|
-
color: COLORS.NEUTRAL_1
|
|
196
176
|
}
|
|
197
177
|
});
|
|
198
178
|
//# sourceMappingURL=PmProgressHeader.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"names":["React","useState","StyleSheet","View","Button","
|
|
1
|
+
{"version":3,"names":["React","useState","StyleSheet","View","Button","ButtonVariant","CaretDownIcon","CaretUpIcon","COLORS","Dropdown","HeadingVariants","Menu","SPACING","Typography","SketchArrowRight","SliceDiamondIcon","useText","useUnit","useStoreMap","usePmProgress","formatGradeName","isFluencyDomain","OpeningLoaderId","SolvingFlow","StartButton","jsx","_jsx","jsxs","_jsxs","Fragment","_Fragment","PmProgressHeader","t","model","onStartPress","isDropdownOpen","setIsDropdownOpen","grade","tree","$grade","grades","$grades","map","key","value","title","name","disabled","isLocked","loaderOpeningId","solving","$loaderOpeningId","nextUp","$domains","domains","find","domain","isFluency","isCompleted","skillsCount","achieved","total","style","styles","container","children","variant","H2","dark","isOpen","onDismiss","anchor","TERTIARY","onPress","prev","H8","caret","color","NEUTRAL_9","menu","items","onItemPress","item","setGrade","content","subtitle","row","tilted","H7","muted","diamond","arrow","setLoaderOpeningId","START_BUTTON","skill","start","type","MAGMA","isLoading","isActive","withPulsation","create","flexDirection","justifyContent","alignItems","marginBottom","zIndex","gap","marginLeft","top","minWidth","transform","rotate","marginRight","NEUTRAL_8","bottom"],"sourceRoot":"../../../../../../src","sources":["features/pmProgress/components/header/PmProgressHeader.tsx"],"mappings":"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","ignoreList":[]}
|
|
@@ -0,0 +1,107 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
|
|
3
|
+
import React, { useEffect, useRef, useState } from 'react';
|
|
4
|
+
import { Animated, StyleSheet, View } from 'react-native';
|
|
5
|
+
import { Button, ButtonColor, ButtonSize, ButtonVariant, COLORS, HeadingVariants, PlayIcon, Typography } from '@magmamath/react-native-ui';
|
|
6
|
+
import { useText } from "../../../../shared/translation/index.js";
|
|
7
|
+
import { jsx as _jsx, jsxs as _jsxs } from "react/jsx-runtime";
|
|
8
|
+
export const StartButton = ({
|
|
9
|
+
onPress,
|
|
10
|
+
disabled,
|
|
11
|
+
isLoading,
|
|
12
|
+
isActive,
|
|
13
|
+
withPulsation
|
|
14
|
+
}) => {
|
|
15
|
+
const t = useText();
|
|
16
|
+
const [sizes, setSizes] = useState(null);
|
|
17
|
+
const [aspectRatio, setAspectRatio] = useState(null);
|
|
18
|
+
const showPulsation = withPulsation && sizes && aspectRatio;
|
|
19
|
+
const scaleAnimValue = useRef(new Animated.Value(0)).current;
|
|
20
|
+
const fadeAnimValue = useRef(new Animated.Value(1)).current;
|
|
21
|
+
const scaleAnimation = Animated.timing(scaleAnimValue, {
|
|
22
|
+
toValue: 1,
|
|
23
|
+
duration: 1000,
|
|
24
|
+
useNativeDriver: true
|
|
25
|
+
});
|
|
26
|
+
const fadeOutAnimation = Animated.timing(fadeAnimValue, {
|
|
27
|
+
toValue: 0,
|
|
28
|
+
duration: 1000,
|
|
29
|
+
useNativeDriver: true
|
|
30
|
+
});
|
|
31
|
+
const pulsationAnimation = Animated.loop(Animated.sequence([scaleAnimation, Animated.delay(1000), fadeOutAnimation]));
|
|
32
|
+
useEffect(() => {
|
|
33
|
+
if (sizes && withPulsation) {
|
|
34
|
+
pulsationAnimation.start();
|
|
35
|
+
}
|
|
36
|
+
}, [sizes, withPulsation]);
|
|
37
|
+
return /*#__PURE__*/_jsxs(View, {
|
|
38
|
+
style: styles.container,
|
|
39
|
+
onLayout: event => {
|
|
40
|
+
setSizes({
|
|
41
|
+
width: event.nativeEvent.layout.width + 16,
|
|
42
|
+
height: event.nativeEvent.layout.height + 18
|
|
43
|
+
});
|
|
44
|
+
setAspectRatio(event.nativeEvent.layout.width / event.nativeEvent.layout.height);
|
|
45
|
+
},
|
|
46
|
+
children: [showPulsation && /*#__PURE__*/_jsx(Animated.View, {
|
|
47
|
+
style: [styles.animatedBackground, {
|
|
48
|
+
width: sizes.width,
|
|
49
|
+
height: sizes.height,
|
|
50
|
+
top: -6,
|
|
51
|
+
left: -8,
|
|
52
|
+
transform: [{
|
|
53
|
+
scaleX: scaleAnimValue.interpolate({
|
|
54
|
+
inputRange: [0, 1],
|
|
55
|
+
outputRange: [aspectRatio / 10 > 0.7 ? 0.7 : aspectRatio / 10, 1]
|
|
56
|
+
})
|
|
57
|
+
}, {
|
|
58
|
+
scaleY: scaleAnimValue.interpolate({
|
|
59
|
+
inputRange: [0, 1],
|
|
60
|
+
outputRange: [0, 1]
|
|
61
|
+
})
|
|
62
|
+
}],
|
|
63
|
+
opacity: fadeAnimValue
|
|
64
|
+
}]
|
|
65
|
+
}), /*#__PURE__*/_jsx(Button, {
|
|
66
|
+
onPress: onPress,
|
|
67
|
+
disabled: disabled,
|
|
68
|
+
isLoading: isLoading,
|
|
69
|
+
isActive: isActive,
|
|
70
|
+
icon: /*#__PURE__*/_jsx(PlayIcon, {
|
|
71
|
+
size: 16,
|
|
72
|
+
color: COLORS.NEUTRAL_1
|
|
73
|
+
}),
|
|
74
|
+
variant: ButtonVariant.PRIMARY,
|
|
75
|
+
size: ButtonSize.LARGE,
|
|
76
|
+
colorScheme: ButtonColor.YELLOW,
|
|
77
|
+
raiseLevel: 6,
|
|
78
|
+
style: {
|
|
79
|
+
container: styles.startButton
|
|
80
|
+
},
|
|
81
|
+
children: /*#__PURE__*/_jsx(Typography, {
|
|
82
|
+
variant: HeadingVariants.H6,
|
|
83
|
+
style: styles.startButtonText,
|
|
84
|
+
children: t('pmProgress.startButton')
|
|
85
|
+
})
|
|
86
|
+
})]
|
|
87
|
+
});
|
|
88
|
+
};
|
|
89
|
+
const styles = StyleSheet.create({
|
|
90
|
+
container: {
|
|
91
|
+
marginRight: 8
|
|
92
|
+
},
|
|
93
|
+
startButton: {
|
|
94
|
+
minWidth: 145
|
|
95
|
+
},
|
|
96
|
+
startButtonText: {
|
|
97
|
+
fontWeight: '700',
|
|
98
|
+
textTransform: 'uppercase',
|
|
99
|
+
color: COLORS.NEUTRAL_1
|
|
100
|
+
},
|
|
101
|
+
animatedBackground: {
|
|
102
|
+
backgroundColor: '#FFBE4E66',
|
|
103
|
+
position: 'absolute',
|
|
104
|
+
borderRadius: 50
|
|
105
|
+
}
|
|
106
|
+
});
|
|
107
|
+
//# sourceMappingURL=StartButton.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"names":["React","useEffect","useRef","useState","Animated","StyleSheet","View","Button","ButtonColor","ButtonSize","ButtonVariant","COLORS","HeadingVariants","PlayIcon","Typography","useText","jsx","_jsx","jsxs","_jsxs","StartButton","onPress","disabled","isLoading","isActive","withPulsation","t","sizes","setSizes","aspectRatio","setAspectRatio","showPulsation","scaleAnimValue","Value","current","fadeAnimValue","scaleAnimation","timing","toValue","duration","useNativeDriver","fadeOutAnimation","pulsationAnimation","loop","sequence","delay","start","style","styles","container","onLayout","event","width","nativeEvent","layout","height","children","animatedBackground","top","left","transform","scaleX","interpolate","inputRange","outputRange","scaleY","opacity","icon","size","color","NEUTRAL_1","variant","PRIMARY","LARGE","colorScheme","YELLOW","raiseLevel","startButton","H6","startButtonText","create","marginRight","minWidth","fontWeight","textTransform","backgroundColor","position","borderRadius"],"sourceRoot":"../../../../../../src","sources":["features/pmProgress/components/header/StartButton.tsx"],"mappings":"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","ignoreList":[]}
|
package/dist/typescript/commonjs/features/pmProgress/components/header/PmProgressHeader.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"PmProgressHeader.d.ts","sourceRoot":"","sources":["../../../../../../../src/features/pmProgress/components/header/PmProgressHeader.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAmB,MAAM,OAAO,CAAA;
|
|
1
|
+
{"version":3,"file":"PmProgressHeader.d.ts","sourceRoot":"","sources":["../../../../../../../src/features/pmProgress/components/header/PmProgressHeader.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAmB,MAAM,OAAO,CAAA;AAuBvC,eAAO,MAAM,gBAAgB,yBAqG5B,CAAA"}
|
|
@@ -0,0 +1,11 @@
|
|
|
1
|
+
import React from 'react';
|
|
2
|
+
type StartButtonProps = {
|
|
3
|
+
onPress: () => void;
|
|
4
|
+
disabled: boolean;
|
|
5
|
+
isLoading: boolean;
|
|
6
|
+
isActive: boolean;
|
|
7
|
+
withPulsation?: boolean;
|
|
8
|
+
};
|
|
9
|
+
export declare const StartButton: ({ onPress, disabled, isLoading, isActive, withPulsation, }: StartButtonProps) => React.JSX.Element;
|
|
10
|
+
export {};
|
|
11
|
+
//# sourceMappingURL=StartButton.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"StartButton.d.ts","sourceRoot":"","sources":["../../../../../../../src/features/pmProgress/components/header/StartButton.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAsC,MAAM,OAAO,CAAA;AAmB1D,KAAK,gBAAgB,GAAG;IACtB,OAAO,EAAE,MAAM,IAAI,CAAA;IACnB,QAAQ,EAAE,OAAO,CAAA;IACjB,SAAS,EAAE,OAAO,CAAA;IAClB,QAAQ,EAAE,OAAO,CAAA;IACjB,aAAa,CAAC,EAAE,OAAO,CAAA;CACxB,CAAA;AAED,eAAO,MAAM,WAAW,+DAMrB,gBAAgB,sBAwFlB,CAAA"}
|
package/dist/typescript/module/features/pmProgress/components/header/PmProgressHeader.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"PmProgressHeader.d.ts","sourceRoot":"","sources":["../../../../../../../src/features/pmProgress/components/header/PmProgressHeader.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAmB,MAAM,OAAO,CAAA;
|
|
1
|
+
{"version":3,"file":"PmProgressHeader.d.ts","sourceRoot":"","sources":["../../../../../../../src/features/pmProgress/components/header/PmProgressHeader.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAmB,MAAM,OAAO,CAAA;AAuBvC,eAAO,MAAM,gBAAgB,yBAqG5B,CAAA"}
|
|
@@ -0,0 +1,11 @@
|
|
|
1
|
+
import React from 'react';
|
|
2
|
+
type StartButtonProps = {
|
|
3
|
+
onPress: () => void;
|
|
4
|
+
disabled: boolean;
|
|
5
|
+
isLoading: boolean;
|
|
6
|
+
isActive: boolean;
|
|
7
|
+
withPulsation?: boolean;
|
|
8
|
+
};
|
|
9
|
+
export declare const StartButton: ({ onPress, disabled, isLoading, isActive, withPulsation, }: StartButtonProps) => React.JSX.Element;
|
|
10
|
+
export {};
|
|
11
|
+
//# sourceMappingURL=StartButton.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"StartButton.d.ts","sourceRoot":"","sources":["../../../../../../../src/features/pmProgress/components/header/StartButton.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAsC,MAAM,OAAO,CAAA;AAmB1D,KAAK,gBAAgB,GAAG;IACtB,OAAO,EAAE,MAAM,IAAI,CAAA;IACnB,QAAQ,EAAE,OAAO,CAAA;IACjB,SAAS,EAAE,OAAO,CAAA;IAClB,QAAQ,EAAE,OAAO,CAAA;IACjB,aAAa,CAAC,EAAE,OAAO,CAAA;CACxB,CAAA;AAED,eAAO,MAAM,WAAW,+DAMrB,gBAAgB,sBAwFlB,CAAA"}
|
package/package.json
CHANGED
|
@@ -2,8 +2,6 @@ import React, { useState } from 'react'
|
|
|
2
2
|
import { StyleSheet, View } from 'react-native'
|
|
3
3
|
import {
|
|
4
4
|
Button,
|
|
5
|
-
ButtonColor,
|
|
6
|
-
ButtonSize,
|
|
7
5
|
ButtonVariant,
|
|
8
6
|
CaretDownIcon,
|
|
9
7
|
CaretUpIcon,
|
|
@@ -11,7 +9,6 @@ import {
|
|
|
11
9
|
Dropdown,
|
|
12
10
|
HeadingVariants,
|
|
13
11
|
Menu,
|
|
14
|
-
PlayIcon,
|
|
15
12
|
SPACING,
|
|
16
13
|
Typography,
|
|
17
14
|
} from '@magmamath/react-native-ui'
|
|
@@ -22,6 +19,7 @@ import { useUnit, useStoreMap } from 'effector-react'
|
|
|
22
19
|
import { usePmProgress } from '../../context/PmProgressContext'
|
|
23
20
|
import { formatGradeName, isFluencyDomain } from '../../shared/pmProgress.helpers'
|
|
24
21
|
import { OpeningLoaderId, SolvingFlow } from '../../shared/pmProgress.constants'
|
|
22
|
+
import { StartButton } from './StartButton'
|
|
25
23
|
|
|
26
24
|
export const PmProgressHeader = () => {
|
|
27
25
|
const t = useText()
|
|
@@ -86,25 +84,30 @@ export const PmProgressHeader = () => {
|
|
|
86
84
|
</View>
|
|
87
85
|
|
|
88
86
|
<View style={styles.nextUp}>
|
|
89
|
-
|
|
90
|
-
|
|
91
|
-
<
|
|
92
|
-
{
|
|
93
|
-
|
|
94
|
-
|
|
95
|
-
|
|
96
|
-
|
|
97
|
-
{
|
|
98
|
-
|
|
99
|
-
|
|
100
|
-
|
|
87
|
+
{nextUp && (
|
|
88
|
+
<>
|
|
89
|
+
<View style={styles.content}>
|
|
90
|
+
<View style={styles.subtitle}>
|
|
91
|
+
<Typography variant={HeadingVariants.H2} style={styles.dark}>
|
|
92
|
+
{t('pmProgress.nextUp')}
|
|
93
|
+
</Typography>
|
|
94
|
+
</View>
|
|
95
|
+
<View style={[styles.row, styles.tilted]}>
|
|
96
|
+
<Typography variant={HeadingVariants.H7} style={styles.muted}>
|
|
97
|
+
{nextUp?.title}
|
|
98
|
+
</Typography>
|
|
99
|
+
<View style={styles.diamond}>
|
|
100
|
+
<SliceDiamondIcon color={nextUp?.color} />
|
|
101
|
+
</View>
|
|
102
|
+
</View>
|
|
101
103
|
</View>
|
|
102
|
-
|
|
103
|
-
|
|
104
|
-
|
|
105
|
-
|
|
106
|
-
|
|
107
|
-
|
|
104
|
+
<View style={styles.arrow}>
|
|
105
|
+
<SketchArrowRight />
|
|
106
|
+
</View>
|
|
107
|
+
</>
|
|
108
|
+
)}
|
|
109
|
+
|
|
110
|
+
<StartButton
|
|
108
111
|
onPress={async () => {
|
|
109
112
|
model.solving.setLoaderOpeningId(OpeningLoaderId.START_BUTTON)
|
|
110
113
|
const skill = await model.solving.start({ type: SolvingFlow.MAGMA })
|
|
@@ -114,17 +117,8 @@ export const PmProgressHeader = () => {
|
|
|
114
117
|
disabled={loaderOpeningId !== null}
|
|
115
118
|
isLoading={loaderOpeningId === OpeningLoaderId.START_BUTTON}
|
|
116
119
|
isActive={loaderOpeningId === OpeningLoaderId.START_BUTTON}
|
|
117
|
-
|
|
118
|
-
|
|
119
|
-
size={ButtonSize.LARGE}
|
|
120
|
-
colorScheme={ButtonColor.YELLOW}
|
|
121
|
-
raiseLevel={6}
|
|
122
|
-
style={{ container: styles.startButton }}
|
|
123
|
-
>
|
|
124
|
-
<Typography variant={HeadingVariants.H6} style={styles.startButtonText}>
|
|
125
|
-
{t('pmProgress.startButton')}
|
|
126
|
-
</Typography>
|
|
127
|
-
</Button>
|
|
120
|
+
withPulsation={!!nextUp}
|
|
121
|
+
/>
|
|
128
122
|
</View>
|
|
129
123
|
</View>
|
|
130
124
|
)
|
|
@@ -183,12 +177,4 @@ const styles = StyleSheet.create({
|
|
|
183
177
|
arrow: {
|
|
184
178
|
transform: [{ rotate: '358deg' }],
|
|
185
179
|
},
|
|
186
|
-
startButton: {
|
|
187
|
-
minWidth: 145,
|
|
188
|
-
},
|
|
189
|
-
startButtonText: {
|
|
190
|
-
fontWeight: '700',
|
|
191
|
-
textTransform: 'uppercase',
|
|
192
|
-
color: COLORS.NEUTRAL_1,
|
|
193
|
-
},
|
|
194
180
|
})
|
|
@@ -0,0 +1,141 @@
|
|
|
1
|
+
import React, { useEffect, useRef, useState } from 'react'
|
|
2
|
+
import { Animated, StyleSheet, View } from 'react-native'
|
|
3
|
+
import {
|
|
4
|
+
Button,
|
|
5
|
+
ButtonColor,
|
|
6
|
+
ButtonSize,
|
|
7
|
+
ButtonVariant,
|
|
8
|
+
COLORS,
|
|
9
|
+
HeadingVariants,
|
|
10
|
+
PlayIcon,
|
|
11
|
+
Typography,
|
|
12
|
+
} from '@magmamath/react-native-ui'
|
|
13
|
+
import { useText } from '../../../../shared/translation'
|
|
14
|
+
|
|
15
|
+
type Sizes = {
|
|
16
|
+
width: number
|
|
17
|
+
height: number
|
|
18
|
+
}
|
|
19
|
+
|
|
20
|
+
type StartButtonProps = {
|
|
21
|
+
onPress: () => void
|
|
22
|
+
disabled: boolean
|
|
23
|
+
isLoading: boolean
|
|
24
|
+
isActive: boolean
|
|
25
|
+
withPulsation?: boolean
|
|
26
|
+
}
|
|
27
|
+
|
|
28
|
+
export const StartButton = ({
|
|
29
|
+
onPress,
|
|
30
|
+
disabled,
|
|
31
|
+
isLoading,
|
|
32
|
+
isActive,
|
|
33
|
+
withPulsation,
|
|
34
|
+
}: StartButtonProps) => {
|
|
35
|
+
const t = useText()
|
|
36
|
+
const [sizes, setSizes] = useState<Sizes | null>(null)
|
|
37
|
+
const [aspectRatio, setAspectRatio] = useState<number | null>(null)
|
|
38
|
+
const showPulsation = withPulsation && sizes && aspectRatio
|
|
39
|
+
|
|
40
|
+
const scaleAnimValue = useRef(new Animated.Value(0)).current
|
|
41
|
+
const fadeAnimValue = useRef(new Animated.Value(1)).current
|
|
42
|
+
|
|
43
|
+
const scaleAnimation = Animated.timing(scaleAnimValue, {
|
|
44
|
+
toValue: 1,
|
|
45
|
+
duration: 1000,
|
|
46
|
+
useNativeDriver: true,
|
|
47
|
+
})
|
|
48
|
+
|
|
49
|
+
const fadeOutAnimation = Animated.timing(fadeAnimValue, {
|
|
50
|
+
toValue: 0,
|
|
51
|
+
duration: 1000,
|
|
52
|
+
useNativeDriver: true,
|
|
53
|
+
})
|
|
54
|
+
|
|
55
|
+
const pulsationAnimation = Animated.loop(
|
|
56
|
+
Animated.sequence([scaleAnimation, Animated.delay(1000), fadeOutAnimation]),
|
|
57
|
+
)
|
|
58
|
+
|
|
59
|
+
useEffect(() => {
|
|
60
|
+
if (sizes && withPulsation) {
|
|
61
|
+
pulsationAnimation.start()
|
|
62
|
+
}
|
|
63
|
+
}, [sizes, withPulsation])
|
|
64
|
+
|
|
65
|
+
return (
|
|
66
|
+
<View
|
|
67
|
+
style={styles.container}
|
|
68
|
+
onLayout={(event) => {
|
|
69
|
+
setSizes({
|
|
70
|
+
width: event.nativeEvent.layout.width + 16,
|
|
71
|
+
height: event.nativeEvent.layout.height + 18,
|
|
72
|
+
})
|
|
73
|
+
setAspectRatio(event.nativeEvent.layout.width / event.nativeEvent.layout.height)
|
|
74
|
+
}}
|
|
75
|
+
>
|
|
76
|
+
{showPulsation && (
|
|
77
|
+
<Animated.View
|
|
78
|
+
style={[
|
|
79
|
+
styles.animatedBackground,
|
|
80
|
+
{
|
|
81
|
+
width: sizes.width,
|
|
82
|
+
height: sizes.height,
|
|
83
|
+
top: -6,
|
|
84
|
+
left: -8,
|
|
85
|
+
transform: [
|
|
86
|
+
{
|
|
87
|
+
scaleX: scaleAnimValue.interpolate({
|
|
88
|
+
inputRange: [0, 1],
|
|
89
|
+
outputRange: [aspectRatio / 10 > 0.7 ? 0.7 : aspectRatio / 10, 1],
|
|
90
|
+
}),
|
|
91
|
+
},
|
|
92
|
+
{
|
|
93
|
+
scaleY: scaleAnimValue.interpolate({
|
|
94
|
+
inputRange: [0, 1],
|
|
95
|
+
outputRange: [0, 1],
|
|
96
|
+
}),
|
|
97
|
+
},
|
|
98
|
+
],
|
|
99
|
+
opacity: fadeAnimValue,
|
|
100
|
+
},
|
|
101
|
+
]}
|
|
102
|
+
/>
|
|
103
|
+
)}
|
|
104
|
+
<Button
|
|
105
|
+
onPress={onPress}
|
|
106
|
+
disabled={disabled}
|
|
107
|
+
isLoading={isLoading}
|
|
108
|
+
isActive={isActive}
|
|
109
|
+
icon={<PlayIcon size={16} color={COLORS.NEUTRAL_1} />}
|
|
110
|
+
variant={ButtonVariant.PRIMARY}
|
|
111
|
+
size={ButtonSize.LARGE}
|
|
112
|
+
colorScheme={ButtonColor.YELLOW}
|
|
113
|
+
raiseLevel={6}
|
|
114
|
+
style={{ container: styles.startButton }}
|
|
115
|
+
>
|
|
116
|
+
<Typography variant={HeadingVariants.H6} style={styles.startButtonText}>
|
|
117
|
+
{t('pmProgress.startButton')}
|
|
118
|
+
</Typography>
|
|
119
|
+
</Button>
|
|
120
|
+
</View>
|
|
121
|
+
)
|
|
122
|
+
}
|
|
123
|
+
|
|
124
|
+
const styles = StyleSheet.create({
|
|
125
|
+
container: {
|
|
126
|
+
marginRight: 8,
|
|
127
|
+
},
|
|
128
|
+
startButton: {
|
|
129
|
+
minWidth: 145,
|
|
130
|
+
},
|
|
131
|
+
startButtonText: {
|
|
132
|
+
fontWeight: '700',
|
|
133
|
+
textTransform: 'uppercase',
|
|
134
|
+
color: COLORS.NEUTRAL_1,
|
|
135
|
+
},
|
|
136
|
+
animatedBackground: {
|
|
137
|
+
backgroundColor: '#FFBE4E66',
|
|
138
|
+
position: 'absolute',
|
|
139
|
+
borderRadius: 50,
|
|
140
|
+
},
|
|
141
|
+
})
|