@onairos/react-native 3.0.24 → 3.0.26

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 (37) hide show
  1. package/lib/commonjs/components/OnairosButton.js +2 -3
  2. package/lib/commonjs/components/OnairosButton.js.map +1 -1
  3. package/lib/commonjs/components/TrainingModal.js +120 -16
  4. package/lib/commonjs/components/TrainingModal.js.map +1 -1
  5. package/lib/commonjs/components/UniversalOnboarding.js +196 -94
  6. package/lib/commonjs/components/UniversalOnboarding.js.map +1 -1
  7. package/lib/commonjs/components/onboarding/OAuthWebView.js +138 -27
  8. package/lib/commonjs/components/onboarding/OAuthWebView.js.map +1 -1
  9. package/lib/commonjs/constants/index.js +3 -3
  10. package/lib/commonjs/constants/index.js.map +1 -1
  11. package/lib/commonjs/services/platformAuthService.js +95 -44
  12. package/lib/commonjs/services/platformAuthService.js.map +1 -1
  13. package/lib/module/components/OnairosButton.js +2 -3
  14. package/lib/module/components/OnairosButton.js.map +1 -1
  15. package/lib/module/components/TrainingModal.js +120 -17
  16. package/lib/module/components/TrainingModal.js.map +1 -1
  17. package/lib/module/components/UniversalOnboarding.js +197 -95
  18. package/lib/module/components/UniversalOnboarding.js.map +1 -1
  19. package/lib/module/components/onboarding/OAuthWebView.js +139 -28
  20. package/lib/module/components/onboarding/OAuthWebView.js.map +1 -1
  21. package/lib/module/constants/index.js +3 -3
  22. package/lib/module/constants/index.js.map +1 -1
  23. package/lib/module/services/platformAuthService.js +92 -42
  24. package/lib/module/services/platformAuthService.js.map +1 -1
  25. package/lib/typescript/components/OnairosButton.d.ts.map +1 -1
  26. package/lib/typescript/components/TrainingModal.d.ts.map +1 -1
  27. package/lib/typescript/components/UniversalOnboarding.d.ts.map +1 -1
  28. package/lib/typescript/components/onboarding/OAuthWebView.d.ts.map +1 -1
  29. package/lib/typescript/services/platformAuthService.d.ts +11 -4
  30. package/lib/typescript/services/platformAuthService.d.ts.map +1 -1
  31. package/package.json +1 -1
  32. package/src/components/OnairosButton.tsx +1 -4
  33. package/src/components/TrainingModal.tsx +202 -61
  34. package/src/components/UniversalOnboarding.tsx +188 -83
  35. package/src/components/onboarding/OAuthWebView.tsx +135 -25
  36. package/src/constants/index.ts +3 -3
  37. package/src/services/platformAuthService.ts +111 -40
@@ -1,8 +1,9 @@
1
1
  import React, { useCallback, useState } from 'react';
2
- import { View, StyleSheet, ActivityIndicator, SafeAreaView, TouchableOpacity } from 'react-native';
2
+ import { View, StyleSheet, ActivityIndicator, SafeAreaView, TouchableOpacity, Text } from 'react-native';
3
3
  import { WebView } from 'react-native-webview';
4
4
  import Icon from 'react-native-vector-icons/MaterialIcons';
5
5
  import { COLORS } from '../../constants';
