@onairos/react-native 3.7.1 → 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 (241) hide show
  1. package/lib/commonjs/api/index.js +219 -9
  2. package/lib/commonjs/assets/icons/spotify.png +0 -0
  3. package/lib/commonjs/assets/images/spotify.png +0 -0
  4. package/lib/commonjs/components/BodyText.js +27 -9
  5. package/lib/commonjs/components/BrandMark.js +111 -10
  6. package/lib/commonjs/components/CodeInput.js +116 -9
  7. package/lib/commonjs/components/EmailInput.js +30 -8
  8. package/lib/commonjs/components/GoogleButton.js +56 -9
  9. package/lib/commonjs/components/HeadingGroup.js +43 -9
  10. package/lib/commonjs/components/LLMDataInputModal.js +664 -14
  11. package/lib/commonjs/components/ModalHeader.js +99 -9
  12. package/lib/commonjs/components/ModalSheet.js +47 -9
  13. package/lib/commonjs/components/Onairos.js +380 -14
  14. package/lib/commonjs/components/OnairosButton.js +313 -13
  15. package/lib/commonjs/components/OnairosSignInButton.js +130 -12
  16. package/lib/commonjs/components/Overlay.js +465 -13
  17. package/lib/commonjs/components/PersonaImage.js +137 -10
  18. package/lib/commonjs/components/PersonaLoadingScreen.js +318 -12
  19. package/lib/commonjs/components/PersonalizationConsentScreen.js +467 -13
  20. package/lib/commonjs/components/PinCreationScreen.js +403 -12
  21. package/lib/commonjs/components/PinInput.js +464 -9
  22. package/lib/commonjs/components/PlatformConnectorsStep.js +1311 -23
  23. package/lib/commonjs/components/PlatformList.js +137 -10
  24. package/lib/commonjs/components/PlatformToggle.js +180 -9
  25. package/lib/commonjs/components/PrimaryButton.js +180 -10
  26. package/lib/commonjs/components/SignInMatchAnimation.js +197 -9
  27. package/lib/commonjs/components/SignInStep.js +345 -12
  28. package/lib/commonjs/components/UniversalOnboarding.js +2780 -30
  29. package/lib/commonjs/components/VerificationStep.js +176 -11
  30. package/lib/commonjs/components/WelcomeScreen.js +461 -22
  31. package/lib/commonjs/components/icons/Basicproficon.js +37 -8
  32. package/lib/commonjs/components/icons/Basicprofile.js +21 -8
  33. package/lib/commonjs/components/icons/Checkbox.js +21 -8
  34. package/lib/commonjs/components/icons/Checkmark.js +27 -8
  35. package/lib/commonjs/components/icons/Contentanalysis.js +21 -8
  36. package/lib/commonjs/components/icons/Contenticon.js +39 -8
  37. package/lib/commonjs/components/icons/EnochE.js +41 -8
  38. package/lib/commonjs/components/icons/Personalityicon.js +30 -8
  39. package/lib/commonjs/components/icons/Personalityprofile.js +21 -8
  40. package/lib/commonjs/components/icons/Personalitytraits.js +21 -8
  41. package/lib/commonjs/components/icons/Userpreferences.js +21 -8
  42. package/lib/commonjs/components/icons/index.js +84 -17
  43. package/lib/commonjs/components/onboarding/OAuthWebView.js +1754 -18
  44. package/lib/commonjs/components/onboarding/OnboardingHeader.js +74 -10
  45. package/lib/commonjs/components/onboarding/PinInput.js +283 -10
  46. package/lib/commonjs/components/onboarding/PlatformConnector.js +249 -11
  47. package/lib/commonjs/config/PLATFORM_APIS.md +849 -0
  48. package/lib/commonjs/config/api.js +56 -7
  49. package/lib/commonjs/constants/index.js +120 -7
  50. package/lib/commonjs/context/AuthContext.js +345 -10
  51. package/lib/commonjs/hooks/useConnectedAccounts.js +111 -9
  52. package/lib/commonjs/hooks/useConnections.js +102 -8
  53. package/lib/commonjs/hooks/useCredentials.js +178 -10
  54. package/lib/commonjs/hooks/useUserConnections.js +148 -10
  55. package/lib/commonjs/index.js +439 -34
  56. package/lib/commonjs/services/apiClient.js +298 -8
  57. package/lib/commonjs/services/biometricPinService.js +180 -8
  58. package/lib/commonjs/services/chatGPTConversationExtractor.js +155 -8
  59. package/lib/commonjs/services/chatGPTConversationService.js +275 -9
  60. package/lib/commonjs/services/claudeConversationExtractor.js +103 -8
  61. package/lib/commonjs/services/claudeConversationService.js +158 -9
  62. package/lib/commonjs/services/connectedAccountsService.js +310 -10
  63. package/lib/commonjs/services/googleAuthService.js +252 -11
  64. package/lib/commonjs/services/hingeDataExtractor.js +105 -8
  65. package/lib/commonjs/services/hingeDataService.js +150 -9
  66. package/lib/commonjs/services/imageCompressionService.js +260 -7
  67. package/lib/commonjs/services/instagramDataExtractor.js +126 -8
  68. package/lib/commonjs/services/instagramDataService.js +163 -9
  69. package/lib/commonjs/services/jwtStorageService.js +276 -7
  70. package/lib/commonjs/services/linkedinDOMExtractor.js +245 -7
  71. package/lib/commonjs/services/linkedinProfileService.js +222 -9
  72. package/lib/commonjs/services/linkedinScrapingService.js +230 -8
  73. package/lib/commonjs/services/llmDataStorage.js +294 -8
  74. package/lib/commonjs/services/mobileTrainingService.js +186 -8
  75. package/lib/commonjs/services/netflixDataExtractor.js +120 -8
  76. package/lib/commonjs/services/netflixDataService.js +198 -9
  77. package/lib/commonjs/services/pinEncryptionService.js +84 -8
  78. package/lib/commonjs/services/pinStorageUtils.js +105 -7
  79. package/lib/commonjs/services/platformAuthService.js +1484 -12
  80. package/lib/commonjs/services/sephoraDataExtractor.js +140 -8
  81. package/lib/commonjs/services/sephoraDataService.js +200 -9
  82. package/lib/commonjs/services/spotifyDataExtractor.js +148 -8
  83. package/lib/commonjs/services/spotifyDataService.js +241 -9
  84. package/lib/commonjs/services/storageService.js +404 -8
  85. package/lib/commonjs/services/telegramDataExtractor.js +115 -8
  86. package/lib/commonjs/services/telegramDataService.js +499 -9
  87. package/lib/commonjs/services/trainingApiHelpers.js +73 -7
  88. package/lib/commonjs/services/userConnectionsService.js +340 -10
  89. package/lib/commonjs/services/youtubeMigrationService.js +416 -10
  90. package/lib/commonjs/theme/index.js +250 -7
  91. package/lib/commonjs/types/ambient.d.js +2 -1
  92. package/lib/commonjs/types/declarations.d.js +2 -1
  93. package/lib/commonjs/types/index.js +6 -1
  94. package/lib/commonjs/types/node-fix.d.js +2 -1
  95. package/lib/commonjs/types/node-override.d.js +2 -1
  96. package/lib/commonjs/types/opacity.d.js +2 -1
  97. package/lib/commonjs/types.js +14 -1
  98. package/lib/commonjs/utils/Portal.js +98 -8
  99. package/lib/commonjs/utils/api.js +130 -9
  100. package/lib/commonjs/utils/assetRegistry.js +210 -35
  101. package/lib/commonjs/utils/auth.js +112 -9
  102. package/lib/commonjs/utils/connectorTests.js +613 -29
  103. package/lib/commonjs/utils/crypto.js +62 -8
  104. package/lib/commonjs/utils/debugHelper.js +64 -1
  105. package/lib/commonjs/utils/encryption.js +76 -7
  106. package/lib/commonjs/utils/eventUtils.js +288 -1
  107. package/lib/commonjs/utils/haptics.js +66 -9
  108. package/lib/commonjs/utils/imagePreloader.js +6 -1
  109. package/lib/commonjs/utils/networkDiagnostics.js +226 -8
  110. package/lib/commonjs/utils/onairosApi.js +350 -9
  111. package/lib/commonjs/utils/programmaticFlow.js +117 -9
  112. package/lib/commonjs/utils/retryHelper.js +220 -1
  113. package/lib/commonjs/utils/secureStorage.js +349 -10
  114. package/lib/commonjs/utils/webviewScripts/chatgpt.js +551 -1
  115. package/lib/commonjs/utils/webviewScripts/claude.js +376 -1
  116. package/lib/commonjs/utils/webviewScripts/hinge.js +411 -1
  117. package/lib/commonjs/utils/webviewScripts/index.js +698 -15
  118. package/lib/commonjs/utils/webviewScripts/instagram.js +454 -1
  119. package/lib/commonjs/utils/webviewScripts/linkedin.js +880 -1
  120. package/lib/commonjs/utils/webviewScripts/netflix.js +382 -1
  121. package/lib/commonjs/utils/webviewScripts/sephora.js +516 -1
  122. package/lib/commonjs/utils/webviewScripts/spotify.js +419 -1
  123. package/lib/commonjs/utils/webviewScripts/telegram.js +678 -1
  124. package/lib/module/api/index.js +211 -1
  125. package/lib/module/assets/icons/spotify.png +0 -0
  126. package/lib/module/assets/images/spotify.png +0 -0
  127. package/lib/module/components/BodyText.js +20 -1
  128. package/lib/module/components/BrandMark.js +104 -1
  129. package/lib/module/components/CodeInput.js +109 -1
  130. package/lib/module/components/EmailInput.js +23 -1
  131. package/lib/module/components/GoogleButton.js +49 -1
  132. package/lib/module/components/HeadingGroup.js +36 -1
  133. package/lib/module/components/LLMDataInputModal.js +656 -7
  134. package/lib/module/components/ModalHeader.js +92 -1
  135. package/lib/module/components/ModalSheet.js +39 -1
  136. package/lib/module/components/Onairos.js +373 -1
  137. package/lib/module/components/OnairosButton.js +305 -1
  138. package/lib/module/components/OnairosSignInButton.js +121 -1
  139. package/lib/module/components/Overlay.js +456 -1
  140. package/lib/module/components/PersonaImage.js +129 -1
  141. package/lib/module/components/PersonaLoadingScreen.js +310 -1
  142. package/lib/module/components/PersonalizationConsentScreen.js +460 -1
  143. package/lib/module/components/PinCreationScreen.js +396 -1
  144. package/lib/module/components/PinInput.js +456 -1
  145. package/lib/module/components/PlatformConnectorsStep.js +1302 -6
  146. package/lib/module/components/PlatformList.js +129 -1
  147. package/lib/module/components/PlatformToggle.js +173 -1
  148. package/lib/module/components/PrimaryButton.js +172 -1
  149. package/lib/module/components/SignInMatchAnimation.js +189 -1
  150. package/lib/module/components/SignInStep.js +338 -1
  151. package/lib/module/components/UniversalOnboarding.js +2770 -1
  152. package/lib/module/components/VerificationStep.js +168 -1
  153. package/lib/module/components/WelcomeScreen.js +453 -1
  154. package/lib/module/components/icons/Basicproficon.js +30 -1
  155. package/lib/module/components/icons/Basicprofile.js +14 -1
  156. package/lib/module/components/icons/Checkbox.js +14 -1
  157. package/lib/module/components/icons/Checkmark.js +20 -1
  158. package/lib/module/components/icons/Contentanalysis.js +14 -1
  159. package/lib/module/components/icons/Contenticon.js +32 -1
  160. package/lib/module/components/icons/EnochE.js +34 -1
  161. package/lib/module/components/icons/Personalityicon.js +23 -1
  162. package/lib/module/components/icons/Personalityprofile.js +14 -1
  163. package/lib/module/components/icons/Personalitytraits.js +14 -1
  164. package/lib/module/components/icons/Userpreferences.js +14 -1
  165. package/lib/module/components/icons/index.js +13 -1
  166. package/lib/module/components/onboarding/OAuthWebView.js +1746 -1
  167. package/lib/module/components/onboarding/OnboardingHeader.js +66 -1
  168. package/lib/module/components/onboarding/PinInput.js +274 -1
  169. package/lib/module/components/onboarding/PlatformConnector.js +240 -1
  170. package/lib/module/config/PLATFORM_APIS.md +849 -0
  171. package/lib/module/config/api.js +47 -1
  172. package/lib/module/constants/index.js +114 -1
  173. package/lib/module/context/AuthContext.js +335 -1
  174. package/lib/module/hooks/useConnectedAccounts.js +106 -1
  175. package/lib/module/hooks/useConnections.js +95 -1
  176. package/lib/module/hooks/useCredentials.js +171 -6
  177. package/lib/module/hooks/useUserConnections.js +140 -1
  178. package/lib/module/index.js +172 -1
  179. package/lib/module/services/apiClient.js +295 -1
  180. package/lib/module/services/biometricPinService.js +169 -1
  181. package/lib/module/services/chatGPTConversationExtractor.js +149 -1
  182. package/lib/module/services/chatGPTConversationService.js +268 -1
  183. package/lib/module/services/claudeConversationExtractor.js +97 -1
  184. package/lib/module/services/claudeConversationService.js +151 -1
  185. package/lib/module/services/connectedAccountsService.js +293 -1
  186. package/lib/module/services/googleAuthService.js +241 -1
  187. package/lib/module/services/hingeDataExtractor.js +99 -1
  188. package/lib/module/services/hingeDataService.js +143 -1
  189. package/lib/module/services/imageCompressionService.js +250 -1
  190. package/lib/module/services/instagramDataExtractor.js +120 -1
  191. package/lib/module/services/instagramDataService.js +156 -1
  192. package/lib/module/services/jwtStorageService.js +257 -1
  193. package/lib/module/services/linkedinDOMExtractor.js +234 -1
  194. package/lib/module/services/linkedinProfileService.js +210 -1
  195. package/lib/module/services/linkedinScrapingService.js +219 -1
  196. package/lib/module/services/llmDataStorage.js +277 -1
  197. package/lib/module/services/mobileTrainingService.js +173 -1
  198. package/lib/module/services/netflixDataExtractor.js +114 -1
  199. package/lib/module/services/netflixDataService.js +191 -1
  200. package/lib/module/services/pinEncryptionService.js +74 -6
  201. package/lib/module/services/pinStorageUtils.js +93 -1
  202. package/lib/module/services/platformAuthService.js +1461 -1
  203. package/lib/module/services/sephoraDataExtractor.js +134 -1
  204. package/lib/module/services/sephoraDataService.js +193 -1
  205. package/lib/module/services/spotifyDataExtractor.js +142 -1
  206. package/lib/module/services/spotifyDataService.js +234 -1
  207. package/lib/module/services/storageService.js +383 -1
  208. package/lib/module/services/telegramDataExtractor.js +109 -1
  209. package/lib/module/services/telegramDataService.js +493 -1
  210. package/lib/module/services/trainingApiHelpers.js +67 -1
  211. package/lib/module/services/userConnectionsService.js +329 -1
  212. package/lib/module/services/youtubeMigrationService.js +405 -1
  213. package/lib/module/theme/index.js +245 -1
  214. package/lib/module/types.js +10 -1
  215. package/lib/module/utils/Portal.js +90 -1
  216. package/lib/module/utils/api.js +118 -1
  217. package/lib/module/utils/assetRegistry.js +200 -34
  218. package/lib/module/utils/auth.js +100 -1
  219. package/lib/module/utils/connectorTests.js +600 -27
  220. package/lib/module/utils/crypto.js +54 -1
  221. package/lib/module/utils/debugHelper.js +54 -1
  222. package/lib/module/utils/encryption.js +67 -1
  223. package/lib/module/utils/eventUtils.js +270 -1
  224. package/lib/module/utils/haptics.js +59 -8
  225. package/lib/module/utils/imagePreloader.js +3 -1
  226. package/lib/module/utils/networkDiagnostics.js +217 -1
  227. package/lib/module/utils/onairosApi.js +333 -1
  228. package/lib/module/utils/programmaticFlow.js +111 -1
  229. package/lib/module/utils/retryHelper.js +211 -1
  230. package/lib/module/utils/secureStorage.js +330 -6
  231. package/lib/module/utils/webviewScripts/chatgpt.js +545 -1
  232. package/lib/module/utils/webviewScripts/claude.js +370 -1
  233. package/lib/module/utils/webviewScripts/hinge.js +405 -1
  234. package/lib/module/utils/webviewScripts/index.js +434 -1
  235. package/lib/module/utils/webviewScripts/instagram.js +448 -1
  236. package/lib/module/utils/webviewScripts/linkedin.js +874 -1
  237. package/lib/module/utils/webviewScripts/netflix.js +376 -1
  238. package/lib/module/utils/webviewScripts/sephora.js +510 -1
  239. package/lib/module/utils/webviewScripts/spotify.js +413 -1
  240. package/lib/module/utils/webviewScripts/telegram.js +672 -1
  241. 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
