@onairos/react-native 3.0.57 → 3.0.59

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 (36) hide show
  1. package/README.md +2 -0
  2. package/lib/commonjs/components/DataRequestModal.js +87 -35
  3. package/lib/commonjs/components/DataRequestModal.js.map +1 -1
  4. package/lib/commonjs/components/OnairosButton.js +2 -0
  5. package/lib/commonjs/components/OnairosButton.js.map +1 -1
  6. package/lib/commonjs/components/Overlay.js.map +1 -1
  7. package/lib/commonjs/components/UniversalOnboarding.js +69 -50
  8. package/lib/commonjs/components/UniversalOnboarding.js.map +1 -1
  9. package/lib/commonjs/hooks/useConnections.js +28 -22
  10. package/lib/commonjs/hooks/useConnections.js.map +1 -1
  11. package/lib/module/components/DataRequestModal.js +88 -36
  12. package/lib/module/components/DataRequestModal.js.map +1 -1
  13. package/lib/module/components/OnairosButton.js +2 -0
  14. package/lib/module/components/OnairosButton.js.map +1 -1
  15. package/lib/module/components/Overlay.js.map +1 -1
  16. package/lib/module/components/UniversalOnboarding.js +69 -50
  17. package/lib/module/components/UniversalOnboarding.js.map +1 -1
  18. package/lib/module/hooks/useConnections.js +28 -22
  19. package/lib/module/hooks/useConnections.js.map +1 -1
  20. package/lib/typescript/components/DataRequestModal.d.ts +1 -1
  21. package/lib/typescript/components/DataRequestModal.d.ts.map +1 -1
  22. package/lib/typescript/components/OnairosButton.d.ts +1 -1
  23. package/lib/typescript/components/OnairosButton.d.ts.map +1 -1
  24. package/lib/typescript/components/Overlay.d.ts +1 -20
  25. package/lib/typescript/components/Overlay.d.ts.map +1 -1
  26. package/lib/typescript/components/UniversalOnboarding.d.ts.map +1 -1
  27. package/lib/typescript/hooks/useConnections.d.ts.map +1 -1
  28. package/lib/typescript/types.d.ts +32 -11
  29. package/lib/typescript/types.d.ts.map +1 -1
  30. package/package.json +1 -1
  31. package/src/components/DataRequestModal.tsx +226 -186
  32. package/src/components/OnairosButton.tsx +3 -1
  33. package/src/components/Overlay.tsx +1 -15
  34. package/src/components/UniversalOnboarding.tsx +73 -49
  35. package/src/hooks/useConnections.ts +26 -17
  36. package/src/types.ts +35 -11
