@onairos/react-native 1.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.
Files changed (130) hide show
  1. package/README.md +334 -0
  2. package/lib/commonjs/components/DataRequestModal.js +176 -0
  3. package/lib/commonjs/components/DataRequestModal.js.map +1 -0
  4. package/lib/commonjs/components/Notification.js +106 -0
  5. package/lib/commonjs/components/Notification.js.map +1 -0
  6. package/lib/commonjs/components/OnairosButton.js +575 -0
  7. package/lib/commonjs/components/OnairosButton.js.map +1 -0
  8. package/lib/commonjs/components/Overlay.js +818 -0
  9. package/lib/commonjs/components/Overlay.js.map +1 -0
  10. package/lib/commonjs/components/UniversalOnboarding.js +173 -0
  11. package/lib/commonjs/components/UniversalOnboarding.js.map +1 -0
  12. package/lib/commonjs/components/onboarding/OAuthWebView.js +137 -0
  13. package/lib/commonjs/components/onboarding/OAuthWebView.js.map +1 -0
  14. package/lib/commonjs/components/onboarding/OnboardingHeader.js +74 -0
  15. package/lib/commonjs/components/onboarding/OnboardingHeader.js.map +1 -0
  16. package/lib/commonjs/components/onboarding/PinInput.js +283 -0
  17. package/lib/commonjs/components/onboarding/PinInput.js.map +1 -0
  18. package/lib/commonjs/components/onboarding/PlatformConnector.js +244 -0
  19. package/lib/commonjs/components/onboarding/PlatformConnector.js.map +1 -0
  20. package/lib/commonjs/components/screens/ConnectorScreen.js +145 -0
  21. package/lib/commonjs/components/screens/ConnectorScreen.js.map +1 -0
  22. package/lib/commonjs/components/screens/LoadingScreen.js +91 -0
  23. package/lib/commonjs/components/screens/LoadingScreen.js.map +1 -0
  24. package/lib/commonjs/components/screens/PinCreationScreen.js +61 -0
  25. package/lib/commonjs/components/screens/PinCreationScreen.js.map +1 -0
  26. package/lib/commonjs/constants/index.js +78 -0
  27. package/lib/commonjs/constants/index.js.map +1 -0
  28. package/lib/commonjs/hooks/useConnections.js +89 -0
  29. package/lib/commonjs/hooks/useConnections.js.map +1 -0
  30. package/lib/commonjs/hooks/useCredentials.js +85 -0
  31. package/lib/commonjs/hooks/useCredentials.js.map +1 -0
  32. package/lib/commonjs/index.js +282 -0
  33. package/lib/commonjs/index.js.map +1 -0
  34. package/lib/commonjs/services/oauthService.js +362 -0
  35. package/lib/commonjs/services/oauthService.js.map +1 -0
  36. package/lib/commonjs/types/declarations.d.js +2 -0
  37. package/lib/commonjs/types/declarations.d.js.map +1 -0
  38. package/lib/commonjs/types/index.js +2 -0
  39. package/lib/commonjs/types/index.js.map +1 -0
  40. package/lib/commonjs/utils/api.js +129 -0
  41. package/lib/commonjs/utils/api.js.map +1 -0
  42. package/lib/commonjs/utils/auth.js +111 -0
  43. package/lib/commonjs/utils/auth.js.map +1 -0
  44. package/lib/commonjs/utils/crypto.js +62 -0
  45. package/lib/commonjs/utils/crypto.js.map +1 -0
  46. package/lib/commonjs/utils/debugHelper.js +64 -0
  47. package/lib/commonjs/utils/debugHelper.js.map +1 -0
  48. package/lib/commonjs/utils/onairosApi.js +270 -0
  49. package/lib/commonjs/utils/onairosApi.js.map +1 -0
  50. package/lib/commonjs/utils/secureStorage.js +210 -0
  51. package/lib/commonjs/utils/secureStorage.js.map +1 -0
  52. package/lib/module/components/DataRequestModal.js +168 -0
  53. package/lib/module/components/DataRequestModal.js.map +1 -0
  54. package/lib/module/components/Notification.js +99 -0
  55. package/lib/module/components/Notification.js.map +1 -0
  56. package/lib/module/components/OnairosButton.js +550 -0
  57. package/lib/module/components/OnairosButton.js.map +1 -0
  58. package/lib/module/components/Overlay.js +825 -0
  59. package/lib/module/components/Overlay.js.map +1 -0
  60. package/lib/module/components/UniversalOnboarding.js +164 -0
  61. package/lib/module/components/UniversalOnboarding.js.map +1 -0
  62. package/lib/module/components/onboarding/OAuthWebView.js +128 -0
  63. package/lib/module/components/onboarding/OAuthWebView.js.map +1 -0
  64. package/lib/module/components/onboarding/OnboardingHeader.js +66 -0
  65. package/lib/module/components/onboarding/OnboardingHeader.js.map +1 -0
  66. package/lib/module/components/onboarding/PinInput.js +274 -0
  67. package/lib/module/components/onboarding/PinInput.js.map +1 -0
  68. package/lib/module/components/onboarding/PlatformConnector.js +235 -0
  69. package/lib/module/components/onboarding/PlatformConnector.js.map +1 -0
  70. package/lib/module/components/screens/ConnectorScreen.js +137 -0
  71. package/lib/module/components/screens/ConnectorScreen.js.map +1 -0
  72. package/lib/module/components/screens/LoadingScreen.js +83 -0
  73. package/lib/module/components/screens/LoadingScreen.js.map +1 -0
  74. package/lib/module/components/screens/PinCreationScreen.js +53 -0
  75. package/lib/module/components/screens/PinCreationScreen.js.map +1 -0
  76. package/lib/module/constants/index.js +72 -0
  77. package/lib/module/constants/index.js.map +1 -0
  78. package/lib/module/hooks/useConnections.js +81 -0
  79. package/lib/module/hooks/useConnections.js.map +1 -0
  80. package/lib/module/hooks/useCredentials.js +77 -0
  81. package/lib/module/hooks/useCredentials.js.map +1 -0
  82. package/lib/module/index.js +34 -0
  83. package/lib/module/index.js.map +1 -0
  84. package/lib/module/services/oauthService.js +352 -0
  85. package/lib/module/services/oauthService.js.map +1 -0
  86. package/lib/module/types/declarations.d.js +2 -0
  87. package/lib/module/types/declarations.d.js.map +1 -0
  88. package/lib/module/types/index.js +2 -0
  89. package/lib/module/types/index.js.map +1 -0
  90. package/lib/module/utils/api.js +117 -0
  91. package/lib/module/utils/api.js.map +1 -0
  92. package/lib/module/utils/auth.js +99 -0
  93. package/lib/module/utils/auth.js.map +1 -0
  94. package/lib/module/utils/crypto.js +54 -0
  95. package/lib/module/utils/crypto.js.map +1 -0
  96. package/lib/module/utils/debugHelper.js +54 -0
  97. package/lib/module/utils/debugHelper.js.map +1 -0
  98. package/lib/module/utils/onairosApi.js +256 -0
  99. package/lib/module/utils/onairosApi.js.map +1 -0
  100. package/lib/module/utils/secureStorage.js +196 -0
  101. package/lib/module/utils/secureStorage.js.map +1 -0
  102. package/package.json +115 -0
  103. package/src/components/DataRequestModal.tsx +187 -0
  104. package/src/components/Notification.js +101 -0
  105. package/src/components/OnairosButton.js +604 -0
  106. package/src/components/OnairosButton.tsx +182 -0
  107. package/src/components/Overlay.js +854 -0
  108. package/src/components/Overlay.tsx +272 -0
  109. package/src/components/UniversalOnboarding.tsx +184 -0
  110. package/src/components/onboarding/OAuthWebView.tsx +134 -0
  111. package/src/components/onboarding/OnboardingHeader.tsx +70 -0
  112. package/src/components/onboarding/PinInput.tsx +356 -0
  113. package/src/components/onboarding/PlatformConnector.tsx +297 -0
  114. package/src/components/screens/ConnectorScreen.tsx +152 -0
  115. package/src/components/screens/LoadingScreen.tsx +100 -0
  116. package/src/components/screens/PinCreationScreen.tsx +67 -0
  117. package/src/constants/index.ts +78 -0
  118. package/src/hooks/useConnections.ts +90 -0
  119. package/src/hooks/useCredentials.ts +83 -0
  120. package/src/index.js +14 -0
  121. package/src/index.ts +82 -0
  122. package/src/services/oauthService.ts +360 -0
  123. package/src/types/declarations.d.ts +26 -0
  124. package/src/types/index.ts +82 -0
  125. package/src/utils/api.js +112 -0
  126. package/src/utils/auth.js +104 -0
  127. package/src/utils/crypto.js +60 -0
  128. package/src/utils/debugHelper.ts +53 -0
  129. package/src/utils/onairosApi.ts +303 -0
  130. package/src/utils/secureStorage.ts +230 -0
