@onairos/react-native 3.0.1 → 3.0.4
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/README.md +23 -3
- package/lib/commonjs/api/index.js +109 -86
- package/lib/commonjs/api/index.js.map +1 -1
- package/lib/commonjs/components/OnairosButton.js +20 -13
- package/lib/commonjs/components/OnairosButton.js.map +1 -1
- package/lib/commonjs/components/Overlay.js +260 -108
- package/lib/commonjs/components/Overlay.js.map +1 -1
- package/lib/commonjs/components/UniversalOnboarding.js +30 -0
- package/lib/commonjs/components/UniversalOnboarding.js.map +1 -1
- package/lib/commonjs/components/onboarding/OAuthWebView.js +28 -9
- package/lib/commonjs/components/onboarding/OAuthWebView.js.map +1 -1
- package/lib/commonjs/components/onboarding/PlatformConnector.js +6 -1
- package/lib/commonjs/components/onboarding/PlatformConnector.js.map +1 -1
- package/lib/commonjs/components/screens/ConnectorScreen.js +3 -2
- package/lib/commonjs/components/screens/ConnectorScreen.js.map +1 -1
- package/lib/commonjs/constants/index.js +1 -1
- package/lib/commonjs/hooks/useConnections.js +77 -15
- package/lib/commonjs/hooks/useConnections.js.map +1 -1
- package/lib/commonjs/hooks/useCredentials.js +2 -0
- package/lib/commonjs/hooks/useCredentials.js.map +1 -1
- package/lib/commonjs/index.js +38 -0
- package/lib/commonjs/index.js.map +1 -1
- package/lib/commonjs/services/oauthService.js +26 -51
- package/lib/commonjs/services/oauthService.js.map +1 -1
- package/lib/commonjs/types/ambient.d.js +2 -0
- package/lib/commonjs/types/ambient.d.js.map +1 -0
- package/lib/commonjs/types/node-fix.d.js +2 -0
- package/lib/commonjs/types/node-fix.d.js.map +1 -0
- package/lib/commonjs/types/node-override.d.js +2 -0
- package/lib/commonjs/types/node-override.d.js.map +1 -0
- package/lib/commonjs/types/types.d.js +2 -0
- package/lib/commonjs/types/types.d.js.map +1 -0
- package/lib/commonjs/utils/encryption.js +8 -2
- package/lib/commonjs/utils/encryption.js.map +1 -1
- package/lib/commonjs/utils/secureStorage.js +148 -42
- package/lib/commonjs/utils/secureStorage.js.map +1 -1
- package/lib/module/api/index.js +109 -86
- package/lib/module/api/index.js.map +1 -1
- package/lib/module/components/OnairosButton.js +21 -14
- package/lib/module/components/OnairosButton.js.map +1 -1
- package/lib/module/components/Overlay.js +260 -110
- package/lib/module/components/Overlay.js.map +1 -1
- package/lib/module/components/UniversalOnboarding.js +31 -1
- package/lib/module/components/UniversalOnboarding.js.map +1 -1
- package/lib/module/components/onboarding/OAuthWebView.js +28 -9
- package/lib/module/components/onboarding/OAuthWebView.js.map +1 -1
- package/lib/module/components/onboarding/PlatformConnector.js +6 -1
- package/lib/module/components/onboarding/PlatformConnector.js.map +1 -1
- package/lib/module/components/screens/ConnectorScreen.js +3 -2
- package/lib/module/components/screens/ConnectorScreen.js.map +1 -1
- package/lib/module/constants/index.js +1 -1
- package/lib/module/hooks/useConnections.js +77 -14
- package/lib/module/hooks/useConnections.js.map +1 -1
- package/lib/module/hooks/useCredentials.js +2 -0
- package/lib/module/hooks/useCredentials.js.map +1 -1
- package/lib/module/index.js +27 -9
- package/lib/module/index.js.map +1 -1
- package/lib/module/services/oauthService.js +26 -33
- package/lib/module/services/oauthService.js.map +1 -1
- package/lib/module/types/ambient.d.js +2 -0
- package/lib/module/types/ambient.d.js.map +1 -0
- package/lib/module/types/node-fix.d.js +2 -0
- package/lib/module/types/node-fix.d.js.map +1 -0
- package/lib/module/types/node-override.d.js +2 -0
- package/lib/module/types/node-override.d.js.map +1 -0
- package/lib/module/types/types.d.js +2 -0
- package/lib/module/types/types.d.js.map +1 -0
- package/lib/module/utils/encryption.js +8 -2
- package/lib/module/utils/encryption.js.map +1 -1
- package/lib/module/utils/secureStorage.js +149 -42
- package/lib/module/utils/secureStorage.js.map +1 -1
- package/lib/typescript/api/index.d.ts +8 -0
- package/lib/typescript/api/index.d.ts.map +1 -0
- package/lib/typescript/components/DataRequestModal.d.ts +11 -0
- package/lib/typescript/components/DataRequestModal.d.ts.map +1 -0
- package/lib/typescript/components/Onairos.d.ts +29 -0
- package/lib/typescript/components/Onairos.d.ts.map +1 -0
- package/lib/typescript/components/OnairosButton.d.ts +7 -0
- package/lib/typescript/components/OnairosButton.d.ts.map +1 -0
- package/lib/typescript/components/Overlay.d.ts +18 -0
- package/lib/typescript/components/Overlay.d.ts.map +1 -0
- package/lib/typescript/components/PinInput.d.ts +4 -0
- package/lib/typescript/components/PinInput.d.ts.map +1 -0
- package/lib/typescript/components/PlatformList.d.ts +4 -0
- package/lib/typescript/components/PlatformList.d.ts.map +1 -0
- package/lib/typescript/components/TrainingModal.d.ts +4 -0
- package/lib/typescript/components/TrainingModal.d.ts.map +1 -0
- package/lib/typescript/components/UniversalOnboarding.d.ts +4 -0
- package/lib/typescript/components/UniversalOnboarding.d.ts.map +1 -0
- package/lib/typescript/components/onboarding/OAuthWebView.d.ts +4 -0
- package/lib/typescript/components/onboarding/OAuthWebView.d.ts.map +1 -0
- package/lib/typescript/components/onboarding/OnboardingHeader.d.ts +11 -0
- package/lib/typescript/components/onboarding/OnboardingHeader.d.ts.map +1 -0
- package/lib/typescript/components/onboarding/PinInput.d.ts +4 -0
- package/lib/typescript/components/onboarding/PinInput.d.ts.map +1 -0
- package/lib/typescript/components/onboarding/PlatformConnector.d.ts +13 -0
- package/lib/typescript/components/onboarding/PlatformConnector.d.ts.map +1 -0
- package/lib/typescript/components/screens/ConnectorScreen.d.ts +9 -0
- package/lib/typescript/components/screens/ConnectorScreen.d.ts.map +1 -0
- package/lib/typescript/components/screens/LoadingScreen.d.ts +9 -0
- package/lib/typescript/components/screens/LoadingScreen.d.ts.map +1 -0
- package/lib/typescript/components/screens/PinCreationScreen.d.ts +10 -0
- package/lib/typescript/components/screens/PinCreationScreen.d.ts.map +1 -0
- package/lib/typescript/constants/index.d.ts +52 -0
- package/lib/typescript/constants/index.d.ts.map +1 -0
- package/lib/typescript/hooks/useConnections.d.ts +9 -0
- package/lib/typescript/hooks/useConnections.d.ts.map +1 -0
- package/lib/typescript/hooks/useCredentials.d.ts +9 -0
- package/lib/typescript/hooks/useCredentials.d.ts.map +1 -0
- package/lib/typescript/index.d.ts +45 -0
- package/lib/typescript/index.d.ts.map +1 -0
- package/lib/typescript/services/oauthService.d.ts +50 -0
- package/lib/typescript/services/oauthService.d.ts.map +1 -0
- package/lib/typescript/types/index.d.ts +145 -0
- package/lib/typescript/types/index.d.ts.map +1 -0
- package/lib/typescript/types.d.ts +135 -0
- package/lib/typescript/types.d.ts.map +1 -0
- package/lib/typescript/utils/api.d.ts +6 -0
- package/lib/typescript/utils/api.d.ts.map +1 -0
- package/lib/typescript/utils/auth.d.ts +6 -0
- package/lib/typescript/utils/auth.d.ts.map +1 -0
- package/lib/typescript/utils/crypto.d.ts +4 -0
- package/lib/typescript/utils/crypto.d.ts.map +1 -0
- package/lib/typescript/utils/debugHelper.d.ts +29 -0
- package/lib/typescript/utils/debugHelper.d.ts.map +1 -0
- package/lib/typescript/utils/encryption.d.ts +19 -0
- package/lib/typescript/utils/encryption.d.ts.map +1 -0
- package/lib/typescript/utils/onairosApi.d.ts +72 -0
- package/lib/typescript/utils/onairosApi.d.ts.map +1 -0
- package/lib/typescript/utils/secureStorage.d.ts +63 -0
- package/lib/typescript/utils/secureStorage.d.ts.map +1 -0
- package/package.json +16 -4
- package/src/api/index.ts +86 -101
- package/src/components/OnairosButton.tsx +22 -14
- package/src/components/Overlay.tsx +303 -138
- package/src/components/UniversalOnboarding.tsx +25 -0
- package/src/components/onboarding/OAuthWebView.tsx +27 -7
- package/src/components/onboarding/PlatformConnector.tsx +5 -0
- package/src/components/screens/ConnectorScreen.tsx +3 -2
- package/src/constants/index.ts +81 -81
- package/src/hooks/useConnections.ts +76 -16
- package/src/hooks/useCredentials.ts +5 -1
- package/src/index.ts +30 -3
- package/src/services/oauthService.ts +412 -419
- package/src/types/ambient.d.ts +29 -0
- package/src/types/index.d.ts +48 -8
- package/src/types/index.ts +21 -15
- package/src/types/node-fix.d.ts +19 -0
- package/src/types/node-override.d.ts +24 -0
- package/src/types/types.d.ts +18 -0
- package/src/types.ts +121 -1
- package/src/utils/encryption.ts +7 -2
- package/src/utils/secureStorage.ts +155 -56
- package/types/index.d.ts +210 -0
- package/types/node-env.d.ts +15 -0
package/lib/module/api/index.js
CHANGED
|
@@ -1,114 +1,137 @@
|
|
|
1
1
|
import axios from 'axios';
|
|
2
|
+
import { Platform } from 'react-native';
|
|
3
|
+
import { API_ENDPOINTS } from '../constants';
|
|
2
4
|
|
|
3
|
-
|
|
4
|
-
|
|
5
|
-
|
|
5
|
+
// Check if running in development mode
|
|
6
|
+
const isDevelopmentMode = () => {
|
|
7
|
+
return __DEV__ || process.env.NODE_ENV === 'development';
|
|
8
|
+
};
|
|
9
|
+
|
|
10
|
+
// Create mock response helper
|
|
11
|
+
const createMockResponse = data => {
|
|
12
|
+
return Promise.resolve({
|
|
13
|
+
data,
|
|
14
|
+
status: 200,
|
|
15
|
+
statusText: 'OK',
|
|
16
|
+
headers: {},
|
|
17
|
+
config: {}
|
|
18
|
+
});
|
|
19
|
+
};
|
|
20
|
+
|
|
21
|
+
// Create API instance
|
|
22
|
+
const apiInstance = axios.create({
|
|
23
|
+
baseURL: API_ENDPOINTS.base,
|
|
24
|
+
timeout: 10000,
|
|
25
|
+
headers: {
|
|
26
|
+
'Content-Type': 'application/json',
|
|
27
|
+
'Accept': 'application/json'
|
|
28
|
+
}
|
|
29
|
+
});
|
|
30
|
+
|
|
31
|
+
// Add error handling interceptor
|
|
32
|
+
apiInstance.interceptors.response.use(response => response, error => {
|
|
33
|
+
if (isDevelopmentMode()) {
|
|
34
|
+
console.warn('API error in development mode, using fallback:', error);
|
|
35
|
+
return createMockResponse({
|
|
36
|
+
success: true,
|
|
37
|
+
data: {
|
|
38
|
+
mockData: true
|
|
39
|
+
}
|
|
40
|
+
});
|
|
41
|
+
}
|
|
42
|
+
return Promise.reject(error);
|
|
43
|
+
});
|
|
44
|
+
|
|
45
|
+
// API service with Expo compatibility
|
|
6
46
|
export const onairosApi = {
|
|
7
|
-
|
|
8
|
-
|
|
9
|
-
* Make a GET request to the API
|
|
10
|
-
* @param endpoint The endpoint to request
|
|
11
|
-
* @returns The response data
|
|
12
|
-
*/
|
|
13
|
-
get: async endpoint => {
|
|
47
|
+
// Core API methods with fallbacks
|
|
48
|
+
async get(url) {
|
|
14
49
|
try {
|
|
15
|
-
|
|
16
|
-
|
|
50
|
+
if (Platform.OS === 'web' && isDevelopmentMode()) {
|
|
51
|
+
return createMockResponse({
|
|
52
|
+
success: true,
|
|
53
|
+
data: {
|
|
54
|
+
mockData: true
|
|
55
|
+
}
|
|
56
|
+
});
|
|
57
|
+
}
|
|
58
|
+
return await apiInstance.get(url);
|
|
17
59
|
} catch (error) {
|
|
18
|
-
console.error(`GET ${
|
|
60
|
+
console.error(`GET ${url} error:`, error);
|
|
61
|
+
if (isDevelopmentMode()) {
|
|
62
|
+
return createMockResponse({
|
|
63
|
+
success: true,
|
|
64
|
+
data: {
|
|
65
|
+
mockData: true
|
|
66
|
+
}
|
|
67
|
+
});
|
|
68
|
+
}
|
|
19
69
|
throw error;
|
|
20
70
|
}
|
|
21
71
|
},
|
|
22
|
-
|
|
23
|
-
* Make a POST request to the API
|
|
24
|
-
* @param endpoint The endpoint to request
|
|
25
|
-
* @param data The data to send
|
|
26
|
-
* @returns The response data
|
|
27
|
-
*/
|
|
28
|
-
post: async (endpoint, data) => {
|
|
72
|
+
async post(url, data) {
|
|
29
73
|
try {
|
|
30
|
-
|
|
31
|
-
|
|
74
|
+
if (Platform.OS === 'web' && isDevelopmentMode()) {
|
|
75
|
+
return createMockResponse({
|
|
76
|
+
success: true,
|
|
77
|
+
data: {
|
|
78
|
+
mockData: true
|
|
79
|
+
}
|
|
80
|
+
});
|
|
81
|
+
}
|
|
82
|
+
return await apiInstance.post(url, data);
|
|
32
83
|
} catch (error) {
|
|
33
|
-
console.error(`POST ${
|
|
84
|
+
console.error(`POST ${url} error:`, error);
|
|
85
|
+
if (isDevelopmentMode()) {
|
|
86
|
+
return createMockResponse({
|
|
87
|
+
success: true,
|
|
88
|
+
data: {
|
|
89
|
+
mockData: true
|
|
90
|
+
}
|
|
91
|
+
});
|
|
92
|
+
}
|
|
34
93
|
throw error;
|
|
35
94
|
}
|
|
36
95
|
},
|
|
37
|
-
|
|
38
|
-
|
|
39
|
-
* @returns The server's public key
|
|
40
|
-
*/
|
|
41
|
-
getServerPublicKey: async () => {
|
|
96
|
+
// Helper methods for specific API endpoints
|
|
97
|
+
async validateCredentials(username) {
|
|
42
98
|
try {
|
|
43
|
-
|
|
44
|
-
|
|
45
|
-
|
|
46
|
-
|
|
47
|
-
|
|
48
|
-
|
|
49
|
-
},
|
|
50
|
-
/**
|
|
51
|
-
* Validate credentials with the server
|
|
52
|
-
* @param username The username to validate
|
|
53
|
-
* @returns Whether the credentials are valid
|
|
54
|
-
*/
|
|
55
|
-
validateCredentials: async username => {
|
|
56
|
-
try {
|
|
57
|
-
const response = await onairosApi.post('validate', {
|
|
99
|
+
var _response$data;
|
|
100
|
+
if (isDevelopmentMode()) {
|
|
101
|
+
console.log('Using mock validation for:', username);
|
|
102
|
+
return true;
|
|
103
|
+
}
|
|
104
|
+
const response = await this.post('validate', {
|
|
58
105
|
username
|
|
59
106
|
});
|
|
60
|
-
return response.
|
|
107
|
+
return ((_response$data = response.data) === null || _response$data === void 0 ? void 0 : _response$data.success) || false;
|
|
61
108
|
} catch (error) {
|
|
62
109
|
console.error('Error validating credentials:', error);
|
|
63
|
-
return
|
|
110
|
+
return isDevelopmentMode(); // Return true in dev mode to allow flow to continue
|
|
64
111
|
}
|
|
65
112
|
},
|
|
66
|
-
|
|
67
|
-
* Get account information for a user
|
|
68
|
-
* @param username The username to get account info for
|
|
69
|
-
* @returns The account information
|
|
70
|
-
*/
|
|
71
|
-
getAccountInfo: async username => {
|
|
113
|
+
async getUserProfile(token) {
|
|
72
114
|
try {
|
|
73
|
-
|
|
74
|
-
|
|
75
|
-
username
|
|
76
|
-
}
|
|
77
|
-
});
|
|
78
|
-
return response.AccountInfo;
|
|
79
|
-
} catch (error) {
|
|
80
|
-
console.error('Error getting account info:', error);
|
|
81
|
-
return null;
|
|
82
|
-
}
|
|
83
|
-
},
|
|
84
|
-
/**
|
|
85
|
-
* Get API URL and token for a user
|
|
86
|
-
* @param params The parameters for the request
|
|
87
|
-
* @returns The API URL and token
|
|
88
|
-
*/
|
|
89
|
-
getApiUrl: async params => {
|
|
90
|
-
try {
|
|
91
|
-
const response = await onairosApi.post('getAPIUrlMobile', {
|
|
92
|
-
Info: {
|
|
93
|
-
storage: 'local',
|
|
94
|
-
appId: params.appId,
|
|
95
|
-
confirmations: params.confirmations,
|
|
96
|
-
developerURL: 'devURL',
|
|
97
|
-
EncryptedUserPin: params.encryptedModelKey,
|
|
98
|
-
account: params.username,
|
|
99
|
-
proofMode: false
|
|
100
|
-
}
|
|
101
|
-
});
|
|
102
|
-
if (response && response.apiUrl && response.token) {
|
|
115
|
+
var _response$data2;
|
|
116
|
+
if (isDevelopmentMode()) {
|
|
103
117
|
return {
|
|
104
|
-
|
|
105
|
-
|
|
118
|
+
username: 'demo_user',
|
|
119
|
+
platforms: ['instagram', 'youtube'],
|
|
120
|
+
createdAt: Date.now()
|
|
106
121
|
};
|
|
107
|
-
} else {
|
|
108
|
-
throw new Error('Invalid response from getAPIUrlMobile');
|
|
109
122
|
}
|
|
123
|
+
apiInstance.defaults.headers.common['Authorization'] = `Bearer ${token}`;
|
|
124
|
+
const response = await this.get('user/profile');
|
|
125
|
+
return (_response$data2 = response.data) === null || _response$data2 === void 0 ? void 0 : _response$data2.data;
|
|
110
126
|
} catch (error) {
|
|
111
|
-
console.error('Error
|
|
127
|
+
console.error('Error fetching user profile:', error);
|
|
128
|
+
if (isDevelopmentMode()) {
|
|
129
|
+
return {
|
|
130
|
+
username: 'demo_user',
|
|
131
|
+
platforms: ['instagram', 'youtube'],
|
|
132
|
+
createdAt: Date.now()
|
|
133
|
+
};
|
|
134
|
+
}
|
|
112
135
|
throw error;
|
|
113
136
|
}
|
|
114
137
|
}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"names":["axios","
|
|
1
|
+
{"version":3,"names":["axios","Platform","API_ENDPOINTS","isDevelopmentMode","__DEV__","process","env","NODE_ENV","createMockResponse","data","Promise","resolve","status","statusText","headers","config","apiInstance","create","baseURL","base","timeout","interceptors","response","use","error","console","warn","success","mockData","reject","onairosApi","get","url","OS","post","validateCredentials","username","_response$data","log","getUserProfile","token","_response$data2","platforms","createdAt","Date","now","defaults","common"],"sourceRoot":"..\\..\\..\\src","sources":["api/index.ts"],"mappings":"AAAA,OAAOA,KAAK,MAA4D,OAAO;AAC/E,SAASC,QAAQ,QAAQ,cAAc;AACvC,SAASC,aAAa,QAAQ,cAAc;;AAE5C;AACA,MAAMC,iBAAiB,GAAGA,CAAA,KAAM;EAC9B,OAAOC,OAAO,IAAIC,OAAO,CAACC,GAAG,CAACC,QAAQ,KAAK,aAAa;AAC1D,CAAC;;AAED;AACA,MAAMC,kBAAkB,GAAOC,IAAO,IAAgC;EACpE,OAAOC,OAAO,CAACC,OAAO,CAAC;IAAEF,IAAI;IAAEG,MAAM,EAAE,GAAG;IAAEC,UAAU,EAAE,IAAI;IAAEC,OAAO,EAAE,CAAC,CAAC;IAAEC,MAAM,EAAE,CAAC;EAAS,CAAC,CAAC;AACjG,CAAC;;AAED;AACA,MAAMC,WAA0B,GAAGhB,KAAK,CAACiB,MAAM,CAAC;EAC9CC,OAAO,EAAEhB,aAAa,CAACiB,IAAI;EAC3BC,OAAO,EAAE,KAAK;EACdN,OAAO,EAAE;IACP,cAAc,EAAE,kBAAkB;IAClC,QAAQ,EAAE;EACZ;AACF,CAAC,CAAC;;AAEF;AACAE,WAAW,CAACK,YAAY,CAACC,QAAQ,CAACC,GAAG,CAClCD,QAAQ,IAAKA,QAAQ,EACrBE,KAAK,IAAK;EACT,IAAIrB,iBAAiB,CAAC,CAAC,EAAE;IACvBsB,OAAO,CAACC,IAAI,CAAC,gDAAgD,EAAEF,KAAK,CAAC;IACrE,OAAOhB,kBAAkB,CAAC;MAAEmB,OAAO,EAAE,IAAI;MAAElB,IAAI,EAAE;QAAEmB,QAAQ,EAAE;MAAK;IAAE,CAAC,CAAC;EACxE;EACA,OAAOlB,OAAO,CAACmB,MAAM,CAACL,KAAK,CAAC;AAC9B,CACF,CAAC;;AAED;AACA,OAAO,MAAMM,UAAU,GAAG;EACxB;EACA,MAAMC,GAAGA,CAAUC,GAAW,EAA6B;IACzD,IAAI;MACF,IAAI/B,QAAQ,CAACgC,EAAE,KAAK,KAAK,IAAI9B,iBAAiB,CAAC,CAAC,EAAE;QAChD,OAAOK,kBAAkB,CAAI;UAAEmB,OAAO,EAAE,IAAI;UAAElB,IAAI,EAAE;YAAEmB,QAAQ,EAAE;UAAK;QAAE,CAAiB,CAAC;MAC3F;MACA,OAAO,MAAMZ,WAAW,CAACe,GAAG,CAAIC,GAAG,CAAC;IACtC,CAAC,CAAC,OAAOR,KAAK,EAAE;MACdC,OAAO,CAACD,KAAK,CAAC,OAAOQ,GAAG,SAAS,EAAER,KAAK,CAAC;MACzC,IAAIrB,iBAAiB,CAAC,CAAC,EAAE;QACvB,OAAOK,kBAAkB,CAAI;UAAEmB,OAAO,EAAE,IAAI;UAAElB,IAAI,EAAE;YAAEmB,QAAQ,EAAE;UAAK;QAAE,CAAiB,CAAC;MAC3F;MACA,MAAMJ,KAAK;IACb;EACF,CAAC;EAED,MAAMU,IAAIA,CAAUF,GAAW,EAAEvB,IAAS,EAA6B;IACrE,IAAI;MACF,IAAIR,QAAQ,CAACgC,EAAE,KAAK,KAAK,IAAI9B,iBAAiB,CAAC,CAAC,EAAE;QAChD,OAAOK,kBAAkB,CAAI;UAAEmB,OAAO,EAAE,IAAI;UAAElB,IAAI,EAAE;YAAEmB,QAAQ,EAAE;UAAK;QAAE,CAAiB,CAAC;MAC3F;MACA,OAAO,MAAMZ,WAAW,CAACkB,IAAI,CAAIF,GAAG,EAAEvB,IAAI,CAAC;IAC7C,CAAC,CAAC,OAAOe,KAAK,EAAE;MACdC,OAAO,CAACD,KAAK,CAAC,QAAQQ,GAAG,SAAS,EAAER,KAAK,CAAC;MAC1C,IAAIrB,iBAAiB,CAAC,CAAC,EAAE;QACvB,OAAOK,kBAAkB,CAAI;UAAEmB,OAAO,EAAE,IAAI;UAAElB,IAAI,EAAE;YAAEmB,QAAQ,EAAE;UAAK;QAAE,CAAiB,CAAC;MAC3F;MACA,MAAMJ,KAAK;IACb;EACF,CAAC;EAED;EACA,MAAMW,mBAAmBA,CAACC,QAAgB,EAAE;IAC1C,IAAI;MAAA,IAAAC,cAAA;MACF,IAAIlC,iBAAiB,CAAC,CAAC,EAAE;QACvBsB,OAAO,CAACa,GAAG,CAAC,4BAA4B,EAAEF,QAAQ,CAAC;QACnD,OAAO,IAAI;MACb;MAEA,MAAMd,QAAQ,GAAG,MAAM,IAAI,CAACY,IAAI,CAAC,UAAU,EAAE;QAAEE;MAAS,CAAC,CAAC;MAC1D,OAAO,EAAAC,cAAA,GAAAf,QAAQ,CAACb,IAAI,cAAA4B,cAAA,uBAAbA,cAAA,CAAeV,OAAO,KAAI,KAAK;IACxC,CAAC,CAAC,OAAOH,KAAK,EAAE;MACdC,OAAO,CAACD,KAAK,CAAC,+BAA+B,EAAEA,KAAK,CAAC;MACrD,OAAOrB,iBAAiB,CAAC,CAAC,CAAC,CAAC;IAC9B;EACF,CAAC;EAED,MAAMoC,cAAcA,CAACC,KAAa,EAAE;IAClC,IAAI;MAAA,IAAAC,eAAA;MACF,IAAItC,iBAAiB,CAAC,CAAC,EAAE;QACvB,OAAO;UACLiC,QAAQ,EAAE,WAAW;UACrBM,SAAS,EAAE,CAAC,WAAW,EAAE,SAAS,CAAC;UACnCC,SAAS,EAAEC,IAAI,CAACC,GAAG,CAAC;QACtB,CAAC;MACH;MAEA7B,WAAW,CAAC8B,QAAQ,CAAChC,OAAO,CAACiC,MAAM,CAAC,eAAe,CAAC,GAAG,UAAUP,KAAK,EAAE;MACxE,MAAMlB,QAAQ,GAAG,MAAM,IAAI,CAACS,GAAG,CAAC,cAAc,CAAC;MAC/C,QAAAU,eAAA,GAAOnB,QAAQ,CAACb,IAAI,cAAAgC,eAAA,uBAAbA,eAAA,CAAehC,IAAI;IAC5B,CAAC,CAAC,OAAOe,KAAK,EAAE;MACdC,OAAO,CAACD,KAAK,CAAC,8BAA8B,EAAEA,KAAK,CAAC;MACpD,IAAIrB,iBAAiB,CAAC,CAAC,EAAE;QACvB,OAAO;UACLiC,QAAQ,EAAE,WAAW;UACrBM,SAAS,EAAE,CAAC,WAAW,EAAE,SAAS,CAAC;UACnCC,SAAS,EAAEC,IAAI,CAACC,GAAG,CAAC;QACtB,CAAC;MACH;MACA,MAAMrB,KAAK;IACb;EACF;AACF,CAAC","ignoreList":[]}
|
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
import React, { useState, useCallback } from 'react';
|
|
2
|
-
import { TouchableOpacity, Text, StyleSheet, View, ActivityIndicator
|
|
2
|
+
import { TouchableOpacity, Text, StyleSheet, View, ActivityIndicator } from 'react-native';
|
|
3
3
|
import { UniversalOnboarding } from './UniversalOnboarding';
|
|
4
4
|
import { Overlay } from './Overlay';
|
|
5
5
|
import { hasCredentials, getCredentials, deleteCredentials as clearCredentials } from '../utils/secureStorage';
|
|
@@ -41,6 +41,7 @@ export const OnairosButton = ({
|
|
|
41
41
|
const shouldProceed = await preCheck();
|
|
42
42
|
if (!shouldProceed) {
|
|
43
43
|
onRejection === null || onRejection === void 0 || onRejection('Precheck validation failed');
|
|
44
|
+
setIsLoading(false);
|
|
44
45
|
return;
|
|
45
46
|
}
|
|
46
47
|
}
|
|
@@ -50,32 +51,39 @@ export const OnairosButton = ({
|
|
|
50
51
|
if (hasStoredCreds) {
|
|
51
52
|
// If credentials exist, fetch them and verify
|
|
52
53
|
const credentials = await getCredentials();
|
|
53
|
-
if (!credentials || !credentials.username
|
|
54
|
+
if (!credentials || !credentials.username) {
|
|
54
55
|
// Invalid credentials, clear and start fresh
|
|
55
56
|
await clearCredentials();
|
|
56
57
|
setShowOnboarding(true);
|
|
58
|
+
setIsLoading(false);
|
|
57
59
|
return;
|
|
58
60
|
}
|
|
61
|
+
try {
|
|
62
|
+
// Validate credentials with server - catch errors here to prevent crashing
|
|
63
|
+
const isValid = await onairosApi.validateCredentials(credentials.username);
|
|
64
|
+
if (!isValid) {
|
|
65
|
+
// Clear invalid credentials
|
|
66
|
+
await clearCredentials();
|
|
67
|
+
setShowOnboarding(true);
|
|
68
|
+
setIsLoading(false);
|
|
69
|
+
return;
|
|
70
|
+
}
|
|
59
71
|
|
|
60
|
-
|
|
61
|
-
|
|
62
|
-
|
|
63
|
-
|
|
64
|
-
|
|
72
|
+
// Store and display overlay with valid credentials
|
|
73
|
+
setStoredCredentials(credentials);
|
|
74
|
+
setShowOverlay(true);
|
|
75
|
+
} catch (validationError) {
|
|
76
|
+
console.warn('Validation error, proceeding to onboarding:', validationError);
|
|
65
77
|
setShowOnboarding(true);
|
|
66
|
-
return;
|
|
67
78
|
}
|
|
68
|
-
|
|
69
|
-
// Store and display overlay with valid credentials
|
|
70
|
-
setStoredCredentials(credentials);
|
|
71
|
-
setShowOverlay(true);
|
|
72
79
|
} else {
|
|
73
80
|
// If no credentials, show onboarding
|
|
74
81
|
setShowOnboarding(true);
|
|
75
82
|
}
|
|
76
83
|
} catch (error) {
|
|
77
84
|
console.error('Error during button press flow:', error);
|
|
78
|
-
|
|
85
|
+
// Fall back to onboarding on error
|
|
86
|
+
setShowOnboarding(true);
|
|
79
87
|
onRejection === null || onRejection === void 0 || onRejection(error instanceof Error ? error.message : 'Unknown error');
|
|
80
88
|
} finally {
|
|
81
89
|
setIsLoading(false);
|
|
@@ -124,7 +132,6 @@ export const OnairosButton = ({
|
|
|
124
132
|
requestData: requestData,
|
|
125
133
|
returnLink: returnLink,
|
|
126
134
|
onComplete: handleOnboardingComplete,
|
|
127
|
-
preferredPlatform: preferredPlatform,
|
|
128
135
|
debug: debug,
|
|
129
136
|
test: testMode
|
|
130
137
|
}), showOverlay && storedCredentials && /*#__PURE__*/React.createElement(Overlay, {
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"names":["React","useState","useCallback","TouchableOpacity","Text","StyleSheet","View","ActivityIndicator","
|
|
1
|
+
{"version":3,"names":["React","useState","useCallback","TouchableOpacity","Text","StyleSheet","View","ActivityIndicator","UniversalOnboarding","Overlay","hasCredentials","getCredentials","deleteCredentials","clearCredentials","onairosApi","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","isLoading","setIsLoading","isDarkMode","handlePress","shouldProceed","hasStoredCreds","credentials","username","isValid","validateCredentials","validationError","console","warn","error","Error","message","handleOnboardingComplete","apiUrl","token","data","handleOverlayResolved","buttonStyle","styles","button","pillButton","strokedButton","width","height","backgroundColor","darkButton","lightButton","swervButton","disabledButton","filter","Boolean","textStyle","buttonText","lightText","darkText","disabledText","createElement","style","onPress","disabled","accessibilityLabel","size","Fragment","visible","onClose","onComplete","test","modelKey","userPin","create","flexDirection","alignItems","justifyContent","paddingVertical","paddingHorizontal","borderRadius","borderWidth","borderColor","transform","rotate","opacity","fontSize","fontWeight","textAlign"],"sourceRoot":"..\\..\\..\\src","sources":["components/OnairosButton.tsx"],"mappings":"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","ignoreList":[]}
|