- function _0x2f94(_0x4508af,_0x2f9423){_0x4508af=_0x4508af-0x0;const _0x1039a9=_0x4508();let _0x12d166=_0x1039a9[_0x4508af];return _0x12d166;}Object[_0x2f94(0x0)](exports,'__esModule',{'value':!![]}),exports[_0x2f94(0x1)]=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(_0x4698b3){return _0x4698b3&&_0x4698b3[_0x2f94(0x2)]?_0x4698b3:{'default':_0x4698b3};}function _0x4508(){const _0x58f36a=['defineProperty','default','__esModule','OHAEz','object','function','nXYqM','VQSvI','zOGgk','HapticType','ERROR','VBjSU','aReGV','NsPHn','KaxOp','QpkDr','wjenE','get','set','BUTTON_PRESS','qkkqR','WkPrq','MODEL_REFRESH_OPTIONS','daily','Daily','Always\x20up-to-date\x20data.','Weekly','Balanced\x20freshness\x20and\x20efficiency.','biweekly','Biweekly','Less\x20frequent,\x20more\x20efficient.','weekly','https://privacy.onairos.io/','zJMzO','tcBMb','gWZEF','ktOfV','pfItW','ckJnI','✅\x20[PLATFORMS]\x20Updated\x20connectedPlatforms\x20state\x20with:','❌\x20[TOGGLE]\x20No\x20username\x20available\x20-\x20cannot\x20proceed\x20with\x20OAuth','VqVAD','platform_account_details','✅\x20[PLATFORMS]\x20Loaded\x20from\x20platform_account_details:','chatgpt','claude','grok','jdMhl','GaIOP','JVHBt','DnROq','@onairos:linkedin_connected','linkedin','youtube','gmail','contain','gaXgc','SXDnI','jfaHR','UqAuQ','❌\x20[STORAGE]\x20Error\x20removing\x20from\x20user_connected_platforms:','SET\x20(','✅\x20[PLATFORMS]\x20Loaded\x20LinkedIn\x20connection','Ktlih','kIGmu','MvvaC','...','xfTfN','PpPeA','hPvpT','VigrT','ylePz','KMHOK','sRHWD','fWohj','fFFuk','@onairos:model_refresh_frequency','❌\x20[REFRESH]\x20Error\x20saving\x20refresh\x20frequency:','iHLpU','uNtkM','❌\x20[STORAGE]\x20Error\x20saving\x20to\x20user_connected_platforms:','success','elpHm','gXBUC','eyHAu','Llbya','nHwwH','✅\x20[PLATFORMS]\x20Loaded\x20from\x20user_connected_platforms:','KPvhb','habxN','RQqQj','NBjbI','IjZua','UVnFy','ZkYSS','pinterest','IUJqL','Highly\x20Recommended','#10B981','#9CA3AF','Initializing...','reddit','LinkedIn','Use\x20your\x20email\x20information\x20to\x20enrich\x20your\x20model.','Use\x20your\x20ChatGPT\x20conversations\x20and\x20memories\x20to\x20enrich\x20your\x20model.','Claude','Gemini','Use\x20your\x20Gemini\x20conversations\x20to\x20enrich\x20your\x20model.','BnFFs','Connect\x20platforms\x20to\x20build\x20your\x20private\x20persona','normal','Model\x20Refresh\x20Frequency','How\x20often\x20should\x20your\x20model\x20be\x20refreshed\x20from\x20platforms?','Skip','useState','Value','current','useRef','Animated','kgTBU','useConnections','useEffect','dBoLs','vFnRB','zFcKZ','length','dsmsZ','jLXcT','PnwXf','gMuRN','xxxwi','SOfFY','hvAyj','Linking','openURL','CVuaJ','has','add','size','kulUH','dcSHJ','bThGY','sIGzZ','bgZPn','gbiLe','cABhs','gpEPH','mMkUx','hPIHM','BiImX','zWhHJ','UpwJn','tYtJi','CTGLz','mBdkY','JeHdk','ZIOWj','KrSNe','nIinx','vdkQW','vIxzT','qUklq','log','FQHCQ','getItem','user_connected_platforms','parse','isArray','push','forEach','Mkclz','CEoss','platform','toLowerCase','includes','wrpZT','raOwl','xtaoe','from','EXBBP','cVLdi','map','xpaVZ','tSjkB','kQwSE','LlDco','ccCts','bZmvO','error','@onairos:llm_connected:','HdrCf','oULFP','byWYt','width','contentSize','MQWRX','hdtyY','rAyfr','gabdN','connected','jJaiS','ZHTig','zPDWP','cMGOD','ABPQJ','eVltL','SUCCESS','✅\x20[PERSONA]\x20Applied\x20pending\x20connection:\x20','MIGUO','XkYub','BPPKt','FKkdo','SAXbd','DCJin','GhqpI','NykwU','\x20-\x20no\x20URL\x20returned','triggerHaptic','❌\x20[PLATFORMS]\x20Error\x20loading\x20connected\x20platforms\x20from\x20storage:','weFlg','CaKbU','oXZul','iJDan','QzKzH','wBGKs','EkNaV','Orvjp','XeAAF','TrURg','rchrA','yXAjQ','OVnQS','fbVRt','Error\x20initializing\x20username:','bmUGL','kMlyG','RsbcS','VleAh','fIuvC','VQrTK','UvEbD','createElement','TouchableOpacity','platformIconButton','platformIconButtonSelected','Image','icon','platformIcon','aiamK','youtubeIcon','BDZjs','qekle','gmailIcon','IMRik','chatgptIcon','etFHQ','claudeIcon','grokIcon','iBGdm','View','connectingDot','connectedDot','NgGTW','zcVVd','email','ojPmr','split','yJVoK','rAeez','name','user_','floor','random','onairos_username','GoHHw','mobile_user_','abeBd','setItem','dykTJ','prvcm','jAKAm','XFWxV','jglLM','ktlug','loop','timing','start','useCallback','nativeEvent','contentOffset','layoutMeasurement','VUPqq','sxPeY','erMXQ','Use\x20your\x20watch\x20history,\x20likes,\x20and\x20subscriptions\x20to\x20enrich\x20your\x20model.','Xusou','Reddit','getPlatformIcon','pTMBm','Pinterest','Use\x20your\x20pins,\x20boards,\x20and\x20interests\x20to\x20enrich\x20your\x20model.','COjwg','mUjmK','dwxvW','JgEUJ','WXjIO','MuYue','nzgyd','JQNTz','Dyplt','HolhX','QdwnP','Dcbrj','mHIqx','xYYZH','vpaWg','YiFgA','sbBJL','\x20=\x20','frnQW','👤\x20[TOGGLE]\x20Username\x20check\x20-\x20stored:\x20\x22','\x22,\x20valid:\x20\x22','trim','HrlNT','SxkId','wooiF','Tuunx','find','isChatPlatform','isLLMPlatform','🤖\x20[LLM]\x20Opening\x20WebView\x20for\x20','connecting','getLLMPlatformUrl','🌐\x20[LLM]\x20Opening\x20','\x20URL:','HqGuy','NNTuc','❌\x20[LLM]\x20No\x20URL\x20configured\x20for\x20platform:\x20','isLinkedInPlatform','hasNativeSDK','bRPZJ','KPRpF','mKCLf','📊\x20[STATE]\x20WebView\x20state\x20changed\x20-\x20showOAuthWebView:\x20',',\x20oauthUrl:\x20','VfFEq','substring','...)','TNkhK','HZlpx','initiateNativeAuth','BBllX','SyTiY','ZDNrt','zPzhX','ujyXL','mCAOi','omRxm','ubjjv','MUzZs','initiateOAuth','🔗\x20[TOGGLE]\x20OAuth\x20URL\x20result\x20for\x20','cmPzu','tyZAc','gftkh','jeKZo','✅\x20[TOGGLE]\x20Setting\x20WebView\x20state\x20-\x20showing\x20modal\x20for\x20','rmSaZ','MNVhO','❌\x20[TOGGLE]\x20OAuth\x20failed\x20for\x20','nSOPn','IUpKc','WcKos','pmAks','delete','disconnected','MfLJy','LxZCP','zJnhB','txMOy','NSrJz','filter','stringify','\x20from\x20user_connected_platforms:','dPLfY','xspKa','bHrKc','removeItem','Error\x20toggling\x20platform\x20','UtXSN','kmNke','WTjBY','WnQuc','oqUWP','lVivd','xORFC','HHfih','AeYoL','guWum','kvHCx','ZxDds','fnkfz','ztorZ','XjmnP','thDcm','lixIH','KCrHO','hFveI','XRItB','GiGZj','hasOwnProperty','call','✅\x20[REFRESH]\x20Model\x20refresh\x20frequency\x20set\x20to:\x20','kDhFW','bzKGW','\x20with\x20URL:\x20','OAuthWebView','BlEna','CRYua','fzcUd','fpfrb','yqTcZ','mcIgM','MbMiI','setTemporaryPin','cvNxZ','gxxYs','acFuo','nILVV','TezJC','kNMBE','JcQKO','zjfQO','yTyjn','hNOKi','nlbBU','XuUQV','sWooF','DhtFO','MlnzN','YupgG','✅\x20[STORAGE]\x20Added\x20','\x20to\x20user_connected_platforms:','tCMKr','KtlVT','✅\x20[LLM]\x20','uypLi','DLUlt','toISOString','qPwQG','IIkLV','wqnWg','AuDbP','PwxPb','oJuEx','CSnwh','Aabuh','getOwnPropertyDescriptor','XYdQf','ISeLI','sHtLF','mawzh','aDDUv','yvdTj','dmblM','YTxzE','gmRuB','XCcxg','khHVv','BOgkf','dnzuE','RsTsC','BJxQu','NsMmZ','BpvkC','✅\x20[PLATFORMS]\x20Loaded\x20LLM\x20platform:\x20','kdCFp','ANzrx','tNVkE','ouEqy','QYXMF','WiTzw','SMLlI','Vibration','vibrate','xsaXW','BMYBK','aVCGO','xEBNv','sequence','EtpdN','Uftet','YgyEe','setValue','wICzb','min','max','iClsH','✅\x20[WEBVIEW]\x20Rendering\x20OAuthWebView\x20for\x20','xhfyg','KvbNg','mPHxW','maHpp','KLpzK','NxCJm','container','backButton','headingContainer','Text','Build\x20your\x20persona','subtitle','YehvV','largePersona','ScrollView','platformIconsScrollContent','ZnjWc','hDOFj','VpuYZ','JcFwz','kYHCH','lEyed','nhQJZ','dXjSz','pinterestIcon','huXgt','nqsey','UFVoi','scrollBarTrack','scrollBarThumb','rPasl','DdmZN','scrollIndicator','interpolate','scrollIndicatorText','mwyOs','XxDvs','sfpZS','recommendedBadge','recommendedBadgeText','GhZCk','customToggleTrack','fdIUV','Mqmlz','customToggleThumb','descriptionContainer','platformCardDescription','description','refreshFrequencySection','refreshFrequencyTitle','yGTeW','refreshFrequencyDescription','refreshSegmentedControl','value','refreshSegment','refreshSegmentSelected','refreshSegmentText','label','refreshFrequencyHint','bottomButtonContainer','buttonWrapper','guniL','SFcMp','pUxmV','skipButton','CFDAy','create','COLORS','surface','#F0F0F3','center','600','100%','700','left','400','grey600','relative','absolute','row','#FFFFFF','transparent','#3B82F6','SPACING','#000','space-between','grey800','#EFF6FF','#2563EB','IBM\x20Plex\x20Sans','#F9FAFB','Inter','#F5F5F7','#1C1C1E','#8E8E93','500','#E5E7EB','#8B5CF6','hidden','grey300','grey500','bold'];_0x4508=function(){return _0x58f36a;};return _0x4508();}function _interopRequireWildcard(_0x2514b8,_0x4de546){const _0x49559d={'lFvSd':_0x2f94(0x3),'VBjSU':function(_0x4ae99a,_0x29d8b8){return _0x4ae99a&&_0x29d8b8;},'aReGV':function(_0x4f6a24,_0x17f6f3){return _0x4f6a24===_0x17f6f3;},'ipXCY':_0x2f94(0x4),'NsPHn':_0x2f94(0x5),'KaxOp':function(_0x3db20e,_0x490ecd){return _0x3db20e!==_0x490ecd;},'QpkDr':'yUuOX','wjenE':_0x2f94(0x6),'qkkqR':function(_0x3d568b,_0x47d27b){return _0x3d568b!==_0x47d27b;},'WkPrq':_0x2f94(0x1),'eTrSp':function(_0xf69f84,_0x468ca7,_0x11d910,_0x1c6092){return _0xf69f84(_0x468ca7,_0x11d910,_0x1c6092);},'VQSvI':function(_0x48356a,_0x36fd18){return _0x48356a==_0x36fd18;}};if(_0x49559d[_0x2f94(0x7)](_0x49559d['NsPHn'],typeof WeakMap))var _0x16b082=new WeakMap(),_0x500bfe=new WeakMap();return(_interopRequireWildcard=function(_0x37e873,_0x2f1e69){const _0x2808b8={'zOGgk':function(_0x295088,_0x550d14){return _0x295088(_0x550d14);}};if('dXpuZ'===_0x49559d['lFvSd'])_0x2808b8[_0x2f94(0x8)](_0xa9ce94,_0x3aa190=>({..._0x3aa190,[_0xfa7f1d]:'error'})),(0x0,_0x2b7a51['triggerHaptic'])(_0x42fb3d[_0x2f94(0x9)][_0x2f94(0xa)]);else{if(_0x49559d[_0x2f94(0xb)](!_0x2f1e69,_0x37e873)&&_0x37e873[_0x2f94(0x2)])return _0x37e873;var _0x497a18,_0x2774ba,_0x46d6bc={'__proto__':null,'default':_0x37e873};if(_0x49559d[_0x2f94(0xc)](null,_0x37e873)||_0x49559d['ipXCY']!=typeof _0x37e873&&_0x49559d[_0x2f94(0xd)]!=typeof _0x37e873)return _0x46d6bc;if(_0x497a18=_0x2f1e69?_0x500bfe:_0x16b082){if(_0x49559d[_0x2f94(0xe)](_0x49559d[_0x2f94(0xf)],_0x49559d[_0x2f94(0x10)])){if(_0x497a18['has'](_0x37e873))return _0x497a18[_0x2f94(0x11)](_0x37e873);_0x497a18[_0x2f94(0x12)](_0x37e873,_0x46d6bc);}else(0x0,_0x5b2db8['triggerHaptic'])(_0x2f2718[_0x2f94(0x9)][_0x2f94(0x13)]),_0x5e5ab9(![]);}for(const _0x2df433 in _0x37e873)_0x49559d[_0x2f94(0x14)](_0x49559d[_0x2f94(0x15)],_0x2df433)&&{}['hasOwnProperty']['call'](_0x37e873,_0x2df433)&&((_0x2774ba=(_0x497a18=Object[_0x2f94(0x0)])&&Object['getOwnPropertyDescriptor'](_0x37e873,_0x2df433))&&(_0x2774ba[_0x2f94(0x11)]||_0x2774ba[_0x2f94(0x12)])?_0x49559d['eTrSp'](_0x497a18,_0x46d6bc,_0x2df433,_0x2774ba):_0x46d6bc[_0x2df433]=_0x37e873[_0x2df433]);return _0x46d6bc;}})(_0x2514b8,_0x4de546);}const MODEL_REFRESH_OPTIONS=exports[_0x2f94(0x16)]=[{'value':_0x2f94(0x17),'label':_0x2f94(0x18),'description':_0x2f94(0x19)},{'value':'weekly','label':_0x2f94(0x1a),'description':_0x2f94(0x1b)},{'value':_0x2f94(0x1c),'label':_0x2f94(0x1d),'description':_0x2f94(0x1e)}],PlatformConnectorsStep=({onUpdate:_0x25b0bc,onSkip:_0x3ec1bc,loading:loading=![],onPinComplete:_0x3c378d,onReviewerBypass:_0x24295f,onLogout:_0x454761,allowedPlatforms:_0x385500,recommendedPlatforms:_0x2a08cf,initialConnectedPlatforms:_0x36337e,onRefreshFrequencyChange:_0x58fb3c,initialRefreshFrequency:initialRefreshFrequency=_0x2f94(0x1f)})=>{const _0x299edd={'jLXcT':function(_0x4cc577,_0x3859af){return _0x4cc577(_0x3859af);},'fpfrb':_0x2f94(0x20),'dBoLs':_0x2f94(0x21),'vFnRB':_0x2f94(0x22),'zFcKZ':function(_0x21e5fb){return _0x21e5fb();},'dcSHJ':function(_0x13af6c,_0x59e6a5){return _0x13af6c!==_0x59e6a5;},'MfCJc':_0x2f94(0x23),'dsmsZ':_0x2f94(0x24),'sbBJL':function(_0x4beb78,_0x5e42bf){return _0x4beb78(_0x5e42bf);},'kulUH':_0x2f94(0x25),'weFlg':function(_0x430234,_0x5f1b88){return _0x430234===_0x5f1b88;},'bgZPn':function(_0xcc5ebc,_0x63c5b2){return _0xcc5ebc-_0x63c5b2;},'gbiLe':function(_0x5e75f2,_0x2e8bd3){return _0x5e75f2>_0x2e8bd3;},'cABhs':function(_0x2a5ae4,_0x1e5acd,_0x2b08fe){return _0x2a5ae4(_0x1e5acd,_0x2b08fe);},'gpEPH':_0x2f94(0x26),'kBtDg':'UaBwW','mMkUx':_0x2f94(0x27),'wooiF':_0x2f94(0x28),'hPIHM':_0x2f94(0x29),'BiImX':_0x2f94(0x2a),'huyqK':_0x2f94(0x2b),'JgEUJ':_0x2f94(0x2c),'iJDan':_0x2f94(0x2d),'zWhHJ':'gemini','UpwJn':_0x2f94(0x2e),'tYtJi':_0x2f94(0x2f),'CTGLz':_0x2f94(0x30),'yatBF':'HdrCf','mBdkY':_0x2f94(0x31),'JeHdk':_0x2f94(0x32),'ZIOWj':_0x2f94(0x33),'YiFgA':_0x2f94(0x34),'nIinx':'KnWJu','QYXMF':function(_0x4620ca){return _0x4620ca();},'CaKbU':'connecting','oXZul':_0x2f94(0x35),'COjwg':_0x2f94(0x36),'rchrA':function(_0x31e135,_0x35a67f){return _0x31e135===_0x35a67f;},'QzKzH':_0x2f94(0x37),'wBGKs':'❌\x20[PLATFORMS]\x20Error\x20loading\x20connected\x20platforms\x20from\x20storage:','EkNaV':_0x2f94(0x38),'Orvjp':'onairos_username','XeAAF':function(_0x322154,_0x3817b4){return _0x322154===_0x3817b4;},'TrURg':'EEmOn','yXAjQ':_0x2f94(0x39),'OVnQS':'tTIHP','fbVRt':'bEllu','XFWxV':function(_0x19e0da){return _0x19e0da();},'jglLM':function(_0x2fe6bd,_0x3368ee){return _0x2fe6bd===_0x3368ee;},'ktlug':_0x2f94(0x3a),'DdmZN':function(_0x4881ab,_0x570299){return _0x4881ab>_0x570299;},'PYILW':function(_0x2f09ab,_0x5d656d){return _0x2f09ab/_0x5d656d;},'cuSqX':function(_0x192cbb,_0x2d48b6){return _0x192cbb(_0x2d48b6);},'VUPqq':function(_0x271f7c,_0x544d89){return _0x271f7c>_0x544d89;},'sxPeY':function(_0x3fdd5a,_0x59d48e){return _0x3fdd5a(_0x59d48e);},'Dyplt':function(_0x4ab36c,_0x295f75){return _0x4ab36c>_0x295f75;},'HolhX':_0x2f94(0x3b),'QdwnP':function(_0x2c0cfa,_0x3dda64){return _0x2c0cfa(_0x3dda64);},'ujyXL':_0x2f94(0x3c),'Dcbrj':function(_0x2004e5,_0x3cc523){return _0x2004e5(_0x3cc523);},'Sabet':function(_0x122fd3,_0x1c5ab9){return _0x122fd3(_0x1c5ab9);},'mHIqx':function(_0x34ff1a,_0x45d821){return _0x34ff1a||_0x45d821;},'xYYZH':_0x2f94(0x3d),'vpaWg':'NULL','fYStI':_0x2f94(0x3e),'frnQW':_0x2f94(0x3f),'bTTyj':_0x2f94(0x40),'nqsey':function(_0x172b62,_0x56089e){return _0x172b62===_0x56089e;},'HrlNT':function(_0x3312fb,_0x5463d8){return _0x3312fb===_0x5463d8;},'yTyjn':function(_0x4675fe,_0x53a3e8){return _0x4675fe===_0x53a3e8;},'HqGuy':function(_0x85b240,_0x2355ff){return _0x85b240(_0x2355ff);},'mCAOi':function(_0x236861,_0x28ff31){return _0x236861!==_0x28ff31;},'JdiOB':function(_0x2508a2,_0x5da5ca){return _0x2508a2===_0x5da5ca;},'KPRpF':'CWiQc','SyTiY':function(_0x233702,_0x174e76){return _0x233702(_0x174e76);},'HZlpx':function(_0x474280,_0x1a14ec){return _0x474280(_0x1a14ec);},'BBllX':function(_0x4d323b,_0x2b244d){return _0x4d323b(_0x2b244d);},'ZDNrt':function(_0x1d4e38,_0x1533ba){return _0x1d4e38===_0x1533ba;},'zPzhX':_0x2f94(0x41),'MUzZs':function(_0x263f79,_0x5de516){return _0x263f79(_0x5de516);},'cmPzu':function(_0x4148c9,_0x174da8){return _0x4148c9+_0x174da8;},'tyZAc':_0x2f94(0x42),'gftkh':function(_0x14fd35,_0x3011a1){return _0x14fd35===_0x3011a1;},'jeKZo':_0x2f94(0x43),'rmSaZ':function(_0x10da9d,_0x22e534){return _0x10da9d(_0x22e534);},'nSOPn':function(_0x4d4076,_0x1d8e43){return _0x4d4076(_0x1d8e43);},'VpuYZ':function(_0x67ffc6,_0x3d4c3f){return _0x67ffc6===_0x3d4c3f;},'MfLJy':_0x2f94(0x44),'LxZCP':_0x2f94(0x45),'zJnhB':'user_connected_platforms','txMOy':function(_0x53b9fd,_0x1bb213){return _0x53b9fd===_0x1bb213;},'NSrJz':'GfKBT','mniqu':function(_0x2dbadd,_0x5d6f7e){return _0x2dbadd===_0x5d6f7e;},'dPLfY':function(_0x3ea805,_0x586fa8){return _0x3ea805!==_0x586fa8;},'xspKa':_0x2f94(0x46),'bHrKc':_0x2f94(0x47),'WnQuc':function(_0x87c55f,_0x5d8587){return _0x87c55f(_0x5d8587);},'UtXSN':function(_0x478e36,_0x28d09d){return _0x478e36===_0x28d09d;},'kmNke':_0x2f94(0x48),'lVivd':function(_0x15e6f5,_0x26c04f){return _0x15e6f5(_0x26c04f);},'oqUWP':function(_0x815fa3){return _0x815fa3();},'xORFC':_0x2f94(0x49),'HHfih':_0x2f94(0x4a),'AeYoL':function(_0x5ef8ab,_0xdcc1a7){return _0x5ef8ab(_0xdcc1a7);},'guWum':function(_0x4597c1,_0x58c0bf){return _0x4597c1&&_0x58c0bf;},'kvHCx':'object','ZxDds':function(_0x48c924,_0x3d9345){return _0x48c924!=_0x3d9345;},'fnkfz':'function','ztorZ':_0x2f94(0x1),'XjmnP':function(_0x27cff0,_0x256d0){return _0x27cff0===_0x256d0;},'lixIH':_0x2f94(0x4b),'ntKbN':_0x2f94(0x4c),'xpgvs':_0x2f94(0x4d),'BlEna':function(_0x5e5231,_0x45a299){return _0x5e5231===_0x45a299;},'CRYua':_0x2f94(0x4e),'fzcUd':function(_0x20e8b5,_0x55e728){return _0x20e8b5(_0x55e728);},'pVtLF':function(_0x272e07,_0x13a63b){return _0x272e07(_0x13a63b);},'acFuo':function(_0x2d9959,_0x13394a,_0x5202e9){return _0x2d9959(_0x13394a,_0x5202e9);},'yqTcZ':function(_0x505b31,_0x57a31d){return _0x505b31===_0x57a31d;},'mcIgM':_0x2f94(0x4f),'MbMiI':function(_0x3bacfe,_0x3e9031){return _0x3bacfe(_0x3e9031);},'cvNxZ':function(_0x44ba00,_0x440b01){return _0x44ba00(_0x440b01);},'gxxYs':function(_0x2737c5,_0x23c1a3){return _0x2737c5(_0x23c1a3);},'TezJC':function(_0x56d4a9,_0x29fa26){return _0x56d4a9(_0x29fa26);},'MlnzN':function(_0x3b78cd,_0x3c628b){return _0x3b78cd(_0x3c628b);},'kNMBE':_0x2f94(0x50),'JcQKO':function(_0x32c173,_0x3dd61b,_0x414426,_0x31a88a){return _0x32c173(_0x3dd61b,_0x414426,_0x31a88a);},'zjfQO':function(_0x461e4b,_0x378707){return _0x461e4b==_0x378707;},'hNOKi':_0x2f94(0x51),'nlbBU':function(_0x3634e3,_0x3b8b39){return _0x3634e3!==_0x3b8b39;},'XuUQV':function(_0x3b2460,_0x3b6704){return _0x3b2460(_0x3b6704);},'sWooF':function(_0x2de625,_0xf7e79a){return _0x2de625(_0xf7e79a);},'DhtFO':_0x2f94(0x52),'YupgG':_0x2f94(0x53),'crRAG':function(_0x43cedb,_0x451524){return _0x43cedb===_0x451524;},'tCMKr':_0x2f94(0x54),'PiMxs':'fZwAh','DLUlt':_0x2f94(0x55),'XYdQf':function(_0x13bdcf,_0x3794da){return _0x13bdcf(_0x3794da);},'ISeLI':function(_0x572b0a,_0x81b89e){return _0x572b0a(_0x81b89e);},'sHtLF':function(_0x12e7ce,_0x347224){return _0x12e7ce(_0x347224);},'khHVv':function(_0x343ef4,_0x4de3b9){return _0x343ef4(_0x4de3b9);},'mawzh':'GZkPv','aDDUv':function(_0x2ca5bb,_0x2ba568){return _0x2ca5bb===_0x2ba568;},'yvdTj':_0x2f94(0x56),'BOgkf':_0x2f94(0x57),'dnzuE':'bgbKY','BJxQu':function(_0x1bcb93,_0x29a6ba){return _0x1bcb93(_0x29a6ba);},'ZRUda':function(_0x255623,_0x50e9be){return _0x255623===_0x50e9be;},'NsMmZ':_0x2f94(0x58),'BpvkC':'kkyQh','kdCFp':function(_0x1b23a8,_0x1c1820){return _0x1b23a8(_0x1c1820);},'ANzrx':function(_0x1d2273,_0x24f863){return _0x1d2273!==_0x24f863;},'tNVkE':_0x2f94(0x59),'WiTzw':function(_0x4fd220){return _0x4fd220();},'SMLlI':function(_0x52c2d3,_0x4d4fda,_0x3656f9){return _0x52c2d3(_0x4d4fda,_0x3656f9);},'BMYBK':function(_0x51b673,_0x472f4c){return _0x51b673===_0x472f4c;},'xEBNv':_0x2f94(0x5a),'oDKRD':function(_0x38a822,_0x4979d0){return _0x38a822!==_0x4979d0;},'EtpdN':_0x2f94(0x5b),'vzNwX':_0x2f94(0x5c),'Uftet':function(_0x3bc6d1,_0x884eeb){return _0x3bc6d1(_0x884eeb);},'wICzb':'...)','xhfyg':_0x2f94(0x5d),'mPHxW':function(_0x1bd868,_0x45b34c){return _0x1bd868(_0x45b34c);},'NxCJm':function(_0x29de34,_0x57b839){return _0x29de34(_0x57b839);},'JcFwz':_0x2f94(0x5e),'pTMBm':_0x2f94(0x5f),'huXgt':function(_0x37a64f,_0x2f0cf1){return _0x37a64f===_0x2f0cf1;},'UFVoi':function(_0x1b2fe6,_0x5c1eda){return _0x1b2fe6===_0x5c1eda;},'mwyOs':'BbFsM','XxDvs':_0x2f94(0x60),'sfpZS':function(_0x588911,_0x3fe8c3){return _0x588911===_0x3fe8c3;},'GhZCk':_0x2f94(0x61),'fdIUV':_0x2f94(0x62),'Mqmlz':_0x2f94(0x63),'pUxmV':function(_0x45de68,_0x2b7188){return _0x45de68>_0x2b7188;},'kgTBU':_0x2f94(0x64),'erMXQ':'YouTube','Xusou':_0x2f94(0x65),'oaCHU':'Use\x20your\x20posts\x20and\x20comments\x20to\x20enrich\x20your\x20model.','mTvmb':_0x2f94(0x66),'tWZSY':'Use\x20your\x20professional\x20network\x20and\x20career\x20interests\x20to\x20enrich\x20your\x20model.','mUjmK':'Gmail','dwxvW':_0x2f94(0x67),'ZsKLM':'ChatGPT','WXjIO':_0x2f94(0x68),'MuYue':_0x2f94(0x69),'nzgyd':_0x2f94(0x6a),'NYuEd':_0x2f94(0x6b),'JQNTz':'Use\x20your\x20Grok\x20conversations\x20from\x20X\x20to\x20enrich\x20your\x20model.','iClsH':function(_0x141352,_0x222b6b){return _0x141352+_0x222b6b;},'maHpp':function(_0x28716d,_0x555ade){return _0x28716d===_0x555ade;},'KLpzK':_0x2f94(0x6c),'YehvV':_0x2f94(0x6d),'ZnjWc':function(_0xbb940d,_0x3c31b6){return _0xbb940d<=_0x3c31b6;},'hDOFj':_0x2f94(0x6e),'rPasl':function(_0xdd5d80,_0x1f344c){return _0xdd5d80*_0x1f344c;},'yGTeW':_0x2f94(0x6f),'bVUIL':_0x2f94(0x70),'vmZHS':function(_0x239750,_0x35d25b){return _0x239750===_0x35d25b;},'guniL':'Continue','CPrKT':'100%','CFDAy':_0x2f94(0x71)};var _0x3d5365;const [_0x40ab36,_0x2c6008]=(0x0,_react[_0x2f94(0x72)])(()=>new Set(_0x36337e||[])),[_0x40ff47,_0x226d3d]=(0x0,_react[_0x2f94(0x72)])(![]),[_0x5b1f2d,_0x3595ac]=(0x0,_react[_0x2f94(0x72)])(![]),[_0x3cd3e9,_0x4e174c]=(0x0,_react[_0x2f94(0x72)])(![]),[_0x187716,_0x43686c]=(0x0,_react['useState'])(''),[_0x50ba36,_0x46138d]=(0x0,_react['useState'])({}),[_0x2bfc2f,_0xb190ce]=(0x0,_react[_0x2f94(0x72)])(![]),[_0x85632d,_0x2dc5c5]=(0x0,_react['useState'])(''),[_0x5b7a65,_0x33f041]=(0x0,_react[_0x2f94(0x72)])(''),[_0xede2a9,_0x5ac502]=(0x0,_react[_0x2f94(0x72)])(null),[_0x1ed158,_0x3a1217]=(0x0,_react['useState'])(0x0),_0x9c33d5=(0x0,_react['useRef'])(new _reactNative['Animated'][(_0x2f94(0x73))](0x0))[_0x2f94(0x74)],[_0x20db75,_0xae6416]=(0x0,_react['useState'])(''),_0xc3216=(0x0,_react[_0x2f94(0x75)])(null),[_0x1fb779,_0x228383]=(0x0,_react[_0x2f94(0x72)])(!![]),_0x3bea1f=(0x0,_react[_0x2f94(0x75)])(new _reactNative[(_0x2f94(0x76))][(_0x2f94(0x73))](0x0))[_0x2f94(0x74)],[_0x2e6f12,_0x342ed8]=(0x0,_react[_0x2f94(0x72)])(0x0),_0x20cae8=(0x0,_react[_0x2f94(0x75)])(0x0),[_0x1e32b1,_0xa43608]=(0x0,_react['useState'])(''),[_0x4343a1,_0x8b64f8]=(0x0,_react[_0x2f94(0x72)])(0x0),[_0x4156f0,_0x2b6eb3]=(0x0,_react[_0x2f94(0x72)])(_0x299edd[_0x2f94(0x77)]),[_0xd564ed,_0x400f52]=(0x0,_react[_0x2f94(0x72)])(![]),[_0x2a547d,_0x515460]=(0x0,_react[_0x2f94(0x72)])(![]),[_0x4104cc,_0x216301]=(0x0,_react[_0x2f94(0x72)])(null),[_0x3d0c4b,_0x2bf5f7]=(0x0,_react[_0x2f94(0x72)])(null),_0x5bac61=(0x0,_react['useRef'])(null),[_0x506f8a,_0x304e43]=(0x0,_react[_0x2f94(0x72)])(![]),[_0x108e5e,_0x30bea1]=(0x0,_react[_0x2f94(0x72)])(''),[_0xbd8f6,_0x3e640b]=(0x0,_react[_0x2f94(0x72)])(null),[_0x5ded34,_0x41645e]=(0x0,_react[_0x2f94(0x72)])(![]),[_0x33f8aa,_0x1ab4ec]=(0x0,_react['useState'])(![]),[_0x2f08b5,_0x367393]=(0x0,_react[_0x2f94(0x72)])(null),[_0x4c1b20,_0x2080b1]=(0x0,_react['useState'])(initialRefreshFrequency),{connectPlatform:_0x57021d,disconnectPlatform:_0x393841,isConnecting:_0x19a08c}=(0x0,_useConnections[_0x2f94(0x78)])(),_0x57f9d4=null;(0x0,_react[_0x2f94(0x79)])(()=>{const _0x35ed35={'PnwXf':function(_0x535d32,_0x553345){return _0x299edd['jLXcT'](_0x535d32,_0x553345);},'gMuRN':_0x299edd['fpfrb'],'xxxwi':function(_0x5e9829,_0x5ebeeb){return _0x5e9829===_0x5ebeeb;},'TOAax':_0x299edd[_0x2f94(0x7a)],'SOfFY':_0x299edd[_0x2f94(0x7b)],'pUhyb':function(_0x26bdbc){return _0x299edd[_0x2f94(0x7c)](_0x26bdbc);}};_0x36337e&&_0x36337e[_0x2f94(0x7d)]>0x0&&(_0x299edd['dcSHJ'](_0x299edd['MfCJc'],_0x299edd[_0x2f94(0x7e)])?_0x299edd[_0x2f94(0x7f)](_0x2c6008,_0x4148e5=>{const _0x1b5322={'hvAyj':function(_0x30e777,_0x5783f9){return _0x35ed35[_0x2f94(0x80)](_0x30e777,_0x5783f9);},'CVuaJ':_0x35ed35[_0x2f94(0x81)]};if(_0x35ed35[_0x2f94(0x82)](_0x35ed35['TOAax'],_0x35ed35[_0x2f94(0x83)])){const Linking=_0x1b5322[_0x2f94(0x84)](_0x30f16c,0x10)[_0x2f94(0x85)];Linking[_0x2f94(0x86)](_0x1b5322[_0x2f94(0x87)]);}else{const _0x2f9f33=new Set(_0x4148e5);let _0x3f6c78=![];return _0x36337e['forEach'](_0x9a418a=>{!_0x2f9f33[_0x2f94(0x88)](_0x9a418a)&&(_0x2f9f33[_0x2f94(0x89)](_0x9a418a),_0x3f6c78=!![]);}),_0x3f6c78?_0x2f9f33:_0x4148e5;}}):_0x5aa68e[_0x2f94(0x8a)]>0x0&&!_0x44da8a&&!_0x484802&&!_0x2e88b3&&_0x35ed35['pUhyb'](_0x30756a));},[_0x36337e]),(0x0,_react[_0x2f94(0x79)])(()=>{const _0x81714a={'vdkQW':function(_0x3b821c,_0xa7e47a){return _0x299edd['sbBJL'](_0x3b821c,_0xa7e47a);},'Mkclz':_0x299edd[_0x2f94(0x8b)],'CEoss':function(_0x3d6d89,_0x22cc10){return _0x299edd['weFlg'](_0x3d6d89,_0x22cc10);},'wrpZT':function(_0x4f5d9b,_0x1c507b){return _0x299edd[_0x2f94(0x8c)](_0x4f5d9b,_0x1c507b);},'raOwl':_0x2f94(0x8d),'xtaoe':_0x2f94(0x8e),'MQWRX':function(_0x5dae98,_0x2f1318){return _0x299edd[_0x2f94(0x8f)](_0x5dae98,_0x2f1318);},'hdtyY':function(_0x3037af,_0x5310b8){return _0x3037af>_0x5310b8;},'eSDiS':function(_0x55c429,_0x41e16a){return _0x55c429/_0x41e16a;},'rAyfr':function(_0x553a57,_0x1699e3){return _0x299edd[_0x2f94(0x90)](_0x553a57,_0x1699e3);},'sQqJR':function(_0x4b37d1,_0x43cc8d,_0x53e870){return _0x299edd[_0x2f94(0x91)](_0x4b37d1,_0x43cc8d,_0x53e870);},'LlDco':function(_0x5c7af1,_0x5a50d3){return _0x5c7af1===_0x5a50d3;},'XkYub':_0x299edd[_0x2f94(0x92)],'GhqpI':_0x299edd['kBtDg'],'NykwU':_0x299edd[_0x2f94(0x93)],'ARZoT':_0x299edd['wooiF'],'jKUoV':function(_0x45bbe8,_0x1935b2){return _0x299edd[_0x2f94(0x8c)](_0x45bbe8,_0x1935b2);},'vIxzT':_0x299edd[_0x2f94(0x94)],'FQHCQ':'🔄\x20[PLATFORMS]\x20Loading\x20connected\x20platforms\x20from\x20storage...','XwVns':_0x299edd[_0x2f94(0x95)],'cVLdi':_0x299edd['huyqK'],'xpaVZ':_0x299edd['JgEUJ'],'tSjkB':_0x299edd['iJDan'],'kQwSE':_0x299edd[_0x2f94(0x96)],'dscRH':_0x299edd[_0x2f94(0x97)],'ccCts':_0x299edd[_0x2f94(0x98)],'bZmvO':_0x299edd[_0x2f94(0x99)],'oULFP':_0x299edd['yatBF'],'Ipcfp':_0x299edd[_0x2f94(0x9a)],'byWYt':_0x299edd[_0x2f94(0x9b)],'gabdN':_0x299edd[_0x2f94(0x9c)],'jJaiS':_0x299edd['YiFgA'],'trBPg':_0x2f94(0x9d),'cMGOD':function(_0x401af1,_0x4950d9){return _0x401af1===_0x4950d9;},'ABPQJ':_0x299edd[_0x2f94(0x9e)]},_0x440e27=async()=>{const _0xcda9c6={'xlNLQ':_0x81714a['ARZoT'],'zPDWP':function(_0x451a5d,_0x3c50c8){return _0x81714a[_0x2f94(0x9f)](_0x451a5d,_0x3c50c8);},'MIGUO':function(_0x33d53e,_0x22aeed){return _0x81714a[_0x2f94(0x9f)](_0x33d53e,_0x22aeed);},'NvqGu':function(_0x4cd3fb,_0x87ec0){return _0x81714a['vdkQW'](_0x4cd3fb,_0x87ec0);}};try{if(_0x81714a['jKUoV'](_0x81714a[_0x2f94(0xa0)],_0x2f94(0xa1))){console[_0x2f94(0xa2)](_0x81714a[_0x2f94(0xa3)]);const _0x4d36d6=[],_0x4f0824=await _asyncStorage[_0x2f94(0x1)][_0x2f94(0xa4)](_0x2f94(0xa5));if(_0x4f0824){const _0x2c2446=JSON[_0x2f94(0xa6)](_0x4f0824);Array[_0x2f94(0xa7)](_0x2c2446)&&(_0x4d36d6[_0x2f94(0xa8)](..._0x2c2446),console[_0x2f94(0xa2)](_0x2f94(0x57),_0x2c2446));}const _0x1398b=await _asyncStorage[_0x2f94(0x1)]['getItem'](_0x81714a['XwVns']);if(_0x1398b){const _0x5098b9=JSON[_0x2f94(0xa6)](_0x1398b);Array[_0x2f94(0xa7)](_0x5098b9)&&(_0x5098b9[_0x2f94(0xa9)](_0x3a5307=>{const _0x1d8848={'EXBBP':function(_0x511bde,_0x5ecc5e){return _0x81714a['vdkQW'](_0x511bde,_0x5ecc5e);}};if('JLhGo'!==_0x81714a[_0x2f94(0xaa)]){var _0x15c288;const _0x5a3823=_0x81714a[_0x2f94(0xab)](_0x15c288=_0x3a5307[_0x2f94(0xac)],null)||_0x81714a[_0x2f94(0xab)](_0x15c288,void 0x0)?void 0x0:_0x15c288[_0x2f94(0xad)]();if(_0x5a3823&&!_0x4d36d6[_0x2f94(0xae)](_0x5a3823)){if(_0x81714a[_0x2f94(0xaf)](_0x81714a[_0x2f94(0xb0)],_0x81714a[_0x2f94(0xb1)]))_0x4d36d6[_0x2f94(0xa8)](_0x5a3823);else{const _0x4579a7=new _0xdc4863(_0x26ba3e);let _0x410223=![];return _0x1da459[_0x2f94(0xa9)](_0xcca20b=>{!_0x4579a7[_0x2f94(0x88)](_0xcca20b)&&(_0x4579a7['add'](_0xcca20b),_0x410223=!![]);}),_0x410223&&_0x117c95[_0x2f94(0xa2)](_0x2f94(0x27),_0x1e5b33[_0x2f94(0xb2)](_0x4579a7)),_0x410223?_0x4579a7:_0x21600e;}}}else{(0x0,_0x5f09fc['triggerHaptic'])(_0x14bab8['HapticType']['BUTTON_PRESS']),_0x1d8848[_0x2f94(0xb3)](_0x4cae22,!![]);try{_0x19846d(!![]);}finally{_0x25efcd(![]);}}}),console[_0x2f94(0xa2)](_0x81714a[_0x2f94(0xb4)],_0x5098b9[_0x2f94(0xb5)](_0x15a4b3=>_0x15a4b3[_0x2f94(0xac)])));}const _0x3f49d0=[_0x81714a[_0x2f94(0xb6)],_0x81714a[_0x2f94(0xb7)],_0x81714a[_0x2f94(0xb8)],_0x81714a['dscRH']];for(const _0x3a9d11 of _0x3f49d0){if(_0x81714a[_0x2f94(0xb9)](_0x81714a[_0x2f94(0xba)],_0x81714a[_0x2f94(0xbb)]))_0x3133b9[_0x2f94(0xbc)](_0x2f94(0x4d),_0x1b8e2e);else{const _0x3952fd=await _asyncStorage[_0x2f94(0x1)]['getItem'](_0x2f94(0xbd)+_0x3a9d11);if(_0x3952fd){if(_0x2f94(0xbe)===_0x81714a[_0x2f94(0xbf)]){const _0x5d3f84=JSON[_0x2f94(0xa6)](_0x3952fd);if(_0x5d3f84['connected']&&!_0x4d36d6[_0x2f94(0xae)](_0x3a9d11)){if(_0x81714a[_0x2f94(0xab)](_0x81714a['Ipcfp'],_0x81714a[_0x2f94(0xc0)])){const _0x22dbd8=_0x555263['nativeEvent']['contentOffset']['x'],_0x2a2388=_0x4024be['nativeEvent']['layoutMeasurement'][_0x2f94(0xc1)],_0x4feb54=_0x34cd3e['nativeEvent'][_0x2f94(0xc2)][_0x2f94(0xc1)];_0x1822f5[_0x2f94(0x74)]=_0x22dbd8;const _0x329964=_0x81714a[_0x2f94(0xc3)](_0x4feb54,_0x2a2388),_0x314558=_0x81714a[_0x2f94(0xc4)](_0x329964,0x0)?_0x81714a['eSDiS'](_0x22dbd8,_0x329964):0x0;_0x81714a[_0x2f94(0x9f)](_0xbe99f3,_0x314558),_0x81714a[_0x2f94(0xc5)](_0x22dbd8,0xa)&&_0xdb35c1&&_0x81714a['vdkQW'](_0x5821ac,![]);}else _0x4d36d6['push'](_0x3a9d11),console[_0x2f94(0xa2)]('✅\x20[PLATFORMS]\x20Loaded\x20LLM\x20platform:\x20'+_0x3a9d11);}}else{_0xb7a65a[_0x2f94(0xbc)](_0xcda9c6['xlNLQ']);return;}}}}const _0x3eda57=await _asyncStorage[_0x2f94(0x1)]['getItem'](_0x81714a[_0x2f94(0xc6)]);if(_0x3eda57){const _0x2d5c31=JSON[_0x2f94(0xa6)](_0x3eda57);_0x2d5c31[_0x2f94(0xc7)]&&!_0x4d36d6[_0x2f94(0xae)](_0x81714a[_0x2f94(0xc8)])&&(_0x2f94(0xc9)===_0x81714a['trBPg']?_0xcda9c6[_0x2f94(0xca)](_0x556abf,_0x3d0809):(_0x4d36d6['push'](_0x2f94(0x34)),console['log'](_0x2f94(0x3e))));}if(_0x81714a['hdtyY'](_0x4d36d6[_0x2f94(0x7d)],0x0)){if(_0x81714a[_0x2f94(0xcb)](_0x81714a[_0x2f94(0xcc)],_0x2f94(0xcd))){const _0x504fbd=_0x81714a['sQqJR'](_0x118bd7,()=>{_0x43ae6b(_0x373fb7=>{const _0x1f674b=new _0x593186(_0x373fb7);return _0x1f674b[_0x2f94(0x89)](_0x9cc21),_0x1f674b;}),(0x0,_0x290bfd['triggerHaptic'])(_0x46681e[_0x2f94(0x9)][_0x2f94(0xce)]),_0x343ab5[_0x2f94(0xa2)](_0x2f94(0xcf)+_0x2e2b62),_0xcda9c6[_0x2f94(0xd0)](_0x41c7ca,null);},0x12c);return()=>_0x32fcc4(_0x504fbd);}else _0x81714a['vdkQW'](_0x2c6008,_0x5736ed=>{const _0x11dbfb={'BPPKt':function(_0x4bc9b0,_0x3e54b6){return _0x81714a[_0x2f94(0xb9)](_0x4bc9b0,_0x3e54b6);},'FKkdo':_0x81714a[_0x2f94(0xd1)],'DQojE':function(_0x105ac8,_0x5f4c30){return _0x105ac8(_0x5f4c30);}},_0x514869=new Set(_0x5736ed);let _0x1757eb=![];return _0x4d36d6['forEach'](_0x3d60c2=>{const _0x1b1a3a={'SAXbd':function(_0x459bb0,_0x3fde62){return _0x459bb0(_0x3fde62);}};!_0x514869[_0x2f94(0x88)](_0x3d60c2)&&(_0x11dbfb[_0x2f94(0xd2)](_0x11dbfb[_0x2f94(0xd3)],_0x11dbfb['FKkdo'])?(_0x514869[_0x2f94(0x89)](_0x3d60c2),_0x1757eb=!![]):(_0x1b1a3a[_0x2f94(0xd4)](_0x2098ca,_0xb29f36=>({..._0xb29f36,[_0x3e1b85]:_0x2f94(0xbc)})),(0x0,_0xb44a80['triggerHaptic'])(_0x2726b8['HapticType']['ERROR'])));}),_0x1757eb&&(_0x81714a['wrpZT'](_0x2f94(0xd5),_0x81714a[_0x2f94(0xd6)])?console[_0x2f94(0xa2)](_0x81714a[_0x2f94(0xd7)],Array[_0x2f94(0xb2)](_0x514869)):_0x11dbfb['DQojE'](_0x414a4b,!![])),_0x1757eb?_0x514869:_0x5736ed;});}}else _0x5ac1d5[_0x2f94(0xbc)]('❌\x20[TOGGLE]\x20OAuth\x20failed\x20for\x20'+_0x54d5d1+_0x2f94(0xd8)),_0xcda9c6['NvqGu'](_0x3141c5,_0x3380a3=>({..._0x3380a3,[_0x101b28]:_0x2f94(0xbc)})),(0x0,_0x775367[_0x2f94(0xd9)])(_0x243aa9[_0x2f94(0x9)][_0x2f94(0xa)]);}catch(_0x35b5dd){console[_0x2f94(0xbc)](_0x2f94(0xda),_0x35b5dd);}};_0x299edd['QYXMF'](_0x440e27);},[]),(0x0,_react[_0x2f94(0x79)])(()=>{const _0x2e8e09={'VQrTK':function(_0x3b7ca1,_0x30267b){return _0x299edd[_0x2f94(0xdb)](_0x3b7ca1,_0x30267b);},'UvEbD':_0x299edd[_0x2f94(0xdc)],'bKDmG':function(_0x254824,_0x373171){return _0x299edd['weFlg'](_0x254824,_0x373171);},'aiamK':_0x299edd[_0x2f94(0xdd)],'BDZjs':function(_0x16582d,_0x33703a){return _0x299edd[_0x2f94(0xdb)](_0x16582d,_0x33703a);},'qekle':_0x2f94(0x5f),'FIvse':_0x299edd['COjwg'],'yJVoK':function(_0x3d4d18,_0x852809){return _0x299edd['rchrA'](_0x3d4d18,_0x852809);},'IMRik':'chatgpt','etFHQ':_0x299edd[_0x2f94(0xde)],'iBGdm':_0x299edd[_0x2f94(0xdf)],'abeBd':function(_0x26f8f3,_0x387428){return _0x26f8f3(_0x387428);},'bmUGL':_0x299edd[_0x2f94(0xe0)],'kMlyG':_0x299edd[_0x2f94(0xe1)],'RsbcS':_0x299edd[_0x2f94(0xe2)],'VleAh':function(_0x268fcd,_0x586b2c){return _0x268fcd&&_0x586b2c;},'kPeDk':function(_0x5def81,_0x54adb3){return _0x299edd[_0x2f94(0xe3)](_0x5def81,_0x54adb3);},'uyoYR':'OUApf','fIuvC':_0x299edd[_0x2f94(0xe4)],'NgGTW':function(_0x305058,_0x470094){return _0x299edd[_0x2f94(0xe5)](_0x305058,_0x470094);},'zcVVd':function(_0x727c17,_0x463918){return _0x727c17===_0x463918;},'ojPmr':function(_0x2c9290,_0x1ca2cf){return _0x2c9290===_0x1ca2cf;},'rAeez':function(_0xc84dbc,_0xc8de2b){return _0x299edd[_0x2f94(0xe5)](_0xc84dbc,_0xc8de2b);},'GoHHw':_0x299edd[_0x2f94(0xe6)],'HyRSD':_0x299edd[_0x2f94(0xe7)],'dykTJ':_0x299edd[_0x2f94(0xe8)],'prvcm':_0x2f94(0xe9),'jAKAm':function(_0x4b6df4,_0x3df546){return _0x4b6df4*_0x3df546;}},_0x2d554d=async()=>{const _0x1bd7e0={'QMBvY':_0x2e8e09[_0x2f94(0xea)]};try{if(_0x2e8e09['kMlyG']===_0x2e8e09[_0x2f94(0xeb)]){const _0x9db152=await _asyncStorage[_0x2f94(0x1)][_0x2f94(0xa4)](_0x2e8e09[_0x2f94(0xec)]);if(_0x2e8e09[_0x2f94(0xed)](_0x9db152,!_0x1e32b1)){_0x2e8e09['abeBd'](_0xa43608,_0x9db152);return;}if(_0x2e8e09['VleAh'](_0x57f9d4,!_0x1e32b1)){if(_0x2e8e09['kPeDk'](_0x2e8e09['uyoYR'],_0x2e8e09[_0x2f94(0xee)])){const _0x2cd038=_0x327a83===_0x348e54['id'],_0x418a24=_0x1f8653[_0x2f94(0x88)](_0x32dca3['id']),_0x38fbfe=_0x2e8e09[_0x2f94(0xef)](_0x22b345[_0x37c500['id']],_0x2e8e09[_0x2f94(0xf0)]);return _0x5a2261[_0x2f94(0x1)][_0x2f94(0xf1)](_0xb68df5[_0x2f94(0xf2)],{'key':_0x3eb285['id'],'style':[_0x3602af[_0x2f94(0xf3)],_0x2cd038&&_0x1b40c2[_0x2f94(0xf4)]],'onPress':()=>{(0x0,_0x437f5c[_0x2f94(0xd9)])(_0x27e905['HapticType'][_0x2f94(0x13)]),_0x229683(_0x14e6de['id']);},'activeOpacity':0.7},_0x38420d[_0x2f94(0x1)][_0x2f94(0xf1)](_0x228b68[_0x2f94(0xf5)],{'source':_0x5d6805[_0x2f94(0xf6)],'style':[_0x5371b5[_0x2f94(0xf7)],_0x2e8e09['bKDmG'](_0x45c653['id'],_0x2e8e09[_0x2f94(0xf8)])&&_0x53ce5d[_0x2f94(0xf9)],_0x2e8e09[_0x2f94(0xfa)](_0x426a49['id'],_0x2e8e09[_0x2f94(0xfb)])&&_0x4e6cd9['pinterestIcon'],_0x2e8e09['bKDmG'](_0x1e8bbd['id'],_0x2e8e09['FIvse'])&&_0x462bfc[_0x2f94(0xfc)],_0x2e8e09['yJVoK'](_0x3aeb0d['id'],_0x2e8e09[_0x2f94(0xfd)])&&_0x1f66ca[_0x2f94(0xfe)],_0x378e35['id']===_0x2e8e09[_0x2f94(0xff)]&&_0x320387[_0x2f94(0x100)],_0x2f99ba['id']==='grok'&&_0x780dd3[_0x2f94(0x101)]],'resizeMode':_0x2e8e09[_0x2f94(0x102)]}),_0x38fbfe&&_0x1f1eda['default'][_0x2f94(0xf1)](_0x3656cd[_0x2f94(0x103)],{'style':_0x359cc3[_0x2f94(0x104)]}),_0x418a24&&_0x2bf477['default']['createElement'](_0x261d56[_0x2f94(0x103)],{'style':_0x112b3f[_0x2f94(0x105)]}));}else{var _0x2f5089;const _0x3a3c89=(_0x2e8e09[_0x2f94(0xef)](_0x57f9d4,null)||_0x2e8e09[_0x2f94(0x106)](_0x57f9d4,void 0x0)||_0x2e8e09[_0x2f94(0x107)](_0x2f5089=_0x57f9d4[_0x2f94(0x108)],null)||_0x2e8e09[_0x2f94(0x109)](_0x2f5089,void 0x0)?void 0x0:_0x2f5089[_0x2f94(0x10a)]('@')[0x0])||(_0x2e8e09[_0x2f94(0x10b)](_0x57f9d4,null)||_0x2e8e09[_0x2f94(0x10c)](_0x57f9d4,void 0x0)?void 0x0:_0x57f9d4[_0x2f94(0x10d)])||_0x2f94(0x10e)+Math[_0x2f94(0x10f)](Math[_0x2f94(0x110)]()*0x2710);_0xa43608(_0x3a3c89),await _asyncStorage['default']['setItem'](_0x2f94(0x111),_0x3a3c89);return;}}if(!_0x1e32b1){if(_0x2e8e09[_0x2f94(0x109)](_0x2e8e09[_0x2f94(0x112)],_0x2e8e09[_0x2f94(0x112)])){const _0x362327=_0x2f94(0x113)+Math[_0x2f94(0x10f)](Math[_0x2f94(0x110)]()*0x2710);_0x2e8e09[_0x2f94(0x114)](_0xa43608,_0x362327),await _asyncStorage[_0x2f94(0x1)][_0x2f94(0x115)](_0x2e8e09[_0x2f94(0xec)],_0x362327);}else _0x49d9a5[_0x2f94(0xa2)]('✅\x20[TOGGLE]\x20Setting\x20WebView\x20state\x20-\x20showing\x20modal\x20for\x20'+_0x183859),_0x32efd9(_0x5cf879),_0x4ecaaa(!![]);}}else _0xa5c3[_0x2f94(0xbc)](_0x1bd7e0['QMBvY'],_0x19a1d5);}catch(_0x3a69df){if(_0x2e8e09['HyRSD']===_0x2e8e09[_0x2f94(0x116)])(0x0,_0x191fa8[_0x2f94(0xd9)])(_0x540ce9[_0x2f94(0x9)][_0x2f94(0x13)]),_0x2e8e09[_0x2f94(0x114)](_0x5d7e6e,_0x4ab633['id']);else{console[_0x2f94(0xbc)](_0x2e8e09[_0x2f94(0x117)],_0x3a69df);const _0x3242f4=_0x2f94(0x10e)+Math[_0x2f94(0x10f)](_0x2e8e09[_0x2f94(0x118)](Math[_0x2f94(0x110)](),0x2710));_0x2e8e09[_0x2f94(0x114)](_0xa43608,_0x3242f4);}}};_0x299edd[_0x2f94(0x119)](_0x2d554d);},[_0x57f9d4,_0x1e32b1]),(0x0,_react[_0x2f94(0x79)])(()=>{_0x299edd[_0x2f94(0x11a)]('hgGEO',_0x299edd[_0x2f94(0x11b)])?_0x1ff3c3():_0x1fb779&&_reactNative[_0x2f94(0x76)][_0x2f94(0x11c)](_reactNative['Animated']['sequence']([_reactNative[_0x2f94(0x76)][_0x2f94(0x11d)](_0x3bea1f,{'toValue':0x1,'duration':0x3e8,'useNativeDriver':!![]}),_reactNative['Animated'][_0x2f94(0x11d)](_0x3bea1f,{'toValue':0x0,'duration':0x3e8,'useNativeDriver':!![]})]))[_0x2f94(0x11e)]();},[_0x1fb779]);const _0x4bd0b2=(0x0,_react[_0x2f94(0x11f)])(_0x53d2bc=>{const _0x47acf9=_0x53d2bc[_0x2f94(0x120)][_0x2f94(0x121)]['x'],_0x53e268=_0x53d2bc[_0x2f94(0x120)][_0x2f94(0x122)][_0x2f94(0xc1)],_0x1cf203=_0x53d2bc[_0x2f94(0x120)][_0x2f94(0xc2)][_0x2f94(0xc1)];_0x20cae8['current']=_0x47acf9;const _0xd6ec12=_0x299edd[_0x2f94(0x8f)](_0x1cf203,_0x53e268),_0x14fc81=_0x299edd['DdmZN'](_0xd6ec12,0x0)?_0x299edd['PYILW'](_0x47acf9,_0xd6ec12):0x0;_0x299edd['cuSqX'](_0x342ed8,_0x14fc81),_0x299edd[_0x2f94(0x123)](_0x47acf9,0xa)&&_0x1fb779&&_0x299edd[_0x2f94(0x124)](_0x228383,![]);},[_0x1fb779]),_0x5961c7=[{'id':_0x299edd['oXZul'],'name':_0x299edd[_0x2f94(0x125)],'icon':(0x0,_connectedAccountsService['getPlatformIcon'])(_0x2f94(0x35)),'description':_0x2f94(0x126),'isChatPlatform':![]},{'id':_0x299edd[_0x2f94(0x127)],'name':_0x2f94(0x128),'icon':(0x0,_connectedAccountsService[_0x2f94(0x129)])(_0x299edd[_0x2f94(0x127)]),'description':_0x299edd['oaCHU'],'isChatPlatform':![]},{'id':_0x299edd[_0x2f94(0x12a)],'name':_0x2f94(0x12b),'icon':(0x0,_connectedAccountsService[_0x2f94(0x129)])(_0x2f94(0x5f)),'description':_0x2f94(0x12c),'isChatPlatform':![]},{'id':'linkedin','name':_0x299edd['mTvmb'],'icon':(0x0,_connectedAccountsService[_0x2f94(0x129)])(_0x299edd['YiFgA']),'description':_0x299edd['tWZSY'],'isChatPlatform':![]},{'id':_0x299edd[_0x2f94(0x12d)],'name':_0x299edd[_0x2f94(0x12e)],'icon':(0x0,_connectedAccountsService[_0x2f94(0x129)])(_0x299edd[_0x2f94(0x12d)]),'description':_0x299edd[_0x2f94(0x12f)],'isChatPlatform':![]},{'id':_0x299edd[_0x2f94(0x130)],'name':_0x299edd['ZsKLM'],'icon':(0x0,_connectedAccountsService['getPlatformIcon'])(_0x299edd['JgEUJ']),'description':_0x299edd[_0x2f94(0x131)],'isChatPlatform':!![]},{'id':_0x299edd[_0x2f94(0xde)],'name':_0x299edd[_0x2f94(0x132)],'icon':(0x0,_connectedAccountsService[_0x2f94(0x129)])(_0x299edd[_0x2f94(0xde)]),'description':'Use\x20your\x20Claude\x20conversations\x20to\x20enrich\x20your\x20model.','isChatPlatform':!![]},{'id':_0x299edd[_0x2f94(0x96)],'name':_0x299edd[_0x2f94(0x133)],'icon':(0x0,_connectedAccountsService[_0x2f94(0x129)])(_0x299edd[_0x2f94(0x96)]),'description':_0x299edd['NYuEd'],'isChatPlatform':!![]},{'id':_0x299edd[_0x2f94(0x97)],'name':'Grok','icon':(0x0,_connectedAccountsService[_0x2f94(0x129)])(_0x299edd[_0x2f94(0x97)]),'description':_0x299edd[_0x2f94(0x134)],'isChatPlatform':!![]}],_0x1cb543=_0x385500?_0x385500[_0x2f94(0xb5)](_0x1593aa=>_0x5961c7['find'](_0x4fbb0b=>_0x4fbb0b['id']===_0x1593aa))['filter'](_0x3435a0=>_0x3435a0!==undefined):_0x5961c7;(0x0,_react[_0x2f94(0x79)])(()=>{if(_0x299edd[_0x2f94(0x135)](_0x1cb543[_0x2f94(0x7d)],0x0)){const _0x5a0f32=_0x1cb543[0x0]['id'];(!_0x20db75||!_0x1cb543['find'](_0x195059=>_0x195059['id']===_0x20db75))&&(_0x299edd[_0x2f94(0x136)]!==_0x299edd[_0x2f94(0x136)]?(_0x3be3fe[_0x2f94(0xa8)](_0x2f94(0x34)),_0xd518a9[_0x2f94(0xa2)](_0x2f94(0x3e))):_0x299edd[_0x2f94(0x137)](_0xae6416,_0x5a0f32));}},[_0x385500,_0x1cb543[_0x2f94(0x7d)]]);const _0xf57fba=async(_0x1aa682,_0x507cca)=>{const _0x538dff={'Tuunx':function(_0x1742a6,_0x5486d0){return _0x299edd[_0x2f94(0x138)](_0x1742a6,_0x5486d0);},'dzlEl':function(_0x4d1f06,_0x488b3a){return _0x299edd['Sabet'](_0x4d1f06,_0x488b3a);},'mKCLf':function(_0x22182,_0x55311e){return _0x299edd[_0x2f94(0x139)](_0x22182,_0x55311e);},'TPqOA':function(_0x59cdf1,_0x4e596f){return _0x59cdf1+_0x4e596f;},'VfFEq':_0x299edd[_0x2f94(0x13a)],'TNkhK':_0x299edd[_0x2f94(0x13b)],'MNVhO':function(_0x55215e,_0x5eed8c){return _0x55215e>_0x5eed8c;},'IUpKc':_0x299edd[_0x2f94(0x13c)],'WcKos':_0x299edd['fYStI'],'pmAks':function(_0x23f40b,_0x434056){return _0x299edd[_0x2f94(0x13d)](_0x23f40b,_0x434056);}};(0x0,_haptics[_0x2f94(0xd9)])(_haptics[_0x2f94(0x9)][_0x2f94(0x13)]),console[_0x2f94(0xa2)]('🔄\x20[TOGGLE]\x20Platform\x20toggle:\x20'+_0x1aa682+_0x2f94(0x13e)+_0x507cca);try{if(_0x507cca){if(_0x299edd[_0x2f94(0x13f)]!==_0x299edd['bTTyj']){const _0x2a1eda=await _asyncStorage[_0x2f94(0x1)][_0x2f94(0xa4)](_0x299edd[_0x2f94(0xe2)]),_0x592a68=_0x299edd[_0x2f94(0x139)](_0x2a1eda,_0x1e32b1);console[_0x2f94(0xa2)](_0x2f94(0x140)+_0x2a1eda+'\x22,\x20state:\x20\x22'+_0x1e32b1+_0x2f94(0x141)+_0x592a68+'\x22');if(!_0x592a68||_0x299edd['nqsey'](_0x592a68[_0x2f94(0x142)](),'')){if(_0x299edd[_0x2f94(0x143)](_0x2f94(0x144),'SxkId')){console['error'](_0x299edd[_0x2f94(0x145)]);return;}else{const _0xd4e77=new _0x25c54d(_0x3e390f);_0xd4e77['add'](_0x325a85),_0x538dff[_0x2f94(0x146)](_0x45034e,_0xd4e77),_0x538dff[_0x2f94(0x146)](_0x3f7f40,_0x889198=>({..._0x889198,[_0x2a89c9]:_0x2f94(0xc7)})),(0x0,_0x1856cc[_0x2f94(0xd9)])(_0xe7443b['HapticType'][_0x2f94(0xce)]);}}const _0x2955a5=_0x5961c7[_0x2f94(0x147)](_0x1dbe40=>_0x1dbe40['id']===_0x1aa682),_0x400784=(_0x299edd['yTyjn'](_0x2955a5,null)||_0x299edd['yTyjn'](_0x2955a5,void 0x0)?void 0x0:_0x2955a5[_0x2f94(0x148)])||(0x0,_webviewScripts[_0x2f94(0x149)])(_0x1aa682);if(_0x400784){console[_0x2f94(0xa2)](_0x2f94(0x14a)+_0x1aa682+'\x20login\x20and\x20export...'),_0x299edd[_0x2f94(0x13d)](_0x33f041,_0x1aa682),_0x299edd[_0x2f94(0x137)](_0x46138d,_0x197c01=>({..._0x197c01,[_0x1aa682]:_0x2f94(0x14b)}));const _0x39dcca=(0x0,_webviewScripts[_0x2f94(0x14c)])(_0x1aa682);_0x39dcca?(console[_0x2f94(0xa2)](_0x2f94(0x14d)+_0x1aa682+_0x2f94(0x14e),_0x39dcca),_0x299edd[_0x2f94(0x14f)](_0x2dc5c5,_0x39dcca),_0x299edd[_0x2f94(0x124)](_0xb190ce,!![])):_0x299edd['mCAOi']('zVsSi',_0x2f94(0x150))?(console['error'](_0x2f94(0x151)+_0x1aa682),_0x299edd[_0x2f94(0x7f)](_0x46138d,_0xa8dae7=>({..._0xa8dae7,[_0x1aa682]:_0x2f94(0xbc)})),(0x0,_haptics[_0x2f94(0xd9)])(_haptics[_0x2f94(0x9)]['ERROR'])):_0x538dff['dzlEl'](_0x51c4c6,![]);return;}if((0x0,_webviewScripts[_0x2f94(0x152)])(_0x1aa682)){console[_0x2f94(0xa2)]('💼\x20[LINKEDIN]\x20Opening\x20WebView\x20for\x20LinkedIn\x20login...'),_0x33f041(_0x1aa682),_0x46138d(_0x202ae3=>({..._0x202ae3,[_0x1aa682]:_0x2f94(0x14b)}));const _0x5dee77='https://www.linkedin.com/login';console[_0x2f94(0xa2)]('🌐\x20[LINKEDIN]\x20Opening\x20LinkedIn\x20URL:',_0x5dee77),_0x299edd['HqGuy'](_0x2dc5c5,_0x5dee77),_0x299edd[_0x2f94(0x7f)](_0xb190ce,!![]);return;}if((0x0,_platformAuthService[_0x2f94(0x153)])(_0x1aa682)){if(_0x299edd['JdiOB'](_0x2f94(0x154),_0x299edd[_0x2f94(0x155)]))_0x538dff[_0x2f94(0x156)](_0x1e64d5,_0x9ab593)&&_0x38554d[_0x2f94(0xa2)](_0x2f94(0x157)+_0x4dfbf9+_0x2f94(0x158)+(_0x398311?_0x538dff['TPqOA'](_0x538dff[_0x2f94(0x159)],_0x3608be[_0x2f94(0x15a)](0x0,0x28))+_0x2f94(0x15b):_0x538dff[_0x2f94(0x15c)]));else{_0x299edd['SyTiY'](_0x33f041,_0x1aa682),_0x299edd[_0x2f94(0x15d)](_0x46138d,_0x4357ca=>({..._0x4357ca,[_0x1aa682]:_0x2f94(0x14b)}));const _0x2c10de=await(0x0,_platformAuthService[_0x2f94(0x15e)])(_0x1aa682,_0x592a68);if(_0x2c10de){const _0x3d3f3d=new Set(_0x40ab36);_0x3d3f3d[_0x2f94(0x89)](_0x1aa682),_0x299edd[_0x2f94(0x15f)](_0x2c6008,_0x3d3f3d),_0x299edd[_0x2f94(0x160)](_0x46138d,_0x437932=>({..._0x437932,[_0x1aa682]:_0x2f94(0xc7)})),(0x0,_haptics[_0x2f94(0xd9)])(_haptics[_0x2f94(0x9)][_0x2f94(0xce)]);}else _0x299edd[_0x2f94(0x161)](_0x2f94(0x41),_0x299edd[_0x2f94(0x162)])?(_0x46138d(_0x36ec6f=>({..._0x36ec6f,[_0x1aa682]:_0x2f94(0xbc)})),(0x0,_haptics[_0x2f94(0xd9)])(_haptics[_0x2f94(0x9)][_0x2f94(0xa)])):_0x2057c7[_0x2f94(0xbc)](_0x299edd[_0x2f94(0x163)],_0x40335f);}}else{if(_0x299edd[_0x2f94(0x164)](_0x2f94(0x165),_0x2f94(0x166))){console[_0x2f94(0xa2)]('🌐\x20[TOGGLE]\x20Starting\x20OAuth\x20flow\x20for\x20'+_0x1aa682+_0x2f94(0x42)),_0x33f041(_0x1aa682),_0x299edd[_0x2f94(0x167)](_0x46138d,_0x23b5af=>({..._0x23b5af,[_0x1aa682]:'connecting'}));const _0x1b5fe8=await(0x0,_platformAuthService[_0x2f94(0x168)])(_0x1aa682,_0x592a68);console[_0x2f94(0xa2)](_0x2f94(0x169)+_0x1aa682+':',_0x1b5fe8?_0x299edd[_0x2f94(0x16a)](_0x1b5fe8[_0x2f94(0x15a)](0x0,0x32),_0x299edd[_0x2f94(0x16b)]):_0x299edd[_0x2f94(0x13b)]);if(_0x1b5fe8){if(_0x299edd[_0x2f94(0x16c)](_0x299edd[_0x2f94(0x16d)],_0x2f94(0x43)))console[_0x2f94(0xa2)](_0x2f94(0x16e)+_0x1aa682),_0x299edd[_0x2f94(0x137)](_0x2dc5c5,_0x1b5fe8),_0x299edd[_0x2f94(0x16f)](_0xb190ce,!![]);else{if(_0x538dff[_0x2f94(0x170)](_0xcb3fe6[_0x2f94(0x7d)],0x0)){const _0x451c95=_0x5af2e5[0x0]['id'];(!_0x256265||!_0x1fd724['find'](_0x3c951c=>_0x3c951c['id']===_0x1c76f2))&&_0x51ca72(_0x451c95);}}}else console['error'](_0x2f94(0x171)+_0x1aa682+'\x20-\x20no\x20URL\x20returned'),_0x299edd[_0x2f94(0x172)](_0x46138d,_0x32dad8=>({..._0x32dad8,[_0x1aa682]:_0x2f94(0xbc)})),(0x0,_haptics[_0x2f94(0xd9)])(_haptics[_0x2f94(0x9)]['ERROR']);}else{const _0x28a967=_0x17e529[_0x2f94(0xa6)](_0x2d3c37);_0x28a967[_0x2f94(0xc7)]&&!_0x2563b7[_0x2f94(0xae)](_0x538dff['IUpKc'])&&(_0x7f8226[_0x2f94(0xa8)](_0x538dff[_0x2f94(0x173)]),_0x5a3eab['log'](_0x538dff[_0x2f94(0x174)]));}}}else _0x538dff[_0x2f94(0x175)](_0x52e125,![]);}else{await _0x299edd['QdwnP'](_0x393841,_0x1aa682);const _0x3b46ee=new Set(_0x40ab36);_0x3b46ee[_0x2f94(0x176)](_0x1aa682),_0x299edd[_0x2f94(0x16f)](_0x2c6008,_0x3b46ee),_0x46138d(_0x169480=>({..._0x169480,[_0x1aa682]:_0x2f94(0x177)})),(0x0,_haptics[_0x2f94(0xd9)])(_haptics['HapticType'][_0x2f94(0x13)]);try{if(_0x299edd['VpuYZ'](_0x299edd[_0x2f94(0x178)],_0x299edd[_0x2f94(0x179)]))!_0x8e2da1[_0x2f94(0x88)](_0x715a70)&&(_0x5f5dfa[_0x2f94(0x89)](_0x137761),_0x44ae79=!![]);else{const _0x2a81fa=await _asyncStorage[_0x2f94(0x1)][_0x2f94(0xa4)](_0x299edd[_0x2f94(0x17a)]);if(_0x2a81fa){if(_0x299edd[_0x2f94(0x17b)](_0x299edd[_0x2f94(0x17c)],_0x299edd[_0x2f94(0x17c)])){const _0xaab63a=JSON[_0x2f94(0xa6)](_0x2a81fa),_0x1fe75b=_0xaab63a[_0x2f94(0x17d)](_0x5309d1=>_0x5309d1[_0x2f94(0xad)]()!==_0x1aa682[_0x2f94(0xad)]());await _asyncStorage[_0x2f94(0x1)][_0x2f94(0x115)](_0x299edd[_0x2f94(0x17a)],JSON[_0x2f94(0x17e)](_0x1fe75b)),console[_0x2f94(0xa2)]('✅\x20[STORAGE]\x20Removed\x20'+_0x1aa682+_0x2f94(0x17f),_0x1fe75b);}else return _0x962b81['default']['createElement'](_0x354ff9['default'],{'visible':_0x1e1f58,'onAccept':_0x42fc0f,'onDecline':_0x3419da,'connectedPlatforms':_0x3d58de[_0x2f94(0xb2)](_0x292af5),'onConnectMore':_0x36088a,'loading':_0xf5c65d});}}}catch(_0x5b66d4){console['error'](_0x2f94(0x3c),_0x5b66d4);}await _asyncStorage[_0x2f94(0x1)]['removeItem'](_0x2f94(0xbd)+_0x1aa682);if(_0x299edd['mniqu'](_0x1aa682['toLowerCase'](),_0x299edd[_0x2f94(0x13c)])){if(_0x299edd[_0x2f94(0x180)](_0x299edd[_0x2f94(0x181)],_0x299edd[_0x2f94(0x182)]))await _asyncStorage[_0x2f94(0x1)][_0x2f94(0x183)](_0x299edd[_0x2f94(0x9c)]);else{_0x32ee71[_0x2f94(0xbc)](_0x2f94(0xe9),_0x108daa);const _0x2a067a=_0x2f94(0x10e)+_0x52b105['floor'](_0x119dcf[_0x2f94(0x110)]()*0x2710);_0x299edd['jLXcT'](_0x17d2ea,_0x2a067a);}}}}catch(_0x24b130){console[_0x2f94(0xbc)](_0x2f94(0x184)+_0x1aa682+':',_0x24b130),_0x46138d(_0x2c09b0=>({..._0x2c09b0,[_0x1aa682]:_0x2f94(0xbc)})),(0x0,_haptics[_0x2f94(0xd9)])(_haptics[_0x2f94(0x9)][_0x2f94(0xa)]);}},_0x310403=async()=>{(0x0,_haptics['triggerHaptic'])(_haptics[_0x2f94(0x9)][_0x2f94(0x13)]),_0x41645e(!![]);try{_0x299edd[_0x2f94(0x185)](_0x299edd[_0x2f94(0x186)],_0x2f94(0x187))?_0x299edd[_0x2f94(0x188)](_0x53bb04,_0xa2a06c):_0x299edd[_0x2f94(0x138)](_0x3595ac,!![]);}finally{_0x299edd['lVivd'](_0x41645e,![]);}},_0x376faa=()=>{(0x0,_haptics[_0x2f94(0xd9)])(_haptics[_0x2f94(0x9)]['BUTTON_PRESS']),_0x3ec1bc&&_0x299edd[_0x2f94(0x189)](_0x3ec1bc);},_0x1e0049=async()=>{(0x0,_haptics[_0x2f94(0xd9)])(_haptics[_0x2f94(0x9)][_0x2f94(0x13)]),_0x299edd[_0x2f94(0x18a)](_0x1ab4ec,!![]),await new Promise(_0x4d217e=>setTimeout(_0x4d217e,0x32));try{_0x3c378d?await _0x3c378d(_0x187716):await _0x299edd[_0x2f94(0x167)](_0x25b0bc,Array[_0x2f94(0xb2)](_0x40ab36));}finally{if(_0x299edd[_0x2f94(0x18b)]===_0x299edd[_0x2f94(0x18c)])return _0x530a8b[_0x2f94(0x1)][_0x2f94(0xf1)](_0xb7f0c3[_0x2f94(0x1)],{'visible':_0x44a648,'onComplete':_0x4c7aa7});else _0x299edd[_0x2f94(0x18a)](_0x1ab4ec,![]);}},_0x1d9c1c=()=>{(0x0,_haptics[_0x2f94(0xd9)])(_haptics[_0x2f94(0x9)][_0x2f94(0x13)]),_0x299edd[_0x2f94(0x18d)](_0x226d3d,![]);},_0x5a6474=async _0x459f7b=>{const _0x1cbe89={'KCrHO':function(_0x4cb4d8,_0x45cbe2){return _0x299edd[_0x2f94(0x18e)](_0x4cb4d8,_0x45cbe2);},'hFveI':function(_0x48200b,_0x4ee879){return _0x299edd[_0x2f94(0x16c)](_0x48200b,_0x4ee879);},'HJdah':_0x299edd[_0x2f94(0x18f)],'iTKeh':function(_0x301461,_0x595944){return _0x299edd[_0x2f94(0x190)](_0x301461,_0x595944);},'XRItB':_0x299edd[_0x2f94(0x191)],'GiGZj':function(_0x59f99b,_0x318512){return _0x59f99b!==_0x318512;},'madwF':_0x299edd[_0x2f94(0x192)]};(0x0,_haptics['triggerHaptic'])(_haptics['HapticType'][_0x2f94(0x13)]),_0x299edd[_0x2f94(0x14f)](_0x2080b1,_0x459f7b);try{if(_0x299edd[_0x2f94(0x193)](_0x2f94(0x194),_0x299edd[_0x2f94(0x195)])){if(_0x1cbe89[_0x2f94(0x196)](!_0x2a0d51,_0x14b729)&&_0x52f20d[_0x2f94(0x2)])return _0x54933a;var _0x4ad6a9,_0x3a5026,_0x3bbf05={'__proto__':null,'default':_0x169ccf};if(_0x1cbe89[_0x2f94(0x197)](null,_0x15b6c7)||_0x1cbe89['HJdah']!=typeof _0xccf408&&_0x1cbe89['iTKeh'](_0x1cbe89[_0x2f94(0x198)],typeof _0x14cc8f))return _0x3bbf05;if(_0x4ad6a9=_0x3eb44d?_0x3c9972:_0x3506c2){if(_0x4ad6a9[_0x2f94(0x88)](_0x3c1f69))return _0x4ad6a9[_0x2f94(0x11)](_0x4b098d);_0x4ad6a9[_0x2f94(0x12)](_0x56cfc6,_0x3bbf05);}for(const _0x569f17 in _0x3f549c)_0x1cbe89[_0x2f94(0x199)](_0x1cbe89['madwF'],_0x569f17)&&{}[_0x2f94(0x19a)][_0x2f94(0x19b)](_0x2d8684,_0x569f17)&&((_0x3a5026=(_0x4ad6a9=_0x16fc1c[_0x2f94(0x0)])&&_0x2d8e86['getOwnPropertyDescriptor'](_0x345cca,_0x569f17))&&(_0x3a5026[_0x2f94(0x11)]||_0x3a5026[_0x2f94(0x12)])?_0x4ad6a9(_0x3bbf05,_0x569f17,_0x3a5026):_0x3bbf05[_0x569f17]=_0x5c8871[_0x569f17]);return _0x3bbf05;}else await _asyncStorage[_0x2f94(0x1)][_0x2f94(0x115)](_0x299edd['ntKbN'],_0x459f7b),console[_0x2f94(0xa2)](_0x2f94(0x19c)+_0x459f7b);}catch(_0x12e167){console[_0x2f94(0xbc)](_0x299edd['xpgvs'],_0x12e167);}if(_0x58fb3c){if(_0x2f94(0x19d)!==_0x2f94(0x19e))_0x58fb3c(_0x459f7b);else return _0x440a3d[_0x2f94(0xa2)]('✅\x20[WEBVIEW]\x20Rendering\x20OAuthWebView\x20for\x20'+_0x513f79+_0x2f94(0x19f)+_0x2c3f86[_0x2f94(0x15a)](0x0,0x3c)+_0x2f94(0x42)),_0x4fa9c8[_0x2f94(0x1)][_0x2f94(0xf1)](_0x3a3fa6[_0x2f94(0x1a0)],{'url':_0x1dc127,'platform':_0x36fe71,'onClose':_0x3cec0e,'onSuccess':_0x174f86,'onComplete':_0x3a9df6,'username':_0x56dec8});}},_0x2a9e37=()=>{if(_0x299edd[_0x2f94(0x1a1)](_0x299edd[_0x2f94(0x1a2)],_0x2f94(0x4e))){const Linking=_0x299edd[_0x2f94(0x1a3)](__ONAIROS_REQ_FUNC__,0x10)[_0x2f94(0x85)];Linking[_0x2f94(0x86)](_0x299edd[_0x2f94(0x1a4)]);}else _0x299edd['Dcbrj'](_0x549148,![]),_0x299edd[_0x2f94(0x13d)](_0x6e6735,!![]);},_0x3faf89=async _0x20ec93=>{if(_0x299edd[_0x2f94(0x1a5)](_0x299edd[_0x2f94(0x1a6)],_0x299edd[_0x2f94(0x1a6)]))_0x299edd[_0x2f94(0x1a7)](_0x43686c,_0x20ec93),(0x0,_pinStorageUtils[_0x2f94(0x1a8)])(_0x20ec93),_0x299edd[_0x2f94(0x1a9)](_0x3595ac,![]),_0x299edd[_0x2f94(0x1aa)](_0x4e174c,!![]);else{const _0x2f7fb2={'nILVV':function(_0x433e8a,_0x3268b2){return _0x299edd['pVtLF'](_0x433e8a,_0x3268b2);}};if(_0x299edd[_0x2f94(0x18e)](_0x11ff66,!_0x1369eb)){const _0x491ce2=_0x299edd[_0x2f94(0x1ab)](_0x43e8d8,()=>{_0x19c43b(_0x4ae13b=>{const _0x13c540=new _0x452e72(_0x4ae13b);return _0x13c540['add'](_0x5ba89b),_0x13c540;}),(0x0,_0x14f968['triggerHaptic'])(_0x3da78b[_0x2f94(0x9)][_0x2f94(0xce)]),_0x354256['log']('✅\x20[PERSONA]\x20Applied\x20pending\x20connection:\x20'+_0x2a2551),_0x2f7fb2[_0x2f94(0x1ac)](_0x2e7126,null);},0x12c);return()=>_0x33adb9(_0x491ce2);}}},_0x1bd9ba=()=>{_0x299edd[_0x2f94(0x1ad)](_0x4e174c,![]),_0x299edd[_0x2f94(0x7f)](_0x226d3d,!![]);},_0x6677d2=async _0xc69470=>{const _0x1cda04={'uypLi':_0x299edd[_0x2f94(0x1ae)],'qPwQG':function(_0x775db7,_0x5a5594){return _0x299edd['guWum'](_0x775db7,_0x5a5594);},'IIkLV':function(_0x5969b6,_0x21d2e8){return _0x299edd[_0x2f94(0x190)](_0x5969b6,_0x21d2e8);},'wqnWg':function(_0xe5282c,_0x2cdb08){return _0xe5282c!==_0x2cdb08;},'AuDbP':_0x299edd['ztorZ'],'wSqgC':function(_0x530808,_0x579600,_0x47f696,_0xe527ae){return _0x299edd[_0x2f94(0x1af)](_0x530808,_0x579600,_0x47f696,_0xe527ae);},'PwxPb':function(_0x3092c7,_0x45150c){return _0x299edd[_0x2f94(0x1b0)](_0x3092c7,_0x45150c);}};if(_0x5b7a65){if(_0x299edd[_0x2f94(0x1b1)](_0xc69470,_0x299edd[_0x2f94(0x1b2)])||_0x299edd[_0x2f94(0x1b3)](_0xc69470,_0x2f94(0xbc))){_0x299edd[_0x2f94(0x1b4)](_0x367393,_0x5b7a65),_0x299edd[_0x2f94(0x1b5)](_0x46138d,_0x419c9e=>({..._0x419c9e,[_0x5b7a65]:_0x2f94(0xc7)}));try{if(_0x299edd[_0x2f94(0x8c)](_0x2f94(0x52),_0x299edd[_0x2f94(0x1b6)]))_0x170e27&&_0x299edd[_0x2f94(0x1b7)](_0x306c87,_0x4ef7ad);else{const _0x37d016=await _asyncStorage[_0x2f94(0x1)][_0x2f94(0xa4)](_0x2f94(0xa5)),_0x4cbec8=_0x37d016?JSON['parse'](_0x37d016):[];if(!_0x4cbec8['includes'](_0x5b7a65[_0x2f94(0xad)]())){if(_0x299edd[_0x2f94(0x8c)](_0x299edd[_0x2f94(0x1b8)],_0x299edd[_0x2f94(0x1b8)])){if(_0x126cf7[_0x2f94(0x88)](_0x4d954f))return _0x29cf5e[_0x2f94(0x11)](_0x4b6529);_0x3028c2[_0x2f94(0x12)](_0x45d163,_0x1f93e4);}else _0x4cbec8[_0x2f94(0xa8)](_0x5b7a65['toLowerCase']()),await _asyncStorage[_0x2f94(0x1)][_0x2f94(0x115)](_0x299edd[_0x2f94(0x17a)],JSON['stringify'](_0x4cbec8)),console['log'](_0x2f94(0x1b9)+_0x5b7a65+_0x2f94(0x1ba),_0x4cbec8);}}}catch(_0x42d9c9){_0x299edd['crRAG'](_0x299edd[_0x2f94(0x1bb)],_0x299edd[_0x2f94(0x1bb)])?console[_0x2f94(0xbc)](_0x299edd[_0x2f94(0x1ae)],_0x42d9c9):(_0x33064f['push'](..._0x4aecde),_0x34a7ec[_0x2f94(0xa2)](_0x2f94(0x57),_0x2dd187));}(0x0,_webviewScripts[_0x2f94(0x149)])(_0x5b7a65)&&(_0x2f94(0x1bc)!=='syPHU'?(await _asyncStorage['default'][_0x2f94(0x115)](_0x2f94(0xbd)+_0x5b7a65,JSON['stringify']({'connected':!![],'platform':_0x5b7a65,'connectedAt':new Date()['toISOString']()})),console['log'](_0x2f94(0x1bd)+_0x5b7a65+'\x20connection\x20stored\x20locally')):_0x51555['error'](_0x1cda04[_0x2f94(0x1be)],_0xd021d8));if(_0x5b7a65['toLowerCase']()==='linkedin'){if(_0x299edd['PiMxs']!==_0x299edd[_0x2f94(0x1bf)])await _asyncStorage[_0x2f94(0x1)][_0x2f94(0x115)]('@onairos:linkedin_connected',JSON[_0x2f94(0x17e)]({'connected':!![],'platform':_0x299edd[_0x2f94(0x13c)],'connectedAt':new Date()[_0x2f94(0x1c0)]()})),console['log']('✅\x20[LINKEDIN]\x20Connection\x20stored\x20locally');else{const _0x3551f0={'oJuEx':function(_0x5eebc1,_0x3064da){return _0x1cda04[_0x2f94(0x1c1)](_0x5eebc1,_0x3064da);},'CSnwh':function(_0x2ffe20,_0x36b6c2){return _0x1cda04[_0x2f94(0x1c2)](_0x2ffe20,_0x36b6c2);},'sKqSn':function(_0x527250,_0x1b94d4){return _0x1cda04[_0x2f94(0x1c3)](_0x527250,_0x1b94d4);},'Aabuh':_0x1cda04[_0x2f94(0x1c4)],'EFdlL':function(_0x460de4,_0x907267,_0x2dce4d,_0x31ca27){return _0x1cda04['wSqgC'](_0x460de4,_0x907267,_0x2dce4d,_0x31ca27);}};if(_0x1cda04[_0x2f94(0x1c5)]('function',typeof _0x20e7cd))var _0x4c1021=new _0x689030(),_0x11a5fc=new _0x4719cb();return(_0x28d1dd=function(_0x56ab4b,_0x3ccb2b){if(_0x3551f0[_0x2f94(0x1c6)](!_0x3ccb2b,_0x56ab4b)&&_0x56ab4b[_0x2f94(0x2)])return _0x56ab4b;var _0x441a97,_0x42488b,_0x4be8c6={'__proto__':null,'default':_0x56ab4b};if(null===_0x56ab4b||_0x3551f0[_0x2f94(0x1c7)](_0x2f94(0x4),typeof _0x56ab4b)&&_0x3551f0[_0x2f94(0x1c7)](_0x2f94(0x5),typeof _0x56ab4b))return _0x4be8c6;if(_0x441a97=_0x3ccb2b?_0x11a5fc:_0x4c1021){if(_0x441a97[_0x2f94(0x88)](_0x56ab4b))return _0x441a97['get'](_0x56ab4b);_0x441a97[_0x2f94(0x12)](_0x56ab4b,_0x4be8c6);}for(const _0x2bb687 in _0x56ab4b)_0x3551f0['sKqSn'](_0x3551f0[_0x2f94(0x1c8)],_0x2bb687)&&{}[_0x2f94(0x19a)][_0x2f94(0x19b)](_0x56ab4b,_0x2bb687)&&((_0x42488b=(_0x441a97=_0x112b60[_0x2f94(0x0)])&&_0x419d1e[_0x2f94(0x1c9)](_0x56ab4b,_0x2bb687))&&(_0x42488b['get']||_0x42488b['set'])?_0x3551f0['EFdlL'](_0x441a97,_0x4be8c6,_0x2bb687,_0x42488b):_0x4be8c6[_0x2bb687]=_0x56ab4b[_0x2bb687]);return _0x4be8c6;})(_0x4aa7da,_0x5e6aed);}}}else _0x299edd[_0x2f94(0x1ca)](_0x46138d,_0x3694e3=>({..._0x3694e3,[_0x5b7a65]:_0x2f94(0xbc)})),(0x0,_haptics[_0x2f94(0xd9)])(_haptics['HapticType'][_0x2f94(0xa)]);}_0x299edd[_0x2f94(0x1cb)](_0xb190ce,![]),_0x299edd[_0x2f94(0x1cc)](_0x2dc5c5,''),_0x33f041('');};(0x0,_react[_0x2f94(0x79)])(()=>{const _0x43b31f={'gmRuB':function(_0x334360,_0x33de8b){return _0x299edd[_0x2f94(0x18d)](_0x334360,_0x33de8b);},'dmblM':function(_0x3a3830,_0x239fad){return _0x299edd['mCAOi'](_0x3a3830,_0x239fad);},'CzPEP':_0x299edd[_0x2f94(0x1cd)]};if(_0x299edd[_0x2f94(0x1ce)](_0x2f94(0x56),_0x299edd[_0x2f94(0x1cf)])){if(_0x2f08b5&&!_0x2bfc2f){const _0x41506e=setTimeout(()=>{const _0x393913={'XCcxg':function(_0x545657,_0x8069f3){return _0x43b31f['gmRuB'](_0x545657,_0x8069f3);}};if(_0x43b31f[_0x2f94(0x1d0)](_0x2f94(0x1d1),_0x43b31f['CzPEP']))_0x2c6008(_0x22169e=>{const _0x57d09b=new Set(_0x22169e);return _0x57d09b[_0x2f94(0x89)](_0x2f08b5),_0x57d09b;}),(0x0,_haptics['triggerHaptic'])(_haptics[_0x2f94(0x9)][_0x2f94(0xce)]),console[_0x2f94(0xa2)](_0x2f94(0xcf)+_0x2f08b5),_0x43b31f[_0x2f94(0x1d2)](_0x367393,null);else{_0x393913[_0x2f94(0x1d3)](_0x38b076,_0x4b1043);return;}},0x12c);return()=>clearTimeout(_0x41506e);}}else _0x299edd[_0x2f94(0x1d4)](_0x469338,_0x8adc80=>{const _0x2b8012=new _0x525c4b(_0x8adc80);return _0x2b8012['add'](_0xefcb53),_0x2b8012;}),(0x0,_0x21b5ce[_0x2f94(0xd9)])(_0x5df190[_0x2f94(0x9)]['SUCCESS']),_0x446680['log'](_0x2f94(0xcf)+_0x1a5e05),_0x299edd[_0x2f94(0x7f)](_0x2c6695,null);},[_0x2f08b5,_0x2bfc2f]);const _0x23e1d6=()=>{const _0x49ea4f={'RsTsC':_0x299edd[_0x2f94(0x1d5)]};if('PiKMr'===_0x299edd[_0x2f94(0x1d6)]){const _0xb5e99c=_0xa0b1fa['parse'](_0x3d66b1);_0x26cd41['isArray'](_0xb5e99c)&&(_0x327222[_0x2f94(0xa8)](..._0xb5e99c),_0xadc40c[_0x2f94(0xa2)](_0x49ea4f[_0x2f94(0x1d7)],_0xb5e99c));}else _0x299edd[_0x2f94(0x1d8)](_0xb190ce,![]),_0x2dc5c5(''),_0x5b7a65&&(_0x299edd['ZRUda'](_0x299edd[_0x2f94(0x1d9)],_0x299edd[_0x2f94(0x1da)])?(_0x44748b['push'](_0x567f98),_0x49cce5['log'](_0x2f94(0x1db)+_0x46e6f9)):_0x299edd[_0x2f94(0x15d)](_0x46138d,_0x38a333=>({..._0x38a333,[_0x5b7a65]:'disconnected'}))),_0x299edd[_0x2f94(0x1dc)](_0x33f041,'');},_0x10648c=()=>{_0x3595ac(![]);},_0x52d800=()=>{_0x299edd[_0x2f94(0x1dd)](_0x299edd[_0x2f94(0x1de)],_0x2f94(0x1df))?_0x24295f&&_0x299edd[_0x2f94(0x1e0)](_0x24295f):(_0x200781[_0x2f94(0x89)](_0x50a2ce),_0x5d1ba1=!![]);},_0x3bbe3d=()=>{const _0xb62682={'xsaXW':function(_0x4a548c){return _0x299edd[_0x2f94(0x1e1)](_0x4a548c);}};_reactNative[_0x2f94(0x76)]['timing'](_0x9c33d5,{'toValue':0x1,'duration':0xfa0,'useNativeDriver':![]})[_0x2f94(0x11e)]();const _0x1cc489=_0x299edd[_0x2f94(0x1e2)](setTimeout,()=>{(0x0,_haptics[_0x2f94(0xd9)])(_haptics[_0x2f94(0x9)][_0x2f94(0xce)]),_reactNative[_0x2f94(0x1e3)][_0x2f94(0x1e4)]([0x0,0x64,0x32,0x64]),_0xb62682[_0x2f94(0x1e5)](_0x52d800);},0xfa0);_0x299edd['BBllX'](_0x5ac502,_0x1cc489);},_0x2127cf=()=>{const _0x14a41d={'mskUy':function(_0x1814df,_0x513595){return _0x299edd[_0x2f94(0x1e6)](_0x1814df,_0x513595);},'YgyEe':function(_0x2add81,_0x3c631d){return _0x2add81===_0x3c631d;}};if(_0x299edd['txMOy'](_0x2f94(0x1e7),_0x299edd[_0x2f94(0x1e8)]))_0x419f8a&&_0x120cc9['Animated'][_0x2f94(0x11c)](_0x58c900[_0x2f94(0x76)][_0x2f94(0x1e9)]([_0x59162f['Animated']['timing'](_0x4458d9,{'toValue':0x1,'duration':0x3e8,'useNativeDriver':!![]}),_0x18df8b[_0x2f94(0x76)]['timing'](_0x10a50c,{'toValue':0x0,'duration':0x3e8,'useNativeDriver':!![]})]))[_0x2f94(0x11e)]();else{if(_0xede2a9){if(_0x299edd['oDKRD'](_0x299edd[_0x2f94(0x1ea)],_0x299edd['vzNwX']))_0x299edd['MbMiI'](clearTimeout,_0xede2a9),_0x299edd[_0x2f94(0x1eb)](_0x5ac502,null);else{var _0x25d513;const _0x42bb89=_0x14a41d['mskUy'](_0x25d513=_0xef42da[_0x2f94(0xac)],null)||_0x14a41d[_0x2f94(0x1ec)](_0x25d513,void 0x0)?void 0x0:_0x25d513['toLowerCase']();_0x42bb89&&!_0x5c302c[_0x2f94(0xae)](_0x42bb89)&&_0x171212['push'](_0x42bb89);}}_0x9c33d5[_0x2f94(0x1ed)](0x0),_reactNative[_0x2f94(0x76)][_0x2f94(0x11d)](_0x9c33d5,{'toValue':0x0,'duration':0xc8,'useNativeDriver':![]})[_0x2f94(0x11e)]();}};(0x0,_react[_0x2f94(0x79)])(()=>{return()=>{_0xede2a9&&_0x299edd[_0x2f94(0x138)](clearTimeout,_0xede2a9);};},[_0xede2a9]),(0x0,_react['useEffect'])(()=>{(_0x2bfc2f||_0x85632d)&&console[_0x2f94(0xa2)](_0x2f94(0x157)+_0x2bfc2f+_0x2f94(0x158)+(_0x85632d?_0x299edd[_0x2f94(0x16a)](_0x2f94(0x3d),_0x85632d[_0x2f94(0x15a)](0x0,0x28))+_0x299edd[_0x2f94(0x1ee)]:_0x299edd['vpaWg']));},[_0x2bfc2f,_0x85632d]);const _0x30e749=Math[_0x2f94(0x1ef)](0x5,Math[_0x2f94(0x1f0)](0x1,_0x299edd[_0x2f94(0x1f1)](_0x40ab36[_0x2f94(0x8a)],0x1))),_0x301274=0x78,_0x2d0f9d=0x46;if(_0x5b1f2d)return _react['default']['createElement'](_PinCreationScreen[_0x2f94(0x1)],{'visible':_0x5b1f2d,'onComplete':_0x3faf89,'onBack':_0x10648c});if(_0x3cd3e9)return _react[_0x2f94(0x1)][_0x2f94(0xf1)](_PersonaLoadingScreen[_0x2f94(0x1)],{'visible':_0x3cd3e9,'onComplete':_0x1bd9ba});if(_0x299edd['guWum'](_0x2bfc2f,_0x85632d))return console[_0x2f94(0xa2)](_0x2f94(0x1f2)+_0x5b7a65+_0x2f94(0x19f)+_0x85632d[_0x2f94(0x15a)](0x0,0x3c)+'...'),_react[_0x2f94(0x1)][_0x2f94(0xf1)](_OAuthWebView[_0x2f94(0x1a0)],{'url':_0x85632d,'platform':_0x5b7a65,'onClose':_0x23e1d6,'onSuccess':_0x6677d2,'onComplete':_0x23e1d6,'username':_0x1e32b1});const _0x48d259=()=>{if(_0x299edd[_0x2f94(0x1f3)]!==_0x2f94(0x1f4))(0x0,_haptics[_0x2f94(0xd9)])(_haptics['HapticType']['BUTTON_PRESS']),_0x299edd[_0x2f94(0x1f5)](_0x226d3d,![]);else{const _0x4f1004=_0x5bc419[_0x2f94(0xa6)](_0xd6dcf6);_0x4f1004[_0x2f94(0xc7)]&&!_0x29f5cf['includes'](_0x250045)&&(_0x251f1b['push'](_0x50d551),_0xfa9406[_0x2f94(0xa2)](_0x2f94(0x1db)+_0x362427));}};if(_0x40ff47){if(_0x299edd[_0x2f94(0x1f6)](_0x299edd['KLpzK'],_0x299edd[_0x2f94(0x1f7)]))return _react[_0x2f94(0x1)][_0x2f94(0xf1)](_PersonalizationConsentScreen[_0x2f94(0x1)],{'visible':_0x40ff47,'onAccept':_0x1e0049,'onDecline':_0x1d9c1c,'connectedPlatforms':Array['from'](_0x40ab36),'onConnectMore':_0x48d259,'loading':_0x33f8aa});else _0x299edd[_0x2f94(0x1cb)](_0x1a0053,![]),_0x299edd[_0x2f94(0x15f)](_0x4da392,''),_0x388d31&&_0x299edd['nSOPn'](_0x2394d5,_0x2d5dbb=>({..._0x2d5dbb,[_0xe6375b]:_0x2f94(0x177)})),_0x299edd[_0x2f94(0x1f8)](_0x107e93,'');}return _react['default'][_0x2f94(0xf1)](_reactNative[_0x2f94(0x103)],{'style':styles[_0x2f94(0x1f9)]},_react['default'][_0x2f94(0xf1)](_reactNative['ScrollView'],{'style':styles['scrollContent'],'showsVerticalScrollIndicator':![],'bounces':!![]},_0x454761&&_react[_0x2f94(0x1)]['createElement'](_reactNative[_0x2f94(0xf2)],{'style':styles[_0x2f94(0x1fa)],'onPress':_0x454761,'activeOpacity':0.7},_react[_0x2f94(0x1)][_0x2f94(0xf1)](_reactNative['Text'],{'style':styles['backButtonText']},'‹')),_react['default']['createElement'](_reactNative['View'],{'style':styles[_0x2f94(0x1fb)]},_react[_0x2f94(0x1)]['createElement'](_reactNative[_0x2f94(0x1fc)],{'style':styles['title']},_0x2f94(0x1fd)),_react[_0x2f94(0x1)][_0x2f94(0xf1)](_reactNative[_0x2f94(0x1fc)],{'style':styles[_0x2f94(0x1fe)]},_0x299edd[_0x2f94(0x1ff)])),_react[_0x2f94(0x1)]['createElement'](_reactNative['View'],{'style':styles['personaContainer']},_react[_0x2f94(0x1)][_0x2f94(0xf1)](_PersonaImage[_0x2f94(0x1)],{'level':_0x30e749,'style':styles[_0x2f94(0x200)]}),_react['default'][_0x2f94(0xf1)](_reactNative[_0x2f94(0x201)],{'ref':_0xc3216,'horizontal':!![],'style':[styles['platformIconsOverlay'],{'bottom':_0x301274}],'contentContainerStyle':[styles[_0x2f94(0x202)],_0x299edd[_0x2f94(0x203)](_0x1cb543['length'],0x4)&&styles['platformIconsCentered']],'showsHorizontalScrollIndicator':![],'onScroll':_0x4bd0b2,'scrollEventThrottle':0x10,'decelerationRate':_0x299edd[_0x2f94(0x204)],'scrollEnabled':_0x1cb543[_0x2f94(0x7d)]>0x4},_0x1cb543[_0x2f94(0xb5)](_0x35fb82=>{const _0x191399={'kYHCH':function(_0x5702f9,_0xb1ab7f){return _0x299edd[_0x2f94(0x205)](_0x5702f9,_0xb1ab7f);},'lEyed':_0x299edd[_0x2f94(0x206)],'nhQJZ':'WFgsC','dXjSz':function(_0x56b9aa,_0x553969){return _0x299edd[_0x2f94(0x1a9)](_0x56b9aa,_0x553969);}},_0x5dd331=_0x299edd[_0x2f94(0x205)](_0x20db75,_0x35fb82['id']),_0x3403fb=_0x40ab36['has'](_0x35fb82['id']),_0x3303ec=_0x299edd['VpuYZ'](_0x50ba36[_0x35fb82['id']],_0x299edd[_0x2f94(0xdc)]);return _react['default']['createElement'](_reactNative[_0x2f94(0xf2)],{'key':_0x35fb82['id'],'style':[styles['platformIconButton'],_0x5dd331&&styles[_0x2f94(0xf4)]],'onPress':()=>{_0x191399[_0x2f94(0x207)](_0x191399[_0x2f94(0x208)],_0x191399[_0x2f94(0x209)])?_0x12062a(![]):((0x0,_haptics['triggerHaptic'])(_haptics[_0x2f94(0x9)][_0x2f94(0x13)]),_0x191399[_0x2f94(0x20a)](_0xae6416,_0x35fb82['id']));},'activeOpacity':0.7},_react['default'][_0x2f94(0xf1)](_reactNative[_0x2f94(0xf5)],{'source':_0x35fb82[_0x2f94(0xf6)],'style':[styles['platformIcon'],_0x299edd[_0x2f94(0x1ce)](_0x35fb82['id'],_0x299edd[_0x2f94(0xdd)])&&styles[_0x2f94(0xf9)],_0x299edd['yTyjn'](_0x35fb82['id'],_0x299edd[_0x2f94(0x12a)])&&styles[_0x2f94(0x20b)],_0x299edd[_0x2f94(0x20c)](_0x35fb82['id'],_0x299edd['COjwg'])&&styles[_0x2f94(0xfc)],_0x299edd[_0x2f94(0x20d)](_0x35fb82['id'],_0x299edd['JgEUJ'])&&styles[_0x2f94(0xfe)],_0x299edd[_0x2f94(0x161)](_0x35fb82['id'],_0x299edd[_0x2f94(0xde)])&&styles['claudeIcon'],_0x299edd[_0x2f94(0x20e)](_0x35fb82['id'],'grok')&&styles[_0x2f94(0x101)]],'resizeMode':_0x299edd[_0x2f94(0xdf)]}),_0x3303ec&&_react['default'][_0x2f94(0xf1)](_reactNative[_0x2f94(0x103)],{'style':styles['connectingDot']}),_0x3403fb&&_react['default']['createElement'](_reactNative[_0x2f94(0x103)],{'style':styles[_0x2f94(0x105)]}));})),_0x299edd['gbiLe'](_0x1cb543['length'],0x4)&&_react[_0x2f94(0x1)]['createElement'](_reactNative[_0x2f94(0x103)],{'style':[styles['pageIndicatorContainer'],{'bottom':_0x2d0f9d}]},_react[_0x2f94(0x1)][_0x2f94(0xf1)](_reactNative[_0x2f94(0x103)],{'style':styles[_0x2f94(0x20f)]},_react[_0x2f94(0x1)][_0x2f94(0xf1)](_reactNative[_0x2f94(0x103)],{'style':[styles[_0x2f94(0x210)],{'left':_0x299edd[_0x2f94(0x211)](_0x2e6f12,0x38)}]}))),_0x1fb779&&_0x299edd[_0x2f94(0x212)](_0x1cb543[_0x2f94(0x7d)],0x4)&&_react['default'][_0x2f94(0xf1)](_reactNative['Animated'][_0x2f94(0x103)],{'style':[styles[_0x2f94(0x213)],{'transform':[{'translateX':_0x3bea1f['interpolate']({'inputRange':[0x0,0x1],'outputRange':[0x0,0x8]})}],'opacity':_0x3bea1f[_0x2f94(0x214)]({'inputRange':[0x0,0x1],'outputRange':[0.5,0x1]})}]},_react[_0x2f94(0x1)]['createElement'](_reactNative[_0x2f94(0x1fc)],{'style':styles[_0x2f94(0x215)]},'›'))),_react[_0x2f94(0x1)]['createElement'](_reactNative[_0x2f94(0x103)],{'style':styles['cardContainer']},_0x20db75&&((()=>{if(_0x299edd[_0x2f94(0x216)]!==_0x299edd[_0x2f94(0x217)]){const _0x450c35=_0x1cb543['find'](_0xa2142=>_0xa2142['id']===_0x20db75);if(!_0x450c35)return null;const _0x5f2915=_0x40ab36[_0x2f94(0x88)](_0x20db75),_0x1fba32=_0x50ba36[_0x20db75]===_0x299edd[_0x2f94(0xdc)],_0x52a406=_0x2a08cf===null||_0x299edd[_0x2f94(0x218)](_0x2a08cf,void 0x0)?void 0x0:_0x2a08cf[_0x2f94(0xae)](_0x20db75);return _react[_0x2f94(0x1)]['createElement'](_reactNative[_0x2f94(0x103)],{'style':styles['platformCard']},_react[_0x2f94(0x1)]['createElement'](_reactNative[_0x2f94(0x103)],{'style':styles['cardHeader']},_react[_0x2f94(0x1)][_0x2f94(0xf1)](_reactNative[_0x2f94(0x1fc)],{'style':styles['platformCardTitle']},_0x450c35[_0x2f94(0x10d)]),_0x52a406&&_react[_0x2f94(0x1)]['createElement'](_reactNative['View'],{'style':styles[_0x2f94(0x219)]},_react['default'][_0x2f94(0xf1)](_reactNative['Text'],{'style':styles[_0x2f94(0x21a)]},_0x299edd[_0x2f94(0x21b)])),_react['default']['createElement'](_reactNative[_0x2f94(0xf2)],{'activeOpacity':0.8,'onPress':()=>!_0x1fba32&&_0xf57fba(_0x20db75,!_0x5f2915),'disabled':_0x1fba32,'style':[styles[_0x2f94(0x21c)],{'backgroundColor':_0x5f2915?_0x299edd[_0x2f94(0x21d)]:_0x299edd[_0x2f94(0x21e)]}]},_react[_0x2f94(0x1)][_0x2f94(0xf1)](_reactNative[_0x2f94(0x103)],{'style':[styles[_0x2f94(0x21f)],{'transform':[{'translateX':_0x5f2915?0x14:0x0}]}]}))),_react['default']['createElement'](_reactNative['View'],{'style':styles[_0x2f94(0x220)]},_react['default']['createElement'](_reactNative[_0x2f94(0x1fc)],{'style':styles[_0x2f94(0x221)]},_0x450c35[_0x2f94(0x222)])));}else _0x5e6018[_0x2f94(0xa2)](_0x2f94(0x14d)+_0x2e479f+_0x2f94(0x14e),_0x18bcce),_0x299edd[_0x2f94(0x15f)](_0x3501a0,_0xd717c7),_0x23c7f4(!![]);})())),_react[_0x2f94(0x1)][_0x2f94(0xf1)](_reactNative[_0x2f94(0x103)],{'style':styles[_0x2f94(0x223)]},_react[_0x2f94(0x1)][_0x2f94(0xf1)](_reactNative[_0x2f94(0x1fc)],{'style':styles[_0x2f94(0x224)]},_0x299edd[_0x2f94(0x225)]),_react[_0x2f94(0x1)][_0x2f94(0xf1)](_reactNative['Text'],{'style':styles[_0x2f94(0x226)]},_0x299edd['bVUIL']),_react[_0x2f94(0x1)]['createElement'](_reactNative[_0x2f94(0x103)],{'style':styles[_0x2f94(0x227)]},MODEL_REFRESH_OPTIONS['map'](_0x3f9ca5=>_react[_0x2f94(0x1)]['createElement'](_reactNative['TouchableOpacity'],{'key':_0x3f9ca5[_0x2f94(0x228)],'style':[styles[_0x2f94(0x229)],_0x4c1b20===_0x3f9ca5[_0x2f94(0x228)]&&styles[_0x2f94(0x22a)]],'onPress':()=>_0x5a6474(_0x3f9ca5['value']),'activeOpacity':0.7},_react[_0x2f94(0x1)]['createElement'](_reactNative[_0x2f94(0x1fc)],{'style':[styles[_0x2f94(0x22b)],_0x4c1b20===_0x3f9ca5[_0x2f94(0x228)]&&styles['refreshSegmentTextSelected']]},_0x3f9ca5[_0x2f94(0x22c)])))),_react[_0x2f94(0x1)]['createElement'](_reactNative[_0x2f94(0x1fc)],{'style':styles[_0x2f94(0x22d)]},(_0x299edd['XeAAF'](_0x3d5365=MODEL_REFRESH_OPTIONS['find'](_0x79a4d9=>_0x79a4d9[_0x2f94(0x228)]===_0x4c1b20),null)||_0x299edd['vmZHS'](_0x3d5365,void 0x0)?void 0x0:_0x3d5365[_0x2f94(0x222)])||'')),_react[_0x2f94(0x1)]['createElement'](_reactNative[_0x2f94(0x103)],{'style':styles[_0x2f94(0x22e)]},_react['default']['createElement'](_reactNative[_0x2f94(0x103)],{'style':styles[_0x2f94(0x22f)]},_react[_0x2f94(0x1)][_0x2f94(0xf1)](_PrimaryButton[_0x2f94(0x1)],{'label':_0x299edd[_0x2f94(0x230)],'onPress':_0x310403,'disabled':loading||_0x40ab36[_0x2f94(0x8a)]===0x0||_0x19a08c||_0x5ded34,'loading':_0x299edd['mHIqx'](loading,_0x19a08c)||_0x5ded34}),_react[_0x2f94(0x1)]['createElement'](_reactNative[_0x2f94(0xf2)],{'style':styles['buttonOverlay'],'activeOpacity':0x1,'onPressIn':_0x3bbe3d,'onPressOut':_0x2127cf,'onPress':()=>{if(_0x299edd[_0x2f94(0xe5)]('SFcMp',_0x2f94(0x231)))_0x299edd[_0x2f94(0x232)](_0x40ab36[_0x2f94(0x8a)],0x0)&&!loading&&!_0x19a08c&&!_0x5ded34&&_0x310403();else{const _0x42f090=new _0x1f35e3(_0x553362);let _0x5d8e99=![];return _0x2a1620['forEach'](_0x5aa86c=>{!_0x42f090[_0x2f94(0x88)](_0x5aa86c)&&(_0x42f090[_0x2f94(0x89)](_0x5aa86c),_0x5d8e99=!![]);}),_0x5d8e99?_0x42f090:_0x55845c;}}},_react[_0x2f94(0x1)][_0x2f94(0xf1)](_reactNative['Animated'][_0x2f94(0x103)],{'style':[styles['holdProgressBar'],{'width':_0x9c33d5['interpolate']({'inputRange':[0x0,0x1],'outputRange':['0%',_0x299edd['CPrKT']]})}]}))),_0x3ec1bc&&_react[_0x2f94(0x1)][_0x2f94(0xf1)](_reactNative[_0x2f94(0xf2)],{'style':styles[_0x2f94(0x233)],'onPress':_0x376faa},_react[_0x2f94(0x1)][_0x2f94(0xf1)](_reactNative[_0x2f94(0x1fc)],{'style':styles['skipButtonText']},_0x299edd[_0x2f94(0x234)])))));},styles=_reactNative['StyleSheet'][_0x2f94(0x235)]({'container':{'flex':0x1,'backgroundColor':_theme[_0x2f94(0x236)][_0x2f94(0x237)],'paddingHorizontal':0x18},'backButton':{'width':0x20,'height':0x20,'borderRadius':0x10,'backgroundColor':_0x2f94(0x238),'alignItems':'center','justifyContent':_0x2f94(0x239),'marginBottom':0x2},'backButtonText':{'fontSize':0x16,'fontWeight':_0x2f94(0x23a),'color':'#1C1C1E','marginTop':-0x2},'scrollContent':{'flex':0x1},'headingContainer':{'width':_0x2f94(0x23b),'marginBottom':_theme['SPACING']['sm'],'paddingTop':0x0,'marginTop':0x0},'title':{'fontFamily':'IBM\x20Plex\x20Sans','fontWeight':_0x2f94(0x23c),'fontSize':0x18,'lineHeight':0x20,'color':_theme['COLORS']['grey800'],'textAlign':_0x2f94(0x23d),'marginBottom':0x4},'subtitle':{'fontFamily':'Inter','fontWeight':_0x2f94(0x23e),'fontSize':0x10,'lineHeight':0x18,'color':_theme['COLORS'][_0x2f94(0x23f)],'textAlign':'left'},'personaContainer':{'alignItems':_0x2f94(0x239),'position':_0x2f94(0x240),'marginTop':-0x14,'marginBottom':-0x78,'height':0x1c2},'largePersona':{'width':0x1f4,'height':0x1f4},'platformIconsOverlay':{'position':_0x2f94(0x241),'width':_0x2f94(0x23b),'height':0x46,'zIndex':0xa},'platformIconsScrollContent':{'flexDirection':_0x2f94(0x242),'alignItems':_0x2f94(0x239),'paddingHorizontal':0x14,'gap':0x18},'platformIconsCentered':{'flexGrow':0x1,'justifyContent':'center'},'platformIconButton':{'width':0x34,'height':0x34,'borderRadius':0x1a,'backgroundColor':_0x2f94(0x243),'justifyContent':_0x2f94(0x239),'alignItems':'center','borderWidth':0x3,'borderColor':_0x2f94(0x244),'shadowColor':'#000','shadowOffset':{'width':0x0,'height':0x2},'shadowOpacity':0.15,'shadowRadius':0x4,'elevation':0x4},'platformIconButtonSelected':{'borderColor':_0x2f94(0x245),'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':_0x2f94(0x241),'top':0x2,'right':0x2,'width':0xc,'height':0xc,'borderRadius':0x6,'backgroundColor':'#FFA500','borderWidth':0x2,'borderColor':_theme[_0x2f94(0x236)][_0x2f94(0x237)]},'connectedDot':{'position':_0x2f94(0x241),'top':0x2,'right':0x2,'width':0xc,'height':0xc,'borderRadius':0x6,'backgroundColor':'#10B981','borderWidth':0x2,'borderColor':_theme['COLORS'][_0x2f94(0x237)]},'cardContainer':{'alignItems':'center','marginTop':0x10,'marginBottom':_theme[_0x2f94(0x246)]['md']},'platformCard':{'width':0x147,'backgroundColor':_0x2f94(0x243),'borderRadius':0x10,'padding':0x8,'shadowColor':_0x2f94(0x247),'shadowOffset':{'width':0x0,'height':0x2},'shadowOpacity':0.1,'shadowRadius':0x8,'elevation':0x3,'gap':0xa},'cardHeader':{'flexDirection':'row','alignItems':_0x2f94(0x239),'justifyContent':_0x2f94(0x248)},'platformCardTitle':{'fontSize':0x10,'fontWeight':_0x2f94(0x23a),'color':_theme[_0x2f94(0x236)][_0x2f94(0x249)],'fontFamily':'IBM\x20Plex\x20Sans'},'recommendedBadge':{'backgroundColor':_0x2f94(0x24a),'paddingHorizontal':0xc,'paddingVertical':0x6,'borderRadius':0x10,'marginLeft':0x8},'recommendedBadgeText':{'fontSize':0xc,'fontWeight':_0x2f94(0x23a),'color':_0x2f94(0x24b),'fontFamily':_0x2f94(0x24c)},'customToggleTrack':{'width':0x32,'height':0x1e,'borderRadius':0xf,'padding':0x2,'marginLeft':'auto','marginRight':0x8,'justifyContent':_0x2f94(0x239)},'customToggleThumb':{'width':0x1a,'height':0x1a,'borderRadius':0xd,'backgroundColor':_0x2f94(0x243),'shadowColor':_0x2f94(0x247),'shadowOffset':{'width':0x0,'height':0x2},'shadowOpacity':0.2,'shadowRadius':0x2,'elevation':0x2},'descriptionContainer':{'backgroundColor':_0x2f94(0x24d),'borderRadius':0x8,'padding':0x8},'platformCardDescription':{'fontSize':0xd,'lineHeight':0x12,'color':_theme[_0x2f94(0x236)][_0x2f94(0x23f)],'fontFamily':_0x2f94(0x24e)},'refreshFrequencySection':{'paddingHorizontal':0x10,'paddingVertical':0x14,'marginTop':0xc,'backgroundColor':_0x2f94(0x24f),'borderRadius':0x10,'marginHorizontal':_theme[_0x2f94(0x246)]['md'],'marginBottom':0x8,'borderWidth':0x1,'borderColor':'#E0E0E4'},'refreshFrequencyTitle':{'fontSize':0x11,'fontWeight':_0x2f94(0x23c),'color':_0x2f94(0x250),'fontFamily':_0x2f94(0x24c),'marginBottom':0x4},'refreshFrequencyDescription':{'fontSize':0xe,'color':_0x2f94(0x251),'fontFamily':_0x2f94(0x24e),'fontWeight':_0x2f94(0x23e),'marginBottom':0x10},'refreshSegmentedControl':{'flexDirection':_0x2f94(0x242),'backgroundColor':'#E8E8ED','borderRadius':0xc,'padding':0x3},'refreshSegment':{'flex':0x1,'paddingVertical':0xa,'alignItems':_0x2f94(0x239),'justifyContent':_0x2f94(0x239),'borderRadius':0xa},'refreshSegmentSelected':{'backgroundColor':_0x2f94(0x250),'shadowColor':'#000','shadowOffset':{'width':0x0,'height':0x2},'shadowOpacity':0.15,'shadowRadius':0x4,'elevation':0x3},'refreshSegmentText':{'fontSize':0xf,'fontFamily':'Inter','fontWeight':_0x2f94(0x252),'color':_0x2f94(0x251)},'refreshSegmentTextSelected':{'fontWeight':_0x2f94(0x23c),'color':_0x2f94(0x243)},'refreshFrequencyHint':{'fontSize':0xd,'fontFamily':_0x2f94(0x24e),'fontWeight':_0x2f94(0x23e),'color':'#8E8E93','textAlign':_0x2f94(0x239),'marginTop':0xc},'privacyLinkContainer':{'marginTop':0x10,'paddingTop':0x10,'borderTopWidth':0x1,'borderTopColor':_0x2f94(0x253),'alignItems':_0x2f94(0x239)},'privacyLinkText':{'fontSize':0xe,'color':_0x2f94(0x254),'fontFamily':_0x2f94(0x24e),'fontWeight':'500'},'bottomButtonContainer':{'paddingTop':0x8,'paddingBottom':0x0,'paddingHorizontal':_theme[_0x2f94(0x246)]['md']},'buttonWrapper':{'position':_0x2f94(0x240)},'buttonOverlay':{'position':_0x2f94(0x241),'top':0x0,'left':0x0,'right':0x0,'bottom':0x0,'borderRadius':0xc,'overflow':_0x2f94(0x255)},'holdProgressBar':{'position':'absolute','bottom':0x0,'left':0x0,'height':0x4,'backgroundColor':_0x2f94(0x62),'borderRadius':0x2},'skipButton':{'alignItems':_0x2f94(0x239),'paddingVertical':0xa,'marginBottom':0x22},'skipButtonText':{'fontSize':0x10,'fontFamily':'Inter','fontWeight':_0x2f94(0x252),'color':_theme['COLORS'][_0x2f94(0x23f)]},'pageIndicatorContainer':{'position':_0x2f94(0x241),'alignSelf':_0x2f94(0x239),'zIndex':0xb},'scrollBarTrack':{'width':0x50,'height':0x4,'backgroundColor':_theme[_0x2f94(0x236)][_0x2f94(0x256)],'borderRadius':0x2,'position':_0x2f94(0x240),'overflow':_0x2f94(0x255)},'scrollBarThumb':{'position':'absolute','width':0x18,'height':0x4,'backgroundColor':_theme[_0x2f94(0x236)][_0x2f94(0x23f)],'borderRadius':0x2,'left':0x0},'scrollIndicator':{'position':'absolute','bottom':0x3c,'right':0x1e,'zIndex':0xc},'scrollIndicatorText':{'fontSize':0x20,'color':_theme[_0x2f94(0x236)][_0x2f94(0x257)],'fontWeight':_0x2f94(0x258)}});var _default=exports['default']=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