rn-onboarding-analytics 1.7.2 → 1.7.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/README.md +2 -7
- package/lib/module/spill-onboarding/components/OnboardingPaywallPanel.js +150 -20
- package/lib/module/spill-onboarding/components/OnboardingPaywallPanel.js.map +1 -1
- package/lib/module/spill-onboarding/components/OnboardingStepContainer.js +4 -5
- package/lib/module/spill-onboarding/components/OnboardingStepContainer.js.map +1 -1
- package/lib/module/spill-onboarding/components/Skeleton.js +32 -0
- package/lib/module/spill-onboarding/components/Skeleton.js.map +1 -0
- package/lib/typescript/src/spill-onboarding/components/OnboardingPaywallPanel.d.ts.map +1 -1
- package/lib/typescript/src/spill-onboarding/components/OnboardingStepContainer.d.ts +1 -2
- package/lib/typescript/src/spill-onboarding/components/OnboardingStepContainer.d.ts.map +1 -1
- package/lib/typescript/src/spill-onboarding/components/Skeleton.d.ts +8 -0
- package/lib/typescript/src/spill-onboarding/components/Skeleton.d.ts.map +1 -0
- package/package.json +2 -2
- package/src/spill-onboarding/components/OnboardingPaywallPanel.tsx +116 -21
- package/src/spill-onboarding/components/OnboardingStepContainer.tsx +43 -40
- package/src/spill-onboarding/components/Skeleton.tsx +50 -0
package/README.md
CHANGED
|
@@ -25,10 +25,11 @@ A private AI app that runs entirely offline on your device, with no data sent to
|
|
|
25
25
|
npm install rn-onboarding-analytics
|
|
26
26
|
```
|
|
27
27
|
|
|
28
|
-
The library requires these dependencies
|
|
28
|
+
The library requires these dependencies :
|
|
29
29
|
|
|
30
30
|
```sh
|
|
31
31
|
npm install react-native-reanimated react-native-safe-area-context expo-constants expo-localization react-native-iap
|
|
32
|
+
|
|
32
33
|
```
|
|
33
34
|
|
|
34
35
|
```
|
|
@@ -515,12 +516,6 @@ A private AI app that runs entirely offline on your device, with no data sent to
|
|
|
515
516
|
npm install rn-onboarding-analytics
|
|
516
517
|
```
|
|
517
518
|
|
|
518
|
-
The library requires these dependencies for animations and safe area context:
|
|
519
|
-
|
|
520
|
-
```sh
|
|
521
|
-
npm install react-native-reanimated react-native-safe-area-context
|
|
522
|
-
```
|
|
523
|
-
|
|
524
519
|
Optionally for image support, install one of:
|
|
525
520
|
|
|
526
521
|
```sh
|
|
@@ -6,6 +6,7 @@ import { initConnection, getSubscriptions, getProducts, requestSubscription, req
|
|
|
6
6
|
import { useTheme } from "../../utils/ThemeContext.js";
|
|
7
7
|
import PrimaryButton from "../buttons/PrimaryButton.js";
|
|
8
8
|
import { fontSizes, lineHeights } from "../../utils/fontStyles.js";
|
|
9
|
+
import Skeleton from "./Skeleton.js";
|
|
9
10
|
import { jsx as _jsx, jsxs as _jsxs } from "react/jsx-runtime";
|
|
10
11
|
const {
|
|
11
12
|
height: screenHeight
|
|
@@ -54,8 +55,13 @@ function OnboardingPaywallPanel({
|
|
|
54
55
|
}, [products, plans]);
|
|
55
56
|
const [selectedPlanId, setSelectedPlanId] = useState(initialPlanId);
|
|
56
57
|
const [iapProducts, setIapProducts] = useState([]);
|
|
58
|
+
|
|
59
|
+
// Determine if we need to fetch data
|
|
60
|
+
const shouldFetch = !!(products?.length || subscriptionSkus);
|
|
61
|
+
const [isLoading, setIsLoading] = useState(shouldFetch);
|
|
57
62
|
useEffect(() => {
|
|
58
63
|
let isMounted = true;
|
|
64
|
+
let timeoutId;
|
|
59
65
|
const fetchIapProducts = async skus => {
|
|
60
66
|
try {
|
|
61
67
|
await initConnection();
|
|
@@ -72,43 +78,59 @@ function OnboardingPaywallPanel({
|
|
|
72
78
|
const allItems = [...subs, ...prods];
|
|
73
79
|
const uniqueItems = Array.from(new Map(allItems.map(item => [item.productId, item])).values());
|
|
74
80
|
setIapProducts(uniqueItems);
|
|
81
|
+
setIsLoading(false);
|
|
75
82
|
}
|
|
76
83
|
} catch (err) {
|
|
77
84
|
console.warn('IAP Error:', err);
|
|
85
|
+
if (isMounted) setIsLoading(false);
|
|
78
86
|
}
|
|
79
87
|
};
|
|
80
|
-
if (
|
|
81
|
-
//
|
|
82
|
-
|
|
83
|
-
if (
|
|
84
|
-
|
|
88
|
+
if (shouldFetch) {
|
|
89
|
+
// Set 120s timeout
|
|
90
|
+
timeoutId = setTimeout(() => {
|
|
91
|
+
if (isMounted) {
|
|
92
|
+
console.warn('IAP Fetch Timeout (120s) - showing partial data');
|
|
93
|
+
setIsLoading(false);
|
|
85
94
|
}
|
|
86
|
-
|
|
95
|
+
}, 120000);
|
|
96
|
+
|
|
97
|
+
// Collect all SKUs from all products for current platform
|
|
98
|
+
let allSkus = [];
|
|
99
|
+
if (products && products.length > 0) {
|
|
100
|
+
allSkus = products.flatMap(p => {
|
|
101
|
+
if (Array.isArray(p.SKus)) {
|
|
102
|
+
return p.SKus;
|
|
103
|
+
}
|
|
104
|
+
const skusObj = p.SKus;
|
|
105
|
+
const skus = Platform.select({
|
|
106
|
+
ios: skusObj.ios,
|
|
107
|
+
android: skusObj.android
|
|
108
|
+
});
|
|
109
|
+
return skus || [];
|
|
110
|
+
});
|
|
111
|
+
} else if (subscriptionSkus) {
|
|
87
112
|
const skus = Platform.select({
|
|
88
|
-
ios:
|
|
89
|
-
android:
|
|
113
|
+
ios: subscriptionSkus.ios,
|
|
114
|
+
android: subscriptionSkus.android
|
|
90
115
|
});
|
|
91
|
-
|
|
92
|
-
}
|
|
116
|
+
if (skus) allSkus = skus;
|
|
117
|
+
}
|
|
93
118
|
if (allSkus.length > 0) {
|
|
94
119
|
fetchIapProducts(allSkus);
|
|
120
|
+
} else {
|
|
121
|
+
setIsLoading(false);
|
|
95
122
|
}
|
|
96
|
-
} else
|
|
97
|
-
|
|
98
|
-
ios: subscriptionSkus.ios,
|
|
99
|
-
android: subscriptionSkus.android
|
|
100
|
-
});
|
|
101
|
-
if (skus && skus.length > 0) {
|
|
102
|
-
fetchIapProducts(skus);
|
|
103
|
-
}
|
|
123
|
+
} else {
|
|
124
|
+
setIsLoading(false);
|
|
104
125
|
}
|
|
105
126
|
return () => {
|
|
106
127
|
isMounted = false;
|
|
107
|
-
|
|
128
|
+
clearTimeout(timeoutId);
|
|
129
|
+
if (shouldFetch) {
|
|
108
130
|
endConnection();
|
|
109
131
|
}
|
|
110
132
|
};
|
|
111
|
-
}, [subscriptionSkus, products]);
|
|
133
|
+
}, [subscriptionSkus, products, shouldFetch]);
|
|
112
134
|
const displayPlans = useMemo(() => {
|
|
113
135
|
// New Configuration Mode
|
|
114
136
|
if (products && products.length > 0) {
|
|
@@ -182,6 +204,21 @@ function OnboardingPaywallPanel({
|
|
|
182
204
|
}, [products, plans, iapProducts]);
|
|
183
205
|
const selectedPlan = displayPlans.find(p => p.id === selectedPlanId);
|
|
184
206
|
const renderTitle = () => {
|
|
207
|
+
if (isLoading) {
|
|
208
|
+
return /*#__PURE__*/_jsx(View, {
|
|
209
|
+
style: {
|
|
210
|
+
alignItems: 'center',
|
|
211
|
+
marginBottom: 8
|
|
212
|
+
},
|
|
213
|
+
children: /*#__PURE__*/_jsx(Skeleton, {
|
|
214
|
+
width: 200,
|
|
215
|
+
height: 32,
|
|
216
|
+
style: {
|
|
217
|
+
borderRadius: 8
|
|
218
|
+
}
|
|
219
|
+
})
|
|
220
|
+
});
|
|
221
|
+
}
|
|
185
222
|
if (!title) return null;
|
|
186
223
|
if (typeof title === 'string') {
|
|
187
224
|
return /*#__PURE__*/_jsx(Text, {
|
|
@@ -192,6 +229,28 @@ function OnboardingPaywallPanel({
|
|
|
192
229
|
return title;
|
|
193
230
|
};
|
|
194
231
|
const renderSubtitle = () => {
|
|
232
|
+
if (isLoading) {
|
|
233
|
+
return /*#__PURE__*/_jsxs(View, {
|
|
234
|
+
style: {
|
|
235
|
+
alignItems: 'center',
|
|
236
|
+
marginTop: 8
|
|
237
|
+
},
|
|
238
|
+
children: [/*#__PURE__*/_jsx(Skeleton, {
|
|
239
|
+
width: 280,
|
|
240
|
+
height: 16,
|
|
241
|
+
style: {
|
|
242
|
+
borderRadius: 4,
|
|
243
|
+
marginBottom: 4
|
|
244
|
+
}
|
|
245
|
+
}), /*#__PURE__*/_jsx(Skeleton, {
|
|
246
|
+
width: 180,
|
|
247
|
+
height: 16,
|
|
248
|
+
style: {
|
|
249
|
+
borderRadius: 4
|
|
250
|
+
}
|
|
251
|
+
})]
|
|
252
|
+
});
|
|
253
|
+
}
|
|
195
254
|
if (!subtitle) return null;
|
|
196
255
|
if (typeof subtitle === 'string') {
|
|
197
256
|
return /*#__PURE__*/_jsx(Text, {
|
|
@@ -202,6 +261,28 @@ function OnboardingPaywallPanel({
|
|
|
202
261
|
return subtitle;
|
|
203
262
|
};
|
|
204
263
|
const renderFeatures = () => {
|
|
264
|
+
if (isLoading) {
|
|
265
|
+
return /*#__PURE__*/_jsx(View, {
|
|
266
|
+
style: styles.featuresContainer,
|
|
267
|
+
children: [1, 2, 3].map(i => /*#__PURE__*/_jsxs(View, {
|
|
268
|
+
style: styles.featureRow,
|
|
269
|
+
children: [/*#__PURE__*/_jsx(Skeleton, {
|
|
270
|
+
width: 20,
|
|
271
|
+
height: 20,
|
|
272
|
+
style: {
|
|
273
|
+
borderRadius: 10,
|
|
274
|
+
marginRight: 12
|
|
275
|
+
}
|
|
276
|
+
}), /*#__PURE__*/_jsx(Skeleton, {
|
|
277
|
+
width: 200,
|
|
278
|
+
height: 16,
|
|
279
|
+
style: {
|
|
280
|
+
borderRadius: 4
|
|
281
|
+
}
|
|
282
|
+
})]
|
|
283
|
+
}, i))
|
|
284
|
+
});
|
|
285
|
+
}
|
|
205
286
|
if (!selectedPlan?.features || selectedPlan.features.length === 0) return null;
|
|
206
287
|
return /*#__PURE__*/_jsx(View, {
|
|
207
288
|
style: styles.featuresContainer,
|
|
@@ -217,7 +298,56 @@ function OnboardingPaywallPanel({
|
|
|
217
298
|
}, index))
|
|
218
299
|
});
|
|
219
300
|
};
|
|
301
|
+
const renderSkeletonPlans = () => {
|
|
302
|
+
return /*#__PURE__*/_jsx(View, {
|
|
303
|
+
style: styles.plansContainer,
|
|
304
|
+
children: [1, 2, 3].map(key => /*#__PURE__*/_jsxs(View, {
|
|
305
|
+
style: [styles.planCard, {
|
|
306
|
+
opacity: 1,
|
|
307
|
+
padding: 16
|
|
308
|
+
}],
|
|
309
|
+
children: [/*#__PURE__*/_jsxs(View, {
|
|
310
|
+
style: {
|
|
311
|
+
flexDirection: 'row',
|
|
312
|
+
alignItems: 'center'
|
|
313
|
+
},
|
|
314
|
+
children: [/*#__PURE__*/_jsx(Skeleton, {
|
|
315
|
+
width: 24,
|
|
316
|
+
height: 24,
|
|
317
|
+
style: {
|
|
318
|
+
borderRadius: 12,
|
|
319
|
+
marginRight: 12
|
|
320
|
+
}
|
|
321
|
+
}), /*#__PURE__*/_jsxs(View, {
|
|
322
|
+
children: [/*#__PURE__*/_jsx(Skeleton, {
|
|
323
|
+
width: 100,
|
|
324
|
+
height: 16,
|
|
325
|
+
style: {
|
|
326
|
+
marginBottom: 6,
|
|
327
|
+
borderRadius: 4
|
|
328
|
+
}
|
|
329
|
+
}), /*#__PURE__*/_jsx(Skeleton, {
|
|
330
|
+
width: 60,
|
|
331
|
+
height: 12,
|
|
332
|
+
style: {
|
|
333
|
+
borderRadius: 4
|
|
334
|
+
}
|
|
335
|
+
})]
|
|
336
|
+
})]
|
|
337
|
+
}), /*#__PURE__*/_jsx(Skeleton, {
|
|
338
|
+
width: 70,
|
|
339
|
+
height: 20,
|
|
340
|
+
style: {
|
|
341
|
+
borderRadius: 4
|
|
342
|
+
}
|
|
343
|
+
})]
|
|
344
|
+
}, key))
|
|
345
|
+
});
|
|
346
|
+
};
|
|
220
347
|
const renderPlans = () => {
|
|
348
|
+
if (isLoading) {
|
|
349
|
+
return renderSkeletonPlans();
|
|
350
|
+
}
|
|
221
351
|
return /*#__PURE__*/_jsx(View, {
|
|
222
352
|
style: styles.plansContainer,
|
|
223
353
|
children: displayPlans.map(plan => {
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"names":["useMemo","useState","useEffect","Image","StyleSheet","Text","View","TouchableOpacity","ScrollView","Dimensions","Platform","initConnection","getSubscriptions","getProducts","requestSubscription","requestPurchase","endConnection","useTheme","PrimaryButton","fontSizes","lineHeights","jsx","_jsx","jsxs","_jsxs","height","screenHeight","get","OnboardingPaywallPanel","onPressContinue","title","subtitle","button","image","plans","products","helperTextContinue","onRestorePurchase","onTerms","onPrivacy","subscriptionSkus","onPurchaseResult","theme","styles","createStyles","initialPlanId","length","firstProduct","firstSku","Array","isArray","SKus","skusObj","skus","select","ios","android","id","selectedPlanId","setSelectedPlanId","iapProducts","setIapProducts","isMounted","fetchIapProducts","subs","prods","Promise","all","catch","allItems","uniqueItems","from","Map","map","item","productId","values","err","console","warn","allSkus","flatMap","p","displayPlans","mappedPlans","config","targetSkus","iapProduct","find","includes","price","OS","localizedPrice","offer","subscriptionOfferDetails","pricingPhases","pricingPhaseList","formattedPrice","features","featues","interval","sortOrder","helperText","sort","a","b","String","localeCompare","plan","selectedPlan","renderTitle","style","text","line1","titleText","children","renderSubtitle","line2","subtitleText","renderFeatures","featuresContainer","feature","index","featureRow","checkIcon","featureText","renderPlans","plansContainer","isSelected","planCard","planCardSelected","onPress","activeOpacity","planTitle","planTitleSelected","planInterval","planIntervalSelected","helperTextContainer","helperTextBadge","substring","trim","planPrice","planPriceSelected","renderButton","handlePress","log","result","isSubscription","offerToken","sku","subscriptionOffers","subErr","purchErr","status","planId","data","JSON","stringify","error","renderFooterLinks","footerLinksContainer","footerLinkText","footerLinkSeparator","mainContainer","headerImageContainer","source","resizeMode","sheetContainer","container","contentContainerStyle","contentContainer","showsVerticalScrollIndicator","bounces","contentWrapper","headerContainer","footerContainer","create","flex","backgroundColor","bg","secondary","width","marginTop","borderTopLeftRadius","borderTopRightRadius","overflow","paddingBottom","paddingHorizontal","marginBottom","paddingTop","alignItems","fontSize","xxl","lineHeight","textAlign","color","primary","md","fontFamily","fonts","introTitle","fontWeight","introSubtitle","flexDirection","accent","lg","marginRight","gap","justifyContent","padding","minHeight","borderRadius","borderWidth","borderColor","label","shadowColor","shadowOffset","shadowOpacity","shadowRadius","elevation","sm","paddingVertical","alignSelf","contrast","xs"],"sourceRoot":"../../../../src","sources":["spill-onboarding/components/OnboardingPaywallPanel.tsx"],"mappings":"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","ignoreList":[]}
|
|
1
|
+
{"version":3,"names":["useMemo","useState","useEffect","Image","StyleSheet","Text","View","TouchableOpacity","ScrollView","Dimensions","Platform","initConnection","getSubscriptions","getProducts","requestSubscription","requestPurchase","endConnection","useTheme","PrimaryButton","fontSizes","lineHeights","Skeleton","jsx","_jsx","jsxs","_jsxs","height","screenHeight","get","OnboardingPaywallPanel","onPressContinue","title","subtitle","button","image","plans","products","helperTextContinue","onRestorePurchase","onTerms","onPrivacy","subscriptionSkus","onPurchaseResult","theme","styles","createStyles","initialPlanId","length","firstProduct","firstSku","Array","isArray","SKus","skusObj","skus","select","ios","android","id","selectedPlanId","setSelectedPlanId","iapProducts","setIapProducts","shouldFetch","isLoading","setIsLoading","isMounted","timeoutId","fetchIapProducts","subs","prods","Promise","all","catch","allItems","uniqueItems","from","Map","map","item","productId","values","err","console","warn","setTimeout","allSkus","flatMap","p","clearTimeout","displayPlans","mappedPlans","config","targetSkus","iapProduct","find","includes","price","OS","localizedPrice","offer","subscriptionOfferDetails","pricingPhases","pricingPhaseList","formattedPrice","features","featues","interval","sortOrder","helperText","sort","a","b","String","localeCompare","plan","selectedPlan","renderTitle","style","alignItems","marginBottom","children","width","borderRadius","text","line1","titleText","renderSubtitle","marginTop","line2","subtitleText","renderFeatures","featuresContainer","i","featureRow","marginRight","feature","index","checkIcon","featureText","renderSkeletonPlans","plansContainer","key","planCard","opacity","padding","flexDirection","renderPlans","isSelected","planCardSelected","onPress","activeOpacity","planTitle","planTitleSelected","planInterval","planIntervalSelected","helperTextContainer","helperTextBadge","substring","trim","planPrice","planPriceSelected","renderButton","handlePress","log","result","isSubscription","offerToken","sku","subscriptionOffers","subErr","purchErr","status","planId","data","JSON","stringify","error","renderFooterLinks","footerLinksContainer","footerLinkText","footerLinkSeparator","mainContainer","headerImageContainer","source","resizeMode","sheetContainer","container","contentContainerStyle","contentContainer","showsVerticalScrollIndicator","bounces","contentWrapper","headerContainer","footerContainer","create","flex","backgroundColor","bg","secondary","borderTopLeftRadius","borderTopRightRadius","overflow","paddingBottom","paddingHorizontal","paddingTop","fontSize","xxl","lineHeight","textAlign","color","primary","md","fontFamily","fonts","introTitle","fontWeight","introSubtitle","accent","lg","gap","justifyContent","minHeight","borderWidth","borderColor","label","shadowColor","shadowOffset","shadowOpacity","shadowRadius","elevation","sm","paddingVertical","alignSelf","contrast","xs"],"sourceRoot":"../../../../src","sources":["spill-onboarding/components/OnboardingPaywallPanel.tsx"],"mappings":"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","ignoreList":[]}
|
|
@@ -1,20 +1,19 @@
|
|
|
1
1
|
"use strict";
|
|
2
2
|
|
|
3
|
-
import React, { useMemo } from 'react';
|
|
3
|
+
import React, { useMemo, forwardRef } from 'react';
|
|
4
4
|
import { StyleSheet } from 'react-native';
|
|
5
5
|
import Reanimated, { FadeIn, FadeInDown, FadeOut, FadeOutDown } from 'react-native-reanimated';
|
|
6
6
|
import SkipButton from "../buttons/SkipButton.js";
|
|
7
7
|
import { useTheme } from "../../utils/ThemeContext.js";
|
|
8
8
|
import { jsx as _jsx, Fragment as _Fragment, jsxs as _jsxs } from "react/jsx-runtime";
|
|
9
|
-
|
|
9
|
+
const OnboardingStepContainer = /*#__PURE__*/forwardRef(({
|
|
10
10
|
currentStep,
|
|
11
11
|
showCloseButton,
|
|
12
12
|
animationDuration,
|
|
13
13
|
onSkip,
|
|
14
|
-
ref,
|
|
15
14
|
renderStepContent,
|
|
16
15
|
skipButton
|
|
17
|
-
}) {
|
|
16
|
+
}, ref) => {
|
|
18
17
|
const {
|
|
19
18
|
theme
|
|
20
19
|
} = useTheme();
|
|
@@ -40,7 +39,7 @@ function OnboardingStepContainer({
|
|
|
40
39
|
children: renderStepContent()
|
|
41
40
|
})]
|
|
42
41
|
});
|
|
43
|
-
}
|
|
42
|
+
});
|
|
44
43
|
export default OnboardingStepContainer;
|
|
45
44
|
const createStyles = theme => StyleSheet.create({
|
|
46
45
|
bottomPanel: {
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"names":["React","useMemo","StyleSheet","Reanimated","FadeIn","FadeInDown","FadeOut","FadeOutDown","SkipButton","useTheme","jsx","_jsx","Fragment","_Fragment","jsxs","_jsxs","OnboardingStepContainer","currentStep","showCloseButton","animationDuration","onSkip","
|
|
1
|
+
{"version":3,"names":["React","useMemo","forwardRef","StyleSheet","Reanimated","FadeIn","FadeInDown","FadeOut","FadeOutDown","SkipButton","useTheme","jsx","_jsx","Fragment","_Fragment","jsxs","_jsxs","OnboardingStepContainer","currentStep","showCloseButton","animationDuration","onSkip","renderStepContent","skipButton","ref","theme","styles","createStyles","children","View","entering","duration","exiting","style","close","onPress","bottomPanel","create","paddingHorizontal","paddingBottom","insets","bottom","position","left","right","top"],"sourceRoot":"../../../../src","sources":["spill-onboarding/components/OnboardingStepContainer.tsx"],"mappings":";;AAAA,OAAOA,KAAK,IAAIC,OAAO,EAAkBC,UAAU,QAAQ,OAAO;AAClE,SAASC,UAAU,QAAQ,cAAc;AACzC,OAAOC,UAAU,IACfC,MAAM,EACNC,UAAU,EACVC,OAAO,EACPC,WAAW,QACN,yBAAyB;AAChC,OAAOC,UAAU,MAAM,0BAAuB;AAC9C,SAASC,QAAQ,QAAQ,6BAA0B;AAAC,SAAAC,GAAA,IAAAC,IAAA,EAAAC,QAAA,IAAAC,SAAA,EAAAC,IAAA,IAAAC,KAAA;AAapD,MAAMC,uBAAuB,gBAAGf,UAAU,CACxC,CACE;EACEgB,WAAW;EACXC,eAAe;EACfC,iBAAiB;EACjBC,MAAM;EACNC,iBAAiB;EACjBC;AACF,CAAC,EACDC,GAAG,KACA;EACH,MAAM;IAAEC;EAAM,CAAC,GAAGf,QAAQ,CAAC,CAAC;EAC5B,MAAMgB,MAAM,GAAGzB,OAAO,CAAC,MAAM0B,YAAY,CAACF,KAAK,CAAC,EAAE,CAACA,KAAK,CAAC,CAAC;EAE1D,IAAI,CAACP,WAAW,EAAE;IAChB,OAAO,IAAI;EACb;EAEA,oBACEF,KAAA,CAAAF,SAAA;IAAAc,QAAA,GACGT,eAAe,IAAIE,MAAM,iBACxBT,IAAA,CAACR,UAAU,CAACyB,IAAI;MACdC,QAAQ,EAAEzB,MAAM,CAAC0B,QAAQ,CAACX,iBAAiB,CAAE;MAC7CY,OAAO,EAAEzB,OAAO,CAACwB,QAAQ,CAACX,iBAAiB,CAAE;MAC7Ca,KAAK,EAAEP,MAAM,CAACQ,KAAM;MAAAN,QAAA,EAEnBL,UAAU,GACTA,UAAU,CAAC;QAAEY,OAAO,EAAEd;MAAO,CAAC,CAAC,gBAE/BT,IAAA,CAACH,UAAU;QAAC0B,OAAO,EAAEd;MAAO,CAAE;IAC/B,CACc,CAClB,eAEDT,IAAA,CAACR,UAAU,CAACyB,IAAI;MACdL,GAAG,EAAEA,GAAI;MACTM,QAAQ,EAAExB,UAAU,CAACyB,QAAQ,CAACX,iBAAiB,CAAE;MACjDY,OAAO,EAAExB,WAAW,CAACuB,QAAQ,CAACX,iBAAiB,CAAE;MACjDa,KAAK,EAAEP,MAAM,CAACU,WAAY;MAAAR,QAAA,EAEzBN,iBAAiB,CAAC;IAAC,CACL,CAAC;EAAA,CAClB,CAAC;AAEP,CACF,CAAC;AAED,eAAeL,uBAAuB;AAEtC,MAAMU,YAAY,GAAIF,KAAY,IAChCtB,UAAU,CAACkC,MAAM,CAAC;EAChBD,WAAW,EAAE;IACXE,iBAAiB,EAAE,EAAE;IACrBC,aAAa,EAAE,EAAE,GAAGd,KAAK,CAACe,MAAM,CAACC,MAAM;IACvCC,QAAQ,EAAE,UAAU;IACpBD,MAAM,EAAE,CAAC;IACTE,IAAI,EAAE,CAAC;IACPC,KAAK,EAAE;EACT,CAAC;EACDV,KAAK,EAAE;IACLQ,QAAQ,EAAE,UAAU;IACpBG,GAAG,EAAEpB,KAAK,CAACe,MAAM,CAACK,GAAG,GAAG,EAAE;IAC1BD,KAAK,EAAE;EACT;AACF,CAAC,CAAC","ignoreList":[]}
|
|
@@ -0,0 +1,32 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
|
|
3
|
+
import { useEffect } from 'react';
|
|
4
|
+
import Animated, { useAnimatedStyle, withRepeat, withSequence, withTiming, useSharedValue } from 'react-native-reanimated';
|
|
5
|
+
import { jsx as _jsx } from "react/jsx-runtime";
|
|
6
|
+
export function Skeleton({
|
|
7
|
+
width,
|
|
8
|
+
height,
|
|
9
|
+
style
|
|
10
|
+
}) {
|
|
11
|
+
const opacity = useSharedValue(0.3);
|
|
12
|
+
useEffect(() => {
|
|
13
|
+
opacity.value = withRepeat(withSequence(withTiming(0.7, {
|
|
14
|
+
duration: 1000
|
|
15
|
+
}), withTiming(0.3, {
|
|
16
|
+
duration: 1000
|
|
17
|
+
})), -1, true);
|
|
18
|
+
}, [opacity]);
|
|
19
|
+
const animatedStyle = useAnimatedStyle(() => ({
|
|
20
|
+
opacity: opacity.value
|
|
21
|
+
}));
|
|
22
|
+
return /*#__PURE__*/_jsx(Animated.View, {
|
|
23
|
+
style: [{
|
|
24
|
+
backgroundColor: '#E0E0E0',
|
|
25
|
+
borderRadius: 4,
|
|
26
|
+
width: width,
|
|
27
|
+
height: height
|
|
28
|
+
}, style, animatedStyle]
|
|
29
|
+
});
|
|
30
|
+
}
|
|
31
|
+
export default Skeleton;
|
|
32
|
+
//# sourceMappingURL=Skeleton.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"names":["useEffect","Animated","useAnimatedStyle","withRepeat","withSequence","withTiming","useSharedValue","jsx","_jsx","Skeleton","width","height","style","opacity","value","duration","animatedStyle","View","backgroundColor","borderRadius"],"sourceRoot":"../../../../src","sources":["spill-onboarding/components/Skeleton.tsx"],"mappings":";;AAAA,SAASA,SAAS,QAAQ,OAAO;AACjC,OAAOC,QAAQ,IACbC,gBAAgB,EAChBC,UAAU,EACVC,YAAY,EACZC,UAAU,EACVC,cAAc,QACT,yBAAyB;AAAC,SAAAC,GAAA,IAAAC,IAAA;AAQjC,OAAO,SAASC,QAAQA,CAAC;EAAEC,KAAK;EAAEC,MAAM;EAAEC;AAAqB,CAAC,EAAE;EAChE,MAAMC,OAAO,GAAGP,cAAc,CAAC,GAAG,CAAC;EAEnCN,SAAS,CAAC,MAAM;IACda,OAAO,CAACC,KAAK,GAAGX,UAAU,CACxBC,YAAY,CACVC,UAAU,CAAC,GAAG,EAAE;MAAEU,QAAQ,EAAE;IAAK,CAAC,CAAC,EACnCV,UAAU,CAAC,GAAG,EAAE;MAAEU,QAAQ,EAAE;IAAK,CAAC,CACpC,CAAC,EACD,CAAC,CAAC,EACF,IACF,CAAC;EACH,CAAC,EAAE,CAACF,OAAO,CAAC,CAAC;EAEb,MAAMG,aAAa,GAAGd,gBAAgB,CAAC,OAAO;IAC5CW,OAAO,EAAEA,OAAO,CAACC;EACnB,CAAC,CAAC,CAAC;EAEH,oBACEN,IAAA,CAACP,QAAQ,CAACgB,IAAI;IACZL,KAAK,EAAE,CACL;MACEM,eAAe,EAAE,SAAS;MAC1BC,YAAY,EAAE,CAAC;MACfT,KAAK,EAAEA,KAAK;MACZC,MAAM,EAAEA;IACV,CAAC,EACDC,KAAK,EACLI,aAAa;EACb,CACH,CAAC;AAEN;AAEA,eAAeP,QAAQ","ignoreList":[]}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"OnboardingPaywallPanel.d.ts","sourceRoot":"","sources":["../../../../../src/spill-onboarding/components/OnboardingPaywallPanel.tsx"],"names":[],"mappings":"AA0BA,OAAO,KAAK,EAAE,2BAA2B,EAAe,MAAM,UAAU,CAAC;
|
|
1
|
+
{"version":3,"file":"OnboardingPaywallPanel.d.ts","sourceRoot":"","sources":["../../../../../src/spill-onboarding/components/OnboardingPaywallPanel.tsx"],"names":[],"mappings":"AA0BA,OAAO,KAAK,EAAE,2BAA2B,EAAe,MAAM,UAAU,CAAC;AAKzE,iBAAS,sBAAsB,CAAC,EAC9B,eAAe,EACf,KAAK,EACL,QAAQ,EACR,MAAM,EACN,KAAK,EACL,KAAU,EACV,QAAQ,EACR,kBAAkB,EAClB,iBAAiB,EACjB,OAAO,EACP,SAAS,EACT,gBAAgB,EAChB,gBAAgB,GACjB,EAAE,2BAA2B,2CAqjB7B;AAED,eAAe,sBAAsB,CAAC"}
|
|
@@ -5,12 +5,11 @@ interface OnboardingStepContainerProps {
|
|
|
5
5
|
showCloseButton?: boolean;
|
|
6
6
|
animationDuration: number;
|
|
7
7
|
onSkip?: () => void;
|
|
8
|
-
ref: React.RefObject<any>;
|
|
9
8
|
renderStepContent: () => React.ReactNode;
|
|
10
9
|
skipButton?: ({ onPress }: {
|
|
11
10
|
onPress: () => void;
|
|
12
11
|
}) => ReactNode;
|
|
13
12
|
}
|
|
14
|
-
declare
|
|
13
|
+
declare const OnboardingStepContainer: React.ForwardRefExoticComponent<OnboardingStepContainerProps & React.RefAttributes<any>>;
|
|
15
14
|
export default OnboardingStepContainer;
|
|
16
15
|
//# sourceMappingURL=OnboardingStepContainer.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"OnboardingStepContainer.d.ts","sourceRoot":"","sources":["../../../../../src/spill-onboarding/components/OnboardingStepContainer.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,EAAW,KAAK,SAAS,
|
|
1
|
+
{"version":3,"file":"OnboardingStepContainer.d.ts","sourceRoot":"","sources":["../../../../../src/spill-onboarding/components/OnboardingStepContainer.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,EAAW,KAAK,SAAS,EAAc,MAAM,OAAO,CAAC;AAWnE,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,UAAU,CAAC;AAE/C,UAAU,4BAA4B;IACpC,WAAW,EAAE,cAAc,GAAG,SAAS,CAAC;IACxC,eAAe,CAAC,EAAE,OAAO,CAAC;IAC1B,iBAAiB,EAAE,MAAM,CAAC;IAC1B,MAAM,CAAC,EAAE,MAAM,IAAI,CAAC;IACpB,iBAAiB,EAAE,MAAM,KAAK,CAAC,SAAS,CAAC;IACzC,UAAU,CAAC,EAAE,CAAC,EAAE,OAAO,EAAE,EAAE;QAAE,OAAO,EAAE,MAAM,IAAI,CAAA;KAAE,KAAK,SAAS,CAAC;CAClE;AAED,QAAA,MAAM,uBAAuB,0FA8C5B,CAAC;AAEF,eAAe,uBAAuB,CAAC"}
|
|
@@ -0,0 +1,8 @@
|
|
|
1
|
+
interface SkeletonProps {
|
|
2
|
+
width?: number | string;
|
|
3
|
+
height?: number;
|
|
4
|
+
style?: any;
|
|
5
|
+
}
|
|
6
|
+
export declare function Skeleton({ width, height, style }: SkeletonProps): import("react/jsx-runtime").JSX.Element;
|
|
7
|
+
export default Skeleton;
|
|
8
|
+
//# sourceMappingURL=Skeleton.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"Skeleton.d.ts","sourceRoot":"","sources":["../../../../../src/spill-onboarding/components/Skeleton.tsx"],"names":[],"mappings":"AASA,UAAU,aAAa;IACrB,KAAK,CAAC,EAAE,MAAM,GAAG,MAAM,CAAC;IACxB,MAAM,CAAC,EAAE,MAAM,CAAC;IAChB,KAAK,CAAC,EAAE,GAAG,CAAC;CACb;AAED,wBAAgB,QAAQ,CAAC,EAAE,KAAK,EAAE,MAAM,EAAE,KAAK,EAAE,EAAE,aAAa,2CAgC/D;AAED,eAAe,QAAQ,CAAC"}
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "rn-onboarding-analytics",
|
|
3
|
-
"version": "1.7.
|
|
3
|
+
"version": "1.7.4",
|
|
4
4
|
"description": "Onboarding/tutorial flow for React Native with analytics.",
|
|
5
5
|
"main": "./lib/module/index.js",
|
|
6
6
|
"types": "./lib/typescript/src/index.d.ts",
|
|
@@ -39,7 +39,7 @@
|
|
|
39
39
|
"prepack": "sed -i '' '1s|.*||' README.md",
|
|
40
40
|
"postpack": "git checkout README.md",
|
|
41
41
|
"release": "release-it --only-version",
|
|
42
|
-
"watch
|
|
42
|
+
"yalc:watch": "nodemon --watch src --ext ts,tsx,js,json --exec 'npm run prepare && yalc push'"
|
|
43
43
|
},
|
|
44
44
|
"keywords": [
|
|
45
45
|
"react-native",
|
|
@@ -25,6 +25,7 @@ import type { Theme } from '../../utils/theme';
|
|
|
25
25
|
import PrimaryButton from '../buttons/PrimaryButton';
|
|
26
26
|
import { fontSizes, lineHeights } from '../../utils/fontStyles';
|
|
27
27
|
import type { OnboardingPaywallPanelProps, PlatformSku } from '../types';
|
|
28
|
+
import Skeleton from './Skeleton';
|
|
28
29
|
|
|
29
30
|
const { height: screenHeight } = Dimensions.get('window');
|
|
30
31
|
|
|
@@ -74,8 +75,13 @@ function OnboardingPaywallPanel({
|
|
|
74
75
|
[]
|
|
75
76
|
);
|
|
76
77
|
|
|
78
|
+
// Determine if we need to fetch data
|
|
79
|
+
const shouldFetch = !!(products?.length || subscriptionSkus);
|
|
80
|
+
const [isLoading, setIsLoading] = useState(shouldFetch);
|
|
81
|
+
|
|
77
82
|
useEffect(() => {
|
|
78
83
|
let isMounted = true;
|
|
84
|
+
let timeoutId: NodeJS.Timeout;
|
|
79
85
|
|
|
80
86
|
const fetchIapProducts = async (skus: string[]) => {
|
|
81
87
|
try {
|
|
@@ -95,47 +101,63 @@ function OnboardingPaywallPanel({
|
|
|
95
101
|
new Map(allItems.map((item) => [item.productId, item])).values()
|
|
96
102
|
);
|
|
97
103
|
setIapProducts(uniqueItems);
|
|
104
|
+
setIsLoading(false);
|
|
98
105
|
}
|
|
99
106
|
} catch (err) {
|
|
100
107
|
console.warn('IAP Error:', err);
|
|
108
|
+
if (isMounted) setIsLoading(false);
|
|
101
109
|
}
|
|
102
110
|
};
|
|
103
111
|
|
|
104
|
-
if (
|
|
105
|
-
//
|
|
106
|
-
|
|
107
|
-
if (
|
|
108
|
-
|
|
112
|
+
if (shouldFetch) {
|
|
113
|
+
// Set 120s timeout
|
|
114
|
+
timeoutId = setTimeout(() => {
|
|
115
|
+
if (isMounted) {
|
|
116
|
+
console.warn('IAP Fetch Timeout (120s) - showing partial data');
|
|
117
|
+
setIsLoading(false);
|
|
109
118
|
}
|
|
110
|
-
|
|
119
|
+
}, 120000);
|
|
120
|
+
|
|
121
|
+
// Collect all SKUs from all products for current platform
|
|
122
|
+
let allSkus: string[] = [];
|
|
123
|
+
|
|
124
|
+
if (products && products.length > 0) {
|
|
125
|
+
allSkus = products.flatMap((p) => {
|
|
126
|
+
if (Array.isArray(p.SKus)) {
|
|
127
|
+
return p.SKus;
|
|
128
|
+
}
|
|
129
|
+
const skusObj = p.SKus as PlatformSku;
|
|
130
|
+
const skus = Platform.select({
|
|
131
|
+
ios: skusObj.ios,
|
|
132
|
+
android: skusObj.android,
|
|
133
|
+
});
|
|
134
|
+
return skus || [];
|
|
135
|
+
});
|
|
136
|
+
} else if (subscriptionSkus) {
|
|
111
137
|
const skus = Platform.select({
|
|
112
|
-
ios:
|
|
113
|
-
android:
|
|
138
|
+
ios: subscriptionSkus.ios,
|
|
139
|
+
android: subscriptionSkus.android,
|
|
114
140
|
});
|
|
115
|
-
|
|
116
|
-
}
|
|
141
|
+
if (skus) allSkus = skus;
|
|
142
|
+
}
|
|
117
143
|
|
|
118
144
|
if (allSkus.length > 0) {
|
|
119
145
|
fetchIapProducts(allSkus);
|
|
146
|
+
} else {
|
|
147
|
+
setIsLoading(false);
|
|
120
148
|
}
|
|
121
|
-
} else
|
|
122
|
-
|
|
123
|
-
ios: subscriptionSkus.ios,
|
|
124
|
-
android: subscriptionSkus.android,
|
|
125
|
-
});
|
|
126
|
-
|
|
127
|
-
if (skus && skus.length > 0) {
|
|
128
|
-
fetchIapProducts(skus);
|
|
129
|
-
}
|
|
149
|
+
} else {
|
|
150
|
+
setIsLoading(false);
|
|
130
151
|
}
|
|
131
152
|
|
|
132
153
|
return () => {
|
|
133
154
|
isMounted = false;
|
|
134
|
-
|
|
155
|
+
clearTimeout(timeoutId);
|
|
156
|
+
if (shouldFetch) {
|
|
135
157
|
endConnection();
|
|
136
158
|
}
|
|
137
159
|
};
|
|
138
|
-
}, [subscriptionSkus, products]);
|
|
160
|
+
}, [subscriptionSkus, products, shouldFetch]);
|
|
139
161
|
|
|
140
162
|
const displayPlans = useMemo(() => {
|
|
141
163
|
// New Configuration Mode
|
|
@@ -227,6 +249,13 @@ function OnboardingPaywallPanel({
|
|
|
227
249
|
const selectedPlan = displayPlans.find((p) => p.id === selectedPlanId);
|
|
228
250
|
|
|
229
251
|
const renderTitle = () => {
|
|
252
|
+
if (isLoading) {
|
|
253
|
+
return (
|
|
254
|
+
<View style={{ alignItems: 'center', marginBottom: 8 }}>
|
|
255
|
+
<Skeleton width={200} height={32} style={{ borderRadius: 8 }} />
|
|
256
|
+
</View>
|
|
257
|
+
);
|
|
258
|
+
}
|
|
230
259
|
if (!title) return null;
|
|
231
260
|
if (typeof title === 'string') {
|
|
232
261
|
return (
|
|
@@ -239,6 +268,18 @@ function OnboardingPaywallPanel({
|
|
|
239
268
|
};
|
|
240
269
|
|
|
241
270
|
const renderSubtitle = () => {
|
|
271
|
+
if (isLoading) {
|
|
272
|
+
return (
|
|
273
|
+
<View style={{ alignItems: 'center', marginTop: 8 }}>
|
|
274
|
+
<Skeleton
|
|
275
|
+
width={280}
|
|
276
|
+
height={16}
|
|
277
|
+
style={{ borderRadius: 4, marginBottom: 4 }}
|
|
278
|
+
/>
|
|
279
|
+
<Skeleton width={180} height={16} style={{ borderRadius: 4 }} />
|
|
280
|
+
</View>
|
|
281
|
+
);
|
|
282
|
+
}
|
|
242
283
|
if (!subtitle) return null;
|
|
243
284
|
if (typeof subtitle === 'string') {
|
|
244
285
|
return (
|
|
@@ -251,6 +292,22 @@ function OnboardingPaywallPanel({
|
|
|
251
292
|
};
|
|
252
293
|
|
|
253
294
|
const renderFeatures = () => {
|
|
295
|
+
if (isLoading) {
|
|
296
|
+
return (
|
|
297
|
+
<View style={styles.featuresContainer}>
|
|
298
|
+
{[1, 2, 3].map((i) => (
|
|
299
|
+
<View key={i} style={styles.featureRow}>
|
|
300
|
+
<Skeleton
|
|
301
|
+
width={20}
|
|
302
|
+
height={20}
|
|
303
|
+
style={{ borderRadius: 10, marginRight: 12 }}
|
|
304
|
+
/>
|
|
305
|
+
<Skeleton width={200} height={16} style={{ borderRadius: 4 }} />
|
|
306
|
+
</View>
|
|
307
|
+
))}
|
|
308
|
+
</View>
|
|
309
|
+
);
|
|
310
|
+
}
|
|
254
311
|
if (!selectedPlan?.features || selectedPlan.features.length === 0)
|
|
255
312
|
return null;
|
|
256
313
|
|
|
@@ -266,7 +323,45 @@ function OnboardingPaywallPanel({
|
|
|
266
323
|
);
|
|
267
324
|
};
|
|
268
325
|
|
|
326
|
+
const renderSkeletonPlans = () => {
|
|
327
|
+
return (
|
|
328
|
+
<View style={styles.plansContainer}>
|
|
329
|
+
{[1, 2, 3].map((key) => (
|
|
330
|
+
<View
|
|
331
|
+
key={key}
|
|
332
|
+
style={[styles.planCard, { opacity: 1, padding: 16 }]}
|
|
333
|
+
>
|
|
334
|
+
<View style={{ flexDirection: 'row', alignItems: 'center' }}>
|
|
335
|
+
{/* Radio button placeholder */}
|
|
336
|
+
<Skeleton
|
|
337
|
+
width={24}
|
|
338
|
+
height={24}
|
|
339
|
+
style={{ borderRadius: 12, marginRight: 12 }}
|
|
340
|
+
/>
|
|
341
|
+
<View>
|
|
342
|
+
{/* Title */}
|
|
343
|
+
<Skeleton
|
|
344
|
+
width={100}
|
|
345
|
+
height={16}
|
|
346
|
+
style={{ marginBottom: 6, borderRadius: 4 }}
|
|
347
|
+
/>
|
|
348
|
+
{/* Interval/Subtitle */}
|
|
349
|
+
<Skeleton width={60} height={12} style={{ borderRadius: 4 }} />
|
|
350
|
+
</View>
|
|
351
|
+
</View>
|
|
352
|
+
{/* Price */}
|
|
353
|
+
<Skeleton width={70} height={20} style={{ borderRadius: 4 }} />
|
|
354
|
+
</View>
|
|
355
|
+
))}
|
|
356
|
+
</View>
|
|
357
|
+
);
|
|
358
|
+
};
|
|
359
|
+
|
|
269
360
|
const renderPlans = () => {
|
|
361
|
+
if (isLoading) {
|
|
362
|
+
return renderSkeletonPlans();
|
|
363
|
+
}
|
|
364
|
+
|
|
270
365
|
return (
|
|
271
366
|
<View style={styles.plansContainer}>
|
|
272
367
|
{displayPlans.map((plan) => {
|
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import React, { useMemo, type ReactNode } from 'react';
|
|
1
|
+
import React, { useMemo, type ReactNode, forwardRef } from 'react';
|
|
2
2
|
import { StyleSheet } from 'react-native';
|
|
3
3
|
import Reanimated, {
|
|
4
4
|
FadeIn,
|
|
@@ -16,54 +16,57 @@ interface OnboardingStepContainerProps {
|
|
|
16
16
|
showCloseButton?: boolean;
|
|
17
17
|
animationDuration: number;
|
|
18
18
|
onSkip?: () => void;
|
|
19
|
-
ref: React.RefObject<any>;
|
|
20
19
|
renderStepContent: () => React.ReactNode;
|
|
21
20
|
skipButton?: ({ onPress }: { onPress: () => void }) => ReactNode;
|
|
22
21
|
}
|
|
23
22
|
|
|
24
|
-
|
|
25
|
-
|
|
26
|
-
|
|
27
|
-
|
|
28
|
-
|
|
29
|
-
|
|
30
|
-
|
|
31
|
-
|
|
32
|
-
|
|
33
|
-
|
|
34
|
-
|
|
23
|
+
const OnboardingStepContainer = forwardRef<any, OnboardingStepContainerProps>(
|
|
24
|
+
(
|
|
25
|
+
{
|
|
26
|
+
currentStep,
|
|
27
|
+
showCloseButton,
|
|
28
|
+
animationDuration,
|
|
29
|
+
onSkip,
|
|
30
|
+
renderStepContent,
|
|
31
|
+
skipButton,
|
|
32
|
+
},
|
|
33
|
+
ref
|
|
34
|
+
) => {
|
|
35
|
+
const { theme } = useTheme();
|
|
36
|
+
const styles = useMemo(() => createStyles(theme), [theme]);
|
|
35
37
|
|
|
36
|
-
|
|
37
|
-
|
|
38
|
-
|
|
38
|
+
if (!currentStep) {
|
|
39
|
+
return null;
|
|
40
|
+
}
|
|
41
|
+
|
|
42
|
+
return (
|
|
43
|
+
<>
|
|
44
|
+
{showCloseButton && onSkip && (
|
|
45
|
+
<Reanimated.View
|
|
46
|
+
entering={FadeIn.duration(animationDuration)}
|
|
47
|
+
exiting={FadeOut.duration(animationDuration)}
|
|
48
|
+
style={styles.close}
|
|
49
|
+
>
|
|
50
|
+
{skipButton ? (
|
|
51
|
+
skipButton({ onPress: onSkip })
|
|
52
|
+
) : (
|
|
53
|
+
<SkipButton onPress={onSkip} />
|
|
54
|
+
)}
|
|
55
|
+
</Reanimated.View>
|
|
56
|
+
)}
|
|
39
57
|
|
|
40
|
-
return (
|
|
41
|
-
<>
|
|
42
|
-
{showCloseButton && onSkip && (
|
|
43
58
|
<Reanimated.View
|
|
44
|
-
|
|
45
|
-
|
|
46
|
-
|
|
59
|
+
ref={ref}
|
|
60
|
+
entering={FadeInDown.duration(animationDuration)}
|
|
61
|
+
exiting={FadeOutDown.duration(animationDuration)}
|
|
62
|
+
style={styles.bottomPanel}
|
|
47
63
|
>
|
|
48
|
-
{
|
|
49
|
-
skipButton({ onPress: onSkip })
|
|
50
|
-
) : (
|
|
51
|
-
<SkipButton onPress={onSkip} />
|
|
52
|
-
)}
|
|
64
|
+
{renderStepContent()}
|
|
53
65
|
</Reanimated.View>
|
|
54
|
-
|
|
55
|
-
|
|
56
|
-
|
|
57
|
-
|
|
58
|
-
entering={FadeInDown.duration(animationDuration)}
|
|
59
|
-
exiting={FadeOutDown.duration(animationDuration)}
|
|
60
|
-
style={styles.bottomPanel}
|
|
61
|
-
>
|
|
62
|
-
{renderStepContent()}
|
|
63
|
-
</Reanimated.View>
|
|
64
|
-
</>
|
|
65
|
-
);
|
|
66
|
-
}
|
|
66
|
+
</>
|
|
67
|
+
);
|
|
68
|
+
}
|
|
69
|
+
);
|
|
67
70
|
|
|
68
71
|
export default OnboardingStepContainer;
|
|
69
72
|
|
|
@@ -0,0 +1,50 @@
|
|
|
1
|
+
import { useEffect } from 'react';
|
|
2
|
+
import Animated, {
|
|
3
|
+
useAnimatedStyle,
|
|
4
|
+
withRepeat,
|
|
5
|
+
withSequence,
|
|
6
|
+
withTiming,
|
|
7
|
+
useSharedValue,
|
|
8
|
+
} from 'react-native-reanimated';
|
|
9
|
+
|
|
10
|
+
interface SkeletonProps {
|
|
11
|
+
width?: number | string;
|
|
12
|
+
height?: number;
|
|
13
|
+
style?: any;
|
|
14
|
+
}
|
|
15
|
+
|
|
16
|
+
export function Skeleton({ width, height, style }: SkeletonProps) {
|
|
17
|
+
const opacity = useSharedValue(0.3);
|
|
18
|
+
|
|
19
|
+
useEffect(() => {
|
|
20
|
+
opacity.value = withRepeat(
|
|
21
|
+
withSequence(
|
|
22
|
+
withTiming(0.7, { duration: 1000 }),
|
|
23
|
+
withTiming(0.3, { duration: 1000 })
|
|
24
|
+
),
|
|
25
|
+
-1,
|
|
26
|
+
true
|
|
27
|
+
);
|
|
28
|
+
}, [opacity]);
|
|
29
|
+
|
|
30
|
+
const animatedStyle = useAnimatedStyle(() => ({
|
|
31
|
+
opacity: opacity.value,
|
|
32
|
+
}));
|
|
33
|
+
|
|
34
|
+
return (
|
|
35
|
+
<Animated.View
|
|
36
|
+
style={[
|
|
37
|
+
{
|
|
38
|
+
backgroundColor: '#E0E0E0',
|
|
39
|
+
borderRadius: 4,
|
|
40
|
+
width: width,
|
|
41
|
+
height: height,
|
|
42
|
+
},
|
|
43
|
+
style,
|
|
44
|
+
animatedStyle,
|
|
45
|
+
]}
|
|
46
|
+
/>
|
|
47
|
+
);
|
|
48
|
+
}
|
|
49
|
+
|
|
50
|
+
export default Skeleton;
|