@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.
- package/README.md +334 -0
- package/lib/commonjs/components/DataRequestModal.js +176 -0
- package/lib/commonjs/components/DataRequestModal.js.map +1 -0
- package/lib/commonjs/components/Notification.js +106 -0
- package/lib/commonjs/components/Notification.js.map +1 -0
- package/lib/commonjs/components/OnairosButton.js +575 -0
- package/lib/commonjs/components/OnairosButton.js.map +1 -0
- package/lib/commonjs/components/Overlay.js +818 -0
- package/lib/commonjs/components/Overlay.js.map +1 -0
- package/lib/commonjs/components/UniversalOnboarding.js +173 -0
- package/lib/commonjs/components/UniversalOnboarding.js.map +1 -0
- package/lib/commonjs/components/onboarding/OAuthWebView.js +137 -0
- package/lib/commonjs/components/onboarding/OAuthWebView.js.map +1 -0
- package/lib/commonjs/components/onboarding/OnboardingHeader.js +74 -0
- package/lib/commonjs/components/onboarding/OnboardingHeader.js.map +1 -0
- package/lib/commonjs/components/onboarding/PinInput.js +283 -0
- package/lib/commonjs/components/onboarding/PinInput.js.map +1 -0
- package/lib/commonjs/components/onboarding/PlatformConnector.js +244 -0
- package/lib/commonjs/components/onboarding/PlatformConnector.js.map +1 -0
- package/lib/commonjs/components/screens/ConnectorScreen.js +145 -0
- package/lib/commonjs/components/screens/ConnectorScreen.js.map +1 -0
- package/lib/commonjs/components/screens/LoadingScreen.js +91 -0
- package/lib/commonjs/components/screens/LoadingScreen.js.map +1 -0
- package/lib/commonjs/components/screens/PinCreationScreen.js +61 -0
- package/lib/commonjs/components/screens/PinCreationScreen.js.map +1 -0
- package/lib/commonjs/constants/index.js +78 -0
- package/lib/commonjs/constants/index.js.map +1 -0
- package/lib/commonjs/hooks/useConnections.js +89 -0
- package/lib/commonjs/hooks/useConnections.js.map +1 -0
- package/lib/commonjs/hooks/useCredentials.js +85 -0
- package/lib/commonjs/hooks/useCredentials.js.map +1 -0
- package/lib/commonjs/index.js +282 -0
- package/lib/commonjs/index.js.map +1 -0
- package/lib/commonjs/services/oauthService.js +362 -0
- package/lib/commonjs/services/oauthService.js.map +1 -0
- package/lib/commonjs/types/declarations.d.js +2 -0
- package/lib/commonjs/types/declarations.d.js.map +1 -0
- package/lib/commonjs/types/index.js +2 -0
- package/lib/commonjs/types/index.js.map +1 -0
- package/lib/commonjs/utils/api.js +129 -0
- package/lib/commonjs/utils/api.js.map +1 -0
- package/lib/commonjs/utils/auth.js +111 -0
- package/lib/commonjs/utils/auth.js.map +1 -0
- package/lib/commonjs/utils/crypto.js +62 -0
- package/lib/commonjs/utils/crypto.js.map +1 -0
- package/lib/commonjs/utils/debugHelper.js +64 -0
- package/lib/commonjs/utils/debugHelper.js.map +1 -0
- package/lib/commonjs/utils/onairosApi.js +270 -0
- package/lib/commonjs/utils/onairosApi.js.map +1 -0
- package/lib/commonjs/utils/secureStorage.js +210 -0
- package/lib/commonjs/utils/secureStorage.js.map +1 -0
- package/lib/module/components/DataRequestModal.js +168 -0
- package/lib/module/components/DataRequestModal.js.map +1 -0
- package/lib/module/components/Notification.js +99 -0
- package/lib/module/components/Notification.js.map +1 -0
- package/lib/module/components/OnairosButton.js +550 -0
- package/lib/module/components/OnairosButton.js.map +1 -0
- package/lib/module/components/Overlay.js +825 -0
- package/lib/module/components/Overlay.js.map +1 -0
- package/lib/module/components/UniversalOnboarding.js +164 -0
- package/lib/module/components/UniversalOnboarding.js.map +1 -0
- package/lib/module/components/onboarding/OAuthWebView.js +128 -0
- package/lib/module/components/onboarding/OAuthWebView.js.map +1 -0
- package/lib/module/components/onboarding/OnboardingHeader.js +66 -0
- package/lib/module/components/onboarding/OnboardingHeader.js.map +1 -0
- package/lib/module/components/onboarding/PinInput.js +274 -0
- package/lib/module/components/onboarding/PinInput.js.map +1 -0
- package/lib/module/components/onboarding/PlatformConnector.js +235 -0
- package/lib/module/components/onboarding/PlatformConnector.js.map +1 -0
- package/lib/module/components/screens/ConnectorScreen.js +137 -0
- package/lib/module/components/screens/ConnectorScreen.js.map +1 -0
- package/lib/module/components/screens/LoadingScreen.js +83 -0
- package/lib/module/components/screens/LoadingScreen.js.map +1 -0
- package/lib/module/components/screens/PinCreationScreen.js +53 -0
- package/lib/module/components/screens/PinCreationScreen.js.map +1 -0
- package/lib/module/constants/index.js +72 -0
- package/lib/module/constants/index.js.map +1 -0
- package/lib/module/hooks/useConnections.js +81 -0
- package/lib/module/hooks/useConnections.js.map +1 -0
- package/lib/module/hooks/useCredentials.js +77 -0
- package/lib/module/hooks/useCredentials.js.map +1 -0
- package/lib/module/index.js +34 -0
- package/lib/module/index.js.map +1 -0
- package/lib/module/services/oauthService.js +352 -0
- package/lib/module/services/oauthService.js.map +1 -0
- package/lib/module/types/declarations.d.js +2 -0
- package/lib/module/types/declarations.d.js.map +1 -0
- package/lib/module/types/index.js +2 -0
- package/lib/module/types/index.js.map +1 -0
- package/lib/module/utils/api.js +117 -0
- package/lib/module/utils/api.js.map +1 -0
- package/lib/module/utils/auth.js +99 -0
- package/lib/module/utils/auth.js.map +1 -0
- package/lib/module/utils/crypto.js +54 -0
- package/lib/module/utils/crypto.js.map +1 -0
- package/lib/module/utils/debugHelper.js +54 -0
- package/lib/module/utils/debugHelper.js.map +1 -0
- package/lib/module/utils/onairosApi.js +256 -0
- package/lib/module/utils/onairosApi.js.map +1 -0
- package/lib/module/utils/secureStorage.js +196 -0
- package/lib/module/utils/secureStorage.js.map +1 -0
- package/package.json +115 -0
- package/src/components/DataRequestModal.tsx +187 -0
- package/src/components/Notification.js +101 -0
- package/src/components/OnairosButton.js +604 -0
- package/src/components/OnairosButton.tsx +182 -0
- package/src/components/Overlay.js +854 -0
- package/src/components/Overlay.tsx +272 -0
- package/src/components/UniversalOnboarding.tsx +184 -0
- package/src/components/onboarding/OAuthWebView.tsx +134 -0
- package/src/components/onboarding/OnboardingHeader.tsx +70 -0
- package/src/components/onboarding/PinInput.tsx +356 -0
- package/src/components/onboarding/PlatformConnector.tsx +297 -0
- package/src/components/screens/ConnectorScreen.tsx +152 -0
- package/src/components/screens/LoadingScreen.tsx +100 -0
- package/src/components/screens/PinCreationScreen.tsx +67 -0
- package/src/constants/index.ts +78 -0
- package/src/hooks/useConnections.ts +90 -0
- package/src/hooks/useCredentials.ts +83 -0
- package/src/index.js +14 -0
- package/src/index.ts +82 -0
- package/src/services/oauthService.ts +360 -0
- package/src/types/declarations.d.ts +26 -0
- package/src/types/index.ts +82 -0
- package/src/utils/api.js +112 -0
- package/src/utils/auth.js +104 -0
- package/src/utils/crypto.js +60 -0
- package/src/utils/debugHelper.ts +53 -0
- package/src/utils/onairosApi.ts +303 -0
- 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":"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","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":[]}
|