@onairos/react-native 3.0.63 โ†’ 3.0.65

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.
@@ -22,7 +22,8 @@ const TrainingModal = ({
22
22
  onCancel,
23
23
  onComplete,
24
24
  modelKey,
25
- username
25
+ username,
26
+ test = false
26
27
  }) => {
27
28
  // Socket and training state
28
29
  const socketRef = (0, _react.useRef)(null);
@@ -97,11 +98,81 @@ const TrainingModal = ({
97
98
  }
98
99
  };
99
100
 
101
+ // Simulate training progress for test mode
102
+ const simulateTraining = () => {
103
+ var _stages$currentStage;
104
+ console.log('๐Ÿงช Starting simulated training...');
105
+ setTrainingStatus('Initializing training...');
106
+ setInternalProgress(10);
107
+
108
+ // Fast training for test mode (shorter delays)
109
+ const baseDelay = 800;
110
+ const stages = [{
111
+ progress: 20,
112
+ status: 'Analyzing data patterns...',
113
+ delay: baseDelay
114
+ }, {
115
+ progress: 35,
116
+ status: 'Building neural network...',
117
+ delay: baseDelay
118
+ }, {
119
+ progress: 50,
120
+ status: 'Training model...',
121
+ delay: baseDelay
122
+ }, {
123
+ progress: 65,
124
+ status: 'Optimizing parameters...',
125
+ delay: baseDelay
126
+ }, {
127
+ progress: 80,
128
+ status: 'Running test inference...',
129
+ delay: baseDelay
130
+ }, {
131
+ progress: 95,
132
+ status: 'Finalizing model...',
133
+ delay: baseDelay
134
+ }, {
135
+ progress: 100,
136
+ status: 'Complete!',
137
+ delay: 300
138
+ }];
139
+ let currentStage = 0;
140
+ const progressInterval = setInterval(() => {
141
+ if (currentStage < stages.length) {
142
+ const stage = stages[currentStage];
143
+ setInternalProgress(stage.progress);
144
+ setTrainingStatus(stage.status);
145
+ if (stage.progress === 100) {
146
+ setIsTrainingComplete(true);
147
+ clearInterval(progressInterval);
148
+
149
+ // Auto-complete after a short delay
150
+ setTimeout(() => {
151
+ onComplete && onComplete();
152
+ }, 800);
153
+ }
154
+ currentStage++;
155
+ }
156
+ }, ((_stages$currentStage = stages[currentStage]) === null || _stages$currentStage === void 0 ? void 0 : _stages$currentStage.delay) || baseDelay);
157
+
158
+ // Cleanup interval on unmount
159
+ return () => clearInterval(progressInterval);
160
+ };
161
+
100
162
  // Setup socket connection and training
101
163
  (0, _react.useEffect)(() => {
102
164
  if (!visible || !userInfo) return;
103
165
  console.log('Setting up socket connection for training...');
104
166
  console.log('๐Ÿง‘โ€๐Ÿ’ป User info available:', userInfo);
167
+ console.log('๐Ÿงช Test mode:', test);
168
+
169
+ // If test mode is enabled, use simulation instead of real API
170
+ if (test) {
171
+ console.log('๐Ÿงช Test mode enabled - Using simulated training');
172
+ setSocketConnected(true);
173
+ simulateTraining();
174
+ return;
175
+ }
105
176
 
106
177
  // Initialize real socket connection - backend confirmed this is working
107
178
  try {
@@ -145,7 +216,7 @@ const TrainingModal = ({
145
216
 
146
217
  // Auto-complete after a short delay
147
218
  setTimeout(() => {
148
- onComplete();
219
+ onComplete && onComplete();
149
220
  }, 1500);
150
221
  });
151
222
  socketRef.current.on('trainingUpdate', data => {
@@ -166,7 +237,7 @@ const TrainingModal = ({
166
237
  // Fallback to simulation if socket fails
167
238
  console.log('๐Ÿ”Œ Falling back to simulated socket connection...');
168
239
  setSocketConnected(true);
169
- startEnochTraining('simulated-socket-id');
240
+ simulateTraining();
170
241
  }
171
242
 
172
243
  // Cleanup function
@@ -177,7 +248,7 @@ const TrainingModal = ({
177
248
  socketRef.current = null;
178
249
  }
179
250
  };
180
- }, [visible, userInfo]);
251
+ }, [visible, userInfo, test]);
181
252
  return /*#__PURE__*/_react.default.createElement(_reactNative.Modal, {
182
253
  visible: visible,
183
254
  transparent: true,
@@ -1 +1 @@
1
- {"version":3,"names":["_react","_interopRequireWildcard","require","_reactNative","_MaterialIcons","_interopRequireDefault","_socket","_constants","e","__esModule","default","t","WeakMap","r","n","o","i","f","__proto__","has","get","set","hasOwnProperty","call","Object","defineProperty","getOwnPropertyDescriptor","width","height","Dimensions","TrainingModal","visible","progress","eta","onCancel","onComplete","modelKey","username","socketRef","useRef","socketConnected","setSocketConnected","useState","trainingStatus","setTrainingStatus","hasError","setHasError","isTrainingComplete","setIsTrainingComplete","userTraits","setUserTraits","inferenceResults","setInferenceResults","internalProgress","setInternalProgress","currentProgress","progressPercentage","Math","round","userToken","userInfo","email","id","name","startEnochTraining","socketId","Error","console","log","trainingData","userId","response","fetch","method","headers","body","JSON","stringify","result","json","success","message","error","useEffect","current","io","transports","autoConnect","on","_socketRef$current","data","traits","setTimeout","status","connect","socketError","disconnect","createElement","Modal","transparent","animationType","statusBarTranslucent","onRequestClose","TouchableWithoutFeedback","View","style","styles","modalOverlay","bottomSheet","handleContainer","handle","SafeAreaView","container","content","Image","source","onairosLogo","resizeMode","Text","title","progressContainer","progressBar","progressFill","progressText","statusText","errorContainer","size","color","errorText","footer","TouchableOpacity","cancelButton","onPress","cancelButtonText","completeButton","completeButtonText","exports","StyleSheet","create","flex","backgroundColor","justifyContent","alignItems","borderTopLeftRadius","borderTopRightRadius","overflow","paddingTop","paddingBottom","borderRadius","padding","fontSize","fontWeight","marginTop","marginBottom","COLORS","text","primary","textAlign","subtitle","secondary","border","etaText","loadingContainer","flexDirection","loadingText","marginLeft","borderTopWidth","borderTopColor","paddingHorizontal","paddingVertical","borderWidth","borderColor"],"sourceRoot":"..\\..\\..\\src","sources":["components/TrainingModal.tsx"],"mappings":"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","ignoreList":[]}
1
+ {"version":3,"names":["_react","_interopRequireWildcard","require","_reactNative","_MaterialIcons","_interopRequireDefault","_socket","_constants","e","__esModule","default","t","WeakMap","r","n","o","i","f","__proto__","has","get","set","hasOwnProperty","call","Object","defineProperty","getOwnPropertyDescriptor","width","height","Dimensions","TrainingModal","visible","progress","eta","onCancel","onComplete","modelKey","username","test","socketRef","useRef","socketConnected","setSocketConnected","useState","trainingStatus","setTrainingStatus","hasError","setHasError","isTrainingComplete","setIsTrainingComplete","userTraits","setUserTraits","inferenceResults","setInferenceResults","internalProgress","setInternalProgress","currentProgress","progressPercentage","Math","round","userToken","userInfo","email","id","name","startEnochTraining","socketId","Error","console","log","trainingData","userId","response","fetch","method","headers","body","JSON","stringify","result","json","success","message","error","simulateTraining","_stages$currentStage","baseDelay","stages","status","delay","currentStage","progressInterval","setInterval","length","stage","clearInterval","setTimeout","useEffect","current","io","transports","autoConnect","on","_socketRef$current","data","traits","connect","socketError","disconnect","createElement","Modal","transparent","animationType","statusBarTranslucent","onRequestClose","TouchableWithoutFeedback","View","style","styles","modalOverlay","bottomSheet","handleContainer","handle","SafeAreaView","container","content","Image","source","onairosLogo","resizeMode","Text","title","progressContainer","progressBar","progressFill","progressText","statusText","errorContainer","size","color","errorText","footer","TouchableOpacity","cancelButton","onPress","cancelButtonText","completeButton","completeButtonText","exports","StyleSheet","create","flex","backgroundColor","justifyContent","alignItems","borderTopLeftRadius","borderTopRightRadius","overflow","paddingTop","paddingBottom","borderRadius","padding","fontSize","fontWeight","marginTop","marginBottom","COLORS","text","primary","textAlign","subtitle","secondary","border","etaText","loadingContainer","flexDirection","loadingText","marginLeft","borderTopWidth","borderTopColor","paddingHorizontal","paddingVertical","borderWidth","borderColor"],"sourceRoot":"..\\..\\..\\src","sources":["components/TrainingModal.tsx"],"mappings":"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","ignoreList":[]}
@@ -70,9 +70,23 @@ const UniversalOnboarding = ({
70
70
  const [showDataRequestModal, setShowDataRequestModal] = (0, _react.useState)(false);
71
71
  const [isExistingUser, setIsExistingUser] = (0, _react.useState)(false);
72
72
 
73
- // Add refs for cleanup
73
+ // Add refs for cleanup and code inputs
74
74
  const successTimeoutRef = (0, _react.useRef)(null);
75
75
  const isMountedRef = (0, _react.useRef)(true);
76
+ const codeInputRefs = (0, _react.useRef)([]);
77
+
78
+ // Add state for showing additional platforms
79
+ const [showAllPlatforms, setShowAllPlatforms] = (0, _react.useState)(false);
80
+ const [showTestDataRequest, setShowTestDataRequest] = (0, _react.useState)(false);
81
+
82
+ // Parse test mode options
83
+ const testModeOptions = typeof test === 'object' ? test : {};
84
+ const isTestMode = test === true || typeof test === 'object' && test !== null;
85
+ const showTestControls = (debug || isTestMode) && requestData;
86
+
87
+ // Simple 2-flow system
88
+ const isExistingUserFlow = testModeOptions.existingUser || false;
89
+ const isNewUserFlow = testModeOptions.newUser || false;
76
90
  const platforms = [{
77
91
  id: 'instagram',
78
92
  name: 'Instagram',
@@ -81,6 +95,10 @@ const UniversalOnboarding = ({
81
95
  id: 'youtube',
82
96
  name: 'YouTube',
83
97
  icon: require('../assets/images/youtube.png')
98
+ }, {
99
+ id: 'email',
100
+ name: 'Gmail',
101
+ icon: require('../assets/images/email.png')
84
102
  }, {
85
103
  id: 'reddit',
86
104
  name: 'Reddit',
@@ -89,11 +107,14 @@ const UniversalOnboarding = ({
89
107
  id: 'pinterest',
90
108
  name: 'Pinterest',
91
109
  icon: require('../assets/images/pinterest.png')
92
- }, {
93
- id: 'email',
94
- name: 'Gmail',
95
- icon: require('../assets/images/email.png')
96
110
  }];
111
+
112
+ // Define primary platforms (shown by default)
113
+ const primaryPlatforms = platforms.slice(0, 3); // Instagram, YouTube, Gmail
114
+ const additionalPlatforms = platforms.slice(3); // Reddit, Pinterest
115
+
116
+ // Get platforms to display based on showAllPlatforms state
117
+ const platformsToDisplay = showAllPlatforms ? platforms : primaryPlatforms;
97
118
  const {
98
119
  connectPlatform,
99
120
  disconnectPlatform,
@@ -554,19 +575,39 @@ const UniversalOnboarding = ({
554
575
  if (typeof _platformAuthService.verifyEmailCode !== 'function') {
555
576
  throw new Error('Email verification service not available');
556
577
  }
578
+
579
+ // Test Mode: Use specific flows
580
+ if (isTestMode) {
581
+ console.log('๐Ÿงช Test mode verification - simulating success');
582
+ if (isExistingUserFlow) {
583
+ // Flow 1: Existing User โ†’ Data Request โ†’ Close (return API URL)
584
+ console.log('๐Ÿงช Test Flow 1: Existing User โ†’ Show Data Request');
585
+ setIsExistingUser(true);
586
+ setShowDataRequestModal(true);
587
+ return;
588
+ } else if (isNewUserFlow) {
589
+ // Flow 2: New User โ†’ Platform Connect โ†’ PIN โ†’ Training
590
+ console.log('๐Ÿงช Test Flow 2: New User โ†’ Platform Connect');
591
+ const emailPrefix = email.trim().split('@')[0] || 'TestUser';
592
+ setUsername(emailPrefix);
593
+ setStep('connect');
594
+ return;
595
+ }
596
+ }
597
+
598
+ // Real API call (production)
557
599
  const result = await (0, _platformAuthService.verifyEmailCode)(email.trim(), verificationCode.trim());
558
600
  if (result.success) {
559
601
  console.log('โœ… Email verification successful');
560
602
 
561
- // For now, always treat as new users for testing (can be updated later)
562
- // In production, this would check if user exists in database
563
- const existingUser = false; // TODO: Check backend for existing user
603
+ // Check if user exists in backend
604
+ const existingUser = result.existingUser || false;
564
605
  setIsExistingUser(existingUser);
565
606
  if (existingUser) {
566
- console.log('Existing user detected, showing data request modal');
607
+ console.log('๐Ÿ‘ค Existing user detected, showing data request modal');
567
608
  setShowDataRequestModal(true);
568
609
  } else {
569
- console.log('New user, proceeding to platform connection');
610
+ console.log('๐Ÿ†• New user, proceeding to platform connection');
570
611
  // Safely set username from email prefix
571
612
  try {
572
613
  const emailPrefix = email.trim().split('@')[0];
@@ -672,22 +713,22 @@ const UniversalOnboarding = ({
672
713
  handleClose();
673
714
  }, [handleClose]);
674
715
  const canProceedToPin = (0, _react.useCallback)(() => {
675
- // For testing, allow proceeding without any platforms connected
676
- if (debug || test) {
677
- console.log('๐Ÿงช Testing mode: Allowing proceed without platform connections');
716
+ // Test mode: Always allow proceeding (simulates platform connections)
717
+ if (isTestMode || testModeOptions.skipRealConnections) {
718
+ console.log('๐Ÿงช Test mode: Allowing proceed without real platform connections');
678
719
  return true;
679
720
  }
680
721
 
681
- // Check if at least one platform is toggled on
722
+ // Production: Check if at least one platform is connected
682
723
  const hasPlatformConnected = Object.values(platformToggles).some(value => value === true);
683
724
 
684
- // If auto mode is enabled and partner is not "couplebible", require inferenceData
725
+ // Auto mode validation
685
726
  if (auto && partner !== 'couplebible' && !inferenceData) {
686
727
  console.warn('Auto mode enabled but no inference data provided (and partner is not couplebible)');
687
728
  return false;
688
729
  }
689
730
  return hasPlatformConnected;
690
- }, [platformToggles, auto, partner, inferenceData, debug, test]);
731
+ }, [platformToggles, auto, partner, inferenceData, isTestMode, testModeOptions]);
691
732
  const handleProceed = () => {
692
733
  console.log('Proceeding to next step');
693
734
  // Show success screen first
@@ -784,6 +825,7 @@ const UniversalOnboarding = ({
784
825
  style: styles.codeInputContainer
785
826
  }, [0, 1, 2, 3, 4, 5].map(index => /*#__PURE__*/_react.default.createElement(_reactNative.TextInput, {
786
827
  key: index,
828
+ ref: ref => codeInputRefs.current[index] = ref,
787
829
  style: [styles.codeDigit, verificationCode.length === index && styles.codeDigitActive],
788
830
  value: verificationCode[index] || '',
789
831
  onChangeText: text => {
@@ -795,10 +837,20 @@ const UniversalOnboarding = ({
795
837
 
796
838
  // Auto-focus next input
797
839
  if (text && index < 5) {
798
- // Focus next input (would need refs for actual implementation)
840
+ var _codeInputRefs$curren;
841
+ (_codeInputRefs$curren = codeInputRefs.current[index + 1]) === null || _codeInputRefs$curren === void 0 || _codeInputRefs$curren.focus();
799
842
  }
800
843
  }
801
844
  },
845
+ onKeyPress: ({
846
+ nativeEvent
847
+ }) => {
848
+ // Handle backspace to move to previous input
849
+ if (nativeEvent.key === 'Backspace' && !verificationCode[index] && index > 0) {
850
+ var _codeInputRefs$curren2;
851
+ (_codeInputRefs$curren2 = codeInputRefs.current[index - 1]) === null || _codeInputRefs$curren2 === void 0 || _codeInputRefs$curren2.focus();
852
+ }
853
+ },
802
854
  keyboardType: "number-pad",
803
855
  maxLength: 1,
804
856
  textAlign: "center",
@@ -854,9 +906,11 @@ const UniversalOnboarding = ({
854
906
  style: styles.mainTitle
855
907
  }, "Let ", AppName, " learn about you from your data and apps"), /*#__PURE__*/_react.default.createElement(_reactNative.Text, {
856
908
  style: styles.privacyMessage
857
- }, "None of your app data is shared with ANYONE")), /*#__PURE__*/_react.default.createElement(_reactNative.View, {
909
+ }, "None of your app data is shared with ANYONE"), (debug || test) && /*#__PURE__*/_react.default.createElement(_reactNative.Text, {
910
+ style: styles.developmentNote
911
+ }, "\uD83E\uDDEA Test Mode: You can proceed without connecting any platforms")), /*#__PURE__*/_react.default.createElement(_reactNative.View, {
858
912
  style: styles.platformsContainer
859
- }, platforms.map(platform => /*#__PURE__*/_react.default.createElement(_reactNative.TouchableOpacity, {
913
+ }, platformsToDisplay.map(platform => /*#__PURE__*/_react.default.createElement(_reactNative.TouchableOpacity, {
860
914
  key: platform.id,
861
915
  style: styles.platformItem,
862
916
  onPress: () => togglePlatform(platform.id),
@@ -874,11 +928,56 @@ const UniversalOnboarding = ({
874
928
  color: _constants.COLORS.primary
875
929
  }) : /*#__PURE__*/_react.default.createElement(_reactNative.View, {
876
930
  style: [styles.platformToggle, platformToggles[platform.id] && styles.platformToggleActive]
877
- }, platformToggles[platform.id] && /*#__PURE__*/_react.default.createElement(_MaterialIcons.default, {
878
- name: "check",
879
- size: 16,
880
- color: "#fff"
881
- })))))), /*#__PURE__*/_react.default.createElement(_reactNative.View, {
931
+ }, /*#__PURE__*/_react.default.createElement(_reactNative.View, {
932
+ style: [styles.platformToggleThumb, platformToggles[platform.id] && styles.platformToggleThumbActive]
933
+ })))), additionalPlatforms.length > 0 && /*#__PURE__*/_react.default.createElement(_reactNative.TouchableOpacity, {
934
+ style: styles.expandButton,
935
+ onPress: () => setShowAllPlatforms(!showAllPlatforms)
936
+ }, /*#__PURE__*/_react.default.createElement(_MaterialIcons.default, {
937
+ name: showAllPlatforms ? "expand_less" : "add",
938
+ size: 24,
939
+ color: _constants.COLORS.primary
940
+ }), /*#__PURE__*/_react.default.createElement(_reactNative.Text, {
941
+ style: styles.expandButtonText
942
+ }, showAllPlatforms ? "Show Less" : `${additionalPlatforms.length} More Connectors`))), showTestControls && /*#__PURE__*/_react.default.createElement(_reactNative.View, {
943
+ style: styles.testModeContainer
944
+ }, /*#__PURE__*/_react.default.createElement(_reactNative.Text, {
945
+ style: styles.testModeTitle
946
+ }, "\uD83E\uDDEA Test Mode - 2 Main Flows"), /*#__PURE__*/_react.default.createElement(_reactNative.TouchableOpacity, {
947
+ style: styles.testExistingUserButton,
948
+ onPress: () => {
949
+ // Flow 1: Existing User
950
+ setIsExistingUser(true);
951
+ setShowDataRequestModal(true);
952
+ }
953
+ }, /*#__PURE__*/_react.default.createElement(_MaterialIcons.default, {
954
+ name: "person",
955
+ size: 20,
956
+ color: "#28a745"
957
+ }), /*#__PURE__*/_react.default.createElement(_reactNative.Text, {
958
+ style: styles.testExistingUserButtonText
959
+ }, "Flow 1: Existing User (Email \u2192 Code \u2192 Data Request \u2192 Close)")), /*#__PURE__*/_react.default.createElement(_reactNative.TouchableOpacity, {
960
+ style: styles.testSkipToTrainingButton,
961
+ onPress: () => {
962
+ // Flow 2: New User - Skip to connect step
963
+ setStep('connect');
964
+ }
965
+ }, /*#__PURE__*/_react.default.createElement(_MaterialIcons.default, {
966
+ name: "person-add",
967
+ size: 20,
968
+ color: "#17a2b8"
969
+ }), /*#__PURE__*/_react.default.createElement(_reactNative.Text, {
970
+ style: styles.testSkipToTrainingButtonText
971
+ }, "Flow 2: New User (Connect \u2192 PIN \u2192 Training)")), /*#__PURE__*/_react.default.createElement(_reactNative.TouchableOpacity, {
972
+ style: styles.testDataRequestButton,
973
+ onPress: () => setShowTestDataRequest(true)
974
+ }, /*#__PURE__*/_react.default.createElement(_MaterialIcons.default, {
975
+ name: "preview",
976
+ size: 20,
977
+ color: _constants.COLORS.primary
978
+ }), /*#__PURE__*/_react.default.createElement(_reactNative.Text, {
979
+ style: styles.testDataRequestButtonText
980
+ }, "Preview Data Request Modal")))), /*#__PURE__*/_react.default.createElement(_reactNative.View, {
882
981
  style: styles.footer
883
982
  }, /*#__PURE__*/_react.default.createElement(_reactNative.TouchableOpacity, {
884
983
  style: styles.footerButtonCancel,
@@ -929,7 +1028,8 @@ const UniversalOnboarding = ({
929
1028
  onCancel: handleClose,
930
1029
  onComplete: handleTrainingComplete,
931
1030
  modelKey: "onairosTrainingModel",
932
- username: username
1031
+ username: username,
1032
+ test: isTestMode
933
1033
  }), step === 'oauth' && oauthUrl && /*#__PURE__*/_react.default.createElement(_OAuthWebView.OAuthWebView, {
934
1034
  url: oauthUrl,
935
1035
  platform: currentPlatform,
@@ -945,6 +1045,15 @@ const UniversalOnboarding = ({
945
1045
  onAccept: handleDataRequestAccept,
946
1046
  requestData: requestData,
947
1047
  AppName: AppName
1048
+ }), showTestDataRequest && requestData && /*#__PURE__*/_react.default.createElement(_DataRequestModal.DataRequestModal, {
1049
+ visible: showTestDataRequest,
1050
+ onClose: () => setShowTestDataRequest(false),
1051
+ onAccept: () => {
1052
+ setShowTestDataRequest(false);
1053
+ _reactNative.Alert.alert('Test Mode', 'This is a preview of the data request. In actual implementation, this would proceed with the data sharing agreement.');
1054
+ },
1055
+ requestData: requestData,
1056
+ AppName: `${AppName} (Test Preview)`
948
1057
  }));
949
1058
  };
950
1059
  exports.UniversalOnboarding = UniversalOnboarding;
@@ -1151,18 +1260,35 @@ const styles = _reactNative.StyleSheet.create({
1151
1260
  color: '#666'
1152
1261
  },
1153
1262
  platformToggle: {
1154
- width: 24,
1155
- height: 24,
1156
- borderRadius: 12,
1263
+ width: 50,
1264
+ height: 28,
1265
+ borderRadius: 14,
1157
1266
  borderWidth: 1,
1158
- borderColor: '#ccc',
1159
- alignItems: 'center',
1267
+ borderColor: '#ddd',
1268
+ backgroundColor: '#f0f0f0',
1160
1269
  justifyContent: 'center',
1161
- backgroundColor: '#fff'
1270
+ paddingHorizontal: 2
1162
1271
  },
1163
1272
  platformToggleActive: {
1164
- borderColor: '#000',
1165
- backgroundColor: '#000'
1273
+ borderColor: '#4CAF50',
1274
+ backgroundColor: '#4CAF50'
1275
+ },
1276
+ platformToggleThumb: {
1277
+ width: 22,
1278
+ height: 22,
1279
+ borderRadius: 11,
1280
+ backgroundColor: '#fff',
1281
+ shadowColor: '#000',
1282
+ shadowOffset: {
1283
+ width: 0,
1284
+ height: 1
1285
+ },
1286
+ shadowOpacity: 0.2,
1287
+ shadowRadius: 2,
1288
+ elevation: 2
1289
+ },
1290
+ platformToggleThumbActive: {
1291
+ alignSelf: 'flex-end'
1166
1292
  },
1167
1293
  // Dark mode styles
1168
1294
  darkPlatformItem: {
@@ -1276,6 +1402,91 @@ const styles = _reactNative.StyleSheet.create({
1276
1402
  backButtonText: {
1277
1403
  color: '#666',
1278
1404
  fontSize: 16
1405
+ },
1406
+ // Expand button styles
1407
+ expandButton: {
1408
+ flexDirection: 'row',
1409
+ alignItems: 'center',
1410
+ justifyContent: 'center',
1411
+ padding: 12,
1412
+ backgroundColor: '#f8f9fa',
1413
+ borderRadius: 12,
1414
+ borderWidth: 1,
1415
+ borderColor: '#e9ecef',
1416
+ marginTop: 8
1417
+ },
1418
+ expandButtonText: {
1419
+ fontSize: 14,
1420
+ fontWeight: '500',
1421
+ color: _constants.COLORS.primary,
1422
+ marginLeft: 8
1423
+ },
1424
+ // Test mode styles
1425
+ testModeContainer: {
1426
+ marginTop: 16,
1427
+ paddingHorizontal: 16,
1428
+ backgroundColor: '#f8f9fa',
1429
+ borderRadius: 12,
1430
+ padding: 16,
1431
+ borderWidth: 1,
1432
+ borderColor: '#e9ecef'
1433
+ },
1434
+ testModeTitle: {
1435
+ fontSize: 16,
1436
+ fontWeight: '600',
1437
+ color: '#495057',
1438
+ marginBottom: 12,
1439
+ textAlign: 'center'
1440
+ },
1441
+ testDataRequestButton: {
1442
+ flexDirection: 'row',
1443
+ alignItems: 'center',
1444
+ justifyContent: 'center',
1445
+ padding: 12,
1446
+ backgroundColor: '#fff3cd',
1447
+ borderRadius: 12,
1448
+ borderWidth: 1,
1449
+ borderColor: '#ffeaa7',
1450
+ marginBottom: 8
1451
+ },
1452
+ testDataRequestButtonText: {
1453
+ fontSize: 14,
1454
+ fontWeight: '500',
1455
+ color: '#856404',
1456
+ marginLeft: 8
1457
+ },
1458
+ testExistingUserButton: {
1459
+ flexDirection: 'row',
1460
+ alignItems: 'center',
1461
+ justifyContent: 'center',
1462
+ padding: 12,
1463
+ backgroundColor: '#d4edda',
1464
+ borderRadius: 12,
1465
+ borderWidth: 1,
1466
+ borderColor: '#c3e6cb',
1467
+ marginBottom: 8
1468
+ },
1469
+ testExistingUserButtonText: {
1470
+ fontSize: 14,
1471
+ fontWeight: '500',
1472
+ color: '#155724',
1473
+ marginLeft: 8
1474
+ },
1475
+ testSkipToTrainingButton: {
1476
+ flexDirection: 'row',
1477
+ alignItems: 'center',
1478
+ justifyContent: 'center',
1479
+ padding: 12,
1480
+ backgroundColor: '#d1ecf1',
1481
+ borderRadius: 12,
1482
+ borderWidth: 1,
1483
+ borderColor: '#bee5eb'
1484
+ },
1485
+ testSkipToTrainingButtonText: {
1486
+ fontSize: 14,
1487
+ fontWeight: '500',
1488
+ color: '#0c5460',
1489
+ marginLeft: 8
1279
1490
  }
1280
1491
  });
1281
1492
  //# sourceMappingURL=UniversalOnboarding.js.map