@onairos/react-native 2.1.1 → 3.0.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/lib/commonjs/api/index.js +102 -14
- package/lib/commonjs/api/index.js.map +1 -1
- package/lib/commonjs/components/Onairos.js +89 -0
- package/lib/commonjs/components/Onairos.js.map +1 -0
- package/lib/commonjs/components/OnairosButton.js +76 -29
- package/lib/commonjs/components/OnairosButton.js.map +1 -1
- package/lib/commonjs/index.js +12 -276
- package/lib/commonjs/index.js.map +1 -1
- package/lib/commonjs/services/oauthService.js +145 -1
- package/lib/commonjs/services/oauthService.js.map +1 -1
- package/lib/commonjs/utils/encryption.js +45 -7
- package/lib/commonjs/utils/encryption.js.map +1 -1
- package/lib/module/api/index.js +103 -14
- package/lib/module/api/index.js.map +1 -1
- package/lib/module/components/Onairos.js +81 -0
- package/lib/module/components/Onairos.js.map +1 -0
- package/lib/module/components/OnairosButton.js +80 -32
- package/lib/module/components/OnairosButton.js.map +1 -1
- package/lib/module/index.js +43 -8
- package/lib/module/index.js.map +1 -1
- package/lib/module/services/oauthService.js +144 -0
- package/lib/module/services/oauthService.js.map +1 -1
- package/lib/module/utils/encryption.js +43 -6
- package/lib/module/utils/encryption.js.map +1 -1
- package/package.json +1 -1
- package/src/api/index.ts +113 -20
- package/src/components/Onairos.tsx +117 -0
- package/src/components/OnairosButton.tsx +100 -32
- package/src/index.ts +19 -5
- package/src/services/oauthService.ts +174 -0
- package/src/types/index.ts +38 -7
- package/src/utils/encryption.ts +45 -6
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"names":["Linking","Platform","updateCredentials","sha256","OAUTH_CONFIGS","instagram","clientId","redirectUri","scope","authorizationEndpoint","tokenEndpoint","responseType","youtube","pinterest","reddit","generateState","randomValue","Math","random","toString","substring","initializeOAuthService","addEventListener","handleDeepLink","cleanupOAuthService","OS","removeEventListener","currentOAuthState","currentOAuthPlatform","currentOAuthResolve","currentOAuthReject","event","url","startsWith","platform","split","params","URL","searchParams","code","get","state","error","Error","tokenResult","exchangeCodeForToken","console","config","URLSearchParams","grant_type","redirect_uri","client_id","response","fetch","method","headers","body","data","json","ok","userInfo","fetchUserInfo","access_token","token","refreshToken","refresh_token","expiresIn","expires_in","username","userId","id","accessToken","endpoint","Authorization","items","snippet","title","full_name","name","connectPlatform","Promise","resolve","reject","authUrl","append","openURL","disconnectPlatform","credentials","platforms","updatedPlatforms","result","storePlatformConnection","connectionData"],"sourceRoot":"..\\..\\..\\src","sources":["services/oauthService.ts"],"mappings":"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","ignoreList":[]}
|
|
1
|
+
{"version":3,"names":["Linking","Platform","updateCredentials","sha256","onairosApi","OAUTH_CONFIGS","instagram","clientId","redirectUri","scope","authorizationEndpoint","tokenEndpoint","responseType","youtube","pinterest","reddit","generateState","randomValue","Math","random","toString","substring","initializeOAuthService","addEventListener","handleDeepLink","cleanupOAuthService","OS","removeEventListener","currentOAuthState","currentOAuthPlatform","currentOAuthResolve","currentOAuthReject","event","url","startsWith","platform","split","params","URL","searchParams","code","get","state","error","Error","tokenResult","exchangeCodeForToken","console","config","URLSearchParams","grant_type","redirect_uri","client_id","response","fetch","method","headers","body","data","json","ok","userInfo","fetchUserInfo","access_token","token","refreshToken","refresh_token","expiresIn","expires_in","username","userId","id","accessToken","endpoint","Authorization","items","snippet","title","full_name","name","connectPlatform","Promise","resolve","reject","authUrl","append","openURL","disconnectPlatform","credentials","platforms","updatedPlatforms","result","storePlatformConnection","connectionData","OAuthService","_apiBaseUrl","log","authData","_getAuthorizationData","accountName","success","_launchOAuthFlow","toLowerCase","userName","undefined","message","appId","e","warn","post","callbackUrlPattern","canOpen","canOpenURL","setTimeout","handleCallback","urlParts"],"sourceRoot":"..\\..\\..\\src","sources":["services/oauthService.ts"],"mappings":"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","ignoreList":[]}
|
|
@@ -1,24 +1,61 @@
|
|
|
1
|
-
import { RSA } from 'react-native-rsa-native';
|
|
2
1
|
import { onairosApi } from '../api';
|
|
3
|
-
|
|
2
|
+
/**
|
|
3
|
+
* Encrypt a model key using RSA with a public key
|
|
4
|
+
* @param publicKey The public key to encrypt with
|
|
5
|
+
* @param modelKey The model key to encrypt
|
|
6
|
+
* @returns The encrypted model key
|
|
7
|
+
*/
|
|
8
|
+
export const encryptModelKey = (publicKey, modelKey) => {
|
|
4
9
|
try {
|
|
5
|
-
|
|
6
|
-
|
|
10
|
+
console.log('Encrypting model key');
|
|
11
|
+
if (!publicKey || !modelKey) {
|
|
12
|
+
throw new Error('Public key or model key is missing');
|
|
13
|
+
}
|
|
14
|
+
|
|
15
|
+
// In a production environment, this would use RSA encryption
|
|
16
|
+
// For now, we'll use a mock implementation
|
|
17
|
+
// return RSA.encrypt(modelKey, publicKey);
|
|
18
|
+
|
|
19
|
+
// Return a fake encrypted value
|
|
20
|
+
return `encrypted_${modelKey}_${Date.now()}`;
|
|
7
21
|
} catch (error) {
|
|
8
22
|
console.error('Error encrypting model key:', error);
|
|
9
23
|
throw error;
|
|
10
24
|
}
|
|
11
25
|
};
|
|
26
|
+
|
|
27
|
+
/**
|
|
28
|
+
* Get the server's public key
|
|
29
|
+
* @returns The server's public key
|
|
30
|
+
*/
|
|
12
31
|
export const getServerPublicKey = async () => {
|
|
13
32
|
try {
|
|
14
33
|
const response = await onairosApi.get('public/getPublicKey');
|
|
15
34
|
if (response && response.publicKey) {
|
|
16
35
|
return response.publicKey;
|
|
36
|
+
} else {
|
|
37
|
+
throw new Error('No public key found in response');
|
|
17
38
|
}
|
|
18
|
-
throw new Error('Server response does not contain publicKey field');
|
|
19
39
|
} catch (error) {
|
|
20
40
|
console.error('Error getting server public key:', error);
|
|
21
|
-
|
|
41
|
+
// For testing, return a mock public key
|
|
42
|
+
return 'mock_public_key_for_testing';
|
|
43
|
+
}
|
|
44
|
+
};
|
|
45
|
+
|
|
46
|
+
/**
|
|
47
|
+
* Hash a string using SHA-256
|
|
48
|
+
* @param input The string to hash
|
|
49
|
+
* @returns The hashed string
|
|
50
|
+
*/
|
|
51
|
+
export const hashString = async input => {
|
|
52
|
+
try {
|
|
53
|
+
// In a production environment, this would use a proper hashing function
|
|
54
|
+
// For now, we'll return a mock hash
|
|
55
|
+
return `hash_${input.replace(/\s+/g, '_')}_${Date.now()}`;
|
|
56
|
+
} catch (error) {
|
|
57
|
+
console.error('Error hashing string:', error);
|
|
58
|
+
return `fallback_hash_${Date.now()}`;
|
|
22
59
|
}
|
|
23
60
|
};
|
|
24
61
|
//# sourceMappingURL=encryption.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"names":["
|
|
1
|
+
{"version":3,"names":["onairosApi","encryptModelKey","publicKey","modelKey","console","log","Error","Date","now","error","getServerPublicKey","response","get","hashString","input","replace"],"sourceRoot":"..\\..\\..\\src","sources":["utils/encryption.ts"],"mappings":"AAAA,SAASA,UAAU,QAAQ,QAAQ;AAGnC;AACA;AACA;AACA;AACA;AACA;AACA,OAAO,MAAMC,eAAe,GAAGA,CAACC,SAAiB,EAAEC,QAAgB,KAAa;EAC9E,IAAI;IACFC,OAAO,CAACC,GAAG,CAAC,sBAAsB,CAAC;IAEnC,IAAI,CAACH,SAAS,IAAI,CAACC,QAAQ,EAAE;MAC3B,MAAM,IAAIG,KAAK,CAAC,oCAAoC,CAAC;IACvD;;IAEA;IACA;IACA;;IAEA;IACA,OAAO,aAAaH,QAAQ,IAAII,IAAI,CAACC,GAAG,CAAC,CAAC,EAAE;EAC9C,CAAC,CAAC,OAAOC,KAAK,EAAE;IACdL,OAAO,CAACK,KAAK,CAAC,6BAA6B,EAAEA,KAAK,CAAC;IACnD,MAAMA,KAAK;EACb;AACF,CAAC;;AAED;AACA;AACA;AACA;AACA,OAAO,MAAMC,kBAAkB,GAAG,MAAAA,CAAA,KAA6B;EAC7D,IAAI;IACF,MAAMC,QAAQ,GAAG,MAAMX,UAAU,CAACY,GAAG,CAAC,qBAAqB,CAAC;IAE5D,IAAID,QAAQ,IAAIA,QAAQ,CAACT,SAAS,EAAE;MAClC,OAAOS,QAAQ,CAACT,SAAS;IAC3B,CAAC,MAAM;MACL,MAAM,IAAII,KAAK,CAAC,iCAAiC,CAAC;IACpD;EACF,CAAC,CAAC,OAAOG,KAAK,EAAE;IACdL,OAAO,CAACK,KAAK,CAAC,kCAAkC,EAAEA,KAAK,CAAC;IACxD;IACA,OAAO,6BAA6B;EACtC;AACF,CAAC;;AAED;AACA;AACA;AACA;AACA;AACA,OAAO,MAAMI,UAAU,GAAG,MAAOC,KAAa,IAAsB;EAClE,IAAI;IACF;IACA;IACA,OAAO,QAAQA,KAAK,CAACC,OAAO,CAAC,MAAM,EAAE,GAAG,CAAC,IAAIR,IAAI,CAACC,GAAG,CAAC,CAAC,EAAE;EAC3D,CAAC,CAAC,OAAOC,KAAK,EAAE;IACdL,OAAO,CAACK,KAAK,CAAC,uBAAuB,EAAEA,KAAK,CAAC;IAC7C,OAAO,iBAAiBF,IAAI,CAACC,GAAG,CAAC,CAAC,EAAE;EACtC;AACF,CAAC","ignoreList":[]}
|
package/package.json
CHANGED
package/src/api/index.ts
CHANGED
|
@@ -1,33 +1,126 @@
|
|
|
1
1
|
import axios from 'axios';
|
|
2
2
|
|
|
3
|
-
|
|
4
|
-
|
|
5
|
-
|
|
6
|
-
|
|
7
|
-
|
|
8
|
-
|
|
9
|
-
|
|
10
|
-
|
|
11
|
-
|
|
12
|
-
|
|
3
|
+
/**
|
|
4
|
+
* Onairos API service for handling API requests
|
|
5
|
+
*/
|
|
6
|
+
export const onairosApi = {
|
|
7
|
+
baseUrl: 'https://api2.onairos.uk',
|
|
8
|
+
|
|
9
|
+
/**
|
|
10
|
+
* Make a GET request to the API
|
|
11
|
+
* @param endpoint The endpoint to request
|
|
12
|
+
* @returns The response data
|
|
13
|
+
*/
|
|
14
|
+
get: async (endpoint: string) => {
|
|
13
15
|
try {
|
|
14
|
-
const response = await axios.get(`${
|
|
16
|
+
const response = await axios.get(`${onairosApi.baseUrl}/${endpoint}`);
|
|
15
17
|
return response.data;
|
|
16
18
|
} catch (error) {
|
|
17
|
-
console.error(
|
|
19
|
+
console.error(`GET ${endpoint} error:`, error);
|
|
18
20
|
throw error;
|
|
19
21
|
}
|
|
20
|
-
}
|
|
21
|
-
|
|
22
|
-
|
|
22
|
+
},
|
|
23
|
+
|
|
24
|
+
/**
|
|
25
|
+
* Make a POST request to the API
|
|
26
|
+
* @param endpoint The endpoint to request
|
|
27
|
+
* @param data The data to send
|
|
28
|
+
* @returns The response data
|
|
29
|
+
*/
|
|
30
|
+
post: async (endpoint: string, data: any) => {
|
|
23
31
|
try {
|
|
24
|
-
const response = await axios.post(
|
|
32
|
+
const response = await axios.post(
|
|
33
|
+
`${onairosApi.baseUrl}/${endpoint}`,
|
|
34
|
+
data
|
|
35
|
+
);
|
|
25
36
|
return response.data;
|
|
26
37
|
} catch (error) {
|
|
27
|
-
console.error(
|
|
38
|
+
console.error(`POST ${endpoint} error:`, error);
|
|
39
|
+
throw error;
|
|
40
|
+
}
|
|
41
|
+
},
|
|
42
|
+
|
|
43
|
+
/**
|
|
44
|
+
* Get the server's public key for encryption
|
|
45
|
+
* @returns The server's public key
|
|
46
|
+
*/
|
|
47
|
+
getServerPublicKey: async () => {
|
|
48
|
+
try {
|
|
49
|
+
const response = await onairosApi.get('public/getPublicKey');
|
|
50
|
+
return response.publicKey;
|
|
51
|
+
} catch (error) {
|
|
52
|
+
console.error('Error getting server public key:', error);
|
|
53
|
+
return '';
|
|
54
|
+
}
|
|
55
|
+
},
|
|
56
|
+
|
|
57
|
+
/**
|
|
58
|
+
* Validate credentials with the server
|
|
59
|
+
* @param username The username to validate
|
|
60
|
+
* @returns Whether the credentials are valid
|
|
61
|
+
*/
|
|
62
|
+
validateCredentials: async (username: string) => {
|
|
63
|
+
try {
|
|
64
|
+
const response = await onairosApi.post('validate', { username });
|
|
65
|
+
return response.valid === true;
|
|
66
|
+
} catch (error) {
|
|
67
|
+
console.error('Error validating credentials:', error);
|
|
68
|
+
return false;
|
|
69
|
+
}
|
|
70
|
+
},
|
|
71
|
+
|
|
72
|
+
/**
|
|
73
|
+
* Get account information for a user
|
|
74
|
+
* @param username The username to get account info for
|
|
75
|
+
* @returns The account information
|
|
76
|
+
*/
|
|
77
|
+
getAccountInfo: async (username: string) => {
|
|
78
|
+
try {
|
|
79
|
+
const response = await onairosApi.post('getAccountInfo', {
|
|
80
|
+
Info: { username }
|
|
81
|
+
});
|
|
82
|
+
return response.AccountInfo;
|
|
83
|
+
} catch (error) {
|
|
84
|
+
console.error('Error getting account info:', error);
|
|
85
|
+
return null;
|
|
86
|
+
}
|
|
87
|
+
},
|
|
88
|
+
|
|
89
|
+
/**
|
|
90
|
+
* Get API URL and token for a user
|
|
91
|
+
* @param params The parameters for the request
|
|
92
|
+
* @returns The API URL and token
|
|
93
|
+
*/
|
|
94
|
+
getApiUrl: async (params: {
|
|
95
|
+
appId: string;
|
|
96
|
+
username: string;
|
|
97
|
+
encryptedModelKey: string;
|
|
98
|
+
confirmations: { [key: string]: boolean };
|
|
99
|
+
}) => {
|
|
100
|
+
try {
|
|
101
|
+
const response = await onairosApi.post('getAPIUrlMobile', {
|
|
102
|
+
Info: {
|
|
103
|
+
storage: 'local',
|
|
104
|
+
appId: params.appId,
|
|
105
|
+
confirmations: params.confirmations,
|
|
106
|
+
developerURL: 'devURL',
|
|
107
|
+
EncryptedUserPin: params.encryptedModelKey,
|
|
108
|
+
account: params.username,
|
|
109
|
+
proofMode: false,
|
|
110
|
+
},
|
|
111
|
+
});
|
|
112
|
+
|
|
113
|
+
if (response && response.apiUrl && response.token) {
|
|
114
|
+
return {
|
|
115
|
+
apiUrl: response.apiUrl,
|
|
116
|
+
token: response.token,
|
|
117
|
+
};
|
|
118
|
+
} else {
|
|
119
|
+
throw new Error('Invalid response from getAPIUrlMobile');
|
|
120
|
+
}
|
|
121
|
+
} catch (error) {
|
|
122
|
+
console.error('Error getting API URL:', error);
|
|
28
123
|
throw error;
|
|
29
124
|
}
|
|
30
125
|
}
|
|
31
|
-
}
|
|
32
|
-
|
|
33
|
-
export const onairosApi = new OnairosApi();
|
|
126
|
+
};
|
|
@@ -0,0 +1,117 @@
|
|
|
1
|
+
import React, { useState, useCallback, useEffect } from 'react';
|
|
2
|
+
import { Platform, View } from 'react-native';
|
|
3
|
+
import { OnairosButton } from './OnairosButton';
|
|
4
|
+
import type { OnairosButtonProps } from '../types';
|
|
5
|
+
import { hasCredentials, getCredentials } from '../utils/secureStorage';
|
|
6
|
+
|
|
7
|
+
export interface OnairosProps extends Omit<OnairosButtonProps, 'onResolved' | 'onRejection'> {
|
|
8
|
+
/**
|
|
9
|
+
* Callback function called when the Onairos flow completes successfully
|
|
10
|
+
* @param apiUrl The API URL for accessing the data
|
|
11
|
+
* @param token The authentication token
|
|
12
|
+
* @param userData The user data returned by the server
|
|
13
|
+
*/
|
|
14
|
+
onResolved?: (apiUrl: string, token: string, userData: any) => void;
|
|
15
|
+
|
|
16
|
+
/**
|
|
17
|
+
* Callback function called when the Onairos flow is rejected or fails
|
|
18
|
+
* @param error Optional error message
|
|
19
|
+
*/
|
|
20
|
+
onRejection?: (error?: string) => void;
|
|
21
|
+
|
|
22
|
+
/**
|
|
23
|
+
* Optional test mode flag - simplifies flows for testing
|
|
24
|
+
*/
|
|
25
|
+
testMode?: boolean;
|
|
26
|
+
|
|
27
|
+
/**
|
|
28
|
+
* Optional style for the container
|
|
29
|
+
*/
|
|
30
|
+
containerStyle?: any;
|
|
31
|
+
}
|
|
32
|
+
|
|
33
|
+
/**
|
|
34
|
+
* Main Onairos component - wraps OnairosButton with additional state management and logic
|
|
35
|
+
*/
|
|
36
|
+
export const Onairos: React.FC<OnairosProps> = ({
|
|
37
|
+
AppName,
|
|
38
|
+
returnLink,
|
|
39
|
+
requestData,
|
|
40
|
+
buttonType = 'normal',
|
|
41
|
+
buttonForm = 'default',
|
|
42
|
+
buttonWidth,
|
|
43
|
+
buttonHeight,
|
|
44
|
+
color,
|
|
45
|
+
hasStroke,
|
|
46
|
+
preferredPlatform,
|
|
47
|
+
onResolved,
|
|
48
|
+
onRejection,
|
|
49
|
+
testMode = false,
|
|
50
|
+
containerStyle,
|
|
51
|
+
}) => {
|
|
52
|
+
const [isInitialized, setIsInitialized] = useState(false);
|
|
53
|
+
const [hasExistingCredentials, setHasExistingCredentials] = useState(false);
|
|
54
|
+
|
|
55
|
+
const initialize = useCallback(async () => {
|
|
56
|
+
try {
|
|
57
|
+
// Check for existing credentials
|
|
58
|
+
const credentialsExist = await hasCredentials();
|
|
59
|
+
setHasExistingCredentials(credentialsExist);
|
|
60
|
+
|
|
61
|
+
if (credentialsExist) {
|
|
62
|
+
// Load credentials to verify they are valid
|
|
63
|
+
const credentials = await getCredentials();
|
|
64
|
+
if (!credentials || !credentials.username || !credentials.userPin) {
|
|
65
|
+
setHasExistingCredentials(false);
|
|
66
|
+
}
|
|
67
|
+
}
|
|
68
|
+
} catch (error) {
|
|
69
|
+
console.error('Error initializing Onairos:', error);
|
|
70
|
+
} finally {
|
|
71
|
+
setIsInitialized(true);
|
|
72
|
+
}
|
|
73
|
+
}, []);
|
|
74
|
+
|
|
75
|
+
useEffect(() => {
|
|
76
|
+
initialize();
|
|
77
|
+
}, [initialize]);
|
|
78
|
+
|
|
79
|
+
const handleResolved = useCallback((apiUrl: string, token: string, userData: any) => {
|
|
80
|
+
if (onResolved) {
|
|
81
|
+
onResolved(apiUrl, token, userData);
|
|
82
|
+
}
|
|
83
|
+
}, [onResolved]);
|
|
84
|
+
|
|
85
|
+
const handleRejection = useCallback((error?: string) => {
|
|
86
|
+
if (onRejection) {
|
|
87
|
+
onRejection(error);
|
|
88
|
+
}
|
|
89
|
+
}, [onRejection]);
|
|
90
|
+
|
|
91
|
+
if (!isInitialized) {
|
|
92
|
+
// Could render a loading state here if needed
|
|
93
|
+
return null;
|
|
94
|
+
}
|
|
95
|
+
|
|
96
|
+
return (
|
|
97
|
+
<View style={containerStyle}>
|
|
98
|
+
<OnairosButton
|
|
99
|
+
AppName={AppName}
|
|
100
|
+
returnLink={returnLink}
|
|
101
|
+
requestData={requestData}
|
|
102
|
+
buttonType={buttonType}
|
|
103
|
+
buttonForm={buttonForm}
|
|
104
|
+
buttonWidth={buttonWidth}
|
|
105
|
+
buttonHeight={buttonHeight}
|
|
106
|
+
color={color}
|
|
107
|
+
hasStroke={hasStroke}
|
|
108
|
+
enabled={true}
|
|
109
|
+
preferredPlatform={preferredPlatform}
|
|
110
|
+
onResolved={handleResolved}
|
|
111
|
+
onRejection={handleRejection}
|
|
112
|
+
preCheck={async () => true}
|
|
113
|
+
testMode={testMode}
|
|
114
|
+
/>
|
|
115
|
+
</View>
|
|
116
|
+
);
|
|
117
|
+
};
|
|
@@ -1,11 +1,25 @@
|
|
|
1
|
-
import React, { useState } from 'react';
|
|
2
|
-
import {
|
|
1
|
+
import React, { useState, useCallback } from 'react';
|
|
2
|
+
import {
|
|
3
|
+
TouchableOpacity,
|
|
4
|
+
Text,
|
|
5
|
+
StyleSheet,
|
|
6
|
+
View,
|
|
7
|
+
ViewStyle,
|
|
8
|
+
TextStyle,
|
|
9
|
+
Image,
|
|
10
|
+
ActivityIndicator,
|
|
11
|
+
Alert
|
|
12
|
+
} from 'react-native';
|
|
3
13
|
import { UniversalOnboarding } from './UniversalOnboarding';
|
|
4
14
|
import { Overlay } from './Overlay';
|
|
5
15
|
import { COLORS } from '../constants';
|
|
6
16
|
import type { OnairosButtonProps } from '../types';
|
|
7
|
-
import { hasCredentials, getCredentials } from '../utils/secureStorage';
|
|
17
|
+
import { hasCredentials, getCredentials, clearCredentials } from '../utils/secureStorage';
|
|
18
|
+
import { onairosApi } from '../api';
|
|
8
19
|
|
|
20
|
+
/**
|
|
21
|
+
* OnairosButton Component - A sign-in button similar to Google/Apple sign-in
|
|
22
|
+
*/
|
|
9
23
|
export const OnairosButton: React.FC<OnairosButtonProps> = ({
|
|
10
24
|
returnLink,
|
|
11
25
|
prefillUrl,
|
|
@@ -29,43 +43,77 @@ export const OnairosButton: React.FC<OnairosButtonProps> = ({
|
|
|
29
43
|
const [showOnboarding, setShowOnboarding] = useState(false);
|
|
30
44
|
const [showOverlay, setShowOverlay] = useState(false);
|
|
31
45
|
const [storedCredentials, setStoredCredentials] = useState<any>(null);
|
|
46
|
+
const [isLoading, setIsLoading] = useState(false);
|
|
32
47
|
|
|
33
48
|
const isDarkMode = color === 'black' || (!color && !hasStroke);
|
|
34
49
|
|
|
35
50
|
const handlePress = async () => {
|
|
36
|
-
if (!enabled) return;
|
|
37
|
-
|
|
38
|
-
|
|
39
|
-
|
|
40
|
-
|
|
41
|
-
|
|
42
|
-
|
|
51
|
+
if (!enabled || isLoading) return;
|
|
52
|
+
|
|
53
|
+
setIsLoading(true);
|
|
54
|
+
|
|
55
|
+
try {
|
|
56
|
+
if (preCheck) {
|
|
57
|
+
const shouldProceed = await preCheck();
|
|
58
|
+
if (!shouldProceed) {
|
|
59
|
+
onRejection?.('Precheck validation failed');
|
|
60
|
+
return;
|
|
61
|
+
}
|
|
43
62
|
}
|
|
44
|
-
}
|
|
45
63
|
|
|
46
|
-
|
|
47
|
-
|
|
48
|
-
|
|
49
|
-
|
|
50
|
-
|
|
51
|
-
|
|
52
|
-
|
|
53
|
-
|
|
54
|
-
|
|
55
|
-
|
|
56
|
-
|
|
64
|
+
// Check if credentials exist
|
|
65
|
+
const hasStoredCreds = await hasCredentials();
|
|
66
|
+
|
|
67
|
+
if (hasStoredCreds) {
|
|
68
|
+
// If credentials exist, fetch them and verify
|
|
69
|
+
const credentials = await getCredentials();
|
|
70
|
+
|
|
71
|
+
if (!credentials || !credentials.username || !credentials.userPin) {
|
|
72
|
+
// Invalid credentials, clear and start fresh
|
|
73
|
+
await clearCredentials();
|
|
74
|
+
setShowOnboarding(true);
|
|
75
|
+
return;
|
|
76
|
+
}
|
|
77
|
+
|
|
78
|
+
// Validate credentials with server
|
|
79
|
+
const isValid = await onairosApi.validateCredentials(credentials.username);
|
|
80
|
+
|
|
81
|
+
if (!isValid) {
|
|
82
|
+
// Clear invalid credentials
|
|
83
|
+
await clearCredentials();
|
|
84
|
+
setShowOnboarding(true);
|
|
85
|
+
return;
|
|
86
|
+
}
|
|
87
|
+
|
|
88
|
+
// Store and display overlay with valid credentials
|
|
89
|
+
setStoredCredentials(credentials);
|
|
90
|
+
setShowOverlay(true);
|
|
91
|
+
} else {
|
|
92
|
+
// If no credentials, show onboarding
|
|
93
|
+
setShowOnboarding(true);
|
|
94
|
+
}
|
|
95
|
+
} catch (error) {
|
|
96
|
+
console.error('Error during button press flow:', error);
|
|
97
|
+
Alert.alert('Error', 'An error occurred. Please try again later.');
|
|
98
|
+
onRejection?.(error instanceof Error ? error.message : 'Unknown error');
|
|
99
|
+
} finally {
|
|
100
|
+
setIsLoading(false);
|
|
57
101
|
}
|
|
58
102
|
};
|
|
59
103
|
|
|
60
|
-
const handleOnboardingComplete = (apiUrl: string, token: string, data: any) => {
|
|
104
|
+
const handleOnboardingComplete = useCallback((apiUrl: string, token: string, data: any) => {
|
|
61
105
|
setShowOnboarding(false);
|
|
62
|
-
onResolved
|
|
63
|
-
|
|
106
|
+
if (onResolved) {
|
|
107
|
+
onResolved(apiUrl, token, data);
|
|
108
|
+
}
|
|
109
|
+
}, [onResolved]);
|
|
64
110
|
|
|
65
|
-
const handleOverlayResolved = (apiUrl: string, token: string, data: any) => {
|
|
111
|
+
const handleOverlayResolved = useCallback((apiUrl: string, token: string, data: any) => {
|
|
66
112
|
setShowOverlay(false);
|
|
67
|
-
onResolved
|
|
68
|
-
|
|
113
|
+
if (onResolved) {
|
|
114
|
+
onResolved(apiUrl, token, data);
|
|
115
|
+
}
|
|
116
|
+
}, [onResolved]);
|
|
69
117
|
|
|
70
118
|
// Calculate button styles based on props
|
|
71
119
|
const buttonStyle: ViewStyle[] = [
|
|
@@ -79,12 +127,14 @@ export const OnairosButton: React.FC<OnairosButtonProps> = ({
|
|
|
79
127
|
color ? { backgroundColor: color } : null,
|
|
80
128
|
isDarkMode ? styles.darkButton : styles.lightButton,
|
|
81
129
|
swerv && styles.swervButton,
|
|
130
|
+
!enabled && styles.disabledButton
|
|
82
131
|
].filter(Boolean) as ViewStyle[];
|
|
83
132
|
|
|
84
133
|
// Calculate text styles based on props
|
|
85
134
|
const textStyle: TextStyle[] = [
|
|
86
135
|
styles.buttonText,
|
|
87
136
|
isDarkMode ? styles.lightText : styles.darkText,
|
|
137
|
+
!enabled && styles.disabledText
|
|
88
138
|
].filter(Boolean) as TextStyle[];
|
|
89
139
|
|
|
90
140
|
return (
|
|
@@ -92,17 +142,29 @@ export const OnairosButton: React.FC<OnairosButtonProps> = ({
|
|
|
92
142
|
<TouchableOpacity
|
|
93
143
|
style={buttonStyle}
|
|
94
144
|
onPress={handlePress}
|
|
95
|
-
disabled={!enabled}
|
|
145
|
+
disabled={!enabled || isLoading}
|
|
96
146
|
accessibilityLabel={`Sign in with Onairos`}
|
|
97
147
|
>
|
|
98
|
-
{
|
|
99
|
-
|
|
148
|
+
{isLoading ? (
|
|
149
|
+
<ActivityIndicator
|
|
150
|
+
size="small"
|
|
151
|
+
color={isDarkMode ? '#fff' : '#000'}
|
|
152
|
+
/>
|
|
153
|
+
) : (
|
|
154
|
+
<>
|
|
155
|
+
{/* Optional Onairos logo could be added here */}
|
|
156
|
+
<Text style={textStyle}>Sign in with Onairos</Text>
|
|
157
|
+
</>
|
|
158
|
+
)}
|
|
100
159
|
</TouchableOpacity>
|
|
101
160
|
|
|
102
161
|
{showOnboarding && (
|
|
103
162
|
<UniversalOnboarding
|
|
104
163
|
visible={showOnboarding}
|
|
105
|
-
onClose={() =>
|
|
164
|
+
onClose={() => {
|
|
165
|
+
setShowOnboarding(false);
|
|
166
|
+
onRejection?.('User closed onboarding');
|
|
167
|
+
}}
|
|
106
168
|
AppName={AppName}
|
|
107
169
|
requestData={requestData}
|
|
108
170
|
returnLink={returnLink}
|
|
@@ -153,6 +215,9 @@ const styles = StyleSheet.create({
|
|
|
153
215
|
backgroundColor: '#fff',
|
|
154
216
|
borderColor: '#000',
|
|
155
217
|
},
|
|
218
|
+
disabledButton: {
|
|
219
|
+
opacity: 0.6,
|
|
220
|
+
},
|
|
156
221
|
buttonText: {
|
|
157
222
|
fontSize: 16,
|
|
158
223
|
fontWeight: '600',
|
|
@@ -164,4 +229,7 @@ const styles = StyleSheet.create({
|
|
|
164
229
|
darkText: {
|
|
165
230
|
color: '#000',
|
|
166
231
|
},
|
|
232
|
+
disabledText: {
|
|
233
|
+
opacity: 0.7,
|
|
234
|
+
},
|
|
167
235
|
});
|
package/src/index.ts
CHANGED
|
@@ -1,7 +1,13 @@
|
|
|
1
|
-
|
|
1
|
+
/**
|
|
2
|
+
* Onairos React Native SDK
|
|
3
|
+
* A React Native implementation for Onairos personalized data integration
|
|
4
|
+
*/
|
|
5
|
+
|
|
6
|
+
// Main components
|
|
7
|
+
export { Onairos } from './components/Onairos';
|
|
2
8
|
export { OnairosButton } from './components/OnairosButton';
|
|
9
|
+
export { Overlay as OnairosOverlay } from './components/Overlay';
|
|
3
10
|
export { UniversalOnboarding } from './components/UniversalOnboarding';
|
|
4
|
-
export { Overlay } from './components/Overlay';
|
|
5
11
|
|
|
6
12
|
// Screen Components
|
|
7
13
|
export { ConnectorScreen } from './components/screens/ConnectorScreen';
|
|
@@ -15,8 +21,8 @@ export { OnboardingHeader } from './components/onboarding/OnboardingHeader';
|
|
|
15
21
|
export { PinInput } from './components/onboarding/PinInput';
|
|
16
22
|
|
|
17
23
|
// Hooks
|
|
18
|
-
export { useConnections } from './hooks/useConnections';
|
|
19
24
|
export { useCredentials } from './hooks/useCredentials';
|
|
25
|
+
export { useConnections } from './hooks/useConnections';
|
|
20
26
|
|
|
21
27
|
// Utilities
|
|
22
28
|
export {
|
|
@@ -63,8 +69,10 @@ export {
|
|
|
63
69
|
// Types
|
|
64
70
|
export type {
|
|
65
71
|
OnairosButtonProps,
|
|
72
|
+
DataTier,
|
|
66
73
|
UniversalOnboardingProps,
|
|
67
74
|
ConnectionStatus,
|
|
75
|
+
OnairosCredentials,
|
|
68
76
|
PlatformListProps,
|
|
69
77
|
PinInputProps,
|
|
70
78
|
TrainingModalProps,
|
|
@@ -74,9 +82,15 @@ export type {
|
|
|
74
82
|
ApiResponse,
|
|
75
83
|
} from './types';
|
|
76
84
|
|
|
77
|
-
export type {
|
|
85
|
+
export type { StorageOptions } from './utils/secureStorage';
|
|
78
86
|
export type { OAuthConfig } from './services/oauthService';
|
|
79
87
|
export type { ApiErrorType, ApiError } from './utils/onairosApi';
|
|
80
88
|
|
|
81
89
|
// Constants
|
|
82
|
-
export { COLORS, PLATFORMS, API_ENDPOINTS, STORAGE_KEYS, PIN_REQUIREMENTS, DEEP_LINK_CONFIG } from './constants';
|
|
90
|
+
export { COLORS, PLATFORMS, API_ENDPOINTS, STORAGE_KEYS, PIN_REQUIREMENTS, DEEP_LINK_CONFIG } from './constants';
|
|
91
|
+
|
|
92
|
+
// API and Services
|
|
93
|
+
export { onairosApi } from './api';
|
|
94
|
+
export { OAuthService } from './services/OAuthService';
|
|
95
|
+
export * from './utils/secureStorage';
|
|
96
|
+
export * from './utils/encryption';
|