@onairos/react-native 3.0.28 → 3.0.30

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
@@ -1 +1 @@
1
- {"version":3,"names":["React","useCallback","useState","View","StyleSheet","ActivityIndicator","SafeAreaView","TouchableOpacity","WebView","Icon","COLORS","OAuthWebView","url","platform","onComplete","onClose","onSuccess","loading","setLoading","handleNavigationStateChange","navState","console","log","isFinalRedirect","includes","isInstagramSuccess","isYouTubeSuccess","isLinkedInSuccess","isCallbackUrl","authCode","extractAuthCode","handleLoadEnd","redirectUrl","codeMatch","match","URL","searchParams","get","error","createElement","style","styles","container","header","onPress","closeButton","name","size","color","titleContainer","getPlatformIcon","getPlatformColor","source","uri","onNavigationStateChange","onLoadEnd","startInLoadingState","renderLoading","webView","javaScriptEnabled","domStorageEnabled","cacheEnabled","incognito","sharedCookiesEnabled","thirdPartyCookiesEnabled","allowsInlineMediaPlayback","mediaPlaybackRequiresUserAction","allowsBackForwardNavigationGestures","userAgent","loadingContainer","primary","create","flex","backgroundColor","flexDirection","alignItems","height","borderBottomWidth","borderBottomColor","paddingHorizontal","padding","position","left","zIndex","absoluteFillObject","justifyContent"],"sourceRoot":"..\\..\\..\\..\\src","sources":["components/onboarding/OAuthWebView.tsx"],"mappings":"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","ignoreList":[]}
1
+ {"version":3,"names":["React","useState","View","Text","StyleSheet","TouchableOpacity","ActivityIndicator","SafeAreaView","Dimensions","WebView","Icon","COLORS","width","height","get","OAuthWebView","url","onClose","onSuccess","platform","onComplete","isLoading","setIsLoading","console","log","handleNavigationStateChange","navState","isFinalRedirect","includes","setTimeout","platformSuccessPatterns","reddit","pinterest","linkedin","email","instagram","isPlatformSuccess","some","pattern","test","isCallbackUrl","authCode","codeMatch","match","tokenMatch","handleLoadEnd","getPlatformIcon","getPlatformColor","primary","createElement","style","styles","container","header","onPress","closeButton","name","size","color","titleContainer","titleText","charAt","toUpperCase","slice","source","uri","onNavigationStateChange","onLoadEnd","webView","javaScriptEnabled","domStorageEnabled","sharedCookiesEnabled","thirdPartyCookiesEnabled","userAgent","loadingContainer","loadingText","create","flex","backgroundColor","flexDirection","alignItems","borderBottomWidth","borderBottomColor","paddingHorizontal","justifyContent","marginLeft","fontSize","fontWeight","padding","position","left","zIndex","absoluteFillObject","marginTop"],"sourceRoot":"..\\..\\..\\..\\src","sources":["components/onboarding/OAuthWebView.tsx"],"mappings":"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","ignoreList":[]}
@@ -1 +1 @@
1
- {"version":3,"file":"UniversalOnboarding.d.ts","sourceRoot":"","sources":["../../../src/components/UniversalOnboarding.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAmD,MAAM,OAAO,CAAC;AA0BxE,OAAO,KAAK,EAAE,wBAAwB,EAAoB,MAAM,UAAU,CAAC;AAI3E,eAAO,MAAM,mBAAmB,EAAE,KAAK,CAAC,EAAE,CAAC,wBAAwB,CAgblE,CAAC"}
1
+ {"version":3,"file":"UniversalOnboarding.d.ts","sourceRoot":"","sources":["../../../src/components/UniversalOnboarding.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAmD,MAAM,OAAO,CAAC;AA0BxE,OAAO,KAAK,EAAE,wBAAwB,EAAoB,MAAM,UAAU,CAAC;AAI3E,eAAO,MAAM,mBAAmB,EAAE,KAAK,CAAC,EAAE,CAAC,wBAAwB,CAwblE,CAAC"}
@@ -1,4 +1,10 @@
1
1
  import React from 'react';
2
- import type { OAuthWebViewProps } from '../../types';
2
+ export interface OAuthWebViewProps {
3
+ url: string;
4
+ onClose: () => void;
5
+ onSuccess: (code: string) => void;
6
+ platform?: string;
7
+ onComplete?: () => void;
8
+ }
3
9
  export declare const OAuthWebView: React.FC<OAuthWebViewProps>;
4
10
  //# sourceMappingURL=OAuthWebView.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"OAuthWebView.d.ts","sourceRoot":"","sources":["../../../../src/components/onboarding/OAuthWebView.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAgC,MAAM,OAAO,CAAC;AAKrD,OAAO,KAAK,EAAE,iBAAiB,EAAE,MAAM,aAAa,CAAC;AAErD,eAAO,MAAM,YAAY,EAAE,KAAK,CAAC,EAAE,CAAC,iBAAiB,CA2HpD,CAAC"}
1
+ {"version":3,"file":"OAuthWebView.d.ts","sourceRoot":"","sources":["../../../../src/components/onboarding/OAuthWebView.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAmB,MAAM,OAAO,CAAC;AAgBxC,MAAM,WAAW,iBAAiB;IAChC,GAAG,EAAE,MAAM,CAAC;IACZ,OAAO,EAAE,MAAM,IAAI,CAAC;IACpB,SAAS,EAAE,CAAC,IAAI,EAAE,MAAM,KAAK,IAAI,CAAC;IAClC,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB,UAAU,CAAC,EAAE,MAAM,IAAI,CAAC;CACzB;AAED,eAAO,MAAM,YAAY,EAAE,KAAK,CAAC,EAAE,CAAC,iBAAiB,CAmMpD,CAAC"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@onairos/react-native",
3
- "version": "3.0.28",
3
+ "version": "3.0.30",
4
4
  "description": "Onairos React Native SDK for social media authentication and AI model training",
5
5
  "main": "lib/commonjs/index.js",
6
6
  "module": "lib/module/index.js",
@@ -350,7 +350,7 @@ const styles = StyleSheet.create({
350
350
  borderWidth: 1,
351
351
  },
352
352
  swervButton: {
353
- transform: [{ rotate: '-2deg' }],
353
+ transform: [{ rotate: '0deg' }],
354
354
  },
355
355
  disabledButton: {
356
356
  opacity: 0.6,
@@ -60,7 +60,7 @@ export const PinInput: React.FC<PinInputProps> = ({
60
60
  <View style={styles.header}>
61
61
  {onBack && (
62
62
  <TouchableOpacity style={styles.backButton} onPress={onBack}>
63
- <Icon name="arrow_back" size={24} color={COLORS.text.primary} />
63
+ <Icon name="arrow-back" size={24} color={COLORS.text.primary} />
64
64
  </TouchableOpacity>
65
65
  )}
66
66
  <Text style={styles.title}>Create your PIN</Text>
@@ -346,18 +346,26 @@ export const UniversalOnboarding: React.FC<UniversalOnboardingProps> = ({
346
346
  {AppName.charAt(0)}
347
347
  </Text>
348
348
  </View>
349
- <Icon name="arrow_forward" size={24} color="#666" style={styles.arrow} />
349
+ <Icon name="arrow-forward" size={24} color="#666" style={styles.arrow} />
350
350
  <View style={styles.onairosIcon}>
351
351
  <Text style={styles.onairosIconText}>O</Text>
352
352
  </View>
353
353
  </View>
354
354
  </View>
355
355
 
356
- <ScrollView style={styles.content}>
356
+ <ScrollView
357
+ style={styles.content}
358
+ contentContainerStyle={styles.scrollContent}
359
+ showsVerticalScrollIndicator={true}
360
+ bounces={true}
361
+ scrollEnabled={true}
362
+ nestedScrollEnabled={true}
363
+ keyboardShouldPersistTaps="handled"
364
+ >
357
365
  {/* Main title and description */}
358
366
  <View style={styles.titleContainer}>
359
367
  <Text style={styles.mainTitle}>
360
- Connect your data to create a Persona of you, to connect to Cosmos
368
+ Let {AppName} learn about you from your data and apps
361
369
  </Text>
362
370
  <Text style={styles.privacyMessage}>
363
371
  None of your app data is shared with ANYONE
@@ -550,6 +558,11 @@ const styles = StyleSheet.create({
550
558
  flex: 1,
551
559
  paddingHorizontal: 24,
552
560
  },
561
+ scrollContent: {
562
+ flexGrow: 1,
563
+ paddingBottom: 40,
564
+ minHeight: '100%',
565
+ },
553
566
  platformsContainer: {
554
567
  marginTop: 16,
555
568
  },
@@ -1,89 +1,183 @@
1
- import React, { useCallback, useState } from 'react';
2
- import { View, StyleSheet, ActivityIndicator, SafeAreaView, TouchableOpacity } from 'react-native';
3
- import { WebView, WebViewNavigation } from 'react-native-webview';
1
+ import React, { useState } from 'react';
2
+ import {
3
+ View,
4
+ Text,
5
+ StyleSheet,
6
+ TouchableOpacity,
7
+ ActivityIndicator,
8
+ SafeAreaView,
9
+ Dimensions,
10
+ } from 'react-native';
11
+ import { WebView } from 'react-native-webview';
4
12
  import Icon from 'react-native-vector-icons/MaterialIcons';
5
13
  import { COLORS } from '../../constants';
6
- import type { OAuthWebViewProps } from '../../types';
14
+
15
+ const { width, height } = Dimensions.get('window');
16
+
17
+ export interface OAuthWebViewProps {
18
+ url: string;
19
+ onClose: () => void;
20
+ onSuccess: (code: string) => void;
21
+ platform?: string;
22
+ onComplete?: () => void;
23
+ }
7
24
 
8
25
  export const OAuthWebView: React.FC<OAuthWebViewProps> = ({
9
26
  url,
10
- platform,
11
- onComplete,
12
27
  onClose,
13
28
  onSuccess,
29
+ platform = 'platform',
30
+ onComplete,
14
31
  }) => {
15
- const [loading, setLoading] = useState(true);
32
+ const [isLoading, setIsLoading] = useState(true);
33
+
34
+ console.log('Opening OAuth WebView with URL:', url); // Add logging
16
35
 
17
- const handleNavigationStateChange = useCallback(
18
- (navState: WebViewNavigation) => {
19
- console.log('Navigation state changed:', navState.url);
20
-
21
- // Check for the final redirect to onairos.uk/Home
22
- const isFinalRedirect = navState.url.includes('onairos.uk/Home');
23
-
24
- // Check for Instagram-specific success patterns
25
- const isInstagramSuccess = (
26
- platform === 'instagram' &&
27
- (navState.url.includes('instagram.com/oauth/authorize') ||
28
- navState.url.includes('instagram.com/accounts/login') ||
29
- navState.url.includes('code='))
30
- );
31
-
32
- // Check for platform-specific success patterns
33
- const isYouTubeSuccess = (
34
- platform === 'youtube' &&
35
- navState.url.includes('accounts.google.com/o/oauth2/approval')
36
- );
37
-
38
- const isLinkedInSuccess = (
39
- platform === 'linkedin' &&
40
- navState.url.includes('linkedin.com/oauth/v2/authorization/success')
41
- );
42
-
43
- // Check for callback URLs with authorization codes
44
- const isCallbackUrl = navState.url.includes('/callback') || navState.url.includes('code=');
45
-
46
- // If we detect success, close the window and update connection status
47
- if (isFinalRedirect || isInstagramSuccess || isYouTubeSuccess || isLinkedInSuccess) {
36
+ const handleNavigationStateChange = (navState: any) => {
37
+ console.log(`Navigation state changed for ${platform}:`, navState.url);
38
+
39
+ // Check for the final redirect to onairos.uk domain (this means backend callback completed)
40
+ const isFinalRedirect = (
41
+ navState.url.includes('onairos.uk/Home') ||
42
+ navState.url.includes('onairos.uk/home') ||
43
+ navState.url.includes('onairos.uk/success')
44
+ );
45
+
46
+ // For YouTube specifically, we need to be more careful about when to close
47
+ // Only close after the backend callback redirects to onairos.uk/Home
48
+ if (platform === 'youtube') {
49
+ // Only trigger success when we see the final redirect from the backend
50
+ if (isFinalRedirect) {
51
+ console.log('YouTube OAuth completed - backend callback finished and redirected to Home');
48
52
  onSuccess('success');
49
- if (onComplete) {
50
- onComplete();
51
- }
52
- return;
53
- } else if (isCallbackUrl) {
54
- // Extract the authorization code
55
- const authCode = extractAuthCode(navState.url);
56
- if (authCode) {
57
- onSuccess(authCode);
53
+
54
+ // Close the OAuth window after a small delay to ensure redirect is processed
55
+ setTimeout(() => {
58
56
  if (onComplete) {
57
+ console.log('Closing YouTube OAuth window after callback completion');
59
58
  onComplete();
60
59
  }
61
- }
62
- return;
60
+ }, 500);
63
61
  }
64
- },
65
- [platform, onComplete, onSuccess]
66
- );
67
-
68
- const handleLoadEnd = useCallback(() => {
69
- setLoading(false);
70
- }, []);
71
-
72
- // Extract auth code from redirect URL
73
- const extractAuthCode = (redirectUrl: string): string => {
74
- try {
75
- // First try to extract code from URL parameters
76
- const codeMatch = redirectUrl.match(/code=([^&]+)/);
62
+ return; // Exit early for YouTube to avoid other triggers
63
+ }
64
+
65
+ // Platform-specific success patterns (for non-YouTube platforms)
66
+ const platformSuccessPatterns: Record<string, RegExp[]> = {
67
+ reddit: [
68
+ /reddit\.com\/api\/v1\/authorize\?done=true/,
69
+ /reddit\.com\/api\/v1\/authorize\/success/
70
+ ],
71
+ pinterest: [
72
+ /pinterest\.com\/oauth\/success/,
73
+ /pinterest\.com\/oauth\/complete/
74
+ ],
75
+ linkedin: [
76
+ /linkedin\.com\/oauth\/success/,
77
+ /linkedin\.com\/oauth\/complete/,
78
+ /linkedin\.com\/uas\/oauth2\/authorization\/success/
79
+ ],
80
+ email: [/success/], // Generic success pattern for email
81
+ instagram: [
82
+ /instagram\.com\/oauth\/authorize\?done=true/,
83
+ /instagram\.com\/oauth\/success/
84
+ ]
85
+ };
86
+
87
+ // Check for platform-specific success patterns
88
+ const isPlatformSuccess = platform && platformSuccessPatterns[platform] ?
89
+ platformSuccessPatterns[platform].some(pattern => pattern.test(navState.url)) :
90
+ false;
91
+
92
+ // Check for callback URLs that might contain the authorization code
93
+ const isCallbackUrl = (
94
+ navState.url.includes('/callback') ||
95
+ navState.url.includes('code=') ||
96
+ navState.url.includes('token=') ||
97
+ navState.url.includes('access_token=')
98
+ );
99
+
100
+ // Extract authorization code or token if present
101
+ let authCode = null;
102
+ if (isCallbackUrl) {
103
+ console.log('Detected callback URL with possible code/token');
104
+
105
+ // Try to extract code or token using different patterns
106
+ const codeMatch = navState.url.match(/code=([^&]+)/);
107
+ const tokenMatch = navState.url.match(/(?:token|access_token)=([^&]+)/);
108
+
77
109
  if (codeMatch && codeMatch[1]) {
78
- return codeMatch[1];
110
+ authCode = codeMatch[1];
111
+ console.log('OAuth code extracted:', authCode);
112
+ } else if (tokenMatch && tokenMatch[1]) {
113
+ authCode = tokenMatch[1];
114
+ console.log('OAuth token extracted:', authCode);
79
115
  }
80
116
 
81
- // If that fails, try parsing as URL
82
- const url = new URL(redirectUrl);
83
- return url.searchParams.get('code') || '';
84
- } catch (error) {
85
- console.error('Error extracting auth code:', error);
86
- return '';
117
+ // Call onSuccess with the extracted code/token
118
+ if (authCode) {
119
+ onSuccess(authCode);
120
+ }
121
+ }
122
+
123
+ // If we see the final redirect or platform-specific success, close the OAuth window
124
+ if (isFinalRedirect || isPlatformSuccess) {
125
+ console.log(`Detected success for ${platform}`);
126
+
127
+ // If we haven't already extracted a code/token, consider this a generic success
128
+ if (!authCode) {
129
+ onSuccess('success');
130
+ }
131
+
132
+ // Close the OAuth window
133
+ if (onComplete) {
134
+ console.log('Calling onComplete to close OAuth window');
135
+ onComplete();
136
+ }
137
+ }
138
+ };
139
+
140
+ const handleLoadEnd = () => {
141
+ setIsLoading(false);
142
+ };
143
+
144
+ /**
145
+ * Get platform-specific icon
146
+ */
147
+ const getPlatformIcon = (platform: string): string => {
148
+ switch (platform) {
149
+ case 'instagram':
150
+ return 'photo-camera';
151
+ case 'youtube':
152
+ return 'smart-display';
153
+ case 'pinterest':
154
+ return 'push-pin';
155
+ case 'reddit':
156
+ return 'forum';
157
+ case 'email':
158
+ return 'email';
159
+ default:
160
+ return 'link';
161
+ }
162
+ };
163
+
164
+ /**
165
+ * Get platform-specific color
166
+ */
167
+ const getPlatformColor = (platform: string): string => {
168
+ switch (platform) {
169
+ case 'instagram':
170
+ return '#E1306C';
171
+ case 'youtube':
172
+ return '#FF0000';
173
+ case 'pinterest':
174
+ return '#E60023';
175
+ case 'reddit':
176
+ return '#FF4500';
177
+ case 'email':
178
+ return '#4285F4';
179
+ default:
180
+ return COLORS.primary;
87
181
  }
88
182
  };
89
183
 
@@ -95,10 +189,11 @@ export const OAuthWebView: React.FC<OAuthWebViewProps> = ({
95
189
  </TouchableOpacity>
96
190
  <View style={styles.titleContainer}>
97
191
  <Icon
98
- name={getPlatformIcon(platform || 'default')}
192
+ name={getPlatformIcon(platform)}
99
193
  size={20}
100
- color={getPlatformColor(platform || 'default')}
194
+ color={getPlatformColor(platform)}
101
195
  />
196
+ <Text style={styles.titleText}>{platform.charAt(0).toUpperCase() + platform.slice(1)} OAuth</Text>
102
197
  </View>
103
198
  </View>
104
199
 
@@ -106,66 +201,24 @@ export const OAuthWebView: React.FC<OAuthWebViewProps> = ({
106
201
  source={{ uri: url }}
107
202
  onNavigationStateChange={handleNavigationStateChange}
108
203
  onLoadEnd={handleLoadEnd}
109
- startInLoadingState={true}
110
- renderLoading={() => <View />}
111
204
  style={styles.webView}
112
205
  javaScriptEnabled={true}
113
206
  domStorageEnabled={true}
114
- cacheEnabled={false}
115
- incognito={false}
116
207
  sharedCookiesEnabled={true}
117
208
  thirdPartyCookiesEnabled={true}
118
- allowsInlineMediaPlayback={true}
119
- mediaPlaybackRequiresUserAction={false}
120
- allowsBackForwardNavigationGestures={true}
121
209
  userAgent="Mozilla/5.0 (iPhone; CPU iPhone OS 14_0 like Mac OS X) AppleWebKit/605.1.15 (KHTML, like Gecko) Version/14.0 Mobile/15E148 Safari/604.1"
122
210
  />
123
211
 
124
- {loading && (
212
+ {isLoading && (
125
213
  <View style={styles.loadingContainer}>
126
214
  <ActivityIndicator size="large" color={COLORS.primary} />
215
+ <Text style={styles.loadingText}>Loading {platform}...</Text>
127
216
  </View>
128
217
  )}
129
218
  </SafeAreaView>
130
219
  );
131
220
  };
132
221
 
133
- /**
134
- * Get platform-specific icon
135
- */
136
- const getPlatformIcon = (platform: string): string => {
137
- switch (platform) {
138
- case 'instagram':
139
- return 'photo-camera';
140
- case 'youtube':
141
- return 'smart-display';
142
- case 'pinterest':
143
- return 'push-pin';
144
- case 'reddit':
145
- return 'forum';
146
- default:
147
- return 'link';
148
- }
149
- };
150
-
151
- /**
152
- * Get platform-specific color
153
- */
154
- const getPlatformColor = (platform: string): string => {
155
- switch (platform) {
156
- case 'instagram':
157
- return '#E1306C';
158
- case 'youtube':
159
- return '#FF0000';
160
- case 'pinterest':
161
- return '#E60023';
162
- case 'reddit':
163
- return '#FF4500';
164
- default:
165
- return COLORS.primary;
166
- }
167
- };
168
-
169
222
  const styles = StyleSheet.create({
170
223
  container: {
171
224
  flex: 1,
@@ -182,7 +235,15 @@ const styles = StyleSheet.create({
182
235
  },
183
236
  titleContainer: {
184
237
  flex: 1,
238
+ flexDirection: 'row',
185
239
  alignItems: 'center',
240
+ justifyContent: 'center',
241
+ },
242
+ titleText: {
243
+ marginLeft: 8,
244
+ fontSize: 16,
245
+ fontWeight: '500',
246
+ color: '#000',
186
247
  },
187
248
  closeButton: {
188
249
  padding: 8,
@@ -199,4 +260,9 @@ const styles = StyleSheet.create({
199
260
  alignItems: 'center',
200
261
  justifyContent: 'center',
201
262
  },
263
+ loadingText: {
264
+ marginTop: 10,
265
+ fontSize: 16,
266
+ color: '#666',
267
+ },
202
268
  });