@onairos/react-native 3.0.36 → 3.0.38

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.
@@ -5,13 +5,88 @@ Object.defineProperty(exports, "__esModule", {
5
5
  });
6
6
  exports.useCredentials = void 0;
7
7
  var _react = require("react");
8
- var Keychain = _interopRequireWildcard(require("react-native-keychain"));
9
8
  var _constants = require("../constants");
10
- function _interopRequireWildcard(e, t) { if ("function" == typeof WeakMap) var r = new WeakMap(), n = new WeakMap(); return (_interopRequireWildcard = function (e, t) { if (!t && e && e.__esModule) return e; var o, i, f = { __proto__: null, default: e }; if (null === e || "object" != typeof e && "function" != typeof e) return f; if (o = t ? n : r) { if (o.has(e)) return o.get(e); o.set(e, f); } for (const t in e) "default" !== t && {}.hasOwnProperty.call(e, t) && ((i = (o = Object.defineProperty) && Object.getOwnPropertyDescriptor(e, t)) && (i.get || i.set) ? o(f, t, i) : f[t] = e[t]); return f; })(e, t); }
9
+ // Create a mock storage for environments without Keychain access
10
+ const mockCredentialStorage = {};
11
+
12
+ // Try to import Keychain, but provide fallbacks if not available
13
+ let Keychain = null;
14
+ try {
15
+ Keychain = require('react-native-keychain');
16
+ } catch (error) {
17
+ console.warn('react-native-keychain module not available in useCredentials, using mock storage');
18
+ }
19
+
20
+ // Check if Keychain is properly initialized and available
21
+ const isKeychainAvailable = () => {
22
+ try {
23
+ return Keychain && typeof Keychain.getGenericPassword === 'function';
24
+ } catch (e) {
25
+ return false;
26
+ }
27
+ };
28
+
29
+ // Safe wrapper for getGenericPassword
30
+ const safeGetGenericPassword = async options => {
31
+ try {
32
+ if (isKeychainAvailable()) {
33
+ return await Keychain.getGenericPassword(options);
34
+ } else {
35
+ const key = (options === null || options === void 0 ? void 0 : options.service) || 'default';
36
+ return mockCredentialStorage[key] || null;
37
+ }
38
+ } catch (error) {
39
+ console.warn('Keychain access failed, using mock storage', error);
40
+ const key = (options === null || options === void 0 ? void 0 : options.service) || 'default';
41
+ return mockCredentialStorage[key] || null;
42
+ }
43
+ };
44
+
45
+ // Safe wrapper for setGenericPassword
46
+ const safeSetGenericPassword = async (username, password, options) => {
47
+ try {
48
+ if (isKeychainAvailable()) {
49
+ return await Keychain.setGenericPassword(username, password, options);
50
+ } else {
51
+ const key = (options === null || options === void 0 ? void 0 : options.service) || 'default';
52
+ mockCredentialStorage[key] = {
53
+ username,
54
+ password
55
+ };
56
+ return true;
57
+ }
58
+ } catch (error) {
59
+ console.warn('Keychain access failed, using mock storage', error);
60
+ const key = (options === null || options === void 0 ? void 0 : options.service) || 'default';
61
+ mockCredentialStorage[key] = {
62
+ username,
63
+ password
64
+ };
65
+ return true;
66
+ }
67
+ };
68
+
69
+ // Safe wrapper for resetGenericPassword
70
+ const safeResetGenericPassword = async options => {
71
+ try {
72
+ if (isKeychainAvailable()) {
73
+ return await Keychain.resetGenericPassword(options);
74
+ } else {
75
+ const key = (options === null || options === void 0 ? void 0 : options.service) || 'default';
76
+ delete mockCredentialStorage[key];
77
+ return true;
78
+ }
79
+ } catch (error) {
80
+ console.warn('Keychain access failed, using mock storage', error);
81
+ const key = (options === null || options === void 0 ? void 0 : options.service) || 'default';
82
+ delete mockCredentialStorage[key];
83
+ return true;
84
+ }
85
+ };
11
86
  const useCredentials = () => {
12
87
  const hasCredentials = (0, _react.useCallback)(async () => {
13
88
  try {
14
- const credentials = await Keychain.getGenericPassword({
89
+ const credentials = await safeGetGenericPassword({
15
90
  service: _constants.STORAGE_KEYS.credentials
16
91
  });
17
92
  return !!credentials;
@@ -22,7 +97,7 @@ const useCredentials = () => {
22
97
  }, []);
23
98
  const getCredentials = (0, _react.useCallback)(async () => {
24
99
  try {
25
- const credentials = await Keychain.getGenericPassword({
100
+ const credentials = await safeGetGenericPassword({
26
101
  service: _constants.STORAGE_KEYS.credentials
27
102
  });
28
103
  if (credentials) {
@@ -37,11 +112,16 @@ const useCredentials = () => {
37
112
  const storeCredentials = (0, _react.useCallback)(async (username, userPin, accessToken) => {
38
113
  try {
39
114
  const options = {
40
- accessControl: Keychain.ACCESS_CONTROL.BIOMETRY_ANY,
41
- accessible: Keychain.ACCESSIBLE.WHEN_UNLOCKED,
42
115
  service: _constants.STORAGE_KEYS.credentials
43
116
  };
44
- await Keychain.setGenericPassword(username, JSON.stringify({
117
+
118
+ // Only use secure storage options on real devices
119
+ if (isKeychainAvailable()) {
120
+ var _Keychain$ACCESS_CONT, _Keychain$ACCESSIBLE;
121
+ options.accessControl = (_Keychain$ACCESS_CONT = Keychain.ACCESS_CONTROL) === null || _Keychain$ACCESS_CONT === void 0 ? void 0 : _Keychain$ACCESS_CONT.BIOMETRY_ANY;
122
+ options.accessible = (_Keychain$ACCESSIBLE = Keychain.ACCESSIBLE) === null || _Keychain$ACCESSIBLE === void 0 ? void 0 : _Keychain$ACCESSIBLE.WHEN_UNLOCKED;
123
+ }
124
+ await safeSetGenericPassword(username, JSON.stringify({
45
125
  userPin,
46
126
  accessToken
47
127
  }), options);
@@ -53,7 +133,7 @@ const useCredentials = () => {
53
133
  }, []);
54
134
  const clearCredentials = (0, _react.useCallback)(async () => {
55
135
  try {
56
- await Keychain.resetGenericPassword({
136
+ await safeResetGenericPassword({
57
137
  service: _constants.STORAGE_KEYS.credentials
58
138
  });
59
139
  } catch (error) {
@@ -1 +1 @@
1
- {"version":3,"names":["_react","require","Keychain","_interopRequireWildcard","_constants","e","t","WeakMap","r","n","__esModule","o","i","f","__proto__","default","has","get","set","hasOwnProperty","call","Object","defineProperty","getOwnPropertyDescriptor","useCredentials","hasCredentials","useCallback","credentials","getGenericPassword","service","STORAGE_KEYS","error","console","getCredentials","JSON","parse","password","storeCredentials","username","userPin","accessToken","options","accessControl","ACCESS_CONTROL","BIOMETRY_ANY","accessible","ACCESSIBLE","WHEN_UNLOCKED","setGenericPassword","stringify","clearCredentials","resetGenericPassword","validateCredentials","response","fetch","method","headers","body","data","json","success","isValid","valid","exports"],"sourceRoot":"..\\..\\..\\src","sources":["hooks/useCredentials.ts"],"mappings":"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","ignoreList":[]}
1
+ {"version":3,"names":["_react","require","_constants","mockCredentialStorage","Keychain","error","console","warn","isKeychainAvailable","getGenericPassword","e","safeGetGenericPassword","options","key","service","safeSetGenericPassword","username","password","setGenericPassword","safeResetGenericPassword","resetGenericPassword","useCredentials","hasCredentials","useCallback","credentials","STORAGE_KEYS","getCredentials","JSON","parse","storeCredentials","userPin","accessToken","_Keychain$ACCESS_CONT","_Keychain$ACCESSIBLE","accessControl","ACCESS_CONTROL","BIOMETRY_ANY","accessible","ACCESSIBLE","WHEN_UNLOCKED","stringify","clearCredentials","validateCredentials","response","fetch","method","headers","body","data","json","success","isValid","valid","exports"],"sourceRoot":"..\\..\\..\\src","sources":["hooks/useCredentials.ts"],"mappings":"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","ignoreList":[]}
@@ -1,6 +1,5 @@
1
1
  import React from 'react';
2
2
  import { View, Text, StyleSheet, TouchableOpacity, ActivityIndicator, Dimensions, Modal, TouchableWithoutFeedback, SafeAreaView } from 'react-native';
3
- import Icon from 'react-native-vector-icons/MaterialIcons';
4
3
  import { COLORS } from '../constants';
5
4
  const {
6
5
  width,
@@ -34,15 +33,15 @@ export const TrainingModal = ({
34
33
  style: styles.container
35
34
  }, /*#__PURE__*/React.createElement(View, {
36
35
  style: styles.content
37
- }, /*#__PURE__*/React.createElement(Icon, {
38
- name: "auto_awesome",
39
- size: 48,
40
- color: COLORS.primary
41
- }), /*#__PURE__*/React.createElement(Text, {
36
+ }, /*#__PURE__*/React.createElement(View, {
37
+ style: styles.onairosLogo
38
+ }, /*#__PURE__*/React.createElement(Text, {
39
+ style: styles.onairosLogoText
40
+ }, "O")), /*#__PURE__*/React.createElement(Text, {
42
41
  style: styles.title
43
- }, "Training Your AI Model"), /*#__PURE__*/React.createElement(Text, {
42
+ }, "Training Your AI"), /*#__PURE__*/React.createElement(Text, {
44
43
  style: styles.subtitle
45
- }, "We're analyzing your social media data to create your personalized AI model"), /*#__PURE__*/React.createElement(View, {
44
+ }, "Creating your personalized model"), /*#__PURE__*/React.createElement(View, {
46
45
  style: styles.progressContainer
47
46
  }, /*#__PURE__*/React.createElement(View, {
48
47
  style: styles.progressBar
@@ -194,6 +193,19 @@ const styles = StyleSheet.create({
194
193
  fontSize: 16,
195
194
  fontWeight: '600',
196
195
  color: '#000'
196
+ },
197
+ onairosLogo: {
198
+ width: 48,
199
+ height: 48,
200
+ borderRadius: 24,
201
+ backgroundColor: COLORS.primary,
202
+ justifyContent: 'center',
203
+ alignItems: 'center'
204
+ },
205
+ onairosLogoText: {
206
+ fontSize: 24,
207
+ fontWeight: '600',
208
+ color: '#fff'
197
209
  }
198
210
  });
199
211
  //# sourceMappingURL=TrainingModal.js.map
@@ -1 +1 @@
1
- {"version":3,"names":["React","View","Text","StyleSheet","TouchableOpacity","ActivityIndicator","Dimensions","Modal","TouchableWithoutFeedback","SafeAreaView","Icon","COLORS","width","height","get","TrainingModal","visible","progress","eta","onCancel","onComplete","modelKey","username","progressPercentage","Math","round","createElement","transparent","animationType","statusBarTranslucent","onRequestClose","style","styles","modalOverlay","bottomSheet","handleContainer","handle","container","content","name","size","color","primary","title","subtitle","progressContainer","progressBar","progressFill","progressText","etaText","loadingContainer","loadingText","footer","cancelButton","onPress","cancelButtonText","completeButton","completeButtonText","create","flex","backgroundColor","justifyContent","alignItems","borderTopLeftRadius","borderTopRightRadius","overflow","paddingTop","paddingBottom","borderRadius","padding","fontSize","fontWeight","marginTop","marginBottom","text","textAlign","secondary","border","flexDirection","marginLeft","borderTopWidth","borderTopColor","paddingHorizontal","paddingVertical","borderWidth","borderColor"],"sourceRoot":"..\\..\\..\\src","sources":["components/TrainingModal.tsx"],"mappings":"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","ignoreList":[]}
1
+ {"version":3,"names":["React","View","Text","StyleSheet","TouchableOpacity","ActivityIndicator","Dimensions","Modal","TouchableWithoutFeedback","SafeAreaView","COLORS","width","height","get","TrainingModal","visible","progress","eta","onCancel","onComplete","modelKey","username","progressPercentage","Math","round","createElement","transparent","animationType","statusBarTranslucent","onRequestClose","style","styles","modalOverlay","bottomSheet","handleContainer","handle","container","content","onairosLogo","onairosLogoText","title","subtitle","progressContainer","progressBar","progressFill","progressText","etaText","loadingContainer","size","color","primary","loadingText","footer","cancelButton","onPress","cancelButtonText","completeButton","completeButtonText","create","flex","backgroundColor","justifyContent","alignItems","borderTopLeftRadius","borderTopRightRadius","overflow","paddingTop","paddingBottom","borderRadius","padding","fontSize","fontWeight","marginTop","marginBottom","text","textAlign","secondary","border","flexDirection","marginLeft","borderTopWidth","borderTopColor","paddingHorizontal","paddingVertical","borderWidth","borderColor"],"sourceRoot":"..\\..\\..\\src","sources":["components/TrainingModal.tsx"],"mappings":"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","ignoreList":[]}
@@ -1,10 +1,11 @@
1
1
  import React, { useCallback, useEffect, useState } from 'react';
2
- import { View, Text, StyleSheet, TouchableOpacity, Dimensions, Platform, Modal, Animated, SafeAreaView, TouchableWithoutFeedback, ScrollView, Image, Switch, Linking } from 'react-native';
2
+ import { View, Text, StyleSheet, TouchableOpacity, ActivityIndicator, Dimensions, Platform, Modal, Animated, SafeAreaView, TouchableWithoutFeedback, ScrollView, Image, Linking } from 'react-native';
3
3
  import Icon from 'react-native-vector-icons/MaterialIcons';
4
4
  import { PinInput } from './PinInput';
5
5
  import { TrainingModal } from './TrainingModal';
6
6
  import { OAuthWebView } from './onboarding/OAuthWebView';
7
7
  import { useConnections } from '../hooks/useConnections';
8
+ import { COLORS } from '../constants';
8
9
  import { initiateOAuth, initiateNativeAuth, hasNativeSDK, isOAuthCallback } from '../services/platformAuthService';
9
10
  const {
10
11
  height,
@@ -36,6 +37,7 @@ export const UniversalOnboarding = ({
36
37
  const [currentPlatform, setCurrentPlatform] = useState('');
37
38
  const [username, setUsername] = useState('Avatar');
38
39
  const [isConnectingPlatform, setIsConnectingPlatform] = useState(false);
40
+ const [showLoginWebView, setShowLoginWebView] = useState(false);
39
41
  const platforms = [{
40
42
  id: 'instagram',
41
43
  name: 'Instagram',
@@ -226,34 +228,10 @@ export const UniversalOnboarding = ({
226
228
  * Handles OAuth callback URLs
227
229
  */
228
230
  const handleOAuthCallback = useCallback(url => {
229
- try {
230
- // Extract the authorization code from the URL
231
- const parsedUrl = new URL(url);
232
- const code = parsedUrl.searchParams.get('code');
233
- const platform = parsedUrl.searchParams.get('platform') || currentPlatform;
234
- if (code && platform) {
235
- // Update connections state
236
- setConnections(prev => ({
237
- ...prev,
238
- [platform]: {
239
- userName: username,
240
- connected: true
241
- }
242
- }));
243
-
244
- // Update platform toggles
245
- setPlatformToggles(prev => ({
246
- ...prev,
247
- [platform]: true
248
- }));
249
-
250
- // Return to the connect step
251
- setStep('connect');
252
- }
253
- } catch (error) {
254
- console.error('Error handling OAuth callback:', error);
255
- }
256
- }, [currentPlatform, username]);
231
+ console.log('OAuth callback received:', url);
232
+ // Handle the OAuth callback here
233
+ // This would typically extract the authorization code and complete the OAuth flow
234
+ }, []);
257
235
 
258
236
  /**
259
237
  * Handles completion of the OAuth flow
@@ -285,6 +263,28 @@ export const UniversalOnboarding = ({
285
263
  setCurrentPlatform('');
286
264
  setStep('connect');
287
265
  }, [currentPlatform, username]);
266
+
267
+ // Function to handle "Already have an account" button
268
+ const handleAlreadyHaveAccount = useCallback(() => {
269
+ console.log('Already have an account clicked - opening login WebView');
270
+ setShowLoginWebView(true);
271
+ // TODO: Open WebView to check for existing Onairos login details
272
+ }, []);
273
+
274
+ // Function to check for existing account (spoofed for now)
275
+ const checkExistingAccount = useCallback(async () => {
276
+ console.log('Checking for existing account...');
277
+ // TODO: Implement actual logic to check cookies/storage for existing account
278
+ // For now, this is spoofed and doesn't do anything
279
+ return false;
280
+ }, []);
281
+
282
+ // Function to handle login WebView completion
283
+ const handleLoginWebViewComplete = useCallback(() => {
284
+ console.log('Login WebView completed');
285
+ setShowLoginWebView(false);
286
+ // TODO: If login successful, skip onboarding and call onComplete
287
+ }, []);
288
288
  const handlePinSubmit = useCallback(async userPin => {
289
289
  setPin(userPin);
290
290
  setStep('training');
@@ -314,9 +314,14 @@ export const UniversalOnboarding = ({
314
314
  return Object.values(platformToggles).some(value => value === true);
315
315
  }, [platformToggles]);
316
316
  const handleProceed = () => {
317
- if (canProceedToPin()) {
317
+ console.log('Proceeding to next step');
318
+ // Show success screen first
319
+ setStep('success');
320
+
321
+ // After a delay, proceed to PIN
322
+ setTimeout(() => {
318
323
  setStep('pin');
319
- }
324
+ }, 3000);
320
325
  };
321
326
  return /*#__PURE__*/React.createElement(Modal, {
322
327
  visible: visible,
@@ -359,7 +364,12 @@ export const UniversalOnboarding = ({
359
364
  style: styles.onairosIcon
360
365
  }, /*#__PURE__*/React.createElement(Text, {
361
366
  style: styles.onairosIconText
362
- }, "O")))), /*#__PURE__*/React.createElement(ScrollView, {
367
+ }, "O"))), /*#__PURE__*/React.createElement(TouchableOpacity, {
368
+ style: styles.alreadyHaveAccountButton,
369
+ onPress: handleAlreadyHaveAccount
370
+ }, /*#__PURE__*/React.createElement(Text, {
371
+ style: styles.alreadyHaveAccountText
372
+ }, "Already have an account?"))), /*#__PURE__*/React.createElement(ScrollView, {
363
373
  style: styles.content,
364
374
  contentContainerStyle: styles.scrollContent,
365
375
  showsVerticalScrollIndicator: true,
@@ -375,9 +385,11 @@ export const UniversalOnboarding = ({
375
385
  style: styles.privacyMessage
376
386
  }, "None of your app data is shared with ANYONE")), /*#__PURE__*/React.createElement(View, {
377
387
  style: styles.platformsContainer
378
- }, platforms.map(platform => /*#__PURE__*/React.createElement(View, {
388
+ }, platforms.map(platform => /*#__PURE__*/React.createElement(TouchableOpacity, {
379
389
  key: platform.id,
380
- style: styles.platformItem
390
+ style: styles.platformItem,
391
+ onPress: () => togglePlatform(platform.id),
392
+ disabled: isConnectingPlatform
381
393
  }, /*#__PURE__*/React.createElement(View, {
382
394
  style: styles.platformInfo
383
395
  }, /*#__PURE__*/React.createElement(Image, {
@@ -386,15 +398,16 @@ export const UniversalOnboarding = ({
386
398
  resizeMode: "contain"
387
399
  }), /*#__PURE__*/React.createElement(Text, {
388
400
  style: styles.platformName
389
- }, platform.name)), /*#__PURE__*/React.createElement(Switch, {
390
- value: platformToggles[platform.id],
391
- onValueChange: () => togglePlatform(platform.id),
392
- trackColor: {
393
- false: '#767577',
394
- true: '#81b0ff'
395
- },
396
- thumbColor: platformToggles[platform.id] ? '#2196F3' : '#f4f3f4'
397
- }))))), /*#__PURE__*/React.createElement(View, {
401
+ }, platform.name)), isConnectingPlatform && currentPlatform === platform.id ? /*#__PURE__*/React.createElement(ActivityIndicator, {
402
+ size: "small",
403
+ color: COLORS.primary
404
+ }) : /*#__PURE__*/React.createElement(View, {
405
+ style: [styles.platformToggle, platformToggles[platform.id] && styles.platformToggleActive]
406
+ }, platformToggles[platform.id] && /*#__PURE__*/React.createElement(Icon, {
407
+ name: "check",
408
+ size: 16,
409
+ color: "#fff"
410
+ })))))), /*#__PURE__*/React.createElement(View, {
398
411
  style: styles.footer
399
412
  }, /*#__PURE__*/React.createElement(TouchableOpacity, {
400
413
  style: styles.footerButtonCancel,
@@ -407,7 +420,32 @@ export const UniversalOnboarding = ({
407
420
  disabled: !canProceedToPin()
408
421
  }, /*#__PURE__*/React.createElement(Text, {
409
422
  style: styles.footerButtonTextConfirm
410
- }, "Connect")))), step === 'pin' && /*#__PURE__*/React.createElement(PinInput, {
423
+ }, "Connect")))), step === 'success' && /*#__PURE__*/React.createElement(View, {
424
+ style: styles.successContainer
425
+ }, /*#__PURE__*/React.createElement(View, {
426
+ style: styles.successContent
427
+ }, /*#__PURE__*/React.createElement(View, {
428
+ style: styles.successIcon
429
+ }, /*#__PURE__*/React.createElement(Icon, {
430
+ name: "check",
431
+ size: 48,
432
+ color: "#fff"
433
+ })), /*#__PURE__*/React.createElement(Text, {
434
+ style: styles.successTitle
435
+ }, "Never Connect Again!"), /*#__PURE__*/React.createElement(Text, {
436
+ style: styles.successSubtitle
437
+ }, "Setup for future use complete"), /*#__PURE__*/React.createElement(View, {
438
+ style: styles.successMessage
439
+ }, /*#__PURE__*/React.createElement(Text, {
440
+ style: styles.successMessageText
441
+ }, "Your connections are saved securely. Next time you use ", AppName, ", you'll be automatically connected.")), /*#__PURE__*/React.createElement(View, {
442
+ style: styles.progressIndicator
443
+ }, /*#__PURE__*/React.createElement(ActivityIndicator, {
444
+ size: "small",
445
+ color: "#4CAF50"
446
+ }), /*#__PURE__*/React.createElement(Text, {
447
+ style: styles.progressText
448
+ }, "Continuing...")))), step === 'pin' && /*#__PURE__*/React.createElement(PinInput, {
411
449
  onSubmit: handlePinSubmit,
412
450
  minLength: 8,
413
451
  requireSpecialChar: true,
@@ -438,6 +476,16 @@ export const UniversalOnboarding = ({
438
476
  },
439
477
  onSuccess: handleOAuthSuccess,
440
478
  onComplete: () => setStep('connect')
479
+ }), showLoginWebView && /*#__PURE__*/React.createElement(OAuthWebView, {
480
+ url: "https://onairos.uk/login" // TODO: Replace with actual login URL
481
+ ,
482
+ platform: "onairos",
483
+ onClose: () => setShowLoginWebView(false),
484
+ onSuccess: result => {
485
+ console.log('Login successful:', result);
486
+ handleLoginWebViewComplete();
487
+ },
488
+ onComplete: handleLoginWebViewComplete
441
489
  })))))));
442
490
  };
443
491
  const styles = StyleSheet.create({
@@ -509,20 +557,20 @@ const styles = StyleSheet.create({
509
557
  color: '#000'
510
558
  },
511
559
  titleContainer: {
512
- marginBottom: 30
560
+ marginBottom: 20
513
561
  },
514
562
  mainTitle: {
515
- fontSize: 22,
563
+ fontSize: 20,
516
564
  fontWeight: '600',
517
565
  color: '#000',
518
566
  textAlign: 'center',
519
- marginBottom: 16
567
+ marginBottom: 12
520
568
  },
521
569
  privacyMessage: {
522
570
  fontSize: 14,
523
571
  color: '#666',
524
572
  textAlign: 'center',
525
- marginBottom: 16
573
+ marginBottom: 12
526
574
  },
527
575
  content: {
528
576
  flex: 1,
@@ -530,8 +578,7 @@ const styles = StyleSheet.create({
530
578
  },
531
579
  scrollContent: {
532
580
  flexGrow: 1,
533
- paddingBottom: 40,
534
- minHeight: '100%'
581
+ paddingBottom: 20
535
582
  },
536
583
  platformsContainer: {
537
584
  marginTop: 16
@@ -540,20 +587,21 @@ const styles = StyleSheet.create({
540
587
  flexDirection: 'row',
541
588
  justifyContent: 'space-between',
542
589
  alignItems: 'center',
543
- padding: 16,
590
+ padding: 12,
544
591
  backgroundColor: '#fff',
545
- borderRadius: 16,
546
- marginBottom: 16,
592
+ borderRadius: 12,
593
+ marginBottom: 8,
547
594
  borderWidth: 1,
548
595
  borderColor: '#eee'
549
596
  },
550
597
  platformInfo: {
551
598
  flexDirection: 'row',
552
- alignItems: 'center'
599
+ alignItems: 'center',
600
+ flex: 1
553
601
  },
554
602
  platformIcon: {
555
- width: 32,
556
- height: 32,
603
+ width: 24,
604
+ height: 24,
557
605
  marginRight: 12
558
606
  },
559
607
  platformName: {
@@ -593,6 +641,90 @@ const styles = StyleSheet.create({
593
641
  color: '#000',
594
642
  fontSize: 16,
595
643
  fontWeight: '600'
644
+ },
645
+ alreadyHaveAccountButton: {
646
+ paddingVertical: 8,
647
+ paddingHorizontal: 16
648
+ },
649
+ alreadyHaveAccountText: {
650
+ color: '#666',
651
+ fontSize: 16
652
+ },
653
+ successContainer: {
654
+ flex: 1,
655
+ justifyContent: 'center',
656
+ alignItems: 'center'
657
+ },
658
+ successContent: {
659
+ backgroundColor: '#fff',
660
+ padding: 24,
661
+ borderRadius: 16,
662
+ alignItems: 'center'
663
+ },
664
+ successIcon: {
665
+ backgroundColor: '#4CAF50',
666
+ borderRadius: 24,
667
+ padding: 12,
668
+ marginBottom: 16
669
+ },
670
+ successTitle: {
671
+ fontSize: 22,
672
+ fontWeight: '600',
673
+ color: '#000',
674
+ textAlign: 'center',
675
+ marginBottom: 16
676
+ },
677
+ successSubtitle: {
678
+ fontSize: 14,
679
+ color: '#666',
680
+ textAlign: 'center',
681
+ marginBottom: 16
682
+ },
683
+ successMessage: {
684
+ backgroundColor: '#f0f0f0',
685
+ padding: 16,
686
+ borderRadius: 8,
687
+ marginBottom: 16
688
+ },
689
+ successMessageText: {
690
+ fontSize: 14,
691
+ color: '#666'
692
+ },
693
+ platformToggle: {
694
+ width: 24,
695
+ height: 24,
696
+ borderRadius: 12,
697
+ borderWidth: 1,
698
+ borderColor: '#ccc',
699
+ alignItems: 'center',
700
+ justifyContent: 'center',
701
+ backgroundColor: '#fff'
702
+ },
703
+ platformToggleActive: {
704
+ borderColor: '#000',
705
+ backgroundColor: '#000'
706
+ },
707
+ // Dark mode styles
708
+ darkPlatformItem: {
709
+ backgroundColor: '#333',
710
+ borderColor: '#555'
711
+ },
712
+ darkText: {
713
+ color: '#fff'
714
+ },
715
+ darkSubText: {
716
+ color: '#ccc'
717
+ },
718
+ progressIndicator: {
719
+ flexDirection: 'row',
720
+ alignItems: 'center',
721
+ marginTop: 16
722
+ },
723
+ progressText: {
724
+ fontSize: 16,
725
+ fontWeight: '500',
726
+ color: '#000',
727
+ marginLeft: 8
596
728
  }
597
729
  });
598
730
  //# sourceMappingURL=UniversalOnboarding.js.map