6
+ import { isOAuthSuccess, handleOAuthCallback } from '../../services/platformAuthService';
6
7
  export const OAuthWebView = ({
7
8
  url,
8
9
  platform,
@@ -11,36 +12,78 @@ export const OAuthWebView = ({
11
12
  onSuccess
12
13
  }) => {
13
14
  const [loading, setLoading] = useState(true);
15
+ const [currentUrl, setCurrentUrl] = useState(url);
14
16
  const handleNavigationStateChange = useCallback(navState => {
15
- // Check if the URL includes our redirect URI
16
- if (navState.url.startsWith('onairosanime://auth/')) {
17
- // Extract the authorization code from the URL
18
- const authCode = extractAuthCode(navState.url);
19
- if (authCode) {
20
- onSuccess(authCode);
17
+ console.log(`[OAuthWebView] Navigation state changed for ${platform}:`, navState.url);
18
+ setCurrentUrl(navState.url);
19
+
20
+ // Check for final redirect to onairos.uk/Home (indicates proxy has processed the callback)
21
+ if (navState.url.includes('onairos.uk/Home')) {
22
+ console.log(`[OAuthWebView] Detected final redirect to onairos.uk/Home for ${platform}`);
23
+
24
+ // Add a small delay to ensure the redirect is fully processed
25
+ setTimeout(() => {
26
+ onSuccess('success');
27
+ if (onComplete) {
28
+ onComplete();
29
+ }
30
+ }, 500);
31
+ return;
32
+ }
33
+
34
+ // Check for platform-specific success patterns using the service
35
+ if (platform && isOAuthSuccess(navState.url, platform)) {
36
+ console.log(`[OAuthWebView] Detected platform-specific success pattern for ${platform}`);
37
+
38
+ // For YouTube/Google, wait for the final redirect
39
+ if (platform === 'youtube') {
40
+ console.log(`[OAuthWebView] YouTube success detected, waiting for final redirect...`);
41
+ // Don't close immediately for YouTube, wait for the onairos.uk/Home redirect
42
+ return;
21
43
  }
22
44
 
23
- // OAuth flow is complete
24
- if (onComplete) {
25
- onComplete();
45
+ // For other platforms, close immediately
46
+ setTimeout(() => {
47
+ onSuccess('success');
48
+ if (onComplete) {
49
+ onComplete();
50
+ }
51
+ }, 300);
52
+ return;
53
+ }
54
+
55
+ // Check for callback URLs with authorization codes
56
+ if (navState.url.includes('/callback') || navState.url.includes('code=')) {
57
+ console.log(`[OAuthWebView] Detected callback URL for ${platform}:`, navState.url);
58
+
59
+ // Extract the authorization code
60
+ const authCode = handleOAuthCallback(navState.url);
61
+ if (authCode) {
62
+ console.log(`[OAuthWebView] Extracted auth code for ${platform}:`, authCode);
63
+ onSuccess(authCode);
64
+ if (onComplete) {
65
+ onComplete();
66
+ }
26
67
  }
27
68
  return;
28
69
  }
29
- }, [onComplete, onSuccess]);
70
+ }, [platform, onComplete, onSuccess]);
71
+ const handleLoadStart = useCallback(() => {
72
+ setLoading(true);
73
+ }, []);
30
74
  const handleLoadEnd = useCallback(() => {
31
75
  setLoading(false);
32
76
  }, []);
77
+ const handleError = useCallback(syntheticEvent => {
78
+ const {
79
+ nativeEvent
80
+ } = syntheticEvent;
81
+ console.error(`[OAuthWebView] WebView error for ${platform}:`, nativeEvent);
82
+ setLoading(false);
83
+ }, [platform]);
33
84
 
34
- // Extract auth code from redirect URL
35
- const extractAuthCode = redirectUrl => {
36
- try {
37
- const url = new URL(redirectUrl);
38
- return url.searchParams.get('code') || '';
39
- } catch (error) {
40
- console.error('Error extracting auth code:', error);
41
- return '';
42
- }
43
- };
85
+ // Get iOS Safari user agent for better compatibility
86
+ const userAgent = 'Mozilla/5.0 (iPhone; CPU iPhone OS 15_0 like Mac OS X) AppleWebKit/605.1.15 (KHTML, like Gecko) Version/15.0 Mobile/15E148 Safari/604.1';
44
87
  return /*#__PURE__*/React.createElement(SafeAreaView, {
45
88
  style: styles.container
46
89
  }, /*#__PURE__*/React.createElement(View, {
@@ -58,21 +101,57 @@ export const OAuthWebView = ({
58
101
  name: getPlatformIcon(platform || 'default'),
59
102
  size: 20,
60
103
  color: getPlatformColor(platform || 'default')
61
- }))), /*#__PURE__*/React.createElement(WebView, {
104
+ }), /*#__PURE__*/React.createElement(Text, {
105
+ style: styles.platformTitle
106
+ }, "Connect ", platform ? platform.charAt(0).toUpperCase() + platform.slice(1) : 'Account')), /*#__PURE__*/React.createElement(View, {
107
+ style: styles.placeholder
108
+ })), /*#__PURE__*/React.createElement(WebView, {
62
109
  source: {
63
110
  uri: url
64
111
  },
65
112
  onNavigationStateChange: handleNavigationStateChange,
113
+ onLoadStart: handleLoadStart,
66
114
  onLoadEnd: handleLoadEnd,
115
+ onError: handleError,
67
116
  startInLoadingState: true,
68
117
  renderLoading: () => /*#__PURE__*/React.createElement(View, null),
69
118
  style: styles.webView
119
+ // Essential WebView configuration for OAuth
120
+ ,
121
+ javaScriptEnabled: true,
122
+ domStorageEnabled: true,
123
+ cacheEnabled: true,
124
+ incognito: false // Allow session persistence
125
+ ,
126
+ sharedCookiesEnabled: true // Critical for Google/YouTube OAuth
127
+ ,
128
+ thirdPartyCookiesEnabled: true // Required for OAuth flows
129
+ ,
130
+ userAgent: userAgent // iOS Safari for better compatibility
131
+ // Additional settings for better OAuth support
132
+ ,
133
+ allowsInlineMediaPlayback: true,
134
+ mediaPlaybackRequiresUserAction: false,
135
+ allowsBackForwardNavigationGestures: true
136
+ // Security settings
137
+ ,
138
+ allowsLinkPreview: false,
139
+ allowFileAccess: false,
140
+ allowUniversalAccessFromFileURLs: false,
141
+ mixedContentMode: "compatibility"
70
142
  }), loading && /*#__PURE__*/React.createElement(View, {
71
143
  style: styles.loadingContainer
72
144
  }, /*#__PURE__*/React.createElement(ActivityIndicator, {
73
145
  size: "large",
74
146
  color: COLORS.primary
75
- })));
147
+ }), /*#__PURE__*/React.createElement(Text, {
148
+ style: styles.loadingText
149
+ }, "Connecting to ", platform ? platform.charAt(0).toUpperCase() + platform.slice(1) : 'platform', "...")), __DEV__ && /*#__PURE__*/React.createElement(View, {
150
+ style: styles.debugContainer
151
+ }, /*#__PURE__*/React.createElement(Text, {
152
+ style: styles.debugText,
153
+ numberOfLines: 1
154
+ }, currentUrl)));
76
155
  };
