@onairos/react-native 2.0.8 → 2.1.1

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.
@@ -1,15 +1,17 @@
1
1
  import React, { useState } from 'react';
2
2
  import { TouchableOpacity, Text, StyleSheet, View } from 'react-native';
3
3
  import { UniversalOnboarding } from './UniversalOnboarding';
4
+ import { Overlay } from './Overlay';
5
+ import { hasCredentials, getCredentials } from '../utils/secureStorage';
4
6
  export const OnairosButton = ({
5
7
  returnLink,
6
8
  prefillUrl,
7
9
  AppName,
8
10
  buttonType = 'normal',
9
11
  requestData,
10
- buttonWidth = 180,
11
- buttonHeight,
12
- hasStroke = false,
12
+ buttonWidth = 240,
13
+ buttonHeight = 48,
14
+ hasStroke = true,
13
15
  enabled = true,
14
16
  buttonForm = 'default',
15
17
  onRejection,
@@ -22,6 +24,9 @@ export const OnairosButton = ({
22
24
  testMode = false
23
25
  }) => {
24
26
  const [showOnboarding, setShowOnboarding] = useState(false);
27
+ const [showOverlay, setShowOverlay] = useState(false);
28
+ const [storedCredentials, setStoredCredentials] = useState(null);
29
+ const isDarkMode = color === 'black' || !color && !hasStroke;
25
30
  const handlePress = async () => {
26
31
  if (!enabled) return;
27
32
  if (preCheck) {
@@ -31,27 +36,46 @@ export const OnairosButton = ({
31
36
  return;
32
37
  }
33
38
  }
34
- setShowOnboarding(true);
39
+
40
+ // Check if credentials exist
41
+ const hasStoredCreds = await hasCredentials();
42
+ if (hasStoredCreds) {
43
+ // If credentials exist, fetch them and display overlay
44
+ const credentials = await getCredentials();
45
+ setStoredCredentials(credentials);
46
+ setShowOverlay(true);
47
+ } else {
48
+ // If no credentials, show onboarding
49
+ setShowOnboarding(true);
50
+ }
35
51
  };
36
52
  const handleOnboardingComplete = (apiUrl, token, data) => {
37
53
  setShowOnboarding(false);
38
54
  onResolved === null || onResolved === void 0 || onResolved(apiUrl, token, data);
39
55
  };
56
+ const handleOverlayResolved = (apiUrl, token, data) => {
57
+ setShowOverlay(false);
58
+ onResolved === null || onResolved === void 0 || onResolved(apiUrl, token, data);
59
+ };
60
+
61
+ // Calculate button styles based on props
40
62
  const buttonStyle = [styles.button, buttonType === 'pill' && styles.pillButton, hasStroke && styles.strokedButton, {
41
- width: buttonWidth
42
- }, buttonHeight ? {
63
+ width: buttonWidth,
43
64
  height: buttonHeight
44
- } : null, color ? {
65
+ }, color ? {
45
66
  backgroundColor: color
46
- } : null, swerv && styles.swervButton].filter(Boolean);
47
- const textStyle = [styles.buttonText, hasStroke && styles.strokedButtonText, color ? styles.customColorText : null].filter(Boolean);
67
+ } : null, isDarkMode ? styles.darkButton : styles.lightButton, swerv && styles.swervButton].filter(Boolean);
68
+
69
+ // Calculate text styles based on props
70
+ const textStyle = [styles.buttonText, isDarkMode ? styles.lightText : styles.darkText].filter(Boolean);
48
71
  return /*#__PURE__*/React.createElement(View, null, /*#__PURE__*/React.createElement(TouchableOpacity, {
49
72
  style: buttonStyle,
50
73
  onPress: handlePress,
51
- disabled: !enabled
74
+ disabled: !enabled,
75
+ accessibilityLabel: `Sign in with Onairos`
52
76
  }, /*#__PURE__*/React.createElement(Text, {
53
77
  style: textStyle
54
- }, AppName)), /*#__PURE__*/React.createElement(UniversalOnboarding, {
78
+ }, "Sign in with Onairos")), showOnboarding && /*#__PURE__*/React.createElement(UniversalOnboarding, {
55
79
  visible: showOnboarding,
56
80
  onClose: () => setShowOnboarding(false),
57
81
  AppName: AppName,
@@ -61,19 +85,24 @@ export const OnairosButton = ({
61
85
  preferredPlatform: preferredPlatform,
62
86
  debug: debug,
63
87
  test: testMode
88
+ }), showOverlay && storedCredentials && /*#__PURE__*/React.createElement(Overlay, {
89
+ data: requestData || {},
90
+ username: storedCredentials.username,
91
+ modelKey: storedCredentials.userPin || '',
92
+ onResolved: handleOverlayResolved
64
93
  }));
65
94
  };
66
95
  const styles = StyleSheet.create({
67
96
  button: {
68
- backgroundColor: '#000',
69
- paddingVertical: 12,
70
- paddingHorizontal: 24,
71
- borderRadius: 8,
97
+ flexDirection: 'row',
72
98
  alignItems: 'center',
73
- justifyContent: 'center'
99
+ justifyContent: 'center',
100
+ paddingVertical: 12,
101
+ paddingHorizontal: 16,
102
+ borderRadius: 4
74
103
  },
75
104
  pillButton: {
76
- borderRadius: 20
105
+ borderRadius: 24
77
106
  },
78
107
  strokedButton: {
79
108
  backgroundColor: 'transparent',
@@ -85,16 +114,24 @@ const styles = StyleSheet.create({
85
114
  rotate: '-2deg'
86
115
  }]
87
116
  },
117
+ darkButton: {
118
+ backgroundColor: '#000',
119
+ borderColor: '#000'
120
+ },
121
+ lightButton: {
122
+ backgroundColor: '#fff',
123
+ borderColor: '#000'
124
+ },
88
125
  buttonText: {
89
- color: '#fff',
90
126
  fontSize: 16,
91
- fontWeight: '600'
127
+ fontWeight: '600',
128
+ textAlign: 'center'
92
129
  },
93
- strokedButtonText: {
94
- color: '#000'
95
- },
96
- customColorText: {
130
+ lightText: {
97
131
  color: '#fff'
132
+ },
133
+ darkText: {
134
+ color: '#000'
98
135
  }
99
136
  });
100
137
  //# sourceMappingURL=OnairosButton.js.map
@@ -1 +1 @@
1
- {"version":3,"names":["React","useState","TouchableOpacity","Text","StyleSheet","View","UniversalOnboarding","OnairosButton","returnLink","prefillUrl","AppName","buttonType","requestData","buttonWidth","buttonHeight","hasStroke","enabled","buttonForm","onRejection","onResolved","preCheck","color","swerv","debug","preferredPlatform","testMode","showOnboarding","setShowOnboarding","handlePress","shouldProceed","handleOnboardingComplete","apiUrl","token","data","buttonStyle","styles","button","pillButton","strokedButton","width","height","backgroundColor","swervButton","filter","Boolean","textStyle","buttonText","strokedButtonText","customColorText","createElement","style","onPress","disabled","visible","onClose","onComplete","test","create","paddingVertical","paddingHorizontal","borderRadius","alignItems","justifyContent","borderWidth","borderColor","transform","rotate","fontSize","fontWeight"],"sourceRoot":"..\\..\\..\\src","sources":["components/OnairosButton.tsx"],"mappings":"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","ignoreList":[]}
1
+ {"version":3,"names":["React","useState","TouchableOpacity","Text","StyleSheet","View","UniversalOnboarding","Overlay","hasCredentials","getCredentials","OnairosButton","returnLink","prefillUrl","AppName","buttonType","requestData","buttonWidth","buttonHeight","hasStroke","enabled","buttonForm","onRejection","onResolved","preCheck","color","swerv","debug","preferredPlatform","testMode","showOnboarding","setShowOnboarding","showOverlay","setShowOverlay","storedCredentials","setStoredCredentials","isDarkMode","handlePress","shouldProceed","hasStoredCreds","credentials","handleOnboardingComplete","apiUrl","token","data","handleOverlayResolved","buttonStyle","styles","button","pillButton","strokedButton","width","height","backgroundColor","darkButton","lightButton","swervButton","filter","Boolean","textStyle","buttonText","lightText","darkText","createElement","style","onPress","disabled","accessibilityLabel","visible","onClose","onComplete","test","username","modelKey","userPin","create","flexDirection","alignItems","justifyContent","paddingVertical","paddingHorizontal","borderRadius","borderWidth","borderColor","transform","rotate","fontSize","fontWeight","textAlign"],"sourceRoot":"..\\..\\..\\src","sources":["components/OnairosButton.tsx"],"mappings":"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","ignoreList":[]}
@@ -1,8 +1,8 @@
1
1
  function _extends() { return _extends = Object.assign ? Object.assign.bind() : function (n) { for (var e = 1; e < arguments.length; e++) { var t = arguments[e]; for (var r in t) ({}).hasOwnProperty.call(t, r) && (n[r] = t[r]); } return n; }, _extends.apply(null, arguments); }
2
- import React, { useState, useEffect } from 'react';
3
- import { View, Text, StyleSheet, TouchableOpacity, ScrollView, Alert, Platform } from 'react-native';
2
+ import React, { useState, useEffect, useRef } from 'react';
3
+ import { View, Text, StyleSheet, TouchableOpacity, ScrollView, Alert, Platform, Dimensions } from 'react-native';
4
4
  import { BottomSheetModal, BottomSheetBackdrop } from '@gorhom/bottom-sheet';
5
- import DeviceInfo from 'react-native-device-info';
5
+ // import DeviceInfo from 'react-native-device-info'; // Comment out device info import
6
6
  import { COLORS } from '../constants';
7
7
  import { onairosApi } from '../api';
8
8
  import { encryptModelKey, getServerPublicKey } from '../utils/encryption';
@@ -14,7 +14,9 @@ export const Overlay = ({
14
14
  }) => {
15
15
  const [selections, setSelections] = useState({});
16
16
  const [details, setDetails] = useState('');
17
- const bottomSheetRef = React.useRef(null);
17
+ const bottomSheetRef = useRef(null);
18
+ const snapPoints = ['60%']; // Set to 60% of screen height
19
+
18
20
  useEffect(() => {
19
21
  // Initialize selection state
20
22
  const initialSelections = {};
@@ -23,6 +25,12 @@ export const Overlay = ({
23
25
  });
24
26
  setSelections(initialSelections);
25
27
  getDetails();
28
+
29
+ // Present the bottom sheet when component mounts
30
+ setTimeout(() => {
31
+ var _bottomSheetRef$curre;
32
+ (_bottomSheetRef$curre = bottomSheetRef.current) === null || _bottomSheetRef$curre === void 0 || _bottomSheetRef$curre.present();
33
+ }, 100);
26
34
  }, []);
27
35
  const getDetails = async () => {
28
36
  try {
@@ -37,22 +45,17 @@ export const Overlay = ({
37
45
  }
38
46
  };
39
47
  const closeOverlay = () => {
40
- var _bottomSheetRef$curre;
41
- (_bottomSheetRef$curre = bottomSheetRef.current) === null || _bottomSheetRef$curre === void 0 || _bottomSheetRef$curre.dismiss();
48
+ var _bottomSheetRef$curre2;
49
+ (_bottomSheetRef$curre2 = bottomSheetRef.current) === null || _bottomSheetRef$curre2 === void 0 || _bottomSheetRef$curre2.dismiss();
42
50
  };
43
51
  const confirmSelection = async () => {
44
52
  try {
45
- let appId = 'unknown';
46
- try {
47
- // Get bundle ID/package name using react-native-device-info
48
- appId = Platform.select({
49
- ios: await DeviceInfo.getBundleId(),
50
- android: await DeviceInfo.getPackageName(),
51
- default: 'unknown'
52
- });
53
- } catch (e) {
54
- console.warn('Failed to get app identifier:', e);
55
- }
53
+ // Mock app identifier
54
+ const appId = Platform.select({
55
+ ios: 'com.onairos.mock',
56
+ android: 'com.onairos.mock',
57
+ default: 'unknown'
58
+ });
56
59
  const serverPublicKey = await getServerPublicKey();
57
60
  const encryptedModelKey = encryptModelKey(serverPublicKey, modelKey);
58
61
  const response = await onairosApi.post('getAPIUrlMobile', {
@@ -73,7 +76,7 @@ export const Overlay = ({
73
76
  closeOverlay();
74
77
  }
75
78
  } catch (e) {
76
- console.error('Error in confirmSelection:', e);
79
+ console.error('Error confirming selection:', e);
77
80
  showErrorModal('Failed to confirm selection. Please try again.');
78
81
  }
79
82
  };
@@ -85,11 +88,16 @@ export const Overlay = ({
85
88
  const selectedCount = Object.values(selections).filter(Boolean).length;
86
89
  return /*#__PURE__*/React.createElement(BottomSheetModal, {
87
90
  ref: bottomSheetRef,
88
- snapPoints: ['80%'],
91
+ snapPoints: snapPoints,
92
+ handleIndicatorStyle: styles.handleIndicator,
89
93
  backdropComponent: props => /*#__PURE__*/React.createElement(BottomSheetBackdrop, _extends({}, props, {
90
94
  appearsOnIndex: 0,
91
- disappearsOnIndex: -1
92
- }))
95
+ disappearsOnIndex: -1,
96
+ opacity: 0.7
97
+ })),
98
+ enablePanDownToClose: true,
99
+ keyboardBehavior: "interactive",
100
+ keyboardBlurBehavior: "restore"
93
101
  }, /*#__PURE__*/React.createElement(View, {
94
102
  style: styles.container
95
103
  }, /*#__PURE__*/React.createElement(View, {
@@ -139,12 +147,19 @@ export const Overlay = ({
139
147
  style: styles.footerButtonText
140
148
  }, "Confirm")))));
141
149
  };
150
+ const {
151
+ width: SCREEN_WIDTH
152
+ } = Dimensions.get('window');
142
153
  const styles = StyleSheet.create({
143
154
  container: {
144
155
  flex: 1,
145
156
  backgroundColor: COLORS.white,
146
- borderTopLeftRadius: 10,
147
- borderTopRightRadius: 10
157
+ width: SCREEN_WIDTH
158
+ },
159
+ handleIndicator: {
160
+ backgroundColor: '#999',
161
+ width: 40,
162
+ height: 5
148
163
  },
149
164
  header: {
150
165
  flexDirection: 'row',
@@ -167,7 +182,7 @@ const styles = StyleSheet.create({
167
182
  },
168
183
  username: {
169
184
  fontSize: 18,
170
- color: COLORS.primary
185
+ color: COLORS.white
171
186
  },
172
187
  content: {
173
188
  flex: 1,
@@ -1 +1 @@
1
- {"version":3,"names":["React","useState","useEffect","View","Text","StyleSheet","TouchableOpacity","ScrollView","Alert","Platform","BottomSheetModal","BottomSheetBackdrop","DeviceInfo","COLORS","onairosApi","encryptModelKey","getServerPublicKey","Overlay","data","username","modelKey","onResolved","selections","setSelections","details","setDetails","bottomSheetRef","useRef","initialSelections","Object","keys","forEach","key","getDetails","response","post","Info","AccountInfo","e","console","error","closeOverlay","_bottomSheetRef$curre","current","dismiss","confirmSelection","appId","select","ios","getBundleId","android","getPackageName","default","warn","serverPublicKey","encryptedModelKey","storage","confirmations","developerURL","EncryptedUserPin","account","proofMode","apiUrl","token","showErrorModal","errorMessage","alert","text","selectedCount","values","filter","Boolean","length","createElement","ref","snapPoints","backdropComponent","props","_extends","appearsOnIndex","disappearsOnIndex","style","styles","container","header","headerTitle","onPress","closeButton","content","entries","map","value","card","checkboxContainer","prev","checkbox","checkboxSelected","cardContent","cardTitle","type","cardDescription","descriptions","reward","cardReward","footer","footerButton","footerButtonText","create","flex","backgroundColor","white","borderTopLeftRadius","borderTopRightRadius","flexDirection","alignItems","justifyContent","padding","primary","fontSize","color","fontWeight","borderRadius","marginBottom","shadowColor","black","shadowOffset","width","height","shadowOpacity","shadowRadius","elevation","borderWidth","borderColor","marginRight","gray","success","borderTopWidth","borderTopColor","lightGray","paddingVertical","paddingHorizontal"],"sourceRoot":"..\\..\\..\\src","sources":["components/Overlay.tsx"],"mappings":"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","ignoreList":[]}
1
+ {"version":3,"names":["React","useState","useEffect","useRef","View","Text","StyleSheet","TouchableOpacity","ScrollView","Alert","Platform","Dimensions","BottomSheetModal","BottomSheetBackdrop","COLORS","onairosApi","encryptModelKey","getServerPublicKey","Overlay","data","username","modelKey","onResolved","selections","setSelections","details","setDetails","bottomSheetRef","snapPoints","initialSelections","Object","keys","forEach","key","getDetails","setTimeout","_bottomSheetRef$curre","current","present","response","post","Info","AccountInfo","e","console","error","closeOverlay","_bottomSheetRef$curre2","dismiss","confirmSelection","appId","select","ios","android","default","serverPublicKey","encryptedModelKey","storage","confirmations","developerURL","EncryptedUserPin","account","proofMode","apiUrl","token","showErrorModal","errorMessage","alert","text","selectedCount","values","filter","Boolean","length","createElement","ref","handleIndicatorStyle","styles","handleIndicator","backdropComponent","props","_extends","appearsOnIndex","disappearsOnIndex","opacity","enablePanDownToClose","keyboardBehavior","keyboardBlurBehavior","style","container","header","headerTitle","onPress","closeButton","content","entries","map","value","card","checkboxContainer","prev","checkbox","checkboxSelected","cardContent","cardTitle","type","cardDescription","descriptions","reward","cardReward","footer","footerButton","footerButtonText","width","SCREEN_WIDTH","get","create","flex","backgroundColor","white","height","flexDirection","alignItems","justifyContent","padding","primary","borderTopLeftRadius","borderTopRightRadius","fontSize","color","fontWeight","borderRadius","marginBottom","shadowColor","black","shadowOffset","shadowOpacity","shadowRadius","elevation","borderWidth","borderColor","marginRight","gray","success","borderTopWidth","borderTopColor","lightGray","paddingVertical","paddingHorizontal"],"sourceRoot":"..\\..\\..\\src","sources":["components/Overlay.tsx"],"mappings":"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","ignoreList":[]}
@@ -1,34 +1,11 @@
1
- // Components
2
- export { OnairosButton } from './components/OnairosButton';
3
- export { UniversalOnboarding } from './components/UniversalOnboarding';
4
- export { Overlay } from './components/Overlay';
1
+ import OnairosButton from './components/OnairosButton';
2
+ import * as AuthUtils from './utils/auth';
3
+ import * as CryptoUtils from './utils/crypto';
4
+ import * as ApiUtils from './utils/api';
5
5
 
6
- // Screen Components
7
- export { ConnectorScreen } from './components/screens/ConnectorScreen';
8
- export { PinCreationScreen } from './components/screens/PinCreationScreen';
9
- export { LoadingScreen } from './components/screens/LoadingScreen';
6
+ // Export the main component
7
+ export default OnairosButton;
10
8
 
11
- // Onboarding Components
12
- export { OAuthWebView } from './components/onboarding/OAuthWebView';
13
- export { PlatformConnector } from './components/onboarding/PlatformConnector';
14
- export { OnboardingHeader } from './components/onboarding/OnboardingHeader';
15
- export { PinInput } from './components/onboarding/PinInput';
16
-
17
- // Hooks
18
- export { useConnections } from './hooks/useConnections';
19
- export { useCredentials } from './hooks/useCredentials';
20
-
21
- // Utilities
22
- export { storeCredentials, getCredentials, hasCredentials, deleteCredentials, updateCredentials, generateDeviceUsername, verifyCredentials } from './utils/secureStorage';
23
- export { validateCredentials, createAccount, authenticate, refreshToken, getPlatformData, getUserProfile, updatePlatformConnections } from './utils/onairosApi';
24
- export { rsaEncrypt, sha256, base64ToBuffer } from './utils/crypto';
25
- export { logDebug, logError, isDebugMode } from './utils/debugHelper';
26
-
27
- // Services
28
- export { connectPlatform, disconnectPlatform, initializeOAuthService, cleanupOAuthService, storePlatformConnection } from './services/oauthService';
29
-
30
- // Types
31
-
32
- // Constants
33
- export { COLORS, PLATFORMS, API_ENDPOINTS, STORAGE_KEYS, PIN_REQUIREMENTS, DEEP_LINK_CONFIG } from './constants';
9
+ // Export utilities for advanced usage
10
+ export { AuthUtils, CryptoUtils, ApiUtils };
34
11
  //# sourceMappingURL=index.js.map
@@ -1 +1 @@
1
- {"version":3,"names":["OnairosButton","UniversalOnboarding","Overlay","ConnectorScreen","PinCreationScreen","LoadingScreen","OAuthWebView","PlatformConnector","OnboardingHeader","PinInput","useConnections","useCredentials","storeCredentials","getCredentials","hasCredentials","deleteCredentials","updateCredentials","generateDeviceUsername","verifyCredentials","validateCredentials","createAccount","authenticate","refreshToken","getPlatformData","getUserProfile","updatePlatformConnections","rsaEncrypt","sha256","base64ToBuffer","logDebug","logError","isDebugMode","connectPlatform","disconnectPlatform","initializeOAuthService","cleanupOAuthService","storePlatformConnection","COLORS","PLATFORMS","API_ENDPOINTS","STORAGE_KEYS","PIN_REQUIREMENTS","DEEP_LINK_CONFIG"],"sourceRoot":"..\\..\\src","sources":["index.ts"],"mappings":"AAAA;AACA,SAASA,aAAa,QAAQ,4BAA4B;AAC1D,SAASC,mBAAmB,QAAQ,kCAAkC;AACtE,SAASC,OAAO,QAAQ,sBAAsB;;AAE9C;AACA,SAASC,eAAe,QAAQ,sCAAsC;AACtE,SAASC,iBAAiB,QAAQ,wCAAwC;AAC1E,SAASC,aAAa,QAAQ,oCAAoC;;AAElE;AACA,SAASC,YAAY,QAAQ,sCAAsC;AACnE,SAASC,iBAAiB,QAAQ,2CAA2C;AAC7E,SAASC,gBAAgB,QAAQ,0CAA0C;AAC3E,SAASC,QAAQ,QAAQ,kCAAkC;;AAE3D;AACA,SAASC,cAAc,QAAQ,wBAAwB;AACvD,SAASC,cAAc,QAAQ,wBAAwB;;AAEvD;AACA,SACEC,gBAAgB,EAChBC,cAAc,EACdC,cAAc,EACdC,iBAAiB,EACjBC,iBAAiB,EACjBC,sBAAsB,EACtBC,iBAAiB,QACZ,uBAAuB;AAE9B,SACEC,mBAAmB,EACnBC,aAAa,EACbC,YAAY,EACZC,YAAY,EACZC,eAAe,EACfC,cAAc,EACdC,yBAAyB,QACpB,oBAAoB;AAE3B,SACEC,UAAU,EACVC,MAAM,EACNC,cAAc,QACT,gBAAgB;AAEvB,SACEC,QAAQ,EACRC,QAAQ,EACRC,WAAW,QACN,qBAAqB;;AAE5B;AACA,SACEC,eAAe,EACfC,kBAAkB,EAClBC,sBAAsB,EACtBC,mBAAmB,EACnBC,uBAAuB,QAClB,yBAAyB;;AAEhC;;AAkBA;AACA,SAASC,MAAM,EAAEC,SAAS,EAAEC,aAAa,EAAEC,YAAY,EAAEC,gBAAgB,EAAEC,gBAAgB,QAAQ,aAAa","ignoreList":[]}
1
+ {"version":3,"names":["OnairosButton","AuthUtils","CryptoUtils","ApiUtils"],"sourceRoot":"..\\..\\src","sources":["index.js"],"mappings":"AAAA,OAAOA,aAAa,MAAM,4BAA4B;AACtD,OAAO,KAAKC,SAAS,MAAM,cAAc;AACzC,OAAO,KAAKC,WAAW,MAAM,gBAAgB;AAC7C,OAAO,KAAKC,QAAQ,MAAM,aAAa;;AAEvC;AACA,eAAeH,aAAa;;AAE5B;AACA,SACEC,SAAS,EACTC,WAAW,EACXC,QAAQ","ignoreList":[]}
@@ -1,51 +1,15 @@
1
- import * as Keychain from 'react-native-keychain';
2
1
  import { Platform } from 'react-native';
3
2
  import { sha256 } from './crypto';
4
- const CREDENTIALS_KEY = 'onairos_credentials';
3
+ // Temporary in-memory storage
4
+ let mockStorage = {};
5
5
 
6
6
  /**
7
- * Store credentials securely in the device keychain with optional biometric protection
7
+ * Store credentials in memory (temporary solution)
8
8
  */
9
9
  export const storeCredentials = async (credentials, options = {}) => {
10
10
  try {
11
- const {
12
- useBiometrics = true,
13
- biometricPrompt
14
- } = options;
15
-
16
- // Create a JSON string of the credentials
17
- const credentialsString = JSON.stringify(credentials);
18
-
19
- // Configure security options based on platform
20
- const securityOptions = {
21
- service: CREDENTIALS_KEY,
22
- accessible: Keychain.ACCESSIBLE.WHEN_UNLOCKED_THIS_DEVICE_ONLY
23
- };
24
-
25
- // Add biometric protection if requested
26
- if (useBiometrics) {
27
- // iOS specific options
28
- if (Platform.OS === 'ios') {
29
- securityOptions.accessControl = Keychain.ACCESS_CONTROL.BIOMETRY_ANY_OR_DEVICE_PASSCODE;
30
- }
31
-
32
- // Android specific options
33
- if (Platform.OS === 'android') {
34
- securityOptions.accessControl = Keychain.ACCESS_CONTROL.BIOMETRY_ANY;
35
- if (biometricPrompt) {
36
- securityOptions.authenticationType = Keychain.AUTHENTICATION_TYPE.BIOMETRIC;
37
- securityOptions.authenticationPrompt = {
38
- title: biometricPrompt.title || 'Biometric Authentication',
39
- subtitle: biometricPrompt.subtitle,
40
- description: 'Please authenticate to access your Onairos credentials',
41
- cancel: 'Cancel'
42
- };
43
- }
44
- }
45
- }
46
-
47
- // Store in the secure keychain
48
- await Keychain.setGenericPassword(credentials.username, credentialsString, securityOptions);
11
+ console.log('[Mock] Storing credentials:', credentials.username);
12
+ mockStorage[credentials.username] = JSON.stringify(credentials);
49
13
  return true;
50
14
  } catch (error) {
51
15
  console.error('Error storing credentials:', error);
@@ -54,39 +18,16 @@ export const storeCredentials = async (credentials, options = {}) => {
54
18
  };
55
19
 
56
20
  /**
57
- * Retrieve credentials from secure storage, potentially requiring biometric authentication
21
+ * Retrieve credentials from memory (temporary solution)
58
22
  */
59
23
  export const getCredentials = async (options = {}) => {
60
24
  try {
61
- const {
62
- useBiometrics = true,
63
- biometricPrompt
64
- } = options;
65
-
66
- // Configure security options
67
- const securityOptions = {
68
- service: CREDENTIALS_KEY
69
- };
70
-
71
- // Add biometric prompt if required
72
- if (useBiometrics && biometricPrompt) {
73
- securityOptions.authenticationPrompt = {
74
- title: biometricPrompt.title || 'Biometric Authentication',
75
- subtitle: biometricPrompt.subtitle,
76
- description: 'Please authenticate to access your Onairos credentials',
77
- cancel: 'Cancel'
78
- };
79
- }
80
-
81
- // Retrieve from keychain
82
- const result = await Keychain.getGenericPassword(securityOptions);
83
- if (!result) {
25
+ // Get the first stored credential (temporary solution)
26
+ const storedCredential = Object.values(mockStorage)[0];
27
+ if (!storedCredential) {
84
28
  return null;
85
29
  }
86
-
87
- // Parse the stored JSON
88
- const credentials = JSON.parse(result.password);
89
- return credentials;
30
+ return JSON.parse(storedCredential);
90
31
  } catch (error) {
91
32
  console.error('Error retrieving credentials:', error);
92
33
  return null;
@@ -98,10 +39,7 @@ export const getCredentials = async (options = {}) => {
98
39
  */
99
40
  export const hasCredentials = async () => {
100
41
  try {
101
- const result = await Keychain.getGenericPassword({
102
- service: CREDENTIALS_KEY
103
- });
104
- return !!result;
42
+ return Object.keys(mockStorage).length > 0;
105
43
  } catch (error) {
106
44
  console.error('Error checking for credentials:', error);
107
45
  return false;
@@ -113,9 +51,7 @@ export const hasCredentials = async () => {
113
51
  */
114
52
  export const deleteCredentials = async () => {
115
53
  try {
116
- await Keychain.resetGenericPassword({
117
- service: CREDENTIALS_KEY
118
- });
54
+ mockStorage = {};
119
55
  return true;
120
56
  } catch (error) {
121
57
  console.error('Error deleting credentials:', error);
@@ -128,19 +64,14 @@ export const deleteCredentials = async () => {
128
64
  */
129
65
  export const updateCredentials = async (updates, options = {}) => {
130
66
  try {
131
- // Get current credentials
132
67
  const currentCredentials = await getCredentials(options);
133
68
  if (!currentCredentials) {
134
69
  return false;
135
70
  }
136
-
137
- // Merge updates with current credentials
138
71
  const updatedCredentials = {
139
72
  ...currentCredentials,
140
73
  ...updates
141
74
  };
142
-
143
- // Store updated credentials
144
75
  return await storeCredentials(updatedCredentials, options);
145
76
  } catch (error) {
146
77
  console.error('Error updating credentials:', error);
@@ -153,40 +84,21 @@ export const updateCredentials = async (updates, options = {}) => {
153
84
  */
154
85
  export const generateDeviceUsername = async () => {
155
86
  try {
156
- // Get a device-specific identifier that we can use
157
- // This is a simplified example - in production you might want to use
158
- // a more robust device identifier method
159
87
  const deviceInfo = `${Platform.OS}-${Platform.Version}-${Date.now()}`;
160
-
161
- // Hash it to create a unique identifier
162
88
  const username = `onairos_${sha256(deviceInfo).substring(0, 10)}`;
163
89
  return username;
164
90
  } catch (error) {
165
91
  console.error('Error generating device username:', error);
166
- // Fallback to a timestamp-based username if there's an error
167
92
  return `onairos_${Date.now().toString(36)}`;
168
93
  }
169
94
  };
170
95
 
171
96
  /**
172
- * Verify if credentials are valid (not expired, etc.)
97
+ * Verify credentials (temporary mock implementation)
173
98
  */
174
99
  export const verifyCredentials = async credentials => {
175
100
  try {
176
- // Basic verification - check if credentials exist and aren't too old
177
- if (!credentials || !credentials.accessToken || !credentials.username) {
178
- return false;
179
- }
180
-
181
- // Check for expiration (example: credentials expire after 30 days)
182
- const thirtyDaysMs = 30 * 24 * 60 * 60 * 1000;
183
- const isExpired = Date.now() - credentials.createdAt > thirtyDaysMs;
184
- if (isExpired) {
185
- return false;
186
- }
187
-
188
- // Add any additional verification logic here
189
-
101
+ console.log('[Mock] Verifying credentials for:', credentials.username);
190
102
  return true;
191
103
  } catch (error) {
192
104
  console.error('Error verifying credentials:', error);
@@ -1 +1 @@
1
- {"version":3,"names":["Keychain","Platform","sha256","CREDENTIALS_KEY","storeCredentials","credentials","options","useBiometrics","biometricPrompt","credentialsString","JSON","stringify","securityOptions","service","accessible","ACCESSIBLE","WHEN_UNLOCKED_THIS_DEVICE_ONLY","OS","accessControl","ACCESS_CONTROL","BIOMETRY_ANY_OR_DEVICE_PASSCODE","BIOMETRY_ANY","authenticationType","AUTHENTICATION_TYPE","BIOMETRIC","authenticationPrompt","title","subtitle","description","cancel","setGenericPassword","username","error","console","getCredentials","result","getGenericPassword","parse","password","hasCredentials","deleteCredentials","resetGenericPassword","updateCredentials","updates","currentCredentials","updatedCredentials","generateDeviceUsername","deviceInfo","Version","Date","now","substring","toString","verifyCredentials","accessToken","thirtyDaysMs","isExpired","createdAt"],"sourceRoot":"..\\..\\..\\src","sources":["utils/secureStorage.ts"],"mappings":"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","ignoreList":[]}
1
+ {"version":3,"names":["Platform","sha256","mockStorage","storeCredentials","credentials","options","console","log","username","JSON","stringify","error","getCredentials","storedCredential","Object","values","parse","hasCredentials","keys","length","deleteCredentials","updateCredentials","updates","currentCredentials","updatedCredentials","generateDeviceUsername","deviceInfo","OS","Version","Date","now","substring","toString","verifyCredentials"],"sourceRoot":"..\\..\\..\\src","sources":["utils/secureStorage.ts"],"mappings":"AAAA,SAASA,QAAQ,QAAQ,cAAc;AACvC,SAASC,MAAM,QAAQ,UAAU;AAwBjC;AACA,IAAIC,WAAsC,GAAG,CAAC,CAAC;;AAE/C;AACA;AACA;AACA,OAAO,MAAMC,gBAAgB,GAAG,MAAAA,CAC9BC,WAA+B,EAC/BC,OAAuB,GAAG,CAAC,CAAC,KACP;EACrB,IAAI;IACFC,OAAO,CAACC,GAAG,CAAC,6BAA6B,EAAEH,WAAW,CAACI,QAAQ,CAAC;IAChEN,WAAW,CAACE,WAAW,CAACI,QAAQ,CAAC,GAAGC,IAAI,CAACC,SAAS,CAACN,WAAW,CAAC;IAC/D,OAAO,IAAI;EACb,CAAC,CAAC,OAAOO,KAAK,EAAE;IACdL,OAAO,CAACK,KAAK,CAAC,4BAA4B,EAAEA,KAAK,CAAC;IAClD,OAAO,KAAK;EACd;AACF,CAAC;;AAED;AACA;AACA;AACA,OAAO,MAAMC,cAAc,GAAG,MAAAA,CAC5BP,OAAuB,GAAG,CAAC,CAAC,KACW;EACvC,IAAI;IACF;IACA,MAAMQ,gBAAgB,GAAGC,MAAM,CAACC,MAAM,CAACb,WAAW,CAAC,CAAC,CAAC,CAAC;IACtD,IAAI,CAACW,gBAAgB,EAAE;MACrB,OAAO,IAAI;IACb;IACA,OAAOJ,IAAI,CAACO,KAAK,CAACH,gBAAgB,CAAC;EACrC,CAAC,CAAC,OAAOF,KAAK,EAAE;IACdL,OAAO,CAACK,KAAK,CAAC,+BAA+B,EAAEA,KAAK,CAAC;IACrD,OAAO,IAAI;EACb;AACF,CAAC;;AAED;AACA;AACA;AACA,OAAO,MAAMM,cAAc,GAAG,MAAAA,CAAA,KAA8B;EAC1D,IAAI;IACF,OAAOH,MAAM,CAACI,IAAI,CAAChB,WAAW,CAAC,CAACiB,MAAM,GAAG,CAAC;EAC5C,CAAC,CAAC,OAAOR,KAAK,EAAE;IACdL,OAAO,CAACK,KAAK,CAAC,iCAAiC,EAAEA,KAAK,CAAC;IACvD,OAAO,KAAK;EACd;AACF,CAAC;;AAED;AACA;AACA;AACA,OAAO,MAAMS,iBAAiB,GAAG,MAAAA,CAAA,KAA8B;EAC7D,IAAI;IACFlB,WAAW,GAAG,CAAC,CAAC;IAChB,OAAO,IAAI;EACb,CAAC,CAAC,OAAOS,KAAK,EAAE;IACdL,OAAO,CAACK,KAAK,CAAC,6BAA6B,EAAEA,KAAK,CAAC;IACnD,OAAO,KAAK;EACd;AACF,CAAC;;AAED;AACA;AACA;AACA,OAAO,MAAMU,iBAAiB,GAAG,MAAAA,CAC/BC,OAAoC,EACpCjB,OAAuB,GAAG,CAAC,CAAC,KACP;EACrB,IAAI;IACF,MAAMkB,kBAAkB,GAAG,MAAMX,cAAc,CAACP,OAAO,CAAC;IACxD,IAAI,CAACkB,kBAAkB,EAAE;MACvB,OAAO,KAAK;IACd;IACA,MAAMC,kBAAsC,GAAG;MAC7C,GAAGD,kBAAkB;MACrB,GAAGD;IACL,CAAC;IACD,OAAO,MAAMnB,gBAAgB,CAACqB,kBAAkB,EAAEnB,OAAO,CAAC;EAC5D,CAAC,CAAC,OAAOM,KAAK,EAAE;IACdL,OAAO,CAACK,KAAK,CAAC,6BAA6B,EAAEA,KAAK,CAAC;IACnD,OAAO,KAAK;EACd;AACF,CAAC;;AAED;AACA;AACA;AACA,OAAO,MAAMc,sBAAsB,GAAG,MAAAA,CAAA,KAA6B;EACjE,IAAI;IACF,MAAMC,UAAU,GAAG,GAAG1B,QAAQ,CAAC2B,EAAE,IAAI3B,QAAQ,CAAC4B,OAAO,IAAIC,IAAI,CAACC,GAAG,CAAC,CAAC,EAAE;IACrE,MAAMtB,QAAQ,GAAG,WAAWP,MAAM,CAACyB,UAAU,CAAC,CAACK,SAAS,CAAC,CAAC,EAAE,EAAE,CAAC,EAAE;IACjE,OAAOvB,QAAQ;EACjB,CAAC,CAAC,OAAOG,KAAK,EAAE;IACdL,OAAO,CAACK,KAAK,CAAC,mCAAmC,EAAEA,KAAK,CAAC;IACzD,OAAO,WAAWkB,IAAI,CAACC,GAAG,CAAC,CAAC,CAACE,QAAQ,CAAC,EAAE,CAAC,EAAE;EAC7C;AACF,CAAC;;AAED;AACA;AACA;AACA,OAAO,MAAMC,iBAAiB,GAAG,MAC/B7B,WAA+B,IACV;EACrB,IAAI;IACFE,OAAO,CAACC,GAAG,CAAC,mCAAmC,EAAEH,WAAW,CAACI,QAAQ,CAAC;IACtE,OAAO,IAAI;EACb,CAAC,CAAC,OAAOG,KAAK,EAAE;IACdL,OAAO,CAACK,KAAK,CAAC,8BAA8B,EAAEA,KAAK,CAAC;IACpD,OAAO,KAAK;EACd;AACF,CAAC","ignoreList":[]}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@onairos/react-native",
3
- "version": "2.0.8",
3
+ "version": "2.1.1",
4
4
  "description": "Onairos React Native SDK for social media authentication and AI model training",
5
5
  "main": "lib/commonjs/index.js",
6
6
  "module": "lib/module/index.js",