@@ -1 +1 @@
1
- {"version":3,"file":"UniversalOnboarding.d.ts","sourceRoot":"","sources":["../../../src/components/UniversalOnboarding.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAmD,MAAM,OAAO,CAAC;AA6BxE,OAAO,KAAK,EAAE,wBAAwB,EAAoB,MAAM,UAAU,CAAC;AAmB3E,eAAO,MAAM,mBAAmB,EAAE,KAAK,CAAC,EAAE,CAAC,wBAAwB,CAq6BlE,CAAC"}
1
+ {"version":3,"file":"UniversalOnboarding.d.ts","sourceRoot":"","sources":["../../../src/components/UniversalOnboarding.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAmD,MAAM,OAAO,CAAC;AA6BxE,OAAO,KAAK,EAAE,wBAAwB,EAAoB,MAAM,UAAU,CAAC;AAmB3E,eAAO,MAAM,mBAAmB,EAAE,KAAK,CAAC,EAAE,CAAC,wBAAwB,CAy7BlE,CAAC"}
@@ -1 +1 @@
1
- {"version":3,"file":"useConnections.d.ts","sourceRoot":"","sources":["../../../src/hooks/useConnections.ts"],"names":[],"mappings":"AAGA,OAAO,KAAK,EAAE,gBAAgB,EAAE,MAAM,UAAU,CAAC;AAuBjD,eAAO,MAAM,cAAc;;gCAmD4B,MAAM;mCAqCH,MAAM;+BArFZ,QAAQ,gBAAgB,CAAC;oCAqGlB,MAAM,QAAQ,GAAG;CAuB3E,CAAC"}
1
+ {"version":3,"file":"useConnections.d.ts","sourceRoot":"","sources":["../../../src/hooks/useConnections.ts"],"names":[],"mappings":"AAGA,OAAO,KAAK,EAAE,gBAAgB,EAAE,MAAM,UAAU,CAAC;AAuBjD,eAAO,MAAM,cAAc;;gCA4D4B,MAAM;mCAqCH,MAAM;+BA9FZ,QAAQ,gBAAgB,CAAC;oCA8GlB,MAAM,QAAQ,GAAG;CAuB3E,CAAC"}
@@ -3,14 +3,23 @@ export interface DataTier {
3
3
  descriptions: string;
4
4
  reward: string;
5
5
  }
6
+ export interface DataRequest {
7
+ name: string;
8
+ description: string;
9
+ reward: string;
10
+ }
6
11
  export interface UniversalOnboardingProps {
7
12
  visible: boolean;
8
13
  onClose: () => void;
9
14
  AppName: string;
15
+ appIcon?: any;
10
16
  requestData: {
11
- Small: DataTier;
12
- Medium: DataTier;
13
- Large: DataTier;
17
+ Small?: DataTier;
18
+ Medium?: DataTier;
19
+ Large?: DataTier;
20
+ personality_traits?: DataRequest;
21
+ sentiment_analysis?: DataRequest;
22
+ [key: string]: DataTier | DataRequest | undefined;
14
23
  };
15
24
  returnLink: string;
16
25
  onComplete: (apiUrl: string, token: string, data: any) => void;
@@ -35,11 +44,15 @@ export interface OnairosButtonProps {
35
44
  returnLink?: string;
36
45
  prefillUrl?: string;
37
46
  AppName: string;
47
+ appIcon?: any;
38
48
  buttonType?: 'normal' | 'pill';
39
49
  requestData?: {
40
- Small: DataTier;
41
- Medium: DataTier;
42
- Large: DataTier;
50
+ Small?: DataTier;
51
+ Medium?: DataTier;
52
+ Large?: DataTier;
53
+ personality_traits?: DataRequest;
54
+ sentiment_analysis?: DataRequest;
55
+ [key: string]: DataTier | DataRequest | undefined;
43
56
  };
44
57
  buttonWidth?: number;
45
58
  buttonHeight?: number;
@@ -124,15 +137,23 @@ export interface CredentialsResult {
124
137
  }
125
138
  export interface OverlayProps {
126
139
  data: {
127
- [key: string]: {
128
- type: string;
129
- descriptions: string;
130
- reward: string;
131
- };
140
+ Small?: DataTier;
141
+ Medium?: DataTier;
142
+ Large?: DataTier;
143
+ personality_traits?: DataRequest;
144
+ sentiment_analysis?: DataRequest;
145
+ [key: string]: DataTier | DataRequest | undefined;
132
146
  };
133
147
  username: string;
134
148
  modelKey: string;
135
149
  onResolved: (apiUrl: string, accessToken: string, loginDetails: any) => void;
150
+ appName?: string;
151
+ darkMode?: boolean;
152
+ platforms?: Array<{
153
+ id: string;
154
+ name: string;
155
+ icon: any;
156
+ }>;
136
157
  }
137
158
  export interface BiometricOptions {
138
159
  enableBiometrics?: boolean;
@@ -1 +1 @@
1
- {"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../../src/types.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../../src/types.ts"],"names":[],"mappings":"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"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@onairos/react-native",
3
- "version": "3.0.57",
3
+ "version": "3.0.59",
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",
@@ -1,187 +1,227 @@
1
- import React from 'react';
2
- import {
3
- View,
4
- Text,
5
- StyleSheet,
6
- TouchableOpacity,
7
- ScrollView,
8
- Modal,
9
- } from 'react-native';
10
- import Icon from 'react-native-vector-icons/MaterialIcons';
11
- import { COLORS, PLATFORMS } from '../constants';
12
-
13
- interface DataRequestModalProps {
14
- visible: boolean;
15
- onClose: () => void;
16
- onAccept: () => void;
17
- requestData: Record<string, Record<string, string>>;
18
- AppName: string;
19
- }
20
-
21
- export const DataRequestModal: React.FC<DataRequestModalProps> = ({
22
- visible,
23
- onClose,
24
- onAccept,
25
- requestData,
26
- AppName,
27
- }) => {
28
- const renderPermissions = () => {
29
- return Object.entries(requestData).map(([platform, permissions]) => {
30
- const platformConfig = PLATFORMS[platform];
31
- if (!platformConfig) return null;
32
-
33
- return (
34
- <View key={platform} style={styles.platformContainer}>
35
- <View style={styles.platformHeader}>
36
- <Icon name={platformConfig.icon} size={24} color={platformConfig.color} />
37
- <Text style={styles.platformName}>{platformConfig.name}</Text>
38
- </View>
39
- <View style={styles.permissionsContainer}>
40
- {Object.entries(permissions).map(([key, value]) => (
41
- <Text key={key} style={styles.permissionText}>
42
- • {key}: {value}
43
- </Text>
44
- ))}
45
- </View>
46
- </View>
47
- );
48
- });
49
- };
50
-
51
- return (
52
- <Modal
53
- visible={visible}
54
- transparent
55
- animationType="slide"
56
- onRequestClose={onClose}
57
- >
58
- <View style={styles.modalOverlay}>
59
- <View style={styles.modalContent}>
60
- <View style={styles.header}>
61
- <Icon name="auto_awesome" size={24} color={COLORS.primary} />
62
- <Text style={styles.headerTitle}>
63
- {AppName} Data Request
64
- </Text>
65
- <TouchableOpacity onPress={onClose} style={styles.closeButton}>
66
- <Icon name="close" size={24} color="#000" />
67
- </TouchableOpacity>
68
- </View>
69
-
70
- <ScrollView style={styles.scrollContent}>
71
- <Text style={styles.description}>
72
- {AppName} is requesting access to the following data:
73
- </Text>
74
- {renderPermissions()}
75
- </ScrollView>
76
-
77
- <View style={styles.footer}>
78
- <TouchableOpacity
79
- style={[styles.button, styles.cancelButton]}
80
- onPress={onClose}
81
- >
82
- <Text style={styles.cancelButtonText}>Cancel</Text>
83
- </TouchableOpacity>
84
- <TouchableOpacity
85
- style={[styles.button, styles.acceptButton]}
86
- onPress={onAccept}
87
- >
88
- <Text style={styles.acceptButtonText}>Accept</Text>
89
- </TouchableOpacity>
90
- </View>
91
- </View>
92
- </View>
93
- </Modal>
94
- );
95
- };
96
-
97
- const styles = StyleSheet.create({
98
- modalOverlay: {
99
- flex: 1,
100
- backgroundColor: 'rgba(0, 0, 0, 0.5)',
101
- justifyContent: 'center',
102
- alignItems: 'center',
103
- },
104
- modalContent: {
105
- backgroundColor: '#fff',
106
- borderRadius: 16,
107
- width: '90%',
108
- maxHeight: '80%',
109
- overflow: 'hidden',
110
- },
111
- header: {
112
- flexDirection: 'row',
113
- alignItems: 'center',
114
- padding: 16,
115
- backgroundColor: COLORS.headerBg,
116
- },
117
- headerTitle: {
118
- flex: 1,
119
- fontSize: 18,
120
- fontWeight: '600',
121
- marginLeft: 12,
122
- color: '#000',
123
- },
124
- closeButton: {
125
- padding: 8,
126
- },
127
- scrollContent: {
128
- padding: 16,
129
- },
130
- description: {
131
- fontSize: 16,
132
- color: COLORS.text.secondary,
133
- marginBottom: 16,
134
- },
135
- platformContainer: {
136
- marginBottom: 16,
137
- borderWidth: 1,
138
- borderColor: COLORS.border,
139
- borderRadius: 8,
140
- padding: 12,
141
- },
142
- platformHeader: {
143
- flexDirection: 'row',
144
- alignItems: 'center',
145
- marginBottom: 8,
146
- },
147
- platformName: {
148
- fontSize: 16,
149
- fontWeight: '600',
150
- marginLeft: 8,
151
- },
152
- permissionsContainer: {
153
- marginLeft: 32,
154
- },
155
- permissionText: {
156
- fontSize: 14,
157
- color: COLORS.text.secondary,
158
- marginBottom: 4,
159
- },
160
- footer: {
161
- flexDirection: 'row',
162
- padding: 16,
163
- borderTopWidth: 1,
164
- borderTopColor: COLORS.border,
165
- justifyContent: 'flex-end',
166
- },
167
- button: {
168
- paddingHorizontal: 20,
169
- paddingVertical: 10,
170
- borderRadius: 8,
171
- marginLeft: 12,
172
- },
173
- cancelButton: {
174
- backgroundColor: COLORS.border,
175
- },
176
- acceptButton: {
177
- backgroundColor: COLORS.primary,
178
- },
179
- cancelButtonText: {
180
- color: COLORS.text.secondary,
181
- fontWeight: '600',
182
- },
183
- acceptButtonText: {
184
- color: '#fff',
185
- fontWeight: '600',
186
- },
1
+ import React from 'react';
2
+ import {
3
+ View,
4
+ Text,
5
+ StyleSheet,
6
+ TouchableOpacity,
7
+ ScrollView,
8
+ Modal,
9
+ } from 'react-native';
10
+ import Icon from 'react-native-vector-icons/MaterialIcons';
11
+ import { COLORS, PLATFORMS } from '../constants';
12
+
13
+ interface DataRequestModalProps {
14
+ visible: boolean;
15
+ onClose: () => void;
16
+ onAccept: () => void;
17
+ requestData: Record<string, any>;
18
+ AppName: string;
19
+ }
20
+
21
+ export const DataRequestModal: React.FC<DataRequestModalProps> = ({
22
+ visible,
23
+ onClose,
24
+ onAccept,
25
+ requestData,
26
+ AppName,
27
+ }) => {
28
+ const renderDataRequests = () => {
29
+ return Object.entries(requestData).map(([key, data]) => {
30
+ // Skip if data is undefined or doesn't have the expected structure
31
+ if (!data || typeof data !== 'object') return null;
32
+
33
+ // Handle new format (personality_traits, sentiment_analysis)
34
+ if ('name' in data && 'description' in data && 'reward' in data) {
35
+ return (
36
+ <View key={key} style={styles.dataRequestContainer}>
37
+ <View style={styles.dataRequestHeader}>
38
+ <Icon
39
+ name={key === 'personality_traits' ? 'psychology' : 'analytics'}
40
+ size={24}
41
+ color={COLORS.primary}
42
+ />
43
+ <Text style={styles.dataRequestName}>{data.name}</Text>
44
+ </View>
45
+ <Text style={styles.dataRequestDescription}>{data.description}</Text>
46
+ <View style={styles.rewardContainer}>
47
+ <Icon name="star" size={16} color="#FFD700" />
48
+ <Text style={styles.rewardText}>{data.reward}</Text>
49
+ </View>
50
+ </View>
51
+ );
52
+ }
53
+
54
+ // Handle old format (Small, Medium, Large) for backward compatibility
55
+ if ('type' in data && 'descriptions' in data && 'reward' in data) {
56
+ return (
57
+ <View key={key} style={styles.dataRequestContainer}>
58
+ <View style={styles.dataRequestHeader}>
59
+ <Icon name="data_usage" size={24} color={COLORS.primary} />
60
+ <Text style={styles.dataRequestName}>{key} - {data.type}</Text>
61
+ </View>
62
+ <Text style={styles.dataRequestDescription}>{data.descriptions}</Text>
63
+ <View style={styles.rewardContainer}>
64
+ <Icon name="star" size={16} color="#FFD700" />
65
+ <Text style={styles.rewardText}>{data.reward}</Text>
66
+ </View>
67
+ </View>
68
+ );
69
+ }
70
+
71
+ return null;
72
+ });
73
+ };
74
+
75
+ return (
76
+ <Modal
77
+ visible={visible}
78
+ transparent
79
+ animationType="slide"
80
+ onRequestClose={onClose}
81
+ >
82
+ <View style={styles.modalOverlay}>
83
+ <View style={styles.modalContent}>
84
+ <View style={styles.header}>
85
+ <Icon name="auto_awesome" size={24} color={COLORS.primary} />
86
+ <Text style={styles.headerTitle}>
87
+ {AppName} Data Request
88
+ </Text>
89
+ <TouchableOpacity onPress={onClose} style={styles.closeButton}>
90
+ <Icon name="close" size={24} color="#000" />
91
+ </TouchableOpacity>
92
+ </View>
93
+
94
+ <ScrollView style={styles.scrollContent}>
95
+ <Text style={styles.description}>
96
+ {AppName} is requesting access to the following data insights:
97
+ </Text>
98
+ {renderDataRequests()}
99
+ </ScrollView>
100
+
101
+ <View style={styles.footer}>
102
+ <TouchableOpacity
103
+ style={[styles.button, styles.cancelButton]}
104
+ onPress={onClose}
105
+ >
106
+ <Text style={styles.cancelButtonText}>Cancel</Text>
107
+ </TouchableOpacity>
108
+ <TouchableOpacity
109
+ style={[styles.button, styles.acceptButton]}
110
+ onPress={onAccept}
111
+ >
112
+ <Text style={styles.acceptButtonText}>Accept</Text>
113
+ </TouchableOpacity>
114
+ </View>
115
+ </View>
116
+ </View>
117
+ </Modal>
118
+ );
119
+ };
120
+
121
+ const styles = StyleSheet.create({
122
+ modalOverlay: {
123
+ flex: 1,
124
+ backgroundColor: 'rgba(0, 0, 0, 0.5)',
125
+ justifyContent: 'center',
126
+ alignItems: 'center',
127
+ },
128
+ modalContent: {
129
+ backgroundColor: '#fff',
130
+ borderRadius: 16,
131
+ width: '90%',
132
+ maxHeight: '80%',
133
+ overflow: 'hidden',
134
+ },
135
+ header: {
136
+ flexDirection: 'row',
137
+ alignItems: 'center',
138
+ padding: 16,
139
+ backgroundColor: COLORS.headerBg,
140
+ },
141
+ headerTitle: {
142
+ flex: 1,
143
+ fontSize: 18,
144
+ fontWeight: '600',
145
+ marginLeft: 12,
146
+ color: '#000',
147
+ },
148
+ closeButton: {
149
+ padding: 8,
150
+ },
151
+ scrollContent: {
152
+ padding: 16,
153
+ },
154
+ description: {
155
+ fontSize: 16,
156
+ color: COLORS.text.secondary,
157
+ marginBottom: 16,
158
+ },
159
+ dataRequestContainer: {
160
+ marginBottom: 16,
161
+ borderWidth: 1,
162
+ borderColor: COLORS.border,
163
+ borderRadius: 12,
164
+ padding: 16,
165
+ backgroundColor: '#f8f9fa',
166
+ },
167
+ dataRequestHeader: {
168
+ flexDirection: 'row',
169
+ alignItems: 'center',
170
+ marginBottom: 12,
171
+ },
172
+ dataRequestName: {
173
+ fontSize: 18,
174
+ fontWeight: '600',
175
+ marginLeft: 12,
176
+ color: '#000',
177
+ },
178
+ dataRequestDescription: {
179
+ fontSize: 14,
180
+ color: COLORS.text.secondary,
181
+ marginBottom: 12,
182
+ lineHeight: 20,
183
+ },
184
+ rewardContainer: {
185
+ flexDirection: 'row',
186
+ alignItems: 'center',
187
+ backgroundColor: '#fff',
188
+ padding: 8,
189
+ borderRadius: 8,
190
+ borderLeftWidth: 3,
191
+ borderLeftColor: '#FFD700',
192
+ },
193
+ rewardText: {
194
+ fontSize: 14,
195
+ fontWeight: '500',
196
+ marginLeft: 6,
197
+ color: '#000',
198
+ flex: 1,
199
+ },
200
+ footer: {
201
+ flexDirection: 'row',
202
+ padding: 16,
203
+ borderTopWidth: 1,
204
+ borderTopColor: COLORS.border,
205
+ justifyContent: 'flex-end',
206
+ },
207
+ button: {
208
+ paddingHorizontal: 20,
209
+ paddingVertical: 10,
210
+ borderRadius: 8,
211
+ marginLeft: 12,
212
+ },
213
+ cancelButton: {
214
+ backgroundColor: COLORS.border,
215
+ },
216
+ acceptButton: {
217
+ backgroundColor: COLORS.primary,
218
+ },
219
+ cancelButtonText: {
220
+ color: COLORS.text.secondary,
221
+ fontWeight: '600',
222
+ },
223
+ acceptButtonText: {
224
+ color: '#fff',
225
+ fontWeight: '600',
226
+ },
187
227
  });
@@ -12,7 +12,7 @@ import {
12
12
  import { UniversalOnboarding } from './UniversalOnboarding';
13
13
  import { Overlay } from './Overlay';
14
14
  import { COLORS } from '../constants';
15
- import type { OnairosButtonProps } from '../types/index';
15
+ import type { OnairosButtonProps } from '../types';
16
16
  import { hasCredentials, getCredentials, deleteCredentials as clearCredentials } from '../utils/secureStorage';
17
17
  import { onairosApi } from '../api';
18
18
 
@@ -26,6 +26,7 @@ export interface OnairosButtonRef {
26
26
  */
27
27
  export const OnairosButton = forwardRef<OnairosButtonRef, OnairosButtonProps>(({
28
28
  AppName,
29
+ appIcon,
29
30
  requestData,
30
31
  returnLink,
31
32
  prefillUrl,
@@ -282,6 +283,7 @@ export const OnairosButton = forwardRef<OnairosButtonRef, OnairosButtonProps>(({
282
283
  onRejection?.('User closed onboarding');
283
284
  }}
284
285
  AppName={AppName}
286
+ appIcon={appIcon}
285
287
  requestData={requestData as any}
286
288
  returnLink={returnLink || ''}
287
289
  onComplete={handleOnboardingComplete}
@@ -22,21 +22,7 @@ import { COLORS } from '../constants';
22
22
 
23
23
  const { width: SCREEN_WIDTH, height: SCREEN_HEIGHT } = Dimensions.get('window');
24
24
 
25
- interface OverlayProps {
26
- data: {
27
- [key: string]: {
28
- type: string;
29
- descriptions: string;
30
- reward: string;
31
- };
32
- };
33
- username: string;
34
- modelKey: string;
35
- onResolved: (apiUrl: string, accessToken: string, loginDetails: any) => void;
36
- appName?: string;
37
- darkMode?: boolean;
38
- platforms?: Array<{id: string, name: string, icon: any}>;
39
- }
25
+ import type { OverlayProps } from '../types';
40
26
 
41
27
  export const Overlay: React.FC<OverlayProps> = ({
42
28
  data,