@onairos/react-native 2.0.5 → 2.0.8
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/components/OnairosButton.js +13 -15
- package/lib/commonjs/components/OnairosButton.js.map +1 -1
- package/lib/commonjs/hooks/useConnections.js +14 -8
- package/lib/commonjs/hooks/useConnections.js.map +1 -1
- package/lib/commonjs/hooks/useCredentials.js +16 -6
- package/lib/commonjs/hooks/useCredentials.js.map +1 -1
- package/lib/module/components/OnairosButton.js +13 -15
- package/lib/module/components/OnairosButton.js.map +1 -1
- package/lib/module/hooks/useConnections.js +14 -8
- package/lib/module/hooks/useConnections.js.map +1 -1
- package/lib/module/hooks/useCredentials.js +16 -6
- package/lib/module/hooks/useCredentials.js.map +1 -1
- package/lib/module/index.js +9 -11
- package/lib/module/index.js.map +1 -1
- package/package.json +1 -1
- package/src/components/OnairosButton.tsx +3 -15
- package/src/hooks/useConnections.ts +21 -16
- package/src/hooks/useCredentials.ts +18 -5
|
@@ -6,9 +6,8 @@ Object.defineProperty(exports, "__esModule", {
|
|
|
6
6
|
exports.OnairosButton = void 0;
|
|
7
7
|
var _react = _interopRequireWildcard(require("react"));
|
|
8
8
|
var _reactNative = require("react-native");
|
|
9
|
+
var _UniversalOnboarding = require("./UniversalOnboarding");
|
|
9
10
|
function _interopRequireWildcard(e, t) { if ("function" == typeof WeakMap) var r = new WeakMap(), n = new WeakMap(); return (_interopRequireWildcard = function (e, t) { if (!t && e && e.__esModule) return e; var o, i, f = { __proto__: null, default: e }; if (null === e || "object" != typeof e && "function" != typeof e) return f; if (o = t ? n : r) { if (o.has(e)) return o.get(e); o.set(e, f); } for (const t in e) "default" !== t && {}.hasOwnProperty.call(e, t) && ((i = (o = Object.defineProperty) && Object.getOwnPropertyDescriptor(e, t)) && (i.get || i.set) ? o(f, t, i) : f[t] = e[t]); return f; })(e, t); }
|
|
10
|
-
// import { UniversalOnboarding } from './UniversalOnboarding';
|
|
11
|
-
|
|
12
11
|
const OnairosButton = ({
|
|
13
12
|
returnLink,
|
|
14
13
|
prefillUrl,
|
|
@@ -39,18 +38,7 @@ const OnairosButton = ({
|
|
|
39
38
|
return;
|
|
40
39
|
}
|
|
41
40
|
}
|
|
42
|
-
|
|
43
|
-
// Temporarily disabled OAuth integration
|
|
44
|
-
console.log('OAuth integration temporarily disabled');
|
|
45
|
-
onRejection === null || onRejection === void 0 || onRejection();
|
|
46
|
-
/*
|
|
47
|
-
if (buttonForm === 'signup') {
|
|
48
|
-
setShowOnboarding(true);
|
|
49
|
-
} else {
|
|
50
|
-
// Handle login flow
|
|
51
|
-
// TODO: Implement login flow according to account.md
|
|
52
|
-
}
|
|
53
|
-
*/
|
|
41
|
+
setShowOnboarding(true);
|
|
54
42
|
};
|
|
55
43
|
const handleOnboardingComplete = (apiUrl, token, data) => {
|
|
56
44
|
setShowOnboarding(false);
|
|
@@ -70,7 +58,17 @@ const OnairosButton = ({
|
|
|
70
58
|
disabled: !enabled
|
|
71
59
|
}, /*#__PURE__*/_react.default.createElement(_reactNative.Text, {
|
|
72
60
|
style: textStyle
|
|
73
|
-
}, AppName))
|
|
61
|
+
}, AppName)), /*#__PURE__*/_react.default.createElement(_UniversalOnboarding.UniversalOnboarding, {
|
|
62
|
+
visible: showOnboarding,
|
|
63
|
+
onClose: () => setShowOnboarding(false),
|
|
64
|
+
AppName: AppName,
|
|
65
|
+
requestData: requestData,
|
|
66
|
+
returnLink: returnLink,
|
|
67
|
+
onComplete: handleOnboardingComplete,
|
|
68
|
+
preferredPlatform: preferredPlatform,
|
|
69
|
+
debug: debug,
|
|
70
|
+
test: testMode
|
|
71
|
+
}));
|
|
74
72
|
};
|
|
75
73
|
exports.OnairosButton = OnairosButton;
|
|
76
74
|
const styles = _reactNative.StyleSheet.create({
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"names":["_react","_interopRequireWildcard","require","_reactNative","e","t","WeakMap","r","n","__esModule","o","i","f","__proto__","default","has","get","set","hasOwnProperty","call","Object","defineProperty","getOwnPropertyDescriptor","OnairosButton","returnLink","prefillUrl","AppName","buttonType","requestData","buttonWidth","buttonHeight","hasStroke","enabled","buttonForm","onRejection","onResolved","preCheck","color","swerv","debug","preferredPlatform","testMode","showOnboarding","setShowOnboarding","useState","handlePress","shouldProceed","
|
|
1
|
+
{"version":3,"names":["_react","_interopRequireWildcard","require","_reactNative","_UniversalOnboarding","e","t","WeakMap","r","n","__esModule","o","i","f","__proto__","default","has","get","set","hasOwnProperty","call","Object","defineProperty","getOwnPropertyDescriptor","OnairosButton","returnLink","prefillUrl","AppName","buttonType","requestData","buttonWidth","buttonHeight","hasStroke","enabled","buttonForm","onRejection","onResolved","preCheck","color","swerv","debug","preferredPlatform","testMode","showOnboarding","setShowOnboarding","useState","handlePress","shouldProceed","handleOnboardingComplete","apiUrl","token","data","buttonStyle","styles","button","pillButton","strokedButton","width","height","backgroundColor","swervButton","filter","Boolean","textStyle","buttonText","strokedButtonText","customColorText","createElement","View","TouchableOpacity","style","onPress","disabled","Text","UniversalOnboarding","visible","onClose","onComplete","test","exports","StyleSheet","create","paddingVertical","paddingHorizontal","borderRadius","alignItems","justifyContent","borderWidth","borderColor","transform","rotate","fontSize","fontWeight"],"sourceRoot":"..\\..\\..\\src","sources":["components/OnairosButton.tsx"],"mappings":"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","ignoreList":[]}
|
|
@@ -12,7 +12,9 @@ const useConnections = () => {
|
|
|
12
12
|
const [isConnecting, setIsConnecting] = (0, _react.useState)(false);
|
|
13
13
|
const getConnectionStatus = (0, _react.useCallback)(async () => {
|
|
14
14
|
try {
|
|
15
|
-
const stored = await Keychain.getGenericPassword(
|
|
15
|
+
const stored = await Keychain.getGenericPassword({
|
|
16
|
+
service: _constants.STORAGE_KEYS.connections
|
|
17
|
+
});
|
|
16
18
|
if (stored) {
|
|
17
19
|
return JSON.parse(stored.password);
|
|
18
20
|
}
|
|
@@ -24,7 +26,9 @@ const useConnections = () => {
|
|
|
24
26
|
}, []);
|
|
25
27
|
const saveConnectionStatus = (0, _react.useCallback)(async status => {
|
|
26
28
|
try {
|
|
27
|
-
await Keychain.setGenericPassword(
|
|
29
|
+
await Keychain.setGenericPassword('connections', JSON.stringify(status), {
|
|
30
|
+
service: _constants.STORAGE_KEYS.connections
|
|
31
|
+
});
|
|
28
32
|
} catch (error) {
|
|
29
33
|
console.error('Error saving connection status:', error);
|
|
30
34
|
}
|
|
@@ -32,16 +36,17 @@ const useConnections = () => {
|
|
|
32
36
|
const connectPlatform = (0, _react.useCallback)(async platform => {
|
|
33
37
|
setIsConnecting(true);
|
|
34
38
|
try {
|
|
35
|
-
|
|
36
|
-
console.log(`OAuth integration temporarily disabled for ${platform}`);
|
|
39
|
+
console.log(`[Mock] Connecting to ${platform}`);
|
|
37
40
|
|
|
38
|
-
// Simulate
|
|
41
|
+
// Simulate connection delay
|
|
42
|
+
await new Promise(resolve => setTimeout(resolve, 1000));
|
|
39
43
|
const status = await getConnectionStatus();
|
|
40
44
|
status[platform] = {
|
|
41
|
-
userName: `
|
|
45
|
+
userName: `Mock User (${platform})`,
|
|
42
46
|
connected: true
|
|
43
47
|
};
|
|
44
48
|
await saveConnectionStatus(status);
|
|
49
|
+
console.log(`[Mock] Successfully connected to ${platform}`);
|
|
45
50
|
} catch (error) {
|
|
46
51
|
console.error(`Error connecting to ${platform}:`, error);
|
|
47
52
|
throw error;
|
|
@@ -61,15 +66,16 @@ const useConnections = () => {
|
|
|
61
66
|
}, [getConnectionStatus, saveConnectionStatus]);
|
|
62
67
|
const handleOAuthCallback = (0, _react.useCallback)(async (platform, data) => {
|
|
63
68
|
try {
|
|
69
|
+
console.log(`[Mock] Handling callback for ${platform}`);
|
|
64
70
|
const status = await getConnectionStatus();
|
|
65
71
|
status[platform] = {
|
|
66
|
-
userName: data.userName || `
|
|
72
|
+
userName: data.userName || `Mock User (${platform})`,
|
|
67
73
|
connected: true
|
|
68
74
|
};
|
|
69
75
|
await saveConnectionStatus(status);
|
|
70
76
|
return true;
|
|
71
77
|
} catch (error) {
|
|
72
|
-
console.error('Error handling
|
|
78
|
+
console.error('Error handling callback:', error);
|
|
73
79
|
return false;
|
|
74
80
|
}
|
|
75
81
|
}, [getConnectionStatus, saveConnectionStatus]);
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"names":["_react","require","Keychain","_interopRequireWildcard","_constants","e","t","WeakMap","r","n","__esModule","o","i","f","__proto__","default","has","get","set","hasOwnProperty","call","Object","defineProperty","getOwnPropertyDescriptor","useConnections","isConnecting","setIsConnecting","useState","getConnectionStatus","useCallback","stored","getGenericPassword","STORAGE_KEYS","connections","JSON","parse","password","error","console","saveConnectionStatus","status","setGenericPassword","stringify","connectPlatform","platform","log","userName","connected","disconnectPlatform","handleOAuthCallback","data","exports"],"sourceRoot":"..\\..\\..\\src","sources":["hooks/useConnections.ts"],"mappings":";;;;;;AAAA,IAAAA,MAAA,GAAAC,OAAA;
|
|
1
|
+
{"version":3,"names":["_react","require","Keychain","_interopRequireWildcard","_constants","e","t","WeakMap","r","n","__esModule","o","i","f","__proto__","default","has","get","set","hasOwnProperty","call","Object","defineProperty","getOwnPropertyDescriptor","useConnections","isConnecting","setIsConnecting","useState","getConnectionStatus","useCallback","stored","getGenericPassword","service","STORAGE_KEYS","connections","JSON","parse","password","error","console","saveConnectionStatus","status","setGenericPassword","stringify","connectPlatform","platform","log","Promise","resolve","setTimeout","userName","connected","disconnectPlatform","handleOAuthCallback","data","exports"],"sourceRoot":"..\\..\\..\\src","sources":["hooks/useConnections.ts"],"mappings":"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","ignoreList":[]}
|
|
@@ -11,7 +11,9 @@ function _interopRequireWildcard(e, t) { if ("function" == typeof WeakMap) var r
|
|
|
11
11
|
const useCredentials = () => {
|
|
12
12
|
const hasCredentials = (0, _react.useCallback)(async () => {
|
|
13
13
|
try {
|
|
14
|
-
const credentials = await Keychain.getGenericPassword(
|
|
14
|
+
const credentials = await Keychain.getGenericPassword({
|
|
15
|
+
service: _constants.STORAGE_KEYS.credentials
|
|
16
|
+
});
|
|
15
17
|
return !!credentials;
|
|
16
18
|
} catch (error) {
|
|
17
19
|
console.error('Error checking credentials:', error);
|
|
@@ -20,7 +22,9 @@ const useCredentials = () => {
|
|
|
20
22
|
}, []);
|
|
21
23
|
const getCredentials = (0, _react.useCallback)(async () => {
|
|
22
24
|
try {
|
|
23
|
-
const credentials = await Keychain.getGenericPassword(
|
|
25
|
+
const credentials = await Keychain.getGenericPassword({
|
|
26
|
+
service: _constants.STORAGE_KEYS.credentials
|
|
27
|
+
});
|
|
24
28
|
if (credentials) {
|
|
25
29
|
return JSON.parse(credentials.password);
|
|
26
30
|
}
|
|
@@ -32,11 +36,15 @@ const useCredentials = () => {
|
|
|
32
36
|
}, []);
|
|
33
37
|
const storeCredentials = (0, _react.useCallback)(async (username, userPin, accessToken) => {
|
|
34
38
|
try {
|
|
35
|
-
|
|
36
|
-
|
|
39
|
+
const options = {
|
|
40
|
+
accessControl: Keychain.ACCESS_CONTROL.BIOMETRY_ANY,
|
|
41
|
+
accessible: Keychain.ACCESSIBLE.WHEN_UNLOCKED,
|
|
42
|
+
service: _constants.STORAGE_KEYS.credentials
|
|
43
|
+
};
|
|
44
|
+
await Keychain.setGenericPassword(username, JSON.stringify({
|
|
37
45
|
userPin,
|
|
38
46
|
accessToken
|
|
39
|
-
}));
|
|
47
|
+
}), options);
|
|
40
48
|
return true;
|
|
41
49
|
} catch (error) {
|
|
42
50
|
console.error('Error storing credentials:', error);
|
|
@@ -45,7 +53,9 @@ const useCredentials = () => {
|
|
|
45
53
|
}, []);
|
|
46
54
|
const clearCredentials = (0, _react.useCallback)(async () => {
|
|
47
55
|
try {
|
|
48
|
-
await Keychain.resetGenericPassword(
|
|
56
|
+
await Keychain.resetGenericPassword({
|
|
57
|
+
service: _constants.STORAGE_KEYS.credentials
|
|
58
|
+
});
|
|
49
59
|
} catch (error) {
|
|
50
60
|
console.error('Error clearing credentials:', error);
|
|
51
61
|
}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"names":["_react","require","Keychain","_interopRequireWildcard","_constants","e","t","WeakMap","r","n","__esModule","o","i","f","__proto__","default","has","get","set","hasOwnProperty","call","Object","defineProperty","getOwnPropertyDescriptor","useCredentials","hasCredentials","useCallback","credentials","getGenericPassword","STORAGE_KEYS","error","console","getCredentials","JSON","parse","password","storeCredentials","username","userPin","accessToken","setGenericPassword","stringify","clearCredentials","resetGenericPassword","validateCredentials","response","fetch","method","headers","body","data","json","isValid","valid","exports"],"sourceRoot":"..\\..\\..\\src","sources":["hooks/useCredentials.ts"],"mappings":";;;;;;AAAA,IAAAA,MAAA,GAAAC,OAAA;AACA,IAAAC,QAAA,GAAAC,uBAAA,CAAAF,OAAA;AACA,IAAAG,UAAA,GAAAH,OAAA;AAA4C,SAAAE,wBAAAE,CAAA,EAAAC,CAAA,6BAAAC,OAAA,MAAAC,CAAA,OAAAD,OAAA,IAAAE,CAAA,OAAAF,OAAA,YAAAJ,uBAAA,YAAAA,CAAAE,CAAA,EAAAC,CAAA,SAAAA,CAAA,IAAAD,CAAA,IAAAA,CAAA,CAAAK,UAAA,SAAAL,CAAA,MAAAM,CAAA,EAAAC,CAAA,EAAAC,CAAA,KAAAC,SAAA,QAAAC,OAAA,EAAAV,CAAA,iBAAAA,CAAA,uBAAAA,CAAA,yBAAAA,CAAA,SAAAQ,CAAA,MAAAF,CAAA,GAAAL,CAAA,GAAAG,CAAA,GAAAD,CAAA,QAAAG,CAAA,CAAAK,GAAA,CAAAX,CAAA,UAAAM,CAAA,CAAAM,GAAA,CAAAZ,CAAA,GAAAM,CAAA,CAAAO,GAAA,CAAAb,CAAA,EAAAQ,CAAA,gBAAAP,CAAA,IAAAD,CAAA,gBAAAC,CAAA,OAAAa,cAAA,CAAAC,IAAA,CAAAf,CAAA,EAAAC,CAAA,OAAAM,CAAA,IAAAD,CAAA,GAAAU,MAAA,CAAAC,cAAA,KAAAD,MAAA,CAAAE,wBAAA,CAAAlB,CAAA,EAAAC,CAAA,OAAAM,CAAA,CAAAK,GAAA,IAAAL,CAAA,CAAAM,GAAA,IAAAP,CAAA,CAAAE,CAAA,EAAAP,CAAA,EAAAM,CAAA,IAAAC,CAAA,CAAAP,CAAA,IAAAD,CAAA,CAAAC,CAAA,WAAAO,CAAA,KAAAR,CAAA,EAAAC,CAAA;AAGrC,MAAMkB,cAAc,GAAGA,CAAA,KAAM;EAClC,MAAMC,cAAc,GAAG,IAAAC,kBAAW,EAAC,YAA8B;IAC/D,IAAI;MACF,MAAMC,WAAW,GAAG,MAAMzB,QAAQ,CAAC0B,kBAAkB,
|
|
1
|
+
{"version":3,"names":["_react","require","Keychain","_interopRequireWildcard","_constants","e","t","WeakMap","r","n","__esModule","o","i","f","__proto__","default","has","get","set","hasOwnProperty","call","Object","defineProperty","getOwnPropertyDescriptor","useCredentials","hasCredentials","useCallback","credentials","getGenericPassword","service","STORAGE_KEYS","error","console","getCredentials","JSON","parse","password","storeCredentials","username","userPin","accessToken","options","accessControl","ACCESS_CONTROL","BIOMETRY_ANY","accessible","ACCESSIBLE","WHEN_UNLOCKED","setGenericPassword","stringify","clearCredentials","resetGenericPassword","validateCredentials","response","fetch","method","headers","body","data","json","isValid","valid","exports"],"sourceRoot":"..\\..\\..\\src","sources":["hooks/useCredentials.ts"],"mappings":"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","ignoreList":[]}
|
|
@@ -1,7 +1,6 @@
|
|
|
1
1
|
import React, { useState } from 'react';
|
|
2
2
|
import { TouchableOpacity, Text, StyleSheet, View } from 'react-native';
|
|
3
|
-
|
|
4
|
-
|
|
3
|
+
import { UniversalOnboarding } from './UniversalOnboarding';
|
|
5
4
|
export const OnairosButton = ({
|
|
6
5
|
returnLink,
|
|
7
6
|
prefillUrl,
|
|
@@ -32,18 +31,7 @@ export const OnairosButton = ({
|
|
|
32
31
|
return;
|
|
33
32
|
}
|
|
34
33
|
}
|
|
35
|
-
|
|
36
|
-
// Temporarily disabled OAuth integration
|
|
37
|
-
console.log('OAuth integration temporarily disabled');
|
|
38
|
-
onRejection === null || onRejection === void 0 || onRejection();
|
|
39
|
-
/*
|
|
40
|
-
if (buttonForm === 'signup') {
|
|
41
|
-
setShowOnboarding(true);
|
|
42
|
-
} else {
|
|
43
|
-
// Handle login flow
|
|
44
|
-
// TODO: Implement login flow according to account.md
|
|
45
|
-
}
|
|
46
|
-
*/
|
|
34
|
+
setShowOnboarding(true);
|
|
47
35
|
};
|
|
48
36
|
const handleOnboardingComplete = (apiUrl, token, data) => {
|
|
49
37
|
setShowOnboarding(false);
|
|
@@ -63,7 +51,17 @@ export const OnairosButton = ({
|
|
|
63
51
|
disabled: !enabled
|
|
64
52
|
}, /*#__PURE__*/React.createElement(Text, {
|
|
65
53
|
style: textStyle
|
|
66
|
-
}, AppName))
|
|
54
|
+
}, AppName)), /*#__PURE__*/React.createElement(UniversalOnboarding, {
|
|
55
|
+
visible: showOnboarding,
|
|
56
|
+
onClose: () => setShowOnboarding(false),
|
|
57
|
+
AppName: AppName,
|
|
58
|
+
requestData: requestData,
|
|
59
|
+
returnLink: returnLink,
|
|
60
|
+
onComplete: handleOnboardingComplete,
|
|
61
|
+
preferredPlatform: preferredPlatform,
|
|
62
|
+
debug: debug,
|
|
63
|
+
test: testMode
|
|
64
|
+
}));
|
|
67
65
|
};
|
|
68
66
|
const styles = StyleSheet.create({
|
|
69
67
|
button: {
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"names":["React","useState","TouchableOpacity","Text","StyleSheet","View","OnairosButton","returnLink","prefillUrl","AppName","buttonType","requestData","buttonWidth","buttonHeight","hasStroke","enabled","buttonForm","onRejection","onResolved","preCheck","color","swerv","debug","preferredPlatform","testMode","showOnboarding","setShowOnboarding","handlePress","shouldProceed","
|
|
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":[]}
|
|
@@ -5,7 +5,9 @@ export const useConnections = () => {
|
|
|
5
5
|
const [isConnecting, setIsConnecting] = useState(false);
|
|
6
6
|
const getConnectionStatus = useCallback(async () => {
|
|
7
7
|
try {
|
|
8
|
-
const stored = await Keychain.getGenericPassword(
|
|
8
|
+
const stored = await Keychain.getGenericPassword({
|
|
9
|
+
service: STORAGE_KEYS.connections
|
|
10
|
+
});
|
|
9
11
|
if (stored) {
|
|
10
12
|
return JSON.parse(stored.password);
|
|
11
13
|
}
|
|
@@ -17,7 +19,9 @@ export const useConnections = () => {
|
|
|
17
19
|
}, []);
|
|
18
20
|
const saveConnectionStatus = useCallback(async status => {
|
|
19
21
|
try {
|
|
20
|
-
await Keychain.setGenericPassword(
|
|
22
|
+
await Keychain.setGenericPassword('connections', JSON.stringify(status), {
|
|
23
|
+
service: STORAGE_KEYS.connections
|
|
24
|
+
});
|
|
21
25
|
} catch (error) {
|
|
22
26
|
console.error('Error saving connection status:', error);
|
|
23
27
|
}
|
|
@@ -25,16 +29,17 @@ export const useConnections = () => {
|
|
|
25
29
|
const connectPlatform = useCallback(async platform => {
|
|
26
30
|
setIsConnecting(true);
|
|
27
31
|
try {
|
|
28
|
-
|
|
29
|
-
console.log(`OAuth integration temporarily disabled for ${platform}`);
|
|
32
|
+
console.log(`[Mock] Connecting to ${platform}`);
|
|
30
33
|
|
|
31
|
-
// Simulate
|
|
34
|
+
// Simulate connection delay
|
|
35
|
+
await new Promise(resolve => setTimeout(resolve, 1000));
|
|
32
36
|
const status = await getConnectionStatus();
|
|
33
37
|
status[platform] = {
|
|
34
|
-
userName: `
|
|
38
|
+
userName: `Mock User (${platform})`,
|
|
35
39
|
connected: true
|
|
36
40
|
};
|
|
37
41
|
await saveConnectionStatus(status);
|
|
42
|
+
console.log(`[Mock] Successfully connected to ${platform}`);
|
|
38
43
|
} catch (error) {
|
|
39
44
|
console.error(`Error connecting to ${platform}:`, error);
|
|
40
45
|
throw error;
|
|
@@ -54,15 +59,16 @@ export const useConnections = () => {
|
|
|
54
59
|
}, [getConnectionStatus, saveConnectionStatus]);
|
|
55
60
|
const handleOAuthCallback = useCallback(async (platform, data) => {
|
|
56
61
|
try {
|
|
62
|
+
console.log(`[Mock] Handling callback for ${platform}`);
|
|
57
63
|
const status = await getConnectionStatus();
|
|
58
64
|
status[platform] = {
|
|
59
|
-
userName: data.userName || `
|
|
65
|
+
userName: data.userName || `Mock User (${platform})`,
|
|
60
66
|
connected: true
|
|
61
67
|
};
|
|
62
68
|
await saveConnectionStatus(status);
|
|
63
69
|
return true;
|
|
64
70
|
} catch (error) {
|
|
65
|
-
console.error('Error handling
|
|
71
|
+
console.error('Error handling callback:', error);
|
|
66
72
|
return false;
|
|
67
73
|
}
|
|
68
74
|
}, [getConnectionStatus, saveConnectionStatus]);
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"names":["useState","useCallback","Keychain","STORAGE_KEYS","useConnections","isConnecting","setIsConnecting","getConnectionStatus","stored","getGenericPassword","connections","JSON","parse","password","error","console","saveConnectionStatus","status","setGenericPassword","stringify","connectPlatform","platform","log","userName","connected","disconnectPlatform","handleOAuthCallback","data"],"sourceRoot":"..\\..\\..\\src","sources":["hooks/useConnections.ts"],"mappings":"AAAA,SAASA,QAAQ,EAAEC,WAAW,QAAQ,OAAO;
|
|
1
|
+
{"version":3,"names":["useState","useCallback","Keychain","STORAGE_KEYS","useConnections","isConnecting","setIsConnecting","getConnectionStatus","stored","getGenericPassword","service","connections","JSON","parse","password","error","console","saveConnectionStatus","status","setGenericPassword","stringify","connectPlatform","platform","log","Promise","resolve","setTimeout","userName","connected","disconnectPlatform","handleOAuthCallback","data"],"sourceRoot":"..\\..\\..\\src","sources":["hooks/useConnections.ts"],"mappings":"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","ignoreList":[]}
|
|
@@ -4,7 +4,9 @@ import { STORAGE_KEYS } from '../constants';
|
|
|
4
4
|
export const useCredentials = () => {
|
|
5
5
|
const hasCredentials = useCallback(async () => {
|
|
6
6
|
try {
|
|
7
|
-
const credentials = await Keychain.getGenericPassword(
|
|
7
|
+
const credentials = await Keychain.getGenericPassword({
|
|
8
|
+
service: STORAGE_KEYS.credentials
|
|
9
|
+
});
|
|
8
10
|
return !!credentials;
|
|
9
11
|
} catch (error) {
|
|
10
12
|
console.error('Error checking credentials:', error);
|
|
@@ -13,7 +15,9 @@ export const useCredentials = () => {
|
|
|
13
15
|
}, []);
|
|
14
16
|
const getCredentials = useCallback(async () => {
|
|
15
17
|
try {
|
|
16
|
-
const credentials = await Keychain.getGenericPassword(
|
|
18
|
+
const credentials = await Keychain.getGenericPassword({
|
|
19
|
+
service: STORAGE_KEYS.credentials
|
|
20
|
+
});
|
|
17
21
|
if (credentials) {
|
|
18
22
|
return JSON.parse(credentials.password);
|
|
19
23
|
}
|
|
@@ -25,11 +29,15 @@ export const useCredentials = () => {
|
|
|
25
29
|
}, []);
|
|
26
30
|
const storeCredentials = useCallback(async (username, userPin, accessToken) => {
|
|
27
31
|
try {
|
|
28
|
-
|
|
29
|
-
|
|
32
|
+
const options = {
|
|
33
|
+
accessControl: Keychain.ACCESS_CONTROL.BIOMETRY_ANY,
|
|
34
|
+
accessible: Keychain.ACCESSIBLE.WHEN_UNLOCKED,
|
|
35
|
+
service: STORAGE_KEYS.credentials
|
|
36
|
+
};
|
|
37
|
+
await Keychain.setGenericPassword(username, JSON.stringify({
|
|
30
38
|
userPin,
|
|
31
39
|
accessToken
|
|
32
|
-
}));
|
|
40
|
+
}), options);
|
|
33
41
|
return true;
|
|
34
42
|
} catch (error) {
|
|
35
43
|
console.error('Error storing credentials:', error);
|
|
@@ -38,7 +46,9 @@ export const useCredentials = () => {
|
|
|
38
46
|
}, []);
|
|
39
47
|
const clearCredentials = useCallback(async () => {
|
|
40
48
|
try {
|
|
41
|
-
await Keychain.resetGenericPassword(
|
|
49
|
+
await Keychain.resetGenericPassword({
|
|
50
|
+
service: STORAGE_KEYS.credentials
|
|
51
|
+
});
|
|
42
52
|
} catch (error) {
|
|
43
53
|
console.error('Error clearing credentials:', error);
|
|
44
54
|
}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"names":["useCallback","Keychain","STORAGE_KEYS","useCredentials","hasCredentials","credentials","getGenericPassword","error","console","getCredentials","JSON","parse","password","storeCredentials","username","userPin","accessToken","setGenericPassword","stringify","clearCredentials","resetGenericPassword","validateCredentials","response","fetch","method","headers","body","data","json","isValid","valid"],"sourceRoot":"..\\..\\..\\src","sources":["hooks/useCredentials.ts"],"mappings":"AAAA,SAASA,WAAW,QAAQ,OAAO;AACnC,OAAO,KAAKC,QAAQ,MAAM,uBAAuB;AACjD,SAASC,YAAY,QAAQ,cAAc;AAG3C,OAAO,MAAMC,cAAc,GAAGA,CAAA,KAAM;EAClC,MAAMC,cAAc,GAAGJ,WAAW,CAAC,YAA8B;IAC/D,IAAI;MACF,MAAMK,WAAW,GAAG,MAAMJ,QAAQ,CAACK,kBAAkB,
|
|
1
|
+
{"version":3,"names":["useCallback","Keychain","STORAGE_KEYS","useCredentials","hasCredentials","credentials","getGenericPassword","service","error","console","getCredentials","JSON","parse","password","storeCredentials","username","userPin","accessToken","options","accessControl","ACCESS_CONTROL","BIOMETRY_ANY","accessible","ACCESSIBLE","WHEN_UNLOCKED","setGenericPassword","stringify","clearCredentials","resetGenericPassword","validateCredentials","response","fetch","method","headers","body","data","json","isValid","valid"],"sourceRoot":"..\\..\\..\\src","sources":["hooks/useCredentials.ts"],"mappings":"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","ignoreList":[]}
|
package/lib/module/index.js
CHANGED
|
@@ -1,14 +1,12 @@
|
|
|
1
|
-
|
|
2
|
-
|
|
3
|
-
|
|
4
|
-
|
|
5
|
-
|
|
6
|
-
//
|
|
7
|
-
export
|
|
8
|
-
|
|
9
|
-
|
|
10
|
-
export { AuthUtils, CryptoUtils, ApiUtils };
|
|
11
|
-
//# sourceMappingURL=index.js.mapxport { LoadingScreen } from './components/screens/LoadingScreen';
|
|
1
|
+
// Components
|
|
2
|
+
export { OnairosButton } from './components/OnairosButton';
|
|
3
|
+
export { UniversalOnboarding } from './components/UniversalOnboarding';
|
|
4
|
+
export { Overlay } from './components/Overlay';
|
|
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';
|
|
12
10
|
|
|
13
11
|
// Onboarding Components
|
|
14
12
|
export { OAuthWebView } from './components/onboarding/OAuthWebView';
|
package/lib/module/index.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"names":["OnairosButton","
|
|
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":[]}
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
import React, { useState } from 'react';
|
|
2
|
-
import { TouchableOpacity, Text, StyleSheet, View,
|
|
3
|
-
|
|
2
|
+
import { TouchableOpacity, Text, StyleSheet, View, ViewStyle, TextStyle } from 'react-native';
|
|
3
|
+
import { UniversalOnboarding } from './UniversalOnboarding';
|
|
4
4
|
import { COLORS } from '../constants';
|
|
5
5
|
import type { OnairosButtonProps } from '../types';
|
|
6
6
|
|
|
@@ -37,17 +37,7 @@ export const OnairosButton: React.FC<OnairosButtonProps> = ({
|
|
|
37
37
|
}
|
|
38
38
|
}
|
|
39
39
|
|
|
40
|
-
|
|
41
|
-
console.log('OAuth integration temporarily disabled');
|
|
42
|
-
onRejection?.();
|
|
43
|
-
/*
|
|
44
|
-
if (buttonForm === 'signup') {
|
|
45
|
-
setShowOnboarding(true);
|
|
46
|
-
} else {
|
|
47
|
-
// Handle login flow
|
|
48
|
-
// TODO: Implement login flow according to account.md
|
|
49
|
-
}
|
|
50
|
-
*/
|
|
40
|
+
setShowOnboarding(true);
|
|
51
41
|
};
|
|
52
42
|
|
|
53
43
|
const handleOnboardingComplete = (apiUrl: string, token: string, data: any) => {
|
|
@@ -81,7 +71,6 @@ export const OnairosButton: React.FC<OnairosButtonProps> = ({
|
|
|
81
71
|
<Text style={textStyle}>{AppName}</Text>
|
|
82
72
|
</TouchableOpacity>
|
|
83
73
|
|
|
84
|
-
{/* Temporarily disabled UniversalOnboarding
|
|
85
74
|
<UniversalOnboarding
|
|
86
75
|
visible={showOnboarding}
|
|
87
76
|
onClose={() => setShowOnboarding(false)}
|
|
@@ -93,7 +82,6 @@ export const OnairosButton: React.FC<OnairosButtonProps> = ({
|
|
|
93
82
|
debug={debug}
|
|
94
83
|
test={testMode}
|
|
95
84
|
/>
|
|
96
|
-
*/}
|
|
97
85
|
</View>
|
|
98
86
|
);
|
|
99
87
|
};
|
|
@@ -1,7 +1,6 @@
|
|
|
1
1
|
import { useState, useCallback } from 'react';
|
|
2
|
-
import { Linking } from 'react-native';
|
|
3
2
|
import * as Keychain from 'react-native-keychain';
|
|
4
|
-
import {
|
|
3
|
+
import { STORAGE_KEYS } from '../constants';
|
|
5
4
|
import type { ConnectionStatus } from '../types';
|
|
6
5
|
|
|
7
6
|
export const useConnections = () => {
|
|
@@ -9,7 +8,9 @@ export const useConnections = () => {
|
|
|
9
8
|
|
|
10
9
|
const getConnectionStatus = useCallback(async (): Promise<ConnectionStatus> => {
|
|
11
10
|
try {
|
|
12
|
-
const stored = await Keychain.getGenericPassword(
|
|
11
|
+
const stored = await Keychain.getGenericPassword({
|
|
12
|
+
service: STORAGE_KEYS.connections
|
|
13
|
+
});
|
|
13
14
|
if (stored) {
|
|
14
15
|
return JSON.parse(stored.password);
|
|
15
16
|
}
|
|
@@ -23,8 +24,9 @@ export const useConnections = () => {
|
|
|
23
24
|
const saveConnectionStatus = useCallback(async (status: ConnectionStatus) => {
|
|
24
25
|
try {
|
|
25
26
|
await Keychain.setGenericPassword(
|
|
26
|
-
|
|
27
|
-
JSON.stringify(status)
|
|
27
|
+
'connections',
|
|
28
|
+
JSON.stringify(status),
|
|
29
|
+
{ service: STORAGE_KEYS.connections }
|
|
28
30
|
);
|
|
29
31
|
} catch (error) {
|
|
30
32
|
console.error('Error saving connection status:', error);
|
|
@@ -34,17 +36,19 @@ export const useConnections = () => {
|
|
|
34
36
|
const connectPlatform = useCallback(async (platform: string) => {
|
|
35
37
|
setIsConnecting(true);
|
|
36
38
|
try {
|
|
37
|
-
|
|
38
|
-
|
|
39
|
+
console.log(`[Mock] Connecting to ${platform}`);
|
|
40
|
+
|
|
41
|
+
// Simulate connection delay
|
|
42
|
+
await new Promise(resolve => setTimeout(resolve, 1000));
|
|
39
43
|
|
|
40
|
-
// Simulate successful connection for testing
|
|
41
44
|
const status = await getConnectionStatus();
|
|
42
|
-
status[platform
|
|
43
|
-
userName: `
|
|
44
|
-
connected: true
|
|
45
|
+
status[platform] = {
|
|
46
|
+
userName: `Mock User (${platform})`,
|
|
47
|
+
connected: true
|
|
45
48
|
};
|
|
46
49
|
await saveConnectionStatus(status);
|
|
47
50
|
|
|
51
|
+
console.log(`[Mock] Successfully connected to ${platform}`);
|
|
48
52
|
} catch (error) {
|
|
49
53
|
console.error(`Error connecting to ${platform}:`, error);
|
|
50
54
|
throw error;
|
|
@@ -56,7 +60,7 @@ export const useConnections = () => {
|
|
|
56
60
|
const disconnectPlatform = useCallback(async (platform: string) => {
|
|
57
61
|
try {
|
|
58
62
|
const status = await getConnectionStatus();
|
|
59
|
-
delete status[platform
|
|
63
|
+
delete status[platform];
|
|
60
64
|
await saveConnectionStatus(status);
|
|
61
65
|
} catch (error) {
|
|
62
66
|
console.error(`Error disconnecting ${platform}:`, error);
|
|
@@ -66,15 +70,16 @@ export const useConnections = () => {
|
|
|
66
70
|
|
|
67
71
|
const handleOAuthCallback = useCallback(async (platform: string, data: any) => {
|
|
68
72
|
try {
|
|
73
|
+
console.log(`[Mock] Handling callback for ${platform}`);
|
|
69
74
|
const status = await getConnectionStatus();
|
|
70
|
-
status[platform
|
|
71
|
-
userName: data.userName || `
|
|
72
|
-
connected: true
|
|
75
|
+
status[platform] = {
|
|
76
|
+
userName: data.userName || `Mock User (${platform})`,
|
|
77
|
+
connected: true
|
|
73
78
|
};
|
|
74
79
|
await saveConnectionStatus(status);
|
|
75
80
|
return true;
|
|
76
81
|
} catch (error) {
|
|
77
|
-
console.error('Error handling
|
|
82
|
+
console.error('Error handling callback:', error);
|
|
78
83
|
return false;
|
|
79
84
|
}
|
|
80
85
|
}, [getConnectionStatus, saveConnectionStatus]);
|
|
@@ -6,7 +6,9 @@ import type { CredentialsResult } from '../types';
|
|
|
6
6
|
export const useCredentials = () => {
|
|
7
7
|
const hasCredentials = useCallback(async (): Promise<boolean> => {
|
|
8
8
|
try {
|
|
9
|
-
const credentials = await Keychain.getGenericPassword(
|
|
9
|
+
const credentials = await Keychain.getGenericPassword({
|
|
10
|
+
service: STORAGE_KEYS.credentials
|
|
11
|
+
});
|
|
10
12
|
return !!credentials;
|
|
11
13
|
} catch (error) {
|
|
12
14
|
console.error('Error checking credentials:', error);
|
|
@@ -16,7 +18,9 @@ export const useCredentials = () => {
|
|
|
16
18
|
|
|
17
19
|
const getCredentials = useCallback(async () => {
|
|
18
20
|
try {
|
|
19
|
-
const credentials = await Keychain.getGenericPassword(
|
|
21
|
+
const credentials = await Keychain.getGenericPassword({
|
|
22
|
+
service: STORAGE_KEYS.credentials
|
|
23
|
+
});
|
|
20
24
|
if (credentials) {
|
|
21
25
|
return JSON.parse(credentials.password);
|
|
22
26
|
}
|
|
@@ -33,9 +37,16 @@ export const useCredentials = () => {
|
|
|
33
37
|
accessToken: string
|
|
34
38
|
): Promise<boolean> => {
|
|
35
39
|
try {
|
|
40
|
+
const options: Keychain.Options = {
|
|
41
|
+
accessControl: Keychain.ACCESS_CONTROL.BIOMETRY_ANY,
|
|
42
|
+
accessible: Keychain.ACCESSIBLE.WHEN_UNLOCKED,
|
|
43
|
+
service: STORAGE_KEYS.credentials
|
|
44
|
+
};
|
|
45
|
+
|
|
36
46
|
await Keychain.setGenericPassword(
|
|
37
|
-
|
|
38
|
-
JSON.stringify({
|
|
47
|
+
username,
|
|
48
|
+
JSON.stringify({ userPin, accessToken }),
|
|
49
|
+
options
|
|
39
50
|
);
|
|
40
51
|
return true;
|
|
41
52
|
} catch (error) {
|
|
@@ -46,7 +57,9 @@ export const useCredentials = () => {
|
|
|
46
57
|
|
|
47
58
|
const clearCredentials = useCallback(async (): Promise<void> => {
|
|
48
59
|
try {
|
|
49
|
-
await Keychain.resetGenericPassword(
|
|
60
|
+
await Keychain.resetGenericPassword({
|
|
61
|
+
service: STORAGE_KEYS.credentials
|
|
62
|
+
});
|
|
50
63
|
} catch (error) {
|
|
51
64
|
console.error('Error clearing credentials:', error);
|
|
52
65
|
}
|