@onairos/react-native 3.7.2 → 3.7.3

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 (237) hide show
  1. package/lib/commonjs/api/index.js +219 -9
  2. package/lib/commonjs/components/BodyText.js +27 -9
  3. package/lib/commonjs/components/BrandMark.js +111 -10
  4. package/lib/commonjs/components/CodeInput.js +116 -9
  5. package/lib/commonjs/components/EmailInput.js +30 -8
  6. package/lib/commonjs/components/GoogleButton.js +56 -9
  7. package/lib/commonjs/components/HeadingGroup.js +43 -9
  8. package/lib/commonjs/components/LLMDataInputModal.js +664 -14
  9. package/lib/commonjs/components/ModalHeader.js +99 -9
  10. package/lib/commonjs/components/ModalSheet.js +47 -9
  11. package/lib/commonjs/components/Onairos.js +380 -14
  12. package/lib/commonjs/components/OnairosButton.js +313 -13
  13. package/lib/commonjs/components/OnairosSignInButton.js +130 -12
  14. package/lib/commonjs/components/Overlay.js +465 -13
  15. package/lib/commonjs/components/PersonaImage.js +137 -10
  16. package/lib/commonjs/components/PersonaLoadingScreen.js +318 -12
  17. package/lib/commonjs/components/PersonalizationConsentScreen.js +467 -13
  18. package/lib/commonjs/components/PinCreationScreen.js +403 -12
  19. package/lib/commonjs/components/PinInput.js +464 -9
  20. package/lib/commonjs/components/PlatformConnectorsStep.js +1311 -23
  21. package/lib/commonjs/components/PlatformList.js +137 -10
  22. package/lib/commonjs/components/PlatformToggle.js +180 -9
  23. package/lib/commonjs/components/PrimaryButton.js +180 -10
  24. package/lib/commonjs/components/SignInMatchAnimation.js +197 -9
  25. package/lib/commonjs/components/SignInStep.js +345 -12
  26. package/lib/commonjs/components/UniversalOnboarding.js +2780 -30
  27. package/lib/commonjs/components/VerificationStep.js +176 -11
  28. package/lib/commonjs/components/WelcomeScreen.js +461 -22
  29. package/lib/commonjs/components/icons/Basicproficon.js +37 -8
  30. package/lib/commonjs/components/icons/Basicprofile.js +21 -8
  31. package/lib/commonjs/components/icons/Checkbox.js +21 -8
  32. package/lib/commonjs/components/icons/Checkmark.js +27 -8
  33. package/lib/commonjs/components/icons/Contentanalysis.js +21 -8
  34. package/lib/commonjs/components/icons/Contenticon.js +39 -8
  35. package/lib/commonjs/components/icons/EnochE.js +41 -8
  36. package/lib/commonjs/components/icons/Personalityicon.js +30 -8
  37. package/lib/commonjs/components/icons/Personalityprofile.js +21 -8
  38. package/lib/commonjs/components/icons/Personalitytraits.js +21 -8
  39. package/lib/commonjs/components/icons/Userpreferences.js +21 -8
  40. package/lib/commonjs/components/icons/index.js +84 -17
  41. package/lib/commonjs/components/onboarding/OAuthWebView.js +1754 -18
  42. package/lib/commonjs/components/onboarding/OnboardingHeader.js +74 -10
  43. package/lib/commonjs/components/onboarding/PinInput.js +283 -10
  44. package/lib/commonjs/components/onboarding/PlatformConnector.js +249 -11
  45. package/lib/commonjs/config/PLATFORM_APIS.md +849 -0
  46. package/lib/commonjs/config/api.js +56 -7
  47. package/lib/commonjs/constants/index.js +120 -7
  48. package/lib/commonjs/context/AuthContext.js +345 -10
  49. package/lib/commonjs/hooks/useConnectedAccounts.js +111 -9
  50. package/lib/commonjs/hooks/useConnections.js +102 -8
  51. package/lib/commonjs/hooks/useCredentials.js +178 -10
  52. package/lib/commonjs/hooks/useUserConnections.js +148 -10
  53. package/lib/commonjs/index.js +439 -34
  54. package/lib/commonjs/services/apiClient.js +298 -8
  55. package/lib/commonjs/services/biometricPinService.js +180 -8
  56. package/lib/commonjs/services/chatGPTConversationExtractor.js +155 -8
  57. package/lib/commonjs/services/chatGPTConversationService.js +275 -9
  58. package/lib/commonjs/services/claudeConversationExtractor.js +103 -8
  59. package/lib/commonjs/services/claudeConversationService.js +158 -9
  60. package/lib/commonjs/services/connectedAccountsService.js +310 -10
  61. package/lib/commonjs/services/googleAuthService.js +252 -11
  62. package/lib/commonjs/services/hingeDataExtractor.js +105 -8
  63. package/lib/commonjs/services/hingeDataService.js +150 -9
  64. package/lib/commonjs/services/imageCompressionService.js +260 -7
  65. package/lib/commonjs/services/instagramDataExtractor.js +126 -8
  66. package/lib/commonjs/services/instagramDataService.js +163 -9
  67. package/lib/commonjs/services/jwtStorageService.js +276 -7
  68. package/lib/commonjs/services/linkedinDOMExtractor.js +245 -7
  69. package/lib/commonjs/services/linkedinProfileService.js +222 -9
  70. package/lib/commonjs/services/linkedinScrapingService.js +230 -8
  71. package/lib/commonjs/services/llmDataStorage.js +294 -8
  72. package/lib/commonjs/services/mobileTrainingService.js +186 -8
  73. package/lib/commonjs/services/netflixDataExtractor.js +120 -8
  74. package/lib/commonjs/services/netflixDataService.js +198 -9
  75. package/lib/commonjs/services/pinEncryptionService.js +84 -8
  76. package/lib/commonjs/services/pinStorageUtils.js +105 -7
  77. package/lib/commonjs/services/platformAuthService.js +1484 -12
  78. package/lib/commonjs/services/sephoraDataExtractor.js +140 -8
  79. package/lib/commonjs/services/sephoraDataService.js +200 -9
  80. package/lib/commonjs/services/spotifyDataExtractor.js +148 -8
  81. package/lib/commonjs/services/spotifyDataService.js +241 -9
  82. package/lib/commonjs/services/storageService.js +404 -8
  83. package/lib/commonjs/services/telegramDataExtractor.js +115 -8
  84. package/lib/commonjs/services/telegramDataService.js +499 -9
  85. package/lib/commonjs/services/trainingApiHelpers.js +73 -7
  86. package/lib/commonjs/services/userConnectionsService.js +340 -10
  87. package/lib/commonjs/services/youtubeMigrationService.js +416 -10
  88. package/lib/commonjs/theme/index.js +250 -7
  89. package/lib/commonjs/types/ambient.d.js +2 -1
  90. package/lib/commonjs/types/declarations.d.js +2 -1
  91. package/lib/commonjs/types/index.js +6 -1
  92. package/lib/commonjs/types/node-fix.d.js +2 -1
  93. package/lib/commonjs/types/node-override.d.js +2 -1
  94. package/lib/commonjs/types/opacity.d.js +2 -1
  95. package/lib/commonjs/types.js +14 -1
  96. package/lib/commonjs/utils/Portal.js +98 -8
  97. package/lib/commonjs/utils/api.js +130 -9
  98. package/lib/commonjs/utils/assetRegistry.js +210 -35
  99. package/lib/commonjs/utils/auth.js +112 -9
  100. package/lib/commonjs/utils/connectorTests.js +613 -29
  101. package/lib/commonjs/utils/crypto.js +62 -8
  102. package/lib/commonjs/utils/debugHelper.js +64 -1
  103. package/lib/commonjs/utils/encryption.js +76 -7
  104. package/lib/commonjs/utils/eventUtils.js +288 -1
  105. package/lib/commonjs/utils/haptics.js +66 -9
  106. package/lib/commonjs/utils/imagePreloader.js +6 -1
  107. package/lib/commonjs/utils/networkDiagnostics.js +226 -8
  108. package/lib/commonjs/utils/onairosApi.js +350 -9
  109. package/lib/commonjs/utils/programmaticFlow.js +117 -9
  110. package/lib/commonjs/utils/retryHelper.js +220 -1
  111. package/lib/commonjs/utils/secureStorage.js +349 -10
  112. package/lib/commonjs/utils/webviewScripts/chatgpt.js +551 -1
  113. package/lib/commonjs/utils/webviewScripts/claude.js +376 -1
  114. package/lib/commonjs/utils/webviewScripts/hinge.js +411 -1
  115. package/lib/commonjs/utils/webviewScripts/index.js +698 -15
  116. package/lib/commonjs/utils/webviewScripts/instagram.js +454 -1
  117. package/lib/commonjs/utils/webviewScripts/linkedin.js +880 -1
  118. package/lib/commonjs/utils/webviewScripts/netflix.js +382 -1
  119. package/lib/commonjs/utils/webviewScripts/sephora.js +516 -1
  120. package/lib/commonjs/utils/webviewScripts/spotify.js +419 -1
  121. package/lib/commonjs/utils/webviewScripts/telegram.js +678 -1
  122. package/lib/module/api/index.js +211 -1
  123. package/lib/module/components/BodyText.js +20 -1
  124. package/lib/module/components/BrandMark.js +104 -1
  125. package/lib/module/components/CodeInput.js +109 -1
  126. package/lib/module/components/EmailInput.js +23 -1
  127. package/lib/module/components/GoogleButton.js +49 -1
  128. package/lib/module/components/HeadingGroup.js +36 -1
  129. package/lib/module/components/LLMDataInputModal.js +656 -7
  130. package/lib/module/components/ModalHeader.js +92 -1
  131. package/lib/module/components/ModalSheet.js +39 -1
  132. package/lib/module/components/Onairos.js +373 -1
  133. package/lib/module/components/OnairosButton.js +305 -1
  134. package/lib/module/components/OnairosSignInButton.js +121 -1
  135. package/lib/module/components/Overlay.js +456 -1
  136. package/lib/module/components/PersonaImage.js +129 -1
  137. package/lib/module/components/PersonaLoadingScreen.js +310 -1
  138. package/lib/module/components/PersonalizationConsentScreen.js +460 -1
  139. package/lib/module/components/PinCreationScreen.js +396 -1
  140. package/lib/module/components/PinInput.js +456 -1
  141. package/lib/module/components/PlatformConnectorsStep.js +1302 -6
  142. package/lib/module/components/PlatformList.js +129 -1
  143. package/lib/module/components/PlatformToggle.js +173 -1
  144. package/lib/module/components/PrimaryButton.js +172 -1
  145. package/lib/module/components/SignInMatchAnimation.js +189 -1
  146. package/lib/module/components/SignInStep.js +338 -1
  147. package/lib/module/components/UniversalOnboarding.js +2770 -1
  148. package/lib/module/components/VerificationStep.js +168 -1
  149. package/lib/module/components/WelcomeScreen.js +453 -1
  150. package/lib/module/components/icons/Basicproficon.js +30 -1
  151. package/lib/module/components/icons/Basicprofile.js +14 -1
  152. package/lib/module/components/icons/Checkbox.js +14 -1
  153. package/lib/module/components/icons/Checkmark.js +20 -1
  154. package/lib/module/components/icons/Contentanalysis.js +14 -1
  155. package/lib/module/components/icons/Contenticon.js +32 -1
  156. package/lib/module/components/icons/EnochE.js +34 -1
  157. package/lib/module/components/icons/Personalityicon.js +23 -1
  158. package/lib/module/components/icons/Personalityprofile.js +14 -1
  159. package/lib/module/components/icons/Personalitytraits.js +14 -1
  160. package/lib/module/components/icons/Userpreferences.js +14 -1
  161. package/lib/module/components/icons/index.js +13 -1
  162. package/lib/module/components/onboarding/OAuthWebView.js +1746 -1
  163. package/lib/module/components/onboarding/OnboardingHeader.js +66 -1
  164. package/lib/module/components/onboarding/PinInput.js +274 -1
  165. package/lib/module/components/onboarding/PlatformConnector.js +240 -1
  166. package/lib/module/config/PLATFORM_APIS.md +849 -0
  167. package/lib/module/config/api.js +47 -1
  168. package/lib/module/constants/index.js +114 -1
  169. package/lib/module/context/AuthContext.js +335 -1
  170. package/lib/module/hooks/useConnectedAccounts.js +106 -1
  171. package/lib/module/hooks/useConnections.js +95 -1
  172. package/lib/module/hooks/useCredentials.js +171 -6
  173. package/lib/module/hooks/useUserConnections.js +140 -1
  174. package/lib/module/index.js +172 -1
  175. package/lib/module/services/apiClient.js +295 -1
  176. package/lib/module/services/biometricPinService.js +169 -1
  177. package/lib/module/services/chatGPTConversationExtractor.js +149 -1
  178. package/lib/module/services/chatGPTConversationService.js +268 -1
  179. package/lib/module/services/claudeConversationExtractor.js +97 -1
  180. package/lib/module/services/claudeConversationService.js +151 -1
  181. package/lib/module/services/connectedAccountsService.js +293 -1
  182. package/lib/module/services/googleAuthService.js +241 -1
  183. package/lib/module/services/hingeDataExtractor.js +99 -1
  184. package/lib/module/services/hingeDataService.js +143 -1
  185. package/lib/module/services/imageCompressionService.js +250 -1
  186. package/lib/module/services/instagramDataExtractor.js +120 -1
  187. package/lib/module/services/instagramDataService.js +156 -1
  188. package/lib/module/services/jwtStorageService.js +257 -1
  189. package/lib/module/services/linkedinDOMExtractor.js +234 -1
  190. package/lib/module/services/linkedinProfileService.js +210 -1
  191. package/lib/module/services/linkedinScrapingService.js +219 -1
  192. package/lib/module/services/llmDataStorage.js +277 -1
  193. package/lib/module/services/mobileTrainingService.js +173 -1
  194. package/lib/module/services/netflixDataExtractor.js +114 -1
  195. package/lib/module/services/netflixDataService.js +191 -1
  196. package/lib/module/services/pinEncryptionService.js +74 -6
  197. package/lib/module/services/pinStorageUtils.js +93 -1
  198. package/lib/module/services/platformAuthService.js +1461 -1
  199. package/lib/module/services/sephoraDataExtractor.js +134 -1
  200. package/lib/module/services/sephoraDataService.js +193 -1
  201. package/lib/module/services/spotifyDataExtractor.js +142 -1
  202. package/lib/module/services/spotifyDataService.js +234 -1
  203. package/lib/module/services/storageService.js +383 -1
  204. package/lib/module/services/telegramDataExtractor.js +109 -1
  205. package/lib/module/services/telegramDataService.js +493 -1
  206. package/lib/module/services/trainingApiHelpers.js +67 -1
  207. package/lib/module/services/userConnectionsService.js +329 -1
  208. package/lib/module/services/youtubeMigrationService.js +405 -1
  209. package/lib/module/theme/index.js +245 -1
  210. package/lib/module/types.js +10 -1
  211. package/lib/module/utils/Portal.js +90 -1
  212. package/lib/module/utils/api.js +118 -1
  213. package/lib/module/utils/assetRegistry.js +200 -34
  214. package/lib/module/utils/auth.js +100 -1
  215. package/lib/module/utils/connectorTests.js +600 -27
  216. package/lib/module/utils/crypto.js +54 -1
  217. package/lib/module/utils/debugHelper.js +54 -1
  218. package/lib/module/utils/encryption.js +67 -1
  219. package/lib/module/utils/eventUtils.js +270 -1
  220. package/lib/module/utils/haptics.js +59 -8
  221. package/lib/module/utils/imagePreloader.js +3 -1
  222. package/lib/module/utils/networkDiagnostics.js +217 -1
  223. package/lib/module/utils/onairosApi.js +333 -1
  224. package/lib/module/utils/programmaticFlow.js +111 -1
  225. package/lib/module/utils/retryHelper.js +211 -1
  226. package/lib/module/utils/secureStorage.js +330 -6
  227. package/lib/module/utils/webviewScripts/chatgpt.js +545 -1
  228. package/lib/module/utils/webviewScripts/claude.js +370 -1
  229. package/lib/module/utils/webviewScripts/hinge.js +405 -1
  230. package/lib/module/utils/webviewScripts/index.js +434 -1
  231. package/lib/module/utils/webviewScripts/instagram.js +448 -1
  232. package/lib/module/utils/webviewScripts/linkedin.js +874 -1
  233. package/lib/module/utils/webviewScripts/netflix.js +376 -1
  234. package/lib/module/utils/webviewScripts/sephora.js +510 -1
  235. package/lib/module/utils/webviewScripts/spotify.js +413 -1
  236. package/lib/module/utils/webviewScripts/telegram.js +672 -1
  237. package/package.json +2 -2