@@ -0,0 +1 @@
1
+ {"version":3,"names":["React","useState","useCallback","useEffect","View","Text","StyleSheet","TextInput","TouchableOpacity","Keyboard","KeyboardAvoidingView","Platform","Icon","COLORS","PinInput","onSubmit","minLength","requireSpecialChar","requireNumber","pin","setPin","confirmPin","setConfirmPin","showPin","setShowPin","errors","setErrors","step","setStep","validatePin","value","newErrors","length","push","test","handleSubmit","dismiss","handleBack","togglePinVisibility","createElement","behavior","OS","style","styles","container","content","title","subtitle","inputContainer","input","onChangeText","secureTextEntry","keyboardType","autoCapitalize","autoCorrect","placeholder","placeholderTextColor","returnKeyType","onSubmitEditing","visibilityToggle","onPress","name","size","color","errorContainer","map","error","index","key","errorItem","errorText","requirementsContainer","requirementsTitle","requirement","requirementText","buttonContainer","button","backButton","primary","buttonText","backButtonText","nextButton","disabledButton","disabled","nextButtonText","create","flex","padding","fontSize","fontWeight","marginBottom","flexDirection","alignItems","borderWidth","borderColor","borderRadius","backgroundColor","paddingHorizontal","paddingVertical","marginLeft","justifyContent","minWidth","marginRight"],"sourceRoot":"..\\..\\..\\..\\src","sources":["components/onboarding/PinInput.tsx"],"mappings":"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","ignoreList":[]}
@@ -0,0 +1,235 @@
1
+ import React, { useState } from 'react';
2
+ import { View, Text, StyleSheet, TouchableOpacity, ActivityIndicator, ScrollView } from 'react-native';
3
+ import Icon from 'react-native-vector-icons/MaterialIcons';
4
+ import { COLORS } from '../../constants';
5
+ import { OAuthWebView } from './OAuthWebView';
6
+ // Platform definitions
7
+ const PLATFORMS = {
8
+ instagram: {
9
+ name: 'Instagram',
10
+ icon: 'photo-camera',
11
+ color: '#E1306C',
12
+ description: 'Connect to share and analyze your Instagram content'
13
+ },
14
+ youtube: {
15
+ name: 'YouTube',
16
+ icon: 'smart-display',
17
+ color: '#FF0000',
18
+ description: 'Connect for YouTube video recommendations and analysis'
19
+ },
20
+ pinterest: {
21
+ name: 'Pinterest',
22
+ icon: 'push-pin',
23
+ color: '#E60023',
24
+ description: 'Connect to enhance Pinterest board recommendations'
25
+ },
26
+ reddit: {
27
+ name: 'Reddit',
28
+ icon: 'forum',
29
+ color: '#FF4500',
30
+ description: 'Connect to personalize Reddit content insights'
31
+ }
32
+ };
33
+ export const PlatformConnector = ({
34
+ connections,
35
+ onConnect,
36
+ onDisconnect,
37
+ isLoading,
38
+ canProceed,
39
+ onProceed
40
+ }) => {
41
+ const [activeWebview, setActiveWebview] = useState(null);
42
+ const handleConnectPress = async platform => {
43
+ setActiveWebview(platform);
44
+ };
45
+ const handleWebViewComplete = () => {
46
+ setActiveWebview(null);
47
+ };
48
+ const handleWebViewClose = () => {
49
+ setActiveWebview(null);
50
+ };
51
+ const handleDisconnectPress = async platform => {
52
+ await onDisconnect(platform);
53
+ };
54
+ const getPlatformStatus = platform => {
55
+ const platformKey = platform;
56
+ return connections[platformKey] ? true : false;
57
+ };
58
+ const getConnectedCount = () => {
59
+ return Object.values(connections).filter(Boolean).length;
60
+ };
61
+ return /*#__PURE__*/React.createElement(View, {
62
+ style: styles.container
63
+ }, /*#__PURE__*/React.createElement(Text, {
64
+ style: styles.title
65
+ }, "Connect Your Platforms"), /*#__PURE__*/React.createElement(Text, {
66
+ style: styles.subtitle
67
+ }, "Connect at least 2 platforms to create your Onairos account"), /*#__PURE__*/React.createElement(ScrollView, {
68
+ style: styles.platformList
69
+ }, Object.keys(PLATFORMS).map(platform => {
70
+ var _connections;
71
+ const platformInfo = PLATFORMS[platform];
72
+ const isConnected = getPlatformStatus(platform);
73
+ const userName = isConnected ? (_connections = connections[platform]) === null || _connections === void 0 ? void 0 : _connections.userName : null;
74
+ return /*#__PURE__*/React.createElement(View, {
75
+ key: platform,
76
+ style: styles.platformItem
77
+ }, /*#__PURE__*/React.createElement(View, {
78
+ style: styles.platformInfo
79
+ }, /*#__PURE__*/React.createElement(View, {
80
+ style: [styles.platformIcon, {
81
+ backgroundColor: platformInfo.color
82
+ }]
83
+ }, /*#__PURE__*/React.createElement(Icon, {
84
+ name: platformInfo.icon,
85
+ size: 24,
86
+ color: "#fff"
87
+ })), /*#__PURE__*/React.createElement(View, {
88
+ style: styles.platformText
89
+ }, /*#__PURE__*/React.createElement(Text, {
90
+ style: styles.platformName
91
+ }, platformInfo.name), /*#__PURE__*/React.createElement(Text, {
92
+ style: styles.platformDescription
93
+ }, isConnected ? `Connected as ${userName}` : platformInfo.description))), /*#__PURE__*/React.createElement(TouchableOpacity, {
94
+ style: [styles.platformButton, isConnected ? styles.disconnectButton : styles.connectButton],
95
+ onPress: () => isConnected ? handleDisconnectPress(platform) : handleConnectPress(platform),
96
+ disabled: isLoading
97
+ }, isLoading ? /*#__PURE__*/React.createElement(ActivityIndicator, {
98
+ size: "small",
99
+ color: "#fff"
100
+ }) : /*#__PURE__*/React.createElement(Text, {
101
+ style: styles.buttonText
102
+ }, isConnected ? 'Disconnect' : 'Connect')));
103
+ })), /*#__PURE__*/React.createElement(View, {
104
+ style: styles.footer
105
+ }, /*#__PURE__*/React.createElement(Text, {
106
+ style: styles.connectionStatus
107
+ }, getConnectedCount(), " of ", Object.keys(PLATFORMS).length, " platforms connected"), /*#__PURE__*/React.createElement(TouchableOpacity, {
108
+ style: [styles.proceedButton, canProceed ? styles.proceedActive : styles.proceedInactive],
109
+ onPress: onProceed,
110
+ disabled: !canProceed
111
+ }, /*#__PURE__*/React.createElement(Text, {
112
+ style: [styles.proceedText, canProceed ? styles.proceedTextActive : styles.proceedTextInactive]
113
+ }, "Continue"), /*#__PURE__*/React.createElement(Icon, {
114
+ name: "arrow-forward",
115
+ size: 20,
116
+ color: canProceed ? '#fff' : '#999'
117
+ }))), activeWebview && /*#__PURE__*/React.createElement(OAuthWebView, {
118
+ url: `https://oauth.example.com/${activeWebview}` // This would be replaced with actual OAuth URL
119
+ ,
120
+ platform: activeWebview,
121
+ onComplete: handleWebViewComplete,
122
+ onClose: handleWebViewClose
123
+ }));
124
+ };
125
+ const styles = StyleSheet.create({
126
+ container: {
127
+ flex: 1,
128
+ padding: 16
129
+ },
130
+ title: {
131
+ fontSize: 24,
132
+ fontWeight: 'bold',
133
+ marginBottom: 8,
134
+ color: '#000'
135
+ },
136
+ subtitle: {
137
+ fontSize: 16,
138
+ color: '#666',
139
+ marginBottom: 24
140
+ },
141
+ platformList: {
142
+ flex: 1
143
+ },
144
+ platformItem: {
145
+ flexDirection: 'row',
146
+ alignItems: 'center',
147
+ marginBottom: 16,
148
+ padding: 12,
149
+ backgroundColor: '#f8f8f8',
150
+ borderRadius: 12,
151
+ borderWidth: 1,
152
+ borderColor: '#eee'
153
+ },
154
+ platformInfo: {
155
+ flex: 1,
156
+ flexDirection: 'row',
157
+ alignItems: 'center'
158
+ },
159
+ platformIcon: {
160
+ width: 40,
161
+ height: 40,
162
+ borderRadius: 20,
163
+ justifyContent: 'center',
164
+ alignItems: 'center',
165
+ marginRight: 12
166
+ },
167
+ platformText: {
168
+ flex: 1
169
+ },
170
+ platformName: {
171
+ fontSize: 16,
172
+ fontWeight: '600',
173
+ marginBottom: 4,
174
+ color: '#000'
175
+ },
176
+ platformDescription: {
177
+ fontSize: 14,
178
+ color: '#666'
179
+ },
180
+ platformButton: {
181
+ paddingHorizontal: 16,
182
+ paddingVertical: 8,
183
+ borderRadius: 20,
184
+ justifyContent: 'center',
185
+ alignItems: 'center',
186
+ minWidth: 100
187
+ },
188
+ connectButton: {
189
+ backgroundColor: COLORS.primary
190
+ },
191
+ disconnectButton: {
192
+ backgroundColor: '#f44336'
193
+ },
194
+ buttonText: {
195
+ color: '#fff',
196
+ fontWeight: '600'
197
+ },
198
+ footer: {
199
+ flexDirection: 'row',
200
+ alignItems: 'center',
201
+ justifyContent: 'space-between',
202
+ paddingTop: 16,
203
+ borderTopWidth: 1,
204
+ borderTopColor: '#eee',
205
+ marginTop: 16
206
+ },
207
+ connectionStatus: {
208
+ fontSize: 14,
209
+ color: '#666'
210
+ },
211
+ proceedButton: {
212
+ flexDirection: 'row',
213
+ alignItems: 'center',
214
+ paddingHorizontal: 16,
215
+ paddingVertical: 10,
216
+ borderRadius: 24
217
+ },
218
+ proceedActive: {
219
+ backgroundColor: COLORS.primary
220
+ },
221
+ proceedInactive: {
222
+ backgroundColor: '#eee'
223
+ },
224
+ proceedText: {
225
+ fontWeight: '600',
226
+ marginRight: 8
227
+ },
228
+ proceedTextActive: {
229
+ color: '#fff'
230
+ },
231
+ proceedTextInactive: {
232
+ color: '#999'
233
+ }
234
+ });
235
+ //# sourceMappingURL=PlatformConnector.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"names":["React","useState","View","Text","StyleSheet","TouchableOpacity","ActivityIndicator","ScrollView","Icon","COLORS","OAuthWebView","PLATFORMS","instagram","name","icon","color","description","youtube","pinterest","reddit","PlatformConnector","connections","onConnect","onDisconnect","isLoading","canProceed","onProceed","activeWebview","setActiveWebview","handleConnectPress","platform","handleWebViewComplete","handleWebViewClose","handleDisconnectPress","getPlatformStatus","platformKey","getConnectedCount","Object","values","filter","Boolean","length","createElement","style","styles","container","title","subtitle","platformList","keys","map","_connections","platformInfo","isConnected","userName","key","platformItem","platformIcon","backgroundColor","size","platformText","platformName","platformDescription","platformButton","disconnectButton","connectButton","onPress","disabled","buttonText","footer","connectionStatus","proceedButton","proceedActive","proceedInactive","proceedText","proceedTextActive","proceedTextInactive","url","onComplete","onClose","create","flex","padding","fontSize","fontWeight","marginBottom","flexDirection","alignItems","borderRadius","borderWidth","borderColor","width","height","justifyContent","marginRight","paddingHorizontal","paddingVertical","minWidth","primary","paddingTop","borderTopWidth","borderTopColor","marginTop"],"sourceRoot":"..\\..\\..\\..\\src","sources":["components/onboarding/PlatformConnector.tsx"],"mappings":"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","ignoreList":[]}
@@ -0,0 +1,137 @@
1
+ import React, { useCallback, useEffect, useState } from 'react';
2
+ import { StyleSheet, SafeAreaView } from 'react-native';
3
+ import { OnboardingHeader } from '../onboarding/OnboardingHeader';
4
+ import { PlatformConnector } from '../onboarding/PlatformConnector';
5
+ import { connectPlatform } from '../../services/oauthService';
6
+ import { getCredentials, updateCredentials } from '../../utils/secureStorage';
7
+ export const ConnectorScreen = ({
8
+ onComplete,
9
+ onClose,
10
+ AppName
11
+ }) => {
12
+ const [connections, setConnections] = useState({});
13
+ const [isConnecting, setIsConnecting] = useState(false);
14
+
15
+ // Load initial connection status
16
+ useEffect(() => {
17
+ loadConnectionStatus();
18
+ }, []);
19
+
20
+ // Load connection status from secure storage
21
+ const loadConnectionStatus = useCallback(async () => {
22
+ try {
23
+ const credentials = await getCredentials();
24
+ if (credentials !== null && credentials !== void 0 && credentials.platforms) {
25
+ const connectionStatus = {};
26
+
27
+ // Transform platforms data to connection status format
28
+ Object.entries(credentials.platforms).forEach(([platform, data]) => {
29
+ if (data && 'username' in data) {
30
+ connectionStatus[platform] = {
31
+ userName: data.username
32
+ };
33
+ }
34
+ });
35
+ setConnections(connectionStatus);
36
+ }
37
+ } catch (error) {
38
+ console.error('Error loading connection status:', error);
39
+ }
40
+ }, []);
41
+
42
+ // Handle platform connection
43
+ const handleConnect = useCallback(async platform => {
44
+ try {
45
+ setIsConnecting(true);
46
+
47
+ // Start OAuth flow
48
+ const connectionData = await connectPlatform(platform);
49
+
50
+ // Get current credentials
51
+ const credentials = await getCredentials();
52
+ if (!credentials) {
53
+ throw new Error('No credentials found');
54
+ }
55
+
56
+ // Update platforms in credentials
57
+ const updatedPlatforms = {
58
+ ...credentials.platforms,
59
+ [platform]: {
60
+ token: connectionData.token,
61
+ username: connectionData.username,
62
+ userId: connectionData.userId
63
+ }
64
+ };
65
+
66
+ // Update stored credentials
67
+ await updateCredentials({
68
+ platforms: updatedPlatforms
69
+ });
70
+
71
+ // Refresh connection status
72
+ await loadConnectionStatus();
73
+ } catch (error) {
74
+ console.error(`Error connecting to ${platform}:`, error);
75
+ } finally {
76
+ setIsConnecting(false);
77
+ }
78
+ }, [loadConnectionStatus]);
79
+
80
+ // Handle platform disconnection
81
+ const handleDisconnect = useCallback(async platform => {
82
+ try {
83
+ setIsConnecting(true);
84
+
85
+ // Get current credentials
86
+ const credentials = await getCredentials();
87
+ if (!credentials || !credentials.platforms) {
88
+ throw new Error('No credentials or platforms found');
89
+ }
90
+
91
+ // Create updated platforms object without the disconnected platform
92
+ const updatedPlatforms = {
93
+ ...credentials.platforms
94
+ };
95
+ delete updatedPlatforms[platform];
96
+
97
+ // Update stored credentials
98
+ await updateCredentials({
99
+ platforms: updatedPlatforms
100
+ });
101
+
102
+ // Refresh connection status
103
+ await loadConnectionStatus();
104
+ } catch (error) {
105
+ console.error(`Error disconnecting from ${platform}:`, error);
106
+ } finally {
107
+ setIsConnecting(false);
108
+ }
109
+ }, [loadConnectionStatus]);
110
+
111
+ // Check if user can proceed to next step
112
+ const canProceed = useCallback(() => {
113
+ const connectedPlatforms = Object.values(connections).filter(Boolean).length;
114
+ return connectedPlatforms >= 2;
115
+ }, [connections]);
116
+ return /*#__PURE__*/React.createElement(SafeAreaView, {
117
+ style: styles.container
118
+ }, /*#__PURE__*/React.createElement(OnboardingHeader, {
119
+ title: "Connect Your Platforms",
120
+ subtitle: `Connecting to ${AppName}`,
121
+ onClose: onClose
122
+ }), /*#__PURE__*/React.createElement(PlatformConnector, {
123
+ connections: connections,
124
+ onConnect: handleConnect,
125
+ onDisconnect: handleDisconnect,
126
+ isLoading: isConnecting,
127
+ canProceed: canProceed(),
128
+ onProceed: onComplete
129
+ }));
130
+ };
131
+ const styles = StyleSheet.create({
132
+ container: {
133
+ flex: 1,
134
+ backgroundColor: '#fff'
135
+ }
136
+ });
137
+ //# sourceMappingURL=ConnectorScreen.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"names":["React","useCallback","useEffect","useState","StyleSheet","SafeAreaView","OnboardingHeader","PlatformConnector","connectPlatform","getCredentials","updateCredentials","ConnectorScreen","onComplete","onClose","AppName","connections","setConnections","isConnecting","setIsConnecting","loadConnectionStatus","credentials","platforms","connectionStatus","Object","entries","forEach","platform","data","userName","username","error","console","handleConnect","connectionData","Error","updatedPlatforms","token","userId","handleDisconnect","canProceed","connectedPlatforms","values","filter","Boolean","length","createElement","style","styles","container","title","subtitle","onConnect","onDisconnect","isLoading","onProceed","create","flex","backgroundColor"],"sourceRoot":"..\\..\\..\\..\\src","sources":["components/screens/ConnectorScreen.tsx"],"mappings":"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","ignoreList":[]}
@@ -0,0 +1,83 @@
1
+ import React from 'react';
2
+ import { View, Text, StyleSheet, ActivityIndicator, SafeAreaView } from 'react-native';
3
+ import { COLORS } from '../../constants';
4
+ export const LoadingScreen = ({
5
+ message,
6
+ progress,
7
+ eta
8
+ }) => {
9
+ // Calculate progress percentage for display
10
+ const progressPercent = progress ? Math.round(progress * 100) : undefined;
11
+ return /*#__PURE__*/React.createElement(SafeAreaView, {
12
+ style: styles.container
13
+ }, /*#__PURE__*/React.createElement(View, {
14
+ style: styles.content
15
+ }, /*#__PURE__*/React.createElement(ActivityIndicator, {
16
+ size: "large",
17
+ color: COLORS.primary,
18
+ style: styles.spinner
19
+ }), /*#__PURE__*/React.createElement(Text, {
20
+ style: styles.message
21
+ }, message), progressPercent !== undefined && /*#__PURE__*/React.createElement(View, {
22
+ style: styles.progressContainer
23
+ }, /*#__PURE__*/React.createElement(View, {
24
+ style: styles.progressBarBackground
25
+ }, /*#__PURE__*/React.createElement(View, {
26
+ style: [styles.progressBar, {
27
+ width: `${progressPercent}%`
28
+ }]
29
+ })), /*#__PURE__*/React.createElement(Text, {
30
+ style: styles.progressText
31
+ }, progressPercent, "%")), eta && /*#__PURE__*/React.createElement(Text, {
32
+ style: styles.etaText
33
+ }, eta)));
34
+ };
35
+ const styles = StyleSheet.create({
36
+ container: {
37
+ flex: 1,
38
+ backgroundColor: '#fff',
39
+ justifyContent: 'center',
40
+ alignItems: 'center'
41
+ },
42
+ content: {
43
+ width: '80%',
44
+ alignItems: 'center',
45
+ padding: 24
46
+ },
47
+ spinner: {
48
+ marginBottom: 24
49
+ },
50
+ message: {
51
+ fontSize: 18,
52
+ fontWeight: '600',
53
+ color: '#000',
54
+ textAlign: 'center',
55
+ marginBottom: 24
56
+ },
57
+ progressContainer: {
58
+ width: '100%',
59
+ marginBottom: 8
60
+ },
61
+ progressBarBackground: {
62
+ height: 8,
63
+ backgroundColor: '#eee',
64
+ borderRadius: 4,
65
+ overflow: 'hidden',
66
+ marginBottom: 8
67
+ },
68
+ progressBar: {
69
+ height: '100%',
70
+ backgroundColor: COLORS.primary
71
+ },
72
+ progressText: {
73
+ fontSize: 14,
74
+ color: '#666',
75
+ textAlign: 'right'
76
+ },
77
+ etaText: {
78
+ fontSize: 14,
79
+ color: '#666',
80
+ marginTop: 8
81
+ }
82
+ });
83
+ //# sourceMappingURL=LoadingScreen.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"names":["React","View","Text","StyleSheet","ActivityIndicator","SafeAreaView","COLORS","LoadingScreen","message","progress","eta","progressPercent","Math","round","undefined","createElement","style","styles","container","content","size","color","primary","spinner","progressContainer","progressBarBackground","progressBar","width","progressText","etaText","create","flex","backgroundColor","justifyContent","alignItems","padding","marginBottom","fontSize","fontWeight","textAlign","height","borderRadius","overflow","marginTop"],"sourceRoot":"..\\..\\..\\..\\src","sources":["components/screens/LoadingScreen.tsx"],"mappings":"AAAA,OAAOA,KAAK,MAAM,OAAO;AACzB,SACEC,IAAI,EACJC,IAAI,EACJC,UAAU,EACVC,iBAAiB,EACjBC,YAAY,QACP,cAAc;AACrB,SAASC,MAAM,QAAQ,iBAAiB;AAQxC,OAAO,MAAMC,aAA2C,GAAGA,CAAC;EAC1DC,OAAO;EACPC,QAAQ;EACRC;AACF,CAAC,KAAK;EACJ;EACA,MAAMC,eAAe,GAAGF,QAAQ,GAAGG,IAAI,CAACC,KAAK,CAACJ,QAAQ,GAAG,GAAG,CAAC,GAAGK,SAAS;EAEzE,oBACEd,KAAA,CAAAe,aAAA,CAACV,YAAY;IAACW,KAAK,EAAEC,MAAM,CAACC;EAAU,gBACpClB,KAAA,CAAAe,aAAA,CAACd,IAAI;IAACe,KAAK,EAAEC,MAAM,CAACE;EAAQ,gBAC1BnB,KAAA,CAAAe,aAAA,CAACX,iBAAiB;IAACgB,IAAI,EAAC,OAAO;IAACC,KAAK,EAAEf,MAAM,CAACgB,OAAQ;IAACN,KAAK,EAAEC,MAAM,CAACM;EAAQ,CAAE,CAAC,eAEhFvB,KAAA,CAAAe,aAAA,CAACb,IAAI;IAACc,KAAK,EAAEC,MAAM,CAACT;EAAQ,GAAEA,OAAc,CAAC,EAE5CG,eAAe,KAAKG,SAAS,iBAC5Bd,KAAA,CAAAe,aAAA,CAACd,IAAI;IAACe,KAAK,EAAEC,MAAM,CAACO;EAAkB,gBACpCxB,KAAA,CAAAe,aAAA,CAACd,IAAI;IAACe,KAAK,EAAEC,MAAM,CAACQ;EAAsB,gBACxCzB,KAAA,CAAAe,aAAA,CAACd,IAAI;IACHe,KAAK,EAAE,CACLC,MAAM,CAACS,WAAW,EAClB;MAAEC,KAAK,EAAE,GAAGhB,eAAe;IAAI,CAAC;EAChC,CACH,CACG,CAAC,eAEPX,KAAA,CAAAe,aAAA,CAACb,IAAI;IAACc,KAAK,EAAEC,MAAM,CAACW;EAAa,GAAEjB,eAAe,EAAC,GAAO,CACtD,CACP,EAEAD,GAAG,iBAAIV,KAAA,CAAAe,aAAA,CAACb,IAAI;IAACc,KAAK,EAAEC,MAAM,CAACY;EAAQ,GAAEnB,GAAU,CAC5C,CACM,CAAC;AAEnB,CAAC;AAED,MAAMO,MAAM,GAAGd,UAAU,CAAC2B,MAAM,CAAC;EAC/BZ,SAAS,EAAE;IACTa,IAAI,EAAE,CAAC;IACPC,eAAe,EAAE,MAAM;IACvBC,cAAc,EAAE,QAAQ;IACxBC,UAAU,EAAE;EACd,CAAC;EACDf,OAAO,EAAE;IACPQ,KAAK,EAAE,KAAK;IACZO,UAAU,EAAE,QAAQ;IACpBC,OAAO,EAAE;EACX,CAAC;EACDZ,OAAO,EAAE;IACPa,YAAY,EAAE;EAChB,CAAC;EACD5B,OAAO,EAAE;IACP6B,QAAQ,EAAE,EAAE;IACZC,UAAU,EAAE,KAAK;IACjBjB,KAAK,EAAE,MAAM;IACbkB,SAAS,EAAE,QAAQ;IACnBH,YAAY,EAAE;EAChB,CAAC;EACDZ,iBAAiB,EAAE;IACjBG,KAAK,EAAE,MAAM;IACbS,YAAY,EAAE;EAChB,CAAC;EACDX,qBAAqB,EAAE;IACrBe,MAAM,EAAE,CAAC;IACTR,eAAe,EAAE,MAAM;IACvBS,YAAY,EAAE,CAAC;IACfC,QAAQ,EAAE,QAAQ;IAClBN,YAAY,EAAE;EAChB,CAAC;EACDV,WAAW,EAAE;IACXc,MAAM,EAAE,MAAM;IACdR,eAAe,EAAE1B,MAAM,CAACgB;EAC1B,CAAC;EACDM,YAAY,EAAE;IACZS,QAAQ,EAAE,EAAE;IACZhB,KAAK,EAAE,MAAM;IACbkB,SAAS,EAAE;EACb,CAAC;EACDV,OAAO,EAAE;IACPQ,QAAQ,EAAE,EAAE;IACZhB,KAAK,EAAE,MAAM;IACbsB,SAAS,EAAE;EACb;AACF,CAAC,CAAC","ignoreList":[]}
@@ -0,0 +1,53 @@
1
+ import React, { useCallback } from 'react';
2
+ import { StyleSheet, SafeAreaView } from 'react-native';
3
+ import { OnboardingHeader } from '../onboarding/OnboardingHeader';
4
+ import { PinInput } from '../onboarding/PinInput';
5
+ import { updateCredentials, getCredentials } from '../../utils/secureStorage';
6
+ export const PinCreationScreen = ({
7
+ onComplete,
8
+ onBack,
9
+ onClose,
10
+ AppName
11
+ }) => {
12
+ // Handle PIN submission
13
+ const handlePinSubmit = useCallback(async pin => {
14
+ try {
15
+ // Get current credentials
16
+ const credentials = await getCredentials();
17
+ if (!credentials) {
18
+ throw new Error('No credentials found');
19
+ }
20
+
21
+ // Update credentials with PIN
22
+ await updateCredentials({
23
+ userPin: pin
24
+ });
25
+
26
+ // Move to next step
27
+ onComplete();
28
+ } catch (error) {
29
+ console.error('Error saving PIN:', error);
30
+ }
31
+ }, [onComplete]);
32
+ return /*#__PURE__*/React.createElement(SafeAreaView, {
33
+ style: styles.container
34
+ }, /*#__PURE__*/React.createElement(OnboardingHeader, {
35
+ title: "Create a PIN",
36
+ subtitle: `Secure your ${AppName} account`,
37
+ showBackButton: true,
38
+ onBack: onBack,
39
+ onClose: onClose
40
+ }), /*#__PURE__*/React.createElement(PinInput, {
41
+ onSubmit: handlePinSubmit,
42
+ minLength: 8,
43
+ requireSpecialChar: true,
44
+ requireNumber: true
45
+ }));
46
+ };
47
+ const styles = StyleSheet.create({
48
+ container: {
49
+ flex: 1,
50
+ backgroundColor: '#fff'
51
+ }
52
+ });
53
+ //# sourceMappingURL=PinCreationScreen.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"names":["React","useCallback","StyleSheet","SafeAreaView","OnboardingHeader","PinInput","updateCredentials","getCredentials","PinCreationScreen","onComplete","onBack","onClose","AppName","handlePinSubmit","pin","credentials","Error","userPin","error","console","createElement","style","styles","container","title","subtitle","showBackButton","onSubmit","minLength","requireSpecialChar","requireNumber","create","flex","backgroundColor"],"sourceRoot":"..\\..\\..\\..\\src","sources":["components/screens/PinCreationScreen.tsx"],"mappings":"AAAA,OAAOA,KAAK,IAAIC,WAAW,QAAQ,OAAO;AAC1C,SAAeC,UAAU,EAAEC,YAAY,QAAQ,cAAc;AAC7D,SAASC,gBAAgB,QAAQ,gCAAgC;AACjE,SAASC,QAAQ,QAAQ,wBAAwB;AACjD,SAASC,iBAAiB,EAAEC,cAAc,QAAQ,2BAA2B;AAS7E,OAAO,MAAMC,iBAAmD,GAAGA,CAAC;EAClEC,UAAU;EACVC,MAAM;EACNC,OAAO;EACPC;AACF,CAAC,KAAK;EACJ;EACA,MAAMC,eAAe,GAAGZ,WAAW,CAAC,MAAOa,GAAW,IAAK;IACzD,IAAI;MACF;MACA,MAAMC,WAAW,GAAG,MAAMR,cAAc,CAAC,CAAC;MAE1C,IAAI,CAACQ,WAAW,EAAE;QAChB,MAAM,IAAIC,KAAK,CAAC,sBAAsB,CAAC;MACzC;;MAEA;MACA,MAAMV,iBAAiB,CAAC;QACtBW,OAAO,EAAEH;MACX,CAAC,CAAC;;MAEF;MACAL,UAAU,CAAC,CAAC;IACd,CAAC,CAAC,OAAOS,KAAK,EAAE;MACdC,OAAO,CAACD,KAAK,CAAC,mBAAmB,EAAEA,KAAK,CAAC;IAC3C;EACF,CAAC,EAAE,CAACT,UAAU,CAAC,CAAC;EAEhB,oBACET,KAAA,CAAAoB,aAAA,CAACjB,YAAY;IAACkB,KAAK,EAAEC,MAAM,CAACC;EAAU,gBACpCvB,KAAA,CAAAoB,aAAA,CAAChB,gBAAgB;IACfoB,KAAK,EAAC,cAAc;IACpBC,QAAQ,EAAE,eAAeb,OAAO,UAAW;IAC3Cc,cAAc;IACdhB,MAAM,EAAEA,MAAO;IACfC,OAAO,EAAEA;EAAQ,CAClB,CAAC,eAEFX,KAAA,CAAAoB,aAAA,CAACf,QAAQ;IACPsB,QAAQ,EAAEd,eAAgB;IAC1Be,SAAS,EAAE,CAAE;IACbC,kBAAkB;IAClBC,aAAa;EAAA,CACd,CACW,CAAC;AAEnB,CAAC;AAED,MAAMR,MAAM,GAAGpB,UAAU,CAAC6B,MAAM,CAAC;EAC/BR,SAAS,EAAE;IACTS,IAAI,EAAE,CAAC;IACPC,eAAe,EAAE;EACnB;AACF,CAAC,CAAC","ignoreList":[]}
@@ -0,0 +1,72 @@
1
+ export const COLORS = {
2
+ primary: '#00BFA5',
3
+ headerBg: '#E0F2F1',
4
+ text: {
5
+ primary: '#000000',
6
+ secondary: '#757575'
7
+ },
8
+ border: '#EEEEEE',
9
+ success: '#4CAF50',
10
+ error: '#F44336',
11
+ instagram: '#E4405F',
12
+ pinterest: '#BD081C',
13
+ reddit: '#FF4500',
14
+ youtube: '#FF0000'
15
+ };
16
+ export const PLATFORMS = {
17
+ instagram: {
18
+ name: 'Instagram',
19
+ icon: 'instagram',
20
+ color: COLORS.instagram,
21
+ description: 'Connect your Instagram account to train your AI model'
22
+ },
23
+ pinterest: {
24
+ name: 'Pinterest',
25
+ icon: 'pinterest',
26
+ color: COLORS.pinterest,
27
+ description: 'Use your Pinterest boards for AI training'
28
+ },
29
+ reddit: {
30
+ name: 'Reddit',
31
+ icon: 'reddit',
32
+ color: COLORS.reddit,
33
+ description: 'Connect Reddit to enhance your AI model'
34
+ },
35
+ youtube: {
36
+ name: 'YouTube',
37
+ icon: 'youtube',
38
+ color: COLORS.youtube,
39
+ description: 'Use YouTube data to improve AI recommendations'
40
+ }
41
+ };
42
+ export const API_ENDPOINTS = {
43
+ base: 'https://api2.onairos.uk',
44
+ oauth: {
45
+ instagram: '/instagram/auth',
46
+ pinterest: '/pinterest/auth',
47
+ reddit: '/reddit/auth',
48
+ youtube: '/youtube/auth'
49
+ },
50
+ callback: {
51
+ instagram: '/instagram/callback',
52
+ pinterest: '/pinterest/callback',
53
+ reddit: '/reddit/callback',
54
+ youtube: '/youtube/callback'
55
+ }
56
+ };
57
+ export const STORAGE_KEYS = {
58
+ credentials: 'onairos_credentials',
59
+ connections: 'onairos_connections'
60
+ };
61
+ export const PIN_REQUIREMENTS = {
62
+ minLength: 8,
63
+ requireUppercase: true,
64
+ requireLowercase: true,
65
+ requireNumber: true,
66
+ requireSpecialChar: true
67
+ };
68
+ export const DEEP_LINK_CONFIG = {
69
+ scheme: 'onairosreact',
70
+ host: 'authenticate'
71
+ };
72
+ //# sourceMappingURL=index.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"names":["COLORS","primary","headerBg","text","secondary","border","success","error","instagram","pinterest","reddit","youtube","PLATFORMS","name","icon","color","description","API_ENDPOINTS","base","oauth","callback","STORAGE_KEYS","credentials","connections","PIN_REQUIREMENTS","minLength","requireUppercase","requireLowercase","requireNumber","requireSpecialChar","DEEP_LINK_CONFIG","scheme","host"],"sourceRoot":"..\\..\\..\\src","sources":["constants/index.ts"],"mappings":"AAEA,OAAO,MAAMA,MAAM,GAAG;EACpBC,OAAO,EAAE,SAAS;EAClBC,QAAQ,EAAE,SAAS;EACnBC,IAAI,EAAE;IACJF,OAAO,EAAE,SAAS;IAClBG,SAAS,EAAE;EACb,CAAC;EACDC,MAAM,EAAE,SAAS;EACjBC,OAAO,EAAE,SAAS;EAClBC,KAAK,EAAE,SAAS;EAChBC,SAAS,EAAE,SAAS;EACpBC,SAAS,EAAE,SAAS;EACpBC,MAAM,EAAE,SAAS;EACjBC,OAAO,EAAE;AACX,CAAC;AAED,OAAO,MAAMC,SAAyC,GAAG;EACvDJ,SAAS,EAAE;IACTK,IAAI,EAAE,WAAW;IACjBC,IAAI,EAAE,WAAW;IACjBC,KAAK,EAAEf,MAAM,CAACQ,SAAS;IACvBQ,WAAW,EAAE;EACf,CAAC;EACDP,SAAS,EAAE;IACTI,IAAI,EAAE,WAAW;IACjBC,IAAI,EAAE,WAAW;IACjBC,KAAK,EAAEf,MAAM,CAACS,SAAS;IACvBO,WAAW,EAAE;EACf,CAAC;EACDN,MAAM,EAAE;IACNG,IAAI,EAAE,QAAQ;IACdC,IAAI,EAAE,QAAQ;IACdC,KAAK,EAAEf,MAAM,CAACU,MAAM;IACpBM,WAAW,EAAE;EACf,CAAC;EACDL,OAAO,EAAE;IACPE,IAAI,EAAE,SAAS;IACfC,IAAI,EAAE,SAAS;IACfC,KAAK,EAAEf,MAAM,CAACW,OAAO;IACrBK,WAAW,EAAE;EACf;AACF,CAAC;AAED,OAAO,MAAMC,aAAa,GAAG;EAC3BC,IAAI,EAAE,yBAAyB;EAC/BC,KAAK,EAAE;IACLX,SAAS,EAAE,iBAAiB;IAC5BC,SAAS,EAAE,iBAAiB;IAC5BC,MAAM,EAAE,cAAc;IACtBC,OAAO,EAAE;EACX,CAAC;EACDS,QAAQ,EAAE;IACRZ,SAAS,EAAE,qBAAqB;IAChCC,SAAS,EAAE,qBAAqB;IAChCC,MAAM,EAAE,kBAAkB;IAC1BC,OAAO,EAAE;EACX;AACF,CAAC;AAED,OAAO,MAAMU,YAAY,GAAG;EAC1BC,WAAW,EAAE,qBAAqB;EAClCC,WAAW,EAAE;AACf,CAAC;AAED,OAAO,MAAMC,gBAAgB,GAAG;EAC9BC,SAAS,EAAE,CAAC;EACZC,gBAAgB,EAAE,IAAI;EACtBC,gBAAgB,EAAE,IAAI;EACtBC,aAAa,EAAE,IAAI;EACnBC,kBAAkB,EAAE;AACtB,CAAC;AAED,OAAO,MAAMC,gBAAgB,GAAG;EAC9BC,MAAM,EAAE,cAAc;EACtBC,IAAI,EAAE;AACR,CAAC","ignoreList":[]}