77
156
 
78
157
  /**
@@ -88,6 +167,8 @@ const getPlatformIcon = platform => {
88
167
  return 'push-pin';
89
168
  case 'reddit':
90
169
  return 'forum';
170
+ case 'email':
171
+ return 'email';
91
172
  default:
92
173
  return 'link';
93
174
  }
@@ -106,6 +187,8 @@ const getPlatformColor = platform => {
106
187
  return '#E60023';
107
188
  case 'reddit':
108
189
  return '#FF4500';
190
+ case 'email':
191
+ return '#4285F4';
109
192
  default:
110
193
  return COLORS.primary;
111
194
  }
@@ -126,22 +209,50 @@ const styles = StyleSheet.create({
126
209
  },
127
210
  titleContainer: {
128
211
  flex: 1,
129
- alignItems: 'center'
212
+ flexDirection: 'row',
213
+ alignItems: 'center',
214
+ justifyContent: 'center'
215
+ },
216
+ platformTitle: {
217
+ fontSize: 16,
218
+ fontWeight: '600',
219
+ color: '#000',
220
+ marginLeft: 8
130
221
  },
131
222
  closeButton: {
132
223
  padding: 8,
133
- position: 'absolute',
134
- left: 16,
135
- zIndex: 10
224
+ width: 40
225
+ },
226
+ placeholder: {
227
+ width: 40
136
228
  },
137
229
  webView: {
138
230
  flex: 1
139
231
  },
140
232
  loadingContainer: {
141
233
  ...StyleSheet.absoluteFillObject,
142
- backgroundColor: 'rgba(255, 255, 255, 0.8)',
234
+ backgroundColor: 'rgba(255, 255, 255, 0.9)',
143
235
  alignItems: 'center',
144
236
  justifyContent: 'center'
237
+ },
238
+ loadingText: {
239
+ fontSize: 16,
240
+ color: '#666',
241
+ marginTop: 16,
242
+ textAlign: 'center'
243
+ },
244
+ debugContainer: {
245
+ position: 'absolute',
246
+ bottom: 0,
247
+ left: 0,
248
+ right: 0,
249
+ backgroundColor: 'rgba(0, 0, 0, 0.8)',
250
+ padding: 8
251
+ },
252
+ debugText: {
253
+ color: '#fff',
254
+ fontSize: 12,
255
+ fontFamily: 'monospace'
145
256
  }
146
257
  });
147
258
  //# sourceMappingURL=OAuthWebView.js.map
@@ -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","startsWith","authCode","extractAuthCode","handleLoadEnd","redirectUrl","URL","searchParams","get","error","console","createElement","style","styles","container","header","onPress","closeButton","name","size","color","titleContainer","getPlatformIcon","getPlatformColor","source","uri","onNavigationStateChange","onLoadEnd","startInLoadingState","renderLoading","webView","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","useCallback","useState","View","StyleSheet","ActivityIndicator","SafeAreaView","TouchableOpacity","Text","WebView","Icon","COLORS","isOAuthSuccess","handleOAuthCallback","OAuthWebView","url","platform","onComplete","onClose","onSuccess","loading","setLoading","currentUrl","setCurrentUrl","handleNavigationStateChange","navState","console","log","includes","setTimeout","authCode","handleLoadStart","handleLoadEnd","handleError","syntheticEvent","nativeEvent","error","userAgent","createElement","style","styles","container","header","onPress","closeButton","name","size","color","titleContainer","getPlatformIcon","getPlatformColor","platformTitle","charAt","toUpperCase","slice","placeholder","source","uri","onNavigationStateChange","onLoadStart","onLoadEnd","onError","startInLoadingState","renderLoading","webView","javaScriptEnabled","domStorageEnabled","cacheEnabled","incognito","sharedCookiesEnabled","thirdPartyCookiesEnabled","allowsInlineMediaPlayback","mediaPlaybackRequiresUserAction","allowsBackForwardNavigationGestures","allowsLinkPreview","allowFileAccess","allowUniversalAccessFromFileURLs","mixedContentMode","loadingContainer","primary","loadingText","__DEV__","debugContainer","debugText","numberOfLines","create","flex","backgroundColor","flexDirection","alignItems","height","borderBottomWidth","borderBottomColor","paddingHorizontal","justifyContent","fontSize","fontWeight","marginLeft","padding","width","absoluteFillObject","marginTop","textAlign","position","bottom","left","right","fontFamily"],"sourceRoot":"..\\..\\..\\..\\src","sources":["components/onboarding/OAuthWebView.tsx"],"mappings":"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","ignoreList":[]}
@@ -70,8 +70,8 @@ export const PIN_REQUIREMENTS = {
70
70
  requireSpecialChar: true
71
71
  };
72
72
  export const DEEP_LINK_CONFIG = {
73
- scheme: 'onairosanime',
74
- host: 'authenticate',
75
- redirectUri: 'onairosanime://auth/'
73
+ scheme: 'onairosevents',
74
+ host: 'auth',
75
+ redirectUri: 'onairosevents://auth/callback'
76
76
  };
77
77
  //# sourceMappingURL=index.js.map
@@ -1 +1 @@
1
- {"version":3,"names":["COLORS","primary","headerBg","text","secondary","border","success","error","instagram","pinterest","reddit","youtube","white","black","gray","lightGray","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","redirectUri"],"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,SAAS;EAClBC,KAAK,EAAE,SAAS;EAChBC,KAAK,EAAE,SAAS;EAChBC,IAAI,EAAE,SAAS;EACfC,SAAS,EAAE;AACb,CAAC;AAED,OAAO,MAAMC,SAAyC,GAAG;EACvDR,SAAS,EAAE;IACTS,IAAI,EAAE,WAAW;IACjBC,IAAI,EAAE,WAAW;IACjBC,KAAK,EAAEnB,MAAM,CAACQ,SAAS;IACvBY,WAAW,EAAE;EACf,CAAC;EACDX,SAAS,EAAE;IACTQ,IAAI,EAAE,WAAW;IACjBC,IAAI,EAAE,WAAW;IACjBC,KAAK,EAAEnB,MAAM,CAACS,SAAS;IACvBW,WAAW,EAAE;EACf,CAAC;EACDV,MAAM,EAAE;IACNO,IAAI,EAAE,QAAQ;IACdC,IAAI,EAAE,QAAQ;IACdC,KAAK,EAAEnB,MAAM,CAACU,MAAM;IACpBU,WAAW,EAAE;EACf,CAAC;EACDT,OAAO,EAAE;IACPM,IAAI,EAAE,SAAS;IACfC,IAAI,EAAE,SAAS;IACfC,KAAK,EAAEnB,MAAM,CAACW,OAAO;IACrBS,WAAW,EAAE;EACf;AACF,CAAC;AAED,OAAO,MAAMC,aAAa,GAAG;EAC3BC,IAAI,EAAE,yBAAyB;EAC/BC,KAAK,EAAE;IACLf,SAAS,EAAE,iBAAiB;IAC5BC,SAAS,EAAE,iBAAiB;IAC5BC,MAAM,EAAE,cAAc;IACtBC,OAAO,EAAE;EACX,CAAC;EACDa,QAAQ,EAAE;IACRhB,SAAS,EAAE,qBAAqB;IAChCC,SAAS,EAAE,qBAAqB;IAChCC,MAAM,EAAE,kBAAkB;IAC1BC,OAAO,EAAE;EACX;AACF,CAAC;AAED,OAAO,MAAMc,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,cAAc;EACpBC,WAAW,EAAE;AACf,CAAC","ignoreList":[]}
1
+ {"version":3,"names":["COLORS","primary","headerBg","text","secondary","border","success","error","instagram","pinterest","reddit","youtube","white","black","gray","lightGray","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","redirectUri"],"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,SAAS;EAClBC,KAAK,EAAE,SAAS;EAChBC,KAAK,EAAE,SAAS;EAChBC,IAAI,EAAE,SAAS;EACfC,SAAS,EAAE;AACb,CAAC;AAED,OAAO,MAAMC,SAAyC,GAAG;EACvDR,SAAS,EAAE;IACTS,IAAI,EAAE,WAAW;IACjBC,IAAI,EAAE,WAAW;IACjBC,KAAK,EAAEnB,MAAM,CAACQ,SAAS;IACvBY,WAAW,EAAE;EACf,CAAC;EACDX,SAAS,EAAE;IACTQ,IAAI,EAAE,WAAW;IACjBC,IAAI,EAAE,WAAW;IACjBC,KAAK,EAAEnB,MAAM,CAACS,SAAS;IACvBW,WAAW,EAAE;EACf,CAAC;EACDV,MAAM,EAAE;IACNO,IAAI,EAAE,QAAQ;IACdC,IAAI,EAAE,QAAQ;IACdC,KAAK,EAAEnB,MAAM,CAACU,MAAM;IACpBU,WAAW,EAAE;EACf,CAAC;EACDT,OAAO,EAAE;IACPM,IAAI,EAAE,SAAS;IACfC,IAAI,EAAE,SAAS;IACfC,KAAK,EAAEnB,MAAM,CAACW,OAAO;IACrBS,WAAW,EAAE;EACf;AACF,CAAC;AAED,OAAO,MAAMC,aAAa,GAAG;EAC3BC,IAAI,EAAE,yBAAyB;EAC/BC,KAAK,EAAE;IACLf,SAAS,EAAE,iBAAiB;IAC5BC,SAAS,EAAE,iBAAiB;IAC5BC,MAAM,EAAE,cAAc;IACtBC,OAAO,EAAE;EACX,CAAC;EACDa,QAAQ,EAAE;IACRhB,SAAS,EAAE,qBAAqB;IAChCC,SAAS,EAAE,qBAAqB;IAChCC,MAAM,EAAE,kBAAkB;IAC1BC,OAAO,EAAE;EACX;AACF,CAAC;AAED,OAAO,MAAMc,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,eAAe;EACvBC,IAAI,EAAE,MAAM;EACZC,WAAW,EAAE;AACf,CAAC","ignoreList":[]}
@@ -9,9 +9,8 @@ const PLATFORM_AUTH_CONFIG = {
9
9
  color: '#E1306C'
10
10
  },
11
11
  youtube: {
12
- hasNativeSDK: true,
13
- // YouTube uses Google Sign-In SDK
14
- nativeSDKPackage: '@react-native-google-signin/google-signin',
12
+ hasNativeSDK: false,
13
+ // Changed to false to use OAuth flow through proxy
15
14
  authEndpoint: 'https://api2.onairos.uk/youtube/authorize',
16
15
  color: '#FF0000'
17
16
  },
@@ -57,56 +56,72 @@ export const getPlatformColor = platform => {
57
56
  };
58
57
 
59
58
  /**
60
- * Initiates the OAuth flow for a platform
59
+ * Initiates the OAuth flow for a platform using Onairos proxy
61
60
  * @param platform The platform to authenticate with
62
- * @param username The username to associate with the authentication
63
- * @returns A Promise that resolves to the OAuth URL to open in a WebView or null if using native SDK
61
+ * @param userEmail The authenticated user's email (not random username)
62
+ * @returns A Promise that resolves to the OAuth URL to open in a WebView
64
63
  */
