@rubixscript/react-native-onboarding 1.0.0 → 1.1.0
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/LICENSE +21 -21
- package/README.md +383 -383
- package/dist/components/NavigationButtons.d.ts +23 -0
- package/dist/components/NavigationButtons.d.ts.map +1 -0
- package/dist/components/NavigationButtons.js +106 -0
- package/dist/components/Onboarding.d.ts +11 -0
- package/dist/components/Onboarding.d.ts.map +1 -0
- package/dist/components/Onboarding.js +219 -0
- package/dist/components/Pagination.d.ts +5 -0
- package/dist/components/Pagination.d.ts.map +1 -0
- package/dist/components/Pagination.js +269 -0
- package/dist/components/SimpleOnboardingScreen.d.ts +54 -0
- package/dist/components/SimpleOnboardingScreen.d.ts.map +1 -0
- package/dist/components/SimpleOnboardingScreen.js +184 -0
- package/dist/components/index.d.ts +7 -0
- package/dist/components/index.d.ts.map +1 -0
- package/dist/components/index.js +5 -0
- package/dist/index.d.ts +9 -0
- package/dist/index.d.ts.map +1 -0
- package/dist/index.js +12 -0
- package/dist/presets/index.d.ts +27 -0
- package/dist/presets/index.d.ts.map +1 -0
- package/dist/presets/index.js +370 -0
- package/dist/slides/FormSlide.d.ts +12 -0
- package/dist/slides/FormSlide.d.ts.map +1 -0
- package/dist/slides/FormSlide.js +227 -0
- package/dist/slides/IconSlide.d.ts +10 -0
- package/dist/slides/IconSlide.d.ts.map +1 -0
- package/dist/slides/IconSlide.js +133 -0
- package/dist/slides/ImageSlide.d.ts +10 -0
- package/dist/slides/ImageSlide.d.ts.map +1 -0
- package/dist/slides/ImageSlide.js +99 -0
- package/dist/slides/VideoSlide.d.ts +10 -0
- package/dist/slides/VideoSlide.d.ts.map +1 -0
- package/dist/slides/VideoSlide.js +101 -0
- package/dist/slides/index.d.ts +14 -0
- package/dist/slides/index.d.ts.map +1 -0
- package/dist/slides/index.js +25 -0
- package/dist/themes/index.d.ts +35 -0
- package/dist/themes/index.d.ts.map +1 -0
- package/dist/themes/index.js +547 -0
- package/dist/types/index.d.ts +191 -0
- package/dist/types/index.d.ts.map +1 -0
- package/dist/types/index.js +1 -0
- package/package.json +73 -60
- package/src/components/NavigationButtons.tsx +198 -198
- package/src/components/Onboarding.tsx +337 -340
- package/src/components/Pagination.tsx +337 -337
- package/src/components/SimpleOnboardingScreen.tsx +266 -0
- package/src/components/index.ts +7 -5
- package/src/index.ts +69 -65
- package/src/presets/index.ts +391 -394
- package/src/slides/FormSlide.tsx +314 -314
- package/src/slides/IconSlide.tsx +166 -166
- package/src/slides/ImageSlide.tsx +132 -132
- package/src/slides/VideoSlide.tsx +146 -146
- package/src/slides/{index.ts → index.tsx} +37 -44
- package/src/themes/index.ts +576 -574
- package/src/types/index.ts +247 -247
package/src/presets/index.ts
CHANGED
|
@@ -1,394 +1,391 @@
|
|
|
1
|
-
import { SlideData, OnboardingConfig } from '../types';
|
|
2
|
-
|
|
3
|
-
// ============================================================================
|
|
4
|
-
// ONEPAGE PRESET SLIDES
|
|
5
|
-
// ============================================================================
|
|
6
|
-
|
|
7
|
-
export const onepageSlides: SlideData[] = [
|
|
8
|
-
{
|
|
9
|
-
id: 'welcome',
|
|
10
|
-
type: 'image',
|
|
11
|
-
title: 'Welcome to 1Page',
|
|
12
|
-
description: 'Your personal reading companion for tracking and discovering amazing books.',
|
|
13
|
-
image: require('../../assets/images/onboarding/welcome.png'),
|
|
14
|
-
gradientColors: ['#667EEA', '#764BA2'],
|
|
15
|
-
},
|
|
16
|
-
{
|
|
17
|
-
id: 'library',
|
|
18
|
-
type: 'image',
|
|
19
|
-
title: 'Smart Library',
|
|
20
|
-
description: 'Organize your books effortlessly and discover insights about your reading habits.',
|
|
21
|
-
image: require('../../assets/images/onboarding/library.png'),
|
|
22
|
-
gradientColors: ['#667EEA', '#06D6A0'],
|
|
23
|
-
},
|
|
24
|
-
{
|
|
25
|
-
id: 'progress',
|
|
26
|
-
type: 'image',
|
|
27
|
-
title: 'Track Progress',
|
|
28
|
-
description: 'Monitor your reading journey with beautiful statistics and achievements.',
|
|
29
|
-
image: require('../../assets/images/onboarding/progress.png'),
|
|
30
|
-
gradientColors: ['#06D6A0', '#764BA2'],
|
|
31
|
-
},
|
|
32
|
-
{
|
|
33
|
-
id: 'profile',
|
|
34
|
-
type: 'form',
|
|
35
|
-
title: 'Let\'s Get Started',
|
|
36
|
-
description: 'Tell us a bit about yourself to personalize your experience.',
|
|
37
|
-
fields: [
|
|
38
|
-
{
|
|
39
|
-
key: 'name',
|
|
40
|
-
label: 'What should we call you?',
|
|
41
|
-
placeholder: 'Enter your name',
|
|
42
|
-
type: 'text',
|
|
43
|
-
required: true,
|
|
44
|
-
},
|
|
45
|
-
{
|
|
46
|
-
key: 'readerLevel',
|
|
47
|
-
label: 'Reader Level',
|
|
48
|
-
placeholder: 'Select your level',
|
|
49
|
-
type: 'select',
|
|
50
|
-
required: true,
|
|
51
|
-
options: [
|
|
52
|
-
{ value: 'novice', label: 'Novice', icon: 'book-outline' },
|
|
53
|
-
{ value: 'reader', label: 'Reader', icon: 'book' },
|
|
54
|
-
{ value: 'bookworm', label: 'Bookworm', icon: 'library' },
|
|
55
|
-
{ value: 'scholar', label: 'Scholar', icon: 'school' },
|
|
56
|
-
{ value: 'sage', label: 'Sage', icon: 'sparkles' },
|
|
57
|
-
{ value: 'master', label: 'Master', icon: 'trophy' },
|
|
58
|
-
],
|
|
59
|
-
},
|
|
60
|
-
{
|
|
61
|
-
key: 'yearlyPages',
|
|
62
|
-
label: 'Yearly Reading Goal',
|
|
63
|
-
placeholder: 'Select your goal',
|
|
64
|
-
type: 'select',
|
|
65
|
-
required: true,
|
|
66
|
-
options: [
|
|
67
|
-
{ value: '0-500', label: '0-500 pages' },
|
|
68
|
-
{ value: '500-1500', label: '500-1500 pages' },
|
|
69
|
-
{ value: '1500-3000', label: '1500-3000 pages' },
|
|
70
|
-
{ value: '3000-5000', label: '3000-5000 pages' },
|
|
71
|
-
{ value: '5000+', label: '5000+ pages' },
|
|
72
|
-
],
|
|
73
|
-
},
|
|
74
|
-
],
|
|
75
|
-
submitLabel: 'Start Reading',
|
|
76
|
-
gradientColors: ['#667EEA', '#764BA2'],
|
|
77
|
-
},
|
|
78
|
-
];
|
|
79
|
-
|
|
80
|
-
// ============================================================================
|
|
81
|
-
// ZAPRECIPE PRESET SLIDES
|
|
82
|
-
// ============================================================================
|
|
83
|
-
|
|
84
|
-
export const zaprecipeSlides: SlideData[] = [
|
|
85
|
-
{
|
|
86
|
-
id: 'discover',
|
|
87
|
-
type: 'image',
|
|
88
|
-
title: 'Find Perfect Recipes',
|
|
89
|
-
description: 'Discover thousands of recipes tailored to your taste and dietary preferences.',
|
|
90
|
-
image: require('../../assets/images/onboarding/recipes.jpg'),
|
|
91
|
-
overlayIcon: { name: 'search', size: 40 },
|
|
92
|
-
gradientColors: ['#667eea', '#764ba2', '#6B4EFF'],
|
|
93
|
-
},
|
|
94
|
-
{
|
|
95
|
-
id: 'save',
|
|
96
|
-
type: 'image',
|
|
97
|
-
title: 'Save Your Favorites',
|
|
98
|
-
description: 'Build your personal cookbook with recipes you love and want to try.',
|
|
99
|
-
image: require('../../assets/images/onboarding/favorites.jpg'),
|
|
100
|
-
overlayIcon: { name: 'heart', size: 40 },
|
|
101
|
-
gradientColors: ['#667eea', '#764ba2', '#6B4EFF'],
|
|
102
|
-
},
|
|
103
|
-
{
|
|
104
|
-
id: 'cook',
|
|
105
|
-
type: 'image',
|
|
106
|
-
title: 'Cook with Confidence',
|
|
107
|
-
description: 'Step-by-step instructions make cooking easy and enjoyable for everyone.',
|
|
108
|
-
image: require('../../assets/images/onboarding/cooking.jpg'),
|
|
109
|
-
overlayIcon: { name: 'restaurant', size: 40 },
|
|
110
|
-
gradientColors: ['#667eea', '#764ba2', '#6B4EFF'],
|
|
111
|
-
},
|
|
112
|
-
{
|
|
113
|
-
id: 'profile',
|
|
114
|
-
type: 'form',
|
|
115
|
-
title: 'Tell Us About Yourself',
|
|
116
|
-
description: 'Help us personalize your cooking experience.',
|
|
117
|
-
fields: [
|
|
118
|
-
{
|
|
119
|
-
key: 'name',
|
|
120
|
-
label: 'Your Name',
|
|
121
|
-
placeholder: 'Enter your name',
|
|
122
|
-
type: 'text',
|
|
123
|
-
required: true,
|
|
124
|
-
},
|
|
125
|
-
{
|
|
126
|
-
key: 'cookingLevel',
|
|
127
|
-
label: 'Cooking Level',
|
|
128
|
-
placeholder: 'Select your level',
|
|
129
|
-
type: 'select',
|
|
130
|
-
required: true,
|
|
131
|
-
options: [
|
|
132
|
-
{ value: 'beginner', label: 'Beginner', icon: 'leaf' },
|
|
133
|
-
{ value: 'intermediate', label: 'Intermediate', icon: 'flame' },
|
|
134
|
-
{ value: 'advanced', label: 'Advanced', icon: 'star' },
|
|
135
|
-
],
|
|
136
|
-
},
|
|
137
|
-
{
|
|
138
|
-
key: 'improveHabits',
|
|
139
|
-
label: 'What cooking habits do you want to improve?',
|
|
140
|
-
placeholder: 'e.g., Faster prep, Better seasoning',
|
|
141
|
-
type: 'text',
|
|
142
|
-
},
|
|
143
|
-
{
|
|
144
|
-
key: 'masterSkill',
|
|
145
|
-
label: 'What culinary skill do you want to master?',
|
|
146
|
-
placeholder: 'e.g., Knife skills, Baking',
|
|
147
|
-
type: 'text',
|
|
148
|
-
},
|
|
149
|
-
],
|
|
150
|
-
submitLabel: "Let's Start Cooking!",
|
|
151
|
-
gradientColors: ['#667eea', '#764ba2', '#6B4EFF'],
|
|
152
|
-
},
|
|
153
|
-
];
|
|
154
|
-
|
|
155
|
-
// ============================================================================
|
|
156
|
-
// POMODO PRESET SLIDES
|
|
157
|
-
// ============================================================================
|
|
158
|
-
|
|
159
|
-
export const pomodoSlides: SlideData[] = [
|
|
160
|
-
{
|
|
161
|
-
id: '
|
|
162
|
-
type: 'icon',
|
|
163
|
-
title: '
|
|
164
|
-
|
|
165
|
-
|
|
166
|
-
|
|
167
|
-
|
|
168
|
-
|
|
169
|
-
|
|
170
|
-
|
|
171
|
-
|
|
172
|
-
|
|
173
|
-
|
|
174
|
-
|
|
175
|
-
|
|
176
|
-
|
|
177
|
-
|
|
178
|
-
|
|
179
|
-
|
|
180
|
-
|
|
181
|
-
|
|
182
|
-
|
|
183
|
-
|
|
184
|
-
|
|
185
|
-
|
|
186
|
-
|
|
187
|
-
|
|
188
|
-
|
|
189
|
-
|
|
190
|
-
|
|
191
|
-
|
|
192
|
-
|
|
193
|
-
|
|
194
|
-
|
|
195
|
-
|
|
196
|
-
|
|
197
|
-
|
|
198
|
-
|
|
199
|
-
|
|
200
|
-
|
|
201
|
-
|
|
202
|
-
|
|
203
|
-
|
|
204
|
-
|
|
205
|
-
|
|
206
|
-
|
|
207
|
-
|
|
208
|
-
|
|
209
|
-
|
|
210
|
-
|
|
211
|
-
|
|
212
|
-
|
|
213
|
-
|
|
214
|
-
|
|
215
|
-
|
|
216
|
-
|
|
217
|
-
|
|
218
|
-
|
|
219
|
-
|
|
220
|
-
|
|
221
|
-
|
|
222
|
-
|
|
223
|
-
|
|
224
|
-
|
|
225
|
-
|
|
226
|
-
|
|
227
|
-
|
|
228
|
-
|
|
229
|
-
|
|
230
|
-
|
|
231
|
-
|
|
232
|
-
|
|
233
|
-
|
|
234
|
-
|
|
235
|
-
|
|
236
|
-
|
|
237
|
-
|
|
238
|
-
|
|
239
|
-
|
|
240
|
-
|
|
241
|
-
|
|
242
|
-
|
|
243
|
-
|
|
244
|
-
|
|
245
|
-
|
|
246
|
-
|
|
247
|
-
|
|
248
|
-
|
|
249
|
-
|
|
250
|
-
|
|
251
|
-
|
|
252
|
-
|
|
253
|
-
|
|
254
|
-
|
|
255
|
-
|
|
256
|
-
|
|
257
|
-
|
|
258
|
-
|
|
259
|
-
|
|
260
|
-
|
|
261
|
-
|
|
262
|
-
|
|
263
|
-
|
|
264
|
-
|
|
265
|
-
|
|
266
|
-
|
|
267
|
-
|
|
268
|
-
|
|
269
|
-
|
|
270
|
-
|
|
271
|
-
|
|
272
|
-
|
|
273
|
-
|
|
274
|
-
|
|
275
|
-
|
|
276
|
-
|
|
277
|
-
|
|
278
|
-
|
|
279
|
-
|
|
280
|
-
|
|
281
|
-
|
|
282
|
-
|
|
283
|
-
|
|
284
|
-
|
|
285
|
-
|
|
286
|
-
|
|
287
|
-
|
|
288
|
-
|
|
289
|
-
|
|
290
|
-
|
|
291
|
-
|
|
292
|
-
|
|
293
|
-
|
|
294
|
-
|
|
295
|
-
|
|
296
|
-
|
|
297
|
-
|
|
298
|
-
|
|
299
|
-
|
|
300
|
-
|
|
301
|
-
|
|
302
|
-
|
|
303
|
-
|
|
304
|
-
|
|
305
|
-
|
|
306
|
-
|
|
307
|
-
|
|
308
|
-
|
|
309
|
-
|
|
310
|
-
|
|
311
|
-
|
|
312
|
-
|
|
313
|
-
|
|
314
|
-
|
|
315
|
-
|
|
316
|
-
|
|
317
|
-
|
|
318
|
-
|
|
319
|
-
|
|
320
|
-
|
|
321
|
-
|
|
322
|
-
|
|
323
|
-
|
|
324
|
-
|
|
325
|
-
|
|
326
|
-
|
|
327
|
-
|
|
328
|
-
|
|
329
|
-
|
|
330
|
-
|
|
331
|
-
|
|
332
|
-
|
|
333
|
-
|
|
334
|
-
|
|
335
|
-
|
|
336
|
-
|
|
337
|
-
|
|
338
|
-
|
|
339
|
-
|
|
340
|
-
|
|
341
|
-
|
|
342
|
-
|
|
343
|
-
|
|
344
|
-
|
|
345
|
-
|
|
346
|
-
|
|
347
|
-
|
|
348
|
-
|
|
349
|
-
|
|
350
|
-
|
|
351
|
-
|
|
352
|
-
|
|
353
|
-
|
|
354
|
-
|
|
355
|
-
|
|
356
|
-
|
|
357
|
-
|
|
358
|
-
|
|
359
|
-
|
|
360
|
-
|
|
361
|
-
|
|
362
|
-
|
|
363
|
-
|
|
364
|
-
|
|
365
|
-
|
|
366
|
-
|
|
367
|
-
|
|
368
|
-
|
|
369
|
-
|
|
370
|
-
|
|
371
|
-
|
|
372
|
-
|
|
373
|
-
|
|
374
|
-
|
|
375
|
-
|
|
376
|
-
|
|
377
|
-
|
|
378
|
-
|
|
379
|
-
|
|
380
|
-
|
|
381
|
-
|
|
382
|
-
|
|
383
|
-
|
|
384
|
-
|
|
385
|
-
|
|
386
|
-
|
|
387
|
-
|
|
388
|
-
|
|
389
|
-
|
|
390
|
-
|
|
391
|
-
|
|
392
|
-
zaprecipeConfig,
|
|
393
|
-
pomodoConfig,
|
|
394
|
-
};
|
|
1
|
+
import { SlideData, OnboardingConfig } from '../types';
|
|
2
|
+
|
|
3
|
+
// ============================================================================
|
|
4
|
+
// ONEPAGE PRESET SLIDES
|
|
5
|
+
// ============================================================================
|
|
6
|
+
|
|
7
|
+
export const onepageSlides: SlideData[] = [
|
|
8
|
+
{
|
|
9
|
+
id: 'welcome',
|
|
10
|
+
type: 'image',
|
|
11
|
+
title: 'Welcome to 1Page',
|
|
12
|
+
description: 'Your personal reading companion for tracking and discovering amazing books.',
|
|
13
|
+
image: require('../../assets/images/onboarding/welcome.png'),
|
|
14
|
+
gradientColors: ['#667EEA', '#764BA2'],
|
|
15
|
+
},
|
|
16
|
+
{
|
|
17
|
+
id: 'library',
|
|
18
|
+
type: 'image',
|
|
19
|
+
title: 'Smart Library',
|
|
20
|
+
description: 'Organize your books effortlessly and discover insights about your reading habits.',
|
|
21
|
+
image: require('../../assets/images/onboarding/library.png'),
|
|
22
|
+
gradientColors: ['#667EEA', '#06D6A0'],
|
|
23
|
+
},
|
|
24
|
+
{
|
|
25
|
+
id: 'progress',
|
|
26
|
+
type: 'image',
|
|
27
|
+
title: 'Track Progress',
|
|
28
|
+
description: 'Monitor your reading journey with beautiful statistics and achievements.',
|
|
29
|
+
image: require('../../assets/images/onboarding/progress.png'),
|
|
30
|
+
gradientColors: ['#06D6A0', '#764BA2'],
|
|
31
|
+
},
|
|
32
|
+
{
|
|
33
|
+
id: 'profile',
|
|
34
|
+
type: 'form',
|
|
35
|
+
title: 'Let\'s Get Started',
|
|
36
|
+
description: 'Tell us a bit about yourself to personalize your experience.',
|
|
37
|
+
fields: [
|
|
38
|
+
{
|
|
39
|
+
key: 'name',
|
|
40
|
+
label: 'What should we call you?',
|
|
41
|
+
placeholder: 'Enter your name',
|
|
42
|
+
type: 'text',
|
|
43
|
+
required: true,
|
|
44
|
+
},
|
|
45
|
+
{
|
|
46
|
+
key: 'readerLevel',
|
|
47
|
+
label: 'Reader Level',
|
|
48
|
+
placeholder: 'Select your level',
|
|
49
|
+
type: 'select',
|
|
50
|
+
required: true,
|
|
51
|
+
options: [
|
|
52
|
+
{ value: 'novice', label: 'Novice', icon: 'book-outline' },
|
|
53
|
+
{ value: 'reader', label: 'Reader', icon: 'book' },
|
|
54
|
+
{ value: 'bookworm', label: 'Bookworm', icon: 'library' },
|
|
55
|
+
{ value: 'scholar', label: 'Scholar', icon: 'school' },
|
|
56
|
+
{ value: 'sage', label: 'Sage', icon: 'sparkles' },
|
|
57
|
+
{ value: 'master', label: 'Master', icon: 'trophy' },
|
|
58
|
+
],
|
|
59
|
+
},
|
|
60
|
+
{
|
|
61
|
+
key: 'yearlyPages',
|
|
62
|
+
label: 'Yearly Reading Goal',
|
|
63
|
+
placeholder: 'Select your goal',
|
|
64
|
+
type: 'select',
|
|
65
|
+
required: true,
|
|
66
|
+
options: [
|
|
67
|
+
{ value: '0-500', label: '0-500 pages' },
|
|
68
|
+
{ value: '500-1500', label: '500-1500 pages' },
|
|
69
|
+
{ value: '1500-3000', label: '1500-3000 pages' },
|
|
70
|
+
{ value: '3000-5000', label: '3000-5000 pages' },
|
|
71
|
+
{ value: '5000+', label: '5000+ pages' },
|
|
72
|
+
],
|
|
73
|
+
},
|
|
74
|
+
],
|
|
75
|
+
submitLabel: 'Start Reading',
|
|
76
|
+
gradientColors: ['#667EEA', '#764BA2'],
|
|
77
|
+
},
|
|
78
|
+
];
|
|
79
|
+
|
|
80
|
+
// ============================================================================
|
|
81
|
+
// ZAPRECIPE PRESET SLIDES
|
|
82
|
+
// ============================================================================
|
|
83
|
+
|
|
84
|
+
export const zaprecipeSlides: SlideData[] = [
|
|
85
|
+
{
|
|
86
|
+
id: 'discover',
|
|
87
|
+
type: 'image',
|
|
88
|
+
title: 'Find Perfect Recipes',
|
|
89
|
+
description: 'Discover thousands of recipes tailored to your taste and dietary preferences.',
|
|
90
|
+
image: require('../../assets/images/onboarding/recipes.jpg'),
|
|
91
|
+
overlayIcon: { name: 'search', size: 40 },
|
|
92
|
+
gradientColors: ['#667eea', '#764ba2', '#6B4EFF'],
|
|
93
|
+
},
|
|
94
|
+
{
|
|
95
|
+
id: 'save',
|
|
96
|
+
type: 'image',
|
|
97
|
+
title: 'Save Your Favorites',
|
|
98
|
+
description: 'Build your personal cookbook with recipes you love and want to try.',
|
|
99
|
+
image: require('../../assets/images/onboarding/favorites.jpg'),
|
|
100
|
+
overlayIcon: { name: 'heart', size: 40 },
|
|
101
|
+
gradientColors: ['#667eea', '#764ba2', '#6B4EFF'],
|
|
102
|
+
},
|
|
103
|
+
{
|
|
104
|
+
id: 'cook',
|
|
105
|
+
type: 'image',
|
|
106
|
+
title: 'Cook with Confidence',
|
|
107
|
+
description: 'Step-by-step instructions make cooking easy and enjoyable for everyone.',
|
|
108
|
+
image: require('../../assets/images/onboarding/cooking.jpg'),
|
|
109
|
+
overlayIcon: { name: 'restaurant', size: 40 },
|
|
110
|
+
gradientColors: ['#667eea', '#764ba2', '#6B4EFF'],
|
|
111
|
+
},
|
|
112
|
+
{
|
|
113
|
+
id: 'profile',
|
|
114
|
+
type: 'form',
|
|
115
|
+
title: 'Tell Us About Yourself',
|
|
116
|
+
description: 'Help us personalize your cooking experience.',
|
|
117
|
+
fields: [
|
|
118
|
+
{
|
|
119
|
+
key: 'name',
|
|
120
|
+
label: 'Your Name',
|
|
121
|
+
placeholder: 'Enter your name',
|
|
122
|
+
type: 'text',
|
|
123
|
+
required: true,
|
|
124
|
+
},
|
|
125
|
+
{
|
|
126
|
+
key: 'cookingLevel',
|
|
127
|
+
label: 'Cooking Level',
|
|
128
|
+
placeholder: 'Select your level',
|
|
129
|
+
type: 'select',
|
|
130
|
+
required: true,
|
|
131
|
+
options: [
|
|
132
|
+
{ value: 'beginner', label: 'Beginner', icon: 'leaf' },
|
|
133
|
+
{ value: 'intermediate', label: 'Intermediate', icon: 'flame' },
|
|
134
|
+
{ value: 'advanced', label: 'Advanced', icon: 'star' },
|
|
135
|
+
],
|
|
136
|
+
},
|
|
137
|
+
{
|
|
138
|
+
key: 'improveHabits',
|
|
139
|
+
label: 'What cooking habits do you want to improve?',
|
|
140
|
+
placeholder: 'e.g., Faster prep, Better seasoning',
|
|
141
|
+
type: 'text',
|
|
142
|
+
},
|
|
143
|
+
{
|
|
144
|
+
key: 'masterSkill',
|
|
145
|
+
label: 'What culinary skill do you want to master?',
|
|
146
|
+
placeholder: 'e.g., Knife skills, Baking',
|
|
147
|
+
type: 'text',
|
|
148
|
+
},
|
|
149
|
+
],
|
|
150
|
+
submitLabel: "Let's Start Cooking!",
|
|
151
|
+
gradientColors: ['#667eea', '#764ba2', '#6B4EFF'],
|
|
152
|
+
},
|
|
153
|
+
];
|
|
154
|
+
|
|
155
|
+
// ============================================================================
|
|
156
|
+
// POMODO PRESET SLIDES
|
|
157
|
+
// ============================================================================
|
|
158
|
+
|
|
159
|
+
export const pomodoSlides: SlideData[] = [
|
|
160
|
+
{
|
|
161
|
+
id: '1',
|
|
162
|
+
type: 'icon',
|
|
163
|
+
title: 'Focus Timer',
|
|
164
|
+
description: 'Stay productive with our Pomodoro timer. Work in focused intervals for better results.',
|
|
165
|
+
icon: {
|
|
166
|
+
name: 'timer-outline',
|
|
167
|
+
type: 'material-community',
|
|
168
|
+
size: 80,
|
|
169
|
+
color: '#000000',
|
|
170
|
+
backgroundColor: 'rgba(255, 107, 107, 0.1)',
|
|
171
|
+
backgroundSize: 160,
|
|
172
|
+
},
|
|
173
|
+
backgroundColor: '#F6F6F6',
|
|
174
|
+
},
|
|
175
|
+
{
|
|
176
|
+
id: '2',
|
|
177
|
+
type: 'icon',
|
|
178
|
+
title: 'Task Management',
|
|
179
|
+
description: 'Organize your tasks efficiently. Track progress and set priorities with ease.',
|
|
180
|
+
icon: {
|
|
181
|
+
name: 'checkbox-marked-circle-outline',
|
|
182
|
+
type: 'material-community',
|
|
183
|
+
size: 80,
|
|
184
|
+
color: '#000000',
|
|
185
|
+
backgroundColor: 'rgba(255, 107, 107, 0.1)',
|
|
186
|
+
backgroundSize: 160,
|
|
187
|
+
},
|
|
188
|
+
backgroundColor: '#F6F6F6',
|
|
189
|
+
},
|
|
190
|
+
{
|
|
191
|
+
id: '3',
|
|
192
|
+
type: 'icon',
|
|
193
|
+
title: 'Statistics',
|
|
194
|
+
description: 'Monitor your productivity with detailed statistics and insights.',
|
|
195
|
+
icon: {
|
|
196
|
+
name: 'chart-line',
|
|
197
|
+
type: 'material-community',
|
|
198
|
+
size: 80,
|
|
199
|
+
color: '#000000',
|
|
200
|
+
backgroundColor: 'rgba(255, 107, 107, 0.1)',
|
|
201
|
+
backgroundSize: 160,
|
|
202
|
+
},
|
|
203
|
+
backgroundColor: '#F6F6F6',
|
|
204
|
+
},
|
|
205
|
+
];
|
|
206
|
+
|
|
207
|
+
// ============================================================================
|
|
208
|
+
// MODERN PRESET SLIDES
|
|
209
|
+
// ============================================================================
|
|
210
|
+
|
|
211
|
+
export const modernSlides: SlideData[] = [
|
|
212
|
+
{
|
|
213
|
+
id: 'welcome',
|
|
214
|
+
type: 'icon',
|
|
215
|
+
title: 'Welcome Aboard',
|
|
216
|
+
description: 'Get started with an amazing experience tailored just for you.',
|
|
217
|
+
icon: {
|
|
218
|
+
name: 'rocket',
|
|
219
|
+
type: 'ionicons',
|
|
220
|
+
size: 72,
|
|
221
|
+
color: '#FFFFFF',
|
|
222
|
+
backgroundColor: '#8B5CF6',
|
|
223
|
+
backgroundSize: 180,
|
|
224
|
+
},
|
|
225
|
+
},
|
|
226
|
+
{
|
|
227
|
+
id: 'features',
|
|
228
|
+
type: 'icon',
|
|
229
|
+
title: 'Powerful Features',
|
|
230
|
+
description: 'Discover tools and features designed to help you achieve more.',
|
|
231
|
+
icon: {
|
|
232
|
+
name: 'apps',
|
|
233
|
+
type: 'ionicons',
|
|
234
|
+
size: 72,
|
|
235
|
+
color: '#FFFFFF',
|
|
236
|
+
backgroundColor: '#EC4899',
|
|
237
|
+
backgroundSize: 180,
|
|
238
|
+
},
|
|
239
|
+
},
|
|
240
|
+
{
|
|
241
|
+
id: 'ready',
|
|
242
|
+
type: 'icon',
|
|
243
|
+
title: 'Ready to Go?',
|
|
244
|
+
description: 'Let\'s set up your account and get started on your journey.',
|
|
245
|
+
icon: {
|
|
246
|
+
name: 'checkmark-done',
|
|
247
|
+
type: 'ionicons',
|
|
248
|
+
size: 72,
|
|
249
|
+
color: '#FFFFFF',
|
|
250
|
+
backgroundColor: '#10B981',
|
|
251
|
+
backgroundSize: 180,
|
|
252
|
+
},
|
|
253
|
+
},
|
|
254
|
+
];
|
|
255
|
+
|
|
256
|
+
// ============================================================================
|
|
257
|
+
// MINIMAL PRESET SLIDES
|
|
258
|
+
// ============================================================================
|
|
259
|
+
|
|
260
|
+
export const minimalSlides: SlideData[] = [
|
|
261
|
+
{
|
|
262
|
+
id: 'one',
|
|
263
|
+
type: 'icon',
|
|
264
|
+
title: 'Simple',
|
|
265
|
+
description: 'Clean and intuitive interface that\'s easy to use.',
|
|
266
|
+
icon: {
|
|
267
|
+
name: 'remove',
|
|
268
|
+
type: 'ionicons',
|
|
269
|
+
size: 48,
|
|
270
|
+
color: '#111827',
|
|
271
|
+
backgroundColor: '#F3F4F6',
|
|
272
|
+
backgroundSize: 120,
|
|
273
|
+
},
|
|
274
|
+
},
|
|
275
|
+
{
|
|
276
|
+
id: 'two',
|
|
277
|
+
type: 'icon',
|
|
278
|
+
title: 'Fast',
|
|
279
|
+
description: 'Lightning quick performance for a smooth experience.',
|
|
280
|
+
icon: {
|
|
281
|
+
name: 'flash',
|
|
282
|
+
type: 'ionicons',
|
|
283
|
+
size: 48,
|
|
284
|
+
color: '#111827',
|
|
285
|
+
backgroundColor: '#F3F4F6',
|
|
286
|
+
backgroundSize: 120,
|
|
287
|
+
},
|
|
288
|
+
},
|
|
289
|
+
{
|
|
290
|
+
id: 'three',
|
|
291
|
+
type: 'icon',
|
|
292
|
+
title: 'Yours',
|
|
293
|
+
description: 'Personalized to fit your needs perfectly.',
|
|
294
|
+
icon: {
|
|
295
|
+
name: 'person',
|
|
296
|
+
type: 'ionicons',
|
|
297
|
+
size: 48,
|
|
298
|
+
color: '#111827',
|
|
299
|
+
backgroundColor: '#F3F4F6',
|
|
300
|
+
backgroundSize: 120,
|
|
301
|
+
},
|
|
302
|
+
},
|
|
303
|
+
];
|
|
304
|
+
|
|
305
|
+
// ============================================================================
|
|
306
|
+
// GRADIENT PRESET SLIDES
|
|
307
|
+
// ============================================================================
|
|
308
|
+
|
|
309
|
+
export const gradientSlides: SlideData[] = [
|
|
310
|
+
{
|
|
311
|
+
id: 'discover',
|
|
312
|
+
type: 'image',
|
|
313
|
+
title: 'Discover',
|
|
314
|
+
description: 'Explore new possibilities and unlock your potential.',
|
|
315
|
+
image: require('../../assets/images/onboarding/gradient1.jpg'),
|
|
316
|
+
gradientColors: ['#667EEA', '#764BA2'],
|
|
317
|
+
},
|
|
318
|
+
{
|
|
319
|
+
id: 'create',
|
|
320
|
+
type: 'image',
|
|
321
|
+
title: 'Create',
|
|
322
|
+
description: 'Build something amazing with powerful tools at your fingertips.',
|
|
323
|
+
image: require('../../assets/images/onboarding/gradient2.jpg'),
|
|
324
|
+
gradientColors: ['#f093fb', '#f5576c'],
|
|
325
|
+
},
|
|
326
|
+
{
|
|
327
|
+
id: 'share',
|
|
328
|
+
type: 'image',
|
|
329
|
+
title: 'Share',
|
|
330
|
+
description: 'Connect with others and share your journey.',
|
|
331
|
+
image: require('../../assets/images/onboarding/gradient3.jpg'),
|
|
332
|
+
gradientColors: ['#4facfe', '#00f2fe'],
|
|
333
|
+
},
|
|
334
|
+
];
|
|
335
|
+
|
|
336
|
+
// ============================================================================
|
|
337
|
+
// PRESET CONFIGURATIONS
|
|
338
|
+
// ============================================================================
|
|
339
|
+
|
|
340
|
+
export const getPresetSlides = (preset: string): SlideData[] => {
|
|
341
|
+
const slidesMap: Record<string, SlideData[]> = {
|
|
342
|
+
onepage: onepageSlides,
|
|
343
|
+
zaprecipe: zaprecipeSlides,
|
|
344
|
+
pomodo: pomodoSlides,
|
|
345
|
+
modern: modernSlides,
|
|
346
|
+
minimal: minimalSlides,
|
|
347
|
+
gradient: gradientSlides,
|
|
348
|
+
};
|
|
349
|
+
return slidesMap[preset] || modernSlides;
|
|
350
|
+
};
|
|
351
|
+
|
|
352
|
+
export const getPresetConfig = (preset: string): Partial<OnboardingConfig> => {
|
|
353
|
+
return {
|
|
354
|
+
slides: getPresetSlides(preset),
|
|
355
|
+
// Theme and navigation presets are applied via theme prop
|
|
356
|
+
};
|
|
357
|
+
};
|
|
358
|
+
|
|
359
|
+
// ============================================================================
|
|
360
|
+
// QUICK START CONFIGS
|
|
361
|
+
// ============================================================================
|
|
362
|
+
|
|
363
|
+
export const onepageConfig: OnboardingConfig = {
|
|
364
|
+
slides: onepageSlides,
|
|
365
|
+
storage: { key: '@1page:onboarding_complete', enabled: true },
|
|
366
|
+
};
|
|
367
|
+
|
|
368
|
+
export const zaprecipeConfig: OnboardingConfig = {
|
|
369
|
+
slides: zaprecipeSlides,
|
|
370
|
+
storage: { key: '@zaprecipe:onboarding_complete', enabled: true },
|
|
371
|
+
};
|
|
372
|
+
|
|
373
|
+
export const pomodoConfig: OnboardingConfig = {
|
|
374
|
+
slides: pomodoSlides,
|
|
375
|
+
storage: { key: '@pomodo:onboarding_complete', enabled: true },
|
|
376
|
+
navigation: { showSkip: false },
|
|
377
|
+
};
|
|
378
|
+
|
|
379
|
+
export default {
|
|
380
|
+
onepageSlides,
|
|
381
|
+
zaprecipeSlides,
|
|
382
|
+
pomodoSlides,
|
|
383
|
+
modernSlides,
|
|
384
|
+
minimalSlides,
|
|
385
|
+
gradientSlides,
|
|
386
|
+
getPresetSlides,
|
|
387
|
+
getPresetConfig,
|
|
388
|
+
onepageConfig,
|
|
389
|
+
zaprecipeConfig,
|
|
390
|
+
pomodoConfig,
|
|
391
|
+
};
|