@@ -1,23 +1,1311 @@
1
- 'use strict';
2
- // Onairos SDK - Asset Registry (auto-generated)
3
- var __ONAIROS_REQ_REGISTRY__ = [
4
- require("react"),
5
- require("react-native"),
6
- require("../theme"),
7
- require("../utils/haptics"),
8
- require("./PersonaImage"),
9
- require("./PrimaryButton"),
10
- require("./PersonalizationConsentScreen"),
11
- require("./PinCreationScreen"),
12
- require("./PersonaLoadingScreen"),
13
- require("../hooks/useConnections"),
14
- require("../services/connectedAccountsService"),
15
- require("../services/platformAuthService"),
16
- require("./onboarding/OAuthWebView"),
17
- require("../utils/webviewScripts"),
18
- require("../services/pinStorageUtils"),
19
- require("@react-native-async-storage/async-storage"),
20
- require('react-native')
21
- ];
22
- function __ONAIROS_REQ_FUNC__(i) { return __ONAIROS_REQ_REGISTRY__[i]; }
23
- Object[_0x1dbb(0x0)](exports,_0x1dbb(0x1),{'value':!![]}),exports['default']=exports['MODEL_REFRESH_OPTIONS']=void 0x0;var _react=_interopRequireWildcard(__ONAIROS_REQ_FUNC__(0x0)),_reactNative=__ONAIROS_REQ_FUNC__(0x1),_theme=__ONAIROS_REQ_FUNC__(0x2),_haptics=__ONAIROS_REQ_FUNC__(0x3),_PersonaImage=_interopRequireDefault(__ONAIROS_REQ_FUNC__(0x4)),_PrimaryButton=_interopRequireDefault(__ONAIROS_REQ_FUNC__(0x5)),_PersonalizationConsentScreen=_interopRequireDefault(__ONAIROS_REQ_FUNC__(0x6)),_PinCreationScreen=_interopRequireDefault(__ONAIROS_REQ_FUNC__(0x7)),_PersonaLoadingScreen=_interopRequireDefault(__ONAIROS_REQ_FUNC__(0x8)),_useConnections=__ONAIROS_REQ_FUNC__(0x9),_connectedAccountsService=__ONAIROS_REQ_FUNC__(0xa),_platformAuthService=__ONAIROS_REQ_FUNC__(0xb),_OAuthWebView=__ONAIROS_REQ_FUNC__(0xc),_webviewScripts=__ONAIROS_REQ_FUNC__(0xd),_pinStorageUtils=__ONAIROS_REQ_FUNC__(0xe),_asyncStorage=_interopRequireDefault(__ONAIROS_REQ_FUNC__(0xf));function _interopRequireDefault(_0x338e93){return _0x338e93&&_0x338e93[_0x1dbb(0x1)]?_0x338e93:{'default':_0x338e93};}function _0x59c1(){const _0x49b430=['defineProperty','__esModule','linkedin','object','VwmtF','default','function','bYwCs','fYddj','cwHPw','RKAyu','has','set','parse','connected','includes','aCeED','log','✅\x20[PLATFORMS]\x20Loaded\x20LinkedIn\x20connection','BosTi','hasOwnProperty','getOwnPropertyDescriptor','get','MODEL_REFRESH_OPTIONS','daily','Daily','weekly','Weekly','Balanced\x20freshness\x20and\x20efficiency.','Biweekly','Less\x20frequent,\x20more\x20efficient.','iijpi','QXweu','fMkQU','✅\x20[PLATFORMS]\x20Updated\x20connectedPlatforms\x20state\x20with:','❌\x20[PLATFORMS]\x20Error\x20loading\x20connected\x20platforms\x20from\x20storage:','hdMDr','kQjhv','✅\x20[PLATFORMS]\x20Loaded\x20from\x20user_connected_platforms:','platform_account_details','SugdD','chatgpt','claude','gemini','grok','FfHno','OVQiq','YgfVf','xJAtd','LPyDC','onairos_username','cVAcx','KEGgq','https://www.linkedin.com/login','SEmhN','yITxZ','evPsA','❌\x20[TOGGLE]\x20No\x20username\x20available\x20-\x20cannot\x20proceed\x20with\x20OAuth','FGltH','NULL','iMSkR','hBDLv','ezuBZ','BKEjV','❌\x20[STORAGE]\x20Error\x20removing\x20from\x20user_connected_platforms:','@onairos:linkedin_connected','iVJuG','BYpWF','qnTDl','Ydvkq','IAJJN','brpfh','clnpG','❌\x20[REFRESH]\x20Error\x20saving\x20refresh\x20frequency:','❌\x20[STORAGE]\x20Error\x20saving\x20to\x20user_connected_platforms:','jzAHF','qzLGq','SIXaH','SET\x20(','...)','alIei','VVjlR','mWzdm','FMPvX','MVlAu','SLegM','youtube','yBxwp','piJwW','vytQE','https://privacy.onairos.io/','KiwlF','contain','✅\x20[PLATFORMS]\x20Loaded\x20from\x20platform_account_details:','Initializing...','YouTube','reddit','Pinterest','Gmail','Use\x20your\x20email\x20information\x20to\x20enrich\x20your\x20model.','Use\x20your\x20ChatGPT\x20conversations\x20and\x20memories\x20to\x20enrich\x20your\x20model.','Use\x20your\x20Gemini\x20conversations\x20to\x20enrich\x20your\x20model.','Use\x20your\x20Grok\x20conversations\x20from\x20X\x20to\x20enrich\x20your\x20model.','iBbhV','zbwKG','normal','Model\x20Refresh\x20Frequency','How\x20often\x20should\x20your\x20model\x20be\x20refreshed\x20from\x20platforms?','useState','Animated','Value','useRef','current','useConnections','useEffect','SBLxL','keVRM','length','qAODs','fLsqh','LzhWG','add','forEach','CVfhy','ytVlI','push','vKbzA','EMeqN','yoshJ','rUZjy','UrQkC','BzRlU','DDbZS','biJbH','JKGbj','RtUqy','qbFYk','ZBZKI','edEMX','rmZGB','VtdjU','orGbN','mrvlw','getItem','user_connected_platforms','zANfe','LFMjN','dzQtF','qzIje','error','vIVCN','platform','lyqRV','toLowerCase','map','giSiK','@onairos:llm_connected:','triggerHaptic','HapticType','BUTTON_PRESS','WekwT','✅\x20[PLATFORMS]\x20Loaded\x20LLM\x20platform:\x20','fczov','xvLfz','zTuge','YYhBo','cAbxE','PkgCm','uYNCG','SUCCESS','✅\x20[PERSONA]\x20Applied\x20pending\x20connection:\x20','SYjLQ','from','xEbAt','gTfBO','ySvHI','RTtjT','QjYtv','yqzqn','szwxM','wFmni','MPMYg','sfsvB','DAvqI','QKoTq','LVxuP','HqyaV','email','split','DThTk','name','user_','floor','random','MNzZQ','vVFtC','dnuNT','mobile_user_','LfWbn','JaSNS','setItem','loop','sequence','timing','start','PRDQA','ZvAWI','LvDoa','useCallback','XuoQM','OVOBQ','aPhxT','UBoxG','nativeEvent','contentOffset','layoutMeasurement','width','contentSize','jhZoP','WBozv','msDmr','getPlatformIcon','xSzIk','Use\x20your\x20watch\x20history,\x20likes,\x20and\x20subscriptions\x20to\x20enrich\x20your\x20model.','pinterest','uykRy','FYOif','UJgtO','gmail','yEUAU','GsMEN','ImzTl','VHujp','eQdjU','TjCcl','yBDvR','fjRfJ','find','filter','xCTEf','CPYMO','Nbful','cTQgm','WQubd','NbAte','🔄\x20[TOGGLE]\x20Platform\x20toggle:\x20','\x20=\x20','WhOLI','tdyLT','psMSd','bigFq','👤\x20[TOGGLE]\x20Username\x20check\x20-\x20stored:\x20\x22','\x22,\x20state:\x20\x22','\x22,\x20valid:\x20\x22','qlOPc','kIvcE','WaERP','kFiyd','isChatPlatform','isLLMPlatform','🤖\x20[LLM]\x20Opening\x20WebView\x20for\x20','\x20login\x20and\x20export...','GEScS','connecting','getLLMPlatformUrl','🌐\x20[LLM]\x20Opening\x20','\x20URL:','ERROR','isLinkedInPlatform','ybMnD','AmmGN','SwFNc','🌐\x20[LINKEDIN]\x20Opening\x20LinkedIn\x20URL:','hasNativeSDK','rWdPu','JKuAQ','EYsWR','WOMZK','BsOoN','GoPUD','disconnected','🌐\x20[TOGGLE]\x20Starting\x20OAuth\x20flow\x20for\x20','...','initiateOAuth','substring','QuyJp','ejuGr','❌\x20[TOGGLE]\x20OAuth\x20failed\x20for\x20','\x20-\x20no\x20URL\x20returned','delete','oNVLj','AmeWL','KInTH','Error\x20toggling\x20platform\x20','fsOXR','AxYiz','trbBZ','stringify','✅\x20[STORAGE]\x20Removed\x20','\x20from\x20user_connected_platforms:','dsxRB','removeItem','fnYov','zjEnU','FwEHk','lLayz','mhcPD','FExTJ','ihkxA','💼\x20[LINKEDIN]\x20Opening\x20WebView\x20for\x20LinkedIn\x20login...','OUZDJ','ocgRm','nBzYS','Zxxcw','thfWY','hxYxh','COJtz','fzHra','jlqnk','iTawW','MLTOm','Vibration','vibrate','yUmiC','BPYNq','APoLL','CQqLF','nYYGv','OFxgw','jhoBe','XOgsN','qLdpL','BKNba','HXCWV','XqVEM','fHLSs','call','jnEzr','wUkDs','JnzEa','DEuKL','PJBjL','✅\x20[TOGGLE]\x20Setting\x20WebView\x20state\x20-\x20showing\x20modal\x20for\x20','JHBGj','NWGQL','rLNjm','HHoTi','@onairos:model_refresh_frequency','✅\x20[REFRESH]\x20Model\x20refresh\x20frequency\x20set\x20to:\x20','Cdfno','EMJsf','EZaYQ','Linking','openURL','NKpaK','lsRzV','kIoEX','UcccA','❌\x20[LLM]\x20No\x20URL\x20configured\x20for\x20platform:\x20','DRyeT','XYRPw','success','WfKYk','nQWku','uxClZ','NfgWf','\x20to\x20user_connected_platforms:','toISOString','✅\x20[LLM]\x20','uOAxa','AvdQu',',\x20oauthUrl:\x20','DGJmn','fsREN','BtCDu','OQEEP','oEeQJ','paIjp','hmlrY','seUcn','kQmzg','ycfpY','Ivhww','EDhPo','jRBoN','createElement','TouchableOpacity','platformIconButton','Image','icon','platformIcon','youtubeIcon','jTCKr','eBgSG','pinterestIcon','IfNlB','gmailIcon','Qcray','chatgptIcon','DkqcD','tcBJS','grokIcon','View','connectedDot','jjCeJ','RAzWp','znuhe','KKxfT','ZCSzt','xIbKB','setValue','QvmcB','📊\x20[STATE]\x20WebView\x20state\x20changed\x20-\x20showOAuthWebView:\x20','afFfk','min','max','MAohZ','JuSRz','rMbRT','✅\x20[WEBVIEW]\x20Rendering\x20OAuthWebView\x20for\x20','\x20with\x20URL:\x20','OAuthWebView','eJDtn','EFncY','LaohY','AiKQs','kRTSG','container','ScrollView','scrollContent','backButton','Text','backButtonText','headingContainer','title','Build\x20your\x20persona','subtitle','vwrlk','personaContainer','largePersona','platformIconsScrollContent','platformIconsCentered','miLlm','platformIconButtonSelected','mzJWP','bcdZu','claudeIcon','opvGI','vCeIj','connectingDot','pageIndicatorContainer','scrollBarTrack','scrollBarThumb','amkui','scrollIndicator','interpolate','scrollIndicatorText','cardContainer','VpQCT','platformCard','cardHeader','platformCardTitle','recommendedBadge','Highly\x20Recommended','#10B981','platformCardDescription','description','refreshFrequencySection','refreshFrequencyTitle','KtvIx','refreshFrequencyDescription','dEpvD','refreshSegmentedControl','value','refreshSegmentSelected','refreshSegmentText','label','JgfFm','bottomButtonContainer','buttonWrapper','rmksO','EfrzU','size','buttonOverlay','xUxtp','UBPKB','xsNmt','holdProgressBar','100%','skipButtonText','Skip','StyleSheet','COLORS','#F0F0F3','center','#1C1C1E','IBM\x20Plex\x20Sans','700','left','400','relative','absolute','#FFFFFF','transparent','#000','#FFA500','surface','SPACING','row','space-between','600','grey800','#2563EB','auto','grey600','Inter','#F5F5F7','#E0E0E4','#8E8E93','#E8E8ED','500','#E5E7EB','hidden','grey300','grey500','bold'];_0x59c1=function(){return _0x49b430;};return _0x59c1();}function _0x1dbb(_0x59c1f8,_0x1dbb85){_0x59c1f8=_0x59c1f8-0x0;const _0x3bc837=_0x59c1();let _0x203e62=_0x3bc837[_0x59c1f8];return _0x203e62;}function _interopRequireWildcard(_0x3d476a,_0x5851f9){const _0x11b47f={'aCeED':_0x1dbb(0x2),'fYddj':function(_0x273185,_0x49e44d){return _0x273185===_0x49e44d;},'cwHPw':function(_0x1130a2,_0x503dac){return _0x1130a2!=_0x503dac;},'EuBoy':_0x1dbb(0x3),'RKAyu':_0x1dbb(0x4),'rjoEu':function(_0x6e348d,_0xfb4044){return _0x6e348d!==_0xfb4044;},'BosTi':_0x1dbb(0x5),'rsmqx':function(_0x5ad05c,_0x268cab,_0x1e320c,_0x3c2d65){return _0x5ad05c(_0x268cab,_0x1e320c,_0x3c2d65);},'bYwCs':function(_0x4670be,_0x43ed75){return _0x4670be==_0x43ed75;},'NrSYS':_0x1dbb(0x6)};if(_0x11b47f[_0x1dbb(0x7)](_0x11b47f['NrSYS'],typeof WeakMap))var _0x3ea8ef=new WeakMap(),_0x5d0dda=new WeakMap();return(_interopRequireWildcard=function(_0x252401,_0x22eb73){if(!_0x22eb73&&_0x252401&&_0x252401[_0x1dbb(0x1)])return _0x252401;var _0x23a186,_0x3722ea,_0x403696={'__proto__':null,'default':_0x252401};if(_0x11b47f[_0x1dbb(0x8)](null,_0x252401)||_0x11b47f[_0x1dbb(0x9)](_0x11b47f['EuBoy'],typeof _0x252401)&&_0x11b47f['cwHPw'](_0x1dbb(0x6),typeof _0x252401))return _0x403696;if(_0x23a186=_0x22eb73?_0x5d0dda:_0x3ea8ef){if(_0x11b47f[_0x1dbb(0x8)](_0x11b47f[_0x1dbb(0xa)],_0x11b47f[_0x1dbb(0xa)])){if(_0x23a186[_0x1dbb(0xb)](_0x252401))return _0x23a186['get'](_0x252401);_0x23a186[_0x1dbb(0xc)](_0x252401,_0x403696);}else{const _0x1506bb=_0x3c626a[_0x1dbb(0xd)](_0x3cb3cd);_0x1506bb[_0x1dbb(0xe)]&&!_0x4beed9[_0x1dbb(0xf)](_0x11b47f[_0x1dbb(0x10)])&&(_0x17b904['push'](_0x11b47f[_0x1dbb(0x10)]),_0x3eb7d8[_0x1dbb(0x11)](_0x1dbb(0x12)));}}for(const _0x96e8fe in _0x252401)_0x11b47f['rjoEu'](_0x11b47f[_0x1dbb(0x13)],_0x96e8fe)&&{}[_0x1dbb(0x14)]['call'](_0x252401,_0x96e8fe)&&((_0x3722ea=(_0x23a186=Object[_0x1dbb(0x0)])&&Object[_0x1dbb(0x15)](_0x252401,_0x96e8fe))&&(_0x3722ea[_0x1dbb(0x16)]||_0x3722ea[_0x1dbb(0xc)])?_0x11b47f['rsmqx'](_0x23a186,_0x403696,_0x96e8fe,_0x3722ea):_0x403696[_0x96e8fe]=_0x252401[_0x96e8fe]);return _0x403696;})(_0x3d476a,_0x5851f9);}const MODEL_REFRESH_OPTIONS=exports[_0x1dbb(0x17)]=[{'value':_0x1dbb(0x18),'label':_0x1dbb(0x19),'description':'Always\x20up-to-date\x20data.'},{'value':_0x1dbb(0x1a),'label':_0x1dbb(0x1b),'description':_0x1dbb(0x1c)},{'value':'biweekly','label':_0x1dbb(0x1d),'description':_0x1dbb(0x1e)}],PlatformConnectorsStep=({onUpdate:_0x3393fc,onSkip:_0x1d636f,loading:loading=![],onPinComplete:_0x5673f5,onReviewerBypass:_0x1956cf,onLogout:_0x234c9a,allowedPlatforms:_0x5c2207,recommendedPlatforms:_0x5761d6,initialConnectedPlatforms:_0x4212d0,onRefreshFrequencyChange:_0x128747,initialRefreshFrequency:initialRefreshFrequency=_0x1dbb(0x1a)})=>{const _0x13074a={'qAODs':function(_0x2a95bb,_0x376049){return _0x2a95bb===_0x376049;},'fLsqh':_0x1dbb(0x1f),'LzhWG':_0x1dbb(0x20),'omHew':_0x1dbb(0x21),'keVRM':function(_0x40abf5,_0x452c40){return _0x40abf5>_0x452c40;},'vKbzA':function(_0x1d9431,_0x3dd575){return _0x1d9431===_0x3dd575;},'VtdjU':function(_0x5a637a,_0x2fa322){return _0x5a637a(_0x2fa322);},'EMeqN':function(_0x3884ed,_0x38bd26,_0x2d6ad0){return _0x3884ed(_0x38bd26,_0x2d6ad0);},'ySvHI':_0x1dbb(0x22),'yoshJ':_0x1dbb(0x23),'rUZjy':_0x1dbb(0x24),'cYmMU':'Rwxvt','MRoBx':_0x1dbb(0x25),'UrQkC':_0x1dbb(0x26),'BzRlU':_0x1dbb(0x27),'yqzqn':function(_0x1a8968,_0x38635f){return _0x1a8968!==_0x38635f;},'DDbZS':_0x1dbb(0x28),'biJbH':_0x1dbb(0x29),'JKGbj':_0x1dbb(0x2a),'RtUqy':_0x1dbb(0x2b),'qbFYk':_0x1dbb(0x2c),'ZBZKI':_0x1dbb(0x2d),'edEMX':_0x1dbb(0x2e),'uykRy':_0x1dbb(0x2),'rmZGB':function(_0x2171a1,_0x1655ef){return _0x2171a1>_0x1655ef;},'szwxM':_0x1dbb(0x2f),'wFmni':_0x1dbb(0x30),'MPMYg':function(_0x3dbfe0,_0x5d9da6){return _0x3dbfe0===_0x5d9da6;},'sfsvB':_0x1dbb(0x31),'MNzZQ':_0x1dbb(0x32),'DAvqI':function(_0x5a9600,_0x202ec0){return _0x5a9600&&_0x202ec0;},'QKoTq':function(_0xf874ab,_0x4a084e){return _0xf874ab(_0x4a084e);},'LVxuP':function(_0x47aae8,_0x1e045d){return _0x47aae8&&_0x1e045d;},'HqyaV':function(_0x4d94b,_0x5be140){return _0x4d94b===_0x5be140;},'rkhME':function(_0x5da837,_0x24e075){return _0x5da837===_0x24e075;},'DThTk':function(_0x2fbd21,_0x2369d7){return _0x2fbd21===_0x2369d7;},'vVFtC':function(_0x3b2b37,_0x22db70){return _0x3b2b37===_0x22db70;},'dnuNT':_0x1dbb(0x33),'LfWbn':function(_0x4b966f,_0xddf006){return _0x4b966f*_0xddf006;},'JaSNS':function(_0x2fe15c,_0x5aa2c3){return _0x2fe15c(_0x5aa2c3);},'PRDQA':'Error\x20initializing\x20username:','gTfBO':function(_0x17d060,_0x2be70d){return _0x17d060(_0x2be70d);},'QjYtv':'RTtjT','ZvAWI':_0x1dbb(0x34),'LvDoa':'njNkB','amkui':function(_0x3587d5,_0x3153da){return _0x3587d5*_0x3153da;},'UBoxG':function(_0x5f18e1,_0x58433a){return _0x5f18e1(_0x58433a);},'XuoQM':function(_0x3f2252,_0x9dd47){return _0x3f2252===_0x9dd47;},'OVOBQ':'Zqvum','umlPz':function(_0x4f4422,_0xba26b3){return _0x4f4422-_0xba26b3;},'jhZoP':function(_0x5d834f,_0x5434e5){return _0x5d834f/_0x5434e5;},'WBozv':function(_0x2cbeca,_0x53eca1){return _0x2cbeca(_0x53eca1);},'CPYMO':function(_0x1cc202,_0x2d6486){return _0x1cc202(_0x2d6486);},'xCTEf':'gdTgB','WaERP':_0x1dbb(0x12),'SwFNc':function(_0x5f3d0c,_0xc9e535){return _0x5f3d0c(_0xc9e535);},'Nbful':function(_0x489d4a,_0x462f2c){return _0x489d4a(_0x462f2c);},'cTQgm':function(_0x3603f9,_0x30dbfb){return _0x3603f9===_0x30dbfb;},'WQubd':_0x1dbb(0x35),'NbAte':function(_0x36ef1c,_0x31aaf6){return _0x36ef1c(_0x31aaf6);},'WhOLI':_0x1dbb(0x36),'tdyLT':function(_0x277d7d,_0x46e877){return _0x277d7d!==_0x46e877;},'psMSd':_0x1dbb(0x37),'bigFq':function(_0x217988,_0x239bf2){return _0x217988||_0x239bf2;},'qlOPc':function(_0x252e21,_0x80e18e){return _0x252e21===_0x80e18e;},'AiKQs':function(_0x4d3445,_0x37caf9){return _0x4d3445!==_0x37caf9;},'kIvcE':_0x1dbb(0x38),'kFiyd':_0x1dbb(0x39),'GEScS':function(_0x11bd50,_0x185932){return _0x11bd50(_0x185932);},'ybMnD':'CBbUM','rWdPu':function(_0x5277fa,_0x483997){return _0x5277fa(_0x483997);},'JKuAQ':_0x1dbb(0x3a),'GPTNB':function(_0x24cb37,_0x4cc338){return _0x24cb37(_0x4cc338);},'WOMZK':function(_0x435cc4,_0x2c8900){return _0x435cc4!==_0x2c8900;},'BsOoN':'gSNRi','QuyJp':_0x1dbb(0x3b),'ejuGr':function(_0x44a6dd,_0x454e64){return _0x44a6dd(_0x454e64);},'oNVLj':function(_0x39dc7a,_0x6f4585){return _0x39dc7a===_0x6f4585;},'AmeWL':_0x1dbb(0x3c),'KInTH':_0x1dbb(0x3d),'fsOXR':'LmhWw','AxYiz':_0x1dbb(0x3e),'trbBZ':'user_connected_platforms','bSEQB':_0x1dbb(0x3f),'dsxRB':_0x1dbb(0x40),'fnYov':function(_0xeab6ee,_0x60a45e){return _0xeab6ee===_0x60a45e;},'zjEnU':'nDugG','FwEHk':'ypapu','rTigS':_0x1dbb(0x41),'FExTJ':function(_0x3bd694,_0x4e49ca){return _0x3bd694===_0x4e49ca;},'ihkxA':'QdkcY','eVkEK':'GWjHy','thfWY':function(_0x31f1c6,_0x5a962c){return _0x31f1c6(_0x5a962c);},'MLTOm':function(_0x10f0fb,_0x3f1c39,_0xcf06e1){return _0x10f0fb(_0x3f1c39,_0xcf06e1);},'BPYNq':function(_0x4edb6d,_0x26041f){return _0x4edb6d(_0x26041f);},'hxYxh':function(_0x39e277){return _0x39e277();},'COJtz':function(_0x53946e,_0x1cbf79){return _0x53946e(_0x1cbf79);},'fzHra':function(_0x4d7dbf,_0x344495){return _0x4d7dbf(_0x344495);},'jlqnk':function(_0x5ac88f,_0x2f85b9){return _0x5ac88f(_0x2f85b9);},'Guztm':_0x1dbb(0x42),'iTawW':'hdpdO','APoLL':function(_0x4c778b,_0x10e2c1){return _0x4c778b!==_0x10e2c1;},'CQqLF':_0x1dbb(0x43),'nmWga':_0x1dbb(0x3),'nYYGv':'function','OFxgw':'default','jhoBe':function(_0x3ff538,_0x9e9111,_0x2ed060,_0x5353f0){return _0x3ff538(_0x9e9111,_0x2ed060,_0x5353f0);},'XOgsN':function(_0x140496,_0x579a49){return _0x140496===_0x579a49;},'ceheJ':_0x1dbb(0x44),'qLdpL':'LnJdL','STuXi':function(_0x127055,_0x5aca23){return _0x127055===_0x5aca23;},'HXCWV':_0x1dbb(0x45),'wUkDs':function(_0x2683e1,_0x542059){return _0x2683e1===_0x542059;},'JnzEa':_0x1dbb(0x46),'DEuKL':function(_0x230c0f,_0x568b6a){return _0x230c0f(_0x568b6a);},'PJBjL':_0x1dbb(0x47),'iTZmy':function(_0x3a5164,_0x59cb34){return _0x3a5164(_0x59cb34);},'NWGQL':function(_0x20c81b,_0x53d013){return _0x20c81b===_0x53d013;},'HHoTi':_0x1dbb(0x48),'Cdfno':_0x1dbb(0x49),'gRtpe':_0x1dbb(0x4a),'EMJsf':_0x1dbb(0x4b),'EZaYQ':_0x1dbb(0x4c),'UwFwY':function(_0x845348,_0x48c70b){return _0x845348(_0x48c70b);},'kIoEX':function(_0x102f37,_0x3af913){return _0x102f37(_0x3af913);},'NKpaK':_0x1dbb(0x4d),'wUgLo':'MhMMf','lsRzV':function(_0x1c050a,_0x5598f0){return _0x1c050a(_0x5598f0);},'DGJmn':function(_0x3d5338,_0x42d522){return _0x3d5338+_0x42d522;},'fsREN':_0x1dbb(0x4e),'BtCDu':_0x1dbb(0x4f),'UcccA':_0x1dbb(0x50),'XYRPw':function(_0xff4670,_0x4d45ef){return _0xff4670===_0x4d45ef;},'WfKYk':'error','nQWku':_0x1dbb(0x51),'wDwXt':function(_0x2935c8,_0x17c2a7){return _0x2935c8(_0x17c2a7);},'uxClZ':_0x1dbb(0x52),'NfgWf':_0x1dbb(0x53),'uOAxa':function(_0xdb5cc,_0x19c7f8){return _0xdb5cc===_0x19c7f8;},'tWXpM':function(_0x17782,_0x5b4088){return _0x17782!==_0x5b4088;},'AvdQu':_0x1dbb(0x54),'OQEEP':_0x1dbb(0x55),'ESrGi':function(_0x487fea,_0x3d4eba){return _0x487fea(_0x3d4eba);},'qTGTp':function(_0xd325b7,_0x531ffb){return _0xd325b7(_0x531ffb);},'ycdYA':function(_0x4e9fff,_0x58c54c){return _0x4e9fff===_0x58c54c;},'xSzIk':_0x1dbb(0x56),'hmlrY':'pinterest','bcdZu':'gmail','kQmzg':'seUcn','ycfpY':function(_0x32c80b,_0x34eb66){return _0x32c80b(_0x34eb66);},'EFncY':function(_0xaeb809,_0x3c3b5f){return _0xaeb809!==_0x3c3b5f;},'oEeQJ':_0x1dbb(0x57),'paIjp':function(_0x215f7a,_0x1a84cf,_0x47cdfc){return _0x215f7a(_0x1a84cf,_0x47cdfc);},'ZCSzt':function(_0x2ffd47){return _0x2ffd47();},'KKxfT':function(_0x414674,_0x19267d){return _0x414674(_0x19267d);},'pgijl':function(_0x27e076){return _0x27e076();},'kGAPK':function(_0x15b76e,_0x2d9ebb){return _0x15b76e(_0x2d9ebb);},'xIbKB':_0x1dbb(0x58),'SMuCO':_0x1dbb(0x59),'UEHek':function(_0x20dd82,_0x14a2bf){return _0x20dd82(_0x14a2bf);},'QvmcB':function(_0x542733,_0x41a7e4){return _0x542733||_0x41a7e4;},'afFfk':function(_0x4b70c3,_0x256587){return _0x4b70c3+_0x256587;},'eJDtn':_0x1dbb(0x5a),'LaohY':_0x1dbb(0x5b),'mzJWP':function(_0x9b429a,_0x2345ca){return _0x9b429a===_0x2345ca;},'opvGI':function(_0x34aa69,_0x4e64e2){return _0x34aa69===_0x4e64e2;},'vCeIj':_0x1dbb(0x5c),'VpQCT':function(_0x89d0d4,_0x135dc7){return _0x89d0d4===_0x135dc7;},'uhuTc':'#9CA3AF','xUxtp':_0x1dbb(0x5d),'UBPKB':'XIpHZ','gZXiN':_0x1dbb(0x5e),'msDmr':_0x1dbb(0x5f),'iDXRq':_0x1dbb(0x60),'WFZEt':_0x1dbb(0x61),'FYOif':'LinkedIn','UJgtO':'Use\x20your\x20professional\x20network\x20and\x20career\x20interests\x20to\x20enrich\x20your\x20model.','yEUAU':_0x1dbb(0x62),'GsMEN':_0x1dbb(0x63),'ImzTl':_0x1dbb(0x64),'ZwoTf':'Claude','VHujp':'Use\x20your\x20Claude\x20conversations\x20to\x20enrich\x20your\x20model.','eQdjU':'Gemini','TjCcl':_0x1dbb(0x65),'yBDvR':'Grok','fjRfJ':_0x1dbb(0x66),'MAohZ':function(_0x5f7e16,_0x46b76c){return _0x5f7e16===_0x46b76c;},'JuSRz':'zETQa','rMbRT':function(_0xea607b,_0x404a89){return _0xea607b&&_0x404a89;},'NXJJy':_0x1dbb(0x67),'kRTSG':_0x1dbb(0x68),'vwrlk':'Connect\x20platforms\x20to\x20build\x20your\x20private\x20persona','KXlch':function(_0x558fe4,_0x25f089){return _0x558fe4<=_0x25f089;},'miLlm':_0x1dbb(0x69),'KtvIx':_0x1dbb(0x6a),'dEpvD':_0x1dbb(0x6b),'JgfFm':function(_0x2364c9,_0x21f88d){return _0x2364c9===_0x21f88d;},'rmksO':'Continue','EfrzU':function(_0x2d1ff4,_0x13d6c9){return _0x2d1ff4===_0x13d6c9;},'tDsMg':function(_0x3e1367,_0x1e2317){return _0x3e1367||_0x1e2317;}};var _0x45cf2b;const [_0x3dbef8,_0x220457]=(0x0,_react[_0x1dbb(0x6c)])(()=>new Set(_0x4212d0||[])),[_0x51feb4,_0x2c51cd]=(0x0,_react[_0x1dbb(0x6c)])(![]),[_0x4ee566,_0x4803ab]=(0x0,_react[_0x1dbb(0x6c)])(![]),[_0x36048a,_0x410a55]=(0x0,_react[_0x1dbb(0x6c)])(![]),[_0x3b87ab,_0x374ec4]=(0x0,_react[_0x1dbb(0x6c)])(''),[_0x54dfd0,_0x41d50b]=(0x0,_react[_0x1dbb(0x6c)])({}),[_0x1c06c0,_0x3026e0]=(0x0,_react[_0x1dbb(0x6c)])(![]),[_0x47c89d,_0xe468d4]=(0x0,_react[_0x1dbb(0x6c)])(''),[_0x29cd6c,_0x2c51af]=(0x0,_react[_0x1dbb(0x6c)])(''),[_0x291442,_0x453897]=(0x0,_react[_0x1dbb(0x6c)])(null),[_0x351039,_0x24d180]=(0x0,_react[_0x1dbb(0x6c)])(0x0),_0x852aca=(0x0,_react['useRef'])(new _reactNative[(_0x1dbb(0x6d))][(_0x1dbb(0x6e))](0x0))['current'],[_0x5a8b39,_0x9ae72e]=(0x0,_react[_0x1dbb(0x6c)])(''),_0x2478a9=(0x0,_react[_0x1dbb(0x6f)])(null),[_0x4b5fc3,_0x28017b]=(0x0,_react[_0x1dbb(0x6c)])(!![]),_0x42a6d1=(0x0,_react[_0x1dbb(0x6f)])(new _reactNative['Animated']['Value'](0x0))[_0x1dbb(0x70)],[_0x183db1,_0x3589e5]=(0x0,_react['useState'])(0x0),_0x54348f=(0x0,_react[_0x1dbb(0x6f)])(0x0),[_0x2bf149,_0x1c8d8b]=(0x0,_react['useState'])(''),[_0x587bb6,_0x71a70d]=(0x0,_react[_0x1dbb(0x6c)])(0x0),[_0x1904e1,_0x271d45]=(0x0,_react[_0x1dbb(0x6c)])(_0x13074a['gZXiN']),[_0x16dd13,_0x20e7d3]=(0x0,_react[_0x1dbb(0x6c)])(![]),[_0x12e35a,_0x4d6aca]=(0x0,_react[_0x1dbb(0x6c)])(![]),[_0x5aa6ad,_0x22c57e]=(0x0,_react[_0x1dbb(0x6c)])(null),[_0x45d59b,_0xdc7252]=(0x0,_react[_0x1dbb(0x6c)])(null),_0x3f2e72=(0x0,_react[_0x1dbb(0x6f)])(null),[_0x422f2d,_0x3e8778]=(0x0,_react[_0x1dbb(0x6c)])(![]),[_0x3fa518,_0x2ccb81]=(0x0,_react[_0x1dbb(0x6c)])(''),[_0x25a440,_0x410d0e]=(0x0,_react['useState'])(null),[_0x5dc198,_0x2a6730]=(0x0,_react[_0x1dbb(0x6c)])(![]),[_0x36022e,_0x599052]=(0x0,_react[_0x1dbb(0x6c)])(![]),[_0x4c31f4,_0x1399dd]=(0x0,_react[_0x1dbb(0x6c)])(null),[_0x4d8976,_0x5e5c16]=(0x0,_react[_0x1dbb(0x6c)])(initialRefreshFrequency),{connectPlatform:_0x344ad6,disconnectPlatform:_0x2ec82c,isConnecting:_0x392fa2}=(0x0,_useConnections[_0x1dbb(0x71)])(),_0x93a5b6=null;(0x0,_react[_0x1dbb(0x72)])(()=>{const _0x114250={'CVfhy':_0x13074a['omHew'],'ytVlI':_0x1dbb(0x73)};_0x4212d0&&_0x13074a[_0x1dbb(0x74)](_0x4212d0[_0x1dbb(0x75)],0x0)&&_0x220457(_0x3016fe=>{if(_0x13074a[_0x1dbb(0x76)](_0x13074a[_0x1dbb(0x77)],_0x13074a[_0x1dbb(0x78)])){const _0x2e33e1=new _0x3536a6(_0x2c7b44);return _0x2e33e1[_0x1dbb(0x79)](_0x20bf07),_0x2e33e1;}else{const _0x49d57a=new Set(_0x3016fe);let _0x4e530b=![];return _0x4212d0[_0x1dbb(0x7a)](_0x4bfa82=>{!_0x49d57a[_0x1dbb(0xb)](_0x4bfa82)&&(_0x114250[_0x1dbb(0x7b)]===_0x114250[_0x1dbb(0x7c)]?_0x4c843f[_0x1dbb(0x7d)](_0x323812):(_0x49d57a[_0x1dbb(0x79)](_0x4bfa82),_0x4e530b=!![]));}),_0x4e530b?_0x49d57a:_0x3016fe;}});},[_0x4212d0]),(0x0,_react['useEffect'])(()=>{const _0x5b398d={'lyqRV':function(_0x29ccc4,_0x12c1b3){return _0x13074a[_0x1dbb(0x7e)](_0x29ccc4,_0x12c1b3);},'WekwT':function(_0x264dae,_0x5b83d1){return _0x13074a['VtdjU'](_0x264dae,_0x5b83d1);},'YYhBo':function(_0x1e17b0,_0x4ef7c1,_0x9817b5){return _0x13074a[_0x1dbb(0x7f)](_0x1e17b0,_0x4ef7c1,_0x9817b5);},'SYjLQ':_0x13074a['ySvHI'],'xEbAt':_0x13074a[_0x1dbb(0x80)],'rHpvx':function(_0x1f5d08,_0x2a4d1d){return _0x1f5d08===_0x2a4d1d;},'orGbN':_0x13074a[_0x1dbb(0x81)],'GUEmA':_0x13074a['cYmMU'],'zANfe':function(_0x223cd7,_0xdd6e73){return _0x223cd7!==_0xdd6e73;},'ekREV':_0x13074a['MRoBx'],'LFMjN':_0x13074a[_0x1dbb(0x82)],'dzQtF':_0x13074a[_0x1dbb(0x83)],'tWpMe':function(_0x208efa,_0x4eb82e){return _0x13074a['yqzqn'](_0x208efa,_0x4eb82e);},'qzIje':_0x13074a[_0x1dbb(0x84)],'qLRBU':_0x13074a[_0x1dbb(0x85)],'oxQiT':_0x13074a[_0x1dbb(0x86)],'giSiK':_0x13074a[_0x1dbb(0x87)],'nUbvU':_0x13074a[_0x1dbb(0x88)],'PURuc':_0x13074a[_0x1dbb(0x89)],'Zsdzy':_0x13074a[_0x1dbb(0x8a)],'fczov':_0x13074a['uykRy'],'xvLfz':'✅\x20[PLATFORMS]\x20Loaded\x20LinkedIn\x20connection','zTuge':function(_0x177e8b,_0x30d020){return _0x13074a[_0x1dbb(0x8b)](_0x177e8b,_0x30d020);},'qHeWk':function(_0x32f9b5,_0x45162b){return _0x13074a[_0x1dbb(0x8c)](_0x32f9b5,_0x45162b);}},_0x2b7817=async()=>{const _0x405b6d={'mrvlw':function(_0x36f3a2,_0x5e4bb1){return _0x5b398d['WekwT'](_0x36f3a2,_0x5e4bb1);},'vIVCN':_0x5b398d['xEbAt']};try{if(_0x5b398d['rHpvx'](_0x5b398d[_0x1dbb(0x8d)],_0x5b398d['GUEmA']))_0x405b6d[_0x1dbb(0x8e)](_0x12fec9,![]);else{console[_0x1dbb(0x11)]('🔄\x20[PLATFORMS]\x20Loading\x20connected\x20platforms\x20from\x20storage...');const _0x3fa89a=[],_0x15d147=await _asyncStorage[_0x1dbb(0x5)][_0x1dbb(0x8f)](_0x1dbb(0x90));if(_0x15d147){const _0x42faec=JSON[_0x1dbb(0xd)](_0x15d147);Array['isArray'](_0x42faec)&&(_0x5b398d[_0x1dbb(0x91)](_0x5b398d['ekREV'],_0x5b398d['ekREV'])?!_0x18777c[_0x1dbb(0xb)](_0x1b579c)&&(_0x289834['add'](_0x3e58d5),_0x477818=!![]):(_0x3fa89a[_0x1dbb(0x7d)](..._0x42faec),console['log'](_0x5b398d[_0x1dbb(0x92)],_0x42faec)));}const _0x42c4b3=await _asyncStorage[_0x1dbb(0x5)][_0x1dbb(0x8f)](_0x5b398d[_0x1dbb(0x93)]);if(_0x42c4b3){if(_0x5b398d['tWpMe'](_0x5b398d[_0x1dbb(0x94)],_0x5b398d[_0x1dbb(0x94)]))_0x547838[_0x1dbb(0x95)](_0x405b6d[_0x1dbb(0x96)],_0x4003aa);else{const _0x4b8d76=JSON['parse'](_0x42c4b3);Array['isArray'](_0x4b8d76)&&(_0x4b8d76[_0x1dbb(0x7a)](_0x48e454=>{var _0x3ac7b8;const _0x4f2c5d=(_0x3ac7b8=_0x48e454[_0x1dbb(0x97)])===null||_0x5b398d[_0x1dbb(0x98)](_0x3ac7b8,void 0x0)?void 0x0:_0x3ac7b8[_0x1dbb(0x99)]();_0x4f2c5d&&!_0x3fa89a['includes'](_0x4f2c5d)&&_0x3fa89a[_0x1dbb(0x7d)](_0x4f2c5d);}),console[_0x1dbb(0x11)](_0x1dbb(0x5d),_0x4b8d76[_0x1dbb(0x9a)](_0x214f27=>_0x214f27[_0x1dbb(0x97)])));}}const _0x390d45=[_0x5b398d['qLRBU'],_0x5b398d['oxQiT'],_0x5b398d[_0x1dbb(0x9b)],_0x5b398d['nUbvU']];for(const _0x4c15b8 of _0x390d45){const _0x4f9413=await _asyncStorage[_0x1dbb(0x5)][_0x1dbb(0x8f)](_0x1dbb(0x9c)+_0x4c15b8);if(_0x4f9413){const _0x58031d=JSON[_0x1dbb(0xd)](_0x4f9413);_0x58031d['connected']&&!_0x3fa89a[_0x1dbb(0xf)](_0x4c15b8)&&(_0x5b398d['rHpvx'](_0x5b398d['PURuc'],_0x5b398d['Zsdzy'])?((0x0,_0x3104cd[_0x1dbb(0x9d)])(_0x317ba6[_0x1dbb(0x9e)][_0x1dbb(0x9f)]),_0x5b398d[_0x1dbb(0xa0)](_0x5d42cd,![])):(_0x3fa89a[_0x1dbb(0x7d)](_0x4c15b8),console[_0x1dbb(0x11)](_0x1dbb(0xa1)+_0x4c15b8)));}}const _0xb6490=await _asyncStorage[_0x1dbb(0x5)][_0x1dbb(0x8f)](_0x1dbb(0x41));if(_0xb6490){const _0x5028a3=JSON[_0x1dbb(0xd)](_0xb6490);_0x5028a3[_0x1dbb(0xe)]&&!_0x3fa89a['includes']('linkedin')&&(_0x3fa89a[_0x1dbb(0x7d)](_0x5b398d[_0x1dbb(0xa2)]),console[_0x1dbb(0x11)](_0x5b398d[_0x1dbb(0xa3)]));}_0x5b398d[_0x1dbb(0xa4)](_0x3fa89a[_0x1dbb(0x75)],0x0)&&_0x5b398d['qHeWk'](_0x220457,_0x53d3b6=>{const _0x1a2793={'ZpmNW':function(_0x41087e,_0x49103d){return _0x41087e(_0x49103d);},'Ykxpr':function(_0x37b238,_0x9c23cc,_0x5e222f){return _0x5b398d[_0x1dbb(0xa5)](_0x37b238,_0x9c23cc,_0x5e222f);},'cAbxE':function(_0x45b504,_0x2ce1fd){return _0x45b504===_0x2ce1fd;}},_0x4a1367=new Set(_0x53d3b6);let _0xe3825f=![];return _0x3fa89a[_0x1dbb(0x7a)](_0x32750b=>{const _0x215d24={'uYNCG':function(_0x48d7bd,_0x3a3526){return _0x1a2793['ZpmNW'](_0x48d7bd,_0x3a3526);},'xfuvm':function(_0x34453d,_0x1beb04,_0x91f7f4){return _0x1a2793['Ykxpr'](_0x34453d,_0x1beb04,_0x91f7f4);}};if(!_0x4a1367[_0x1dbb(0xb)](_0x32750b)){if(_0x1a2793[_0x1dbb(0xa6)]('rJBhq',_0x1dbb(0xa7))){const _0x1d0310=_0x215d24['xfuvm'](_0x569d6e,()=>{_0x215d24[_0x1dbb(0xa8)](_0x4e8447,_0x14f836=>{const _0x22e399=new _0xe4f72f(_0x14f836);return _0x22e399['add'](_0x280633),_0x22e399;}),(0x0,_0x5a9e7a[_0x1dbb(0x9d)])(_0x58b895[_0x1dbb(0x9e)][_0x1dbb(0xa9)]),_0x14b6c1[_0x1dbb(0x11)](_0x1dbb(0xaa)+_0x2a5e36),_0x27ad24(null);},0x12c);return()=>_0x4ee2a2(_0x1d0310);}else _0x4a1367[_0x1dbb(0x79)](_0x32750b),_0xe3825f=!![];}}),_0xe3825f&&console['log'](_0x5b398d[_0x1dbb(0xab)],Array[_0x1dbb(0xac)](_0x4a1367)),_0xe3825f?_0x4a1367:_0x53d3b6;});}}catch(_0x17f54e){console[_0x1dbb(0x95)](_0x5b398d[_0x1dbb(0xad)],_0x17f54e);}};_0x2b7817();},[]),(0x0,_react[_0x1dbb(0x72)])(()=>{const _0x5b7bea={'UeMyl':function(_0x14917b,_0x2ceb14){return _0x13074a[_0x1dbb(0xae)](_0x14917b,_0x2ceb14);},'pNDfg':_0x13074a[_0x1dbb(0xaf)]};if(_0x1dbb(0xb0)===_0x13074a[_0x1dbb(0xb1)]){const _0x473f3c=async()=>{if(_0x13074a[_0x1dbb(0xb2)](_0x13074a[_0x1dbb(0xb3)],_0x13074a[_0x1dbb(0xb4)]))try{if(_0x13074a[_0x1dbb(0xb5)](_0x13074a[_0x1dbb(0xb6)],'LPyDC')){const _0x1c4ecb=await _asyncStorage[_0x1dbb(0x5)][_0x1dbb(0x8f)](_0x13074a['MNzZQ']);if(_0x13074a[_0x1dbb(0xb7)](_0x1c4ecb,!_0x2bf149)){_0x13074a[_0x1dbb(0xb8)](_0x1c8d8b,_0x1c4ecb);return;}if(_0x13074a[_0x1dbb(0xb9)](_0x93a5b6,!_0x2bf149)){var _0x1f8f6c;const _0x41fdd6=(_0x13074a[_0x1dbb(0xba)](_0x93a5b6,null)||_0x13074a['rkhME'](_0x93a5b6,void 0x0)||_0x13074a[_0x1dbb(0xb5)](_0x1f8f6c=_0x93a5b6[_0x1dbb(0xbb)],null)||_0x1f8f6c===void 0x0?void 0x0:_0x1f8f6c[_0x1dbb(0xbc)]('@')[0x0])||(_0x13074a['qAODs'](_0x93a5b6,null)||_0x13074a[_0x1dbb(0xbd)](_0x93a5b6,void 0x0)?void 0x0:_0x93a5b6[_0x1dbb(0xbe)])||_0x1dbb(0xbf)+Math[_0x1dbb(0xc0)](Math[_0x1dbb(0xc1)]()*0x2710);_0x13074a['VtdjU'](_0x1c8d8b,_0x41fdd6),await _asyncStorage[_0x1dbb(0x5)]['setItem'](_0x13074a[_0x1dbb(0xc2)],_0x41fdd6);return;}if(!_0x2bf149){if(_0x13074a[_0x1dbb(0xc3)]('cVAcx',_0x13074a[_0x1dbb(0xc4)])){const _0x54173e=_0x1dbb(0xc5)+Math[_0x1dbb(0xc0)](_0x13074a[_0x1dbb(0xc6)](Math[_0x1dbb(0xc1)](),0x2710));_0x13074a[_0x1dbb(0xc7)](_0x1c8d8b,_0x54173e),await _asyncStorage[_0x1dbb(0x5)][_0x1dbb(0xc8)](_0x13074a[_0x1dbb(0xc2)],_0x54173e);}else _0x5d3d9a&&_0xf1520e[_0x1dbb(0x6d)][_0x1dbb(0xc9)](_0x405dda['Animated'][_0x1dbb(0xca)]([_0x4d3770['Animated'][_0x1dbb(0xcb)](_0x16fc0f,{'toValue':0x1,'duration':0x3e8,'useNativeDriver':!![]}),_0x2f080f[_0x1dbb(0x6d)]['timing'](_0xf86280,{'toValue':0x0,'duration':0x3e8,'useNativeDriver':!![]})]))[_0x1dbb(0xcc)]();}}else _0x5b7bea['UeMyl'](_0x1cb42d,_0x591046);}catch(_0x5b2aa9){console[_0x1dbb(0x95)](_0x13074a[_0x1dbb(0xcd)],_0x5b2aa9);const _0x1bcda0='user_'+Math[_0x1dbb(0xc0)](_0x13074a['LfWbn'](Math[_0x1dbb(0xc1)](),0x2710));_0x13074a[_0x1dbb(0x8c)](_0x1c8d8b,_0x1bcda0);}else _0xf6680e['log'](_0x5b7bea['pNDfg'],_0x643bed[_0x1dbb(0xac)](_0x406375));};_0x473f3c();}else{if(_0x48a5df['has'](_0x28f730))return _0x5a863e[_0x1dbb(0x16)](_0x51887b);_0x29955a['set'](_0x537911,_0x27d233);}},[_0x93a5b6,_0x2bf149]),(0x0,_react[_0x1dbb(0x72)])(()=>{_0x4b5fc3&&(_0x13074a[_0x1dbb(0xb2)](_0x13074a[_0x1dbb(0xce)],_0x13074a[_0x1dbb(0xcf)])?_reactNative[_0x1dbb(0x6d)][_0x1dbb(0xc9)](_reactNative['Animated'][_0x1dbb(0xca)]([_reactNative[_0x1dbb(0x6d)][_0x1dbb(0xcb)](_0x42a6d1,{'toValue':0x1,'duration':0x3e8,'useNativeDriver':!![]}),_reactNative[_0x1dbb(0x6d)][_0x1dbb(0xcb)](_0x42a6d1,{'toValue':0x0,'duration':0x3e8,'useNativeDriver':!![]})]))[_0x1dbb(0xcc)]():_0xe9255&&_0x2d0819(_0xfbb97d));},[_0x4b5fc3]);const _0x33821f=(0x0,_react[_0x1dbb(0xd0)])(_0x2c620d=>{if(_0x13074a[_0x1dbb(0xd1)](_0x13074a[_0x1dbb(0xd2)],_0x1dbb(0xd3))){_0x3e4a58[_0x1dbb(0x95)](_0x13074a[_0x1dbb(0xcd)],_0x361b9e);const _0xd8239b=_0x1dbb(0xbf)+_0x305972[_0x1dbb(0xc0)](_0x13074a['amkui'](_0x2b8021[_0x1dbb(0xc1)](),0x2710));_0x13074a[_0x1dbb(0xd4)](_0xacbb3e,_0xd8239b);}else{const _0x26ae94=_0x2c620d[_0x1dbb(0xd5)][_0x1dbb(0xd6)]['x'],_0x15b6da=_0x2c620d[_0x1dbb(0xd5)][_0x1dbb(0xd7)][_0x1dbb(0xd8)],_0x123143=_0x2c620d[_0x1dbb(0xd5)][_0x1dbb(0xd9)]['width'];_0x54348f[_0x1dbb(0x70)]=_0x26ae94;const _0x5938be=_0x13074a['umlPz'](_0x123143,_0x15b6da),_0x4d059c=_0x13074a[_0x1dbb(0x74)](_0x5938be,0x0)?_0x13074a[_0x1dbb(0xda)](_0x26ae94,_0x5938be):0x0;_0x13074a[_0x1dbb(0xdb)](_0x3589e5,_0x4d059c),_0x26ae94>0xa&&_0x4b5fc3&&_0x28017b(![]);}},[_0x4b5fc3]),_0x52f3c6=[{'id':_0x13074a['xSzIk'],'name':_0x13074a[_0x1dbb(0xdc)],'icon':(0x0,_connectedAccountsService[_0x1dbb(0xdd)])(_0x13074a[_0x1dbb(0xde)]),'description':_0x1dbb(0xdf),'isChatPlatform':![]},{'id':_0x13074a['iDXRq'],'name':'Reddit','icon':(0x0,_connectedAccountsService[_0x1dbb(0xdd)])(_0x13074a['iDXRq']),'description':'Use\x20your\x20posts\x20and\x20comments\x20to\x20enrich\x20your\x20model.','isChatPlatform':![]},{'id':_0x1dbb(0xe0),'name':_0x13074a['WFZEt'],'icon':(0x0,_connectedAccountsService['getPlatformIcon'])(_0x13074a['hmlrY']),'description':'Use\x20your\x20pins,\x20boards,\x20and\x20interests\x20to\x20enrich\x20your\x20model.','isChatPlatform':![]},{'id':_0x13074a[_0x1dbb(0xe1)],'name':_0x13074a[_0x1dbb(0xe2)],'icon':(0x0,_connectedAccountsService[_0x1dbb(0xdd)])(_0x13074a[_0x1dbb(0xe1)]),'description':_0x13074a[_0x1dbb(0xe3)],'isChatPlatform':![]},{'id':_0x1dbb(0xe4),'name':_0x13074a[_0x1dbb(0xe5)],'icon':(0x0,_connectedAccountsService[_0x1dbb(0xdd)])(_0x1dbb(0xe4)),'description':_0x13074a[_0x1dbb(0xe6)],'isChatPlatform':![]},{'id':_0x13074a[_0x1dbb(0x85)],'name':'ChatGPT','icon':(0x0,_connectedAccountsService[_0x1dbb(0xdd)])(_0x13074a[_0x1dbb(0x85)]),'description':_0x13074a[_0x1dbb(0xe7)],'isChatPlatform':!![]},{'id':_0x1dbb(0x2a),'name':_0x13074a['ZwoTf'],'icon':(0x0,_connectedAccountsService[_0x1dbb(0xdd)])(_0x13074a[_0x1dbb(0x86)]),'description':_0x13074a[_0x1dbb(0xe8)],'isChatPlatform':!![]},{'id':_0x1dbb(0x2b),'name':_0x13074a[_0x1dbb(0xe9)],'icon':(0x0,_connectedAccountsService[_0x1dbb(0xdd)])(_0x13074a[_0x1dbb(0x87)]),'description':_0x13074a[_0x1dbb(0xea)],'isChatPlatform':!![]},{'id':_0x13074a['qbFYk'],'name':_0x13074a[_0x1dbb(0xeb)],'icon':(0x0,_connectedAccountsService[_0x1dbb(0xdd)])(_0x13074a['qbFYk']),'description':_0x13074a[_0x1dbb(0xec)],'isChatPlatform':!![]}],_0x40780b=_0x5c2207?_0x5c2207['map'](_0x3bb157=>_0x52f3c6[_0x1dbb(0xed)](_0xa71ab6=>_0xa71ab6['id']===_0x3bb157))[_0x1dbb(0xee)](_0x5991e5=>_0x5991e5!==undefined):_0x52f3c6;(0x0,_react[_0x1dbb(0x72)])(()=>{if(_0x13074a[_0x1dbb(0x8b)](_0x40780b[_0x1dbb(0x75)],0x0)){const _0x473389=_0x40780b[0x0]['id'];(!_0x5a8b39||!_0x40780b['find'](_0x520368=>_0x520368['id']===_0x5a8b39))&&(_0x13074a[_0x1dbb(0xef)]===_0x13074a[_0x1dbb(0xef)]?_0x13074a[_0x1dbb(0xf0)](_0x9ae72e,_0x473389):_0x13074a[_0x1dbb(0xf0)](_0xcbe8ac,![]));}},[_0x5c2207,_0x40780b['length']]);const _0x27305a=async(_0x373b96,_0x2b52e7)=>{const _0x4b393a={'AmmGN':_0x13074a[_0x1dbb(0xaf)],'EYsWR':function(_0x3aae38,_0x327653){return _0x3aae38(_0x327653);},'GoPUD':function(_0x4c01a6,_0x192ade){return _0x4c01a6(_0x192ade);},'cjEan':function(_0x480621,_0x48be8b){return _0x13074a['SwFNc'](_0x480621,_0x48be8b);},'zNvqF':function(_0xf84bb,_0x37322d){return _0x13074a[_0x1dbb(0xf1)](_0xf84bb,_0x37322d);},'lLayz':function(_0xe30230,_0x56dc65){return _0x13074a[_0x1dbb(0xf2)](_0xe30230,_0x56dc65);},'mhcPD':function(_0x41724a,_0x2215b7){return _0x13074a[_0x1dbb(0x76)](_0x41724a,_0x2215b7);},'OUZDJ':function(_0x820ec8,_0x51de22){return _0x13074a[_0x1dbb(0xae)](_0x820ec8,_0x51de22);},'ocgRm':_0x13074a[_0x1dbb(0xf3)],'nBzYS':function(_0x504b2a,_0xe77eb6){return _0x13074a[_0x1dbb(0x8c)](_0x504b2a,_0xe77eb6);},'Zxxcw':function(_0x47cacc,_0x4028b9){return _0x13074a[_0x1dbb(0xf4)](_0x47cacc,_0x4028b9);}};(0x0,_haptics[_0x1dbb(0x9d)])(_haptics[_0x1dbb(0x9e)][_0x1dbb(0x9f)]),console[_0x1dbb(0x11)](_0x1dbb(0xf5)+_0x373b96+_0x1dbb(0xf6)+_0x2b52e7);try{if(_0x13074a['yqzqn'](_0x13074a[_0x1dbb(0xf7)],_0x13074a['WhOLI']))return _0x502d4a&&_0x5702ff[_0x1dbb(0x1)]?_0x1ecf61:{'default':_0x344f7a};else{if(_0x2b52e7){if(_0x13074a[_0x1dbb(0xf8)](_0x13074a[_0x1dbb(0xf9)],'oeJcJ')){const _0x557876=await _asyncStorage[_0x1dbb(0x5)][_0x1dbb(0x8f)](_0x13074a[_0x1dbb(0xc2)]),_0x4efb28=_0x13074a[_0x1dbb(0xfa)](_0x557876,_0x2bf149);console[_0x1dbb(0x11)](_0x1dbb(0xfb)+_0x557876+_0x1dbb(0xfc)+_0x2bf149+_0x1dbb(0xfd)+_0x4efb28+'\x22');if(!_0x4efb28||_0x13074a[_0x1dbb(0xfe)](_0x4efb28['trim'](),'')){if(_0x13074a['AiKQs'](_0x13074a[_0x1dbb(0xff)],_0x13074a['kIvcE']))_0x5bce98[_0x1dbb(0x7d)](_0x1dbb(0x2)),_0x19bc48['log'](_0x13074a[_0x1dbb(0x100)]);else{console[_0x1dbb(0x95)](_0x13074a[_0x1dbb(0x101)]);return;}}const _0x54752e=_0x52f3c6[_0x1dbb(0xed)](_0x4f3e7a=>_0x4f3e7a['id']===_0x373b96),_0x3d7af8=(_0x54752e===null||_0x54752e===void 0x0?void 0x0:_0x54752e[_0x1dbb(0x102)])||(0x0,_webviewScripts[_0x1dbb(0x103)])(_0x373b96);if(_0x3d7af8){console[_0x1dbb(0x11)](_0x1dbb(0x104)+_0x373b96+_0x1dbb(0x105)),_0x13074a[_0x1dbb(0x106)](_0x2c51af,_0x373b96),_0x13074a['gTfBO'](_0x41d50b,_0x37dd11=>({..._0x37dd11,[_0x373b96]:_0x1dbb(0x107)}));const _0x2893b8=(0x0,_webviewScripts[_0x1dbb(0x108)])(_0x373b96);_0x2893b8?(console['log'](_0x1dbb(0x109)+_0x373b96+_0x1dbb(0x10a),_0x2893b8),_0xe468d4(_0x2893b8),_0x13074a[_0x1dbb(0x8c)](_0x3026e0,!![])):(console[_0x1dbb(0x95)]('❌\x20[LLM]\x20No\x20URL\x20configured\x20for\x20platform:\x20'+_0x373b96),_0x41d50b(_0x2b0494=>({..._0x2b0494,[_0x373b96]:'error'})),(0x0,_haptics[_0x1dbb(0x9d)])(_haptics[_0x1dbb(0x9e)][_0x1dbb(0x10b)]));return;}if((0x0,_webviewScripts[_0x1dbb(0x10c)])(_0x373b96)){if(_0x13074a['yqzqn'](_0x13074a['ybMnD'],_0x13074a[_0x1dbb(0x10d)])){const _0x3dec35=new _0x3ad713(_0x46c425);let _0x219f26=![];return _0x1aeb5a[_0x1dbb(0x7a)](_0x538f04=>{!_0x3dec35['has'](_0x538f04)&&(_0x3dec35[_0x1dbb(0x79)](_0x538f04),_0x219f26=!![]);}),_0x219f26&&_0x3228d5[_0x1dbb(0x11)](_0x4b393a[_0x1dbb(0x10e)],_0x52ea21[_0x1dbb(0xac)](_0x3dec35)),_0x219f26?_0x3dec35:_0x367b2b;}else{console['log']('💼\x20[LINKEDIN]\x20Opening\x20WebView\x20for\x20LinkedIn\x20login...'),_0x13074a[_0x1dbb(0x10f)](_0x2c51af,_0x373b96),_0x13074a[_0x1dbb(0xf0)](_0x41d50b,_0x292ab1=>({..._0x292ab1,[_0x373b96]:'connecting'}));const _0x11dfe9='https://www.linkedin.com/login';console[_0x1dbb(0x11)](_0x1dbb(0x110),_0x11dfe9),_0x13074a[_0x1dbb(0xf1)](_0xe468d4,_0x11dfe9),_0x13074a[_0x1dbb(0xf0)](_0x3026e0,!![]);return;}}if((0x0,_platformAuthService[_0x1dbb(0x111)])(_0x373b96)){_0x13074a[_0x1dbb(0x106)](_0x2c51af,_0x373b96),_0x13074a[_0x1dbb(0x112)](_0x41d50b,_0x177c5c=>({..._0x177c5c,[_0x373b96]:_0x1dbb(0x107)}));const _0x5ece51=await(0x0,_platformAuthService['initiateNativeAuth'])(_0x373b96,_0x4efb28);if(_0x5ece51){if(_0x13074a[_0x1dbb(0xfe)](_0x13074a[_0x1dbb(0x113)],_0x13074a[_0x1dbb(0x113)])){const _0x4c3f35=new Set(_0x3dbef8);_0x4c3f35['add'](_0x373b96),_0x13074a[_0x1dbb(0xd4)](_0x220457,_0x4c3f35),_0x13074a[_0x1dbb(0xdb)](_0x41d50b,_0x1da674=>({..._0x1da674,[_0x373b96]:_0x1dbb(0xe)})),(0x0,_haptics[_0x1dbb(0x9d)])(_haptics[_0x1dbb(0x9e)][_0x1dbb(0xa9)]);}else _0x4b393a[_0x1dbb(0x114)](_0x44bcea,![]),_0x1dd5e4(!![]);}else _0x13074a['GPTNB'](_0x41d50b,_0xab85ba=>({..._0xab85ba,[_0x373b96]:_0x1dbb(0x95)})),(0x0,_haptics[_0x1dbb(0x9d)])(_haptics['HapticType'][_0x1dbb(0x10b)]);}else{if(_0x13074a[_0x1dbb(0x115)](_0x13074a['BsOoN'],_0x13074a[_0x1dbb(0x116)]))_0x4b393a[_0x1dbb(0x117)](_0x436154,![]),_0x4b393a[_0x1dbb(0x114)](_0x1ba367,''),_0x36b99e&&_0x5d1a62(_0x3cc676=>({..._0x3cc676,[_0x54a610]:_0x1dbb(0x118)})),_0x4b393a['cjEan'](_0x1743cd,'');else{console[_0x1dbb(0x11)](_0x1dbb(0x119)+_0x373b96+_0x1dbb(0x11a)),_0x13074a[_0x1dbb(0xf1)](_0x2c51af,_0x373b96),_0x13074a['QKoTq'](_0x41d50b,_0xedad6d=>({..._0xedad6d,[_0x373b96]:'connecting'}));const _0x42b001=await(0x0,_platformAuthService[_0x1dbb(0x11b)])(_0x373b96,_0x4efb28);console[_0x1dbb(0x11)]('🔗\x20[TOGGLE]\x20OAuth\x20URL\x20result\x20for\x20'+_0x373b96+':',_0x42b001?_0x42b001[_0x1dbb(0x11c)](0x0,0x32)+'...':_0x13074a[_0x1dbb(0x11d)]),_0x42b001?(console['log']('✅\x20[TOGGLE]\x20Setting\x20WebView\x20state\x20-\x20showing\x20modal\x20for\x20'+_0x373b96),_0xe468d4(_0x42b001),_0x13074a[_0x1dbb(0x11e)](_0x3026e0,!![])):(console['error'](_0x1dbb(0x11f)+_0x373b96+_0x1dbb(0x120)),_0x13074a[_0x1dbb(0xb8)](_0x41d50b,_0x4e55aa=>({..._0x4e55aa,[_0x373b96]:_0x1dbb(0x95)})),(0x0,_haptics[_0x1dbb(0x9d)])(_haptics[_0x1dbb(0x9e)][_0x1dbb(0x10b)]));}}}else _0x35f859['Animated'][_0x1dbb(0xc9)](_0x102cd8[_0x1dbb(0x6d)][_0x1dbb(0xca)]([_0x2f2669[_0x1dbb(0x6d)][_0x1dbb(0xcb)](_0x119b6a,{'toValue':0x1,'duration':0x3e8,'useNativeDriver':!![]}),_0x4d2a67['Animated'][_0x1dbb(0xcb)](_0x5a6612,{'toValue':0x0,'duration':0x3e8,'useNativeDriver':!![]})]))['start']();}else{await _0x13074a[_0x1dbb(0xae)](_0x2ec82c,_0x373b96);const _0x3d928b=new Set(_0x3dbef8);_0x3d928b[_0x1dbb(0x121)](_0x373b96),_0x13074a['VtdjU'](_0x220457,_0x3d928b),_0x41d50b(_0x1cc05b=>({..._0x1cc05b,[_0x373b96]:_0x1dbb(0x118)})),(0x0,_haptics[_0x1dbb(0x9d)])(_haptics['HapticType']['BUTTON_PRESS']);try{if(_0x13074a[_0x1dbb(0x122)](_0x13074a[_0x1dbb(0x123)],_0x13074a[_0x1dbb(0x124)]))_0x469e5e['error'](_0x1dbb(0x125)+_0x3bf4a1+':',_0x4e402d),_0x13074a[_0x1dbb(0xdb)](_0x22cd3a,_0x5d971c=>({..._0x5d971c,[_0x337a1d]:'error'})),(0x0,_0x54d29d[_0x1dbb(0x9d)])(_0x5c16fa[_0x1dbb(0x9e)][_0x1dbb(0x10b)]);else{const _0x191523=await _asyncStorage[_0x1dbb(0x5)][_0x1dbb(0x8f)]('user_connected_platforms');if(_0x191523){if(_0x13074a[_0x1dbb(0x126)]!==_0x13074a[_0x1dbb(0x127)]){const _0x1e5a1a=JSON[_0x1dbb(0xd)](_0x191523),_0x3e7242=_0x1e5a1a[_0x1dbb(0xee)](_0x15719d=>_0x15719d['toLowerCase']()!==_0x373b96[_0x1dbb(0x99)]());await _asyncStorage[_0x1dbb(0x5)]['setItem'](_0x13074a[_0x1dbb(0x128)],JSON[_0x1dbb(0x129)](_0x3e7242)),console['log'](_0x1dbb(0x12a)+_0x373b96+_0x1dbb(0x12b),_0x3e7242);}else _0x4b393a['zNvqF'](_0x2e94a3,_0x66b692);}}}catch(_0x9cd09){_0x13074a['bSEQB']!=='dYtvR'?console[_0x1dbb(0x95)](_0x13074a[_0x1dbb(0x12c)],_0x9cd09):_0x13074a['CPYMO'](_0x5b58de,![]);}await _asyncStorage['default'][_0x1dbb(0x12d)](_0x1dbb(0x9c)+_0x373b96);if(_0x13074a[_0x1dbb(0x76)](_0x373b96['toLowerCase'](),'linkedin')){if(_0x13074a[_0x1dbb(0x12e)](_0x13074a[_0x1dbb(0x12f)],_0x13074a[_0x1dbb(0x130)])){var _0x4312cb;const _0x35cc49=_0x4b393a[_0x1dbb(0x131)](_0x4312cb=_0x27a351['platform'],null)||_0x4b393a[_0x1dbb(0x132)](_0x4312cb,void 0x0)?void 0x0:_0x4312cb[_0x1dbb(0x99)]();_0x35cc49&&!_0x26c807[_0x1dbb(0xf)](_0x35cc49)&&_0x571b5f[_0x1dbb(0x7d)](_0x35cc49);}else await _asyncStorage[_0x1dbb(0x5)][_0x1dbb(0x12d)](_0x13074a['rTigS']);}}}}catch(_0x263dda){if(_0x13074a[_0x1dbb(0x133)](_0x13074a[_0x1dbb(0x134)],_0x13074a['eVkEK'])){_0xac4e3d[_0x1dbb(0x11)](_0x1dbb(0x135)),_0x4b393a[_0x1dbb(0x136)](_0x440241,_0x5ef43c),_0x4b393a['OUZDJ'](_0x246aea,_0x2740e2=>({..._0x2740e2,[_0x16c53e]:_0x1dbb(0x107)}));const _0x4afb7f=_0x4b393a[_0x1dbb(0x137)];_0x531c3a[_0x1dbb(0x11)]('🌐\x20[LINKEDIN]\x20Opening\x20LinkedIn\x20URL:',_0x4afb7f),_0x4b393a[_0x1dbb(0x138)](_0x2eb259,_0x4afb7f),_0x4b393a[_0x1dbb(0x139)](_0x3246e1,!![]);return;}else console[_0x1dbb(0x95)]('Error\x20toggling\x20platform\x20'+_0x373b96+':',_0x263dda),_0x13074a[_0x1dbb(0x13a)](_0x41d50b,_0x100536=>({..._0x100536,[_0x373b96]:_0x1dbb(0x95)})),(0x0,_haptics[_0x1dbb(0x9d)])(_haptics['HapticType'][_0x1dbb(0x10b)]);}},_0x42495b=async()=>{const _0x494c60={'yUmiC':function(_0xa5dd7e){return _0x13074a[_0x1dbb(0x13b)](_0xa5dd7e);},'ZhnMd':function(_0x1ed924,_0x4e6de6){return _0x13074a[_0x1dbb(0x13c)](_0x1ed924,_0x4e6de6);},'nwXuN':function(_0x4bd504,_0x389cb9){return _0x13074a[_0x1dbb(0x13d)](_0x4bd504,_0x389cb9);},'woKzn':function(_0xd5f531,_0x3010f0){return _0x13074a[_0x1dbb(0x13e)](_0xd5f531,_0x3010f0);}};if(_0x13074a['rkhME'](_0x13074a['Guztm'],_0x13074a[_0x1dbb(0x13f)])){_0x382444[_0x1dbb(0x6d)][_0x1dbb(0xcb)](_0x213be1,{'toValue':0x1,'duration':0xfa0,'useNativeDriver':![]})['start']();const _0x41404d=_0x13074a[_0x1dbb(0x140)](_0x567b0e,()=>{(0x0,_0x55203b[_0x1dbb(0x9d)])(_0x4e0533[_0x1dbb(0x9e)]['SUCCESS']),_0x3ae679[_0x1dbb(0x141)][_0x1dbb(0x142)]([0x0,0x64,0x32,0x64]),_0x494c60[_0x1dbb(0x143)](_0x2afb70);},0xfa0);_0x13074a[_0x1dbb(0x144)](_0x47d148,_0x41404d);}else{(0x0,_haptics[_0x1dbb(0x9d)])(_haptics[_0x1dbb(0x9e)][_0x1dbb(0x9f)]),_0x13074a[_0x1dbb(0x10f)](_0x2a6730,!![]);try{_0x4803ab(!![]);}finally{if(_0x13074a[_0x1dbb(0x145)](_0x13074a[_0x1dbb(0x146)],_0x13074a[_0x1dbb(0x146)])){_0x688c01[_0x1dbb(0x11)]('🤖\x20[LLM]\x20Opening\x20WebView\x20for\x20'+_0x37e1c9+_0x1dbb(0x105)),_0x494c60['ZhnMd'](_0x134586,_0x2ef65a),_0x494c60['nwXuN'](_0x1d72c1,_0x3f7697=>({..._0x3f7697,[_0x2ff48f]:_0x1dbb(0x107)}));const _0x45eea3=(0x0,_0x2fae5e[_0x1dbb(0x108)])(_0xe59cd);_0x45eea3?(_0x4f6c2e[_0x1dbb(0x11)](_0x1dbb(0x109)+_0x482105+'\x20URL:',_0x45eea3),_0x39b600(_0x45eea3),_0x494c60['woKzn'](_0x366dbf,!![])):(_0x38da33['error']('❌\x20[LLM]\x20No\x20URL\x20configured\x20for\x20platform:\x20'+_0x11468a),_0x494c60['nwXuN'](_0x4937db,_0x498e30=>({..._0x498e30,[_0x59e2a2]:_0x1dbb(0x95)})),(0x0,_0x5e3b1f[_0x1dbb(0x9d)])(_0x131c5c[_0x1dbb(0x9e)][_0x1dbb(0x10b)]));return;}else _0x13074a[_0x1dbb(0x13a)](_0x2a6730,![]);}}},_0x1edb2e=()=>{const _0x2d396f={'BKNba':function(_0x46990d,_0x2bd041){return _0x46990d(_0x2bd041);},'NuUXM':function(_0xdc74f9,_0xcb7594){return _0x13074a['qlOPc'](_0xdc74f9,_0xcb7594);},'phUPA':_0x13074a['nmWga'],'XqVEM':function(_0x416077,_0x5e69de){return _0x416077!=_0x5e69de;},'qKYPH':_0x13074a[_0x1dbb(0x147)],'fHLSs':_0x13074a[_0x1dbb(0x148)],'jnEzr':function(_0x4a8641,_0x27da8e,_0x57a919,_0x46d524){return _0x13074a[_0x1dbb(0x149)](_0x4a8641,_0x27da8e,_0x57a919,_0x46d524);}};if(_0x13074a[_0x1dbb(0x14a)](_0x13074a['ceheJ'],_0x13074a[_0x1dbb(0x14b)])){(0x0,_0x4a680a[_0x1dbb(0x9d)])(_0x1fce2a['HapticType'][_0x1dbb(0x9f)]),_0x2d396f['BKNba'](_0x1d2706,!![]);try{_0x2d396f[_0x1dbb(0x14c)](_0x5d6066,!![]);}finally{_0x5019f2(![]);}}else{(0x0,_haptics[_0x1dbb(0x9d)])(_haptics[_0x1dbb(0x9e)][_0x1dbb(0x9f)]);if(_0x1d636f){if(_0x13074a['STuXi'](_0x1dbb(0x45),_0x13074a[_0x1dbb(0x14d)]))_0x1d636f();else{if(!_0x52b28e&&_0x583045&&_0x2da097['__esModule'])return _0x411884;var _0x5f4956,_0x42b890,_0x9682dc={'__proto__':null,'default':_0x4b8da1};if(_0x2d396f['NuUXM'](null,_0x16abcf)||_0x2d396f['phUPA']!=typeof _0x417fd9&&_0x2d396f[_0x1dbb(0x14e)](_0x2d396f['qKYPH'],typeof _0x27c02d))return _0x9682dc;if(_0x5f4956=_0x31aa20?_0x2190fe:_0x383ea3){if(_0x5f4956[_0x1dbb(0xb)](_0x47f335))return _0x5f4956[_0x1dbb(0x16)](_0x50a8e6);_0x5f4956[_0x1dbb(0xc)](_0x381d53,_0x9682dc);}for(const _0x2c2745 in _0x172e35)_0x2d396f[_0x1dbb(0x14f)]!==_0x2c2745&&{}[_0x1dbb(0x14)][_0x1dbb(0x150)](_0x22beda,_0x2c2745)&&((_0x42b890=(_0x5f4956=_0x147f84[_0x1dbb(0x0)])&&_0x4d95eb[_0x1dbb(0x15)](_0x5b6541,_0x2c2745))&&(_0x42b890[_0x1dbb(0x16)]||_0x42b890[_0x1dbb(0xc)])?_0x2d396f[_0x1dbb(0x151)](_0x5f4956,_0x9682dc,_0x2c2745,_0x42b890):_0x9682dc[_0x2c2745]=_0x23ca21[_0x2c2745]);return _0x9682dc;}}}},_0x25207c=async()=>{const _0x12832f={'JHBGj':function(_0x34b04c,_0x3a82e7){return _0x34b04c(_0x3a82e7);}};if(_0x13074a[_0x1dbb(0x152)](_0x13074a[_0x1dbb(0x153)],_0x13074a[_0x1dbb(0x153)])){(0x0,_haptics['triggerHaptic'])(_haptics[_0x1dbb(0x9e)][_0x1dbb(0x9f)]),_0x13074a[_0x1dbb(0x154)](_0x599052,!![]),await new Promise(_0x345f7d=>setTimeout(_0x345f7d,0x32));try{if(_0x5673f5){if(_0x13074a[_0x1dbb(0xb5)](_0x13074a[_0x1dbb(0x155)],_0x1dbb(0x47)))await _0x13074a['iTZmy'](_0x5673f5,_0x3b87ab);else{const _0x4639e0=_0x1bbcfa[0x0]['id'];(!_0x40ffef||!_0x44de0f[_0x1dbb(0xed)](_0x318753=>_0x318753['id']===_0x2b9b54))&&_0x44ca87(_0x4639e0);}}else await _0x13074a[_0x1dbb(0x112)](_0x3393fc,Array['from'](_0x3dbef8));}finally{_0x599052(![]);}}else _0x1fe906[_0x1dbb(0x11)](_0x1dbb(0x156)+_0x254821),_0x12832f[_0x1dbb(0x157)](_0x48a95b,_0x2bf21a),_0x12832f[_0x1dbb(0x157)](_0x343c3a,!![]);},_0x4552fc=()=>{(0x0,_haptics['triggerHaptic'])(_haptics[_0x1dbb(0x9e)][_0x1dbb(0x9f)]),_0x13074a[_0x1dbb(0xc7)](_0x2c51cd,![]);},_0x443094=async _0x31edad=>{if(_0x13074a[_0x1dbb(0x158)](_0x1dbb(0x159),_0x13074a[_0x1dbb(0x15a)]))_0x13074a[_0x1dbb(0xc7)](_0x28adff,_0x5a404d=>({..._0x5a404d,[_0x5f10f8]:_0x1dbb(0x95)})),(0x0,_0x7dac1f[_0x1dbb(0x9d)])(_0x42d96f['HapticType']['ERROR']);else{(0x0,_haptics['triggerHaptic'])(_haptics[_0x1dbb(0x9e)]['BUTTON_PRESS']),_0x5e5c16(_0x31edad);try{await _asyncStorage['default'][_0x1dbb(0xc8)](_0x1dbb(0x15b),_0x31edad),console[_0x1dbb(0x11)](_0x1dbb(0x15c)+_0x31edad);}catch(_0x3407dd){console['error'](_0x13074a[_0x1dbb(0x15d)],_0x3407dd);}_0x128747&&_0x128747(_0x31edad);}},_0x4e38bd=()=>{if(_0x13074a[_0x1dbb(0xb2)](_0x13074a[_0x1dbb(0x15e)],_0x13074a[_0x1dbb(0x15f)])){const Linking=__ONAIROS_REQ_FUNC__(0x10)[_0x1dbb(0x160)];Linking[_0x1dbb(0x161)](_0x1dbb(0x5a));}else _0x344e59[_0x1dbb(0x95)](_0x13074a['gRtpe'],_0x57cc71);},_0x130f23=async _0x4243a0=>{_0x13074a['UwFwY'](_0x374ec4,_0x4243a0),(0x0,_pinStorageUtils['setTemporaryPin'])(_0x4243a0),_0x13074a['iTZmy'](_0x4803ab,![]),_0x410a55(!![]);},_0x5b229d=()=>{_0x13074a[_0x1dbb(0x162)]!==_0x13074a['wUgLo']?(_0x13074a[_0x1dbb(0x11e)](_0x410a55,![]),_0x13074a[_0x1dbb(0x163)](_0x2c51cd,!![])):_0x13074a[_0x1dbb(0x164)](_0x3d7a57,_0x465d9c=>({..._0x465d9c,[_0x85c6a7]:_0x1dbb(0x118)}));},_0x4d4452=async _0x319df9=>{const _0x31a133={'DRyeT':function(_0x4d8ac4,_0x424cd9){return _0x13074a['fzHra'](_0x4d8ac4,_0x424cd9);}};if(_0x29cd6c){if(_0x13074a['APoLL'](_0x1dbb(0x50),_0x13074a[_0x1dbb(0x165)]))_0x2ff610['error'](_0x1dbb(0x166)+_0x1c9ac4),_0x31a133[_0x1dbb(0x167)](_0x302304,_0x52dd4b=>({..._0x52dd4b,[_0x4eba98]:_0x1dbb(0x95)})),(0x0,_0x4ecdca[_0x1dbb(0x9d)])(_0x13dfb5['HapticType'][_0x1dbb(0x10b)]);else{if(_0x13074a[_0x1dbb(0x168)](_0x319df9,_0x1dbb(0x169))||_0x13074a[_0x1dbb(0xf8)](_0x319df9,_0x13074a[_0x1dbb(0x16a)])){if(_0x13074a[_0x1dbb(0x16b)]!==_0x13074a[_0x1dbb(0x16b)])_0x48ceaa(![]);else{_0x13074a[_0x1dbb(0xc7)](_0x1399dd,_0x29cd6c),_0x13074a['wDwXt'](_0x41d50b,_0x2dd860=>({..._0x2dd860,[_0x29cd6c]:_0x1dbb(0xe)}));try{const _0x2dba11=await _asyncStorage['default'][_0x1dbb(0x8f)]('user_connected_platforms'),_0x4e4f1a=_0x2dba11?JSON[_0x1dbb(0xd)](_0x2dba11):[];if(!_0x4e4f1a['includes'](_0x29cd6c[_0x1dbb(0x99)]())){if(_0x13074a['tdyLT'](_0x13074a[_0x1dbb(0x16c)],_0x13074a[_0x1dbb(0x16d)]))_0x4e4f1a[_0x1dbb(0x7d)](_0x29cd6c[_0x1dbb(0x99)]()),await _asyncStorage[_0x1dbb(0x5)][_0x1dbb(0xc8)](_0x1dbb(0x90),JSON[_0x1dbb(0x129)](_0x4e4f1a)),console[_0x1dbb(0x11)]('✅\x20[STORAGE]\x20Added\x20'+_0x29cd6c+_0x1dbb(0x16e),_0x4e4f1a);else{const _0x42d5ee=new _0x2040d2(_0x46033a);let _0x5921cc=![];return _0x4bc29d[_0x1dbb(0x7a)](_0x3b8784=>{!_0x42d5ee[_0x1dbb(0xb)](_0x3b8784)&&(_0x42d5ee[_0x1dbb(0x79)](_0x3b8784),_0x5921cc=!![]);}),_0x5921cc?_0x42d5ee:_0x260066;}}}catch(_0x2000ea){console[_0x1dbb(0x95)](_0x13074a['gRtpe'],_0x2000ea);}(0x0,_webviewScripts[_0x1dbb(0x103)])(_0x29cd6c)&&(await _asyncStorage[_0x1dbb(0x5)][_0x1dbb(0xc8)](_0x1dbb(0x9c)+_0x29cd6c,JSON[_0x1dbb(0x129)]({'connected':!![],'platform':_0x29cd6c,'connectedAt':new Date()[_0x1dbb(0x16f)]()})),console[_0x1dbb(0x11)](_0x1dbb(0x170)+_0x29cd6c+'\x20connection\x20stored\x20locally')),_0x13074a[_0x1dbb(0x171)](_0x29cd6c['toLowerCase'](),_0x13074a[_0x1dbb(0xe1)])&&(_0x13074a['tWXpM'](_0x13074a[_0x1dbb(0x172)],'lInna')?(await _asyncStorage[_0x1dbb(0x5)][_0x1dbb(0xc8)](_0x1dbb(0x41),JSON['stringify']({'connected':!![],'platform':'linkedin','connectedAt':new Date()[_0x1dbb(0x16f)]()})),console[_0x1dbb(0x11)]('✅\x20[LINKEDIN]\x20Connection\x20stored\x20locally')):_0x8f1c99[_0x1dbb(0x11)]('📊\x20[STATE]\x20WebView\x20state\x20changed\x20-\x20showOAuthWebView:\x20'+_0x574b53+_0x1dbb(0x173)+(_0x410659?_0x13074a[_0x1dbb(0x174)](_0x13074a[_0x1dbb(0x175)]+_0x3f4f7c[_0x1dbb(0x11c)](0x0,0x28),_0x13074a[_0x1dbb(0x176)]):_0x13074a[_0x1dbb(0x11d)])));}}else{if(_0x13074a[_0x1dbb(0x145)](_0x13074a[_0x1dbb(0x177)],_0x13074a[_0x1dbb(0x177)])){const _0xda2501=new _0x56fb73(_0x58e2a0);_0xda2501[_0x1dbb(0x79)](_0x252146),_0x13074a[_0x1dbb(0xc7)](_0x509161,_0xda2501),_0x13074a['VtdjU'](_0x1d8ec4,_0x34510d=>({..._0x34510d,[_0x17bbc3]:'connected'})),(0x0,_0x237fe5[_0x1dbb(0x9d)])(_0x5226d8[_0x1dbb(0x9e)]['SUCCESS']);}else _0x13074a[_0x1dbb(0x164)](_0x41d50b,_0x325bb3=>({..._0x325bb3,[_0x29cd6c]:_0x1dbb(0x95)})),(0x0,_haptics[_0x1dbb(0x9d)])(_haptics[_0x1dbb(0x9e)][_0x1dbb(0x10b)]);}}}_0x13074a['ESrGi'](_0x3026e0,![]),_0xe468d4(''),_0x13074a['qTGTp'](_0x2c51af,'');};(0x0,_react[_0x1dbb(0x72)])(()=>{const _0x58e043={'Ivhww':function(_0xb91af0,_0x3acbff){return _0x13074a['EFncY'](_0xb91af0,_0x3acbff);},'EDhPo':_0x13074a[_0x1dbb(0x178)],'jjCeJ':_0x13074a[_0x1dbb(0x101)]};if(_0x13074a[_0x1dbb(0xb7)](_0x4c31f4,!_0x1c06c0)){const _0x500b7d=_0x13074a[_0x1dbb(0x179)](setTimeout,()=>{const _0x4a0929={'jRBoN':function(_0x3d102e,_0x37e9c2){return _0x3d102e===_0x37e9c2;},'iDfTn':function(_0x44ce91,_0xf4a8db){return _0x13074a['ycdYA'](_0x44ce91,_0xf4a8db);},'MMYLb':'connecting','IfNlB':function(_0x199ced,_0xd5b7e1){return _0x13074a[_0x1dbb(0x158)](_0x199ced,_0xd5b7e1);},'MadPu':_0x13074a[_0x1dbb(0xde)],'jTCKr':function(_0x354bc2,_0x14b844){return _0x354bc2===_0x14b844;},'eBgSG':_0x13074a[_0x1dbb(0x17a)],'bUxmG':_0x13074a['bcdZu'],'Qcray':_0x13074a[_0x1dbb(0x85)],'DkqcD':function(_0x19021e,_0x35b38b){return _0x13074a['XuoQM'](_0x19021e,_0x35b38b);},'tcBJS':_0x13074a[_0x1dbb(0x88)]};if(_0x13074a['FExTJ'](_0x1dbb(0x17b),_0x13074a[_0x1dbb(0x17c)]))_0x13074a[_0x1dbb(0x17d)](_0x220457,_0xa6c349=>{if(_0x58e043[_0x1dbb(0x17e)](_0x58e043['EDhPo'],_0x58e043[_0x1dbb(0x17f)])){const _0x471438=_0x4a0929[_0x1dbb(0x180)](_0x23cc19,_0x5b32f0['id']),_0x3c754f=_0x149268[_0x1dbb(0xb)](_0x2a786a['id']),_0x1b0ad3=_0x4a0929['iDfTn'](_0x46b295[_0x3c9913['id']],_0x4a0929['MMYLb']);return _0x1f121d['default'][_0x1dbb(0x181)](_0x355377[_0x1dbb(0x182)],{'key':_0x220f66['id'],'style':[_0x53ec52[_0x1dbb(0x183)],_0x471438&&_0x57e675['platformIconButtonSelected']],'onPress':()=>{(0x0,_0x14bda8[_0x1dbb(0x9d)])(_0x1606a8[_0x1dbb(0x9e)][_0x1dbb(0x9f)]),_0x11598c(_0x2dba23['id']);},'activeOpacity':0.7},_0x4b58d1['default'][_0x1dbb(0x181)](_0x2ff352[_0x1dbb(0x184)],{'source':_0x58bb9e[_0x1dbb(0x185)],'style':[_0x4a8c11[_0x1dbb(0x186)],_0x4a0929['IfNlB'](_0x2b3a33['id'],_0x4a0929['MadPu'])&&_0x324176[_0x1dbb(0x187)],_0x4a0929[_0x1dbb(0x188)](_0x2b5ba3['id'],_0x4a0929[_0x1dbb(0x189)])&&_0x52b78d[_0x1dbb(0x18a)],_0x4a0929[_0x1dbb(0x18b)](_0x30cd1f['id'],_0x4a0929['bUxmG'])&&_0x7932c0[_0x1dbb(0x18c)],_0x4a0929['jRBoN'](_0xc44780['id'],_0x4a0929[_0x1dbb(0x18d)])&&_0x2a7053[_0x1dbb(0x18e)],_0x4a0929[_0x1dbb(0x18f)](_0x2d1ff5['id'],_0x1dbb(0x2a))&&_0x39031f['claudeIcon'],_0x54bc20['id']===_0x4a0929[_0x1dbb(0x190)]&&_0x2ba0e4[_0x1dbb(0x191)]],'resizeMode':_0x1dbb(0x5c)}),_0x1b0ad3&&_0x3828b2[_0x1dbb(0x5)][_0x1dbb(0x181)](_0xc0963['View'],{'style':_0x3b10b0['connectingDot']}),_0x3c754f&&_0x564d1a[_0x1dbb(0x5)][_0x1dbb(0x181)](_0x31f213[_0x1dbb(0x192)],{'style':_0x4e59fe[_0x1dbb(0x193)]}));}else{const _0xb4bf6f=new Set(_0xa6c349);return _0xb4bf6f[_0x1dbb(0x79)](_0x4c31f4),_0xb4bf6f;}}),(0x0,_haptics[_0x1dbb(0x9d)])(_haptics['HapticType'][_0x1dbb(0xa9)]),console['log'](_0x1dbb(0xaa)+_0x4c31f4),_0x1399dd(null);else{_0x20166d['error'](_0x58e043[_0x1dbb(0x194)]);return;}},0x12c);return()=>clearTimeout(_0x500b7d);}},[_0x4c31f4,_0x1c06c0]);const _0x439d4f=()=>{_0x13074a[_0x1dbb(0x115)](_0x1dbb(0x195),_0x1dbb(0x196))?(_0x13074a['Nbful'](_0x3026e0,![]),_0x13074a[_0x1dbb(0x197)](_0xe468d4,''),_0x29cd6c&&_0x41d50b(_0xc613e3=>({..._0xc613e3,[_0x29cd6c]:'disconnected'})),_0x2c51af('')):((0x0,_0x1b4a7f['triggerHaptic'])(_0x56fa7c[_0x1dbb(0x9e)][_0x1dbb(0xa9)]),_0x2356c6[_0x1dbb(0x141)][_0x1dbb(0x142)]([0x0,0x64,0x32,0x64]),_0x13074a[_0x1dbb(0x198)](_0x194ea9));},_0x5aafb5=()=>{_0x4803ab(![]);},_0x57858d=()=>{_0x1956cf&&_0x13074a['hxYxh'](_0x1956cf);},_0x4f4dbb=()=>{const _0x1bfbc4={'iUFMe':function(_0x4aca50){return _0x13074a['pgijl'](_0x4aca50);}};_reactNative[_0x1dbb(0x6d)][_0x1dbb(0xcb)](_0x852aca,{'toValue':0x1,'duration':0xfa0,'useNativeDriver':![]})[_0x1dbb(0xcc)]();const _0x1f3997=setTimeout(()=>{(0x0,_haptics['triggerHaptic'])(_haptics[_0x1dbb(0x9e)][_0x1dbb(0xa9)]),_reactNative[_0x1dbb(0x141)][_0x1dbb(0x142)]([0x0,0x64,0x32,0x64]),_0x1bfbc4['iUFMe'](_0x57858d);},0xfa0);_0x13074a['kGAPK'](_0x453897,_0x1f3997);},_0x44919c=()=>{_0x291442&&(_0x13074a[_0x1dbb(0x199)]===_0x13074a['SMuCO']?((0x0,_0x19c321['triggerHaptic'])(_0x57eb07[_0x1dbb(0x9e)][_0x1dbb(0x9f)]),_0x3db978&&_0x2296a6()):(_0x13074a[_0x1dbb(0x144)](clearTimeout,_0x291442),_0x13074a[_0x1dbb(0x13e)](_0x453897,null))),_0x852aca[_0x1dbb(0x19a)](0x0),_reactNative[_0x1dbb(0x6d)][_0x1dbb(0xcb)](_0x852aca,{'toValue':0x0,'duration':0xc8,'useNativeDriver':![]})['start']();};(0x0,_react['useEffect'])(()=>{return()=>{_0x291442&&_0x13074a['UEHek'](clearTimeout,_0x291442);};},[_0x291442]),(0x0,_react[_0x1dbb(0x72)])(()=>{_0x13074a[_0x1dbb(0x19b)](_0x1c06c0,_0x47c89d)&&console[_0x1dbb(0x11)](_0x1dbb(0x19c)+_0x1c06c0+_0x1dbb(0x173)+(_0x47c89d?_0x13074a[_0x1dbb(0x19d)](_0x13074a['DGJmn'](_0x13074a[_0x1dbb(0x175)],_0x47c89d['substring'](0x0,0x28)),_0x13074a[_0x1dbb(0x176)]):'NULL'));},[_0x1c06c0,_0x47c89d]);const _0x12b2c7=Math[_0x1dbb(0x19e)](0x5,Math[_0x1dbb(0x19f)](0x1,_0x3dbef8['size']+0x1)),_0x39a555=0x78,_0x3e1ec2=0x46;if(_0x4ee566)return _react['default'][_0x1dbb(0x181)](_PinCreationScreen[_0x1dbb(0x5)],{'visible':_0x4ee566,'onComplete':_0x130f23,'onBack':_0x5aafb5});if(_0x36048a){if(_0x13074a[_0x1dbb(0x1a0)](_0x13074a[_0x1dbb(0x1a1)],_0x13074a[_0x1dbb(0x1a1)]))return _react['default'][_0x1dbb(0x181)](_PersonaLoadingScreen[_0x1dbb(0x5)],{'visible':_0x36048a,'onComplete':_0x5b229d});else!_0x49444d['has'](_0x412329)&&(_0x49bcb7[_0x1dbb(0x79)](_0x136d61),_0x1e0ab2=!![]);}if(_0x13074a[_0x1dbb(0x1a2)](_0x1c06c0,_0x47c89d)){if(_0x13074a[_0x1dbb(0x133)](_0x13074a['NXJJy'],_0x13074a['NXJJy']))return console[_0x1dbb(0x11)](_0x1dbb(0x1a3)+_0x29cd6c+_0x1dbb(0x1a4)+_0x47c89d[_0x1dbb(0x11c)](0x0,0x3c)+_0x1dbb(0x11a)),_react[_0x1dbb(0x5)]['createElement'](_OAuthWebView[_0x1dbb(0x1a5)],{'url':_0x47c89d,'platform':_0x29cd6c,'onClose':_0x439d4f,'onSuccess':_0x4d4452,'onComplete':_0x439d4f,'username':_0x2bf149});else{const Linking=_0x13074a['UwFwY'](_0x1dd061,0x10)[_0x1dbb(0x160)];Linking[_0x1dbb(0x161)](_0x13074a[_0x1dbb(0x1a6)]);}}const _0xa7fa38=()=>{const _0xcccc66={'rIsPM':function(_0x328c3f){return _0x13074a[_0x1dbb(0x198)](_0x328c3f);}};_0x13074a[_0x1dbb(0x1a7)](_0x13074a[_0x1dbb(0x1a8)],_0x13074a['LaohY'])?_0x1b13e8&&_0xcccc66['rIsPM'](_0x972f71):((0x0,_haptics['triggerHaptic'])(_haptics[_0x1dbb(0x9e)]['BUTTON_PRESS']),_0x2c51cd(![]));};if(_0x51feb4){if(_0x13074a[_0x1dbb(0x1a9)](_0x13074a[_0x1dbb(0x1aa)],'vclDR'))return _react[_0x1dbb(0x5)]['createElement'](_PersonalizationConsentScreen[_0x1dbb(0x5)],{'visible':_0x51feb4,'onAccept':_0x25207c,'onDecline':_0x4552fc,'connectedPlatforms':Array[_0x1dbb(0xac)](_0x3dbef8),'onConnectMore':_0xa7fa38,'loading':_0x36022e});else _0x36113d['error'](_0x13074a['dsxRB'],_0x3b6aeb);}return _react[_0x1dbb(0x5)][_0x1dbb(0x181)](_reactNative['View'],{'style':styles[_0x1dbb(0x1ab)]},_react['default'][_0x1dbb(0x181)](_reactNative[_0x1dbb(0x1ac)],{'style':styles[_0x1dbb(0x1ad)],'showsVerticalScrollIndicator':![],'bounces':!![]},_0x234c9a&&_react['default']['createElement'](_reactNative[_0x1dbb(0x182)],{'style':styles[_0x1dbb(0x1ae)],'onPress':_0x234c9a,'activeOpacity':0.7},_react[_0x1dbb(0x5)]['createElement'](_reactNative[_0x1dbb(0x1af)],{'style':styles[_0x1dbb(0x1b0)]},'‹')),_react['default']['createElement'](_reactNative[_0x1dbb(0x192)],{'style':styles[_0x1dbb(0x1b1)]},_react[_0x1dbb(0x5)][_0x1dbb(0x181)](_reactNative['Text'],{'style':styles[_0x1dbb(0x1b2)]},_0x1dbb(0x1b3)),_react[_0x1dbb(0x5)][_0x1dbb(0x181)](_reactNative[_0x1dbb(0x1af)],{'style':styles[_0x1dbb(0x1b4)]},_0x13074a[_0x1dbb(0x1b5)])),_react[_0x1dbb(0x5)][_0x1dbb(0x181)](_reactNative[_0x1dbb(0x192)],{'style':styles[_0x1dbb(0x1b6)]},_react[_0x1dbb(0x5)][_0x1dbb(0x181)](_PersonaImage['default'],{'level':_0x12b2c7,'style':styles[_0x1dbb(0x1b7)]}),_react[_0x1dbb(0x5)]['createElement'](_reactNative[_0x1dbb(0x1ac)],{'ref':_0x2478a9,'horizontal':!![],'style':[styles['platformIconsOverlay'],{'bottom':_0x39a555}],'contentContainerStyle':[styles[_0x1dbb(0x1b8)],_0x13074a['KXlch'](_0x40780b[_0x1dbb(0x75)],0x4)&&styles[_0x1dbb(0x1b9)]],'showsHorizontalScrollIndicator':![],'onScroll':_0x33821f,'scrollEventThrottle':0x10,'decelerationRate':_0x13074a[_0x1dbb(0x1ba)],'scrollEnabled':_0x13074a[_0x1dbb(0x8b)](_0x40780b['length'],0x4)},_0x40780b[_0x1dbb(0x9a)](_0x42c6e6=>{const _0x5e3c4e=_0x13074a['fnYov'](_0x5a8b39,_0x42c6e6['id']),_0x4bf0c7=_0x3dbef8[_0x1dbb(0xb)](_0x42c6e6['id']),_0x22bb37=_0x13074a[_0x1dbb(0xbd)](_0x54dfd0[_0x42c6e6['id']],_0x1dbb(0x107));return _react['default'][_0x1dbb(0x181)](_reactNative['TouchableOpacity'],{'key':_0x42c6e6['id'],'style':[styles[_0x1dbb(0x183)],_0x5e3c4e&&styles[_0x1dbb(0x1bb)]],'onPress':()=>{(0x0,_haptics[_0x1dbb(0x9d)])(_haptics['HapticType'][_0x1dbb(0x9f)]),_0x9ae72e(_0x42c6e6['id']);},'activeOpacity':0.7},_react[_0x1dbb(0x5)][_0x1dbb(0x181)](_reactNative[_0x1dbb(0x184)],{'source':_0x42c6e6[_0x1dbb(0x185)],'style':[styles[_0x1dbb(0x186)],_0x13074a[_0x1dbb(0x1bc)](_0x42c6e6['id'],_0x1dbb(0x56))&&styles[_0x1dbb(0x187)],_0x13074a['vVFtC'](_0x42c6e6['id'],_0x13074a[_0x1dbb(0x17a)])&&styles[_0x1dbb(0x18a)],_0x13074a[_0x1dbb(0x171)](_0x42c6e6['id'],_0x13074a[_0x1dbb(0x1bd)])&&styles[_0x1dbb(0x18c)],_0x42c6e6['id']==='chatgpt'&&styles[_0x1dbb(0x18e)],_0x13074a[_0x1dbb(0x122)](_0x42c6e6['id'],_0x13074a[_0x1dbb(0x86)])&&styles[_0x1dbb(0x1be)],_0x13074a[_0x1dbb(0x1bf)](_0x42c6e6['id'],_0x13074a['qbFYk'])&&styles['grokIcon']],'resizeMode':_0x13074a[_0x1dbb(0x1c0)]}),_0x22bb37&&_react['default'][_0x1dbb(0x181)](_reactNative[_0x1dbb(0x192)],{'style':styles[_0x1dbb(0x1c1)]}),_0x4bf0c7&&_react[_0x1dbb(0x5)][_0x1dbb(0x181)](_reactNative['View'],{'style':styles[_0x1dbb(0x193)]}));})),_0x40780b[_0x1dbb(0x75)]>0x4&&_react[_0x1dbb(0x5)][_0x1dbb(0x181)](_reactNative[_0x1dbb(0x192)],{'style':[styles[_0x1dbb(0x1c2)],{'bottom':_0x3e1ec2}]},_react[_0x1dbb(0x5)][_0x1dbb(0x181)](_reactNative[_0x1dbb(0x192)],{'style':styles[_0x1dbb(0x1c3)]},_react['default']['createElement'](_reactNative[_0x1dbb(0x192)],{'style':[styles[_0x1dbb(0x1c4)],{'left':_0x13074a[_0x1dbb(0x1c5)](_0x183db1,0x38)}]}))),_0x4b5fc3&&_0x13074a[_0x1dbb(0x74)](_0x40780b[_0x1dbb(0x75)],0x4)&&_react['default'][_0x1dbb(0x181)](_reactNative['Animated']['View'],{'style':[styles[_0x1dbb(0x1c6)],{'transform':[{'translateX':_0x42a6d1['interpolate']({'inputRange':[0x0,0x1],'outputRange':[0x0,0x8]})}],'opacity':_0x42a6d1[_0x1dbb(0x1c7)]({'inputRange':[0x0,0x1],'outputRange':[0.5,0x1]})}]},_react[_0x1dbb(0x5)][_0x1dbb(0x181)](_reactNative[_0x1dbb(0x1af)],{'style':styles[_0x1dbb(0x1c8)]},'›'))),_react[_0x1dbb(0x5)][_0x1dbb(0x181)](_reactNative['View'],{'style':styles[_0x1dbb(0x1c9)]},_0x5a8b39&&((()=>{const _0x2e4d20=_0x40780b['find'](_0x446040=>_0x446040['id']===_0x5a8b39);if(!_0x2e4d20)return null;const _0x272e73=_0x3dbef8[_0x1dbb(0xb)](_0x5a8b39),_0x53c8ae=_0x54dfd0[_0x5a8b39]===_0x1dbb(0x107),_0x5d6c0c=_0x5761d6===null||_0x13074a[_0x1dbb(0x1ca)](_0x5761d6,void 0x0)?void 0x0:_0x5761d6['includes'](_0x5a8b39);return _react['default'][_0x1dbb(0x181)](_reactNative[_0x1dbb(0x192)],{'style':styles[_0x1dbb(0x1cb)]},_react['default'][_0x1dbb(0x181)](_reactNative['View'],{'style':styles[_0x1dbb(0x1cc)]},_react[_0x1dbb(0x5)][_0x1dbb(0x181)](_reactNative['Text'],{'style':styles[_0x1dbb(0x1cd)]},_0x2e4d20[_0x1dbb(0xbe)]),_0x5d6c0c&&_react[_0x1dbb(0x5)][_0x1dbb(0x181)](_reactNative[_0x1dbb(0x192)],{'style':styles[_0x1dbb(0x1ce)]},_react['default'][_0x1dbb(0x181)](_reactNative[_0x1dbb(0x1af)],{'style':styles['recommendedBadgeText']},_0x1dbb(0x1cf))),_react[_0x1dbb(0x5)][_0x1dbb(0x181)](_reactNative[_0x1dbb(0x182)],{'activeOpacity':0.8,'onPress':()=>!_0x53c8ae&&_0x27305a(_0x5a8b39,!_0x272e73),'disabled':_0x53c8ae,'style':[styles['customToggleTrack'],{'backgroundColor':_0x272e73?_0x1dbb(0x1d0):_0x13074a['uhuTc']}]},_react[_0x1dbb(0x5)]['createElement'](_reactNative['View'],{'style':[styles['customToggleThumb'],{'transform':[{'translateX':_0x272e73?0x14:0x0}]}]}))),_react[_0x1dbb(0x5)][_0x1dbb(0x181)](_reactNative[_0x1dbb(0x192)],{'style':styles['descriptionContainer']},_react[_0x1dbb(0x5)][_0x1dbb(0x181)](_reactNative[_0x1dbb(0x1af)],{'style':styles[_0x1dbb(0x1d1)]},_0x2e4d20[_0x1dbb(0x1d2)])));})())),_react[_0x1dbb(0x5)]['createElement'](_reactNative['View'],{'style':styles[_0x1dbb(0x1d3)]},_react['default']['createElement'](_reactNative['Text'],{'style':styles[_0x1dbb(0x1d4)]},_0x13074a[_0x1dbb(0x1d5)]),_react['default'][_0x1dbb(0x181)](_reactNative[_0x1dbb(0x1af)],{'style':styles[_0x1dbb(0x1d6)]},_0x13074a[_0x1dbb(0x1d7)]),_react[_0x1dbb(0x5)][_0x1dbb(0x181)](_reactNative[_0x1dbb(0x192)],{'style':styles[_0x1dbb(0x1d8)]},MODEL_REFRESH_OPTIONS[_0x1dbb(0x9a)](_0xe544fa=>_react[_0x1dbb(0x5)][_0x1dbb(0x181)](_reactNative[_0x1dbb(0x182)],{'key':_0xe544fa[_0x1dbb(0x1d9)],'style':[styles['refreshSegment'],_0x4d8976===_0xe544fa[_0x1dbb(0x1d9)]&&styles[_0x1dbb(0x1da)]],'onPress':()=>_0x443094(_0xe544fa['value']),'activeOpacity':0.7},_react[_0x1dbb(0x5)][_0x1dbb(0x181)](_reactNative['Text'],{'style':[styles[_0x1dbb(0x1db)],_0x4d8976===_0xe544fa['value']&&styles['refreshSegmentTextSelected']]},_0xe544fa[_0x1dbb(0x1dc)])))),_react[_0x1dbb(0x5)][_0x1dbb(0x181)](_reactNative[_0x1dbb(0x1af)],{'style':styles['refreshFrequencyHint']},(_0x13074a[_0x1dbb(0x1dd)](_0x45cf2b=MODEL_REFRESH_OPTIONS[_0x1dbb(0xed)](_0x247e3c=>_0x247e3c[_0x1dbb(0x1d9)]===_0x4d8976),null)||_0x13074a[_0x1dbb(0xf2)](_0x45cf2b,void 0x0)?void 0x0:_0x45cf2b['description'])||'')),_react[_0x1dbb(0x5)][_0x1dbb(0x181)](_reactNative['View'],{'style':styles[_0x1dbb(0x1de)]},_react[_0x1dbb(0x5)][_0x1dbb(0x181)](_reactNative[_0x1dbb(0x192)],{'style':styles[_0x1dbb(0x1df)]},_react['default'][_0x1dbb(0x181)](_PrimaryButton['default'],{'label':_0x13074a[_0x1dbb(0x1e0)],'onPress':_0x42495b,'disabled':loading||_0x13074a[_0x1dbb(0x1e1)](_0x3dbef8[_0x1dbb(0x1e2)],0x0)||_0x392fa2||_0x5dc198,'loading':_0x13074a['tDsMg'](loading,_0x392fa2)||_0x5dc198}),_react[_0x1dbb(0x5)][_0x1dbb(0x181)](_reactNative[_0x1dbb(0x182)],{'style':styles[_0x1dbb(0x1e3)],'activeOpacity':0x1,'onPressIn':_0x4f4dbb,'onPressOut':_0x44919c,'onPress':()=>{const _0x2eebdf={'QFiJC':function(_0x4331a4,_0x42ee2f){return _0x4331a4===_0x42ee2f;},'rIYzO':_0x13074a[_0x1dbb(0x1e4)]};_0x13074a['keVRM'](_0x3dbef8['size'],0x0)&&!loading&&!_0x392fa2&&!_0x5dc198&&(_0x13074a[_0x1dbb(0xb2)](_0x13074a[_0x1dbb(0x1e5)],_0x1dbb(0x1e6))?_0x42495b():(_0x3036eb[_0x1dbb(0x7a)](_0x8ef0eb=>{var _0x42a38d;const _0x2af93a=(_0x42a38d=_0x8ef0eb[_0x1dbb(0x97)])===null||_0x2eebdf['QFiJC'](_0x42a38d,void 0x0)?void 0x0:_0x42a38d['toLowerCase']();_0x2af93a&&!_0x50cb06[_0x1dbb(0xf)](_0x2af93a)&&_0x4031ef[_0x1dbb(0x7d)](_0x2af93a);}),_0x2fe293[_0x1dbb(0x11)](_0x2eebdf['rIYzO'],_0xfc94[_0x1dbb(0x9a)](_0x1cd8a8=>_0x1cd8a8[_0x1dbb(0x97)]))));}},_react[_0x1dbb(0x5)][_0x1dbb(0x181)](_reactNative[_0x1dbb(0x6d)]['View'],{'style':[styles[_0x1dbb(0x1e7)],{'width':_0x852aca[_0x1dbb(0x1c7)]({'inputRange':[0x0,0x1],'outputRange':['0%',_0x1dbb(0x1e8)]})}]}))),_0x1d636f&&_react[_0x1dbb(0x5)][_0x1dbb(0x181)](_reactNative[_0x1dbb(0x182)],{'style':styles['skipButton'],'onPress':_0x1edb2e},_react['default'][_0x1dbb(0x181)](_reactNative[_0x1dbb(0x1af)],{'style':styles[_0x1dbb(0x1e9)]},_0x1dbb(0x1ea))))));},styles=_reactNative[_0x1dbb(0x1eb)]['create']({'container':{'flex':0x1,'backgroundColor':_theme[_0x1dbb(0x1ec)]['surface'],'paddingHorizontal':0x18},'backButton':{'width':0x20,'height':0x20,'borderRadius':0x10,'backgroundColor':_0x1dbb(0x1ed),'alignItems':_0x1dbb(0x1ee),'justifyContent':'center','marginBottom':0x2},'backButtonText':{'fontSize':0x16,'fontWeight':'600','color':_0x1dbb(0x1ef),'marginTop':-0x2},'scrollContent':{'flex':0x1},'headingContainer':{'width':_0x1dbb(0x1e8),'marginBottom':_theme['SPACING']['sm'],'paddingTop':0x0,'marginTop':0x0},'title':{'fontFamily':_0x1dbb(0x1f0),'fontWeight':_0x1dbb(0x1f1),'fontSize':0x18,'lineHeight':0x20,'color':_theme[_0x1dbb(0x1ec)]['grey800'],'textAlign':_0x1dbb(0x1f2),'marginBottom':0x4},'subtitle':{'fontFamily':'Inter','fontWeight':_0x1dbb(0x1f3),'fontSize':0x10,'lineHeight':0x18,'color':_theme['COLORS']['grey600'],'textAlign':_0x1dbb(0x1f2)},'personaContainer':{'alignItems':'center','position':_0x1dbb(0x1f4),'marginTop':-0x14,'marginBottom':-0x78,'height':0x1c2},'largePersona':{'width':0x1f4,'height':0x1f4},'platformIconsOverlay':{'position':_0x1dbb(0x1f5),'width':_0x1dbb(0x1e8),'height':0x46,'zIndex':0xa},'platformIconsScrollContent':{'flexDirection':'row','alignItems':'center','paddingHorizontal':0x14,'gap':0x18},'platformIconsCentered':{'flexGrow':0x1,'justifyContent':'center'},'platformIconButton':{'width':0x34,'height':0x34,'borderRadius':0x1a,'backgroundColor':_0x1dbb(0x1f6),'justifyContent':_0x1dbb(0x1ee),'alignItems':_0x1dbb(0x1ee),'borderWidth':0x3,'borderColor':_0x1dbb(0x1f7),'shadowColor':_0x1dbb(0x1f8),'shadowOffset':{'width':0x0,'height':0x2},'shadowOpacity':0.15,'shadowRadius':0x4,'elevation':0x4},'platformIconButtonSelected':{'borderColor':'#3B82F6','backgroundColor':'#EFF6FF'},'platformIcon':{'width':0x1e,'height':0x1e},'youtubeIcon':{'width':0x2a,'height':0x2a},'pinterestIcon':{'width':0x24,'height':0x24},'gmailIcon':{'width':0x24,'height':0x24},'chatgptIcon':{'width':0x1e,'height':0x1e},'claudeIcon':{'width':0x20,'height':0x20},'grokIcon':{'width':0x24,'height':0x24},'connectingDot':{'position':_0x1dbb(0x1f5),'top':0x2,'right':0x2,'width':0xc,'height':0xc,'borderRadius':0x6,'backgroundColor':_0x1dbb(0x1f9),'borderWidth':0x2,'borderColor':_theme['COLORS'][_0x1dbb(0x1fa)]},'connectedDot':{'position':_0x1dbb(0x1f5),'top':0x2,'right':0x2,'width':0xc,'height':0xc,'borderRadius':0x6,'backgroundColor':_0x1dbb(0x1d0),'borderWidth':0x2,'borderColor':_theme[_0x1dbb(0x1ec)]['surface']},'cardContainer':{'alignItems':'center','marginTop':0x10,'marginBottom':_theme[_0x1dbb(0x1fb)]['md']},'platformCard':{'width':0x147,'backgroundColor':_0x1dbb(0x1f6),'borderRadius':0x10,'padding':0x8,'shadowColor':_0x1dbb(0x1f8),'shadowOffset':{'width':0x0,'height':0x2},'shadowOpacity':0.1,'shadowRadius':0x8,'elevation':0x3,'gap':0xa},'cardHeader':{'flexDirection':_0x1dbb(0x1fc),'alignItems':_0x1dbb(0x1ee),'justifyContent':_0x1dbb(0x1fd)},'platformCardTitle':{'fontSize':0x10,'fontWeight':_0x1dbb(0x1fe),'color':_theme[_0x1dbb(0x1ec)][_0x1dbb(0x1ff)],'fontFamily':_0x1dbb(0x1f0)},'recommendedBadge':{'backgroundColor':'#EFF6FF','paddingHorizontal':0xc,'paddingVertical':0x6,'borderRadius':0x10,'marginLeft':0x8},'recommendedBadgeText':{'fontSize':0xc,'fontWeight':_0x1dbb(0x1fe),'color':_0x1dbb(0x200),'fontFamily':_0x1dbb(0x1f0)},'customToggleTrack':{'width':0x32,'height':0x1e,'borderRadius':0xf,'padding':0x2,'marginLeft':_0x1dbb(0x201),'marginRight':0x8,'justifyContent':_0x1dbb(0x1ee)},'customToggleThumb':{'width':0x1a,'height':0x1a,'borderRadius':0xd,'backgroundColor':_0x1dbb(0x1f6),'shadowColor':_0x1dbb(0x1f8),'shadowOffset':{'width':0x0,'height':0x2},'shadowOpacity':0.2,'shadowRadius':0x2,'elevation':0x2},'descriptionContainer':{'backgroundColor':'#F9FAFB','borderRadius':0x8,'padding':0x8},'platformCardDescription':{'fontSize':0xd,'lineHeight':0x12,'color':_theme[_0x1dbb(0x1ec)][_0x1dbb(0x202)],'fontFamily':_0x1dbb(0x203)},'refreshFrequencySection':{'paddingHorizontal':0x10,'paddingVertical':0x14,'marginTop':0xc,'backgroundColor':_0x1dbb(0x204),'borderRadius':0x10,'marginHorizontal':_theme[_0x1dbb(0x1fb)]['md'],'marginBottom':0x8,'borderWidth':0x1,'borderColor':_0x1dbb(0x205)},'refreshFrequencyTitle':{'fontSize':0x11,'fontWeight':'700','color':_0x1dbb(0x1ef),'fontFamily':'IBM\x20Plex\x20Sans','marginBottom':0x4},'refreshFrequencyDescription':{'fontSize':0xe,'color':_0x1dbb(0x206),'fontFamily':_0x1dbb(0x203),'fontWeight':'400','marginBottom':0x10},'refreshSegmentedControl':{'flexDirection':_0x1dbb(0x1fc),'backgroundColor':_0x1dbb(0x207),'borderRadius':0xc,'padding':0x3},'refreshSegment':{'flex':0x1,'paddingVertical':0xa,'alignItems':_0x1dbb(0x1ee),'justifyContent':_0x1dbb(0x1ee),'borderRadius':0xa},'refreshSegmentSelected':{'backgroundColor':_0x1dbb(0x1ef),'shadowColor':_0x1dbb(0x1f8),'shadowOffset':{'width':0x0,'height':0x2},'shadowOpacity':0.15,'shadowRadius':0x4,'elevation':0x3},'refreshSegmentText':{'fontSize':0xf,'fontFamily':_0x1dbb(0x203),'fontWeight':_0x1dbb(0x208),'color':'#8E8E93'},'refreshSegmentTextSelected':{'fontWeight':_0x1dbb(0x1f1),'color':_0x1dbb(0x1f6)},'refreshFrequencyHint':{'fontSize':0xd,'fontFamily':'Inter','fontWeight':'400','color':'#8E8E93','textAlign':_0x1dbb(0x1ee),'marginTop':0xc},'privacyLinkContainer':{'marginTop':0x10,'paddingTop':0x10,'borderTopWidth':0x1,'borderTopColor':_0x1dbb(0x209),'alignItems':_0x1dbb(0x1ee)},'privacyLinkText':{'fontSize':0xe,'color':'#8B5CF6','fontFamily':'Inter','fontWeight':'500'},'bottomButtonContainer':{'paddingTop':0x8,'paddingBottom':0x0,'paddingHorizontal':_theme['SPACING']['md']},'buttonWrapper':{'position':_0x1dbb(0x1f4)},'buttonOverlay':{'position':_0x1dbb(0x1f5),'top':0x0,'left':0x0,'right':0x0,'bottom':0x0,'borderRadius':0xc,'overflow':_0x1dbb(0x20a)},'holdProgressBar':{'position':_0x1dbb(0x1f5),'bottom':0x0,'left':0x0,'height':0x4,'backgroundColor':'#10B981','borderRadius':0x2},'skipButton':{'alignItems':'center','paddingVertical':0xa,'marginBottom':0x22},'skipButtonText':{'fontSize':0x10,'fontFamily':_0x1dbb(0x203),'fontWeight':_0x1dbb(0x208),'color':_theme[_0x1dbb(0x1ec)][_0x1dbb(0x202)]},'pageIndicatorContainer':{'position':_0x1dbb(0x1f5),'alignSelf':_0x1dbb(0x1ee),'zIndex':0xb},'scrollBarTrack':{'width':0x50,'height':0x4,'backgroundColor':_theme[_0x1dbb(0x1ec)][_0x1dbb(0x20b)],'borderRadius':0x2,'position':_0x1dbb(0x1f4),'overflow':'hidden'},'scrollBarThumb':{'position':_0x1dbb(0x1f5),'width':0x18,'height':0x4,'backgroundColor':_theme['COLORS'][_0x1dbb(0x202)],'borderRadius':0x2,'left':0x0},'scrollIndicator':{'position':'absolute','bottom':0x3c,'right':0x1e,'zIndex':0xc},'scrollIndicatorText':{'fontSize':0x20,'color':_theme[_0x1dbb(0x1ec)][_0x1dbb(0x20c)],'fontWeight':_0x1dbb(0x20d)}});var _default=exports[_0x1dbb(0x5)]=PlatformConnectorsStep;
1
+ "use strict";
2
+
3
+ Object.defineProperty(exports, "__esModule", {
4
+ value: true
5
+ });
6
+ exports.default = exports.MODEL_REFRESH_OPTIONS = void 0;
7
+ var _react = _interopRequireWildcard(require("react"));
8
+ var _reactNative = require("react-native");
9
+ var _theme = require("../theme");
10
+ var _haptics = require("../utils/haptics");
11
+ var _PersonaImage = _interopRequireDefault(require("./PersonaImage"));
12
+ var _PrimaryButton = _interopRequireDefault(require("./PrimaryButton"));
13
+ var _PersonalizationConsentScreen = _interopRequireDefault(require("./PersonalizationConsentScreen"));
14
+ var _PinCreationScreen = _interopRequireDefault(require("./PinCreationScreen"));
15
+ var _PersonaLoadingScreen = _interopRequireDefault(require("./PersonaLoadingScreen"));
16
+ var _useConnections = require("../hooks/useConnections");
17
+ var _connectedAccountsService = require("../services/connectedAccountsService");
18
+ var _platformAuthService = require("../services/platformAuthService");
19
+ var _OAuthWebView = require("./onboarding/OAuthWebView");
20
+ var _webviewScripts = require("../utils/webviewScripts");
21
+ var _pinStorageUtils = require("../services/pinStorageUtils");
22
+ var _asyncStorage = _interopRequireDefault(require("@react-native-async-storage/async-storage"));
23
+ function _interopRequireDefault(e) { return e && e.__esModule ? e : { default: e }; }
24
+ function _interopRequireWildcard(e, t) { if ("function" == typeof WeakMap) var r = new WeakMap(), n = new WeakMap(); return (_interopRequireWildcard = function (e, t) { if (!t && e && e.__esModule) return e; var o, i, f = { __proto__: null, default: e }; if (null === e || "object" != typeof e && "function" != typeof e) return f; if (o = t ? n : r) { if (o.has(e)) return o.get(e); o.set(e, f); } for (const t in e) "default" !== t && {}.hasOwnProperty.call(e, t) && ((i = (o = Object.defineProperty) && Object.getOwnPropertyDescriptor(e, t)) && (i.get || i.set) ? o(f, t, i) : f[t] = e[t]); return f; })(e, t); }
25
+ // LLMDataInputModal removed - LLM platforms use same toggle as OAuth platforms
26
+
27
+ // useAuth removed - SDK doesn't have AuthProvider context
28
+
29
+ // Model refresh frequency options
30
+
31
+ const MODEL_REFRESH_OPTIONS = exports.MODEL_REFRESH_OPTIONS = [{
32
+ value: 'daily',
33
+ label: 'Daily',
34
+ description: 'Always up-to-date data.'
35
+ }, {
36
+ value: 'weekly',
37
+ label: 'Weekly',
38
+ description: 'Balanced freshness and efficiency.'
39
+ }, {
40
+ value: 'biweekly',
41
+ label: 'Biweekly',
42
+ description: 'Less frequent, more efficient.'
43
+ }];
44
+ const PlatformConnectorsStep = ({
45
+ onUpdate,
46
+ onSkip,
47
+ loading = false,
48
+ onPinComplete,
49
+ onReviewerBypass,
50
+ onLogout,
51
+ allowedPlatforms,
52
+ recommendedPlatforms,
53
+ initialConnectedPlatforms,
54
+ onRefreshFrequencyChange,
55
+ initialRefreshFrequency = 'weekly',
56
+ userEmail
57
+ }) => {
58
+ var _MODEL_REFRESH_OPTION;
59
+ // Initialize with initialConnectedPlatforms if provided (for returning users)
60
+ // Normalize to lowercase to prevent duplicates from case mismatches
61
+ const [connectedPlatforms, setConnectedPlatforms] = (0, _react.useState)(() => new Set((initialConnectedPlatforms || []).map(p => p.toLowerCase())));
62
+ const [showConsentScreen, setShowConsentScreen] = (0, _react.useState)(false);
63
+ const [showPinScreen, setShowPinScreen] = (0, _react.useState)(false);
64
+ const [showLoadingScreen, setShowLoadingScreen] = (0, _react.useState)(false);
65
+ // Track platforms at last consent view to detect if user added new ones
66
+ const platformsAtLastConsent = (0, _react.useRef)(new Set((initialConnectedPlatforms || []).map(p => p.toLowerCase())));
67
+ const [createdPin, setCreatedPin] = (0, _react.useState)('');
68
+ const [connectionStatuses, setConnectionStatuses] = (0, _react.useState)({});
69
+ const [showOAuthWebView, setShowOAuthWebView] = (0, _react.useState)(false);
70
+ const [oauthUrl, setOauthUrl] = (0, _react.useState)('');
71
+ const [currentPlatform, setCurrentPlatform] = (0, _react.useState)('');
72
+ const [longPressTimer, setLongPressTimer] = (0, _react.useState)(null);
73
+ const [holdProgress, setHoldProgress] = (0, _react.useState)(0);
74
+ const holdProgressAnim = (0, _react.useRef)(new _reactNative.Animated.Value(0)).current;
75
+ const [selectedPlatformId, setSelectedPlatformId] = (0, _react.useState)('');
76
+ const scrollViewRef = (0, _react.useRef)(null);
77
+ const [showScrollIndicator, setShowScrollIndicator] = (0, _react.useState)(true);
78
+ const scrollIndicatorAnim = (0, _react.useRef)(new _reactNative.Animated.Value(0)).current;
79
+ const [currentPage, setCurrentPage] = (0, _react.useState)(0);
80
+ const lastScrollX = (0, _react.useRef)(0);
81
+
82
+ // Training state
83
+ const [username, setUsername] = (0, _react.useState)('');
84
+ const [personaProgress, setPersonaProgress] = (0, _react.useState)(0);
85
+ const [personaStatus, setPersonaStatus] = (0, _react.useState)('Initializing...');
86
+ const [isPersonaComplete, setIsPersonaComplete] = (0, _react.useState)(false);
87
+ const [hasError, setHasError] = (0, _react.useState)(false);
88
+ const [userToken, setUserToken] = (0, _react.useState)(null);
89
+ const [userInfo, setUserInfo] = (0, _react.useState)(null);
90
+ const socketRef = (0, _react.useRef)(null);
91
+ const [isBackgroundTrainingStarted, setIsBackgroundTrainingStarted] = (0, _react.useState)(false);
92
+ const [backgroundTrainingProgress, setBackgroundTrainingProgress] = (0, _react.useState)('');
93
+ const [backgroundSocketId, setBackgroundSocketId] = (0, _react.useState)(null);
94
+ const [isContinueLoading, setIsContinueLoading] = (0, _react.useState)(false);
95
+ const [isConsentLoading, setIsConsentLoading] = (0, _react.useState)(false);
96
+
97
+ // 🎯 Pending connection - used to delay persona coloring until after WebView closes
98
+ const [pendingConnection, setPendingConnection] = (0, _react.useState)(null);
99
+
100
+ // Model refresh frequency state
101
+ const [refreshFrequency, setRefreshFrequency] = (0, _react.useState)(initialRefreshFrequency);
102
+ const {
103
+ connectPlatform,
104
+ disconnectPlatform,
105
+ isConnecting
106
+ } = (0, _useConnections.useConnections)();
107
+ // SDK doesn't have AuthProvider - user is null
108
+ const user = null;
109
+
110
+ // Sync initialConnectedPlatforms if provided after mount (e.g., async fetch for returning users)
111
+ (0, _react.useEffect)(() => {
112
+ if (initialConnectedPlatforms && initialConnectedPlatforms.length > 0) {
113
+ setConnectedPlatforms(prev => {
114
+ const newSet = new Set(prev);
115
+ let hasChanges = false;
116
+ initialConnectedPlatforms.forEach(platform => {
117
+ const normalized = platform.toLowerCase();
118
+ if (!newSet.has(normalized)) {
119
+ newSet.add(normalized);
120
+ hasChanges = true;
121
+ }
122
+ });
123
+ return hasChanges ? newSet : prev;
124
+ });
125
+ }
126
+ }, [initialConnectedPlatforms]);
127
+
128
+ // 🔄 Load connected platforms from AsyncStorage on mount (for returning users)
129
+ // This ensures toggles reflect previously connected platforms even if initialConnectedPlatforms isn't passed
130
+ (0, _react.useEffect)(() => {
131
+ const loadConnectedPlatformsFromStorage = async () => {
132
+ try {
133
+ console.log('🔄 [PLATFORMS] Loading connected platforms from storage...');
134
+ const loadedPlatforms = [];
135
+
136
+ // 1. Load from user_connected_platforms (main storage for OAuth platforms)
137
+ const platformsJson = await _asyncStorage.default.getItem('user_connected_platforms');
138
+ if (platformsJson) {
139
+ const platforms = JSON.parse(platformsJson);
140
+ if (Array.isArray(platforms)) {
141
+ loadedPlatforms.push(...platforms);
142
+ console.log('✅ [PLATFORMS] Loaded from user_connected_platforms:', platforms);
143
+ }
144
+ }
145
+
146
+ // 2. Load from platform_account_details (detailed account info)
147
+ const accountDetailsJson = await _asyncStorage.default.getItem('platform_account_details');
148
+ if (accountDetailsJson) {
149
+ const accountDetails = JSON.parse(accountDetailsJson);
150
+ if (Array.isArray(accountDetails)) {
151
+ accountDetails.forEach(account => {
152
+ var _account$platform;
153
+ const platformId = (_account$platform = account.platform) === null || _account$platform === void 0 ? void 0 : _account$platform.toLowerCase();
154
+ if (platformId && !loadedPlatforms.includes(platformId)) {
155
+ loadedPlatforms.push(platformId);
156
+ }
157
+ });
158
+ console.log('✅ [PLATFORMS] Loaded from platform_account_details:', accountDetails.map(a => a.platform));
159
+ }
160
+ }
161
+
162
+ // 3. Check LLM platforms individually
163
+ const llmPlatforms = ['chatgpt', 'claude', 'gemini', 'grok'];
164
+ for (const llmPlatform of llmPlatforms) {
165
+ const llmConnection = await _asyncStorage.default.getItem(`@onairos:llm_connected:${llmPlatform}`);
166
+ if (llmConnection) {
167
+ const parsed = JSON.parse(llmConnection);
168
+ if (parsed.connected && !loadedPlatforms.includes(llmPlatform)) {
169
+ loadedPlatforms.push(llmPlatform);
170
+ console.log(`✅ [PLATFORMS] Loaded LLM platform: ${llmPlatform}`);
171
+ }
172
+ }
173
+ }
174
+
175
+ // 4. Check LinkedIn separately
176
+ const linkedinConnection = await _asyncStorage.default.getItem('@onairos:linkedin_connected');
177
+ if (linkedinConnection) {
178
+ const parsed = JSON.parse(linkedinConnection);
179
+ if (parsed.connected && !loadedPlatforms.includes('linkedin')) {
180
+ loadedPlatforms.push('linkedin');
181
+ console.log('✅ [PLATFORMS] Loaded LinkedIn connection');
182
+ }
183
+ }
184
+
185
+ // 5. Fetch server-side connections (covers fresh sign-in after logout)
186
+ if (userEmail) {
187
+ try {
188
+ const serverAccounts = await (0, _connectedAccountsService.getConnectedAccountsLookup)(userEmail);
189
+ serverAccounts.forEach(account => {
190
+ const platformId = account.platform.toLowerCase();
191
+ if (!loadedPlatforms.includes(platformId)) {
192
+ loadedPlatforms.push(platformId);
193
+ }
194
+ });
195
+ } catch (err) {
196
+ console.warn('⚠️ [PLATFORMS] Server lookup failed, using local only:', err);
197
+ }
198
+ }
199
+
200
+ // Update state if we found any connected platforms
201
+ if (loadedPlatforms.length > 0) {
202
+ setConnectedPlatforms(prev => {
203
+ const newSet = new Set(prev);
204
+ let hasChanges = false;
205
+ loadedPlatforms.forEach(platform => {
206
+ const normalized = platform.toLowerCase();
207
+ if (!newSet.has(normalized)) {
208
+ newSet.add(normalized);
209
+ hasChanges = true;
210
+ }
211
+ });
212
+ if (hasChanges) {
213
+ console.log('✅ [PLATFORMS] Updated connectedPlatforms state with:', Array.from(newSet));
214
+ }
215
+ return hasChanges ? newSet : prev;
216
+ });
217
+ }
218
+ } catch (error) {
219
+ console.error('❌ [PLATFORMS] Error loading connected platforms from storage:', error);
220
+ }
221
+ };
222
+ loadConnectedPlatformsFromStorage();
223
+ }, [userEmail]);
224
+
225
+ // Initialize username
226
+ (0, _react.useEffect)(() => {
227
+ const initializeUsername = async () => {
228
+ try {
229
+ const storedUsername = await _asyncStorage.default.getItem('onairos_username');
230
+ if (storedUsername && !username) {
231
+ setUsername(storedUsername);
232
+ return;
233
+ }
234
+ if (user && !username) {
235
+ var _user$email;
236
+ const initialUsername = (user === null || user === void 0 || (_user$email = user.email) === null || _user$email === void 0 ? void 0 : _user$email.split('@')[0]) || (user === null || user === void 0 ? void 0 : user.name) || `user_${Math.floor(Math.random() * 10000)}`;
237
+ setUsername(initialUsername);
238
+ await _asyncStorage.default.setItem('onairos_username', initialUsername);
239
+ return;
240
+ }
241
+ if (!username) {
242
+ const fallbackUsername = `mobile_user_${Math.floor(Math.random() * 10000)}`;
243
+ setUsername(fallbackUsername);
244
+ await _asyncStorage.default.setItem('onairos_username', fallbackUsername);
245
+ }
246
+ } catch (error) {
247
+ console.error('Error initializing username:', error);
248
+ const fallbackUsername = `user_${Math.floor(Math.random() * 10000)}`;
249
+ setUsername(fallbackUsername);
250
+ }
251
+ };
252
+ initializeUsername();
253
+ }, [user, username]);
254
+
255
+ // Scroll indicator animation
256
+ (0, _react.useEffect)(() => {
257
+ if (showScrollIndicator) {
258
+ _reactNative.Animated.loop(_reactNative.Animated.sequence([_reactNative.Animated.timing(scrollIndicatorAnim, {
259
+ toValue: 1,
260
+ duration: 1000,
261
+ useNativeDriver: true
262
+ }), _reactNative.Animated.timing(scrollIndicatorAnim, {
263
+ toValue: 0,
264
+ duration: 1000,
265
+ useNativeDriver: true
266
+ })])).start();
267
+ }
268
+ }, [showScrollIndicator]);
269
+
270
+ // Handle scroll
271
+ const handleScroll = (0, _react.useCallback)(event => {
272
+ const scrollX = event.nativeEvent.contentOffset.x;
273
+ const width = event.nativeEvent.layoutMeasurement.width;
274
+ const contentSize = event.nativeEvent.contentSize.width;
275
+ lastScrollX.current = scrollX;
276
+ const maxScroll = contentSize - width;
277
+ const scrollProgress = maxScroll > 0 ? scrollX / maxScroll : 0;
278
+ setCurrentPage(scrollProgress);
279
+ if (scrollX > 10 && showScrollIndicator) {
280
+ setShowScrollIndicator(false);
281
+ }
282
+ }, [showScrollIndicator]);
283
+
284
+ // Platform list with chat platforms
285
+ const platforms = [{
286
+ id: 'youtube',
287
+ name: 'YouTube',
288
+ icon: (0, _connectedAccountsService.getPlatformIcon)('youtube'),
289
+ description: 'Use your watch history, likes, and subscriptions to enrich your model.',
290
+ isChatPlatform: false
291
+ }, {
292
+ id: 'reddit',
293
+ name: 'Reddit',
294
+ icon: (0, _connectedAccountsService.getPlatformIcon)('reddit'),
295
+ description: 'Use your posts and comments to enrich your model.',
296
+ isChatPlatform: false
297
+ }, {
298
+ id: 'pinterest',
299
+ name: 'Pinterest',
300
+ icon: (0, _connectedAccountsService.getPlatformIcon)('pinterest'),
301
+ description: 'Use your pins, boards, and interests to enrich your model.',
302
+ isChatPlatform: false
303
+ }, {
304
+ id: 'linkedin',
305
+ name: 'LinkedIn',
306
+ icon: (0, _connectedAccountsService.getPlatformIcon)('linkedin'),
307
+ description: 'Use your professional network and career interests to enrich your model.',
308
+ isChatPlatform: false
309
+ }, {
310
+ id: 'gmail',
311
+ name: 'Gmail',
312
+ icon: (0, _connectedAccountsService.getPlatformIcon)('gmail'),
313
+ description: 'Use your email information to enrich your model.',
314
+ isChatPlatform: false
315
+ }, {
316
+ id: 'chatgpt',
317
+ name: 'ChatGPT',
318
+ icon: (0, _connectedAccountsService.getPlatformIcon)('chatgpt'),
319
+ description: 'Use your ChatGPT conversations and memories to enrich your model.',
320
+ isChatPlatform: true
321
+ }, {
322
+ id: 'claude',
323
+ name: 'Claude',
324
+ icon: (0, _connectedAccountsService.getPlatformIcon)('claude'),
325
+ description: 'Use your Claude conversations to enrich your model.',
326
+ isChatPlatform: true
327
+ }, {
328
+ id: 'gemini',
329
+ name: 'Gemini',
330
+ icon: (0, _connectedAccountsService.getPlatformIcon)('gemini'),
331
+ description: 'Use your Gemini conversations to enrich your model.',
332
+ isChatPlatform: true
333
+ }, {
334
+ id: 'grok',
335
+ name: 'Grok',
336
+ icon: (0, _connectedAccountsService.getPlatformIcon)('grok'),
337
+ description: 'Use your Grok conversations from X to enrich your model.',
338
+ isChatPlatform: true
339
+ }];
340
+
341
+ // Filter and order platforms based on allowedPlatforms (order is preserved)
342
+ const filteredPlatforms = allowedPlatforms ? allowedPlatforms.map(id => platforms.find(p => p.id === id)).filter(p => p !== undefined) : platforms;
343
+
344
+ // Set default selected platform to first filtered platform (leftmost)
345
+ // This ensures the selection always starts at the leftmost platform
346
+ (0, _react.useEffect)(() => {
347
+ if (filteredPlatforms.length > 0) {
348
+ // Always set to first platform on mount or when allowedPlatforms changes
349
+ const firstPlatformId = filteredPlatforms[0].id;
350
+ if (!selectedPlatformId || !filteredPlatforms.find(p => p.id === selectedPlatformId)) {
351
+ setSelectedPlatformId(firstPlatformId);
352
+ }
353
+ }
354
+ }, [allowedPlatforms, filteredPlatforms.length]);
355
+ const handlePlatformToggle = async (platformId, enabled) => {
356
+ (0, _haptics.triggerHaptic)(_haptics.HapticType.BUTTON_PRESS);
357
+ console.log(`🔄 [TOGGLE] Platform toggle: ${platformId} = ${enabled}`);
358
+ try {
359
+ if (enabled) {
360
+ const storedUsername = await _asyncStorage.default.getItem('onairos_username');
361
+ const validUsername = storedUsername || username;
362
+ console.log(`👤 [TOGGLE] Username check - stored: "${storedUsername}", state: "${username}", valid: "${validUsername}"`);
363
+ if (!validUsername || validUsername.trim() === '') {
364
+ console.error('❌ [TOGGLE] No username available - cannot proceed with OAuth');
365
+ return;
366
+ }
367
+
368
+ // Check if this is an LLM/chat platform (ChatGPT, Claude, Gemini, Grok)
369
+ const platform = platforms.find(p => p.id === platformId);
370
+ const isLLM = (platform === null || platform === void 0 ? void 0 : platform.isChatPlatform) || (0, _webviewScripts.isLLMPlatform)(platformId);
371
+ if (isLLM) {
372
+ // LLM platforms use WebView-based login + conversation extraction
373
+ console.log(`🤖 [LLM] Opening WebView for ${platformId} login and export...`);
374
+ setCurrentPlatform(platformId);
375
+ setConnectionStatuses(prev => ({
376
+ ...prev,
377
+ [platformId]: 'connecting'
378
+ }));
379
+
380
+ // Get the platform's login URL
381
+ const llmUrl = (0, _webviewScripts.getLLMPlatformUrl)(platformId);
382
+ if (llmUrl) {
383
+ console.log(`🌐 [LLM] Opening ${platformId} URL:`, llmUrl);
384
+ setOauthUrl(llmUrl);
385
+ setShowOAuthWebView(true);
386
+ } else {
387
+ console.error(`❌ [LLM] No URL configured for platform: ${platformId}`);
388
+ setConnectionStatuses(prev => ({
389
+ ...prev,
390
+ [platformId]: 'error'
391
+ }));
392
+ (0, _haptics.triggerHaptic)(_haptics.HapticType.ERROR);
393
+ }
394
+ return; // Exit early for LLM platforms - WebView handles the rest
395
+ }
396
+
397
+ // LinkedIn uses WebView-based login + profile URL extraction (similar to LLM platforms)
398
+ if ((0, _webviewScripts.isLinkedInPlatform)(platformId)) {
399
+ console.log(`💼 [LINKEDIN] Opening WebView for LinkedIn login...`);
400
+ setCurrentPlatform(platformId);
401
+ setConnectionStatuses(prev => ({
402
+ ...prev,
403
+ [platformId]: 'connecting'
404
+ }));
405
+
406
+ // Open LinkedIn login page directly
407
+ const linkedinLoginUrl = 'https://www.linkedin.com/login';
408
+ console.log(`🌐 [LINKEDIN] Opening LinkedIn URL:`, linkedinLoginUrl);
409
+ setOauthUrl(linkedinLoginUrl);
410
+ setShowOAuthWebView(true);
411
+ return; // Exit early for LinkedIn - WebView handles the rest
412
+ }
413
+ if ((0, _platformAuthService.hasNativeSDK)(platformId)) {
414
+ setCurrentPlatform(platformId);
415
+ setConnectionStatuses(prev => ({
416
+ ...prev,
417
+ [platformId]: 'connecting'
418
+ }));
419
+ const success = await (0, _platformAuthService.initiateNativeAuth)(platformId, validUsername);
420
+ if (success) {
421
+ const newConnected = new Set(connectedPlatforms);
422
+ newConnected.add(platformId);
423
+ setConnectedPlatforms(newConnected);
424
+ setConnectionStatuses(prev => ({
425
+ ...prev,
426
+ [platformId]: 'connected'
427
+ }));
428
+ (0, _haptics.triggerHaptic)(_haptics.HapticType.SUCCESS);
429
+ } else {
430
+ setConnectionStatuses(prev => ({
431
+ ...prev,
432
+ [platformId]: 'error'
433
+ }));
434
+ (0, _haptics.triggerHaptic)(_haptics.HapticType.ERROR);
435
+ }
436
+ } else {
437
+ console.log(`🌐 [TOGGLE] Starting OAuth flow for ${platformId}...`);
438
+ setCurrentPlatform(platformId);
439
+ setConnectionStatuses(prev => ({
440
+ ...prev,
441
+ [platformId]: 'connecting'
442
+ }));
443
+ const oauthUrl = await (0, _platformAuthService.initiateOAuth)(platformId, validUsername);
444
+ console.log(`🔗 [TOGGLE] OAuth URL result for ${platformId}:`, oauthUrl ? oauthUrl.substring(0, 50) + '...' : 'NULL');
445
+ if (oauthUrl) {
446
+ console.log(`✅ [TOGGLE] Setting WebView state - showing modal for ${platformId}`);
447
+ setOauthUrl(oauthUrl);
448
+ setShowOAuthWebView(true);
449
+ } else {
450
+ console.error(`❌ [TOGGLE] OAuth failed for ${platformId} - no URL returned`);
451
+ setConnectionStatuses(prev => ({
452
+ ...prev,
453
+ [platformId]: 'error'
454
+ }));
455
+ (0, _haptics.triggerHaptic)(_haptics.HapticType.ERROR);
456
+ }
457
+ }
458
+ } else {
459
+ await disconnectPlatform(platformId);
460
+ const newConnected = new Set(connectedPlatforms);
461
+ newConnected.delete(platformId);
462
+ setConnectedPlatforms(newConnected);
463
+ setConnectionStatuses(prev => ({
464
+ ...prev,
465
+ [platformId]: 'disconnected'
466
+ }));
467
+ (0, _haptics.triggerHaptic)(_haptics.HapticType.BUTTON_PRESS);
468
+
469
+ // 🔄 Remove from BOTH storage keys for consistency
470
+ try {
471
+ const existingPlatformsJson = await _asyncStorage.default.getItem('user_connected_platforms');
472
+ if (existingPlatformsJson) {
473
+ const existingPlatforms = JSON.parse(existingPlatformsJson);
474
+ const updatedPlatforms = existingPlatforms.filter(p => p.toLowerCase() !== platformId.toLowerCase());
475
+ await _asyncStorage.default.setItem('user_connected_platforms', JSON.stringify(updatedPlatforms));
476
+ await _asyncStorage.default.setItem('connectedPlatforms', JSON.stringify(updatedPlatforms));
477
+ console.log(`✅ [STORAGE] Removed ${platformId} from both storage keys:`, updatedPlatforms);
478
+ }
479
+ } catch (storageError) {
480
+ console.error('❌ [STORAGE] Error removing platform connection:', storageError);
481
+ }
482
+
483
+ // Also remove local LLM connection status
484
+ await _asyncStorage.default.removeItem(`@onairos:llm_connected:${platformId}`);
485
+
486
+ // Also remove LinkedIn connection status if applicable
487
+ if (platformId.toLowerCase() === 'linkedin') {
488
+ await _asyncStorage.default.removeItem('@onairos:linkedin_connected');
489
+ }
490
+ }
491
+ } catch (error) {
492
+ console.error(`Error toggling platform ${platformId}:`, error);
493
+ setConnectionStatuses(prev => ({
494
+ ...prev,
495
+ [platformId]: 'error'
496
+ }));
497
+ (0, _haptics.triggerHaptic)(_haptics.HapticType.ERROR);
498
+ }
499
+ };
500
+ const handleUpdate = async () => {
501
+ (0, _haptics.triggerHaptic)(_haptics.HapticType.BUTTON_PRESS);
502
+
503
+ // If no new platforms were added since last consent view, skip PIN/loading
504
+ const currentPlatforms = connectedPlatforms;
505
+ const previousPlatforms = platformsAtLastConsent.current;
506
+ const hasNewPlatforms = Array.from(currentPlatforms).some(p => !previousPlatforms.has(p));
507
+ if (!hasNewPlatforms && previousPlatforms.size > 0) {
508
+ console.log('ℹ️ [PLATFORMS] No new platforms connected, skipping PIN/loading');
509
+ platformsAtLastConsent.current = new Set(currentPlatforms);
510
+ setShowConsentScreen(true);
511
+ return;
512
+ }
513
+ setIsContinueLoading(true);
514
+ try {
515
+ setShowPinScreen(true);
516
+ } finally {
517
+ setIsContinueLoading(false);
518
+ }
519
+ };
520
+ const handleSkip = () => {
521
+ (0, _haptics.triggerHaptic)(_haptics.HapticType.BUTTON_PRESS);
522
+ if (onSkip) {
523
+ onSkip();
524
+ }
525
+ };
526
+ const handleConsentAccept = async () => {
527
+ (0, _haptics.triggerHaptic)(_haptics.HapticType.BUTTON_PRESS);
528
+
529
+ // 🚀 Show loading on button immediately
530
+ setIsConsentLoading(true);
531
+
532
+ // Small delay to ensure React renders the loading state before async work starts
533
+ await new Promise(resolve => setTimeout(resolve, 50));
534
+ try {
535
+ if (onPinComplete) {
536
+ await onPinComplete(createdPin);
537
+ } else {
538
+ // onUpdate is async - wait for it to complete
539
+ await onUpdate(Array.from(connectedPlatforms));
540
+ }
541
+ } finally {
542
+ setIsConsentLoading(false);
543
+ }
544
+ };
545
+ const handleConsentDecline = () => {
546
+ (0, _haptics.triggerHaptic)(_haptics.HapticType.BUTTON_PRESS);
547
+ setShowConsentScreen(false);
548
+ };
549
+ const handleRefreshFrequencyChange = async frequency => {
550
+ (0, _haptics.triggerHaptic)(_haptics.HapticType.BUTTON_PRESS);
551
+ setRefreshFrequency(frequency);
552
+
553
+ // Save to AsyncStorage
554
+ try {
555
+ await _asyncStorage.default.setItem('@onairos:model_refresh_frequency', frequency);
556
+ console.log(`✅ [REFRESH] Model refresh frequency set to: ${frequency}`);
557
+ } catch (error) {
558
+ console.error('❌ [REFRESH] Error saving refresh frequency:', error);
559
+ }
560
+
561
+ // Call external handler if provided
562
+ if (onRefreshFrequencyChange) {
563
+ onRefreshFrequencyChange(frequency);
564
+ }
565
+ };
566
+ const openPrivacyPolicy = () => {
567
+ const Linking = require('react-native').Linking;
568
+ Linking.openURL('https://privacy.onairos.io/');
569
+ };
570
+ const handlePinComplete = async pin => {
571
+ setCreatedPin(pin);
572
+ (0, _pinStorageUtils.setTemporaryPin)(pin);
573
+ setShowPinScreen(false);
574
+ setShowLoadingScreen(true);
575
+ };
576
+ const handleLoadingComplete = () => {
577
+ setShowLoadingScreen(false);
578
+ setShowConsentScreen(true);
579
+ };
580
+ const handleOAuthSuccess = async result => {
581
+ if (currentPlatform) {
582
+ if (result === 'success' || result !== 'error') {
583
+ // 🎯 Don't update connectedPlatforms immediately - set as pending
584
+ // The persona coloring will happen AFTER the WebView closes
585
+ setPendingConnection(currentPlatform);
586
+ setConnectionStatuses(prev => ({
587
+ ...prev,
588
+ [currentPlatform]: 'connected'
589
+ }));
590
+
591
+ // 🔄 Store platform connection in BOTH storage keys for consistency
592
+ try {
593
+ const existingPlatformsJson = await _asyncStorage.default.getItem('user_connected_platforms');
594
+ const existingPlatforms = existingPlatformsJson ? JSON.parse(existingPlatformsJson) : [];
595
+ if (!existingPlatforms.includes(currentPlatform.toLowerCase())) {
596
+ existingPlatforms.push(currentPlatform.toLowerCase());
597
+ await _asyncStorage.default.setItem('user_connected_platforms', JSON.stringify(existingPlatforms));
598
+ await _asyncStorage.default.setItem('connectedPlatforms', JSON.stringify(existingPlatforms));
599
+ console.log(`✅ [STORAGE] Added ${currentPlatform} to both storage keys:`, existingPlatforms);
600
+ }
601
+ } catch (storageError) {
602
+ console.error('❌ [STORAGE] Error saving platform connection:', storageError);
603
+ }
604
+
605
+ // Store LLM connection status locally
606
+ if ((0, _webviewScripts.isLLMPlatform)(currentPlatform)) {
607
+ await _asyncStorage.default.setItem(`@onairos:llm_connected:${currentPlatform}`, JSON.stringify({
608
+ connected: true,
609
+ platform: currentPlatform,
610
+ connectedAt: new Date().toISOString()
611
+ }));
612
+ console.log(`✅ [LLM] ${currentPlatform} connection stored locally`);
613
+ }
614
+
615
+ // Store LinkedIn connection status locally
616
+ if (currentPlatform.toLowerCase() === 'linkedin') {
617
+ await _asyncStorage.default.setItem(`@onairos:linkedin_connected`, JSON.stringify({
618
+ connected: true,
619
+ platform: 'linkedin',
620
+ connectedAt: new Date().toISOString()
621
+ }));
622
+ console.log(`✅ [LINKEDIN] Connection stored locally`);
623
+ }
624
+ } else {
625
+ setConnectionStatuses(prev => ({
626
+ ...prev,
627
+ [currentPlatform]: 'error'
628
+ }));
629
+ (0, _haptics.triggerHaptic)(_haptics.HapticType.ERROR);
630
+ }
631
+ }
632
+ setShowOAuthWebView(false);
633
+ setOauthUrl('');
634
+ setCurrentPlatform('');
635
+ };
636
+
637
+ // 🎯 Effect to apply pending connection AFTER WebView closes
638
+ // This ensures persona coloring happens after returning to platform screen
639
+ (0, _react.useEffect)(() => {
640
+ if (pendingConnection && !showOAuthWebView) {
641
+ // Small delay to ensure screen is visible before persona colors
642
+ const timer = setTimeout(() => {
643
+ // Use functional update to avoid stale closure issues
644
+ setConnectedPlatforms(prev => {
645
+ const newConnected = new Set(prev);
646
+ newConnected.add(pendingConnection);
647
+ return newConnected;
648
+ });
649
+ (0, _haptics.triggerHaptic)(_haptics.HapticType.SUCCESS);
650
+ console.log(`✅ [PERSONA] Applied pending connection: ${pendingConnection}`);
651
+ setPendingConnection(null);
652
+ }, 300); // 300ms delay for user to see the screen before coloring
653
+
654
+ return () => clearTimeout(timer);
655
+ }
656
+ }, [pendingConnection, showOAuthWebView]);
657
+ const handleOAuthClose = () => {
658
+ setShowOAuthWebView(false);
659
+ setOauthUrl('');
660
+ if (currentPlatform) {
661
+ setConnectionStatuses(prev => ({
662
+ ...prev,
663
+ [currentPlatform]: 'disconnected'
664
+ }));
665
+ }
666
+ setCurrentPlatform('');
667
+ };
668
+ const handlePinBack = () => {
669
+ setShowPinScreen(false);
670
+ };
671
+ const handleReviewerBypass = () => {
672
+ if (onReviewerBypass) {
673
+ onReviewerBypass();
674
+ }
675
+ };
676
+
677
+ // Long press handlers for reviewer bypass
678
+ const handlePressIn = () => {
679
+ _reactNative.Animated.timing(holdProgressAnim, {
680
+ toValue: 1,
681
+ duration: 4000,
682
+ useNativeDriver: false
683
+ }).start();
684
+ const timer = setTimeout(() => {
685
+ (0, _haptics.triggerHaptic)(_haptics.HapticType.SUCCESS);
686
+ _reactNative.Vibration.vibrate([0, 100, 50, 100]);
687
+ handleReviewerBypass();
688
+ }, 4000);
689
+ setLongPressTimer(timer);
690
+ };
691
+ const handlePressOut = () => {
692
+ if (longPressTimer) {
693
+ clearTimeout(longPressTimer);
694
+ setLongPressTimer(null);
695
+ }
696
+ holdProgressAnim.setValue(0);
697
+ _reactNative.Animated.timing(holdProgressAnim, {
698
+ toValue: 0,
699
+ duration: 200,
700
+ useNativeDriver: false
701
+ }).start();
702
+ };
703
+ (0, _react.useEffect)(() => {
704
+ return () => {
705
+ if (longPressTimer) {
706
+ clearTimeout(longPressTimer);
707
+ }
708
+ };
709
+ }, [longPressTimer]);
710
+
711
+ // Debug: Track WebView state changes
712
+ (0, _react.useEffect)(() => {
713
+ if (showOAuthWebView || oauthUrl) {
714
+ console.log(`📊 [STATE] WebView state changed - showOAuthWebView: ${showOAuthWebView}, oauthUrl: ${oauthUrl ? 'SET (' + oauthUrl.substring(0, 40) + '...)' : 'NULL'}`);
715
+ }
716
+ }, [showOAuthWebView, oauthUrl]);
717
+ const personaLevel = Math.min(5, Math.max(1, connectedPlatforms.size + 1));
718
+ const PLATFORM_ICONS_BOTTOM = 120;
719
+ const PAGE_DOTS_BOTTOM = 70;
720
+
721
+ // Show PIN screen
722
+ if (showPinScreen) {
723
+ return /*#__PURE__*/_react.default.createElement(_PinCreationScreen.default, {
724
+ visible: showPinScreen,
725
+ onComplete: handlePinComplete,
726
+ onBack: handlePinBack
727
+ });
728
+ }
729
+
730
+ // Show loading screen
731
+ if (showLoadingScreen) {
732
+ return /*#__PURE__*/_react.default.createElement(_PersonaLoadingScreen.default, {
733
+ visible: showLoadingScreen,
734
+ onComplete: handleLoadingComplete
735
+ });
736
+ }
737
+
738
+ // Show OAuth WebView (also used for LLM platforms)
739
+ if (showOAuthWebView && oauthUrl) {
740
+ console.log(`✅ [WEBVIEW] Rendering OAuthWebView for ${currentPlatform} with URL: ${oauthUrl.substring(0, 60)}...`);
741
+ return /*#__PURE__*/_react.default.createElement(_OAuthWebView.OAuthWebView, {
742
+ url: oauthUrl,
743
+ platform: currentPlatform,
744
+ onClose: handleOAuthClose,
745
+ onSuccess: handleOAuthSuccess,
746
+ onComplete: handleOAuthClose,
747
+ username: username
748
+ });
749
+ }
750
+
751
+ // Handle connect more - go back to platform selection
752
+ const handleConnectMore = () => {
753
+ (0, _haptics.triggerHaptic)(_haptics.HapticType.BUTTON_PRESS);
754
+ // Snapshot current platforms so we can detect new ones on return
755
+ platformsAtLastConsent.current = new Set(connectedPlatforms);
756
+ setShowConsentScreen(false);
757
+ };
758
+
759
+ // Show consent screen
760
+ if (showConsentScreen) {
761
+ return /*#__PURE__*/_react.default.createElement(_PersonalizationConsentScreen.default, {
762
+ visible: showConsentScreen,
763
+ onAccept: handleConsentAccept,
764
+ onDecline: handleConsentDecline,
765
+ connectedPlatforms: Array.from(connectedPlatforms),
766
+ onConnectMore: handleConnectMore,
767
+ loading: isConsentLoading
768
+ });
769
+ }
770
+ return /*#__PURE__*/_react.default.createElement(_reactNative.View, {
771
+ style: styles.container
772
+ }, /*#__PURE__*/_react.default.createElement(_reactNative.ScrollView, {
773
+ style: styles.scrollContent,
774
+ showsVerticalScrollIndicator: false,
775
+ bounces: true
776
+ }, onLogout && /*#__PURE__*/_react.default.createElement(_reactNative.TouchableOpacity, {
777
+ style: styles.backButton,
778
+ onPress: onLogout,
779
+ activeOpacity: 0.7
780
+ }, /*#__PURE__*/_react.default.createElement(_reactNative.Text, {
781
+ style: styles.backButtonText
782
+ }, "\u2039")), /*#__PURE__*/_react.default.createElement(_reactNative.View, {
783
+ style: styles.headingContainer
784
+ }, /*#__PURE__*/_react.default.createElement(_reactNative.Text, {
785
+ style: styles.title
786
+ }, "Build your persona"), /*#__PURE__*/_react.default.createElement(_reactNative.Text, {
787
+ style: styles.subtitle
788
+ }, "Connect platforms to build your private persona")), /*#__PURE__*/_react.default.createElement(_reactNative.View, {
789
+ style: styles.personaContainer
790
+ }, /*#__PURE__*/_react.default.createElement(_PersonaImage.default, {
791
+ level: personaLevel,
792
+ style: styles.largePersona
793
+ }), /*#__PURE__*/_react.default.createElement(_reactNative.ScrollView, {
794
+ ref: scrollViewRef,
795
+ horizontal: true,
796
+ style: [styles.platformIconsOverlay, {
797
+ bottom: PLATFORM_ICONS_BOTTOM
798
+ }],
799
+ contentContainerStyle: [styles.platformIconsScrollContent, filteredPlatforms.length <= 4 && styles.platformIconsCentered],
800
+ showsHorizontalScrollIndicator: false,
801
+ onScroll: handleScroll,
802
+ scrollEventThrottle: 16,
803
+ decelerationRate: "normal",
804
+ scrollEnabled: filteredPlatforms.length > 4
805
+ }, filteredPlatforms.map(platform => {
806
+ const isSelected = selectedPlatformId === platform.id;
807
+ const isConnected = connectedPlatforms.has(platform.id);
808
+ const isConnecting = connectionStatuses[platform.id] === 'connecting';
809
+ return /*#__PURE__*/_react.default.createElement(_reactNative.TouchableOpacity, {
810
+ key: platform.id,
811
+ style: [styles.platformIconButton, isSelected && styles.platformIconButtonSelected],
812
+ onPress: () => {
813
+ (0, _haptics.triggerHaptic)(_haptics.HapticType.BUTTON_PRESS);
814
+ setSelectedPlatformId(platform.id);
815
+ },
816
+ activeOpacity: 0.7
817
+ }, /*#__PURE__*/_react.default.createElement(_reactNative.Image, {
818
+ source: platform.icon,
819
+ style: [styles.platformIcon, platform.id === 'youtube' && styles.youtubeIcon, platform.id === 'pinterest' && styles.pinterestIcon, platform.id === 'gmail' && styles.gmailIcon, platform.id === 'chatgpt' && styles.chatgptIcon, platform.id === 'claude' && styles.claudeIcon, platform.id === 'grok' && styles.grokIcon],
820
+ resizeMode: "contain"
821
+ }), isConnecting && /*#__PURE__*/_react.default.createElement(_reactNative.View, {
822
+ style: styles.connectingDot
823
+ }), isConnected && /*#__PURE__*/_react.default.createElement(_reactNative.View, {
824
+ style: styles.connectedDot
825
+ }));
826
+ })), filteredPlatforms.length > 4 && /*#__PURE__*/_react.default.createElement(_reactNative.View, {
827
+ style: [styles.pageIndicatorContainer, {
828
+ bottom: PAGE_DOTS_BOTTOM
829
+ }]
830
+ }, /*#__PURE__*/_react.default.createElement(_reactNative.View, {
831
+ style: styles.scrollBarTrack
832
+ }, /*#__PURE__*/_react.default.createElement(_reactNative.View, {
833
+ style: [styles.scrollBarThumb, {
834
+ left: currentPage * 56
835
+ }]
836
+ }))), showScrollIndicator && filteredPlatforms.length > 4 && /*#__PURE__*/_react.default.createElement(_reactNative.Animated.View, {
837
+ style: [styles.scrollIndicator, {
838
+ transform: [{
839
+ translateX: scrollIndicatorAnim.interpolate({
840
+ inputRange: [0, 1],
841
+ outputRange: [0, 8]
842
+ })
843
+ }],
844
+ opacity: scrollIndicatorAnim.interpolate({
845
+ inputRange: [0, 1],
846
+ outputRange: [0.5, 1]
847
+ })
848
+ }]
849
+ }, /*#__PURE__*/_react.default.createElement(_reactNative.Text, {
850
+ style: styles.scrollIndicatorText
851
+ }, "\u203A"))), /*#__PURE__*/_react.default.createElement(_reactNative.View, {
852
+ style: styles.cardContainer
853
+ }, selectedPlatformId && (() => {
854
+ const selectedPlatform = filteredPlatforms.find(p => p.id === selectedPlatformId);
855
+ if (!selectedPlatform) return null;
856
+ const isConnected = connectedPlatforms.has(selectedPlatformId);
857
+ const isConnectingPlatform = connectionStatuses[selectedPlatformId] === 'connecting';
858
+ const isRecommended = recommendedPlatforms === null || recommendedPlatforms === void 0 ? void 0 : recommendedPlatforms.includes(selectedPlatformId);
859
+ return /*#__PURE__*/_react.default.createElement(_reactNative.View, {
860
+ style: styles.platformCard
861
+ }, /*#__PURE__*/_react.default.createElement(_reactNative.View, {
862
+ style: styles.cardHeader
863
+ }, /*#__PURE__*/_react.default.createElement(_reactNative.Text, {
864
+ style: styles.platformCardTitle
865
+ }, selectedPlatform.name), isRecommended && /*#__PURE__*/_react.default.createElement(_reactNative.View, {
866
+ style: styles.recommendedBadge
867
+ }, /*#__PURE__*/_react.default.createElement(_reactNative.Text, {
868
+ style: styles.recommendedBadgeText
869
+ }, "Highly Recommended")), /*#__PURE__*/_react.default.createElement(_reactNative.TouchableOpacity, {
870
+ activeOpacity: 0.8,
871
+ onPress: () => !isConnectingPlatform && handlePlatformToggle(selectedPlatformId, !isConnected),
872
+ disabled: isConnectingPlatform,
873
+ style: [styles.customToggleTrack, {
874
+ backgroundColor: isConnected ? '#10B981' : '#9CA3AF'
875
+ }]
876
+ }, /*#__PURE__*/_react.default.createElement(_reactNative.View, {
877
+ style: [styles.customToggleThumb, {
878
+ transform: [{
879
+ translateX: isConnected ? 20 : 0
880
+ }]
881
+ }]
882
+ }))), /*#__PURE__*/_react.default.createElement(_reactNative.View, {
883
+ style: styles.descriptionContainer
884
+ }, /*#__PURE__*/_react.default.createElement(_reactNative.Text, {
885
+ style: styles.platformCardDescription
886
+ }, selectedPlatform.description)));
887
+ })()), /*#__PURE__*/_react.default.createElement(_reactNative.View, {
888
+ style: styles.refreshFrequencySection
889
+ }, /*#__PURE__*/_react.default.createElement(_reactNative.Text, {
890
+ style: styles.refreshFrequencyTitle
891
+ }, "Model Refresh Frequency"), /*#__PURE__*/_react.default.createElement(_reactNative.Text, {
892
+ style: styles.refreshFrequencyDescription
893
+ }, "How often should your model be refreshed from platforms?"), /*#__PURE__*/_react.default.createElement(_reactNative.View, {
894
+ style: styles.refreshSegmentedControl
895
+ }, MODEL_REFRESH_OPTIONS.map(option => /*#__PURE__*/_react.default.createElement(_reactNative.TouchableOpacity, {
896
+ key: option.value,
897
+ style: [styles.refreshSegment, refreshFrequency === option.value && styles.refreshSegmentSelected],
898
+ onPress: () => handleRefreshFrequencyChange(option.value),
899
+ activeOpacity: 0.7
900
+ }, /*#__PURE__*/_react.default.createElement(_reactNative.Text, {
901
+ style: [styles.refreshSegmentText, refreshFrequency === option.value && styles.refreshSegmentTextSelected]
902
+ }, option.label)))), /*#__PURE__*/_react.default.createElement(_reactNative.Text, {
903
+ style: styles.refreshFrequencyHint
904
+ }, ((_MODEL_REFRESH_OPTION = MODEL_REFRESH_OPTIONS.find(o => o.value === refreshFrequency)) === null || _MODEL_REFRESH_OPTION === void 0 ? void 0 : _MODEL_REFRESH_OPTION.description) || '')), /*#__PURE__*/_react.default.createElement(_reactNative.View, {
905
+ style: styles.bottomButtonContainer
906
+ }, /*#__PURE__*/_react.default.createElement(_reactNative.View, {
907
+ style: styles.buttonWrapper
908
+ }, /*#__PURE__*/_react.default.createElement(_PrimaryButton.default, {
909
+ label: "Continue",
910
+ onPress: handleUpdate,
911
+ disabled: loading || connectedPlatforms.size === 0 || isConnecting || isContinueLoading,
912
+ loading: loading || isConnecting || isContinueLoading
913
+ }), /*#__PURE__*/_react.default.createElement(_reactNative.TouchableOpacity, {
914
+ style: styles.buttonOverlay,
915
+ activeOpacity: 1,
916
+ onPressIn: handlePressIn,
917
+ onPressOut: handlePressOut,
918
+ onPress: () => {
919
+ if (connectedPlatforms.size > 0 && !loading && !isConnecting && !isContinueLoading) {
920
+ handleUpdate();
921
+ }
922
+ }
923
+ }, /*#__PURE__*/_react.default.createElement(_reactNative.Animated.View, {
924
+ style: [styles.holdProgressBar, {
925
+ width: holdProgressAnim.interpolate({
926
+ inputRange: [0, 1],
927
+ outputRange: ['0%', '100%']
928
+ })
929
+ }]
930
+ }))), onSkip && /*#__PURE__*/_react.default.createElement(_reactNative.TouchableOpacity, {
931
+ style: styles.skipButton,
932
+ onPress: handleSkip
933
+ }, /*#__PURE__*/_react.default.createElement(_reactNative.Text, {
934
+ style: styles.skipButtonText
935
+ }, "Skip")))));
936
+ };
937
+ const styles = _reactNative.StyleSheet.create({
938
+ container: {
939
+ flex: 1,
940
+ backgroundColor: _theme.COLORS.surface,
941
+ paddingHorizontal: 24
942
+ },
943
+ backButton: {
944
+ width: 32,
945
+ height: 32,
946
+ borderRadius: 16,
947
+ backgroundColor: '#F0F0F3',
948
+ alignItems: 'center',
949
+ justifyContent: 'center',
950
+ marginBottom: 2
951
+ },
952
+ backButtonText: {
953
+ fontSize: 22,
954
+ fontWeight: '600',
955
+ color: '#1C1C1E',
956
+ marginTop: -2
957
+ },
958
+ scrollContent: {
959
+ flex: 1
960
+ },
961
+ headingContainer: {
962
+ width: '100%',
963
+ marginBottom: _theme.SPACING.sm,
964
+ paddingTop: 0,
965
+ marginTop: 0
966
+ },
967
+ title: {
968
+ fontFamily: 'IBM Plex Sans',
969
+ fontWeight: '700',
970
+ fontSize: 24,
971
+ lineHeight: 32,
972
+ color: _theme.COLORS.grey800,
973
+ textAlign: 'left',
974
+ marginBottom: 4
975
+ },
976
+ subtitle: {
977
+ fontFamily: 'Inter',
978
+ fontWeight: '400',
979
+ fontSize: 16,
980
+ lineHeight: 24,
981
+ color: _theme.COLORS.grey600,
982
+ textAlign: 'left'
983
+ },
984
+ personaContainer: {
985
+ alignItems: 'center',
986
+ position: 'relative',
987
+ marginTop: -20,
988
+ marginBottom: -120,
989
+ height: 450
990
+ },
991
+ largePersona: {
992
+ width: 500,
993
+ height: 500
994
+ },
995
+ platformIconsOverlay: {
996
+ position: 'absolute',
997
+ width: '100%',
998
+ height: 70,
999
+ zIndex: 10
1000
+ },
1001
+ platformIconsScrollContent: {
1002
+ flexDirection: 'row',
1003
+ alignItems: 'center',
1004
+ paddingHorizontal: 20,
1005
+ gap: 24
1006
+ },
1007
+ platformIconsCentered: {
1008
+ flexGrow: 1,
1009
+ justifyContent: 'center'
1010
+ },
1011
+ platformIconButton: {
1012
+ width: 52,
1013
+ height: 52,
1014
+ borderRadius: 26,
1015
+ backgroundColor: '#FFFFFF',
1016
+ justifyContent: 'center',
1017
+ alignItems: 'center',
1018
+ borderWidth: 3,
1019
+ borderColor: 'transparent',
1020
+ shadowColor: '#000',
1021
+ shadowOffset: {
1022
+ width: 0,
1023
+ height: 2
1024
+ },
1025
+ shadowOpacity: 0.15,
1026
+ shadowRadius: 4,
1027
+ elevation: 4
1028
+ },
1029
+ platformIconButtonSelected: {
1030
+ borderColor: '#3B82F6',
1031
+ backgroundColor: '#EFF6FF'
1032
+ },
1033
+ platformIcon: {
1034
+ width: 30,
1035
+ height: 30
1036
+ },
1037
+ youtubeIcon: {
1038
+ width: 42,
1039
+ height: 42
1040
+ },
1041
+ pinterestIcon: {
1042
+ width: 36,
1043
+ height: 36
1044
+ },
1045
+ gmailIcon: {
1046
+ width: 36,
1047
+ height: 36
1048
+ },
1049
+ chatgptIcon: {
1050
+ width: 30,
1051
+ height: 30
1052
+ },
1053
+ claudeIcon: {
1054
+ width: 32,
1055
+ height: 32
1056
+ },
1057
+ grokIcon: {
1058
+ width: 36,
1059
+ height: 36
1060
+ },
1061
+ connectingDot: {
1062
+ position: 'absolute',
1063
+ top: 2,
1064
+ right: 2,
1065
+ width: 12,
1066
+ height: 12,
1067
+ borderRadius: 6,
1068
+ backgroundColor: '#FFA500',
1069
+ borderWidth: 2,
1070
+ borderColor: _theme.COLORS.surface
1071
+ },
1072
+ connectedDot: {
1073
+ position: 'absolute',
1074
+ top: 2,
1075
+ right: 2,
1076
+ width: 12,
1077
+ height: 12,
1078
+ borderRadius: 6,
1079
+ backgroundColor: '#10B981',
1080
+ borderWidth: 2,
1081
+ borderColor: _theme.COLORS.surface
1082
+ },
1083
+ cardContainer: {
1084
+ alignItems: 'center',
1085
+ marginTop: 16,
1086
+ marginBottom: _theme.SPACING.md
1087
+ },
1088
+ platformCard: {
1089
+ width: 327,
1090
+ backgroundColor: '#FFFFFF',
1091
+ borderRadius: 16,
1092
+ padding: 8,
1093
+ shadowColor: '#000',
1094
+ shadowOffset: {
1095
+ width: 0,
1096
+ height: 2
1097
+ },
1098
+ shadowOpacity: 0.1,
1099
+ shadowRadius: 8,
1100
+ elevation: 3,
1101
+ gap: 10
1102
+ },
1103
+ cardHeader: {
1104
+ flexDirection: 'row',
1105
+ alignItems: 'center',
1106
+ justifyContent: 'space-between'
1107
+ },
1108
+ platformCardTitle: {
1109
+ fontSize: 16,
1110
+ fontWeight: '600',
1111
+ color: _theme.COLORS.grey800,
1112
+ fontFamily: 'IBM Plex Sans'
1113
+ },
1114
+ recommendedBadge: {
1115
+ backgroundColor: '#EFF6FF',
1116
+ paddingHorizontal: 12,
1117
+ paddingVertical: 6,
1118
+ borderRadius: 16,
1119
+ marginLeft: 8
1120
+ },
1121
+ recommendedBadgeText: {
1122
+ fontSize: 12,
1123
+ fontWeight: '600',
1124
+ color: '#2563EB',
1125
+ fontFamily: 'IBM Plex Sans'
1126
+ },
1127
+ customToggleTrack: {
1128
+ width: 50,
1129
+ height: 30,
1130
+ borderRadius: 15,
1131
+ padding: 2,
1132
+ marginLeft: 'auto',
1133
+ marginRight: 8,
1134
+ justifyContent: 'center'
1135
+ },
1136
+ customToggleThumb: {
1137
+ width: 26,
1138
+ height: 26,
1139
+ borderRadius: 13,
1140
+ backgroundColor: '#FFFFFF',
1141
+ shadowColor: '#000',
1142
+ shadowOffset: {
1143
+ width: 0,
1144
+ height: 2
1145
+ },
1146
+ shadowOpacity: 0.2,
1147
+ shadowRadius: 2,
1148
+ elevation: 2
1149
+ },
1150
+ descriptionContainer: {
1151
+ backgroundColor: '#F9FAFB',
1152
+ borderRadius: 8,
1153
+ padding: 8
1154
+ },
1155
+ platformCardDescription: {
1156
+ fontSize: 13,
1157
+ lineHeight: 18,
1158
+ color: _theme.COLORS.grey600,
1159
+ fontFamily: 'Inter'
1160
+ },
1161
+ refreshFrequencySection: {
1162
+ paddingHorizontal: 16,
1163
+ paddingVertical: 20,
1164
+ marginTop: 12,
1165
+ backgroundColor: '#F5F5F7',
1166
+ borderRadius: 16,
1167
+ marginHorizontal: _theme.SPACING.md,
1168
+ marginBottom: 8,
1169
+ borderWidth: 1,
1170
+ borderColor: '#E0E0E4'
1171
+ },
1172
+ refreshFrequencyTitle: {
1173
+ fontSize: 17,
1174
+ fontWeight: '700',
1175
+ color: '#1C1C1E',
1176
+ fontFamily: 'IBM Plex Sans',
1177
+ marginBottom: 4
1178
+ },
1179
+ refreshFrequencyDescription: {
1180
+ fontSize: 14,
1181
+ color: '#8E8E93',
1182
+ fontFamily: 'Inter',
1183
+ fontWeight: '400',
1184
+ marginBottom: 16
1185
+ },
1186
+ refreshSegmentedControl: {
1187
+ flexDirection: 'row',
1188
+ backgroundColor: '#E8E8ED',
1189
+ borderRadius: 12,
1190
+ padding: 3
1191
+ },
1192
+ refreshSegment: {
1193
+ flex: 1,
1194
+ paddingVertical: 10,
1195
+ alignItems: 'center',
1196
+ justifyContent: 'center',
1197
+ borderRadius: 10
1198
+ },
1199
+ refreshSegmentSelected: {
1200
+ backgroundColor: '#1C1C1E',
1201
+ shadowColor: '#000',
1202
+ shadowOffset: {
1203
+ width: 0,
1204
+ height: 2
1205
+ },
1206
+ shadowOpacity: 0.15,
1207
+ shadowRadius: 4,
1208
+ elevation: 3
1209
+ },
1210
+ refreshSegmentText: {
1211
+ fontSize: 15,
1212
+ fontFamily: 'Inter',
1213
+ fontWeight: '500',
1214
+ color: '#8E8E93'
1215
+ },
1216
+ refreshSegmentTextSelected: {
1217
+ fontWeight: '700',
1218
+ color: '#FFFFFF'
1219
+ },
1220
+ refreshFrequencyHint: {
1221
+ fontSize: 13,
1222
+ fontFamily: 'Inter',
1223
+ fontWeight: '400',
1224
+ color: '#8E8E93',
1225
+ textAlign: 'center',
1226
+ marginTop: 12
1227
+ },
1228
+ privacyLinkContainer: {
1229
+ marginTop: 16,
1230
+ paddingTop: 16,
1231
+ borderTopWidth: 1,
1232
+ borderTopColor: '#E5E7EB',
1233
+ alignItems: 'center'
1234
+ },
1235
+ privacyLinkText: {
1236
+ fontSize: 14,
1237
+ color: '#8B5CF6',
1238
+ fontFamily: 'Inter',
1239
+ fontWeight: '500'
1240
+ },
1241
+ bottomButtonContainer: {
1242
+ paddingTop: 8,
1243
+ paddingBottom: 0,
1244
+ paddingHorizontal: _theme.SPACING.md
1245
+ },
1246
+ buttonWrapper: {
1247
+ position: 'relative'
1248
+ },
1249
+ buttonOverlay: {
1250
+ position: 'absolute',
1251
+ top: 0,
1252
+ left: 0,
1253
+ right: 0,
1254
+ bottom: 0,
1255
+ borderRadius: 12,
1256
+ overflow: 'hidden'
1257
+ },
1258
+ holdProgressBar: {
1259
+ position: 'absolute',
1260
+ bottom: 0,
1261
+ left: 0,
1262
+ height: 4,
1263
+ backgroundColor: '#10B981',
1264
+ borderRadius: 2
1265
+ },
1266
+ skipButton: {
1267
+ alignItems: 'center',
1268
+ paddingVertical: 10,
1269
+ marginBottom: 34
1270
+ },
1271
+ skipButtonText: {
1272
+ fontSize: 16,
1273
+ fontFamily: 'Inter',
1274
+ fontWeight: '500',
1275
+ color: _theme.COLORS.grey600
1276
+ },
1277
+ pageIndicatorContainer: {
1278
+ position: 'absolute',
1279
+ alignSelf: 'center',
1280
+ zIndex: 11
1281
+ },
1282
+ scrollBarTrack: {
1283
+ width: 80,
1284
+ height: 4,
1285
+ backgroundColor: _theme.COLORS.grey300,
1286
+ borderRadius: 2,
1287
+ position: 'relative',
1288
+ overflow: 'hidden'
1289
+ },
1290
+ scrollBarThumb: {
1291
+ position: 'absolute',
1292
+ width: 24,
1293
+ height: 4,
1294
+ backgroundColor: _theme.COLORS.grey600,
1295
+ borderRadius: 2,
1296
+ left: 0
1297
+ },
1298
+ scrollIndicator: {
1299
+ position: 'absolute',
1300
+ bottom: 60,
1301
+ right: 30,
1302
+ zIndex: 12
1303
+ },
1304
+ scrollIndicatorText: {
1305
+ fontSize: 32,
1306
+ color: _theme.COLORS.grey500,
1307
+ fontWeight: 'bold'
1308
+ }
1309
+ });
1310
+ var _default = exports.default = PlatformConnectorsStep;
1311
+ //# sourceMappingURL=PlatformConnectorsStep.js.map