65
- export const initiateOAuth = async (platform, username) => {
64
+ export const initiateOAuth = async (platform, userEmail) => {
66
65
  try {
67
66
  // Check if the platform is supported
68
67
  if (!PLATFORM_AUTH_CONFIG[platform]) {
69
68
  throw new Error(`Unsupported platform: ${platform}`);
70
69
  }
70
+ console.log(`Initiating OAuth for ${platform} with user: ${userEmail}`);
71
71
 
72
- // Check if platform has a native SDK
73
- if (PLATFORM_AUTH_CONFIG[platform].hasNativeSDK) {
74
- // Return null to indicate that we should use the native SDK
75
- return null;
76
- }
77
-
78
- // Prepare the request body
79
- const jsonData = {
72
+ // Prepare the request body according to Onairos proxy schema
73
+ const requestBody = {
80
74
  session: {
81
- username: username || 'anonymous'
75
+ username: userEmail || 'anonymous@example.com',
76
+ platform: platform,
77
+ timestamp: new Date().toISOString()
82
78
  }
83
79
  };
80
+ console.log(`Making request to: ${PLATFORM_AUTH_CONFIG[platform].authEndpoint}`);
81
+ console.log('Request body:', JSON.stringify(requestBody, null, 2));
84
82
 
85
- // Make the request to get the OAuth URL
83
+ // Make the request to get the OAuth URL from Onairos proxy
86
84
  const response = await fetch(PLATFORM_AUTH_CONFIG[platform].authEndpoint, {
87
85
  method: 'POST',
88
86
  headers: {
89
- 'Content-Type': 'application/json'
87
+ 'Content-Type': 'application/json',
88
+ 'Accept': 'application/json'
90
89
  },
91
- body: JSON.stringify(jsonData)
90
+ body: JSON.stringify(requestBody)
92
91
  });
92
+ console.log(`Response status: ${response.status}`);
93
+ console.log(`Response headers:`, response.headers);
94
+ if (!response.ok) {
95
+ const errorText = await response.text();
96
+ console.error(`HTTP error! status: ${response.status}, body: ${errorText}`);
97
+ throw new Error(`HTTP error! status: ${response.status} - ${errorText}`);
98
+ }
93
99
 
94
100
  // Parse the response
95
101
  const data = await response.json();
102
+ console.log(`OAuth response for ${platform}:`, data);
96
103
 
97
- // Check if the response contains the OAuth URL
98
- if (platform === 'reddit' && data.redditURL) {
99
- return data.redditURL;
104
+ // Check for platform-specific response keys according to schema
105
+ let oauthUrl = null;
106
+ if (platform === 'youtube' && data.youtubeURL) {
107
+ oauthUrl = data.youtubeURL;
108
+ } else if (platform === 'reddit' && data.redditURL) {
109
+ oauthUrl = data.redditURL;
100
110
  } else if (platform === 'pinterest' && data.pinterestURL) {
101
- return data.pinterestURL;
102
- } else if (platform === 'youtube' && data.youtubeURL) {
103
- return data.youtubeURL;
111
+ oauthUrl = data.pinterestURL;
104
112
  } else if (platform === 'email' && data.emailURL) {
105
- return data.emailURL;
113
+ oauthUrl = data.emailURL;
114
+ } else if (platform === 'instagram' && data.instagramURL) {
115
+ oauthUrl = data.instagramURL;
106
116
  } else if (data.url) {
107
- return data.url;
117
+ // Generic fallback
118
+ oauthUrl = data.url;
108
119
  }
109
- throw new Error(`No OAuth URL found in response for ${platform}`);
120
+ if (!oauthUrl) {
121
+ throw new Error(`No OAuth URL found in response for ${platform}. Response: ${JSON.stringify(data)}`);
122
+ }
123
+ console.log(`Successfully received OAuth URL for ${platform}: ${oauthUrl}`);
124
+ return oauthUrl;
110
125
  } catch (error) {
111
126
  console.error(`Error initiating OAuth for ${platform}:`, error);
112
127
  throw error;
@@ -120,17 +135,9 @@ export const initiateOAuth = async (platform, username) => {
120
135
  */
121
136
  export const initiateNativeAuth = async platform => {
122
137
  try {
123
- // Currently only YouTube (Google Sign-In) is supported
124
- if (platform === 'youtube') {
125
- // This is a placeholder for the actual implementation
126
- // In a real implementation, you would import and use the Google Sign-In SDK
127
- console.log('Initiating native Google Sign-In for YouTube');
128
-
129
- // Simulate a successful authentication
130
- // In a real implementation, this would be the result of the Google Sign-In flow
131
- return true;
132
- }
133
- throw new Error(`Native authentication not supported for ${platform}`);
138
+ // Currently no platforms use native SDK - all go through Onairos proxy
139
+ console.log(`Native authentication not available for ${platform}, use OAuth flow instead`);
140
+ return false;
134
141
  } catch (error) {
135
142
  console.error(`Error initiating native auth for ${platform}:`, error);
136
143
  throw error;
@@ -144,11 +151,15 @@ export const initiateNativeAuth = async platform => {
144
151
  */
145
152
  export const handleOAuthCallback = url => {
146
153
  try {
154
+ console.log('Handling OAuth callback URL:', url);
155
+
147
156
  // Parse the URL
148
157
  const parsedUrl = new URL(url);
149
158
 
150
159
  // Extract the authorization code
151
- return parsedUrl.searchParams.get('code');
160
+ const code = parsedUrl.searchParams.get('code');
161
+ console.log('Extracted authorization code:', code);
162
+ return code;
152
163
  } catch (error) {
153
164
  console.error('Error handling OAuth callback:', error);
154
165
  return null;
@@ -161,7 +172,46 @@ export const handleOAuthCallback = url => {
161
172
  * @returns True if the URL is an OAuth callback
162
173
  */
163
174
  export const isOAuthCallback = url => {
164
- // Check if the URL starts with our redirect URI
165
- return url.startsWith('onairosanime://auth/');
175
+ // Updated to use correct deep link scheme
176
+ const isCallback = url.startsWith('onairosevents://auth/callback') || url.includes('/callback') || url.includes('code=') || url.includes('onairos.uk/Home');
177
+ console.log(`Checking if URL is OAuth callback: ${url} -> ${isCallback}`);
178
+ return isCallback;
179
+ };
180
+
181
+ /**
182
+ * Detects if OAuth flow has completed successfully based on URL patterns
183
+ * @param url The current URL in the WebView
184
+ * @param platform The platform being authenticated
185
+ * @returns True if the OAuth flow has completed successfully
186
+ */
187
+ export const isOAuthSuccess = (url, platform) => {
188
+ console.log(`Checking OAuth success for ${platform} with URL: ${url}`);
189
+
190
+ // Check for final redirect to Onairos home page (indicates proxy has processed the callback)
191
+ if (url.includes('onairos.uk/Home')) {
192
+ console.log('Detected final redirect to onairos.uk/Home - OAuth success');
193
+ return true;
194
+ }
195
+
196
+ // Platform-specific success patterns
197
+ switch (platform) {
198
+ case 'youtube':
199
+ // YouTube/Google OAuth success patterns
200
+ return url.includes('accounts.google.com/o/oauth2/approval') || url.includes('consent.google.com/ml/save') || url.includes('myaccount.google.com');
201
+ case 'reddit':
202
+ // Reddit OAuth success patterns
203
+ return url.includes('/api/v1/authorize?done=true') || url.includes('reddit.com/api/v1/authorize/compact');
204
+ case 'pinterest':
205
+ // Pinterest OAuth success patterns
206
+ return url.includes('/oauth/success') || url.includes('/oauth/complete');
207
+ case 'instagram':
208
+ // Instagram OAuth success patterns
209
+ return url.includes('/oauth/authorize/?response_type=code') || url.includes('instagram.com/oauth/authorize');
210
+ case 'email':
211
+ // Email verification success patterns
212
+ return url.includes('/email/verify/success') || url.includes('/email/confirmed');
213
+ default:
214
+ return false;
215
+ }
166
216
  };
167
217
  //# sourceMappingURL=platformAuthService.js.map
@@ -1 +1 @@
1
- {"version":3,"names":["PLATFORM_AUTH_CONFIG","instagram","hasNativeSDK","authEndpoint","color","youtube","nativeSDKPackage","reddit","pinterest","email","platform","config","getAuthEndpoint","getPlatformColor","initiateOAuth","username","Error","jsonData","session","response","fetch","method","headers","body","JSON","stringify","data","json","redditURL","pinterestURL","youtubeURL","emailURL","url","error","console","initiateNativeAuth","log","handleOAuthCallback","parsedUrl","URL","searchParams","get","isOAuthCallback","startsWith"],"sourceRoot":"..\\..\\..\\src","sources":["services/platformAuthService.ts"],"mappings":"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","ignoreList":[]}
1
+ {"version":3,"names":["PLATFORM_AUTH_CONFIG","instagram","hasNativeSDK","authEndpoint","color","youtube","reddit","pinterest","email","platform","config","getAuthEndpoint","getPlatformColor","initiateOAuth","userEmail","Error","console","log","requestBody","session","username","timestamp","Date","toISOString","JSON","stringify","response","fetch","method","headers","body","status","ok","errorText","text","error","data","json","oauthUrl","youtubeURL","redditURL","pinterestURL","emailURL","instagramURL","url","initiateNativeAuth","handleOAuthCallback","parsedUrl","URL","code","searchParams","get","isOAuthCallback","isCallback","startsWith","includes","isOAuthSuccess"],"sourceRoot":"..\\..\\..\\src","sources":["services/platformAuthService.ts"],"mappings":"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","ignoreList":[]}
@@ -1 +1 @@
1
- {"version":3,"file":"OnairosButton.d.ts","sourceRoot":"","sources":["../../../src/components/OnairosButton.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAiE,MAAM,OAAO,CAAC;AActF,OAAO,KAAK,EAAE,kBAAkB,EAAE,MAAM,UAAU,CAAC;AAKnD,MAAM,WAAW,gBAAgB;IAC/B,OAAO,EAAE,MAAM,OAAO,CAAC,IAAI,CAAC,CAAC;IAC7B,KAAK,EAAE,MAAM,OAAO,CAAC,IAAI,CAAC,CAAC;CAC5B;AAED;;GAEG;AACH,eAAO,MAAM,aAAa,6FAsSxB,CAAC"}
1
+ {"version":3,"file":"OnairosButton.d.ts","sourceRoot":"","sources":["../../../src/components/OnairosButton.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAiE,MAAM,OAAO,CAAC;AActF,OAAO,KAAK,EAAE,kBAAkB,EAAE,MAAM,UAAU,CAAC;AAInD,MAAM,WAAW,gBAAgB;IAC/B,OAAO,EAAE,MAAM,OAAO,CAAC,IAAI,CAAC,CAAC;IAC7B,KAAK,EAAE,MAAM,OAAO,CAAC,IAAI,CAAC,CAAC;CAC5B;AAED;;GAEG;AACH,eAAO,MAAM,aAAa,6FAoSxB,CAAC"}
@@ -1 +1 @@
1
- {"version":3,"file":"TrainingModal.d.ts","sourceRoot":"","sources":["../../../src/components/TrainingModal.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAK,MAAM,OAAO,CAAC;AAe1B,OAAO,KAAK,EAAE,kBAAkB,EAAE,MAAM,UAAU,CAAC;AAInD,eAAO,MAAM,aAAa,EAAE,KAAK,CAAC,EAAE,CAAC,kBAAkB,CAgFtD,CAAC"}
1
+ {"version":3,"file":"TrainingModal.d.ts","sourceRoot":"","sources":["../../../src/components/TrainingModal.tsx"],"names":[],"mappings":"AAAA,OAAO,KAA8B,MAAM,OAAO,CAAC;AAkBnD,OAAO,KAAK,EAAE,kBAAkB,EAAE,MAAM,UAAU,CAAC;AAgBnD,eAAO,MAAM,aAAa,EAAE,KAAK,CAAC,EAAE,CAAC,kBAAkB,CA6KtD,CAAC"}
@@ -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,CAoalE,CAAC"}
1
+ {"version":3,"file":"UniversalOnboarding.d.ts","sourceRoot":"","sources":["../../../src/components/UniversalOnboarding.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAmD,MAAM,OAAO,CAAC;AA2BxE,OAAO,KAAK,EAAE,wBAAwB,EAAoB,MAAM,UAAU,CAAC;AAI3E,eAAO,MAAM,mBAAmB,EAAE,KAAK,CAAC,EAAE,CAAC,wBAAwB,CA8dlE,CAAC"}
@@ -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,CA2EpD,CAAC"}
1
+ {"version":3,"file":"OAuthWebView.d.ts","sourceRoot":"","sources":["../../../../src/components/onboarding/OAuthWebView.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAgC,MAAM,OAAO,CAAC;AAMrD,OAAO,KAAK,EAAE,iBAAiB,EAAE,MAAM,aAAa,CAAC;AAErD,eAAO,MAAM,YAAY,EAAE,KAAK,CAAC,EAAE,CAAC,iBAAiB,CAwJpD,CAAC"}
@@ -11,12 +11,12 @@ export declare const getAuthEndpoint: (platform: string) => string;
11
11
  */
12
12
  export declare const getPlatformColor: (platform: string) => string;
13
13
  /**
14
- * Initiates the OAuth flow for a platform
14
+ * Initiates the OAuth flow for a platform using Onairos proxy
15
15
  * @param platform The platform to authenticate with
16
- * @param username The username to associate with the authentication
17
- * @returns A Promise that resolves to the OAuth URL to open in a WebView or null if using native SDK
16
+ * @param userEmail The authenticated user's email (not random username)
17
+ * @returns A Promise that resolves to the OAuth URL to open in a WebView
18
18
  */
19
- export declare const initiateOAuth: (platform: string, username: string) => Promise<string | null>;
19
+ export declare const initiateOAuth: (platform: string, userEmail: string) => Promise<string | null>;
20
20
  /**
21
21
  * Initiates the native SDK authentication flow for a platform
22
22
  * @param platform The platform to authenticate with
@@ -35,4 +35,11 @@ export declare const handleOAuthCallback: (url: string) => string | null;
35
35
  * @returns True if the URL is an OAuth callback
36
36
  */
37
37
  export declare const isOAuthCallback: (url: string) => boolean;
38
+ /**
39
+ * Detects if OAuth flow has completed successfully based on URL patterns
40
+ * @param url The current URL in the WebView
41
+ * @param platform The platform being authenticated
42
+ * @returns True if the OAuth flow has completed successfully
43
+ */
44
+ export declare const isOAuthSuccess: (url: string, platform: string) => boolean;
38
45
  //# sourceMappingURL=platformAuthService.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"platformAuthService.d.ts","sourceRoot":"","sources":["../../../src/services/platformAuthService.ts"],"names":[],"mappings":"AAyCA;;GAEG;AACH,eAAO,MAAM,YAAY,aAAc,MAAM,KAAG,OAG/C,CAAC;AAEF;;GAEG;AACH,eAAO,MAAM,eAAe,aAAc,MAAM,KAAG,MAGlD,CAAC;AAEF;;GAEG;AACH,eAAO,MAAM,gBAAgB,aAAc,MAAM,KAAG,MAGnD,CAAC;AAEF;;;;;GAKG;AACH,eAAO,MAAM,aAAa,aAAoB,MAAM,YAAY,MAAM,KAAG,QAAQ,MAAM,GAAG,IAAI,CAkD7F,CAAC;AAEF;;;;GAIG;AACH,eAAO,MAAM,kBAAkB,aAAoB,MAAM,KAAG,QAAQ,OAAO,CAkB1E,CAAC;AAEF;;;;GAIG;AACH,eAAO,MAAM,mBAAmB,QAAS,MAAM,KAAG,MAAM,GAAG,IAW1D,CAAC;AAEF;;;;GAIG;AACH,eAAO,MAAM,eAAe,QAAS,MAAM,KAAG,OAG7C,CAAC"}
1
+ {"version":3,"file":"platformAuthService.d.ts","sourceRoot":"","sources":["../../../src/services/platformAuthService.ts"],"names":[],"mappings":"AAwCA;;GAEG;AACH,eAAO,MAAM,YAAY,aAAc,MAAM,KAAG,OAG/C,CAAC;AAEF;;GAEG;AACH,eAAO,MAAM,eAAe,aAAc,MAAM,KAAG,MAGlD,CAAC;AAEF;;GAEG;AACH,eAAO,MAAM,gBAAgB,aAAc,MAAM,KAAG,MAGnD,CAAC;AAEF;;;;;GAKG;AACH,eAAO,MAAM,aAAa,aAAoB,MAAM,aAAa,MAAM,KAAG,QAAQ,MAAM,GAAG,IAAI,CAwE9F,CAAC;AAEF;;;;GAIG;AACH,eAAO,MAAM,kBAAkB,aAAoB,MAAM,KAAG,QAAQ,OAAO,CAS1E,CAAC;AAEF;;;;GAIG;AACH,eAAO,MAAM,mBAAmB,QAAS,MAAM,KAAG,MAAM,GAAG,IAgB1D,CAAC;AAEF;;;;GAIG;AACH,eAAO,MAAM,eAAe,QAAS,MAAM,KAAG,OAS7C,CAAC;AAEF;;;;;GAKG;AACH,eAAO,MAAM,cAAc,QAAS,MAAM,YAAY,MAAM,KAAG,OAwC9D,CAAC"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@onairos/react-native",
3
- "version": "3.0.24",
3
+ "version": "3.0.26",
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",
@@ -15,7 +15,6 @@ import { COLORS } from '../constants';
15
15
  import type { OnairosButtonProps } from '../types';
16
16
  import { hasCredentials, getCredentials, deleteCredentials as clearCredentials } from '../utils/secureStorage';
17
17
  import { onairosApi } from '../api';
18
- import { Portal } from '../utils/Portal';
19
18
 
20
19
  export interface OnairosButtonRef {
21
20
  trigger: () => Promise<void>;
@@ -304,9 +303,8 @@ export const OnairosButton = forwardRef<OnairosButtonRef, OnairosButtonProps>(({
304
303
  />
305
304
  )}
306
305
 
307
- {/* Overlay rendered through Portal to ensure it appears at root level */}
306
+ {/* Overlay rendered directly without Portal */}
308
307
  {showOverlay && storedCredentials && (
309
- <Portal>
310
308
  <Overlay
311
309
  data={requestData || {}}
312
310
  username={storedCredentials.username}
@@ -315,7 +313,6 @@ export const OnairosButton = forwardRef<OnairosButtonRef, OnairosButtonProps>(({
315
313
  appName={AppName}
316
314
  darkMode={darkMode}
317
315
  />
318
- </Portal>
319
316
  )}
320
317
  </>
321
318
  );