@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.
- package/lib/commonjs/api/index.js +219 -9
- package/lib/commonjs/assets/icons/spotify.png +0 -0
- package/lib/commonjs/assets/images/spotify.png +0 -0
- package/lib/commonjs/components/BodyText.js +27 -9
- package/lib/commonjs/components/BrandMark.js +111 -10
- package/lib/commonjs/components/CodeInput.js +116 -9
- package/lib/commonjs/components/EmailInput.js +30 -8
- package/lib/commonjs/components/GoogleButton.js +56 -9
- package/lib/commonjs/components/HeadingGroup.js +43 -9
- package/lib/commonjs/components/LLMDataInputModal.js +664 -14
- package/lib/commonjs/components/ModalHeader.js +99 -9
- package/lib/commonjs/components/ModalSheet.js +47 -9
- package/lib/commonjs/components/Onairos.js +380 -14
- package/lib/commonjs/components/OnairosButton.js +313 -13
- package/lib/commonjs/components/OnairosSignInButton.js +130 -12
- package/lib/commonjs/components/Overlay.js +465 -13
- package/lib/commonjs/components/PersonaImage.js +137 -10
- package/lib/commonjs/components/PersonaLoadingScreen.js +318 -12
- package/lib/commonjs/components/PersonalizationConsentScreen.js +467 -13
- package/lib/commonjs/components/PinCreationScreen.js +403 -12
- package/lib/commonjs/components/PinInput.js +464 -9
- package/lib/commonjs/components/PlatformConnectorsStep.js +1311 -23
- package/lib/commonjs/components/PlatformList.js +137 -10
- package/lib/commonjs/components/PlatformToggle.js +180 -9
- package/lib/commonjs/components/PrimaryButton.js +180 -10
- package/lib/commonjs/components/SignInMatchAnimation.js +197 -9
- package/lib/commonjs/components/SignInStep.js +345 -12
- package/lib/commonjs/components/UniversalOnboarding.js +2780 -30
- package/lib/commonjs/components/VerificationStep.js +176 -11
- package/lib/commonjs/components/WelcomeScreen.js +461 -22
- package/lib/commonjs/components/icons/Basicproficon.js +37 -8
- package/lib/commonjs/components/icons/Basicprofile.js +21 -8
- package/lib/commonjs/components/icons/Checkbox.js +21 -8
- package/lib/commonjs/components/icons/Checkmark.js +27 -8
- package/lib/commonjs/components/icons/Contentanalysis.js +21 -8
- package/lib/commonjs/components/icons/Contenticon.js +39 -8
- package/lib/commonjs/components/icons/EnochE.js +41 -8
- package/lib/commonjs/components/icons/Personalityicon.js +30 -8
- package/lib/commonjs/components/icons/Personalityprofile.js +21 -8
- package/lib/commonjs/components/icons/Personalitytraits.js +21 -8
- package/lib/commonjs/components/icons/Userpreferences.js +21 -8
- package/lib/commonjs/components/icons/index.js +84 -17
- package/lib/commonjs/components/onboarding/OAuthWebView.js +1754 -18
- package/lib/commonjs/components/onboarding/OnboardingHeader.js +74 -10
- package/lib/commonjs/components/onboarding/PinInput.js +283 -10
- package/lib/commonjs/components/onboarding/PlatformConnector.js +249 -11
- package/lib/commonjs/config/PLATFORM_APIS.md +849 -0
- package/lib/commonjs/config/api.js +56 -7
- package/lib/commonjs/constants/index.js +120 -7
- package/lib/commonjs/context/AuthContext.js +345 -10
- package/lib/commonjs/hooks/useConnectedAccounts.js +111 -9
- package/lib/commonjs/hooks/useConnections.js +102 -8
- package/lib/commonjs/hooks/useCredentials.js +178 -10
- package/lib/commonjs/hooks/useUserConnections.js +148 -10
- package/lib/commonjs/index.js +439 -34
- package/lib/commonjs/services/apiClient.js +298 -8
- package/lib/commonjs/services/biometricPinService.js +180 -8
- package/lib/commonjs/services/chatGPTConversationExtractor.js +155 -8
- package/lib/commonjs/services/chatGPTConversationService.js +275 -9
- package/lib/commonjs/services/claudeConversationExtractor.js +103 -8
- package/lib/commonjs/services/claudeConversationService.js +158 -9
- package/lib/commonjs/services/connectedAccountsService.js +310 -10
- package/lib/commonjs/services/googleAuthService.js +252 -11
- package/lib/commonjs/services/hingeDataExtractor.js +105 -8
- package/lib/commonjs/services/hingeDataService.js +150 -9
- package/lib/commonjs/services/imageCompressionService.js +260 -7
- package/lib/commonjs/services/instagramDataExtractor.js +126 -8
- package/lib/commonjs/services/instagramDataService.js +163 -9
- package/lib/commonjs/services/jwtStorageService.js +276 -7
- package/lib/commonjs/services/linkedinDOMExtractor.js +245 -7
- package/lib/commonjs/services/linkedinProfileService.js +222 -9
- package/lib/commonjs/services/linkedinScrapingService.js +230 -8
- package/lib/commonjs/services/llmDataStorage.js +294 -8
- package/lib/commonjs/services/mobileTrainingService.js +186 -8
- package/lib/commonjs/services/netflixDataExtractor.js +120 -8
- package/lib/commonjs/services/netflixDataService.js +198 -9
- package/lib/commonjs/services/pinEncryptionService.js +84 -8
- package/lib/commonjs/services/pinStorageUtils.js +105 -7
- package/lib/commonjs/services/platformAuthService.js +1484 -12
- package/lib/commonjs/services/sephoraDataExtractor.js +140 -8
- package/lib/commonjs/services/sephoraDataService.js +200 -9
- package/lib/commonjs/services/spotifyDataExtractor.js +148 -8
- package/lib/commonjs/services/spotifyDataService.js +241 -9
- package/lib/commonjs/services/storageService.js +404 -8
- package/lib/commonjs/services/telegramDataExtractor.js +115 -8
- package/lib/commonjs/services/telegramDataService.js +499 -9
- package/lib/commonjs/services/trainingApiHelpers.js +73 -7
- package/lib/commonjs/services/userConnectionsService.js +340 -10
- package/lib/commonjs/services/youtubeMigrationService.js +416 -10
- package/lib/commonjs/theme/index.js +250 -7
- package/lib/commonjs/types/ambient.d.js +2 -1
- package/lib/commonjs/types/declarations.d.js +2 -1
- package/lib/commonjs/types/index.js +6 -1
- package/lib/commonjs/types/node-fix.d.js +2 -1
- package/lib/commonjs/types/node-override.d.js +2 -1
- package/lib/commonjs/types/opacity.d.js +2 -1
- package/lib/commonjs/types.js +14 -1
- package/lib/commonjs/utils/Portal.js +98 -8
- package/lib/commonjs/utils/api.js +130 -9
- package/lib/commonjs/utils/assetRegistry.js +210 -35
- package/lib/commonjs/utils/auth.js +112 -9
- package/lib/commonjs/utils/connectorTests.js +613 -29
- package/lib/commonjs/utils/crypto.js +62 -8
- package/lib/commonjs/utils/debugHelper.js +64 -1
- package/lib/commonjs/utils/encryption.js +76 -7
- package/lib/commonjs/utils/eventUtils.js +288 -1
- package/lib/commonjs/utils/haptics.js +66 -9
- package/lib/commonjs/utils/imagePreloader.js +6 -1
- package/lib/commonjs/utils/networkDiagnostics.js +226 -8
- package/lib/commonjs/utils/onairosApi.js +350 -9
- package/lib/commonjs/utils/programmaticFlow.js +117 -9
- package/lib/commonjs/utils/retryHelper.js +220 -1
- package/lib/commonjs/utils/secureStorage.js +349 -10
- package/lib/commonjs/utils/webviewScripts/chatgpt.js +551 -1
- package/lib/commonjs/utils/webviewScripts/claude.js +376 -1
- package/lib/commonjs/utils/webviewScripts/hinge.js +411 -1
- package/lib/commonjs/utils/webviewScripts/index.js +698 -15
- package/lib/commonjs/utils/webviewScripts/instagram.js +454 -1
- package/lib/commonjs/utils/webviewScripts/linkedin.js +880 -1
- package/lib/commonjs/utils/webviewScripts/netflix.js +382 -1
- package/lib/commonjs/utils/webviewScripts/sephora.js +516 -1
- package/lib/commonjs/utils/webviewScripts/spotify.js +419 -1
- package/lib/commonjs/utils/webviewScripts/telegram.js +678 -1
- package/lib/module/api/index.js +211 -1
- package/lib/module/assets/icons/spotify.png +0 -0
- package/lib/module/assets/images/spotify.png +0 -0
- package/lib/module/components/BodyText.js +20 -1
- package/lib/module/components/BrandMark.js +104 -1
- package/lib/module/components/CodeInput.js +109 -1
- package/lib/module/components/EmailInput.js +23 -1
- package/lib/module/components/GoogleButton.js +49 -1
- package/lib/module/components/HeadingGroup.js +36 -1
- package/lib/module/components/LLMDataInputModal.js +656 -7
- package/lib/module/components/ModalHeader.js +92 -1
- package/lib/module/components/ModalSheet.js +39 -1
- package/lib/module/components/Onairos.js +373 -1
- package/lib/module/components/OnairosButton.js +305 -1
- package/lib/module/components/OnairosSignInButton.js +121 -1
- package/lib/module/components/Overlay.js +456 -1
- package/lib/module/components/PersonaImage.js +129 -1
- package/lib/module/components/PersonaLoadingScreen.js +310 -1
- package/lib/module/components/PersonalizationConsentScreen.js +460 -1
- package/lib/module/components/PinCreationScreen.js +396 -1
- package/lib/module/components/PinInput.js +456 -1
- package/lib/module/components/PlatformConnectorsStep.js +1302 -6
- package/lib/module/components/PlatformList.js +129 -1
- package/lib/module/components/PlatformToggle.js +173 -1
- package/lib/module/components/PrimaryButton.js +172 -1
- package/lib/module/components/SignInMatchAnimation.js +189 -1
- package/lib/module/components/SignInStep.js +338 -1
- package/lib/module/components/UniversalOnboarding.js +2770 -1
- package/lib/module/components/VerificationStep.js +168 -1
- package/lib/module/components/WelcomeScreen.js +453 -1
- package/lib/module/components/icons/Basicproficon.js +30 -1
- package/lib/module/components/icons/Basicprofile.js +14 -1
- package/lib/module/components/icons/Checkbox.js +14 -1
- package/lib/module/components/icons/Checkmark.js +20 -1
- package/lib/module/components/icons/Contentanalysis.js +14 -1
- package/lib/module/components/icons/Contenticon.js +32 -1
- package/lib/module/components/icons/EnochE.js +34 -1
- package/lib/module/components/icons/Personalityicon.js +23 -1
- package/lib/module/components/icons/Personalityprofile.js +14 -1
- package/lib/module/components/icons/Personalitytraits.js +14 -1
- package/lib/module/components/icons/Userpreferences.js +14 -1
- package/lib/module/components/icons/index.js +13 -1
- package/lib/module/components/onboarding/OAuthWebView.js +1746 -1
- package/lib/module/components/onboarding/OnboardingHeader.js +66 -1
- package/lib/module/components/onboarding/PinInput.js +274 -1
- package/lib/module/components/onboarding/PlatformConnector.js +240 -1
- package/lib/module/config/PLATFORM_APIS.md +849 -0
- package/lib/module/config/api.js +47 -1
- package/lib/module/constants/index.js +114 -1
- package/lib/module/context/AuthContext.js +335 -1
- package/lib/module/hooks/useConnectedAccounts.js +106 -1
- package/lib/module/hooks/useConnections.js +95 -1
- package/lib/module/hooks/useCredentials.js +171 -6
- package/lib/module/hooks/useUserConnections.js +140 -1
- package/lib/module/index.js +172 -1
- package/lib/module/services/apiClient.js +295 -1
- package/lib/module/services/biometricPinService.js +169 -1
- package/lib/module/services/chatGPTConversationExtractor.js +149 -1
- package/lib/module/services/chatGPTConversationService.js +268 -1
- package/lib/module/services/claudeConversationExtractor.js +97 -1
- package/lib/module/services/claudeConversationService.js +151 -1
- package/lib/module/services/connectedAccountsService.js +293 -1
- package/lib/module/services/googleAuthService.js +241 -1
- package/lib/module/services/hingeDataExtractor.js +99 -1
- package/lib/module/services/hingeDataService.js +143 -1
- package/lib/module/services/imageCompressionService.js +250 -1
- package/lib/module/services/instagramDataExtractor.js +120 -1
- package/lib/module/services/instagramDataService.js +156 -1
- package/lib/module/services/jwtStorageService.js +257 -1
- package/lib/module/services/linkedinDOMExtractor.js +234 -1
- package/lib/module/services/linkedinProfileService.js +210 -1
- package/lib/module/services/linkedinScrapingService.js +219 -1
- package/lib/module/services/llmDataStorage.js +277 -1
- package/lib/module/services/mobileTrainingService.js +173 -1
- package/lib/module/services/netflixDataExtractor.js +114 -1
- package/lib/module/services/netflixDataService.js +191 -1
- package/lib/module/services/pinEncryptionService.js +74 -6
- package/lib/module/services/pinStorageUtils.js +93 -1
- package/lib/module/services/platformAuthService.js +1461 -1
- package/lib/module/services/sephoraDataExtractor.js +134 -1
- package/lib/module/services/sephoraDataService.js +193 -1
- package/lib/module/services/spotifyDataExtractor.js +142 -1
- package/lib/module/services/spotifyDataService.js +234 -1
- package/lib/module/services/storageService.js +383 -1
- package/lib/module/services/telegramDataExtractor.js +109 -1
- package/lib/module/services/telegramDataService.js +493 -1
- package/lib/module/services/trainingApiHelpers.js +67 -1
- package/lib/module/services/userConnectionsService.js +329 -1
- package/lib/module/services/youtubeMigrationService.js +405 -1
- package/lib/module/theme/index.js +245 -1
- package/lib/module/types.js +10 -1
- package/lib/module/utils/Portal.js +90 -1
- package/lib/module/utils/api.js +118 -1
- package/lib/module/utils/assetRegistry.js +200 -34
- package/lib/module/utils/auth.js +100 -1
- package/lib/module/utils/connectorTests.js +600 -27
- package/lib/module/utils/crypto.js +54 -1
- package/lib/module/utils/debugHelper.js +54 -1
- package/lib/module/utils/encryption.js +67 -1
- package/lib/module/utils/eventUtils.js +270 -1
- package/lib/module/utils/haptics.js +59 -8
- package/lib/module/utils/imagePreloader.js +3 -1
- package/lib/module/utils/networkDiagnostics.js +217 -1
- package/lib/module/utils/onairosApi.js +333 -1
- package/lib/module/utils/programmaticFlow.js +111 -1
- package/lib/module/utils/retryHelper.js +211 -1
- package/lib/module/utils/secureStorage.js +330 -6
- package/lib/module/utils/webviewScripts/chatgpt.js +545 -1
- package/lib/module/utils/webviewScripts/claude.js +370 -1
- package/lib/module/utils/webviewScripts/hinge.js +405 -1
- package/lib/module/utils/webviewScripts/index.js +434 -1
- package/lib/module/utils/webviewScripts/instagram.js +448 -1
- package/lib/module/utils/webviewScripts/linkedin.js +874 -1
- package/lib/module/utils/webviewScripts/netflix.js +376 -1
- package/lib/module/utils/webviewScripts/sephora.js +510 -1
- package/lib/module/utils/webviewScripts/spotify.js +413 -1
- package/lib/module/utils/webviewScripts/telegram.js +672 -1
- package/package.json +2 -2
|
@@ -1 +1,1746 @@
|
|
|
1
|
-
import React,{useState,useRef,useCallback}from'react';import{View,Text,StyleSheet,TouchableOpacity,ActivityIndicator,SafeAreaView,Dimensions,Alert,Animated}from'react-native';import{WebView}from'react-native-webview';import{CHATGPT_EXPORT_SCRIPT,CLAUDE_EXPORT_SCRIPT,LINKEDIN_PROFILE_EXTRACTOR_SCRIPT,LINKEDIN_PROFILE_CONSENT_POPUP_SCRIPT,LINKEDIN_PROFILE_SCRAPER_SCRIPT,HINGE_EXPORT_SCRIPT,INSTAGRAM_EXPORT_SCRIPT,SEPHORA_EXPORT_SCRIPT,TELEGRAM_EXPORT_SCRIPT,getAntiDetectionScript,getPlatformUserAgent,isLLMPlatform,isLoggedInUrl,isLinkedInPlatform,isLinkedInProfilePage,isLinkedInLoginPage,isLinkedInOAuthCallback,isHingePlatform,isInstagramPlatform,isSephoraPlatform,isTelegramPlatform}from'../../utils/webviewScripts';import{initiateProfileScraping}from'../../services/linkedinDOMExtractor';import{useChatGPTConversationExtractor}from'../../services/chatGPTConversationExtractor';import{useClaudeConversationExtractor}from'../../services/claudeConversationExtractor';function _0x2bd9(){const _0x2199e7=['get','platform','ffptz','GJyIL','eRwZb','💼\x20[LINKEDIN]\x20Initialized\x20-\x20waiting\x20for\x20page\x20load','🤖\x20[CHATGPT]\x20Initialized\x20-\x20waiting\x20for\x20page\x20load','ImJhF','Ggzaz','4|5|1|2|3|0|6','🚀\x20[CLAUDE]\x20Triggering\x20export\x20script...','Starting\x20extraction...','5|4|8|7|1|0|2|3|6','VYCws','🚀\x20[LINKEDIN]\x20Triggering\x20profile\x20DOM\x20scraping...','🔍\x20[LINKEDIN]\x20Executing\x20profile\x20DOM\x20scraping...','mBCyN','yqQTn','fkcHn','Connecting','YCeTX','qOpGF','💼\x20[LINKEDIN]\x20Navigating\x20to\x20profile\x20page...','💼\x20[LINKEDIN]\x20On\x20OAuth\x20callback\x20URL\x20-\x20connection\x20successful!','denied','Connection\x20Cancelled','THKwL','🚀\x20[LINKEDIN]\x20Auto-triggering\x20profile\x20URL\x20extraction...','🔐\x20[CHATGPT]\x20On\x20auth/login\x20page\x20-\x20waiting\x20for\x20user\x20to\x20log\x20in...','/auth/login','/api/auth/','0|6|1|4|7|3|2|5','cancel','#FF0000','#EA4335','#000000','LLM','🔍\x20[LINKEDIN]\x20On\x20login\x20page\x20-\x20waiting\x20for\x20user\x20to\x20log\x20in...','xLETl','AzIIu','LINKEDIN_PROFILE_CONSENT','eafDZ','lMhZy','bktFT','JLqLq','PCAlX','LINKEDIN_PROFILE_EXPORT_COMPLETE','Storing\x20profile\x20data...','📤\x20[LINKEDIN]\x20Storage\x20result:','LINKEDIN_PROFILE_EXPORT_ERROR','0|4|1|6|5|2|3|7','❌\x20[LINKEDIN]\x20Profile\x20extraction\x20error:','Extraction\x20Failed','unknown_user','error','ttNyA','Uonuq','6|0|2|4|3|1|5','DEBUG_LOG','DIeHm','uzAOP','DqpmV','⚠️\x20[CHATGPT]\x20Memories\x20storage\x20returned\x20false','FXoys','❌\x20[CHATGPT]\x20Memories\x20storage\x20error:','EXPORT_PROGRESS','CONVERSATION_EXPORT_COMPLETE','📤\x20[CHATGPT]\x20Storing\x20conversations\x20to\x20backend...','DPVrj','CONVERSATION_EXPORT_ERROR','oIPNR','CHATGPT_CONSENT','sYlQT','wNULj','MEMORIES_FETCH_COMPLETE','joVbI','QGlQF','items','MEMORIES_FETCH_ERROR','QvVko','QXAEx','✅\x20[HINGE]\x20Export\x20complete!','Storing\x20data...','📤\x20[HINGE]\x20Storing\x20data\x20to\x20backend...','📤\x20[HINGE]\x20Backend\x20storage\x20result:','❌\x20[HINGE]\x20Export\x20error:','INSTAGRAM_EXPORT_PROGRESS','✅\x20[INSTAGRAM]\x20Export\x20complete!','📤\x20[INSTAGRAM]\x20Backend\x20storage\x20result:','INSTAGRAM_EXPORT_ERROR','MCrvO','ZMjGm','7|1|5|2|4|3|6|0','❌\x20[INSTAGRAM]\x20Export\x20error:','SEPHORA_EXPORT_PROGRESS','SEPHORA_EXPORT_COMPLETE','✅\x20[SEPHORA]\x20Export\x20complete!','📤\x20[SEPHORA]\x20Storing\x20data\x20to\x20backend...','📤\x20[SEPHORA]\x20Backend\x20storage\x20result:','3|7|6|5|4|2|1|0','❌\x20[SEPHORA]\x20Export\x20error:','TELEGRAM_EXPORT_PROGRESS','TELEGRAM_EXPORT_COMPLETE','✅\x20[TELEGRAM]\x20Export\x20complete!','eqZHY','TELEGRAM_EXPORT_ERROR','DPtDd','2|7|6|0|4|3|1|5','SEPHORA_CONSENT','TELEGRAM_CONSENT','kXpAH','kyvdP','MLFEp','💉\x20[LINKEDIN]\x20Auto-injecting\x20profile\x20extraction\x20script...','✅\x20[LINKEDIN]\x20OAuth\x20callback\x20detected\x20-\x20showing\x20success\x20animation','linkedin.com','XEtgz','🚀\x20[LINKEDIN]\x20User\x20logged\x20in!\x20Immediately\x20navigating\x20to\x20profile...','🚀\x20[LINKEDIN]\x20Navigating\x20directly\x20to\x20/me...','AlYNh','XtQRa','auth.openai.com','chatgpt.com','chat.openai.com','mDhOA','/auth','claude.ai','/accounts/login','nJhCb','eyVvJ','hinge.co','/challenge','instagram.com','web.telegram.org','rGazC','OKXYa','EufuF','onairos.uk/Home','onairos.uk/success','https://onairos.uk/Home','https://onairos.uk/home','oauth-callback.html','success=true','bfPmv','GtKfH','zdyki','linkedin://','linkedinssl://','🚫\x20[LINKEDIN]\x20Blocked\x20app\x20deep\x20link:','intent://','cJIFM','lWoiu','🚫\x20[LINKEDIN]\x20Blocked\x20intent://\x20deep\x20link:','http://','https://','mrFDa','YAReJ','🚫\x20[LINKEDIN]\x20Blocked\x20non-HTTP\x20scheme:','3|4|5|0|2|1','pzemA','#0077B5','#10A37F','#D97706','#E60023','#7C3AED','#E1306C','#0088CC','#10B981','AjCBk','ybSsd','onairos.uk','eOYjT','HTTP\x20error\x20on\x20onairos.uk\x20domain\x20-\x20treating\x20as\x20potential\x20success','QHkAn','LinkedIn','Platform:','Connect\x20','Taking\x20longer\x20than\x20expected...','Connecting\x20to\x20LinkedIn...','large','Extracting\x20Data','100%','Please\x20log\x20in\x20to\x20your\x20','\x20account','http://*','zidXb','LsHvb','HHjzR','nQgnh','PVEYJ','HDauw','jtYXp','GUsLU','JaYzW','uKvXB','LiIEv','Value','current','AKXDi','euaQE','dUUcx','wmyQe','ktLap','HBZzJ','OfHSn','foyiY','QLzDm','XYiYo','LSwcj','PbIvW','oiHwG','AgRNE','VHfxS','PChEv','iNgpk','yWSwF','chatgpt','KOupD','toLowerCase','openai','HuwPm','XYQRF','claude','pTYLC','ckGpU','log','Opening\x20','dQdKG','GhGMJ','\x20WebView\x20with\x20URL:','WAthL','useEffect','WZJET','WiTIU','RmSIL','nuzud','pEZTH','gNoNb','klkJS','\x20timeout\x20reached\x20for\x20','\x20after\x202\x20minutes','UoGfJ','qELOz','progress','📊\x20[HINGE]\x20Export\x20progress:\x20','message','IWcak','Extracting...\x20','timing','Ptswg','CfjeG','injectJavaScript','imhAU','rrCKy','vLCfW','RyyAa','XfhFY','loop','sequence','start','XFrlc','UcOpU','stop','setValue','🚀\x20[CHATGPT]\x20Triggering\x20export\x20script...','2|6|7|0|1|3|5|8|4','split','MqrmH','WvKBI','qVsai','HMyXP','🚀\x20[','toUpperCase',']\x20Triggering\x20export\x20script...','kxaQj','🔐\x20[CLAUDE]\x20On\x20login\x20page\x20-\x20waiting\x20for\x20user\x20to\x20log\x20in...','VTXeU','ixEAk','0|3|1|2|5|4|6','zKpli','EPwXz','zBQEn','bubTu','KxbyL','nsSLb','📊\x20[LINKEDIN]\x20Scrape\x20progress:','owkxH','bjdfZ','dmrhu','wXZTT','jiDDA','XfJaf','✅\x20[CHATGPT]\x20Memories\x20stored\x20successfully!','zrPQR','oUrkF','lfRin','YYAhL','dNyEZ','bjZVB','myLmR','ckIpE','zEqxB','HFdAi','HvELD','#FF4500','sLeDB','XEpdg','#4285F4','XSyVF','pARgp','FLtIq','VKUEJ','SkqnJ','xUZxm','VLhZs','WkOaE','nNRDZ','parse','nativeEvent','📩\x20[',']\x20WebView\x20message:','type','status','dQQvQ','YaFKP','HgvJG','npJpG','success','QOwXa','UKSNT','alert','yTIPO','You\x20denied\x20access\x20to\x20your\x20LinkedIn\x20profile\x20data.','VcdPc','fMosp','vLQoI','gbCrv','pFnHK','HyoHB','pMPUk','📊\x20[LINKEDIN]\x20Profile\x20extraction\x20progress:\x20','%\x20-\x20','kgkxD','DyQgQ','data','nSpeG','fullName','nGTUQ','XPLPJ','substring','mvUzf','experience','kWjdS','NeCNa','length','skills','PDRlZ','dsoQw','MkhKx','FHxFn','EbKtm','EBBDZ','CYdNh','edsbY','nhkGZ','RDZwC','guqHC','kcHFk','ZsqBH','Failed\x20to\x20extract\x20LinkedIn\x20profile:\x20','.\x20Would\x20you\x20like\x20to\x20try\x20again?','RUTUk','oLHwy','fODhj','TaMuO','profileUrl','✅\x20[LINKEDIN]\x20Profile\x20URL\x20extracted:','iynLv','mpEok','mCYUf','PwGPq','JjGir','dLKTC','SVDxw','KYMld','EQPgj','WebView\x20error\x20for\x20','gUpcE','Vregq','Tzgjv','bacLb','ACdee','JAkns','NJIen','5|0|1|3|4|2','nODhN','mdjHV','rbrdD','TANdq','PJZsb','❌\x20[LINKEDIN]\x20Scraping\x20failed\x20(attempt\x20','mHtvC','VbVYZ','pFcPR','BODrr','ckwNz','qJjWv','Connected!','DPbnH','eEADL','OTJJM','❌\x20[LINKEDIN]\x20Exception\x20(attempt\x20','CtGoz','spring','MIWEZ','ijwuY','TgjBL','GHqRV','rQHir','VBAHM','OPrKc','rbJOv','BjcrY','JWBFY','BzBQi','hphMg','hqtxs','warn','fFqBx','oZSJE','vUPTS','DEBUG_MEMORIES','🔍\x20[',']\x20Debug:','Ywkvq','xAtkp','🧠\x20[CHATGPT]\x20Received\x20memories\x20data\x20from\x20WebView,\x20storing...','yKjqy','GnFNh','ySIJg','TzzmM','tCqLn','memoriesData','ZIWfM','COKxh','Hqkpq','url',',\x20loading=','loading',',\x20isLoadEnd=','🔍\x20[CHATGPT]\x20State:\x20loggedIn=',',\x20exporting=','includes','LqLkH','EEwTk','/signup','qXHqW','OoMHC','/api/','auzPv','lIprs','vHyLx','JcXXl','iAJag','gjfYd','zykTj','sunxR','Znjuy','VZWaU','📊\x20[CHATGPT]\x20Export\x20progress:\x20','📊\x20[CLAUDE]\x20Export\x20progress:\x20','zNnRB','uQtzb','\x20OAuth\x20completed\x20-\x20backend\x20callback\x20finished,\x20URL:\x20','xHfdw','YgYoy','ICwMz','qbFLu','total_conversations','ZLork','conversations','VIcDK','cjMux','USHlf','✅\x20[CHATGPT]\x20Export\x20complete:\x20','\x20conversations,\x20','\x20messages','MtaDH','UkvmK','MEnGU','dvJfw','✅\x20[LINKEDIN]\x20OAuth\x20SUCCESS\x20-\x20Authorization\x20code/token\x20received','ildmf','TXdeK','mgHuA','\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20window.location.href\x20=\x20\x27https://www.linkedin.com/me\x27;\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20true;\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20','TLUwW','✅\x20[CLAUDE]\x20Export\x20complete:\x20','Storing\x20','hApCL','✅\x20Imported\x20','zYHnC','hgkjN','HqiRC','OyVFt','aFWAV','tPBxz','❌\x20[','wEbrk','jEavM','vGnVw','Export\x20Failed','Failed\x20to\x20export\x20','\x20conversations:\x20','iCsit','Failed\x20to\x20export\x20Instagram\x20data:\x20','cavZl','PhEeb','PeRxt','RcRmc','GTGyd','AzRgT','PsLbE','ZOyLZ','fMans','OUgYb','ipjhc','rbDEU','vMXzM','bOzhV','gzHWu','BuAZX','xIVVM','ADkyR','uemlN','KYRRs','uUNpB','⛔\x20[','\x20conversations.','dlFcz','✅\x20[',']\x20User\x20allowed\x20consent','vKgwm','BDFrv','xWlFq','nEznZ','Ckwvt','JBjFp','CkXUn','HuhcL','🧠\x20[',']\x20Memories\x20fetch\x20complete:','ZNlUM','itemsCount','bZSkq','syPhU','SLGcH','HINGE_EXPORT_PROGRESS','bgpSA','TWFdD',']\x20Login\x20detected!','htllZ','MplHN','AQHiE','qXAfj','aXFQW','AeFXZ','cYGRY','wgtqs','EWhUk',']\x20User\x20denied\x20consent','You\x20denied\x20access\x20to\x20your\x20','\x20data.','AjrWO','JGwOw','phLhU','WdXiJ','FxSRE','JzNGW','icCZr','bsNxz','zdfnA','ALpNp','HINGE_EXPORT_ERROR','Failed\x20to\x20export\x20Hinge\x20data:\x20','agoxG','QTueX','📊\x20[INSTAGRAM]\x20Export\x20progress:\x20','CWzwY','WjxnJ','Clcbk','trFlq','LkEqU','fhSRH','kgpLJ','pjbUl','dprvY','lchVB','lDKza','bIghD','CEpiE','nKmWN','XlBPL','📊\x20[SEPHORA]\x20Export\x20progress:\x20','UCOGE','hAlGP','FIyou','ESkAv','yLPNR','uBPan','lbomN','anMti','BMImG','agPTR','Failed\x20to\x20export\x20Sephora\x20data:\x20','sGErx','McXBl','📊\x20[TELEGRAM]\x20Export\x20progress:\x20','zYJCq','EzaiM','IGFVT','OYWNl','Bhrfy','📤\x20[TELEGRAM]\x20Backend\x20storage\x20result:','EmMht','IVzUh','lWhak','jCOxA','JLOPH','❌\x20[TELEGRAM]\x20Export\x20error:','ryicu','INSTAGRAM_CONSENT','QpkTC','HnRod','NmcjT',']\x20Unknown\x20message\x20type:',']\x20Error\x20parsing\x20WebView\x20message:','BbgEQ','NOzYw','2|3|0|6|5|4|1','nrvXh','🔍\x20[LINKEDIN]\x20Navigation:\x20','hrYdm','SBgEU','tRksL','kKCEx','HwfWw','MjoVH','wRMIi','✅\x20[LINKEDIN]\x20On\x20profile\x20page','tpAWa','VpyiU','WTvzX','vZPFN','aDjvO','edwlX','UrPQR','xpqFf','NWUaw','TnvAY','gmQZU','kdcmx','uChVq','SMxMh','WNxcA','zdPhH','pioJl','caOhG','\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20window.location.href\x20=\x20\x27https://www.linkedin.com/me\x27;\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20true;\x0a\x20\x20\x20\x20\x20\x20\x20\x20','jrCwo','🔍\x20[CHATGPT]\x20Navigation:\x20',',\x20started=','tMuQv','/login','UHZcr','TiyWq','hunCx','dOxQE','ZDsTP','EFPhz','PRzFt','iOfgB','sooyM','onjxR','ejZTG','GhedR','VrgAz','twUja','🔍\x20[CLAUDE]\x20Navigation:\x20','HtJyP','THXVY','vehIr','GTvuz','cxTtT','fdJQV',']\x20Navigation:\x20','RapUx','dkVLG','/accounts/signup','ftTSS','/signin','enaxz','sephora.com','cexci','CfvRk','zDivO','HAsBj','vZApR','CnWeg','🔐\x20[',']\x20On\x20login\x20page\x20-\x20waiting\x20for\x20user\x20to\x20log\x20in...','✅\x20[CLAUDE]\x20User\x20logged\x20in!\x20Detected\x20main\x20page\x20navigation',']\x20User\x20logged\x20in!\x20Detected\x20main\x20page\x20navigation','cXtWG','BVhcu','jOFxC','HWcjI','VdvHa','bEuHN','Navigation\x20state\x20changed\x20for\x20','searchParams','has','FVfIi','UDdmP','hfHMX','kIuju','DAOpv','eSzqM','BYBdU','NOYrU','sNfeH','oCCni','uzGCz','bRYnF','zjSlm','EuzSR','WOgzX','JcCra','NKltM','onairos.uk/home','DrMwg','startsWith','RBGlI','XBsIU','rCfwD','grHTN','Lnkxx','📄\x20[LOAD\x20END]\x20Page\x20loaded:\x20','fXKsB','hRueq','HYMin','eBtpY','jakqr','KEzHf','zZMrz','LvPUC','3|4|1|0|2','vUMoC','knzFQ','aCvLJ','mUqnb','ZQUGs','Hvboo','QVliP','mNdxl','YeFjS','OKJVx','zpEYh','MxBHV','suqcz','qsyvA','iGdTN','JSaKv','abOXY','dIIfD','⚠️\x20[',']\x20Memories\x20fetch\x20failed:','rizTr','ADHMu','about:','NORRg','xaVMM','YYlKv','TxvYz','efbTY','qlpWh','lpLfz','kSREV','dYPVS','yOxsb','lCjEB','NhxJR','VYQJd','AHGWb','NBVFl','GMOtd','YHlCk','vFCar','ELqYM','modalContainer','createElement','header','charAt','slice','timeoutText','IMYmK','closeButtonText','linkedinProgressContainer','linkedinProgressTrack','linkedinProgressIndicator','MBjNA','linkedinProgressText','wuzGt','progressBarContainer','View','progressBar','interpolate','progressText','round','Rsmgw','claudeExtractionOverlay','extractionContent','NPbaR','claudeExtractionProgressFill','lhRiX','claudeExtractionProgressText','PZvQN','newPlatformExtractionOverlay','newPlatformExtractionTitle','newPlatformExtractionSubtitle','newPlatformExtractionProgressContainer','newPlatformExtractionProgressFill','newPlatformExtractionProgressText','successOverlay','successCheckmark','successCheckmarkIcon','Text','webViewContainer','loadingContainer','tVEvl','Loading\x20','loadingHint','webView','PHMtW','xjGzi','WebView\x20HTTP\x20error\x20for\x20','statusCode','cnoGX','EAfKE','jFvQF','dZCDK','sEvDz','HKRkn','create','absolute','#fff','hidden','row','center','space-between','#E5E5E5','#333','#666','absoluteFillObject','#FF6B6B','#FAFBFC','#E1E9EE','500','IBM\x20Plex\x20Sans','#F9FAFB','#6B7280','#000','#FFFFFF','bold','#1a1a1a','700','#E5E7EB','600'];_0x2bd9=function(){return _0x2199e7;};return _0x2bd9();}import{storeLinkedInProfile}from'../../services/linkedinProfileService';import{useHingeDataExtractor}from'../../services/hingeDataExtractor';import{useInstagramDataExtractor}from'../../services/instagramDataExtractor';import{useSephoraDataExtractor}from'../../services/sephoraDataExtractor';import{useTelegramDataExtractor}from'../../services/telegramDataExtractor';const {width,height}=Dimensions[_0x42b8(0x0)]('window');export const OAuthWebView=({url:_0x1d5aae,onClose:_0x4876c5,onSuccess:_0x549d77,platform:platform=_0x42b8(0x1),onComplete:_0x5da78a,username:_0x5228b7})=>{const _0x1e77a5={'WZJET':'success','YYlKv':function(_0xa3668a){return _0xa3668a();},'WiTIU':'OAuth','RmSIL':function(_0x5808e1,_0x13e2ba){return _0x5808e1===_0x13e2ba;},'ORTqW':_0x42b8(0x2),'nuzud':_0x42b8(0x3),'klkJS':function(_0xc8689b,_0x3eaf5b,_0x56c4ab){return _0xc8689b(_0x3eaf5b,_0x56c4ab);},'JaYzW':function(_0x4da24f,_0x253653){return _0x4da24f(_0x253653);},'IWcak':function(_0x3bb9db,_0x46886f){return _0x3bb9db(_0x46886f);},'UoGfJ':_0x42b8(0x4),'qELOz':_0x42b8(0x5),'CfjeG':'CtEyG','bEuHN':_0x42b8(0x6),'imhAU':'UqXrP','rrCKy':_0x42b8(0x7),'EOSAq':'🧠\x20[CLAUDE]\x20Initialized\x20-\x20waiting\x20for\x20page\x20load','XfhFY':function(_0xc5f8cd,_0x324b61){return _0xc5f8cd!==_0x324b61;},'SCMTd':_0x42b8(0x8),'vKdns':_0x42b8(0x9),'MqrmH':_0x42b8(0xa),'WvKBI':function(_0x14ef16,_0x5dd24c){return _0x14ef16(_0x5dd24c);},'HfTJx':_0x42b8(0xb),'qVsai':_0x42b8(0xc),'HMyXP':function(_0x4347aa,_0x39e330){return _0x4347aa(_0x39e330);},'iXGZR':_0x42b8(0xd),'sqozW':_0x42b8(0xe),'VTXeU':function(_0x3fd7b0,_0x3dceb6){return _0x3fd7b0(_0x3dceb6);},'zKpli':_0x42b8(0xf),'zBQEn':function(_0x2a0321,_0x50c60c){return _0x2a0321(_0x50c60c);},'EPwXz':'Extracting\x20profile...','nsSLb':function(_0x3dddf0){return _0x3dddf0();},'PwGPq':_0x42b8(0x10),'JjGir':'✅\x20[LINKEDIN]\x20Profile\x20scraping\x20complete!','EbKtm':function(_0x3641c4,_0x33176e,_0x404237){return _0x3641c4(_0x33176e,_0x404237);},'owkxH':function(_0x4758da,_0x113703){return _0x4758da+_0x113703;},'dLKTC':function(_0x5ca3bd,_0x43249a){return _0x5ca3bd!==_0x43249a;},'SVDxw':'YculY','VpyiU':function(_0x20f29d,_0x544a81){return _0x20f29d(_0x544a81);},'KYMld':'ViDKb','Ymmky':_0x42b8(0x11),'PaAuG':_0x42b8(0x12),'RyyAa':_0x42b8(0x13),'CtGoz':function(_0x471916,_0x5f272e){return _0x471916+_0x5f272e;},'MBjNA':function(_0x227ca7,_0x589c00){return _0x227ca7-_0x589c00;},'MIWEZ':_0x42b8(0x14),'XSyVF':function(_0x1adbb8,_0x4bad3a){return _0x1adbb8(_0x4bad3a);},'nQgnh':function(_0x48f59e,_0x4408a9){return _0x48f59e(_0x4408a9);},'FLtIq':'Connected!','bubTu':function(_0x17a910,_0x3351bb,_0xac40f){return _0x17a910(_0x3351bb,_0xac40f);},'vLQoI':function(_0x714682){return _0x714682();},'RcRmc':function(_0x8d7c9e,_0x2d6a99){return _0x8d7c9e===_0x2d6a99;},'UkvmK':_0x42b8(0x15),'dvJfw':_0x42b8(0x16),'hgkjN':_0x42b8(0x17),'KxbyL':function(_0x63b1ce,_0x242af8,_0xc99970){return _0x63b1ce(_0x242af8,_0xc99970);},'MjoVH':function(_0x2943ea){return _0x2943ea();},'ADkyR':_0x42b8(0x18),'UKSNT':'⛔\x20[LINKEDIN]\x20User\x20denied\x20profile\x20consent','yTIPO':_0x42b8(0x19),'KYRRs':'You\x20denied\x20access\x20to\x20your\x20LinkedIn\x20profile\x20data.','uUNpB':'allowed','fMosp':'✅\x20[LINKEDIN]\x20User\x20allowed\x20profile\x20consent\x20-\x20starting\x20extraction','ucKcz':function(_0x1452b4){return _0x1452b4();},'fhSRH':function(_0x40d3be){return _0x40d3be();},'EBBDZ':function(_0x2f0a12,_0x19c6ef){return _0x2f0a12(_0x19c6ef);},'bjdfZ':function(_0x3a4920,_0xb9063b){return _0x3a4920<_0xb9063b;},'wXZTT':function(_0x1c055a,_0x19d226){return _0x1c055a!==_0x19d226;},'jiDDA':_0x42b8(0x1a),'tpAWa':_0x42b8(0x1b),'XfJaf':function(_0x42a7a4,_0x37cec2){return _0x42a7a4(_0x37cec2);},'zrPQR':_0x42b8(0x1c),'oUrkF':_0x42b8(0x1d),'lfRin':'/login','YYAhL':_0x42b8(0x1e),'dNyEZ':'✅\x20[CHATGPT]\x20User\x20logged\x20in!\x20Detected\x20main\x20page\x20navigation','bjZVB':function(_0x2026ed,_0x4ddc90){return _0x2026ed(_0x4ddc90);},'myLmR':function(_0x3dba91,_0x34092e){return _0x3dba91(_0x34092e);},'ckIpE':'4|0|5|1|3|2|6','fFqBx':'⚠️\x20[LINKEDIN]\x20Profile\x20URL\x20extraction\x20failed:','zEqxB':_0x42b8(0x1f),'HFdAi':'Export\x20Failed','RUTUk':'Retry','oLHwy':'Close','HvELD':_0x42b8(0x20),'sLeDB':_0x42b8(0x21),'XEpdg':_0x42b8(0x22),'GMOtd':_0x42b8(0x23),'dQdKG':_0x42b8(0x24),'pARgp':function(_0x4c6b37,_0x23a4d3){return _0x4c6b37(_0x23a4d3);},'zYHnC':function(_0x20b62d,_0x2118c5){return _0x20b62d(_0x2118c5);},'VKUEJ':'ujXmS','NsieH':function(_0xca2e91){return _0xca2e91();},'xUZxm':_0x42b8(0x25),'grBPF':_0x42b8(0x26),'VLhZs':function(_0x56e799,_0x3136cd){return _0x56e799!==_0x3136cd;},'WkOaE':_0x42b8(0x27),'xqlKs':_0x42b8(0x28),'dQQvQ':function(_0x257b16,_0x4c8fcc){return _0x257b16===_0x4c8fcc;},'YaFKP':_0x42b8(0x29),'jhsvA':_0x42b8(0x2a),'sYyAJ':function(_0x5aac30,_0x49a514){return _0x5aac30===_0x49a514;},'HgvJG':_0x42b8(0x2b),'VcdPc':function(_0x195e11,_0x1a6f52){return _0x195e11===_0x1a6f52;},'gbCrv':'LINKEDIN_PROFILE_PROGRESS','pFnHK':_0x42b8(0x2c),'HyoHB':_0x42b8(0x2d),'kgkxD':function(_0x56d1a4,_0x46e719){return _0x56d1a4(_0x46e719);},'DyQgQ':_0x42b8(0x2e),'nSpeG':'📊\x20[LINKEDIN]\x20Extracted\x20profile:','lGjBU':function(_0x541d77,_0x4ea3ad){return _0x541d77===_0x4ea3ad;},'nGTUQ':function(_0x58fb8b,_0xbeba4c){return _0x58fb8b===_0xbeba4c;},'XPLPJ':function(_0x45174e,_0x5c7a24){return _0x45174e===_0x5c7a24;},'TaMuO':function(_0x2d1d66,_0x3455a6){return _0x2d1d66===_0x3455a6;},'mvUzf':function(_0x10ca39,_0x2c85ae){return _0x10ca39===_0x2c85ae;},'kWjdS':function(_0x431cf1,_0x297890){return _0x431cf1===_0x297890;},'XYQRF':function(_0x2bff23,_0x30b69c){return _0x2bff23===_0x30b69c;},'vUPTS':function(_0x3ec005,_0x195e46){return _0x3ec005===_0x195e46;},'NeCNa':function(_0x124a8f,_0x129633){return _0x124a8f===_0x129633;},'PDRlZ':function(_0x345339,_0x278a26){return _0x345339===_0x278a26;},'edsbY':function(_0x2e982f,_0x4c7335){return _0x2e982f(_0x4c7335);},'mEWHh':_0x42b8(0x2f),'dsoQw':function(_0x334b60,_0x1eec2c){return _0x334b60&&_0x1eec2c;},'MkhKx':'FHxFn','mrWBl':_0x42b8(0x30),'CYdNh':function(_0x20f94c,_0xec2d7b){return _0x20f94c(_0xec2d7b);},'dUUcx':function(_0x3af5f9,_0x4eff39){return _0x3af5f9(_0x4eff39);},'nhkGZ':function(_0x2d2dfb,_0x25c358,_0x49a4fb){return _0x2d2dfb(_0x25c358,_0x49a4fb);},'RDZwC':_0x42b8(0x31),'guqHC':_0x42b8(0x32),'kcHFk':_0x42b8(0x33),'PChEv':function(_0x4f4293,_0x5463a2){return _0x4f4293(_0x5463a2);},'ZsqBH':_0x42b8(0x34),'fODhj':function(_0x2d954f,_0x567adf){return _0x2d954f(_0x567adf);},'iynLv':function(_0x9fd10,_0x172d39){return _0x9fd10(_0x172d39);},'mpEok':function(_0x5a1de1,_0x2772a6){return _0x5a1de1||_0x2772a6;},'mCYUf':_0x42b8(0x35),'OPrKc':function(_0x3c877a,_0x633614){return _0x3c877a===_0x633614;},'rbJOv':_0x42b8(0x36),'BjcrY':_0x42b8(0x37),'JWBFY':_0x42b8(0x38),'hphMg':_0x42b8(0x39),'hqtxs':function(_0x5d3e07,_0x5c6d32){return _0x5d3e07(_0x5c6d32);},'oZSJE':_0x42b8(0x3a),'Ywkvq':'MEMORIES_DATA','xAtkp':_0x42b8(0x3b),'HuwPm':function(_0x1aa9c0,_0x20dc43){return _0x1aa9c0===_0x20dc43;},'yKjqy':_0x42b8(0x3c),'GnFNh':_0x42b8(0x3d),'tCqLn':function(_0x563696,_0x28b158){return _0x563696(_0x28b158);},'ZIWfM':'✅\x20[CHATGPT]\x20Memories\x20stored\x20successfully!','COKxh':'Hqkpq','JcXXl':_0x42b8(0x3e),'QgMjw':_0x42b8(0x3f),'iAJag':'dhHfA','HKRkn':_0x42b8(0x40),'GtkdA':function(_0x555d9e,_0x58a462){return _0x555d9e===_0x58a462;},'Znjuy':_0x42b8(0x41),'XChaS':function(_0x4097a0,_0x886358){return _0x4097a0===_0x886358;},'zNnRB':function(_0x43e3c4,_0xc75377){return _0x43e3c4(_0xc75377);},'uQtzb':function(_0x529f92,_0x34a238){return _0x529f92(_0x34a238);},'ICwMz':_0x42b8(0x42),'qbFLu':function(_0x14547e,_0x55ed8a){return _0x14547e===_0x55ed8a;},'AzRgT':function(_0x43e016,_0x307c9a){return _0x43e016===_0x307c9a;},'ZLork':function(_0x2894c1,_0x4e3df3){return _0x2894c1===_0x4e3df3;},'VIcDK':function(_0x52a37b,_0x7c4c9b){return _0x52a37b===_0x7c4c9b;},'cjMux':function(_0x28af1c,_0x51e99c){return _0x28af1c===_0x51e99c;},'IYeiv':function(_0x167e84,_0x47627c){return _0x167e84===_0x47627c;},'USHlf':function(_0x37b058,_0x19242c){return _0x37b058!==_0x19242c;},'MtaDH':_0x42b8(0x43),'TLUwW':_0x42b8(0x44),'mYTUq':'📤\x20[CLAUDE]\x20Backend\x20storage\x20result:','hApCL':function(_0x1b5854,_0x566fbe){return _0x1b5854(_0x566fbe);},'MpoXR':function(_0x407bca,_0x3435fe){return _0x407bca(_0x3435fe);},'OyVFt':function(_0x2a618c,_0x2f1ba1){return _0x2a618c===_0x2f1ba1;},'aFWAV':_0x42b8(0x45),'tPBxz':_0x42b8(0x46),'KxhaB':function(_0x1638eb,_0x2a421d){return _0x1638eb(_0x2a421d);},'wEbrk':'1|4|0|3|2','jEavM':function(_0x3186fd,_0x627c75){return _0x3186fd(_0x627c75);},'EGPWT':function(_0xaa9b8,_0x56d9ee){return _0xaa9b8(_0x56d9ee);},'vGnVw':function(_0xa2d9ba,_0x486321){return _0xa2d9ba(_0x486321);},'GTGyd':_0x42b8(0x47),'PsLbE':'CLAUDE_CONSENT','asNLp':function(_0x57550e,_0x5d8ee1){return _0x57550e===_0x5d8ee1;},'nWasG':_0x42b8(0x48),'uemlN':_0x42b8(0x49),'dlFcz':function(_0x290c66,_0x4c5de5){return _0x290c66===_0x4c5de5;},'vKgwm':function(_0x49ffca,_0x3fc5e1){return _0x49ffca===_0x3fc5e1;},'BDFrv':_0x42b8(0x4a),'xWlFq':function(_0x2202e3,_0x21d39a){return _0x2202e3===_0x21d39a;},'nEznZ':_0x42b8(0x4b),'Ckwvt':_0x42b8(0x4c),'ZNlUM':function(_0x3136e0,_0xab69ff){return _0x3136e0===_0xab69ff;},'bZSkq':_0x42b8(0x4d),'syPhU':_0x42b8(0x4e),'SLGcH':function(_0x526a94,_0x26e1e0){return _0x526a94===_0x26e1e0;},'bgpSA':'ndleU','TWFdD':_0x42b8(0x4f),'htllZ':function(_0x1f9156,_0x2bffb8){return _0x1f9156===_0x2bffb8;},'MplHN':function(_0x243b67,_0x2d7b10){return _0x243b67!==_0x2d7b10;},'AQHiE':_0x42b8(0x50),'cYGRY':_0x42b8(0x51),'wgtqs':function(_0x5e8d4c,_0x3afb38){return _0x5e8d4c(_0x3afb38);},'Clcbk':_0x42b8(0x52),'EWhUk':'TSmdV','AjrWO':_0x42b8(0x53),'JGwOw':function(_0x6f1ba5,_0x377568,_0x1509d2){return _0x6f1ba5(_0x377568,_0x1509d2);},'phLhU':_0x42b8(0x54),'WdXiJ':function(_0x4805c5,_0x5ee022){return _0x4805c5(_0x5ee022);},'FxSRE':function(_0x351eec,_0x4cfc2f){return _0x351eec(_0x4cfc2f);},'JzNGW':function(_0x4e045b,_0x250f9c){return _0x4e045b(_0x250f9c);},'euaQE':function(_0x5100ef,_0xa3db30){return _0x5100ef(_0xa3db30);},'icCZr':function(_0x4ef336,_0x209d0c,_0x4efeea){return _0x4ef336(_0x209d0c,_0x4efeea);},'ALpNp':function(_0x2121bb,_0x87d664){return _0x2121bb===_0x87d664;},'vXdgu':_0x42b8(0x55),'agoxG':function(_0x4f257a,_0x2be62e){return _0x4f257a===_0x2be62e;},'QTueX':_0x42b8(0x56),'CWzwY':'INSTAGRAM_EXPORT_COMPLETE','QXMBe':_0x42b8(0x57),'WjxnJ':function(_0xa724cb,_0x490d00){return _0xa724cb(_0x490d00);},'trFlq':_0x42b8(0x58),'LkEqU':function(_0x6444f3,_0x170017){return _0x6444f3(_0x170017);},'oRWGO':function(_0xdc0bf3,_0x4d33cc){return _0xdc0bf3===_0x4d33cc;},'ZpuIU':_0x42b8(0x59),'kgpLJ':function(_0x216164,_0x327276){return _0x216164!==_0x327276;},'pjbUl':_0x42b8(0x5a),'dprvY':_0x42b8(0x5b),'lchVB':_0x42b8(0x5c),'HDauw':function(_0x3ecf86,_0x11d706){return _0x3ecf86(_0x11d706);},'lDKza':function(_0x275a26,_0x467ac4){return _0x275a26(_0x467ac4);},'bIghD':function(_0x6e98a7,_0x2619e4){return _0x6e98a7(_0x2619e4);},'CEpiE':_0x42b8(0x5d),'nKmWN':_0x42b8(0x5e),'XlBPL':'mJwBm','UCOGE':function(_0x4c5d20,_0x49c55c){return _0x4c5d20(_0x49c55c);},'hAlGP':function(_0x1e38e8,_0x1a43b6){return _0x1e38e8(_0x1a43b6);},'uSaAd':function(_0x25546c,_0x1a50e5){return _0x25546c===_0x1a50e5;},'EtfiR':_0x42b8(0x5f),'ESkAv':_0x42b8(0x60),'yLPNR':function(_0x1947a2,_0x27053a){return _0x1947a2(_0x27053a);},'TdFbj':_0x42b8(0x61),'uBPan':function(_0x4c1b24,_0x1fc118,_0x3a33af){return _0x4c1b24(_0x1fc118,_0x3a33af);},'hbztZ':_0x42b8(0x62),'lbomN':function(_0x1d02b1,_0x2d3815){return _0x1d02b1(_0x2d3815);},'anMti':function(_0x2fcba8,_0x58afb9){return _0x2fcba8(_0x58afb9);},'BMImG':function(_0x4868bc,_0x5cdb90){return _0x4868bc(_0x5cdb90);},'HBZzJ':function(_0x7eb9ed,_0x11c4e6){return _0x7eb9ed(_0x11c4e6);},'agPTR':_0x42b8(0x63),'sGErx':_0x42b8(0x64),'McXBl':_0x42b8(0x65),'LiIEv':function(_0x39aabf,_0x5147e5){return _0x39aabf(_0x5147e5);},'zYJCq':_0x42b8(0x66),'rJqUz':_0x42b8(0x67),'EzaiM':function(_0x9d8c63,_0x19a38f){return _0x9d8c63(_0x19a38f);},'IGFVT':function(_0x229fc7,_0x368d03){return _0x229fc7===_0x368d03;},'BGnNE':_0x42b8(0x68),'OYWNl':'ZViwd','Bhrfy':'📤\x20[TELEGRAM]\x20Storing\x20data\x20to\x20backend...','EmMht':function(_0x43db10,_0x2eb536){return _0x43db10(_0x2eb536);},'IVzUh':function(_0x26a5c7,_0x18d8c9){return _0x26a5c7(_0x18d8c9);},'kxaQj':function(_0x370c68,_0x30d0b1,_0x6fcd75){return _0x370c68(_0x30d0b1,_0x6fcd75);},'lWhak':_0x42b8(0x69),'jCOxA':_0x42b8(0x6a),'JLOPH':_0x42b8(0x6b),'ryicu':'HINGE_CONSENT','vJqaV':function(_0x5072dd,_0x5209ba){return _0x5072dd===_0x5209ba;},'UptDY':_0x42b8(0x6c),'QpkTC':_0x42b8(0x6d),'HnRod':function(_0x54f942,_0x201983){return _0x54f942===_0x201983;},'KOupD':function(_0x418b85,_0x5bd66e){return _0x418b85===_0x5bd66e;},'NmcjT':_0x42b8(0x6e),'kKCEx':_0x42b8(0x6f),'HwfWw':_0x42b8(0x70),'hrYdm':function(_0xab96b7,_0x54f133){return _0xab96b7(_0x54f133);},'VNQKL':function(_0x490372,_0x177b75){return _0x490372(_0x177b75);},'BbgEQ':_0x42b8(0x71),'MZTmB':function(_0x447cf6,_0x426bcc){return _0x447cf6(_0x426bcc);},'NOzYw':function(_0x3558c3,_0x401c03){return _0x3558c3(_0x401c03);},'nrvXh':function(_0xbe2cc1,_0x4bd1c8){return _0xbe2cc1(_0x4bd1c8);},'QLzDm':function(_0x54abab,_0x2f5d7e){return _0x54abab(_0x2f5d7e);},'SBgEU':_0x42b8(0x72),'Vvywr':function(_0x2480d1,_0x5bdcac){return _0x2480d1(_0x5bdcac);},'tRksL':function(_0x378cd1,_0x136bae){return _0x378cd1(_0x136bae);},'wRMIi':function(_0x5a3f11,_0xd7dfad){return _0x5a3f11(_0xd7dfad);},'WTvzX':function(_0x15e149,_0x1c263d,_0x496f02){return _0x15e149(_0x1c263d,_0x496f02);},'NduIE':_0x42b8(0x73),'UrPQR':function(_0x129b21,_0x3c79c7){return _0x129b21!==_0x3c79c7;},'xpqFf':'onWAI','PSFyU':_0x42b8(0x74),'SMxMh':function(_0x54f91e,_0x3282c5){return _0x54f91e(_0x3282c5);},'WNxcA':_0x42b8(0x75),'ynmub':function(_0xd947b4,_0x48c5e5){return _0xd947b4(_0x48c5e5);},'zdPhH':function(_0x29171e,_0x29ff9f){return _0x29171e!==_0x29ff9f;},'pioJl':'DNTvr','caOhG':_0x42b8(0x76),'hunCx':function(_0x552618,_0x480dbf){return _0x552618(_0x480dbf);},'dOxQE':_0x42b8(0x77),'jrCwo':function(_0x1b63c7,_0x1efb8e){return _0x1b63c7===_0x1efb8e;},'YZerb':_0x42b8(0x78),'tMuQv':_0x42b8(0x79),'RapUx':'/signup','XMBud':_0x42b8(0x7a),'UHZcr':_0x42b8(0x7b),'TiyWq':'/api/','iOfgB':_0x42b8(0x7c),'HtJyP':_0x42b8(0x7d),'THXVY':_0x42b8(0x7e),'vehIr':'✅\x20[CLAUDE]\x20User\x20logged\x20in!\x20Detected\x20main\x20page\x20navigation','EncsZ':function(_0x6a301c,_0x52ec5a){return _0x6a301c(_0x52ec5a);},'GTvuz':function(_0x4bb72e,_0x53e3ab,_0x149294){return _0x4bb72e(_0x53e3ab,_0x149294);},'cxTtT':_0x42b8(0x7f),'ilbFO':_0x42b8(0x80),'fdJQV':_0x42b8(0x81),'dkVLG':_0x42b8(0x82),'RZIgL':_0x42b8(0x83),'ftTSS':_0x42b8(0x84),'enaxz':'/registration','cexci':'RmJRD','vZApR':_0x42b8(0x85),'nBLaC':_0x42b8(0x86),'CnWeg':_0x42b8(0x87),'vLCfW':function(_0x135700,_0x221766){return _0x135700&&_0x221766;},'cXtWG':function(_0x24d30d,_0x984d53){return _0x24d30d(_0x984d53);},'VdvHa':'JJwod','fzPjI':function(_0x201038,_0xc1f60f){return _0x201038(_0xc1f60f);},'FVfIi':'code','PiMYb':'access_token','bRYnF':_0x42b8(0x88),'AKXDi':function(_0x4d480f,_0x4b17e1){return _0x4d480f(_0x4b17e1);},'EuzSR':function(_0x54c66e,_0x4a40c8){return _0x54c66e(_0x4a40c8);},'WOgzX':function(_0x517ede,_0x481388){return _0x517ede!==_0x481388;},'JcCra':'FUhxt','NKltM':_0x42b8(0x89),'DrMwg':_0x42b8(0x8a),'PsQhW':_0x42b8(0x8b),'RBGlI':_0x42b8(0x8c),'eTshM':_0x42b8(0x8d),'XBsIU':_0x42b8(0x8e),'rCfwD':function(_0x5bcac1,_0x33f2f2){return _0x5bcac1||_0x33f2f2;},'grHTN':'PuKUw','MumTP':_0x42b8(0x8f),'Vienr':function(_0x3d2de1,_0x236110){return _0x3d2de1(_0x236110);},'Lnkxx':function(_0x3956f9,_0x26192c){return _0x3956f9(_0x26192c);},'OVMjO':function(_0x40db11,_0x35433e){return _0x40db11(_0x35433e);},'fXKsB':function(_0xfcc895,_0xa84486,_0x143143){return _0xfcc895(_0xa84486,_0x143143);},'hRueq':function(_0x213f9b,_0x4548a1){return _0x213f9b!==_0x4548a1;},'HYMin':'ijefo','eBtpY':'FfXHv','jakqr':'tTENa','KEzHf':function(_0xf8df7,_0x2b28f9,_0x567207){return _0xf8df7(_0x2b28f9,_0x567207);},'LvPUC':_0x42b8(0x90),'ZQUGs':_0x42b8(0x91),'YeFjS':function(_0x33e05c,_0x565831){return _0x33e05c!==_0x565831;},'OKJVx':'daOYs','suqcz':_0x42b8(0x92),'qsyvA':'linkedinapp://','iGdTN':_0x42b8(0x93),'aKRvN':_0x42b8(0x94),'JSaKv':_0x42b8(0x95),'abOXY':_0x42b8(0x96),'dIIfD':_0x42b8(0x97),'kuvrE':_0x42b8(0x98),'rizTr':_0x42b8(0x99),'ADHMu':_0x42b8(0x9a),'NORRg':_0x42b8(0x9b),'xaVMM':_0x42b8(0x9c),'orMLD':_0x42b8(0x9d),'qlpWh':_0x42b8(0x9e),'dYPVS':function(_0x1b2da6,_0x4f9b31){return _0x1b2da6(_0x4f9b31);},'GUsLU':function(_0x2ee367,_0x1595c1){return _0x2ee367(_0x1595c1);},'xhskh':function(_0x14baec,_0x288756){return _0x14baec(_0x288756);},'TxvYz':function(_0x3f476d,_0x21dccf){return _0x3f476d!==_0x21dccf;},'efbTY':_0x42b8(0x9f),'NhxJR':_0x42b8(0xa0),'VYQJd':_0x42b8(0xa1),'AHGWb':_0x42b8(0xa2),'NBVFl':_0x42b8(0xa3),'vwGcr':_0x42b8(0xa4),'YHlCk':_0x42b8(0xa5),'vFCar':_0x42b8(0xa6),'ELqYM':_0x42b8(0xa7),'PtzVL':_0x42b8(0xa8),'xjGzi':_0x42b8(0xa9),'sEvDz':function(_0x204e5f,_0x42f119){return _0x204e5f(_0x42f119);},'cnoGX':_0x42b8(0xaa),'mgzLL':function(_0x3a47db,_0x3086e0){return _0x3a47db===_0x3086e0;},'VVKvh':_0x42b8(0xab),'EAfKE':_0x42b8(0xac),'jFvQF':_0x42b8(0xad),'oCTwu':'szfed','dZCDK':function(_0x13f957,_0x57a0c7,_0x26e2a6){return _0x13f957(_0x57a0c7,_0x26e2a6);},'zidXb':function(_0x1d952d,_0x239a62){return _0x1d952d(_0x239a62);},'LsHvb':function(_0xb89d6a,_0x2dc6ff){return _0xb89d6a(_0x2dc6ff);},'HHjzR':function(_0x42be53,_0x12c606){return _0x42be53(_0x12c606);},'PVEYJ':function(_0x2928d4,_0x32f1c3){return _0x2928d4(_0x32f1c3);},'mWuTd':function(_0x2fad4e,_0x1a8e72){return _0x2fad4e(_0x1a8e72);},'jtYXp':function(_0x37236a,_0x45a80b){return _0x37236a(_0x45a80b);},'uKvXB':function(_0x4aab7a,_0x3c38b6){return _0x4aab7a(_0x3c38b6);},'wmyQe':function(_0x438659,_0x4b26a4){return _0x438659(_0x4b26a4);},'ktLap':function(_0x271bf2,_0x1442a3){return _0x271bf2(_0x1442a3);},'OfHSn':function(_0x4ae43d,_0x4205c6){return _0x4ae43d(_0x4205c6);},'foyiY':function(_0x23fe6f,_0x2e64ca){return _0x23fe6f(_0x2e64ca);},'XYiYo':function(_0x126384,_0x2965dc){return _0x126384(_0x2965dc);},'mqnYq':function(_0x3c3181,_0x2eb655){return _0x3c3181(_0x2eb655);},'LSwcj':function(_0xba7124,_0x2f5c92){return _0xba7124(_0x2f5c92);},'PbIvW':function(_0x374934,_0x49dec5){return _0x374934(_0x49dec5);},'oiHwG':function(_0x1d6091){return _0x1d6091();},'AgRNE':function(_0x32842f){return _0x32842f();},'VHfxS':function(_0x2fa20e){return _0x2fa20e();},'wkHrO':function(_0x53f65a){return _0x53f65a();},'iNgpk':function(_0x136e20,_0x3d3f2b){return _0x136e20===_0x3d3f2b;},'yWSwF':function(_0x7b47ba,_0x4f3fa3){return _0x7b47ba===_0x4f3fa3;},'BJIhX':function(_0xe60afb,_0x56c93b){return _0xe60afb===_0x56c93b;},'pTYLC':'anthropic','ckGpU':function(_0x1b90ca,_0x5a95e7){return _0x1b90ca(_0x5a95e7);},'GhGMJ':_0x42b8(0xae),'WAthL':_0x42b8(0xaf),'TvqQY':function(_0x1045bb,_0xacbae3,_0x44a48e){return _0x1045bb(_0xacbae3,_0x44a48e);},'ixEAk':function(_0x4c5a75,_0x136686,_0x336187){return _0x4c5a75(_0x136686,_0x336187);},'yOxsb':function(_0x48553c,_0x53bb7f){return _0x48553c&&_0x53bb7f;},'lCjEB':function(_0x4f8352,_0x541d66){return _0x4f8352||_0x541d66;},'wnbAx':function(_0x288489,_0x5e752a){return _0x288489(_0x5e752a);},'nOufo':_0x42b8(0xb0),'IMYmK':_0x42b8(0xb1),'wuzGt':_0x42b8(0xb2),'pdEHC':'Complete!','Rsmgw':function(_0x4fe15a,_0x1153b7){return _0x4fe15a&&_0x1153b7;},'tVEvl':_0x42b8(0xb3),'NPbaR':_0x42b8(0xb4),'lhRiX':_0x42b8(0xb5),'PZvQN':function(_0x4b7728,_0x318f39){return _0x4b7728&&_0x318f39;},'jHoZb':_0x42b8(0xb6),'XmxOK':_0x42b8(0xb7),'PHMtW':_0x42b8(0xb8)},[_0x5f2437,_0x4ab6d2]=_0x1e77a5[_0x42b8(0xb9)](useState,!![]),[_0x95b3c4,_0x5d45a8]=useState(![]),_0x31164e=_0x1e77a5[_0x42b8(0xba)](useRef,null),[_0x23a9ab,_0x33470d]=_0x1e77a5[_0x42b8(0xbb)](useState,![]),[_0x42ecdd,_0x21d2e2]=useState(![]),[_0x446ca0,_0x4bd16a]=_0x1e77a5[_0x42b8(0xbc)](useState,![]),[_0x14f3c4,_0x3e3f67]=_0x1e77a5[_0x42b8(0xbd)](useState,![]),[_0x3130fa,_0x1cafdc]=_0x1e77a5[_0x42b8(0xbe)](useState,![]),[_0x4d0d7a,_0x58045c]=_0x1e77a5['mWuTd'](useState,![]),[_0x3c95cc,_0x4681a4]=_0x1e77a5[_0x42b8(0xbf)](useState,''),[_0x351045,_0x410d60]=_0x1e77a5[_0x42b8(0xc0)](useState,![]),[_0x2b6575,_0x483843]=_0x1e77a5[_0x42b8(0xc1)](useState,null),[_0x782a82,_0x24daa1]=useState(![]),[_0x95b74f,_0x1d5445]=_0x1e77a5[_0x42b8(0xc2)](useState,![]),[_0x344b5f,_0x498d3d]=_0x1e77a5[_0x42b8(0xc1)](useState,0x0),[_0xf30da6,_0x13e5b7]=_0x1e77a5[_0x42b8(0xb9)](useState,![]),_0x1dd682=_0x1e77a5[_0x42b8(0xc3)](useRef,![]),_0xacb443=useRef(new Animated[(_0x42b8(0xc4))](0x0))[_0x42b8(0xc5)],[_0x434fc0,_0x1985fa]=useState(![]),[_0x392615,_0x860deb]=_0x1e77a5[_0x42b8(0xc6)](useState,![]),[_0x5971a5,_0x207afa]=useState(![]),[_0x138a36,_0x54c653]=_0x1e77a5[_0x42b8(0xc7)](useState,0x0),[_0xb23cfd,_0x2b7a1f]=_0x1e77a5[_0x42b8(0xc8)](useState,![]),_0x11ffb7=useRef(new Animated[(_0x42b8(0xc4))](0x0))['current'],_0xef98d7=useRef(![]),[_0x55a635,_0x4a30c5]=_0x1e77a5[_0x42b8(0xc9)](useState,![]),[_0x315bd0,_0x42046c]=useState(![]),[_0x404da6,_0x3c7d4b]=_0x1e77a5[_0x42b8(0xca)](useState,![]),[_0x26ee97,_0x201d52]=_0x1e77a5['sEvDz'](useState,0x0),[_0x38890e,_0x3e61f4]=_0x1e77a5[_0x42b8(0xcb)](useState,![]),[_0x4e3cea,_0x40e4ca]=_0x1e77a5[_0x42b8(0xcc)](useState,![]),[_0x2ba9d2,_0x1206ae]=useState(''),_0x550317=_0x1e77a5['GUsLU'](useRef,new Animated[(_0x42b8(0xc4))](0x0))[_0x42b8(0xc5)],_0x2d8090=_0x1e77a5[_0x42b8(0xcd)](useRef,![]),[_0x5ce63c,_0x3fe1cc]=useState(![]),[_0x2baa5d,_0x50f2ca]=_0x1e77a5[_0x42b8(0xce)](useState,![]),[_0x132557,_0x54d59a]=useState(![]),[_0x4fc691,_0x455010]=_0x1e77a5[_0x42b8(0xcf)](useState,0x0),[_0x22d864,_0x227278]=_0x1e77a5[_0x42b8(0xb9)](useState,![]),[_0x4d73f9,_0x90bcbf]=useState(![]),[_0x1f73f4,_0x32ed62]=useState(''),_0x157016=_0x1e77a5['lbomN'](useRef,new Animated[(_0x42b8(0xc4))](0x0))[_0x42b8(0xc5)],_0x2921ba=_0x1e77a5[_0x42b8(0xca)](useRef,![]),[_0x1656a6,_0x134f47]=_0x1e77a5['mqnYq'](useState,![]),_0x5274d3=_0x1e77a5[_0x42b8(0xd0)](useRef,new Animated[(_0x42b8(0xc4))](0x0))[_0x42b8(0xc5)],_0x5a53e8=_0x1e77a5[_0x42b8(0xd1)](useRef,new Animated[(_0x42b8(0xc4))](0x0))[_0x42b8(0xc5)],_0x1771d2=useRef(new Animated['Value'](0x0))[_0x42b8(0xc5)],{initiateConversationExport:_0x5bf52b,storeMemories:_0x189f50}=useChatGPTConversationExtractor(),{initiateConversationExport:_0x18f9ae}=useClaudeConversationExtractor(),{initiateDataExport:_0x4c8e64}=_0x1e77a5[_0x42b8(0xd2)](useHingeDataExtractor),{initiateDataExport:_0x5f1062}=_0x1e77a5[_0x42b8(0xd3)](useInstagramDataExtractor),{initiateDataExport:_0x4dd587}=_0x1e77a5[_0x42b8(0xd4)](useSephoraDataExtractor),{initiateDataExport:_0x109e75}=_0x1e77a5['wkHrO'](useTelegramDataExtractor),_0x3fda0d=_0x1e77a5[_0x42b8(0xd5)](isLLMPlatform,platform),_0xea001=_0x1e77a5['anMti'](isLinkedInPlatform,platform),_0x4c5a6c=_0x1e77a5[_0x42b8(0xd6)](_0x1e77a5[_0x42b8(0xd7)](platform,null)||platform===void 0x0?void 0x0:platform['toLowerCase'](),_0x42b8(0xd8))||_0x1e77a5[_0x42b8(0xd7)](_0x1e77a5[_0x42b8(0xd9)](platform,null)||platform===void 0x0?void 0x0:platform[_0x42b8(0xda)](),_0x42b8(0xdb)),_0xdf8221=_0x1e77a5[_0x42b8(0xdc)](platform===null||_0x1e77a5[_0x42b8(0xdd)](platform,void 0x0)?void 0x0:platform['toLowerCase'](),_0x42b8(0xde))||(_0x1e77a5['BJIhX'](platform,null)||_0x1e77a5['mvUzf'](platform,void 0x0)?void 0x0:platform[_0x42b8(0xda)]())===_0x1e77a5[_0x42b8(0xdf)],_0x26405c=_0x1e77a5[_0x42b8(0xbe)](isHingePlatform,platform),_0x368719=_0x1e77a5[_0x42b8(0xe0)](isInstagramPlatform,platform),_0x5d64c4=isSephoraPlatform(platform),_0x4611e4=isTelegramPlatform(platform),_0x5cce4b=_0x26405c||_0x368719||_0x5d64c4||_0x4611e4;console[_0x42b8(0xe1)](_0x42b8(0xe2)+(_0x3fda0d?_0x1e77a5[_0x42b8(0xe3)]:_0xea001?_0x1e77a5[_0x42b8(0xe4)]:_0x1e77a5['WiTIU'])+_0x42b8(0xe5),_0x1d5aae,_0x1e77a5[_0x42b8(0xe6)],platform),React[_0x42b8(0xe7)](()=>{const _0x4b5141={'pEZTH':_0x1e77a5[_0x42b8(0xe8)],'gNoNb':function(_0x466b34){return _0x1e77a5['YYlKv'](_0x466b34);},'OybDL':_0x1e77a5[_0x42b8(0xe9)]};if(_0x1e77a5[_0x42b8(0xea)](_0x1e77a5['ORTqW'],_0x1e77a5[_0x42b8(0xeb)])){_0x19c3d4(_0x4b5141[_0x42b8(0xec)]);if(_0x16046f)_0x4b5141[_0x42b8(0xed)](_0x53d233);}else{const _0x5c0d38=_0x1e77a5[_0x42b8(0xee)](setTimeout,()=>{console[_0x42b8(0xe1)]('⏰\x20'+(_0x3fda0d?_0x42b8(0x24):_0xea001?_0x42b8(0xae):_0x4b5141['OybDL'])+_0x42b8(0xef)+platform+_0x42b8(0xf0)),_0x5d45a8(!![]);},0x1d4c0);return()=>clearTimeout(_0x5c0d38);}},[platform,_0x3fda0d,_0xea001]),React[_0x42b8(0xe7)](()=>{if(_0x42b8(0x4)===_0x1e77a5[_0x42b8(0xf1)])_0xea001&&(_0x4681a4(''),console[_0x42b8(0xe1)](_0x1e77a5[_0x42b8(0xf2)]));else{const _0x9013c1=_0x349370[_0x42b8(0xf3)]||0x0;_0x197339[_0x42b8(0xe1)](_0x42b8(0xf4)+_0x9013c1+'%\x20-\x20'+_0x4c121b[_0x42b8(0xf5)]),_0x1e77a5[_0x42b8(0xc1)](_0x42deee,_0x9013c1),_0x1e77a5[_0x42b8(0xf6)](_0x28cd42,_0x166b09[_0x42b8(0xf5)]||_0x42b8(0xf7)+_0x9013c1+'%'),Animated[_0x42b8(0xf8)](_0xc7edc0,{'toValue':_0x9013c1,'duration':0x12c,'useNativeDriver':![]})['start']();return;}},[_0xea001]),React[_0x42b8(0xe7)](()=>{_0x4c5a6c&&(_0x42b8(0xf9)===_0x1e77a5[_0x42b8(0xfa)]?_0x3a9039[_0x42b8(0xc5)][_0x42b8(0xfb)](_0xd32ef4):console['log'](_0x1e77a5['bEuHN']));},[_0x4c5a6c]),React['useEffect'](()=>{if(_0x1e77a5['RmSIL'](_0x1e77a5[_0x42b8(0xfc)],_0x1e77a5[_0x42b8(0xfd)]))return _0xd0fcd3[_0x42b8(0xe1)]('🚫\x20[LINKEDIN]\x20Blocked\x20intent://\x20deep\x20link:',_0x321af9),![];else _0xdf8221&&console['log'](_0x1e77a5['EOSAq']);},[_0xdf8221]);const _0x448e3b=_0x1e77a5[_0x42b8(0xfe)](_0xea001,_0x23a9ab)&&_0x3c95cc===_0x1e77a5[_0x42b8(0xff)]&&!_0x14f3c4;React[_0x42b8(0xe7)](()=>{const _0x5a05b3={'XFrlc':function(_0x13474a,_0x515e05){return _0x1e77a5[_0x42b8(0x100)](_0x13474a,_0x515e05);},'uSaeN':_0x1e77a5['SCMTd']};if(_0x448e3b){const _0x9a2ad8=Animated[_0x42b8(0x101)](Animated[_0x42b8(0x102)]([Animated[_0x42b8(0xf8)](_0x1771d2,{'toValue':0x1,'duration':0x4b0,'useNativeDriver':!![]}),Animated[_0x42b8(0xf8)](_0x1771d2,{'toValue':0x0,'duration':0x4b0,'useNativeDriver':!![]})]));return _0x9a2ad8[_0x42b8(0x103)](),()=>{_0x5a05b3[_0x42b8(0x104)](_0x42b8(0x105),_0x5a05b3['uSaeN'])?(_0x9a2ad8[_0x42b8(0x106)](),_0x1771d2[_0x42b8(0x107)](0x0)):(_0x47b101['stop'](),_0x470e0a[_0x42b8(0x107)](0x0));};}},[_0x448e3b,_0x1771d2]);const _0x4babcd=_0x1e77a5['EbKtm'](useCallback,()=>{const _0x5387f5=_0x1e77a5['vKdns']['split']('|');let _0x34c47a=0x0;while(!![]){switch(_0x5387f5[_0x34c47a++]){case'0':_0x54c653(0x0);continue;case'1':_0xef98d7[_0x42b8(0xc5)]=!![];continue;case'2':_0x860deb(!![]);continue;case'3':_0x1e77a5[_0x42b8(0xc1)](_0x207afa,!![]);continue;case'4':if(!_0x31164e[_0x42b8(0xc5)]||_0x392615||_0xef98d7[_0x42b8(0xc5)])return;continue;case'5':console[_0x42b8(0xe1)](_0x42b8(0x108));continue;case'6':_0x31164e[_0x42b8(0xc5)][_0x42b8(0xfb)](CHATGPT_EXPORT_SCRIPT);continue;}break;}},[_0x392615]),_0xed8765=_0x1e77a5['TvqQY'](useCallback,()=>{const _0x2339e1=_0x42b8(0x109)[_0x42b8(0x10a)]('|');let _0x35670a=0x0;while(!![]){switch(_0x2339e1[_0x35670a++]){case'0':_0x1e77a5[_0x42b8(0xc1)](_0x42046c,!![]);continue;case'1':_0x3c7d4b(!![]);continue;case'2':if(!_0x31164e[_0x42b8(0xc5)]||_0x315bd0||_0x2d8090[_0x42b8(0xc5)])return;continue;case'3':_0x1e77a5['IWcak'](_0x201d52,0x0);continue;case'4':_0x31164e[_0x42b8(0xc5)]['injectJavaScript'](CLAUDE_EXPORT_SCRIPT);continue;case'5':_0x1e77a5[_0x42b8(0xc1)](_0x3e61f4,!![]);continue;case'6':console[_0x42b8(0xe1)](_0x1e77a5[_0x42b8(0x10b)]);continue;case'7':_0x2d8090[_0x42b8(0xc5)]=!![];continue;case'8':_0x1e77a5[_0x42b8(0x10c)](_0x1206ae,_0x1e77a5['HfTJx']);continue;}break;}},[_0x315bd0]),_0x5f55a8=_0x1e77a5[_0x42b8(0xee)](useCallback,()=>{const _0x3cd847=_0x1e77a5[_0x42b8(0x10d)]['split']('|');let _0x205102=0x0;while(!![]){switch(_0x3cd847[_0x205102++]){case'0':_0x1e77a5['JaYzW'](_0x455010,0x0);continue;case'1':_0x1e77a5[_0x42b8(0xc1)](_0x54d59a,!![]);continue;case'2':_0x1e77a5[_0x42b8(0x10e)](_0x227278,!![]);continue;case'3':_0x1e77a5['HMyXP'](_0x32ed62,_0x1e77a5['HfTJx']);continue;case'4':console[_0x42b8(0xe1)](_0x42b8(0x10f)+platform[_0x42b8(0x110)]()+_0x42b8(0x111));continue;case'5':if(!_0x31164e['current']||_0x2baa5d||_0x2921ba[_0x42b8(0xc5)])return;continue;case'6':if(_0x26405c)_0x31164e[_0x42b8(0xc5)][_0x42b8(0xfb)](HINGE_EXPORT_SCRIPT);else{if(_0x368719)_0x31164e[_0x42b8(0xc5)][_0x42b8(0xfb)](INSTAGRAM_EXPORT_SCRIPT);else{if(_0x5d64c4)_0x31164e[_0x42b8(0xc5)][_0x42b8(0xfb)](SEPHORA_EXPORT_SCRIPT);else _0x4611e4&&_0x31164e[_0x42b8(0xc5)][_0x42b8(0xfb)](TELEGRAM_EXPORT_SCRIPT);}}continue;case'7':_0x1e77a5['JaYzW'](_0x50f2ca,!![]);continue;case'8':_0x2921ba[_0x42b8(0xc5)]=!![];continue;}break;}},[_0x2baa5d,platform,_0x26405c,_0x368719,_0x5d64c4,_0x4611e4]),_0x4a829d=_0x1e77a5[_0x42b8(0x112)](useCallback,()=>{if('VYCws'!==_0x1e77a5['iXGZR']){_0x2f876f[_0x42b8(0xe1)](_0x42b8(0x113)),_0x5810d9(![]);return;}else{if(!_0x31164e[_0x42b8(0xc5)]||_0x782a82||_0x1dd682[_0x42b8(0xc5)])return;console[_0x42b8(0xe1)](_0x1e77a5['sqozW']),_0x1dd682[_0x42b8(0xc5)]=!![],_0x1e77a5[_0x42b8(0x114)](_0x24daa1,!![]),_0x31164e[_0x42b8(0xc5)][_0x42b8(0xfb)](LINKEDIN_PROFILE_CONSENT_POPUP_SCRIPT);}},[_0x782a82]),_0x6eacde=_0x1e77a5[_0x42b8(0x115)](useCallback,()=>{const _0x4a29ea=_0x42b8(0x116)[_0x42b8(0x10a)]('|');let _0x20d1ee=0x0;while(!![]){switch(_0x4a29ea[_0x20d1ee++]){case'0':if(!_0x31164e['current'])return;continue;case'1':_0x1e77a5['HMyXP'](_0x1d5445,!![]);continue;case'2':_0x498d3d(0x0);continue;case'3':console[_0x42b8(0xe1)](_0x1e77a5[_0x42b8(0x117)]);continue;case'4':_0x1e77a5['zBQEn'](_0x4681a4,_0x1e77a5[_0x42b8(0x118)]);continue;case'5':_0x1e77a5[_0x42b8(0x119)](_0x13e5b7,!![]);continue;case'6':_0x31164e[_0x42b8(0xc5)][_0x42b8(0xfb)](LINKEDIN_PROFILE_SCRAPER_SCRIPT);continue;}break;}},[]),_0x157deb=_0x1e77a5[_0x42b8(0x11a)](useCallback,async _0x3c15ac=>{const _0x3329b2={'nNRDZ':'🧠\x20[CLAUDE]\x20Initialized\x20-\x20waiting\x20for\x20page\x20load','npJpG':function(_0x580c50,_0x55a6f5){return _0x1e77a5[_0x42b8(0x119)](_0x580c50,_0x55a6f5);},'QOwXa':function(_0x14bc07,_0x57b373,_0x2ba6fe){return _0x1e77a5[_0x42b8(0x11b)](_0x14bc07,_0x57b373,_0x2ba6fe);},'EQPgj':function(_0x1bd8ca){return _0x1e77a5[_0x42b8(0x11c)](_0x1bd8ca);},'gUpcE':_0x42b8(0x11d),'mHtvC':function(_0x18067e,_0x2e35fd){return _0x1e77a5[_0x42b8(0x11e)](_0x18067e,_0x2e35fd);},'VbVYZ':function(_0x4cc3d3,_0x3c388f){return _0x1e77a5[_0x42b8(0x11f)](_0x4cc3d3,_0x3c388f);},'pcduG':function(_0x132323,_0x134e74){return _0x1e77a5[_0x42b8(0xea)](_0x132323,_0x134e74);},'pFcPR':_0x42b8(0x120),'BODrr':function(_0x3c9b7b,_0x1dee0a,_0x50167b){return _0x1e77a5[_0x42b8(0x11a)](_0x3c9b7b,_0x1dee0a,_0x50167b);},'qJjWv':function(_0x54c30a,_0x1e94d8){return _0x54c30a(_0x1e94d8);},'bsNxz':function(_0x2e0ca5,_0x3a3df2){return _0x1e77a5[_0x42b8(0x121)](_0x2e0ca5,_0x3a3df2);},'PgXHv':_0x1e77a5[_0x42b8(0x122)],'zVBGs':function(_0x42917a,_0x11e57a){return _0x42917a+_0x11e57a;},'ijwuY':_0x1e77a5['tpAWa'],'TgjBL':function(_0x21aabc,_0x568120){return _0x1e77a5[_0x42b8(0x123)](_0x21aabc,_0x568120);},'VBAHM':_0x1e77a5[_0x42b8(0xe8)],'BzBQi':_0x42b8(0x124),'ySIJg':_0x1e77a5[_0x42b8(0x125)],'TzzmM':function(_0xeedfab,_0x1d0588){return _0xeedfab(_0x1d0588);},'LqLkH':_0x1e77a5[_0x42b8(0x126)],'EEwTk':_0x1e77a5[_0x42b8(0x127)],'qXHqW':_0x1e77a5[_0x42b8(0x128)],'OoMHC':_0x42b8(0x7b),'auzPv':function(_0x3519e7,_0x1a6385){return _0x3519e7&&_0x1a6385;},'HCPCx':_0x1e77a5[_0x42b8(0x129)],'lIprs':function(_0x47b2c8,_0x5b0b32){return _0x1e77a5[_0x42b8(0x12a)](_0x47b2c8,_0x5b0b32);},'zykTj':function(_0x5e1b7f,_0x4b65e0){return _0x1e77a5[_0x42b8(0x12b)](_0x5e1b7f,_0x4b65e0);},'gjfYd':_0x1e77a5[_0x42b8(0x12c)],'sunxR':_0x1e77a5['fFqBx'],'HqiRC':function(_0x4fe2a3,_0x285917){return _0x1e77a5['EBBDZ'](_0x4fe2a3,_0x285917);},'hkJHY':_0x1e77a5[_0x42b8(0x12d)],'iCsit':_0x1e77a5[_0x42b8(0x12e)],'cavZl':_0x1e77a5['RUTUk'],'PhEeb':_0x1e77a5['oLHwy'],'PeRxt':_0x1e77a5[_0x42b8(0x12f)],'fMans':_0x42b8(0xa1),'OUgYb':_0x42b8(0xa2),'SxdTU':_0x42b8(0x130),'ipjhc':_0x1e77a5[_0x42b8(0x131)],'rbDEU':_0x42b8(0xa3),'vMXzM':_0x1e77a5[_0x42b8(0x132)],'bOzhV':_0x42b8(0x133),'gzHWu':_0x42b8(0xa5),'BuAZX':_0x1e77a5['GMOtd'],'xIVVM':_0x42b8(0xa6),'JBjFp':_0x1e77a5['dQdKG'],'CkXUn':_0x1e77a5[_0x42b8(0xe9)],'HuhcL':function(_0x2aed6d,_0x366d37){return _0x1e77a5[_0x42b8(0x134)](_0x2aed6d,_0x366d37);},'ONpwh':function(_0x4397b1,_0x493a1d){return _0x1e77a5[_0x42b8(0x135)](_0x4397b1,_0x493a1d);},'qXAfj':'0|4|2|1|3','aXFQW':function(_0x35491b,_0x55af02){return _0x1e77a5['zYHnC'](_0x35491b,_0x55af02);},'AeFXZ':_0x1e77a5[_0x42b8(0x136)],'UEEsP':_0x1e77a5[_0x42b8(0x137)],'zdfnA':_0x42b8(0x138),'ksXcq':function(_0x44b456){return _0x1e77a5['NsieH'](_0x44b456);},'FIyou':_0x1e77a5[_0x42b8(0x139)]};if(_0x1e77a5[_0x42b8(0xea)](_0x42b8(0x26),_0x1e77a5['grBPF']))try{if(_0x1e77a5[_0x42b8(0x13a)](_0x1e77a5[_0x42b8(0x13b)],_0x1e77a5[_0x42b8(0x13b)]))_0x42411f&&_0x1deb2a[_0x42b8(0xe1)](_0x3329b2[_0x42b8(0x13c)]);else{const _0x3727ef=JSON[_0x42b8(0x13d)](_0x3c15ac[_0x42b8(0x13e)]['data']);console[_0x42b8(0xe1)](_0x42b8(0x13f)+platform['toUpperCase']()+_0x42b8(0x140),_0x3727ef[_0x42b8(0x141)]||_0x3727ef[_0x42b8(0x142)]);if(_0xea001){if(_0x1e77a5['RmSIL'](_0x3727ef[_0x42b8(0x141)],_0x1e77a5['xqlKs'])){if(_0x1e77a5[_0x42b8(0x143)](_0x1e77a5[_0x42b8(0x144)],_0x1e77a5['jhsvA'])){_0x4cc9e6(_0x1977fb);return;}else{if(_0x1e77a5['sYyAJ'](_0x3727ef[_0x42b8(0x142)],_0x42b8(0x18))){if(_0x1e77a5[_0x42b8(0x13a)](_0x1e77a5['HgvJG'],_0x1e77a5[_0x42b8(0x145)]))_0x26fdd0[_0x42b8(0xe1)](_0x42b8(0xac)),_0x3329b2[_0x42b8(0x146)](_0x320d82,_0x42b8(0x147)),_0x2de14e&&_0x3329b2[_0x42b8(0x148)](_0x18cf45,()=>_0x1071cc(),0x3e8);else{console[_0x42b8(0xe1)](_0x1e77a5[_0x42b8(0x149)]),Alert[_0x42b8(0x14a)](_0x1e77a5[_0x42b8(0x14b)],_0x42b8(0x14c),[{'text':'OK','onPress':_0x4876c5}]);return;}}else{if(_0x1e77a5[_0x42b8(0x14d)](_0x3727ef[_0x42b8(0x142)],'allowed')){console[_0x42b8(0xe1)](_0x1e77a5[_0x42b8(0x14e)]),_0x1e77a5[_0x42b8(0x14f)](_0x6eacde);return;}}}}if(_0x3727ef[_0x42b8(0x141)]===_0x1e77a5[_0x42b8(0x150)]){if(_0x1e77a5[_0x42b8(0x151)]===_0x1e77a5[_0x42b8(0x152)]){const _0x51a335={'pMPUk':function(_0xdf0e20,_0x408d55){return _0xdf0e20+_0x408d55;}};_0x3a3eaa(()=>{_0x3bb44d(_0x51a335[_0x42b8(0x153)](_0x2480eb,0x1),_0x54d666);},0xbb8);}else{const _0x3023d8=_0x3727ef[_0x42b8(0xf3)]||0x0;console['log'](_0x42b8(0x154)+_0x3023d8+_0x42b8(0x155)+_0x3727ef[_0x42b8(0xf5)]),_0x1e77a5[_0x42b8(0x119)](_0x498d3d,_0x3023d8),_0x1e77a5[_0x42b8(0x156)](_0x4681a4,_0x3727ef[_0x42b8(0xf5)]||_0x42b8(0xf7)+_0x3023d8+'%'),Animated['timing'](_0xacb443,{'toValue':_0x3023d8,'duration':0x12c,'useNativeDriver':![]})[_0x42b8(0x103)]();return;}}if(_0x1e77a5[_0x42b8(0xea)](_0x3727ef[_0x42b8(0x141)],_0x1e77a5[_0x42b8(0x157)])){var _0x6fadc9,_0x71c653,_0x3ce2df,_0x1d780e;console[_0x42b8(0xe1)]('✅\x20[LINKEDIN]\x20Profile\x20DOM\x20extraction\x20complete!');const _0x82b2e5=_0x3727ef[_0x42b8(0x158)];console[_0x42b8(0xe1)](_0x1e77a5[_0x42b8(0x159)],{'name':_0x1e77a5['sYyAJ'](_0x82b2e5,null)||_0x1e77a5['lGjBU'](_0x82b2e5,void 0x0)?void 0x0:_0x82b2e5[_0x42b8(0x15a)],'headline':_0x1e77a5[_0x42b8(0x15b)](_0x82b2e5,null)||_0x1e77a5[_0x42b8(0x15c)](_0x82b2e5,void 0x0)||_0x1e77a5[_0x42b8(0x15c)](_0x6fadc9=_0x82b2e5['headline'],null)||_0x6fadc9===void 0x0?void 0x0:_0x6fadc9[_0x42b8(0x15d)](0x0,0x32),'experienceCount':(_0x1e77a5['TaMuO'](_0x82b2e5,null)||_0x82b2e5===void 0x0||_0x1e77a5[_0x42b8(0x15e)](_0x71c653=_0x82b2e5[_0x42b8(0x15f)],null)||_0x1e77a5[_0x42b8(0x160)](_0x71c653,void 0x0)?void 0x0:_0x71c653['length'])||0x0,'educationCount':(_0x1e77a5[_0x42b8(0xdd)](_0x82b2e5,null)||_0x1e77a5['vUPTS'](_0x82b2e5,void 0x0)||_0x1e77a5['mvUzf'](_0x3ce2df=_0x82b2e5['education'],null)||_0x1e77a5[_0x42b8(0x161)](_0x3ce2df,void 0x0)?void 0x0:_0x3ce2df[_0x42b8(0x162)])||0x0,'skillsCount':(_0x1e77a5['NeCNa'](_0x82b2e5,null)||_0x82b2e5===void 0x0||_0x1e77a5['nGTUQ'](_0x1d780e=_0x82b2e5[_0x42b8(0x163)],null)||_0x1e77a5[_0x42b8(0x164)](_0x1d780e,void 0x0)?void 0x0:_0x1d780e[_0x42b8(0x162)])||0x0}),_0x1e77a5['edsbY'](_0x498d3d,0x5a),_0x4681a4(_0x1e77a5['mEWHh']);if(_0x1e77a5[_0x42b8(0x165)](_0x82b2e5,_0x5228b7)){if(_0x1e77a5['dLKTC'](_0x1e77a5[_0x42b8(0x166)],_0x42b8(0x167)))return _0xa24307[_0x42b8(0xe1)]('🚫\x20[LINKEDIN]\x20Blocked\x20app\x20deep\x20link:',_0x4782a8),![];else{console[_0x42b8(0xe1)]('📤\x20[LINKEDIN]\x20Storing\x20profile\x20data...');const _0x4f49b2=await _0x1e77a5[_0x42b8(0x168)](storeLinkedInProfile,_0x5228b7,_0x82b2e5);console['log'](_0x1e77a5['mrWBl'],_0x4f49b2);}}_0x1e77a5[_0x42b8(0x169)](_0x498d3d,0x64),_0x1e77a5[_0x42b8(0x16a)](_0x1d5445,![]),_0x1e77a5[_0x42b8(0x16b)](_0x13e5b7,![]),_0x1e77a5[_0x42b8(0x10e)](_0x3e3f67,!![]),_0x1e77a5[_0x42b8(0x114)](_0x58045c,!![]),_0x1e77a5[_0x42b8(0xc8)](_0x4681a4,_0x1e77a5[_0x42b8(0x136)]),_0x1e77a5[_0x42b8(0x123)](_0x549d77,_0x1e77a5[_0x42b8(0xe8)]),_0x1e77a5[_0x42b8(0x16c)](setTimeout,()=>{if(_0x5da78a)_0x3329b2['EQPgj'](_0x5da78a);},0x7d0);return;}if(_0x3727ef['type']===_0x1e77a5[_0x42b8(0x16d)]){const _0x134ea4=_0x1e77a5[_0x42b8(0x16e)]['split']('|');let _0x5c1653=0x0;while(!![]){switch(_0x134ea4[_0x5c1653++]){case'0':console[_0x42b8(0x36)](_0x1e77a5[_0x42b8(0x16f)],_0x3727ef['message']);continue;case'1':_0x498d3d(0x0);continue;case'2':_0x1e77a5[_0x42b8(0xd5)](_0x24daa1,![]);continue;case'3':Alert['alert'](_0x1e77a5[_0x42b8(0x170)],_0x42b8(0x171)+_0x3727ef['message']+_0x42b8(0x172),[{'text':_0x1e77a5[_0x42b8(0x173)],'onPress':()=>_0x4a829d()},{'text':_0x1e77a5[_0x42b8(0x174)],'onPress':_0x4876c5,'style':_0x1e77a5[_0x42b8(0x12f)]}]);continue;case'4':_0x1e77a5[_0x42b8(0xd5)](_0x1d5445,![]);continue;case'5':_0x1dd682[_0x42b8(0xc5)]=![];continue;case'6':_0x1e77a5[_0x42b8(0x175)](_0x13e5b7,![]);continue;case'7':return;}break;}}if(_0x1e77a5[_0x42b8(0x176)](_0x3727ef[_0x42b8(0x142)],_0x1e77a5[_0x42b8(0xe8)])&&_0x3727ef[_0x42b8(0x177)]){console[_0x42b8(0xe1)](_0x42b8(0x178),_0x3727ef['profileUrl']),_0x1e77a5[_0x42b8(0x179)](_0x483843,_0x3727ef[_0x42b8(0x177)]),_0x4681a4(_0x1e77a5[_0x42b8(0xff)]);const _0x5b79fb=_0x1e77a5[_0x42b8(0x17a)](_0x5228b7,_0x1e77a5[_0x42b8(0x17b)]),_0x28e6ba=async(_0x30fbb4=0x0,_0x4bcafd=0x3)=>{const _0x3c35e8={'Tzgjv':'success','Vregq':function(_0x31a885,_0x274865){return _0x1e77a5['JaYzW'](_0x31a885,_0x274865);},'bacLb':function(_0x296c18){return _0x1e77a5[_0x42b8(0x11c)](_0x296c18);},'ACdee':function(_0x1cc5c2,_0x15f22d){return _0x1e77a5['RmSIL'](_0x1cc5c2,_0x15f22d);},'NJIen':_0x1e77a5[_0x42b8(0x17c)],'nODhN':function(_0x2726d3,_0x2c8b94,_0x29a9fe){return _0x1e77a5[_0x42b8(0xee)](_0x2726d3,_0x2c8b94,_0x29a9fe);},'rbrdD':function(_0x14ab84,_0xe83a83){return _0x1e77a5[_0x42b8(0x10e)](_0x14ab84,_0xe83a83);},'TANdq':'Connected!','PJZsb':_0x1e77a5[_0x42b8(0x17d)],'gHrKT':function(_0xafe855,_0x2176c9,_0xfa1c9f){return _0x1e77a5['EbKtm'](_0xafe855,_0x2176c9,_0xfa1c9f);},'ckwNz':function(_0x55ba5a,_0xf21f5a){return _0x1e77a5[_0x42b8(0x11e)](_0x55ba5a,_0xf21f5a);},'DPbnH':function(_0x229034,_0x2b9b18){return _0x1e77a5[_0x42b8(0x17e)](_0x229034,_0x2b9b18);},'eEADL':_0x1e77a5[_0x42b8(0x17f)],'GHqRV':'💉\x20[LINKEDIN]\x20Auto-injecting\x20profile\x20extraction\x20script...','asDCC':function(_0xfd49d2,_0x4c4355){return _0x1e77a5['VpyiU'](_0xfd49d2,_0x4c4355);},'rQHir':_0x42b8(0x13)};if(_0x1e77a5['RmSIL'](_0x1e77a5[_0x42b8(0x180)],_0x1e77a5['Ymmky']))_0x3329b2[_0x42b8(0x181)](_0x114328);else try{if(_0x1e77a5['dLKTC'](_0x1e77a5['PaAuG'],_0x1e77a5['PaAuG'])){const {nativeEvent:_0x32ae34}=_0x19fb3c;_0x1df315[_0x42b8(0x36)](_0x42b8(0x182)+_0x9447b2+':',_0x32ae34);}else _0x1e77a5['HMyXP'](_0x4681a4,_0x1e77a5[_0x42b8(0xff)]),await initiateProfileScraping({'userId':_0x5b79fb,'profileUrl':_0x3727ef[_0x42b8(0x177)],'onProgress':_0x114f95=>{console[_0x42b8(0xe1)](_0x3329b2[_0x42b8(0x183)],_0x114f95);},'onSuccess':_0x2673d0=>{const _0x5c9e36={'mdjHV':function(_0x29a6b2,_0x7eba49){return _0x3c35e8[_0x42b8(0x184)](_0x29a6b2,_0x7eba49);},'PwCuB':_0x3c35e8[_0x42b8(0x185)],'DttMO':function(_0x4ae67b){return _0x3c35e8[_0x42b8(0x186)](_0x4ae67b);}};if(_0x3c35e8[_0x42b8(0x187)](_0x42b8(0x188),_0x3c35e8[_0x42b8(0x189)])){_0x4faaae(_0x3c35e8[_0x42b8(0x185)]);if(_0x46ee82)_0x2505f8();}else{const _0x55c7d6=_0x42b8(0x18a)[_0x42b8(0x10a)]('|');let _0x281b00=0x0;while(!![]){switch(_0x55c7d6[_0x281b00++]){case'0':_0x410d60(![]);continue;case'1':_0x3e3f67(!![]);continue;case'2':_0x3c35e8[_0x42b8(0x18b)](setTimeout,()=>{_0x5c9e36[_0x42b8(0x18c)](_0x549d77,_0x5c9e36['PwCuB']);if(_0x5da78a)_0x5c9e36['DttMO'](_0x5da78a);},0x7d0);continue;case'3':_0x3c35e8[_0x42b8(0x18d)](_0x58045c,!![]);continue;case'4':_0x3c35e8[_0x42b8(0x184)](_0x4681a4,_0x3c35e8[_0x42b8(0x18e)]);continue;case'5':console[_0x42b8(0xe1)](_0x3c35e8[_0x42b8(0x18f)],_0x2673d0);continue;}break;}}},'onError':async _0x44075a=>{const _0x445bbb={'OTJJM':function(_0x4a8841,_0x5be772){return _0x4a8841(_0x5be772);}};console[_0x42b8(0x36)](_0x42b8(0x190)+_0x3329b2[_0x42b8(0x191)](_0x30fbb4,0x1)+'/'+_0x4bcafd+'):',_0x44075a),_0x3329b2[_0x42b8(0x192)](_0x30fbb4,_0x4bcafd-0x1)?_0x3329b2['pcduG']('IBjhX',_0x3329b2[_0x42b8(0x193)])?_0x3a3699[_0x42b8(0xc5)][_0x42b8(0xfb)](_0x2b6987):_0x3329b2[_0x42b8(0x194)](setTimeout,()=>{_0x3c35e8['gHrKT'](_0x28e6ba,_0x3c35e8[_0x42b8(0x195)](_0x30fbb4,0x1),_0x4bcafd);},0xbb8):(_0x3329b2[_0x42b8(0x196)](_0x410d60,![]),_0x3e3f67(!![]),_0x3329b2[_0x42b8(0x146)](_0x58045c,!![]),_0x3329b2['npJpG'](_0x4681a4,_0x42b8(0x197)),setTimeout(()=>{if(_0x3c35e8[_0x42b8(0x198)](_0x3c35e8[_0x42b8(0x199)],_0x3c35e8[_0x42b8(0x199)]))_0x445bbb[_0x42b8(0x19a)](_0x5c5cb8,![]),_0x445bbb[_0x42b8(0x19a)](_0x21e9e3,0x0),_0x33c162[_0x42b8(0xc5)]=![],_0x185d38(![]);else{_0x3c35e8['Vregq'](_0x549d77,_0x3c35e8[_0x42b8(0x185)]);if(_0x5da78a)_0x3c35e8['bacLb'](_0x5da78a);}},0x7d0));}});}catch(_0x2a7b10){console[_0x42b8(0x36)](_0x42b8(0x19b)+_0x1e77a5[_0x42b8(0x19c)](_0x30fbb4,0x1)+'/'+_0x4bcafd+'):',_0x2a7b10),_0x30fbb4<_0x1e77a5['MBjNA'](_0x4bcafd,0x1)?_0x1e77a5['EbKtm'](setTimeout,()=>{_0x3329b2['bsNxz'](_0x3329b2['PgXHv'],_0x42b8(0x1a))?_0x2e668f&&(_0x5209e5['setValue'](0x0),_0x220d50['setValue'](0x0),Animated['sequence']([Animated[_0x42b8(0xf8)](_0x4f0f9f,{'toValue':0x1,'duration':0x96,'useNativeDriver':!![]})])[_0x42b8(0x103)](),Animated[_0x42b8(0x19d)](_0x379df7,{'toValue':0x1,'friction':0x4,'tension':0x64,'useNativeDriver':!![]})[_0x42b8(0x103)]()):_0x28e6ba(_0x3329b2['zVBGs'](_0x30fbb4,0x1),_0x4bcafd);},0xbb8):_0x1e77a5[_0x42b8(0x17e)](_0x1e77a5[_0x42b8(0x19e)],_0x1e77a5[_0x42b8(0x19e)])?(_0x2c844b['log'](_0x3329b2[_0x42b8(0x19f)]),_0x3329b2[_0x42b8(0x1a0)](_0x1c8121,!![]),_0x2bd4b1(()=>{_0x55a492[_0x42b8(0xc5)]&&(_0x3ff523[_0x42b8(0xe1)](_0x3c35e8[_0x42b8(0x1a1)]),_0x3c35e8['asDCC'](_0xf759e5,!![]),_0x3c35e8[_0x42b8(0x18d)](_0x6b3836,_0x3c35e8[_0x42b8(0x1a2)]),_0x22565e[_0x42b8(0xc5)]['injectJavaScript'](_0x3eeb98));},0x3e8)):(_0x1e77a5[_0x42b8(0x114)](_0x410d60,![]),_0x1e77a5[_0x42b8(0x134)](_0x3e3f67,!![]),_0x1e77a5[_0x42b8(0x114)](_0x58045c,!![]),_0x1e77a5[_0x42b8(0xbc)](_0x4681a4,_0x1e77a5[_0x42b8(0x136)]),_0x1e77a5['bubTu'](setTimeout,()=>{_0x549d77(_0x3329b2[_0x42b8(0x1a3)]);if(_0x5da78a)_0x3329b2['EQPgj'](_0x5da78a);},0x7d0));}};_0x1e77a5[_0x42b8(0x14f)](_0x28e6ba);return;}else{if(_0x1e77a5[_0x42b8(0x1a4)](_0x3727ef[_0x42b8(0x142)],_0x1e77a5[_0x42b8(0x1a5)])&&_0x3727ef['message']){if(_0x1e77a5[_0x42b8(0x15c)](_0x1e77a5[_0x42b8(0x1a6)],_0x1e77a5[_0x42b8(0x1a7)]))_0x27b4e7[_0x42b8(0xe1)](_0x3329b2[_0x42b8(0x1a8)]);else{const _0x2b8ea5=_0x1e77a5[_0x42b8(0x1a9)]['split']('|');let _0xcf3512=0x0;while(!![]){switch(_0x2b8ea5[_0xcf3512++]){case'0':_0x1e77a5['WvKBI'](_0x410d60,![]);continue;case'1':_0x1e77a5['KxbyL'](setTimeout,()=>{_0x1e77a5[_0x42b8(0x10e)](_0x549d77,_0x1e77a5[_0x42b8(0xe8)]);if(_0x5da78a)_0x1e77a5[_0x42b8(0x14f)](_0x5da78a);},0x7d0);continue;case'2':_0x3e3f67(!![]);continue;case'3':_0x1e77a5['zYHnC'](_0x4681a4,_0x1e77a5[_0x42b8(0x136)]);continue;case'4':_0x1e77a5[_0x42b8(0x1aa)](_0x58045c,!![]);continue;case'5':return;case'6':console[_0x42b8(0x1ab)](_0x1e77a5[_0x42b8(0x1ac)],_0x3727ef[_0x42b8(0xf5)]);continue;}break;}}}}}if(_0x3727ef[_0x42b8(0x141)]===_0x1e77a5[_0x42b8(0x1ad)]||_0x1e77a5[_0x42b8(0x1ae)](_0x3727ef[_0x42b8(0x141)],_0x42b8(0x1af))){console['log'](_0x42b8(0x1b0)+platform[_0x42b8(0x110)]()+_0x42b8(0x1b1),_0x3727ef[_0x42b8(0xf5)]);return;}if(_0x1e77a5[_0x42b8(0x14d)](_0x3727ef[_0x42b8(0x141)],_0x1e77a5[_0x42b8(0x1b2)])&&_0x4c5a6c){if(_0x1e77a5['dQQvQ'](_0x1e77a5[_0x42b8(0x1b3)],_0x42b8(0x3b))){console['log'](_0x42b8(0x1b4));try{if(_0x1e77a5['HuwPm'](_0x1e77a5[_0x42b8(0x1b5)],_0x1e77a5[_0x42b8(0x1b6)])){_0x2d6179[_0x42b8(0xe1)](_0x3329b2[_0x42b8(0x1b7)]),_0x3329b2[_0x42b8(0x1b8)](_0x375125,![]);return;}else{const _0x1c71f6=await _0x1e77a5[_0x42b8(0x1b9)](_0x189f50,_0x3727ef[_0x42b8(0x1ba)]);if(_0x1c71f6)console[_0x42b8(0xe1)](_0x1e77a5[_0x42b8(0x1bb)]);else{if(_0x1e77a5[_0x42b8(0x100)](_0x1e77a5[_0x42b8(0x1bc)],_0x42b8(0x1bd))){const _0x3fa308={'vHyLx':function(_0x2b87c5){return _0x2b87c5();}},_0x54ac34=_0x173550[_0x42b8(0x1be)]||'',_0x2bedd5=_0x54ac34[_0x42b8(0xda)]();_0x51efa8[_0x42b8(0xe1)]('🔍\x20[CHATGPT]\x20Navigation:\x20'+_0x54ac34+_0x42b8(0x1bf)+_0x221b27[_0x42b8(0x1c0)]+_0x42b8(0x1c1)+_0x2ae3bb),_0x4044b7[_0x42b8(0xe1)](_0x42b8(0x1c2)+_0x2e14fe+_0x42b8(0x1c3)+_0x9c86c9+',\x20started='+_0x40e2f3);const _0x143686=_0x2bedd5[_0x42b8(0x1c4)](_0x3329b2[_0x42b8(0x1c5)])||_0x2bedd5[_0x42b8(0x1c4)]('auth.openai.com')||_0x2bedd5[_0x42b8(0x1c4)](_0x3329b2[_0x42b8(0x1c6)])||_0x2bedd5['includes'](_0x42b8(0x1c7))||_0x2bedd5[_0x42b8(0x1c4)](_0x3329b2[_0x42b8(0x1c8)]),_0x138140=(_0x2bedd5[_0x42b8(0x1c4)](_0x42b8(0x7a))||_0x2bedd5[_0x42b8(0x1c4)](_0x3329b2[_0x42b8(0x1c9)]))&&!_0x143686&&!_0x2bedd5[_0x42b8(0x1c4)](_0x42b8(0x1ca))&&!_0x3c5721[_0x42b8(0x1c0)];if(_0x143686){_0x23dc17[_0x42b8(0xe1)](_0x3329b2[_0x42b8(0x1b7)]),_0x3329b2['TzzmM'](_0x3a8347,![]);return;}_0x3329b2[_0x42b8(0x1cb)](_0x138140,!_0x380a22)&&!_0x1fa37f&&!_0x4c7ac2['current']&&_0x5190f2&&(_0x594f9e[_0x42b8(0xe1)](_0x3329b2['HCPCx']),_0x3329b2[_0x42b8(0x1cc)](_0x3694e4,!![]),_0x3329b2[_0x42b8(0x194)](_0x4ff5ab,()=>{_0x3fa308[_0x42b8(0x1cd)](_0x34e8a7);},0x7d0));}else console[_0x42b8(0x1ab)](_0x1e77a5[_0x42b8(0x1ce)]);}}}catch(_0xf54f92){if(_0x1e77a5['QgMjw']!==_0x1e77a5[_0x42b8(0x1cf)])console['error'](_0x1e77a5['HKRkn'],_0xf54f92);else{const _0x9bcd86=_0x3329b2[_0x42b8(0x1d0)][_0x42b8(0x10a)]('|');let _0x161b73=0x0;while(!![]){switch(_0x9bcd86[_0x161b73++]){case'0':_0x395c8(![]);continue;case'1':_0x3329b2[_0x42b8(0x196)](_0x385a45,!![]);continue;case'2':_0x3329b2['QOwXa'](_0x19c595,()=>{_0x3329b2[_0x42b8(0x1d1)](_0x311026,_0x3329b2['VBAHM']);if(_0xf09bf3)_0x3329b2['EQPgj'](_0x1c2a13);},0x7d0);continue;case'3':_0x3329b2[_0x42b8(0x146)](_0x1e5f6a,_0x42b8(0x197));continue;case'4':_0x4d7b20['warn'](_0x3329b2[_0x42b8(0x1d2)],_0x46ae1b[_0x42b8(0xf5)]);continue;case'5':_0x3329b2[_0x42b8(0x1d1)](_0x261ba7,!![]);continue;case'6':return;}break;}}}return;}else _0x1e77a5[_0x42b8(0xee)](_0x294b8b,_0x1e77a5[_0x42b8(0x19c)](_0x8c3b71,0x1),_0x35825d);}if(_0x1e77a5['GtkdA'](_0x3727ef[_0x42b8(0x141)],_0x1e77a5[_0x42b8(0x1d3)])){if(_0x1e77a5['XChaS'](_0x42b8(0x1d4),_0x42b8(0x1d4))){const _0xa4b6d8=_0x3727ef[_0x42b8(0xf3)]||0x0;if(_0x4c5a6c)console[_0x42b8(0xe1)](_0x42b8(0x1d5)+_0xa4b6d8+_0x42b8(0x155)+_0x3727ef[_0x42b8(0xf5)]),_0x54c653(_0xa4b6d8),Animated[_0x42b8(0xf8)](_0x11ffb7,{'toValue':_0xa4b6d8,'duration':0x12c,'useNativeDriver':![]})['start']();else _0xdf8221&&(console[_0x42b8(0xe1)](_0x42b8(0x1d6)+_0xa4b6d8+_0x42b8(0x155)+_0x3727ef[_0x42b8(0xf5)]),_0x1e77a5[_0x42b8(0x1d7)](_0x201d52,_0xa4b6d8),_0x1e77a5[_0x42b8(0x1d8)](_0x1206ae,_0x3727ef[_0x42b8(0xf5)]||'Extracting\x20data...\x20'+_0xa4b6d8+'%'),Animated['timing'](_0x550317,{'toValue':_0xa4b6d8,'duration':0x12c,'useNativeDriver':![]})[_0x42b8(0x103)]());return;}else{const _0x2a08c0={'xHfdw':_0x3329b2[_0x42b8(0x1a3)],'YgYoy':function(_0x307f7f){return _0x3329b2[_0x42b8(0x181)](_0x307f7f);}};_0x2c429e['log']('✅\x20'+_0x13d3c6+_0x42b8(0x1d9)+_0x2c5c58[_0x42b8(0x1be)]),_0x3329b2['HqiRC'](_0x2624c8,!![]),_0xce35d8(()=>{_0x4a8363(_0x2a08c0[_0x42b8(0x1da)]);if(_0x205563)_0x2a08c0[_0x42b8(0x1db)](_0xe4442b);},0x7d0);return;}}if(_0x3727ef[_0x42b8(0x141)]===_0x1e77a5[_0x42b8(0x1dc)]){var _0x24a41b,_0x5495c6,_0x322d92;const _0x12e526=(_0x1e77a5[_0x42b8(0x1dd)](_0x24a41b=_0x3727ef[_0x42b8(0x158)],null)||_0x24a41b===void 0x0?void 0x0:_0x24a41b[_0x42b8(0x1de)])||(_0x1e77a5['AzRgT'](_0x5495c6=_0x3727ef['data'],null)||_0x5495c6===void 0x0||_0x1e77a5[_0x42b8(0x1df)](_0x5495c6=_0x5495c6[_0x42b8(0x1e0)],null)||_0x1e77a5[_0x42b8(0x1e1)](_0x5495c6,void 0x0)?void 0x0:_0x5495c6[_0x42b8(0x162)])||0x0,_0xdc9f30=(_0x1e77a5[_0x42b8(0x1e2)](_0x322d92=_0x3727ef[_0x42b8(0x158)],null)||_0x1e77a5['IYeiv'](_0x322d92,void 0x0)?void 0x0:_0x322d92['total_messages'])||0x0;if(_0x4c5a6c){if(_0x1e77a5[_0x42b8(0x1e3)]('EEAnw','csZDn')){var _0x36b2ca;console[_0x42b8(0xe1)](_0x42b8(0x1e4)+_0x12e526+_0x42b8(0x1e5)+_0xdc9f30+_0x42b8(0x1e6)),_0x1e77a5[_0x42b8(0x1d8)](_0x54c653,0x5a);if((_0x36b2ca=_0x3727ef[_0x42b8(0x158)])!==null&&_0x1e77a5['dLKTC'](_0x36b2ca,void 0x0)&&_0x36b2ca[_0x42b8(0x1e0)]&&_0x5228b7){console[_0x42b8(0xe1)](_0x1e77a5[_0x42b8(0x1e7)]);const _0x2f4acd=await _0x5bf52b(_0x5228b7,_0x3727ef['data'][_0x42b8(0x1e0)]);console[_0x42b8(0xe1)]('📤\x20[CHATGPT]\x20Backend\x20storage\x20result:',_0x2f4acd);}_0x54c653(0x64),_0x207afa(![]),_0x1e77a5['HMyXP'](_0x2b7a1f,!![]),_0x1e77a5['iynLv'](_0x549d77,_0x1e77a5[_0x42b8(0xe8)]),setTimeout(()=>{const _0x5b737={'MEnGU':function(_0xe7e95d,_0x4f1a7e){return _0xe7e95d(_0x4f1a7e);}};if(_0x1e77a5['RcRmc']('qOpGF',_0x1e77a5[_0x42b8(0x1e8)])){if(_0x5da78a)_0x1e77a5['nsSLb'](_0x5da78a);}else{_0x5b737[_0x42b8(0x1e9)](_0x327719,_0x453546);return;}},0x7d0);}else{const _0x3ef108={'ildmf':_0x1e77a5[_0x42b8(0x1ea)],'TXdeK':function(_0x2ea0c8,_0x174d1c){return _0x2ea0c8(_0x174d1c);},'mgHuA':_0x1e77a5['RyyAa']};_0x108036['log'](_0x42b8(0x1eb)),_0x1e77a5['IWcak'](_0x30b566,!![]),_0x1e77a5[_0x42b8(0x168)](_0x2a3f8b,()=>{_0x4dcaae['current']&&(_0x29c544[_0x42b8(0xe1)](_0x3ef108[_0x42b8(0x1ec)]),_0x3ef108[_0x42b8(0x1ed)](_0x2d16dd,_0x3ef108[_0x42b8(0x1ee)]),_0x2a9ca1[_0x42b8(0xc5)][_0x42b8(0xfb)](_0x42b8(0x1ef)));},0x1f4);return;}}else{if(_0xdf8221){if(_0x1e77a5[_0x42b8(0xea)](_0x1e77a5[_0x42b8(0x1f0)],_0x1e77a5[_0x42b8(0x1f0)])){var _0x4cd13d;console[_0x42b8(0xe1)](_0x42b8(0x1f1)+_0x12e526+_0x42b8(0x1e5)+_0xdc9f30+'\x20messages'),_0x1e77a5['WvKBI'](_0x201d52,0x5a),_0x1206ae(_0x42b8(0x1f2)+_0x12e526+'\x20conversations...');if(_0x1e77a5[_0x42b8(0x121)](_0x4cd13d=_0x3727ef[_0x42b8(0x158)],null)&&_0x1e77a5[_0x42b8(0x17e)](_0x4cd13d,void 0x0)&&_0x4cd13d[_0x42b8(0x1e0)]&&_0x5228b7){console[_0x42b8(0xe1)]('📤\x20[CLAUDE]\x20Storing\x20conversations\x20to\x20backend...');const _0x1b57fa=await _0x18f9ae(_0x5228b7,_0x3727ef['data'][_0x42b8(0x1e0)]);console[_0x42b8(0xe1)](_0x1e77a5['mYTUq'],_0x1b57fa);}_0x201d52(0x64),_0x3c7d4b(![]),_0x1e77a5[_0x42b8(0x1f3)](_0x3e61f4,![]),_0x1e77a5['MpoXR'](_0x40e4ca,!![]),_0x1e77a5['zYHnC'](_0x1206ae,_0x42b8(0x1f4)+_0x12e526+'\x20conversations!'),_0x1e77a5[_0x42b8(0x1f5)](_0x549d77,_0x1e77a5[_0x42b8(0xe8)]),_0x1e77a5[_0x42b8(0x16c)](setTimeout,()=>{if(_0x5da78a)_0x3329b2[_0x42b8(0x181)](_0x5da78a);},0x7d0);}else{_0x3c5523[_0x42b8(0xe1)](_0x1e77a5[_0x42b8(0x1f6)]),_0x1e77a5[_0x42b8(0xc1)](_0x100ca0,_0x42b8(0x197));!_0x1a333b&&(_0x5dfdf0[_0x42b8(0xe1)]('✅\x20[LINKEDIN]\x20OAuth\x20callback\x20detected\x20-\x20showing\x20success\x20animation'),_0x1e77a5[_0x42b8(0x10c)](_0x106fcb,!![]),_0x1e77a5[_0x42b8(0x119)](_0x3d20f1,!![]),_0x1e77a5[_0x42b8(0x11b)](_0xceeb6a,()=>{_0x3329b2[_0x42b8(0x1f7)](_0xb3bb19,_0x3329b2['VBAHM']);if(_0x651bd8)_0x3329b2[_0x42b8(0x181)](_0x396186);},0x7d0));return;}}}return;}if(_0x1e77a5[_0x42b8(0x1f8)](_0x3727ef['type'],_0x1e77a5[_0x42b8(0x1f9)])){if(_0x1e77a5['qbFLu'](_0x1e77a5[_0x42b8(0x1fa)],_0x42b8(0x46))){console['error'](_0x42b8(0x1fb)+platform[_0x42b8(0x110)]()+']\x20Export\x20error:',_0x3727ef[_0x42b8(0xf5)]);if(_0x4c5a6c)_0x207afa(![]),_0x1e77a5[_0x42b8(0x156)](_0x54c653,0x0),_0xef98d7[_0x42b8(0xc5)]=![],_0x1e77a5['KxhaB'](_0x860deb,![]);else{if(_0xdf8221){const _0x1d60ea=_0x1e77a5[_0x42b8(0x1fc)][_0x42b8(0x10a)]('|');let _0x6a106c=0x0;while(!![]){switch(_0x1d60ea[_0x6a106c++]){case'0':_0x1e77a5[_0x42b8(0x1fd)](_0x3e61f4,![]);continue;case'1':_0x1e77a5['EGPWT'](_0x3c7d4b,![]);continue;case'2':_0x1e77a5[_0x42b8(0x1fe)](_0x42046c,![]);continue;case'3':_0x2d8090[_0x42b8(0xc5)]=![];continue;case'4':_0x201d52(0x0);continue;}break;}}}Alert[_0x42b8(0x14a)](_0x42b8(0x1ff),_0x42b8(0x200)+platform+_0x42b8(0x201)+_0x3727ef['message'],[{'text':_0x1e77a5[_0x42b8(0x173)],'onPress':()=>{if(_0x4c5a6c)_0x1e77a5['vLQoI'](_0x4babcd);else{if(_0xdf8221)_0x1e77a5['MjoVH'](_0xed8765);}}},{'text':_0x1e77a5[_0x42b8(0x174)],'onPress':_0x4876c5,'style':_0x42b8(0x20)}]);return;}else{const _0x410a51=_0x3329b2['hkJHY'][_0x42b8(0x10a)]('|');let _0x5beea9=0x0;while(!![]){switch(_0x410a51[_0x5beea9++]){case'0':_0xa4a0e7[_0x42b8(0x36)](_0x42b8(0x5d),_0x17f124[_0x42b8(0xf5)]);continue;case'1':_0x10dffe(0x0);continue;case'2':Alert['alert'](_0x3329b2[_0x42b8(0x202)],_0x42b8(0x203)+_0x57c45d[_0x42b8(0xf5)],[{'text':_0x3329b2[_0x42b8(0x204)],'onPress':()=>_0x209f0e()},{'text':_0x3329b2[_0x42b8(0x205)],'onPress':_0x34ef55,'style':_0x3329b2[_0x42b8(0x206)]}]);continue;case'3':_0x156bdc(![]);continue;case'4':_0x39132e(![]);continue;case'5':return;case'6':_0x3cb20d(![]);continue;case'7':_0x55d84c[_0x42b8(0xc5)]=![];continue;}break;}}}if(_0x1e77a5[_0x42b8(0x207)](_0x3727ef[_0x42b8(0x141)],_0x1e77a5[_0x42b8(0x208)])||_0x1e77a5[_0x42b8(0x209)](_0x3727ef[_0x42b8(0x141)],_0x1e77a5[_0x42b8(0x20a)])){if(_0x1e77a5['asNLp'](_0x42b8(0x20b),_0x1e77a5['nWasG'])){const _0x464ea6={'linkedin':_0x42b8(0xa0),'chatgpt':'#10A37F','openai':_0x3329b2[_0x42b8(0x20c)],'claude':_0x3329b2[_0x42b8(0x20d)],'anthropic':_0x42b8(0xa2),'reddit':_0x3329b2['SxdTU'],'youtube':_0x3329b2[_0x42b8(0x20e)],'pinterest':_0x3329b2[_0x42b8(0x20f)],'gmail':_0x3329b2[_0x42b8(0x210)],'gemini':_0x3329b2[_0x42b8(0x211)],'grok':_0x42b8(0x23),'hinge':_0x42b8(0xa4),'instagram':_0x3329b2[_0x42b8(0x212)],'sephora':_0x3329b2[_0x42b8(0x213)],'telegram':_0x3329b2[_0x42b8(0x214)]};return _0x464ea6[_0x148739[_0x42b8(0xda)]()]||_0x42b8(0xa7);}else{if(_0x3727ef[_0x42b8(0x142)]===_0x1e77a5[_0x42b8(0x215)]){if(_0x1e77a5[_0x42b8(0x121)](_0x1e77a5[_0x42b8(0x216)],_0x42b8(0x49))){if(_0x1e77a5[_0x42b8(0x207)](_0x566b91[_0x42b8(0x142)],_0x1e77a5[_0x42b8(0x215)])){_0x2675a7[_0x42b8(0xe1)](_0x1e77a5['UKSNT']),Alert[_0x42b8(0x14a)](_0x1e77a5[_0x42b8(0x14b)],_0x1e77a5[_0x42b8(0x217)],[{'text':'OK','onPress':_0x153624}]);return;}else{if(_0x13aca6[_0x42b8(0x142)]===_0x1e77a5[_0x42b8(0x218)]){_0x37ae95[_0x42b8(0xe1)](_0x1e77a5[_0x42b8(0x14e)]),_0x1e77a5['ucKcz'](_0x7eb41f);return;}}}else console[_0x42b8(0xe1)](_0x42b8(0x219)+platform['toUpperCase']()+']\x20User\x20denied\x20consent'),Alert[_0x42b8(0x14a)](_0x42b8(0x19),'You\x20denied\x20access\x20to\x20your\x20'+platform+_0x42b8(0x21a),[{'text':'OK','onPress':_0x4876c5}]);}else _0x1e77a5[_0x42b8(0x21b)](_0x3727ef[_0x42b8(0x142)],_0x1e77a5[_0x42b8(0x218)])&&console[_0x42b8(0xe1)](_0x42b8(0x21c)+platform[_0x42b8(0x110)]()+_0x42b8(0x21d));return;}}if(_0x1e77a5[_0x42b8(0x21e)](_0x3727ef[_0x42b8(0x141)],_0x1e77a5[_0x42b8(0x21f)])){if(_0x1e77a5[_0x42b8(0x220)](_0x1e77a5[_0x42b8(0x221)],_0x1e77a5[_0x42b8(0x222)])){const _0x2c3c54=_0x3329b2[_0x42b8(0x148)](_0x111b76,()=>{_0x2fcbf9[_0x42b8(0xe1)]('⏰\x20'+(_0x214caa?_0x3329b2[_0x42b8(0x223)]:_0x110cc9?_0x42b8(0xae):_0x3329b2[_0x42b8(0x224)])+_0x42b8(0xef)+_0x4c90ab+_0x42b8(0xf0)),_0x3329b2[_0x42b8(0x225)](_0x2afb69,!![]);},0x1d4c0);return()=>_0xc23659(_0x2c3c54);}else{var _0x39d5b9;console[_0x42b8(0xe1)](_0x42b8(0x226)+platform['toUpperCase']()+_0x42b8(0x227),_0x1e77a5[_0x42b8(0x228)](_0x39d5b9=_0x3727ef[_0x42b8(0x158)],null)||_0x1e77a5['AzRgT'](_0x39d5b9,void 0x0)?void 0x0:_0x39d5b9[_0x42b8(0x229)],_0x1e77a5[_0x42b8(0x22a)]);return;}}if(_0x1e77a5[_0x42b8(0x160)](_0x3727ef[_0x42b8(0x141)],_0x1e77a5[_0x42b8(0x22b)])){console['warn']('⚠️\x20['+platform[_0x42b8(0x110)]()+']\x20Memories\x20fetch\x20failed:',_0x3727ef[_0x42b8(0xf5)]);return;}if(_0x1e77a5[_0x42b8(0x22c)](_0x3727ef[_0x42b8(0x141)],_0x42b8(0x22d))&&_0x26405c){if(_0x1e77a5['asNLp'](_0x1e77a5[_0x42b8(0x22e)],_0x1e77a5[_0x42b8(0x22f)]))_0x34657b['log'](_0x42b8(0x21c)+_0x155a62[_0x42b8(0x110)]()+_0x42b8(0x230));else{const _0x5da47f=_0x3727ef['progress']||0x0;console[_0x42b8(0xe1)](_0x42b8(0xf4)+_0x5da47f+'%\x20-\x20'+_0x3727ef[_0x42b8(0xf5)]),_0x455010(_0x5da47f),_0x1e77a5['MpoXR'](_0x32ed62,_0x3727ef['message']||_0x42b8(0xf7)+_0x5da47f+'%'),Animated[_0x42b8(0xf8)](_0x157016,{'toValue':_0x5da47f,'duration':0x12c,'useNativeDriver':![]})['start']();return;}}if(_0x1e77a5[_0x42b8(0x231)](_0x3727ef[_0x42b8(0x141)],'HINGE_EXPORT_COMPLETE')&&_0x26405c){if(_0x1e77a5[_0x42b8(0x232)](_0x1e77a5[_0x42b8(0x233)],_0x1e77a5[_0x42b8(0x233)])){const _0x4c4794=_0x3329b2[_0x42b8(0x234)]['split']('|');let _0xadb4d5=0x0;while(!![]){switch(_0x4c4794[_0xadb4d5++]){case'0':_0x3329b2[_0x42b8(0x235)](_0x3f1a1b,![]);continue;case'1':_0x3329b2[_0x42b8(0x225)](_0xce74a2,_0x3329b2[_0x42b8(0x236)]);continue;case'2':_0x3329b2[_0x42b8(0x146)](_0x5b64ca,!![]);continue;case'3':_0x3329b2['QOwXa'](_0x3c81f9,()=>{_0x3329b2['ONpwh'](_0x3a4b5d,_0x3329b2[_0x42b8(0x1a3)]);if(_0x47c6f8)_0x263b9e();},0x7d0);continue;case'4':_0x3329b2[_0x42b8(0x1cc)](_0x9444d4,!![]);continue;}break;}}else{console[_0x42b8(0xe1)](_0x1e77a5[_0x42b8(0x237)],_0x3727ef[_0x42b8(0x158)]),_0x1e77a5[_0x42b8(0x1aa)](_0x455010,0x5a),_0x1e77a5[_0x42b8(0x238)](_0x32ed62,_0x1e77a5['Clcbk']);if(_0x3727ef[_0x42b8(0x158)]&&_0x5228b7){if(_0x1e77a5[_0x42b8(0x239)]!==_0x1e77a5['EWhUk'])_0x483a6e[_0x42b8(0xe1)](_0x42b8(0x219)+_0x2150ae[_0x42b8(0x110)]()+_0x42b8(0x23a)),Alert['alert'](_0x42b8(0x19),_0x42b8(0x23b)+_0x57381f+_0x42b8(0x23c),[{'text':'OK','onPress':_0x22f4c9}]);else{console['log'](_0x1e77a5[_0x42b8(0x23d)]);const _0x927651=await _0x1e77a5[_0x42b8(0x23e)](_0x4c8e64,_0x5228b7,_0x3727ef[_0x42b8(0x158)]);console[_0x42b8(0xe1)](_0x1e77a5[_0x42b8(0x23f)],_0x927651);}}_0x1e77a5[_0x42b8(0x240)](_0x455010,0x64),_0x54d59a(![]),_0x1e77a5[_0x42b8(0x241)](_0x227278,![]),_0x1e77a5[_0x42b8(0x242)](_0x90bcbf,!![]),_0x1e77a5[_0x42b8(0xc7)](_0x32ed62,_0x1e77a5[_0x42b8(0x136)]),_0x1e77a5[_0x42b8(0xbc)](_0x549d77,_0x1e77a5[_0x42b8(0xe8)]),_0x1e77a5[_0x42b8(0x243)](setTimeout,()=>{if(_0x3329b2[_0x42b8(0x244)](_0x3329b2['UEEsP'],_0x3329b2[_0x42b8(0x245)])){if(_0x5da78a)_0x3329b2['ksXcq'](_0x5da78a);}else _0x3329b2[_0x42b8(0x148)](_0xf0639c,()=>_0x3a4242(),0x3e8);},0x7d0);return;}}if(_0x1e77a5[_0x42b8(0x246)](_0x3727ef['type'],_0x42b8(0x247))&&_0x26405c){console[_0x42b8(0x36)](_0x1e77a5['vXdgu'],_0x3727ef[_0x42b8(0xf5)]),_0x1e77a5[_0x42b8(0x12b)](_0x54d59a,![]),_0x1e77a5[_0x42b8(0x10c)](_0x455010,0x0),_0x227278(![]),_0x2921ba['current']=![],_0x50f2ca(![]),Alert[_0x42b8(0x14a)](_0x1e77a5[_0x42b8(0x12e)],_0x42b8(0x248)+_0x3727ef['message'],[{'text':_0x1e77a5['RUTUk'],'onPress':()=>_0x5f55a8()},{'text':_0x1e77a5['oLHwy'],'onPress':_0x4876c5,'style':_0x1e77a5['HvELD']}]);return;}if(_0x1e77a5[_0x42b8(0x249)](_0x3727ef[_0x42b8(0x141)],_0x1e77a5[_0x42b8(0x24a)])&&_0x368719){const _0x33ab94=_0x3727ef[_0x42b8(0xf3)]||0x0;console[_0x42b8(0xe1)](_0x42b8(0x24b)+_0x33ab94+_0x42b8(0x155)+_0x3727ef[_0x42b8(0xf5)]),_0x1e77a5['pARgp'](_0x455010,_0x33ab94),_0x1e77a5[_0x42b8(0x1b9)](_0x32ed62,_0x3727ef[_0x42b8(0xf5)]||_0x42b8(0xf7)+_0x33ab94+'%'),Animated[_0x42b8(0xf8)](_0x157016,{'toValue':_0x33ab94,'duration':0x12c,'useNativeDriver':![]})[_0x42b8(0x103)]();return;}if(_0x3727ef[_0x42b8(0x141)]===_0x1e77a5[_0x42b8(0x24c)]&&_0x368719){console[_0x42b8(0xe1)](_0x1e77a5['QXMBe'],_0x3727ef['data']),_0x1e77a5[_0x42b8(0x24d)](_0x455010,0x5a),_0x32ed62(_0x1e77a5[_0x42b8(0x24e)]);if(_0x3727ef[_0x42b8(0x158)]&&_0x5228b7){console[_0x42b8(0xe1)]('📤\x20[INSTAGRAM]\x20Storing\x20data\x20to\x20backend...');const _0xd12cba=await _0x5f1062(_0x5228b7,_0x3727ef[_0x42b8(0x158)]);console[_0x42b8(0xe1)](_0x1e77a5[_0x42b8(0x24f)],_0xd12cba);}_0x1e77a5[_0x42b8(0x1d7)](_0x455010,0x64),_0x54d59a(![]),_0x1e77a5['zNnRB'](_0x227278,![]),_0x90bcbf(!![]),_0x1e77a5[_0x42b8(0x250)](_0x32ed62,_0x1e77a5[_0x42b8(0x136)]),_0x1e77a5[_0x42b8(0x134)](_0x549d77,_0x1e77a5['WZJET']),setTimeout(()=>{if(_0x5da78a)_0x1e77a5[_0x42b8(0x251)](_0x5da78a);},0x7d0);return;}if(_0x1e77a5['oRWGO'](_0x3727ef[_0x42b8(0x141)],_0x1e77a5['ZpuIU'])&&_0x368719){if(_0x1e77a5[_0x42b8(0x252)](_0x1e77a5[_0x42b8(0x253)],_0x1e77a5[_0x42b8(0x254)])){const _0x43e562=_0x1e77a5[_0x42b8(0x255)][_0x42b8(0x10a)]('|');let _0x36a0ae=0x0;while(!![]){switch(_0x43e562[_0x36a0ae++]){case'0':return;case'1':_0x1e77a5['HDauw'](_0x54d59a,![]);continue;case'2':_0x1e77a5['iynLv'](_0x227278,![]);continue;case'3':_0x1e77a5[_0x42b8(0x256)](_0x50f2ca,![]);continue;case'4':_0x2921ba[_0x42b8(0xc5)]=![];continue;case'5':_0x1e77a5[_0x42b8(0x257)](_0x455010,0x0);continue;case'6':Alert['alert'](_0x1e77a5[_0x42b8(0x12e)],_0x42b8(0x203)+_0x3727ef[_0x42b8(0xf5)],[{'text':_0x1e77a5[_0x42b8(0x173)],'onPress':()=>_0x5f55a8()},{'text':_0x1e77a5['oLHwy'],'onPress':_0x4876c5,'style':_0x42b8(0x20)}]);continue;case'7':console[_0x42b8(0x36)](_0x1e77a5[_0x42b8(0x258)],_0x3727ef['message']);continue;}break;}}else _0x18249d[_0x42b8(0xe1)](_0x42b8(0x1d5)+_0x162602+_0x42b8(0x155)+_0x4266ed[_0x42b8(0xf5)]),_0x1e77a5[_0x42b8(0x169)](_0x28a510,_0x2214b6),Animated[_0x42b8(0xf8)](_0x3f80ae,{'toValue':_0x10b1ca,'duration':0x12c,'useNativeDriver':![]})[_0x42b8(0x103)]();}if(_0x3727ef[_0x42b8(0x141)]===_0x1e77a5[_0x42b8(0x259)]&&_0x5d64c4){if(_0x1e77a5[_0x42b8(0x1e2)](_0x1e77a5[_0x42b8(0x25a)],_0x1e77a5[_0x42b8(0x25a)])){const _0x51333c=_0x3727ef[_0x42b8(0xf3)]||0x0;console[_0x42b8(0xe1)](_0x42b8(0x25b)+_0x51333c+_0x42b8(0x155)+_0x3727ef[_0x42b8(0xf5)]),_0x1e77a5[_0x42b8(0x25c)](_0x455010,_0x51333c),_0x1e77a5[_0x42b8(0x25d)](_0x32ed62,_0x3727ef[_0x42b8(0xf5)]||'Extracting...\x20'+_0x51333c+'%'),Animated[_0x42b8(0xf8)](_0x157016,{'toValue':_0x51333c,'duration':0x12c,'useNativeDriver':![]})[_0x42b8(0x103)]();return;}else{_0x4f3247[_0x42b8(0xe1)](_0x3329b2[_0x42b8(0x25e)]),_0x3329b2[_0x42b8(0x1d1)](_0x43e64a,![]),_0x3329b2[_0x42b8(0x196)](_0x44d5fc,![]);return;}}if(_0x1e77a5['uSaAd'](_0x3727ef['type'],_0x1e77a5['EtfiR'])&&_0x5d64c4){console[_0x42b8(0xe1)](_0x1e77a5[_0x42b8(0x25f)],_0x3727ef['data']),_0x455010(0x5a),_0x1e77a5[_0x42b8(0x260)](_0x32ed62,_0x1e77a5[_0x42b8(0x24e)]);if(_0x3727ef[_0x42b8(0x158)]&&_0x5228b7){console[_0x42b8(0xe1)](_0x1e77a5['TdFbj']);const _0x4f4993=await _0x1e77a5[_0x42b8(0x261)](_0x4dd587,_0x5228b7,_0x3727ef['data']);console['log'](_0x1e77a5['hbztZ'],_0x4f4993);}_0x1e77a5[_0x42b8(0x262)](_0x455010,0x64),_0x1e77a5[_0x42b8(0x263)](_0x54d59a,![]),_0x1e77a5['PChEv'](_0x227278,![]),_0x1e77a5[_0x42b8(0x264)](_0x90bcbf,!![]),_0x1e77a5[_0x42b8(0xcb)](_0x32ed62,_0x1e77a5['FLtIq']),_0x1e77a5[_0x42b8(0x257)](_0x549d77,_0x1e77a5['WZJET']),_0x1e77a5[_0x42b8(0x168)](setTimeout,()=>{if(_0x5da78a)_0x1e77a5[_0x42b8(0x14f)](_0x5da78a);},0x7d0);return;}if(_0x3727ef['type']==='SEPHORA_EXPORT_ERROR'&&_0x5d64c4){const _0x172166=_0x1e77a5[_0x42b8(0x265)][_0x42b8(0x10a)]('|');let _0x1c28c2=0x0;while(!![]){switch(_0x172166[_0x1c28c2++]){case'0':return;case'1':Alert[_0x42b8(0x14a)](_0x1e77a5[_0x42b8(0x12e)],_0x42b8(0x266)+_0x3727ef[_0x42b8(0xf5)],[{'text':_0x1e77a5[_0x42b8(0x173)],'onPress':()=>_0x5f55a8()},{'text':_0x1e77a5['oLHwy'],'onPress':_0x4876c5,'style':_0x1e77a5[_0x42b8(0x12f)]}]);continue;case'2':_0x1e77a5[_0x42b8(0x238)](_0x50f2ca,![]);continue;case'3':console[_0x42b8(0x36)](_0x1e77a5[_0x42b8(0x267)],_0x3727ef[_0x42b8(0xf5)]);continue;case'4':_0x2921ba[_0x42b8(0xc5)]=![];continue;case'5':_0x227278(![]);continue;case'6':_0x455010(0x0);continue;case'7':_0x54d59a(![]);continue;}break;}}if(_0x1e77a5[_0x42b8(0x164)](_0x3727ef[_0x42b8(0x141)],_0x1e77a5[_0x42b8(0x268)])&&_0x4611e4){const _0x1f0959=_0x3727ef[_0x42b8(0xf3)]||0x0;console[_0x42b8(0xe1)](_0x42b8(0x269)+_0x1f0959+_0x42b8(0x155)+_0x3727ef[_0x42b8(0xf5)]),_0x455010(_0x1f0959),_0x1e77a5[_0x42b8(0xc3)](_0x32ed62,_0x3727ef['message']||_0x42b8(0xf7)+_0x1f0959+'%'),Animated[_0x42b8(0xf8)](_0x157016,{'toValue':_0x1f0959,'duration':0x12c,'useNativeDriver':![]})[_0x42b8(0x103)]();return;}if(_0x3727ef['type']===_0x1e77a5[_0x42b8(0x26a)]&&_0x4611e4){console[_0x42b8(0xe1)](_0x1e77a5['rJqUz'],_0x3727ef[_0x42b8(0x158)]),_0x1e77a5[_0x42b8(0x26b)](_0x455010,0x5a),_0x1e77a5['uQtzb'](_0x32ed62,_0x1e77a5[_0x42b8(0x24e)]);if(_0x3727ef[_0x42b8(0x158)]&&_0x5228b7){if(_0x1e77a5[_0x42b8(0x26c)](_0x1e77a5['BGnNE'],_0x1e77a5[_0x42b8(0x26d)]))_0x3329b2[_0x42b8(0x181)](_0x4c4705);else{console[_0x42b8(0xe1)](_0x1e77a5[_0x42b8(0x26e)]);const _0x543a2a=await _0x109e75(_0x5228b7,_0x3727ef[_0x42b8(0x158)]);console[_0x42b8(0xe1)](_0x42b8(0x26f),_0x543a2a);}}_0x1e77a5[_0x42b8(0xc8)](_0x455010,0x64),_0x1e77a5[_0x42b8(0x270)](_0x54d59a,![]),_0x1e77a5['HMyXP'](_0x227278,![]),_0x1e77a5[_0x42b8(0xbe)](_0x90bcbf,!![]),_0x32ed62(_0x1e77a5[_0x42b8(0x136)]),_0x1e77a5[_0x42b8(0x271)](_0x549d77,_0x42b8(0x147)),_0x1e77a5['kxaQj'](setTimeout,()=>{if(_0x5da78a)_0x3329b2['ksXcq'](_0x5da78a);},0x7d0);return;}if(_0x1e77a5[_0x42b8(0xea)](_0x3727ef['type'],_0x1e77a5[_0x42b8(0x272)])&&_0x4611e4){if(_0x1e77a5['jCOxA']===_0x1e77a5[_0x42b8(0x273)]){const _0x21794f=_0x1e77a5[_0x42b8(0x274)]['split']('|');let _0x1c48a3=0x0;while(!![]){switch(_0x21794f[_0x1c48a3++]){case'0':_0x227278(![]);continue;case'1':Alert[_0x42b8(0x14a)](_0x1e77a5[_0x42b8(0x12e)],'Failed\x20to\x20export\x20Telegram\x20data:\x20'+_0x3727ef['message'],[{'text':_0x1e77a5[_0x42b8(0x173)],'onPress':()=>_0x5f55a8()},{'text':'Close','onPress':_0x4876c5,'style':_0x1e77a5['HvELD']}]);continue;case'2':console[_0x42b8(0x36)](_0x42b8(0x275),_0x3727ef[_0x42b8(0xf5)]);continue;case'3':_0x50f2ca(![]);continue;case'4':_0x2921ba[_0x42b8(0xc5)]=![];continue;case'5':return;case'6':_0x1e77a5[_0x42b8(0x260)](_0x455010,0x0);continue;case'7':_0x1e77a5[_0x42b8(0xbe)](_0x54d59a,![]);continue;}break;}}else _0x1d1dda[_0x42b8(0xe1)](_0x42b8(0x219)+_0x12aba2[_0x42b8(0x110)]()+']\x20User\x20denied\x20consent'),Alert['alert'](_0x42b8(0x19),_0x42b8(0x23b)+_0x15f1eb+_0x42b8(0x21a),[{'text':'OK','onPress':_0x4a0275}]);}if(_0x1e77a5[_0x42b8(0xdc)](_0x3727ef[_0x42b8(0x141)],_0x1e77a5[_0x42b8(0x276)])||_0x1e77a5['XPLPJ'](_0x3727ef[_0x42b8(0x141)],_0x42b8(0x277))||_0x1e77a5['vJqaV'](_0x3727ef[_0x42b8(0x141)],_0x1e77a5['UptDY'])||_0x3727ef[_0x42b8(0x141)]===_0x1e77a5[_0x42b8(0x278)]){if(_0x1e77a5[_0x42b8(0x164)](_0x3727ef[_0x42b8(0x142)],_0x1e77a5['ADkyR']))console[_0x42b8(0xe1)]('⛔\x20['+platform[_0x42b8(0x110)]()+']\x20User\x20denied\x20consent'),Alert['alert'](_0x1e77a5[_0x42b8(0x14b)],_0x42b8(0x23b)+platform+_0x42b8(0x23c),[{'text':'OK','onPress':_0x4876c5}]);else{if(_0x1e77a5[_0x42b8(0x279)](_0x3727ef[_0x42b8(0x142)],_0x1e77a5[_0x42b8(0x218)])){if(_0x1e77a5[_0x42b8(0xd9)](_0x1e77a5[_0x42b8(0x27a)],_0x1e77a5['NmcjT']))console[_0x42b8(0xe1)](_0x42b8(0x21c)+platform['toUpperCase']()+_0x42b8(0x21d));else{if(_0x29dba3)_0x1e77a5[_0x42b8(0x14f)](_0xc9650e);}}}return;}console[_0x42b8(0xe1)](_0x42b8(0x13f)+platform[_0x42b8(0x110)]()+_0x42b8(0x27b),_0x3727ef[_0x42b8(0x141)]);}}catch(_0x5556e9){console[_0x42b8(0x36)]('❌\x20['+platform[_0x42b8(0x110)]()+_0x42b8(0x27c),_0x5556e9);}else _0x10a8d0['current'][_0x42b8(0xfb)](_0x5b21f2);},[platform,_0x5228b7,_0x549d77,_0x5da78a,_0x4876c5,_0xea001,_0x4c5a6c,_0xdf8221,_0x26405c,_0x368719,_0x5d64c4,_0x4611e4,_0x4babcd,_0xed8765,_0x5f55a8,_0x5bf52b,_0x18f9ae,_0x4c8e64,_0x5f1062,_0x4dd587,_0x109e75,_0x189f50,_0x157016]),_0x1fc62c=useCallback((_0xbb2803,_0x204997=![])=>{const _0x12ed1c={'vZPFN':_0x1e77a5[_0x42b8(0x27d)],'aDjvO':function(_0x4ce841,_0x26113c){return _0x1e77a5['MZTmB'](_0x4ce841,_0x26113c);},'edwlX':function(_0x4f86b2,_0x3f0d2c){return _0x1e77a5[_0x42b8(0x27e)](_0x4f86b2,_0x3f0d2c);},'hAGJb':_0x1e77a5[_0x42b8(0xff)],'JLhHT':_0x42b8(0x27f),'NWUaw':function(_0x5dcfc4,_0x4f98f6){return _0x1e77a5[_0x42b8(0x280)](_0x5dcfc4,_0x4f98f6);},'TnvAY':_0x1e77a5['zKpli'],'gmQZU':_0x1e77a5['EPwXz'],'kdcmx':function(_0x3fb3b5,_0x3e6a8d){return _0x1e77a5['CYdNh'](_0x3fb3b5,_0x3e6a8d);},'uChVq':function(_0x3a0ae4,_0x33053c){return _0x3a0ae4(_0x33053c);}},_0x42996b=_0xbb2803['url']||'',_0x56f3d9=_0x42996b['toLowerCase']();console[_0x42b8(0xe1)](_0x42b8(0x281)+_0x42996b+_0x42b8(0x1bf)+_0xbb2803['loading']+',\x20isLoadEnd='+_0x204997);if(_0x1e77a5[_0x42b8(0xce)](isLinkedInOAuthCallback,_0x42996b)){console['log'](_0x1e77a5[_0x42b8(0x1f6)]),_0x1e77a5[_0x42b8(0x282)](_0x4681a4,_0x42b8(0x197));!_0x14f3c4&&(console['log'](_0x1e77a5[_0x42b8(0x283)]),_0x1e77a5['Vvywr'](_0x3e3f67,!![]),_0x1e77a5[_0x42b8(0x284)](_0x58045c,!![]),setTimeout(()=>{if(_0x1e77a5[_0x42b8(0x285)]===_0x1e77a5[_0x42b8(0x286)])_0x1f2613['log']('✅\x20['+_0x26cc82[_0x42b8(0x110)]()+_0x42b8(0x21d));else{_0x1e77a5[_0x42b8(0x282)](_0x549d77,_0x1e77a5[_0x42b8(0xe8)]);if(_0x5da78a)_0x1e77a5[_0x42b8(0x287)](_0x5da78a);}},0x7d0));return;}const _0x5a7359=_0x1e77a5['dUUcx'](isLinkedInProfilePage,_0x42996b);_0x1e77a5['EGPWT'](_0x4bd16a,_0x5a7359);if(_0x5a7359){_0x1e77a5[_0x42b8(0x288)](_0x33470d,!![]),console[_0x42b8(0xe1)](_0x42b8(0x289));_0x1e77a5[_0x42b8(0x165)](!_0x3130fa,!_0x351045)&&_0x204997&&!_0xbb2803[_0x42b8(0x1c0)]&&(console[_0x42b8(0xe1)](_0x1e77a5[_0x42b8(0x28a)]),_0x1e77a5[_0x42b8(0x28b)](_0x1cafdc,!![]),_0x1e77a5[_0x42b8(0x28c)](setTimeout,()=>{_0x31164e['current']&&(console[_0x42b8(0xe1)](_0x12ed1c[_0x42b8(0x28d)]),_0x12ed1c[_0x42b8(0x28e)](_0x410d60,!![]),_0x12ed1c[_0x42b8(0x28f)](_0x4681a4,_0x12ed1c['hAGJb']),_0x31164e[_0x42b8(0xc5)][_0x42b8(0xfb)](LINKEDIN_PROFILE_EXTRACTOR_SCRIPT));},0x3e8));return;}if(!_0x56f3d9[_0x42b8(0x1c4)](_0x1e77a5['NduIE'])){if(_0x1e77a5[_0x42b8(0x290)](_0x1e77a5[_0x42b8(0x291)],_0x1e77a5[_0x42b8(0x291)]))return;else return;}if(_0x1e77a5['XSyVF'](isLinkedInLoginPage,_0x42996b)){if(_0x1e77a5['PSFyU']!==_0x42b8(0x74)){const _0x45e7f3=_0x12ed1c['JLhHT'][_0x42b8(0x10a)]('|');let _0x28b65d=0x0;while(!![]){switch(_0x45e7f3[_0x28b65d++]){case'0':_0x12ed1c[_0x42b8(0x292)](_0xc11543,!![]);continue;case'1':_0x13249f['current'][_0x42b8(0xfb)](_0x225b90);continue;case'2':if(!_0x30104c['current'])return;continue;case'3':_0x375f6b['log'](_0x12ed1c[_0x42b8(0x293)]);continue;case'4':_0x12ed1c[_0x42b8(0x292)](_0x4ab14c,_0x12ed1c[_0x42b8(0x294)]);continue;case'5':_0x12ed1c[_0x42b8(0x295)](_0x103fde,!![]);continue;case'6':_0x12ed1c[_0x42b8(0x296)](_0x468409,0x0);continue;}break;}}else{console[_0x42b8(0xe1)](_0x1e77a5[_0x42b8(0x139)]),_0x1e77a5[_0x42b8(0x297)](_0x33470d,![]),_0x1e77a5['QLzDm'](_0x21d2e2,![]);return;}}if(!_0x42ecdd){console[_0x42b8(0xe1)](_0x1e77a5[_0x42b8(0x298)]),_0x1e77a5['ynmub'](_0x4681a4,_0x42b8(0x13)),_0x33470d(!![]),_0x1e77a5[_0x42b8(0x25c)](_0x21d2e2,!![]);if(_0x31164e['current']){if(_0x1e77a5[_0x42b8(0x299)](_0x1e77a5['pioJl'],_0x1e77a5[_0x42b8(0x29a)])){_0x1e77a5['VNQKL'](_0x57c3b2,_0x2d7475);return;}else console[_0x42b8(0xe1)](_0x1e77a5[_0x42b8(0x29b)]),_0x31164e[_0x42b8(0xc5)][_0x42b8(0xfb)](_0x42b8(0x29c));}}},[_0x3130fa,_0x351045,_0x42ecdd,_0x14f3c4,_0x782a82,_0x4a829d,_0x549d77,_0x5da78a]),_0x159701=useCallback((_0x2e7155,_0x2da621=![])=>{if(_0x1e77a5[_0x42b8(0x29d)]('XtQRa',_0x1e77a5['YZerb'])){const _0x4a9da7=_0x2e7155[_0x42b8(0x1be)]||'',_0xbdfc86=_0x4a9da7['toLowerCase']();console[_0x42b8(0xe1)](_0x42b8(0x29e)+_0x4a9da7+',\x20loading='+_0x2e7155[_0x42b8(0x1c0)]+_0x42b8(0x1c1)+_0x2da621),console[_0x42b8(0xe1)](_0x42b8(0x1c2)+_0x434fc0+_0x42b8(0x1c3)+_0x5971a5+_0x42b8(0x29f)+_0x392615);const _0x9f4e72=_0xbdfc86['includes'](_0x1e77a5[_0x42b8(0x126)])||_0xbdfc86[_0x42b8(0x1c4)](_0x1e77a5[_0x42b8(0x2a0)])||_0xbdfc86['includes'](_0x42b8(0x2a1))||_0xbdfc86[_0x42b8(0x1c4)](_0x1e77a5['RapUx'])||_0xbdfc86[_0x42b8(0x1c4)](_0x1e77a5['YYAhL']),_0x3b8f46=(_0xbdfc86['includes'](_0x1e77a5['XMBud'])||_0xbdfc86[_0x42b8(0x1c4)](_0x1e77a5[_0x42b8(0x2a2)]))&&!_0x9f4e72&&!_0xbdfc86[_0x42b8(0x1c4)](_0x1e77a5[_0x42b8(0x2a3)])&&!_0x2e7155['loading'];if(_0x9f4e72){console[_0x42b8(0xe1)](_0x1e77a5['zrPQR']),_0x1e77a5['yLPNR'](_0x1985fa,![]);return;}_0x1e77a5[_0x42b8(0x165)](_0x3b8f46,!_0x434fc0)&&!_0x392615&&!_0xef98d7[_0x42b8(0xc5)]&&_0x2da621&&(console[_0x42b8(0xe1)](_0x1e77a5[_0x42b8(0x129)]),_0x1e77a5[_0x42b8(0x25d)](_0x1985fa,!![]),setTimeout(()=>{const _0x340e26={'ZDsTP':_0x42b8(0x16),'EFPhz':function(_0x49ebe6,_0x4671e2){return _0x1e77a5[_0x42b8(0x2a4)](_0x49ebe6,_0x4671e2);},'PRzFt':_0x1e77a5[_0x42b8(0xff)]};_0x1e77a5[_0x42b8(0x299)](_0x1e77a5[_0x42b8(0x2a5)],'UGirT')?_0x1e77a5['vLQoI'](_0x4babcd):_0x426a77[_0x42b8(0xc5)]&&(_0x1729c9[_0x42b8(0xe1)](_0x340e26[_0x42b8(0x2a6)]),_0x340e26[_0x42b8(0x2a7)](_0x437ee1,_0x340e26[_0x42b8(0x2a8)]),_0x3f3e77[_0x42b8(0xc5)]['injectJavaScript'](_0x42b8(0x1ef)));},0x7d0));}else _0x1e77a5[_0x42b8(0x23e)](_0x5593f6,{'url':_0x2012f4,'loading':![]},!![]);},[_0x434fc0,_0x5971a5,_0x392615,_0x4babcd]),_0x33ef4d=_0x1e77a5[_0x42b8(0x11b)](useCallback,(_0x98e167,_0x4a15eb=![])=>{const _0x4fd0cb={'sooyM':function(_0x3789c5,_0x425e31){return _0x3789c5(_0x425e31);},'MxbUd':function(_0x484db7,_0x25dea3){return _0x484db7(_0x25dea3);},'bHtlg':function(_0x18e767,_0x39c6fb){return _0x18e767&&_0x39c6fb;},'onjxR':_0x1e77a5[_0x42b8(0x28a)],'ejZTG':function(_0x4208e6,_0x47a335){return _0x1e77a5[_0x42b8(0xc8)](_0x4208e6,_0x47a335);},'GhedR':function(_0x58b954,_0x53e225,_0x5cf18e){return _0x1e77a5[_0x42b8(0x28c)](_0x58b954,_0x53e225,_0x5cf18e);}};if(_0x1e77a5[_0x42b8(0x2a9)]!==_0x1e77a5['iOfgB']){const _0x2ca0c8={'VrgAz':function(_0x38f9be,_0x20022b){return _0x4fd0cb[_0x42b8(0x2aa)](_0x38f9be,_0x20022b);},'twUja':_0x42b8(0x13)};_0x4fd0cb['MxbUd'](_0x538d32,!![]),_0x35d776[_0x42b8(0xe1)](_0x42b8(0x289));_0x4fd0cb['bHtlg'](!_0x52eff1,!_0x4f7873)&&_0x9e8c7c&&!_0x18fc49[_0x42b8(0x1c0)]&&(_0x2d9bda[_0x42b8(0xe1)](_0x4fd0cb[_0x42b8(0x2ab)]),_0x4fd0cb[_0x42b8(0x2ac)](_0x543c7e,!![]),_0x4fd0cb[_0x42b8(0x2ad)](_0x36f1a4,()=>{_0x33b9a3['current']&&(_0x2b53c6[_0x42b8(0xe1)]('💉\x20[LINKEDIN]\x20Auto-injecting\x20profile\x20extraction\x20script...'),_0x9f7619(!![]),_0x2ca0c8[_0x42b8(0x2ae)](_0x361314,_0x2ca0c8[_0x42b8(0x2af)]),_0x31f575[_0x42b8(0xc5)][_0x42b8(0xfb)](_0x102a5d));},0x3e8));return;}else{const _0x3a0ba9=_0x98e167[_0x42b8(0x1be)]||'',_0x1ba876=_0x3a0ba9[_0x42b8(0xda)]();console[_0x42b8(0xe1)](_0x42b8(0x2b0)+_0x3a0ba9+_0x42b8(0x1bf)+_0x98e167[_0x42b8(0x1c0)]+_0x42b8(0x1c1)+_0x4a15eb);const _0xd75adc=_0x1ba876['includes'](_0x1e77a5[_0x42b8(0x127)])||_0x1ba876[_0x42b8(0x1c4)](_0x1e77a5[_0x42b8(0x2b1)])||_0x1ba876[_0x42b8(0x1c4)]('/signin'),_0x461120=_0x1ba876[_0x42b8(0x1c4)](_0x1e77a5[_0x42b8(0x2b2)])&&!_0xd75adc&&!_0x98e167[_0x42b8(0x1c0)];if(_0xd75adc){console[_0x42b8(0xe1)]('🔐\x20[CLAUDE]\x20On\x20login\x20page\x20-\x20waiting\x20for\x20user\x20to\x20log\x20in...'),_0x4a30c5(![]);return;}_0x1e77a5[_0x42b8(0x165)](_0x461120,!_0x55a635)&&!_0x315bd0&&!_0x2d8090['current']&&_0x4a15eb&&(console['log'](_0x1e77a5[_0x42b8(0x2b3)]),_0x1e77a5['EncsZ'](_0x4a30c5,!![]),_0x1e77a5[_0x42b8(0x2b4)](setTimeout,()=>{_0x1e77a5[_0x42b8(0x287)](_0xed8765);},0x7d0));}},[_0x55a635,_0x315bd0,_0xed8765]),_0x1e978f=useCallback((_0x17729e,_0x5d63f8=![])=>{const _0x2edfef={'zDivO':_0x1e77a5[_0x42b8(0x2b5)],'HAsBj':_0x42b8(0x84),'tJIlR':function(_0x354b03,_0x33fb6a){return _0x1e77a5['HMyXP'](_0x354b03,_0x33fb6a);},'BVhcu':function(_0x51b995,_0x3a6b06){return _0x1e77a5[_0x42b8(0x1e3)](_0x51b995,_0x3a6b06);},'jOFxC':_0x1e77a5['ilbFO'],'PwFHX':_0x1e77a5[_0x42b8(0x2b6)],'HWcjI':function(_0x4c6b79){return _0x1e77a5[_0x42b8(0x14f)](_0x4c6b79);}},_0x253601=_0x17729e[_0x42b8(0x1be)]||'',_0x37016b=_0x253601['toLowerCase']();console[_0x42b8(0xe1)](_0x42b8(0x1b0)+platform['toUpperCase']()+_0x42b8(0x2b7)+_0x253601+',\x20loading='+_0x17729e[_0x42b8(0x1c0)]+_0x42b8(0x1c1)+_0x5d63f8);let _0xfc33f1=![],_0x2dd244=![];if(_0x26405c)_0xfc33f1=_0x37016b[_0x42b8(0x1c4)](_0x1e77a5[_0x42b8(0x127)])||_0x37016b[_0x42b8(0x1c4)](_0x1e77a5['HtJyP'])||_0x37016b[_0x42b8(0x1c4)](_0x1e77a5[_0x42b8(0x2b8)]),_0x2dd244=_0x37016b[_0x42b8(0x1c4)](_0x1e77a5[_0x42b8(0x2b9)])&&!_0xfc33f1&&!_0x17729e[_0x42b8(0x1c0)];else{if(_0x368719)_0xfc33f1=_0x37016b[_0x42b8(0x1c4)](_0x1e77a5[_0x42b8(0x2b5)])||_0x37016b[_0x42b8(0x1c4)](_0x42b8(0x2ba))||_0x37016b[_0x42b8(0x1c4)](_0x1e77a5['RZIgL']),_0x2dd244=_0x37016b[_0x42b8(0x1c4)](_0x1e77a5[_0x42b8(0x2bb)])&&!_0xfc33f1&&!_0x17729e['loading'];else{if(_0x5d64c4)_0xfc33f1=_0x37016b[_0x42b8(0x1c4)](_0x42b8(0x2a1))||_0x37016b['includes'](_0x42b8(0x2bc))||_0x37016b['includes'](_0x1e77a5[_0x42b8(0x2bd)]),_0x2dd244=_0x37016b[_0x42b8(0x1c4)](_0x42b8(0x2be))&&!_0xfc33f1&&!_0x17729e['loading'];else _0x4611e4&&(_0x1e77a5[_0x42b8(0x2bf)]===_0x42b8(0x2c0)?(_0x444d3c=_0x4a08ee[_0x42b8(0x1c4)](_0x2edfef[_0x42b8(0x2c1)])||_0x473980[_0x42b8(0x1c4)](_0x42b8(0x2ba))||_0x490170[_0x42b8(0x1c4)](_0x42b8(0x83)),_0x380696=_0x2be26c[_0x42b8(0x1c4)](_0x2edfef[_0x42b8(0x2c2)])&&!_0x48bbb8&&!_0x230a80['loading']):(_0xfc33f1=_0x37016b[_0x42b8(0x1c4)](_0x42b8(0x7d))||!_0x37016b[_0x42b8(0x1c4)]('#'),_0x2dd244=_0x37016b[_0x42b8(0x1c4)](_0x1e77a5[_0x42b8(0x2c3)])&&_0x37016b[_0x42b8(0x1c4)]('#')&&!_0xfc33f1&&!_0x17729e[_0x42b8(0x1c0)]));}}if(_0xfc33f1){if(_0x1e77a5['nBLaC']!==_0x1e77a5[_0x42b8(0x2c4)]){console[_0x42b8(0xe1)](_0x42b8(0x2c5)+platform[_0x42b8(0x110)]()+_0x42b8(0x2c6)),_0x1e77a5['hAlGP'](_0x3fe1cc,![]);return;}else _0x215bcc['log'](_0x42b8(0x2c7)),_0x2edfef['tJIlR'](_0x2f0c83,!![]),_0xc23dbf(()=>{_0x4e5f0d();},0x7d0);}_0x1e77a5[_0x42b8(0xfe)](_0x2dd244,!_0x5ce63c)&&!_0x2baa5d&&!_0x2921ba[_0x42b8(0xc5)]&&_0x5d63f8&&(console[_0x42b8(0xe1)](_0x42b8(0x21c)+platform[_0x42b8(0x110)]()+_0x42b8(0x2c8)),_0x1e77a5[_0x42b8(0x2c9)](_0x3fe1cc,!![]),_0x1e77a5[_0x42b8(0x23e)](setTimeout,()=>{if(_0x2edfef[_0x42b8(0x2ca)](_0x2edfef[_0x42b8(0x2cb)],_0x2edfef['PwFHX']))_0x2edfef[_0x42b8(0x2cc)](_0x5f55a8);else{if(_0x2fad8b)_0x37ffca();}},0x7d0));},[platform,_0x26405c,_0x368719,_0x5d64c4,_0x4611e4,_0x5ce63c,_0x2baa5d,_0x5f55a8]),_0x5c2f7f=_0x1531da=>{const _0x3e4694={'UDdmP':function(_0xb63f56,_0x5c7f5c){return _0xb63f56===_0x5c7f5c;},'hfHMX':_0x1e77a5['yTIPO'],'wsVdo':_0x1e77a5[_0x42b8(0x218)],'kIuju':function(_0x9102d8,_0x65cb4f){return _0x1e77a5[_0x42b8(0x209)](_0x9102d8,_0x65cb4f);},'itiDl':_0x1e77a5[_0x42b8(0x2cd)],'oCCni':_0x1e77a5['dvJfw'],'uzGCz':function(_0x1fa637,_0x2587cc){return _0x1e77a5['fzPjI'](_0x1fa637,_0x2587cc);},'zjSlm':_0x1e77a5[_0x42b8(0x1ce)],'ROVyT':_0x1e77a5[_0x42b8(0x2ce)]};console['log'](_0x42b8(0x2cf)+platform+':',_0x1531da[_0x42b8(0x1be)]);if(_0xea001){_0x1e77a5[_0x42b8(0x1aa)](_0x1fc62c,_0x1531da);try{const _0x45ebd5=new URL(_0x1531da['url']),_0x575a6b=_0x45ebd5[_0x42b8(0x2d0)][_0x42b8(0x2d1)](_0x1e77a5[_0x42b8(0x2d2)]),_0x2717c0=_0x45ebd5['searchParams'][_0x42b8(0x2d1)](_0x1e77a5['PiMYb']);if(_0x1e77a5[_0x42b8(0x17a)](_0x575a6b,_0x2717c0)){console['log'](_0x42b8(0x1eb)),_0x33470d(!![]),_0x1e77a5[_0x42b8(0x261)](setTimeout,()=>{const _0x22c0d1={'eSzqM':function(_0x397c3b,_0x4dadcb){return _0x3e4694[_0x42b8(0x2d3)](_0x397c3b,_0x4dadcb);},'BYBdU':'denied','NOYrU':_0x3e4694[_0x42b8(0x2d4)],'sNfeH':_0x3e4694['wsVdo']};if(_0x31164e[_0x42b8(0xc5)]){if(_0x3e4694[_0x42b8(0x2d5)](_0x42b8(0x2d6),_0x3e4694['itiDl'])){if(_0x22c0d1[_0x42b8(0x2d7)](_0x2243f0[_0x42b8(0x142)],_0x22c0d1[_0x42b8(0x2d8)]))_0x19e315[_0x42b8(0xe1)](_0x42b8(0x219)+_0x18d3d2['toUpperCase']()+']\x20User\x20denied\x20consent'),Alert['alert'](_0x22c0d1[_0x42b8(0x2d9)],_0x42b8(0x23b)+_0x18a99a+'\x20conversations.',[{'text':'OK','onPress':_0x9a7b3e}]);else _0x22c0d1['eSzqM'](_0x3b5f54[_0x42b8(0x142)],_0x22c0d1[_0x42b8(0x2da)])&&_0x45e79c['log'](_0x42b8(0x21c)+_0x2f2bbb[_0x42b8(0x110)]()+_0x42b8(0x21d));return;}else console['log'](_0x3e4694[_0x42b8(0x2db)]),_0x3e4694[_0x42b8(0x2dc)](_0x4681a4,_0x42b8(0x13)),_0x31164e[_0x42b8(0xc5)][_0x42b8(0xfb)](_0x42b8(0x1ef));}},0x1f4);return;}}catch(_0x1f5126){}return;}if(_0x4c5a6c){if(_0x1e77a5['mvUzf'](_0x1e77a5[_0x42b8(0x2dd)],_0x1e77a5['bRYnF'])){_0x1e77a5['AKXDi'](_0x159701,_0x1531da);return;}else _0x596e4c['warn'](_0x3e4694[_0x42b8(0x2de)]);}if(_0xdf8221){_0x1e77a5[_0x42b8(0xc3)](_0x33ef4d,_0x1531da);return;}if(_0x5cce4b){_0x1e77a5[_0x42b8(0x2df)](_0x1e978f,_0x1531da);return;}if(_0x3fda0d){if(_0x1e77a5[_0x42b8(0x2e0)]('FUhxt',_0x1e77a5[_0x42b8(0x2e1)])){if(_0x3e773b)_0x1e77a5['fhSRH'](_0x54c023);}else{_0x1e77a5[_0x42b8(0x2b4)](isLoggedInUrl,_0x1531da[_0x42b8(0x1be)],platform)&&console[_0x42b8(0xe1)]('✅\x20['+platform[_0x42b8(0x110)]()+_0x42b8(0x230));return;}}const _0x5b0915=_0x1531da['url'][_0x42b8(0x1c4)](_0x1e77a5[_0x42b8(0x2e2)])||_0x1531da[_0x42b8(0x1be)][_0x42b8(0x1c4)](_0x42b8(0x2e3))||_0x1531da['url']['includes'](_0x1e77a5[_0x42b8(0x2e4)])||_0x1531da[_0x42b8(0x1be)][_0x42b8(0x2e5)](_0x1e77a5['PsQhW'])||_0x1531da[_0x42b8(0x1be)][_0x42b8(0x2e5)](_0x1e77a5[_0x42b8(0x2e6)]),_0x4b1719=_0x1531da[_0x42b8(0x1be)]['includes'](_0x1e77a5['eTshM'])&&_0x1531da[_0x42b8(0x1be)][_0x42b8(0x1c4)](_0x1e77a5[_0x42b8(0x2e7)]);if(_0x1e77a5[_0x42b8(0x2e8)](_0x5b0915,_0x4b1719)){if(_0x1e77a5[_0x42b8(0x2e9)]!==_0x1e77a5['MumTP']){console['log']('✅\x20'+platform+_0x42b8(0x1d9)+_0x1531da[_0x42b8(0x1be)]),_0x1e77a5['Vienr'](_0x134f47,!![]),setTimeout(()=>{_0x549d77('success');if(_0x5da78a)_0x5da78a();},0x7d0);return;}else _0x1e20ce&&_0x43ca88[_0x42b8(0xe1)](_0x3e4694['ROVyT']);}},_0x546fed=_0x119447=>{const _0xae055d={'vUMoC':function(_0x5f4884,_0x3bcf3a){return _0x1e77a5[_0x42b8(0x2ea)](_0x5f4884,_0x3bcf3a);},'knzFQ':_0x1e77a5[_0x42b8(0x298)],'aCvLJ':_0x1e77a5[_0x42b8(0xff)]},_0x22814f=_0x119447[_0x42b8(0x13e)][_0x42b8(0x1be)];console[_0x42b8(0xe1)](_0x42b8(0x2eb)+_0x22814f),_0x1e77a5['OVMjO'](_0x4ab6d2,![]);if(_0xea001)_0x1e77a5[_0x42b8(0x2ec)](_0x1fc62c,{'url':_0x22814f,'loading':![]},!![]);else{if(_0x4c5a6c){if(_0x1e77a5[_0x42b8(0x2ed)](_0x1e77a5[_0x42b8(0x2ee)],_0x1e77a5[_0x42b8(0x2ef)]))_0x159701({'url':_0x22814f,'loading':![]},!![]);else{_0x3701fa[_0x42b8(0xe1)](_0x42b8(0x1b0)+_0x6f0d2e[_0x42b8(0x110)]()+']\x20Debug:',_0x285c12['message']);return;}}else{if(_0xdf8221){if('piErb'!==_0x1e77a5[_0x42b8(0x2f0)])_0x1e77a5[_0x42b8(0x2f1)](_0x33ef4d,{'url':_0x22814f,'loading':![]},!![]);else return!![];}else{if(_0x5cce4b){if(_0x1e77a5[_0x42b8(0x100)](_0x42b8(0x2f2),_0x1e77a5[_0x42b8(0x2f3)]))_0x1e978f({'url':_0x22814f,'loading':![]},!![]);else{const _0x24edd1=_0x42b8(0x2f4)[_0x42b8(0x10a)]('|');let _0x55abc9=0x0;while(!![]){switch(_0x24edd1[_0x55abc9++]){case'0':_0xae055d[_0x42b8(0x2f5)](_0x146284,!![]);continue;case'1':_0x1c3924(!![]);continue;case'2':_0x25857c[_0x42b8(0xc5)]&&(_0x32fdf3[_0x42b8(0xe1)]('🚀\x20[LINKEDIN]\x20Navigating\x20directly\x20to\x20/me...'),_0x20214e[_0x42b8(0xc5)][_0x42b8(0xfb)](_0x42b8(0x29c)));continue;case'3':_0x499a0f['log'](_0xae055d[_0x42b8(0x2f6)]);continue;case'4':_0x1fd90e(_0xae055d[_0x42b8(0x2f7)]);continue;}break;}}}}}}},_0x7a9e7f=_0xaed51=>{const _0x4e8463={'Hvboo':_0x42b8(0x18),'QVliP':_0x42b8(0x19),'mNdxl':_0x1e77a5[_0x42b8(0x218)],'NPAyU':function(_0x5e4915){return _0x1e77a5[_0x42b8(0x14f)](_0x5e4915);},'zpEYh':function(_0x3ba396,_0x41a865){return _0x1e77a5[_0x42b8(0xc1)](_0x3ba396,_0x41a865);},'HUsPJ':_0x1e77a5[_0x42b8(0x2b1)]};if(_0x1e77a5[_0x42b8(0x15b)](_0x42b8(0x2f8),_0x1e77a5[_0x42b8(0x2f9)])){if(_0x532638[_0x42b8(0x142)]===_0x4e8463[_0x42b8(0x2fa)])_0x351e04[_0x42b8(0xe1)](_0x42b8(0x219)+_0x47a0aa[_0x42b8(0x110)]()+_0x42b8(0x23a)),Alert['alert'](_0x4e8463[_0x42b8(0x2fb)],_0x42b8(0x23b)+_0x8fbce1+_0x42b8(0x23c),[{'text':'OK','onPress':_0x5abe10}]);else _0x211429[_0x42b8(0x142)]===_0x4e8463[_0x42b8(0x2fc)]&&_0x4b4db7['log'](_0x42b8(0x21c)+_0x40a317[_0x42b8(0x110)]()+_0x42b8(0x21d));return;}else{const _0x152a80=_0xaed51[_0x42b8(0x1be)]||'',_0xc8a531=_0x152a80['toLowerCase']();if(_0xea001){if(_0x1e77a5[_0x42b8(0x2fd)](_0x1e77a5['OKJVx'],_0x1e77a5[_0x42b8(0x2fe)])){const _0x50a90a={'MxBHV':function(_0x5cd636){return _0x4e8463['NPAyU'](_0x5cd636);}};_0x3c8005[_0x42b8(0xe1)](_0x42b8(0x21c)+_0x366f1f['toUpperCase']()+_0x42b8(0x2c8)),_0x4e8463[_0x42b8(0x2ff)](_0x2772d5,!![]),_0x16a4f8(()=>{_0x50a90a[_0x42b8(0x300)](_0x43afde);},0x7d0);}else{const _0x2890cc=[_0x1e77a5[_0x42b8(0x301)],_0x1e77a5[_0x42b8(0x302)],_0x1e77a5[_0x42b8(0x303)],'linkedin-mobile://'],_0x3afc6b=_0x2890cc['some'](_0x42dd25=>_0xc8a531[_0x42b8(0x2e5)](_0x42dd25));if(_0x3afc6b)return console[_0x42b8(0xe1)](_0x1e77a5['aKRvN'],_0x152a80),![];if(_0xc8a531[_0x42b8(0x2e5)](_0x1e77a5[_0x42b8(0x304)])&&_0xc8a531[_0x42b8(0x1c4)]('linkedin')){if(_0x1e77a5[_0x42b8(0x305)]!==_0x1e77a5[_0x42b8(0x306)])return console[_0x42b8(0xe1)](_0x1e77a5['kuvrE'],_0x152a80),![];else{_0x22e2ac[_0x42b8(0x1ab)](_0x42b8(0x307)+_0x1124ad[_0x42b8(0x110)]()+_0x42b8(0x308),_0x9205ac[_0x42b8(0xf5)]);return;}}if(_0xc8a531['startsWith'](_0x1e77a5[_0x42b8(0x309)])||_0xc8a531[_0x42b8(0x2e5)](_0x1e77a5[_0x42b8(0x30a)]))return!![];if(_0xc8a531[_0x42b8(0x2e5)](_0x42b8(0x30b))){if(_0x1e77a5[_0x42b8(0x30c)]===_0x1e77a5[_0x42b8(0x30d)])_0x2888c2=_0x244cb3['includes'](_0x4e8463['HUsPJ'])||!_0x5de21d[_0x42b8(0x1c4)]('#'),_0x43ec43=_0x161679[_0x42b8(0x1c4)]('web.telegram.org')&&_0x51aa97['includes']('#')&&!_0x2d4cb2&&!_0x177985['loading'];else return!![];}return console[_0x42b8(0xe1)](_0x1e77a5['orMLD'],_0x152a80),![];}}return!![];}},_0x1d490e=()=>{const _0xc4552a={'oNQSh':function(_0x5cd348,_0x338b8f){return _0x1e77a5['xhskh'](_0x5cd348,_0x338b8f);},'lpLfz':_0x1e77a5[_0x42b8(0xe8)],'kSREV':function(_0x42087b){return _0x1e77a5[_0x42b8(0x30e)](_0x42087b);}};if(_0x1e77a5[_0x42b8(0x30f)](_0x1e77a5[_0x42b8(0x310)],_0x1e77a5[_0x42b8(0x310)])){const _0x425962=_0x1e77a5[_0x42b8(0x311)]['split']('|');let _0xe01d48=0x0;while(!![]){switch(_0x425962[_0xe01d48++]){case'0':_0x4f8076(!![]);continue;case'1':_0x1e77a5[_0x42b8(0x11b)](_0x2c00a6,()=>{_0xc4552a['oNQSh'](_0x6fa883,_0xc4552a[_0x42b8(0x312)]);if(_0x1c40ae)_0xc4552a[_0x42b8(0x313)](_0x36d2ca);},0x7d0);continue;case'2':_0x1e77a5['EGPWT'](_0x1c7e2c,_0x1e77a5[_0x42b8(0x136)]);continue;case'3':_0x1a4526[_0x42b8(0xe1)](_0x1e77a5[_0x42b8(0x17d)],_0x455d17);continue;case'4':_0x1e77a5[_0x42b8(0x314)](_0x30484b,![]);continue;case'5':_0x1e77a5['GUsLU'](_0x44057c,!![]);continue;}break;}}else{if(_0x3fda0d||_0xea001||_0x5cce4b)return getAntiDetectionScript(platform);return undefined;}},_0x54ce92=_0x1e77a5[_0x42b8(0x315)](_0x4c5a6c,_0x5971a5),_0x29057d=_0x138a36,_0x2366f5=_0x11ffb7,_0x2b7cb6=_0x1e77a5[_0x42b8(0x316)](_0x4d0d7a,_0xb23cfd)||_0x4e3cea||_0x1656a6||_0x4d73f9,_0x2543b1=_0x358901=>{const _0x329b09={'linkedin':_0x1e77a5[_0x42b8(0x317)],'chatgpt':_0x1e77a5[_0x42b8(0x318)],'openai':_0x42b8(0xa1),'claude':_0x1e77a5[_0x42b8(0x319)],'anthropic':_0x1e77a5[_0x42b8(0x319)],'reddit':'#FF4500','youtube':'#FF0000','pinterest':_0x1e77a5[_0x42b8(0x31a)],'gmail':_0x1e77a5[_0x42b8(0x132)],'gemini':_0x42b8(0x133),'grok':_0x1e77a5[_0x42b8(0x31b)],'hinge':_0x1e77a5['vwGcr'],'instagram':_0x1e77a5[_0x42b8(0x31c)],'sephora':_0x1e77a5['GMOtd'],'telegram':_0x1e77a5[_0x42b8(0x31d)]};return _0x329b09[_0x358901[_0x42b8(0xda)]()]||_0x1e77a5[_0x42b8(0x31e)];},_0x22934f=_0x1e77a5['wnbAx'](_0x2543b1,platform);return React[_0x42b8(0xe7)](()=>{_0x2b7cb6&&(_0x5274d3[_0x42b8(0x107)](0x0),_0x5a53e8[_0x42b8(0x107)](0x0),Animated['sequence']([Animated[_0x42b8(0xf8)](_0x5a53e8,{'toValue':0x1,'duration':0x96,'useNativeDriver':!![]})])[_0x42b8(0x103)](),Animated[_0x42b8(0x19d)](_0x5274d3,{'toValue':0x1,'friction':0x4,'tension':0x64,'useNativeDriver':!![]})[_0x42b8(0x103)]());},[_0x2b7cb6,_0x5274d3,_0x5a53e8]),React['createElement'](View,{'style':styles[_0x42b8(0x31f)]},React[_0x42b8(0x320)](SafeAreaView,{'style':styles['container']},React[_0x42b8(0x320)](View,{'style':styles[_0x42b8(0x321)]},React[_0x42b8(0x320)](Text,{'style':styles['title']},_0x1e77a5['nOufo'],platform[_0x42b8(0x322)](0x0)['toUpperCase']()+platform[_0x42b8(0x323)](0x1)),_0x95b3c4&&React[_0x42b8(0x320)](Text,{'style':styles[_0x42b8(0x324)]},_0x1e77a5[_0x42b8(0x325)]),React[_0x42b8(0x320)](TouchableOpacity,{'onPress':_0x4876c5,'style':styles['closeButton']},React[_0x42b8(0x320)](Text,{'style':styles[_0x42b8(0x326)]},'✕'))),_0x448e3b&&React[_0x42b8(0x320)](View,{'style':styles[_0x42b8(0x327)]},React[_0x42b8(0x320)](View,{'style':styles[_0x42b8(0x328)]},React[_0x42b8(0x320)](Animated['View'],{'style':[styles[_0x42b8(0x329)],{'transform':[{'translateX':_0x1771d2['interpolate']({'inputRange':[0x0,0x1],'outputRange':[0x0,_0x1e77a5[_0x42b8(0x32a)](width,0x78)]})}]}]})),React['createElement'](Text,{'style':styles[_0x42b8(0x32b)]},_0x1e77a5[_0x42b8(0x32c)])),_0x54ce92&&React[_0x42b8(0x320)](View,{'style':styles['exportProgressContainer']},React[_0x42b8(0x320)](View,{'style':styles[_0x42b8(0x32d)]},React['createElement'](Animated[_0x42b8(0x32e)],{'style':[styles[_0x42b8(0x32f)],{'width':_0x2366f5[_0x42b8(0x330)]({'inputRange':[0x0,0x64],'outputRange':['0%',_0x42b8(0xb5)]}),'backgroundColor':_0x22934f}]})),React[_0x42b8(0x320)](Text,{'style':styles[_0x42b8(0x331)]},_0x1e77a5[_0x42b8(0x11f)](_0x29057d,0x64)?'Exporting...\x20'+Math[_0x42b8(0x332)](_0x29057d)+'%':_0x1e77a5['pdEHC'])),_0x1e77a5[_0x42b8(0x333)](_0xdf8221,_0x38890e)&&React[_0x42b8(0x320)](View,{'style':styles[_0x42b8(0x334)]},React[_0x42b8(0x320)](View,{'style':styles[_0x42b8(0x335)]},React['createElement'](ActivityIndicator,{'size':_0x1e77a5['tVEvl'],'color':_0x1e77a5[_0x42b8(0x319)]}),React[_0x42b8(0x320)](Text,{'style':styles['claudeExtractionTitle']},_0x1e77a5[_0x42b8(0x336)]),React['createElement'](Text,{'style':styles['claudeExtractionSubtitle']},_0x2ba9d2),React[_0x42b8(0x320)](View,{'style':styles['claudeExtractionProgressContainer']},React[_0x42b8(0x320)](Animated[_0x42b8(0x32e)],{'style':[styles[_0x42b8(0x337)],{'width':_0x550317[_0x42b8(0x330)]({'inputRange':[0x0,0x64],'outputRange':['0%',_0x1e77a5[_0x42b8(0x338)]]})}]})),React[_0x42b8(0x320)](Text,{'style':styles[_0x42b8(0x339)]},Math[_0x42b8(0x332)](_0x26ee97),'%'))),_0x1e77a5[_0x42b8(0x33a)](_0x5cce4b,_0x22d864)&&React[_0x42b8(0x320)](View,{'style':styles[_0x42b8(0x33b)]},React['createElement'](View,{'style':styles[_0x42b8(0x335)]},React[_0x42b8(0x320)](ActivityIndicator,{'size':_0x1e77a5['tVEvl'],'color':_0x22934f}),React[_0x42b8(0x320)](Text,{'style':styles[_0x42b8(0x33c)]},_0x1e77a5[_0x42b8(0x336)]),React[_0x42b8(0x320)](Text,{'style':styles[_0x42b8(0x33d)]},_0x1f73f4),React[_0x42b8(0x320)](View,{'style':styles[_0x42b8(0x33e)]},React[_0x42b8(0x320)](Animated[_0x42b8(0x32e)],{'style':[styles[_0x42b8(0x33f)],{'backgroundColor':_0x22934f,'width':_0x157016[_0x42b8(0x330)]({'inputRange':[0x0,0x64],'outputRange':['0%',_0x42b8(0xb5)]})}]})),React[_0x42b8(0x320)](Text,{'style':[styles[_0x42b8(0x340)],{'color':_0x22934f}]},Math['round'](_0x4fc691),'%'))),_0x2b7cb6&&React[_0x42b8(0x320)](View,{'style':styles[_0x42b8(0x341)]},React['createElement'](Animated[_0x42b8(0x32e)],{'style':[styles[_0x42b8(0x342)],{'backgroundColor':_0x22934f,'transform':[{'scale':_0x5274d3}],'opacity':_0x5a53e8}]},React[_0x42b8(0x320)](Text,{'style':styles[_0x42b8(0x343)]},'✓')),React['createElement'](Animated[_0x42b8(0x344)],{'style':[styles['successText'],{'opacity':_0x5a53e8}]},_0x1e77a5[_0x42b8(0x136)])),React[_0x42b8(0x320)](View,{'style':styles[_0x42b8(0x345)]},_0x5f2437&&!_0x54ce92&&!_0x2b7cb6&&React[_0x42b8(0x320)](View,{'style':styles[_0x42b8(0x346)]},React[_0x42b8(0x320)](ActivityIndicator,{'size':_0x1e77a5[_0x42b8(0x347)],'color':_0x22934f}),React['createElement'](Text,{'style':styles['loadingText']},_0x42b8(0x348),platform,'...'),React[_0x42b8(0x320)](Text,{'style':styles[_0x42b8(0x349)]},_0x1e77a5['jHoZb'],platform,_0x1e77a5['XmxOK'])),React[_0x42b8(0x320)](WebView,{'ref':_0x31164e,'source':{'uri':_0x1d5aae},'onShouldStartLoadWithRequest':_0x7a9e7f,'onNavigationStateChange':_0x5c2f7f,'onLoadStart':()=>_0x4ab6d2(!![]),'onLoadEnd':_0x546fed,'onMessage':_0x157deb,'injectedJavaScriptBeforeContentLoaded':_0x1e77a5[_0x42b8(0xd2)](_0x1d490e),'style':styles[_0x42b8(0x34a)],'javaScriptEnabled':!![],'domStorageEnabled':!![],'cacheEnabled':!_0xea001,'incognito':_0xea001,'thirdPartyCookiesEnabled':!_0xea001,'sharedCookiesEnabled':!_0xea001,'userAgent':_0x1e77a5[_0x42b8(0x250)](getPlatformUserAgent,platform),'originWhitelist':['https://*',_0x1e77a5[_0x42b8(0x34b)]],'allowsBackForwardNavigationGestures':!![],'setSupportMultipleWindows':![],'onError':_0x4337d3=>{if(_0x1e77a5['WOgzX'](_0x1e77a5['PtzVL'],_0x1e77a5[_0x42b8(0x34c)])){const {nativeEvent:_0x3f520c}=_0x4337d3;console[_0x42b8(0x36)](_0x42b8(0x182)+platform+':',_0x3f520c);}else{if(_0x2601c9)_0x100029();}},'onHttpError':_0x5939e2=>{const {nativeEvent:_0x43f9a8}=_0x5939e2;console['error'](_0x42b8(0x34d)+platform+':\x20'+_0x43f9a8[_0x42b8(0x34e)],_0x43f9a8[_0x42b8(0x1be)]);if(_0x43f9a8[_0x42b8(0x1be)]&&_0x43f9a8[_0x42b8(0x1be)][_0x42b8(0x1c4)](_0x1e77a5[_0x42b8(0x34f)])){if(_0x1e77a5['mgzLL'](_0x1e77a5['VVKvh'],_0x1e77a5['VVKvh'])){console['log'](_0x1e77a5[_0x42b8(0x350)]),_0x1e77a5[_0x42b8(0x1b9)](_0x549d77,_0x1e77a5['WZJET']);if(_0x5da78a){if(_0x1e77a5['zdPhH'](_0x1e77a5[_0x42b8(0x351)],_0x1e77a5['oCTwu']))_0x1e77a5[_0x42b8(0x352)](setTimeout,()=>_0x5da78a(),0x3e8);else{_0x1e77a5[_0x42b8(0x353)](_0x427dab,_0x1e77a5[_0x42b8(0xe8)]);if(_0x252457)_0x37295d();}}}else _0x4a9d92['error'](_0x1e77a5[_0x42b8(0x354)],_0xc8c954);}}}))));};function _0x42b8(_0x2bd989,_0x42b821){_0x2bd989=_0x2bd989-0x0;const _0x1a3362=_0x2bd9();let _0x297961=_0x1a3362[_0x2bd989];return _0x297961;}const styles=StyleSheet[_0x42b8(0x355)]({'modalContainer':{'position':_0x42b8(0x356),'top':0x0,'left':0x0,'right':0x0,'bottom':0x0,'width':width,'height':height,'backgroundColor':_0x42b8(0x357),'zIndex':0x270f,'borderTopLeftRadius':0x14,'borderTopRightRadius':0x14,'overflow':_0x42b8(0x358)},'container':{'flex':0x1,'backgroundColor':_0x42b8(0x357),'width':width,'height':height,'position':_0x42b8(0x356),'top':0x0,'left':0x0,'right':0x0,'bottom':0x0,'zIndex':0x3e7,'borderTopLeftRadius':0x14,'borderTopRightRadius':0x14,'overflow':_0x42b8(0x358)},'header':{'flexDirection':_0x42b8(0x359),'alignItems':_0x42b8(0x35a),'justifyContent':_0x42b8(0x35b),'paddingHorizontal':0x10,'paddingVertical':0x8,'borderBottomWidth':0x1,'borderBottomColor':_0x42b8(0x35c),'backgroundColor':_0x42b8(0x357),'zIndex':0x3e8},'title':{'fontSize':0x12,'fontWeight':'600','color':_0x42b8(0x35d),'flex':0x1,'textAlign':'center'},'closeButton':{'padding':0x8},'closeButtonText':{'fontSize':0x14,'color':_0x42b8(0x35e)},'webViewContainer':{'flex':0x1,'width':width,'height':height-0x3c},'webView':{'flex':0x1,'width':_0x42b8(0xb5),'height':_0x42b8(0xb5)},'loadingContainer':{...StyleSheet[_0x42b8(0x35f)],'alignItems':_0x42b8(0x35a),'justifyContent':_0x42b8(0x35a),'backgroundColor':'rgba(255,\x20255,\x20255,\x200.9)','zIndex':0x1},'loadingText':{'marginTop':0xc,'fontSize':0x10,'color':_0x42b8(0x35e)},'loadingHint':{'marginTop':0x8,'fontSize':0xe,'color':'#999','textAlign':'center','paddingHorizontal':0x28},'timeoutText':{'fontSize':0xc,'color':_0x42b8(0x360),'textAlign':_0x42b8(0x35a),'marginTop':0x4},'linkedinProgressContainer':{'paddingHorizontal':0x10,'paddingVertical':0xc,'backgroundColor':_0x42b8(0x361),'borderBottomWidth':0x1,'borderBottomColor':_0x42b8(0x35c),'alignItems':_0x42b8(0x35a)},'linkedinProgressTrack':{'width':_0x42b8(0xb5),'height':0x4,'backgroundColor':_0x42b8(0x362),'borderRadius':0x2,'overflow':_0x42b8(0x358)},'linkedinProgressIndicator':{'width':0x50,'height':0x4,'backgroundColor':_0x42b8(0xa0),'borderRadius':0x2},'linkedinProgressText':{'color':'#0077B5','fontSize':0xd,'fontWeight':_0x42b8(0x363),'marginTop':0x8,'fontFamily':_0x42b8(0x364)},'exportProgressContainer':{'paddingHorizontal':0x10,'paddingVertical':0x6,'backgroundColor':_0x42b8(0x365),'borderBottomWidth':0x1,'borderBottomColor':'#E5E5E5'},'progressBarContainer':{'height':0x6,'backgroundColor':'#E5E7EB','borderRadius':0x3,'overflow':_0x42b8(0x358)},'progressBar':{'height':_0x42b8(0xb5),'borderRadius':0x3},'progressText':{'fontSize':0xc,'color':_0x42b8(0x366),'textAlign':'center','marginTop':0x6},'successOverlay':{'position':_0x42b8(0x356),'top':0x0,'left':0x0,'right':0x0,'bottom':0x0,'backgroundColor':'#FFFFFF','justifyContent':'center','alignItems':_0x42b8(0x35a),'zIndex':0x7d0},'successCheckmark':{'width':0x50,'height':0x50,'borderRadius':0x28,'justifyContent':'center','alignItems':'center','shadowColor':_0x42b8(0x367),'shadowOffset':{'width':0x0,'height':0x4},'shadowOpacity':0.2,'shadowRadius':0x14,'elevation':0xa},'successCheckmarkIcon':{'fontSize':0x32,'color':_0x42b8(0x368),'fontWeight':_0x42b8(0x369)},'successText':{'fontFamily':_0x42b8(0x364),'fontSize':0x18,'fontWeight':'700','color':_0x42b8(0x36a),'marginTop':0x18},'claudeExtractionOverlay':{'position':_0x42b8(0x356),'top':0x0,'left':0x0,'right':0x0,'bottom':0x0,'backgroundColor':'#FFFFFF','justifyContent':_0x42b8(0x35a),'alignItems':_0x42b8(0x35a),'zIndex':0x3e8},'extractionContent':{'alignItems':_0x42b8(0x35a),'paddingHorizontal':0x20},'claudeExtractionTitle':{'fontSize':0x18,'fontWeight':_0x42b8(0x36b),'color':_0x42b8(0x36a),'marginTop':0x18,'marginBottom':0x8},'claudeExtractionSubtitle':{'fontSize':0x10,'color':_0x42b8(0x366),'textAlign':'center','marginBottom':0x18},'claudeExtractionProgressContainer':{'width':0xc8,'height':0x8,'backgroundColor':_0x42b8(0x36c),'borderRadius':0x4,'overflow':_0x42b8(0x358)},'claudeExtractionProgressFill':{'height':_0x42b8(0xb5),'backgroundColor':'#D97706','borderRadius':0x4},'claudeExtractionProgressText':{'fontSize':0xe,'color':'#D97706','fontWeight':_0x42b8(0x36d),'marginTop':0x8},'linkedInExtractionOverlay':{'position':_0x42b8(0x356),'top':0x0,'left':0x0,'right':0x0,'bottom':0x0,'backgroundColor':_0x42b8(0x368),'justifyContent':'center','alignItems':'center','zIndex':0x3e8},'linkedInExtractionTitle':{'fontSize':0x18,'fontWeight':_0x42b8(0x36b),'color':_0x42b8(0x36a),'marginTop':0x18,'marginBottom':0x8},'linkedInExtractionSubtitle':{'fontSize':0x10,'color':_0x42b8(0x366),'textAlign':_0x42b8(0x35a),'marginBottom':0x18},'linkedInExtractionProgressContainer':{'width':0xc8,'height':0x8,'backgroundColor':'#E5E7EB','borderRadius':0x4,'overflow':_0x42b8(0x358)},'linkedInExtractionProgressFill':{'height':_0x42b8(0xb5),'backgroundColor':_0x42b8(0xa0),'borderRadius':0x4},'linkedInExtractionProgressText':{'fontSize':0xe,'color':'#0077B5','fontWeight':_0x42b8(0x36d),'marginTop':0x8},'newPlatformExtractionOverlay':{'position':_0x42b8(0x356),'top':0x0,'left':0x0,'right':0x0,'bottom':0x0,'backgroundColor':_0x42b8(0x368),'justifyContent':_0x42b8(0x35a),'alignItems':'center','zIndex':0x3e8},'newPlatformExtractionTitle':{'fontSize':0x18,'fontWeight':_0x42b8(0x36b),'color':'#1a1a1a','marginTop':0x18,'marginBottom':0x8},'newPlatformExtractionSubtitle':{'fontSize':0x10,'color':'#6B7280','textAlign':_0x42b8(0x35a),'marginBottom':0x18},'newPlatformExtractionProgressContainer':{'width':0xc8,'height':0x8,'backgroundColor':_0x42b8(0x36c),'borderRadius':0x4,'overflow':'hidden'},'newPlatformExtractionProgressFill':{'height':_0x42b8(0xb5),'borderRadius':0x4},'newPlatformExtractionProgressText':{'fontSize':0xe,'fontWeight':_0x42b8(0x36d),'marginTop':0x8}});
|
|
1
|
+
import React, { useState, useRef, useCallback } from 'react';
|
|
2
|
+
import { View, Text, StyleSheet, TouchableOpacity, ActivityIndicator, SafeAreaView, Dimensions, Alert, Animated } from 'react-native';
|
|
3
|
+
import { WebView } from 'react-native-webview';
|
|
4
|
+
import { CHATGPT_EXPORT_SCRIPT, CLAUDE_EXPORT_SCRIPT, LINKEDIN_PROFILE_EXTRACTOR_SCRIPT, LINKEDIN_PROFILE_CONSENT_POPUP_SCRIPT, LINKEDIN_PROFILE_SCRAPER_SCRIPT, HINGE_EXPORT_SCRIPT, INSTAGRAM_EXPORT_SCRIPT, SEPHORA_EXPORT_SCRIPT, TELEGRAM_EXPORT_SCRIPT, getAntiDetectionScript, getPlatformUserAgent, isLLMPlatform, isLoggedInUrl, isLinkedInPlatform, isLinkedInProfilePage, isLinkedInLoginPage, isLinkedInOAuthCallback, isHingePlatform, isInstagramPlatform, isSephoraPlatform, isTelegramPlatform } from '../../utils/webviewScripts';
|
|
5
|
+
import { initiateProfileScraping } from '../../services/linkedinDOMExtractor';
|
|
6
|
+
import { useChatGPTConversationExtractor } from '../../services/chatGPTConversationExtractor';
|
|
7
|
+
import { useClaudeConversationExtractor } from '../../services/claudeConversationExtractor';
|
|
8
|
+
import { storeLinkedInProfile } from '../../services/linkedinProfileService';
|
|
9
|
+
import { useHingeDataExtractor } from '../../services/hingeDataExtractor';
|
|
10
|
+
import { useInstagramDataExtractor } from '../../services/instagramDataExtractor';
|
|
11
|
+
import { useSephoraDataExtractor } from '../../services/sephoraDataExtractor';
|
|
12
|
+
import { useTelegramDataExtractor } from '../../services/telegramDataExtractor';
|
|
13
|
+
const {
|
|
14
|
+
width,
|
|
15
|
+
height
|
|
16
|
+
} = Dimensions.get('window');
|
|
17
|
+
export const OAuthWebView = ({
|
|
18
|
+
url,
|
|
19
|
+
onClose,
|
|
20
|
+
onSuccess,
|
|
21
|
+
platform = 'platform',
|
|
22
|
+
onComplete,
|
|
23
|
+
username
|
|
24
|
+
}) => {
|
|
25
|
+
const [isLoading, setIsLoading] = useState(true);
|
|
26
|
+
const [timeoutReached, setTimeoutReached] = useState(false);
|
|
27
|
+
const webViewRef = useRef(null);
|
|
28
|
+
|
|
29
|
+
// LinkedIn-specific state
|
|
30
|
+
const [linkedInLoggedIn, setLinkedInLoggedIn] = useState(false);
|
|
31
|
+
const [hasAutoNavigatedToProfile, setHasAutoNavigatedToProfile] = useState(false);
|
|
32
|
+
const [isOnProfilePage, setIsOnProfilePage] = useState(false);
|
|
33
|
+
const [linkedInConnectionComplete, setLinkedInConnectionComplete] = useState(false);
|
|
34
|
+
const [hasStartedAutoExtraction, setHasStartedAutoExtraction] = useState(false);
|
|
35
|
+
const [showLinkedInSuccessAnimation, setShowLinkedInSuccessAnimation] = useState(false);
|
|
36
|
+
const [extractionStatus, setExtractionStatus] = useState('');
|
|
37
|
+
const [isExtracting, setIsExtracting] = useState(false);
|
|
38
|
+
const [extractedProfileUrl, setExtractedProfileUrl] = useState(null);
|
|
39
|
+
|
|
40
|
+
// LinkedIn Profile DOM Scraping state (new - similar to ChatGPT pattern)
|
|
41
|
+
const [hasStartedLinkedInProfileScraping, setHasStartedLinkedInProfileScraping] = useState(false);
|
|
42
|
+
const [isLinkedInProfileScraping, setIsLinkedInProfileScraping] = useState(false);
|
|
43
|
+
const [linkedInProfileProgress, setLinkedInProfileProgress] = useState(0);
|
|
44
|
+
const [showLinkedInExtractionAnimation, setShowLinkedInExtractionAnimation] = useState(false);
|
|
45
|
+
const linkedInProfileScrapingStartedRef = useRef(false);
|
|
46
|
+
const linkedInProfileProgressAnim = useRef(new Animated.Value(0)).current;
|
|
47
|
+
|
|
48
|
+
// ChatGPT-specific state (matches Enoch iOS implementation)
|
|
49
|
+
const [chatGPTLoggedIn, setChatGPTLoggedIn] = useState(false);
|
|
50
|
+
const [hasStartedChatGPTExtraction, setHasStartedChatGPTExtraction] = useState(false);
|
|
51
|
+
const [isChatGPTExporting, setIsChatGPTExporting] = useState(false);
|
|
52
|
+
const [chatGPTExportProgress, setChatGPTExportProgress] = useState(0);
|
|
53
|
+
const [showChatGPTSuccessAnimation, setShowChatGPTSuccessAnimation] = useState(false);
|
|
54
|
+
const chatGPTProgressAnim = useRef(new Animated.Value(0)).current;
|
|
55
|
+
const chatGPTExtractionStartedRef = useRef(false);
|
|
56
|
+
|
|
57
|
+
// Claude-specific state (same pattern as ChatGPT)
|
|
58
|
+
const [claudeLoggedIn, setClaudeLoggedIn] = useState(false);
|
|
59
|
+
const [hasStartedClaudeExtraction, setHasStartedClaudeExtraction] = useState(false);
|
|
60
|
+
const [isClaudeExporting, setIsClaudeExporting] = useState(false);
|
|
61
|
+
const [claudeExportProgress, setClaudeExportProgress] = useState(0);
|
|
62
|
+
const [showClaudeExtractionAnimation, setShowClaudeExtractionAnimation] = useState(false);
|
|
63
|
+
const [showClaudeSuccessAnimation, setShowClaudeSuccessAnimation] = useState(false);
|
|
64
|
+
const [claudeStatus, setClaudeStatus] = useState('');
|
|
65
|
+
const claudeProgressAnim = useRef(new Animated.Value(0)).current;
|
|
66
|
+
const claudeExtractionStartedRef = useRef(false);
|
|
67
|
+
|
|
68
|
+
// New Platform state (Hinge, Instagram, Sephora) - same pattern as ChatGPT/Claude
|
|
69
|
+
const [newPlatformLoggedIn, setNewPlatformLoggedIn] = useState(false);
|
|
70
|
+
const [hasStartedNewPlatformExtraction, setHasStartedNewPlatformExtraction] = useState(false);
|
|
71
|
+
const [isNewPlatformExporting, setIsNewPlatformExporting] = useState(false);
|
|
72
|
+
const [newPlatformExportProgress, setNewPlatformExportProgress] = useState(0);
|
|
73
|
+
const [showNewPlatformExtractionAnimation, setShowNewPlatformExtractionAnimation] = useState(false);
|
|
74
|
+
const [showNewPlatformSuccessAnimation, setShowNewPlatformSuccessAnimation] = useState(false);
|
|
75
|
+
const [newPlatformStatus, setNewPlatformStatus] = useState('');
|
|
76
|
+
const newPlatformProgressAnim = useRef(new Animated.Value(0)).current;
|
|
77
|
+
const newPlatformExtractionStartedRef = useRef(false);
|
|
78
|
+
|
|
79
|
+
// Generic OAuth success animation (for Reddit, YouTube, Pinterest, Gmail, Gemini, Grok)
|
|
80
|
+
const [showOAuthSuccessAnimation, setShowOAuthSuccessAnimation] = useState(false);
|
|
81
|
+
const checkmarkScaleAnim = useRef(new Animated.Value(0)).current;
|
|
82
|
+
const checkmarkOpacityAnim = useRef(new Animated.Value(0)).current;
|
|
83
|
+
|
|
84
|
+
// LinkedIn connecting progress bar animation (indeterminate sliding)
|
|
85
|
+
const linkedinProgressAnim = useRef(new Animated.Value(0)).current;
|
|
86
|
+
|
|
87
|
+
// Services
|
|
88
|
+
const {
|
|
89
|
+
initiateConversationExport,
|
|
90
|
+
storeMemories
|
|
91
|
+
} = useChatGPTConversationExtractor();
|
|
92
|
+
const {
|
|
93
|
+
initiateConversationExport: initiateClaudeExport
|
|
94
|
+
} = useClaudeConversationExtractor();
|
|
95
|
+
const {
|
|
96
|
+
initiateDataExport: initiateHingeExport
|
|
97
|
+
} = useHingeDataExtractor();
|
|
98
|
+
const {
|
|
99
|
+
initiateDataExport: initiateInstagramExport
|
|
100
|
+
} = useInstagramDataExtractor();
|
|
101
|
+
const {
|
|
102
|
+
initiateDataExport: initiateSephoraExport
|
|
103
|
+
} = useSephoraDataExtractor();
|
|
104
|
+
const {
|
|
105
|
+
initiateDataExport: initiateTelegramExport
|
|
106
|
+
} = useTelegramDataExtractor();
|
|
107
|
+
const isLLM = isLLMPlatform(platform);
|
|
108
|
+
const isLinkedIn = isLinkedInPlatform(platform);
|
|
109
|
+
const isChatGPT = (platform === null || platform === void 0 ? void 0 : platform.toLowerCase()) === 'chatgpt' || (platform === null || platform === void 0 ? void 0 : platform.toLowerCase()) === 'openai';
|
|
110
|
+
const isClaude = (platform === null || platform === void 0 ? void 0 : platform.toLowerCase()) === 'claude' || (platform === null || platform === void 0 ? void 0 : platform.toLowerCase()) === 'anthropic';
|
|
111
|
+
const isHinge = isHingePlatform(platform);
|
|
112
|
+
const isInstagram = isInstagramPlatform(platform);
|
|
113
|
+
const isSephora = isSephoraPlatform(platform);
|
|
114
|
+
const isTelegram = isTelegramPlatform(platform);
|
|
115
|
+
const isNewPlatform = isHinge || isInstagram || isSephora || isTelegram;
|
|
116
|
+
console.log(`Opening ${isLLM ? 'LLM' : isLinkedIn ? 'LinkedIn' : 'OAuth'} WebView with URL:`, url, 'Platform:', platform);
|
|
117
|
+
|
|
118
|
+
// Set up a timeout to prevent infinite waiting
|
|
119
|
+
React.useEffect(() => {
|
|
120
|
+
const timeout = setTimeout(() => {
|
|
121
|
+
console.log(`⏰ ${isLLM ? 'LLM' : isLinkedIn ? 'LinkedIn' : 'OAuth'} timeout reached for ${platform} after 2 minutes`);
|
|
122
|
+
setTimeoutReached(true);
|
|
123
|
+
}, 120000); // 2 minutes timeout
|
|
124
|
+
|
|
125
|
+
return () => clearTimeout(timeout);
|
|
126
|
+
}, [platform, isLLM, isLinkedIn]);
|
|
127
|
+
|
|
128
|
+
// LinkedIn-specific: Initialize state
|
|
129
|
+
React.useEffect(() => {
|
|
130
|
+
if (isLinkedIn) {
|
|
131
|
+
setExtractionStatus('');
|
|
132
|
+
console.log('💼 [LINKEDIN] Initialized - waiting for page load');
|
|
133
|
+
}
|
|
134
|
+
}, [isLinkedIn]);
|
|
135
|
+
|
|
136
|
+
// ChatGPT-specific: Initialize state
|
|
137
|
+
React.useEffect(() => {
|
|
138
|
+
if (isChatGPT) {
|
|
139
|
+
console.log('🤖 [CHATGPT] Initialized - waiting for page load');
|
|
140
|
+
}
|
|
141
|
+
}, [isChatGPT]);
|
|
142
|
+
|
|
143
|
+
// Claude-specific: Initialize state
|
|
144
|
+
React.useEffect(() => {
|
|
145
|
+
if (isClaude) {
|
|
146
|
+
console.log('🧠 [CLAUDE] Initialized - waiting for page load');
|
|
147
|
+
}
|
|
148
|
+
}, [isClaude]);
|
|
149
|
+
|
|
150
|
+
// LinkedIn connecting animation - smooth sliding progress bar
|
|
151
|
+
const isLinkedInConnecting = isLinkedIn && linkedInLoggedIn && extractionStatus === 'Connecting' && !linkedInConnectionComplete;
|
|
152
|
+
React.useEffect(() => {
|
|
153
|
+
if (isLinkedInConnecting) {
|
|
154
|
+
// Create smooth back-and-forth animation
|
|
155
|
+
const animation = Animated.loop(Animated.sequence([Animated.timing(linkedinProgressAnim, {
|
|
156
|
+
toValue: 1,
|
|
157
|
+
duration: 1200,
|
|
158
|
+
useNativeDriver: true
|
|
159
|
+
// Smooth easing for natural feel
|
|
160
|
+
}), Animated.timing(linkedinProgressAnim, {
|
|
161
|
+
toValue: 0,
|
|
162
|
+
duration: 1200,
|
|
163
|
+
useNativeDriver: true
|
|
164
|
+
})]));
|
|
165
|
+
animation.start();
|
|
166
|
+
return () => {
|
|
167
|
+
animation.stop();
|
|
168
|
+
linkedinProgressAnim.setValue(0);
|
|
169
|
+
};
|
|
170
|
+
}
|
|
171
|
+
}, [isLinkedInConnecting, linkedinProgressAnim]);
|
|
172
|
+
|
|
173
|
+
/**
|
|
174
|
+
* Trigger the export script for ChatGPT after successful login
|
|
175
|
+
*/
|
|
176
|
+
const triggerChatGPTExport = useCallback(() => {
|
|
177
|
+
if (!webViewRef.current || hasStartedChatGPTExtraction || chatGPTExtractionStartedRef.current) return;
|
|
178
|
+
console.log('🚀 [CHATGPT] Triggering export script...');
|
|
179
|
+
chatGPTExtractionStartedRef.current = true;
|
|
180
|
+
setHasStartedChatGPTExtraction(true);
|
|
181
|
+
setIsChatGPTExporting(true);
|
|
182
|
+
setChatGPTExportProgress(0);
|
|
183
|
+
|
|
184
|
+
// Inject the export script
|
|
185
|
+
webViewRef.current.injectJavaScript(CHATGPT_EXPORT_SCRIPT);
|
|
186
|
+
}, [hasStartedChatGPTExtraction]);
|
|
187
|
+
|
|
188
|
+
/**
|
|
189
|
+
* Trigger the export script for Claude after successful login
|
|
190
|
+
*/
|
|
191
|
+
const triggerClaudeExport = useCallback(() => {
|
|
192
|
+
if (!webViewRef.current || hasStartedClaudeExtraction || claudeExtractionStartedRef.current) return;
|
|
193
|
+
console.log('🚀 [CLAUDE] Triggering export script...');
|
|
194
|
+
claudeExtractionStartedRef.current = true;
|
|
195
|
+
setHasStartedClaudeExtraction(true);
|
|
196
|
+
setIsClaudeExporting(true);
|
|
197
|
+
setClaudeExportProgress(0);
|
|
198
|
+
setShowClaudeExtractionAnimation(true);
|
|
199
|
+
setClaudeStatus('Starting extraction...');
|
|
200
|
+
|
|
201
|
+
// Inject the export script
|
|
202
|
+
webViewRef.current.injectJavaScript(CLAUDE_EXPORT_SCRIPT);
|
|
203
|
+
}, [hasStartedClaudeExtraction]);
|
|
204
|
+
|
|
205
|
+
/**
|
|
206
|
+
* Trigger the export script for new platforms (Hinge, Instagram, Sephora)
|
|
207
|
+
*/
|
|
208
|
+
const triggerNewPlatformExport = useCallback(() => {
|
|
209
|
+
if (!webViewRef.current || hasStartedNewPlatformExtraction || newPlatformExtractionStartedRef.current) return;
|
|
210
|
+
console.log(`🚀 [${platform.toUpperCase()}] Triggering export script...`);
|
|
211
|
+
newPlatformExtractionStartedRef.current = true;
|
|
212
|
+
setHasStartedNewPlatformExtraction(true);
|
|
213
|
+
setIsNewPlatformExporting(true);
|
|
214
|
+
setNewPlatformExportProgress(0);
|
|
215
|
+
setShowNewPlatformExtractionAnimation(true);
|
|
216
|
+
setNewPlatformStatus('Starting extraction...');
|
|
217
|
+
|
|
218
|
+
// Inject the appropriate export script based on platform
|
|
219
|
+
if (isHinge) {
|
|
220
|
+
webViewRef.current.injectJavaScript(HINGE_EXPORT_SCRIPT);
|
|
221
|
+
} else if (isInstagram) {
|
|
222
|
+
webViewRef.current.injectJavaScript(INSTAGRAM_EXPORT_SCRIPT);
|
|
223
|
+
} else if (isSephora) {
|
|
224
|
+
webViewRef.current.injectJavaScript(SEPHORA_EXPORT_SCRIPT);
|
|
225
|
+
} else if (isTelegram) {
|
|
226
|
+
webViewRef.current.injectJavaScript(TELEGRAM_EXPORT_SCRIPT);
|
|
227
|
+
}
|
|
228
|
+
}, [hasStartedNewPlatformExtraction, platform, isHinge, isInstagram, isSephora, isTelegram]);
|
|
229
|
+
|
|
230
|
+
/**
|
|
231
|
+
* Trigger LinkedIn profile DOM scraping after user is on profile page
|
|
232
|
+
* This shows consent popup first, then scrapes profile data from DOM
|
|
233
|
+
*/
|
|
234
|
+
const triggerLinkedInProfileScraping = useCallback(() => {
|
|
235
|
+
if (!webViewRef.current || hasStartedLinkedInProfileScraping || linkedInProfileScrapingStartedRef.current) return;
|
|
236
|
+
console.log('🚀 [LINKEDIN] Triggering profile DOM scraping...');
|
|
237
|
+
linkedInProfileScrapingStartedRef.current = true;
|
|
238
|
+
setHasStartedLinkedInProfileScraping(true);
|
|
239
|
+
|
|
240
|
+
// First show consent popup
|
|
241
|
+
webViewRef.current.injectJavaScript(LINKEDIN_PROFILE_CONSENT_POPUP_SCRIPT);
|
|
242
|
+
}, [hasStartedLinkedInProfileScraping]);
|
|
243
|
+
|
|
244
|
+
/**
|
|
245
|
+
* Execute LinkedIn profile scraping after user consents
|
|
246
|
+
*/
|
|
247
|
+
const executeLinkedInProfileScraping = useCallback(() => {
|
|
248
|
+
if (!webViewRef.current) return;
|
|
249
|
+
console.log('🔍 [LINKEDIN] Executing profile DOM scraping...');
|
|
250
|
+
setIsLinkedInProfileScraping(true);
|
|
251
|
+
setLinkedInProfileProgress(0);
|
|
252
|
+
setShowLinkedInExtractionAnimation(true);
|
|
253
|
+
setExtractionStatus('Extracting profile...');
|
|
254
|
+
|
|
255
|
+
// Inject the scraper script
|
|
256
|
+
webViewRef.current.injectJavaScript(LINKEDIN_PROFILE_SCRAPER_SCRIPT);
|
|
257
|
+
}, []);
|
|
258
|
+
|
|
259
|
+
/**
|
|
260
|
+
* Handle messages from the WebView
|
|
261
|
+
*/
|
|
262
|
+
const handleWebViewMessage = useCallback(async event => {
|
|
263
|
+
try {
|
|
264
|
+
const data = JSON.parse(event.nativeEvent.data);
|
|
265
|
+
console.log(`📩 [${platform.toUpperCase()}] WebView message:`, data.type || data.status);
|
|
266
|
+
|
|
267
|
+
// ========================================
|
|
268
|
+
// LINKEDIN MESSAGE HANDLING
|
|
269
|
+
// ========================================
|
|
270
|
+
if (isLinkedIn) {
|
|
271
|
+
// Handle LinkedIn profile consent
|
|
272
|
+
if (data.type === 'LINKEDIN_PROFILE_CONSENT') {
|
|
273
|
+
if (data.status === 'denied') {
|
|
274
|
+
console.log('⛔ [LINKEDIN] User denied profile consent');
|
|
275
|
+
Alert.alert('Connection Cancelled', 'You denied access to your LinkedIn profile data.', [{
|
|
276
|
+
text: 'OK',
|
|
277
|
+
onPress: onClose
|
|
278
|
+
}]);
|
|
279
|
+
return;
|
|
280
|
+
} else if (data.status === 'allowed') {
|
|
281
|
+
console.log('✅ [LINKEDIN] User allowed profile consent - starting extraction');
|
|
282
|
+
executeLinkedInProfileScraping();
|
|
283
|
+
return;
|
|
284
|
+
}
|
|
285
|
+
}
|
|
286
|
+
|
|
287
|
+
// Handle LinkedIn profile extraction progress
|
|
288
|
+
if (data.type === 'LINKEDIN_PROFILE_PROGRESS') {
|
|
289
|
+
const progress = data.progress || 0;
|
|
290
|
+
console.log(`📊 [LINKEDIN] Profile extraction progress: ${progress}% - ${data.message}`);
|
|
291
|
+
setLinkedInProfileProgress(progress);
|
|
292
|
+
setExtractionStatus(data.message || `Extracting... ${progress}%`);
|
|
293
|
+
Animated.timing(linkedInProfileProgressAnim, {
|
|
294
|
+
toValue: progress,
|
|
295
|
+
duration: 300,
|
|
296
|
+
useNativeDriver: false
|
|
297
|
+
}).start();
|
|
298
|
+
return;
|
|
299
|
+
}
|
|
300
|
+
|
|
301
|
+
// Handle LinkedIn profile extraction complete
|
|
302
|
+
if (data.type === 'LINKEDIN_PROFILE_EXPORT_COMPLETE') {
|
|
303
|
+
var _profileData$headline, _profileData$experien, _profileData$educatio, _profileData$skills;
|
|
304
|
+
console.log('✅ [LINKEDIN] Profile DOM extraction complete!');
|
|
305
|
+
const profileData = data.data;
|
|
306
|
+
console.log('📊 [LINKEDIN] Extracted profile:', {
|
|
307
|
+
name: profileData === null || profileData === void 0 ? void 0 : profileData.fullName,
|
|
308
|
+
headline: profileData === null || profileData === void 0 || (_profileData$headline = profileData.headline) === null || _profileData$headline === void 0 ? void 0 : _profileData$headline.substring(0, 50),
|
|
309
|
+
experienceCount: (profileData === null || profileData === void 0 || (_profileData$experien = profileData.experience) === null || _profileData$experien === void 0 ? void 0 : _profileData$experien.length) || 0,
|
|
310
|
+
educationCount: (profileData === null || profileData === void 0 || (_profileData$educatio = profileData.education) === null || _profileData$educatio === void 0 ? void 0 : _profileData$educatio.length) || 0,
|
|
311
|
+
skillsCount: (profileData === null || profileData === void 0 || (_profileData$skills = profileData.skills) === null || _profileData$skills === void 0 ? void 0 : _profileData$skills.length) || 0
|
|
312
|
+
});
|
|
313
|
+
setLinkedInProfileProgress(90);
|
|
314
|
+
setExtractionStatus('Storing profile data...');
|
|
315
|
+
|
|
316
|
+
// Store profile data to backend
|
|
317
|
+
if (profileData && username) {
|
|
318
|
+
console.log('📤 [LINKEDIN] Storing profile data...');
|
|
319
|
+
const storeResult = await storeLinkedInProfile(username, profileData);
|
|
320
|
+
console.log('📤 [LINKEDIN] Storage result:', storeResult);
|
|
321
|
+
}
|
|
322
|
+
|
|
323
|
+
// Show success animation
|
|
324
|
+
setLinkedInProfileProgress(100);
|
|
325
|
+
setIsLinkedInProfileScraping(false);
|
|
326
|
+
setShowLinkedInExtractionAnimation(false);
|
|
327
|
+
setLinkedInConnectionComplete(true);
|
|
328
|
+
setShowLinkedInSuccessAnimation(true);
|
|
329
|
+
setExtractionStatus('Connected!');
|
|
330
|
+
onSuccess('success');
|
|
331
|
+
|
|
332
|
+
// Close after showing success
|
|
333
|
+
setTimeout(() => {
|
|
334
|
+
if (onComplete) onComplete();
|
|
335
|
+
}, 2000);
|
|
336
|
+
return;
|
|
337
|
+
}
|
|
338
|
+
|
|
339
|
+
// Handle LinkedIn profile extraction error
|
|
340
|
+
if (data.type === 'LINKEDIN_PROFILE_EXPORT_ERROR') {
|
|
341
|
+
console.error('❌ [LINKEDIN] Profile extraction error:', data.message);
|
|
342
|
+
setIsLinkedInProfileScraping(false);
|
|
343
|
+
setLinkedInProfileProgress(0);
|
|
344
|
+
setShowLinkedInExtractionAnimation(false);
|
|
345
|
+
linkedInProfileScrapingStartedRef.current = false;
|
|
346
|
+
setHasStartedLinkedInProfileScraping(false);
|
|
347
|
+
Alert.alert('Extraction Failed', `Failed to extract LinkedIn profile: ${data.message}. Would you like to try again?`, [{
|
|
348
|
+
text: 'Retry',
|
|
349
|
+
onPress: () => triggerLinkedInProfileScraping()
|
|
350
|
+
}, {
|
|
351
|
+
text: 'Close',
|
|
352
|
+
onPress: onClose,
|
|
353
|
+
style: 'cancel'
|
|
354
|
+
}]);
|
|
355
|
+
return;
|
|
356
|
+
}
|
|
357
|
+
|
|
358
|
+
// Legacy: Handle profile URL extraction (fallback to backend scraping)
|
|
359
|
+
if (data.status === 'success' && data.profileUrl) {
|
|
360
|
+
console.log('✅ [LINKEDIN] Profile URL extracted:', data.profileUrl);
|
|
361
|
+
setExtractedProfileUrl(data.profileUrl);
|
|
362
|
+
setExtractionStatus('Connecting');
|
|
363
|
+
const userId = username || 'unknown_user';
|
|
364
|
+
const performScrapeAndComplete = async (retryCount = 0, maxRetries = 3) => {
|
|
365
|
+
try {
|
|
366
|
+
setExtractionStatus('Connecting');
|
|
367
|
+
await initiateProfileScraping({
|
|
368
|
+
userId,
|
|
369
|
+
profileUrl: data.profileUrl,
|
|
370
|
+
onProgress: message => {
|
|
371
|
+
console.log('📊 [LINKEDIN] Scrape progress:', message);
|
|
372
|
+
},
|
|
373
|
+
onSuccess: scrapedData => {
|
|
374
|
+
console.log('✅ [LINKEDIN] Profile scraping complete!', scrapedData);
|
|
375
|
+
setIsExtracting(false);
|
|
376
|
+
setLinkedInConnectionComplete(true);
|
|
377
|
+
setShowLinkedInSuccessAnimation(true);
|
|
378
|
+
setExtractionStatus('Connected!');
|
|
379
|
+
|
|
380
|
+
// 🎯 FIX: Show success animation for 2 seconds BEFORE calling onSuccess
|
|
381
|
+
// onSuccess triggers parent to close WebView, so delay it
|
|
382
|
+
setTimeout(() => {
|
|
383
|
+
onSuccess('success');
|
|
384
|
+
if (onComplete) onComplete();
|
|
385
|
+
}, 2000);
|
|
386
|
+
},
|
|
387
|
+
onError: async error => {
|
|
388
|
+
console.error(`❌ [LINKEDIN] Scraping failed (attempt ${retryCount + 1}/${maxRetries}):`, error);
|
|
389
|
+
if (retryCount < maxRetries - 1) {
|
|
390
|
+
setTimeout(() => {
|
|
391
|
+
performScrapeAndComplete(retryCount + 1, maxRetries);
|
|
392
|
+
}, 3000);
|
|
393
|
+
} else {
|
|
394
|
+
setIsExtracting(false);
|
|
395
|
+
setLinkedInConnectionComplete(true);
|
|
396
|
+
setShowLinkedInSuccessAnimation(true);
|
|
397
|
+
setExtractionStatus('Connected!');
|
|
398
|
+
|
|
399
|
+
// 🎯 FIX: Show success animation for 2 seconds BEFORE calling onSuccess
|
|
400
|
+
setTimeout(() => {
|
|
401
|
+
onSuccess('success');
|
|
402
|
+
if (onComplete) onComplete();
|
|
403
|
+
}, 2000);
|
|
404
|
+
}
|
|
405
|
+
}
|
|
406
|
+
});
|
|
407
|
+
} catch (error) {
|
|
408
|
+
console.error(`❌ [LINKEDIN] Exception (attempt ${retryCount + 1}/${maxRetries}):`, error);
|
|
409
|
+
if (retryCount < maxRetries - 1) {
|
|
410
|
+
setTimeout(() => {
|
|
411
|
+
performScrapeAndComplete(retryCount + 1, maxRetries);
|
|
412
|
+
}, 3000);
|
|
413
|
+
} else {
|
|
414
|
+
setIsExtracting(false);
|
|
415
|
+
setLinkedInConnectionComplete(true);
|
|
416
|
+
setShowLinkedInSuccessAnimation(true);
|
|
417
|
+
setExtractionStatus('Connected!');
|
|
418
|
+
|
|
419
|
+
// 🎯 FIX: Show success animation for 2 seconds BEFORE calling onSuccess
|
|
420
|
+
setTimeout(() => {
|
|
421
|
+
onSuccess('success');
|
|
422
|
+
if (onComplete) onComplete();
|
|
423
|
+
}, 2000);
|
|
424
|
+
}
|
|
425
|
+
}
|
|
426
|
+
};
|
|
427
|
+
performScrapeAndComplete();
|
|
428
|
+
return;
|
|
429
|
+
} else if (data.status === 'error' && data.message) {
|
|
430
|
+
console.warn('⚠️ [LINKEDIN] Profile URL extraction failed:', data.message);
|
|
431
|
+
setIsExtracting(false);
|
|
432
|
+
setLinkedInConnectionComplete(true);
|
|
433
|
+
setShowLinkedInSuccessAnimation(true);
|
|
434
|
+
setExtractionStatus('Connected!');
|
|
435
|
+
|
|
436
|
+
// 🎯 FIX: Show success animation for 2 seconds BEFORE calling onSuccess
|
|
437
|
+
setTimeout(() => {
|
|
438
|
+
onSuccess('success');
|
|
439
|
+
if (onComplete) onComplete();
|
|
440
|
+
}, 2000);
|
|
441
|
+
return;
|
|
442
|
+
}
|
|
443
|
+
}
|
|
444
|
+
|
|
445
|
+
// ========================================
|
|
446
|
+
// CHATGPT/CLAUDE MESSAGE HANDLING
|
|
447
|
+
// ========================================
|
|
448
|
+
|
|
449
|
+
// Debug logs
|
|
450
|
+
if (data.type === 'DEBUG_LOG' || data.type === 'DEBUG_MEMORIES') {
|
|
451
|
+
console.log(`🔍 [${platform.toUpperCase()}] Debug:`, data.message);
|
|
452
|
+
return;
|
|
453
|
+
}
|
|
454
|
+
|
|
455
|
+
// Handle memories data from ChatGPT
|
|
456
|
+
if (data.type === 'MEMORIES_DATA' && isChatGPT) {
|
|
457
|
+
console.log('🧠 [CHATGPT] Received memories data from WebView, storing...');
|
|
458
|
+
try {
|
|
459
|
+
const result = await storeMemories(data.memoriesData);
|
|
460
|
+
if (result) {
|
|
461
|
+
console.log('✅ [CHATGPT] Memories stored successfully!');
|
|
462
|
+
} else {
|
|
463
|
+
console.warn('⚠️ [CHATGPT] Memories storage returned false');
|
|
464
|
+
}
|
|
465
|
+
} catch (error) {
|
|
466
|
+
console.error('❌ [CHATGPT] Memories storage error:', error);
|
|
467
|
+
}
|
|
468
|
+
return;
|
|
469
|
+
}
|
|
470
|
+
|
|
471
|
+
// Export progress
|
|
472
|
+
if (data.type === 'EXPORT_PROGRESS') {
|
|
473
|
+
const progress = data.progress || 0;
|
|
474
|
+
if (isChatGPT) {
|
|
475
|
+
console.log(`📊 [CHATGPT] Export progress: ${progress}% - ${data.message}`);
|
|
476
|
+
setChatGPTExportProgress(progress);
|
|
477
|
+
Animated.timing(chatGPTProgressAnim, {
|
|
478
|
+
toValue: progress,
|
|
479
|
+
duration: 300,
|
|
480
|
+
useNativeDriver: false
|
|
481
|
+
}).start();
|
|
482
|
+
} else if (isClaude) {
|
|
483
|
+
console.log(`📊 [CLAUDE] Export progress: ${progress}% - ${data.message}`);
|
|
484
|
+
setClaudeExportProgress(progress);
|
|
485
|
+
setClaudeStatus(data.message || `Extracting data... ${progress}%`);
|
|
486
|
+
Animated.timing(claudeProgressAnim, {
|
|
487
|
+
toValue: progress,
|
|
488
|
+
duration: 300,
|
|
489
|
+
useNativeDriver: false
|
|
490
|
+
}).start();
|
|
491
|
+
}
|
|
492
|
+
return;
|
|
493
|
+
}
|
|
494
|
+
|
|
495
|
+
// Conversation export complete
|
|
496
|
+
if (data.type === 'CONVERSATION_EXPORT_COMPLETE') {
|
|
497
|
+
var _data$data, _data$data2, _data$data3;
|
|
498
|
+
const totalConversations = ((_data$data = data.data) === null || _data$data === void 0 ? void 0 : _data$data.total_conversations) || ((_data$data2 = data.data) === null || _data$data2 === void 0 || (_data$data2 = _data$data2.conversations) === null || _data$data2 === void 0 ? void 0 : _data$data2.length) || 0;
|
|
499
|
+
const totalMessages = ((_data$data3 = data.data) === null || _data$data3 === void 0 ? void 0 : _data$data3.total_messages) || 0;
|
|
500
|
+
if (isChatGPT) {
|
|
501
|
+
var _data$data4;
|
|
502
|
+
console.log(`✅ [CHATGPT] Export complete: ${totalConversations} conversations, ${totalMessages} messages`);
|
|
503
|
+
setChatGPTExportProgress(90);
|
|
504
|
+
|
|
505
|
+
// Store conversations to backend
|
|
506
|
+
if ((_data$data4 = data.data) !== null && _data$data4 !== void 0 && _data$data4.conversations && username) {
|
|
507
|
+
console.log('📤 [CHATGPT] Storing conversations to backend...');
|
|
508
|
+
const exportResult = await initiateConversationExport(username, data.data.conversations);
|
|
509
|
+
console.log('📤 [CHATGPT] Backend storage result:', exportResult);
|
|
510
|
+
}
|
|
511
|
+
|
|
512
|
+
// Show success animation
|
|
513
|
+
setChatGPTExportProgress(100);
|
|
514
|
+
setIsChatGPTExporting(false);
|
|
515
|
+
setShowChatGPTSuccessAnimation(true);
|
|
516
|
+
onSuccess('success');
|
|
517
|
+
|
|
518
|
+
// Close after showing success
|
|
519
|
+
setTimeout(() => {
|
|
520
|
+
if (onComplete) onComplete();
|
|
521
|
+
}, 2000);
|
|
522
|
+
} else if (isClaude) {
|
|
523
|
+
var _data$data5;
|
|
524
|
+
console.log(`✅ [CLAUDE] Export complete: ${totalConversations} conversations, ${totalMessages} messages`);
|
|
525
|
+
setClaudeExportProgress(90);
|
|
526
|
+
setClaudeStatus(`Storing ${totalConversations} conversations...`);
|
|
527
|
+
|
|
528
|
+
// Store conversations to backend
|
|
529
|
+
if ((_data$data5 = data.data) !== null && _data$data5 !== void 0 && _data$data5.conversations && username) {
|
|
530
|
+
console.log('📤 [CLAUDE] Storing conversations to backend...');
|
|
531
|
+
const exportResult = await initiateClaudeExport(username, data.data.conversations);
|
|
532
|
+
console.log('📤 [CLAUDE] Backend storage result:', exportResult);
|
|
533
|
+
}
|
|
534
|
+
|
|
535
|
+
// Show success animation
|
|
536
|
+
setClaudeExportProgress(100);
|
|
537
|
+
setIsClaudeExporting(false);
|
|
538
|
+
setShowClaudeExtractionAnimation(false);
|
|
539
|
+
setShowClaudeSuccessAnimation(true);
|
|
540
|
+
setClaudeStatus(`✅ Imported ${totalConversations} conversations!`);
|
|
541
|
+
onSuccess('success');
|
|
542
|
+
|
|
543
|
+
// Close after showing success
|
|
544
|
+
setTimeout(() => {
|
|
545
|
+
if (onComplete) onComplete();
|
|
546
|
+
}, 2000);
|
|
547
|
+
}
|
|
548
|
+
return;
|
|
549
|
+
}
|
|
550
|
+
|
|
551
|
+
// Export error
|
|
552
|
+
if (data.type === 'CONVERSATION_EXPORT_ERROR') {
|
|
553
|
+
console.error(`❌ [${platform.toUpperCase()}] Export error:`, data.message);
|
|
554
|
+
if (isChatGPT) {
|
|
555
|
+
setIsChatGPTExporting(false);
|
|
556
|
+
setChatGPTExportProgress(0);
|
|
557
|
+
chatGPTExtractionStartedRef.current = false;
|
|
558
|
+
setHasStartedChatGPTExtraction(false);
|
|
559
|
+
} else if (isClaude) {
|
|
560
|
+
setIsClaudeExporting(false);
|
|
561
|
+
setClaudeExportProgress(0);
|
|
562
|
+
setShowClaudeExtractionAnimation(false);
|
|
563
|
+
claudeExtractionStartedRef.current = false;
|
|
564
|
+
setHasStartedClaudeExtraction(false);
|
|
565
|
+
}
|
|
566
|
+
Alert.alert('Export Failed', `Failed to export ${platform} conversations: ${data.message}`, [{
|
|
567
|
+
text: 'Retry',
|
|
568
|
+
onPress: () => {
|
|
569
|
+
if (isChatGPT) triggerChatGPTExport();else if (isClaude) triggerClaudeExport();
|
|
570
|
+
}
|
|
571
|
+
}, {
|
|
572
|
+
text: 'Close',
|
|
573
|
+
onPress: onClose,
|
|
574
|
+
style: 'cancel'
|
|
575
|
+
}]);
|
|
576
|
+
return;
|
|
577
|
+
}
|
|
578
|
+
|
|
579
|
+
// Consent handling
|
|
580
|
+
if (data.type === 'CHATGPT_CONSENT' || data.type === 'CLAUDE_CONSENT') {
|
|
581
|
+
if (data.status === 'denied') {
|
|
582
|
+
console.log(`⛔ [${platform.toUpperCase()}] User denied consent`);
|
|
583
|
+
Alert.alert('Connection Cancelled', `You denied access to your ${platform} conversations.`, [{
|
|
584
|
+
text: 'OK',
|
|
585
|
+
onPress: onClose
|
|
586
|
+
}]);
|
|
587
|
+
} else if (data.status === 'allowed') {
|
|
588
|
+
console.log(`✅ [${platform.toUpperCase()}] User allowed consent`);
|
|
589
|
+
}
|
|
590
|
+
return;
|
|
591
|
+
}
|
|
592
|
+
|
|
593
|
+
// Memories fetch complete (standalone)
|
|
594
|
+
if (data.type === 'MEMORIES_FETCH_COMPLETE') {
|
|
595
|
+
var _data$data6;
|
|
596
|
+
console.log(`🧠 [${platform.toUpperCase()}] Memories fetch complete:`, (_data$data6 = data.data) === null || _data$data6 === void 0 ? void 0 : _data$data6.itemsCount, 'items');
|
|
597
|
+
return;
|
|
598
|
+
}
|
|
599
|
+
|
|
600
|
+
// Memories fetch error
|
|
601
|
+
if (data.type === 'MEMORIES_FETCH_ERROR') {
|
|
602
|
+
console.warn(`⚠️ [${platform.toUpperCase()}] Memories fetch failed:`, data.message);
|
|
603
|
+
return;
|
|
604
|
+
}
|
|
605
|
+
|
|
606
|
+
// ========================================
|
|
607
|
+
// NEW PLATFORMS MESSAGE HANDLING (Hinge, Instagram, Sephora)
|
|
608
|
+
// ========================================
|
|
609
|
+
|
|
610
|
+
// Hinge export progress
|
|
611
|
+
if (data.type === 'HINGE_EXPORT_PROGRESS' && isHinge) {
|
|
612
|
+
const progress = data.progress || 0;
|
|
613
|
+
console.log(`📊 [HINGE] Export progress: ${progress}% - ${data.message}`);
|
|
614
|
+
setNewPlatformExportProgress(progress);
|
|
615
|
+
setNewPlatformStatus(data.message || `Extracting... ${progress}%`);
|
|
616
|
+
Animated.timing(newPlatformProgressAnim, {
|
|
617
|
+
toValue: progress,
|
|
618
|
+
duration: 300,
|
|
619
|
+
useNativeDriver: false
|
|
620
|
+
}).start();
|
|
621
|
+
return;
|
|
622
|
+
}
|
|
623
|
+
|
|
624
|
+
// Hinge export complete
|
|
625
|
+
if (data.type === 'HINGE_EXPORT_COMPLETE' && isHinge) {
|
|
626
|
+
console.log('✅ [HINGE] Export complete!', data.data);
|
|
627
|
+
setNewPlatformExportProgress(90);
|
|
628
|
+
setNewPlatformStatus('Storing data...');
|
|
629
|
+
if (data.data && username) {
|
|
630
|
+
console.log('📤 [HINGE] Storing data to backend...');
|
|
631
|
+
const exportResult = await initiateHingeExport(username, data.data);
|
|
632
|
+
console.log('📤 [HINGE] Backend storage result:', exportResult);
|
|
633
|
+
}
|
|
634
|
+
setNewPlatformExportProgress(100);
|
|
635
|
+
setIsNewPlatformExporting(false);
|
|
636
|
+
setShowNewPlatformExtractionAnimation(false);
|
|
637
|
+
setShowNewPlatformSuccessAnimation(true);
|
|
638
|
+
setNewPlatformStatus('Connected!');
|
|
639
|
+
onSuccess('success');
|
|
640
|
+
setTimeout(() => {
|
|
641
|
+
if (onComplete) onComplete();
|
|
642
|
+
}, 2000);
|
|
643
|
+
return;
|
|
644
|
+
}
|
|
645
|
+
|
|
646
|
+
// Hinge export error
|
|
647
|
+
if (data.type === 'HINGE_EXPORT_ERROR' && isHinge) {
|
|
648
|
+
console.error('❌ [HINGE] Export error:', data.message);
|
|
649
|
+
setIsNewPlatformExporting(false);
|
|
650
|
+
setNewPlatformExportProgress(0);
|
|
651
|
+
setShowNewPlatformExtractionAnimation(false);
|
|
652
|
+
newPlatformExtractionStartedRef.current = false;
|
|
653
|
+
setHasStartedNewPlatformExtraction(false);
|
|
654
|
+
Alert.alert('Export Failed', `Failed to export Hinge data: ${data.message}`, [{
|
|
655
|
+
text: 'Retry',
|
|
656
|
+
onPress: () => triggerNewPlatformExport()
|
|
657
|
+
}, {
|
|
658
|
+
text: 'Close',
|
|
659
|
+
onPress: onClose,
|
|
660
|
+
style: 'cancel'
|
|
661
|
+
}]);
|
|
662
|
+
return;
|
|
663
|
+
}
|
|
664
|
+
|
|
665
|
+
// Instagram export progress
|
|
666
|
+
if (data.type === 'INSTAGRAM_EXPORT_PROGRESS' && isInstagram) {
|
|
667
|
+
const progress = data.progress || 0;
|
|
668
|
+
console.log(`📊 [INSTAGRAM] Export progress: ${progress}% - ${data.message}`);
|
|
669
|
+
setNewPlatformExportProgress(progress);
|
|
670
|
+
setNewPlatformStatus(data.message || `Extracting... ${progress}%`);
|
|
671
|
+
Animated.timing(newPlatformProgressAnim, {
|
|
672
|
+
toValue: progress,
|
|
673
|
+
duration: 300,
|
|
674
|
+
useNativeDriver: false
|
|
675
|
+
}).start();
|
|
676
|
+
return;
|
|
677
|
+
}
|
|
678
|
+
|
|
679
|
+
// Instagram export complete
|
|
680
|
+
if (data.type === 'INSTAGRAM_EXPORT_COMPLETE' && isInstagram) {
|
|
681
|
+
console.log('✅ [INSTAGRAM] Export complete!', data.data);
|
|
682
|
+
setNewPlatformExportProgress(90);
|
|
683
|
+
setNewPlatformStatus('Storing data...');
|
|
684
|
+
if (data.data && username) {
|
|
685
|
+
console.log('📤 [INSTAGRAM] Storing data to backend...');
|
|
686
|
+
const exportResult = await initiateInstagramExport(username, data.data);
|
|
687
|
+
console.log('📤 [INSTAGRAM] Backend storage result:', exportResult);
|
|
688
|
+
}
|
|
689
|
+
setNewPlatformExportProgress(100);
|
|
690
|
+
setIsNewPlatformExporting(false);
|
|
691
|
+
setShowNewPlatformExtractionAnimation(false);
|
|
692
|
+
setShowNewPlatformSuccessAnimation(true);
|
|
693
|
+
setNewPlatformStatus('Connected!');
|
|
694
|
+
onSuccess('success');
|
|
695
|
+
setTimeout(() => {
|
|
696
|
+
if (onComplete) onComplete();
|
|
697
|
+
}, 2000);
|
|
698
|
+
return;
|
|
699
|
+
}
|
|
700
|
+
|
|
701
|
+
// Instagram export error
|
|
702
|
+
if (data.type === 'INSTAGRAM_EXPORT_ERROR' && isInstagram) {
|
|
703
|
+
console.error('❌ [INSTAGRAM] Export error:', data.message);
|
|
704
|
+
setIsNewPlatformExporting(false);
|
|
705
|
+
setNewPlatformExportProgress(0);
|
|
706
|
+
setShowNewPlatformExtractionAnimation(false);
|
|
707
|
+
newPlatformExtractionStartedRef.current = false;
|
|
708
|
+
setHasStartedNewPlatformExtraction(false);
|
|
709
|
+
Alert.alert('Export Failed', `Failed to export Instagram data: ${data.message}`, [{
|
|
710
|
+
text: 'Retry',
|
|
711
|
+
onPress: () => triggerNewPlatformExport()
|
|
712
|
+
}, {
|
|
713
|
+
text: 'Close',
|
|
714
|
+
onPress: onClose,
|
|
715
|
+
style: 'cancel'
|
|
716
|
+
}]);
|
|
717
|
+
return;
|
|
718
|
+
}
|
|
719
|
+
|
|
720
|
+
// Sephora export progress
|
|
721
|
+
if (data.type === 'SEPHORA_EXPORT_PROGRESS' && isSephora) {
|
|
722
|
+
const progress = data.progress || 0;
|
|
723
|
+
console.log(`📊 [SEPHORA] Export progress: ${progress}% - ${data.message}`);
|
|
724
|
+
setNewPlatformExportProgress(progress);
|
|
725
|
+
setNewPlatformStatus(data.message || `Extracting... ${progress}%`);
|
|
726
|
+
Animated.timing(newPlatformProgressAnim, {
|
|
727
|
+
toValue: progress,
|
|
728
|
+
duration: 300,
|
|
729
|
+
useNativeDriver: false
|
|
730
|
+
}).start();
|
|
731
|
+
return;
|
|
732
|
+
}
|
|
733
|
+
|
|
734
|
+
// Sephora export complete
|
|
735
|
+
if (data.type === 'SEPHORA_EXPORT_COMPLETE' && isSephora) {
|
|
736
|
+
console.log('✅ [SEPHORA] Export complete!', data.data);
|
|
737
|
+
setNewPlatformExportProgress(90);
|
|
738
|
+
setNewPlatformStatus('Storing data...');
|
|
739
|
+
if (data.data && username) {
|
|
740
|
+
console.log('📤 [SEPHORA] Storing data to backend...');
|
|
741
|
+
const exportResult = await initiateSephoraExport(username, data.data);
|
|
742
|
+
console.log('📤 [SEPHORA] Backend storage result:', exportResult);
|
|
743
|
+
}
|
|
744
|
+
setNewPlatformExportProgress(100);
|
|
745
|
+
setIsNewPlatformExporting(false);
|
|
746
|
+
setShowNewPlatformExtractionAnimation(false);
|
|
747
|
+
setShowNewPlatformSuccessAnimation(true);
|
|
748
|
+
setNewPlatformStatus('Connected!');
|
|
749
|
+
onSuccess('success');
|
|
750
|
+
setTimeout(() => {
|
|
751
|
+
if (onComplete) onComplete();
|
|
752
|
+
}, 2000);
|
|
753
|
+
return;
|
|
754
|
+
}
|
|
755
|
+
|
|
756
|
+
// Sephora export error
|
|
757
|
+
if (data.type === 'SEPHORA_EXPORT_ERROR' && isSephora) {
|
|
758
|
+
console.error('❌ [SEPHORA] Export error:', data.message);
|
|
759
|
+
setIsNewPlatformExporting(false);
|
|
760
|
+
setNewPlatformExportProgress(0);
|
|
761
|
+
setShowNewPlatformExtractionAnimation(false);
|
|
762
|
+
newPlatformExtractionStartedRef.current = false;
|
|
763
|
+
setHasStartedNewPlatformExtraction(false);
|
|
764
|
+
Alert.alert('Export Failed', `Failed to export Sephora data: ${data.message}`, [{
|
|
765
|
+
text: 'Retry',
|
|
766
|
+
onPress: () => triggerNewPlatformExport()
|
|
767
|
+
}, {
|
|
768
|
+
text: 'Close',
|
|
769
|
+
onPress: onClose,
|
|
770
|
+
style: 'cancel'
|
|
771
|
+
}]);
|
|
772
|
+
return;
|
|
773
|
+
}
|
|
774
|
+
|
|
775
|
+
// Telegram export progress
|
|
776
|
+
if (data.type === 'TELEGRAM_EXPORT_PROGRESS' && isTelegram) {
|
|
777
|
+
const progress = data.progress || 0;
|
|
778
|
+
console.log(`📊 [TELEGRAM] Export progress: ${progress}% - ${data.message}`);
|
|
779
|
+
setNewPlatformExportProgress(progress);
|
|
780
|
+
setNewPlatformStatus(data.message || `Extracting... ${progress}%`);
|
|
781
|
+
Animated.timing(newPlatformProgressAnim, {
|
|
782
|
+
toValue: progress,
|
|
783
|
+
duration: 300,
|
|
784
|
+
useNativeDriver: false
|
|
785
|
+
}).start();
|
|
786
|
+
return;
|
|
787
|
+
}
|
|
788
|
+
|
|
789
|
+
// Telegram export complete
|
|
790
|
+
if (data.type === 'TELEGRAM_EXPORT_COMPLETE' && isTelegram) {
|
|
791
|
+
console.log('✅ [TELEGRAM] Export complete!', data.data);
|
|
792
|
+
setNewPlatformExportProgress(90);
|
|
793
|
+
setNewPlatformStatus('Storing data...');
|
|
794
|
+
if (data.data && username) {
|
|
795
|
+
console.log('📤 [TELEGRAM] Storing data to backend...');
|
|
796
|
+
const exportResult = await initiateTelegramExport(username, data.data);
|
|
797
|
+
console.log('📤 [TELEGRAM] Backend storage result:', exportResult);
|
|
798
|
+
}
|
|
799
|
+
setNewPlatformExportProgress(100);
|
|
800
|
+
setIsNewPlatformExporting(false);
|
|
801
|
+
setShowNewPlatformExtractionAnimation(false);
|
|
802
|
+
setShowNewPlatformSuccessAnimation(true);
|
|
803
|
+
setNewPlatformStatus('Connected!');
|
|
804
|
+
onSuccess('success');
|
|
805
|
+
setTimeout(() => {
|
|
806
|
+
if (onComplete) onComplete();
|
|
807
|
+
}, 2000);
|
|
808
|
+
return;
|
|
809
|
+
}
|
|
810
|
+
|
|
811
|
+
// Telegram export error
|
|
812
|
+
if (data.type === 'TELEGRAM_EXPORT_ERROR' && isTelegram) {
|
|
813
|
+
console.error('❌ [TELEGRAM] Export error:', data.message);
|
|
814
|
+
setIsNewPlatformExporting(false);
|
|
815
|
+
setNewPlatformExportProgress(0);
|
|
816
|
+
setShowNewPlatformExtractionAnimation(false);
|
|
817
|
+
newPlatformExtractionStartedRef.current = false;
|
|
818
|
+
setHasStartedNewPlatformExtraction(false);
|
|
819
|
+
Alert.alert('Export Failed', `Failed to export Telegram data: ${data.message}`, [{
|
|
820
|
+
text: 'Retry',
|
|
821
|
+
onPress: () => triggerNewPlatformExport()
|
|
822
|
+
}, {
|
|
823
|
+
text: 'Close',
|
|
824
|
+
onPress: onClose,
|
|
825
|
+
style: 'cancel'
|
|
826
|
+
}]);
|
|
827
|
+
return;
|
|
828
|
+
}
|
|
829
|
+
|
|
830
|
+
// Consent handling for new platforms
|
|
831
|
+
if (data.type === 'HINGE_CONSENT' || data.type === 'INSTAGRAM_CONSENT' || data.type === 'SEPHORA_CONSENT' || data.type === 'TELEGRAM_CONSENT') {
|
|
832
|
+
if (data.status === 'denied') {
|
|
833
|
+
console.log(`⛔ [${platform.toUpperCase()}] User denied consent`);
|
|
834
|
+
Alert.alert('Connection Cancelled', `You denied access to your ${platform} data.`, [{
|
|
835
|
+
text: 'OK',
|
|
836
|
+
onPress: onClose
|
|
837
|
+
}]);
|
|
838
|
+
} else if (data.status === 'allowed') {
|
|
839
|
+
console.log(`✅ [${platform.toUpperCase()}] User allowed consent`);
|
|
840
|
+
}
|
|
841
|
+
return;
|
|
842
|
+
}
|
|
843
|
+
console.log(`📩 [${platform.toUpperCase()}] Unknown message type:`, data.type);
|
|
844
|
+
} catch (error) {
|
|
845
|
+
console.error(`❌ [${platform.toUpperCase()}] Error parsing WebView message:`, error);
|
|
846
|
+
}
|
|
847
|
+
}, [platform, username, onSuccess, onComplete, onClose, isLinkedIn, isChatGPT, isClaude, isHinge, isInstagram, isSephora, isTelegram, triggerChatGPTExport, triggerClaudeExport, triggerNewPlatformExport, initiateConversationExport, initiateClaudeExport, initiateHingeExport, initiateInstagramExport, initiateSephoraExport, initiateTelegramExport, storeMemories, newPlatformProgressAnim]);
|
|
848
|
+
|
|
849
|
+
/**
|
|
850
|
+
* Handle LinkedIn-specific navigation
|
|
851
|
+
*/
|
|
852
|
+
const handleLinkedInNavigation = useCallback((navState, isLoadEnd = false) => {
|
|
853
|
+
const currentUrl = navState.url || '';
|
|
854
|
+
const urlLower = currentUrl.toLowerCase();
|
|
855
|
+
console.log(`🔍 [LINKEDIN] Navigation: ${currentUrl}, loading=${navState.loading}, isLoadEnd=${isLoadEnd}`);
|
|
856
|
+
if (isLinkedInOAuthCallback(currentUrl)) {
|
|
857
|
+
console.log('💼 [LINKEDIN] On OAuth callback URL - connection successful!');
|
|
858
|
+
setExtractionStatus('Connected!');
|
|
859
|
+
|
|
860
|
+
// LinkedIn OAuth completed successfully - show success animation
|
|
861
|
+
// The backend has already processed the connection
|
|
862
|
+
if (!linkedInConnectionComplete) {
|
|
863
|
+
console.log('✅ [LINKEDIN] OAuth callback detected - showing success animation');
|
|
864
|
+
setLinkedInConnectionComplete(true);
|
|
865
|
+
setShowLinkedInSuccessAnimation(true);
|
|
866
|
+
|
|
867
|
+
// 🎯 FIX: Show success animation for 2 seconds BEFORE calling onSuccess
|
|
868
|
+
// onSuccess triggers parent to close WebView, so delay it
|
|
869
|
+
setTimeout(() => {
|
|
870
|
+
onSuccess('success');
|
|
871
|
+
if (onComplete) onComplete();
|
|
872
|
+
}, 2000);
|
|
873
|
+
}
|
|
874
|
+
return;
|
|
875
|
+
}
|
|
876
|
+
const profilePage = isLinkedInProfilePage(currentUrl);
|
|
877
|
+
setIsOnProfilePage(profilePage);
|
|
878
|
+
if (profilePage) {
|
|
879
|
+
setLinkedInLoggedIn(true);
|
|
880
|
+
console.log('✅ [LINKEDIN] On profile page');
|
|
881
|
+
|
|
882
|
+
// TODO: LinkedIn DOM scraping is disabled for now - using URL extraction instead
|
|
883
|
+
// To enable DOM scraping, uncomment the block below and comment out the URL extraction block
|
|
884
|
+
/*
|
|
885
|
+
if (!hasStartedAutoExtraction && !isExtracting && isLoadEnd && !navState.loading && !hasStartedLinkedInProfileScraping) {
|
|
886
|
+
console.log('🚀 [LINKEDIN] Auto-triggering profile DOM scraping...');
|
|
887
|
+
setHasStartedAutoExtraction(true);
|
|
888
|
+
|
|
889
|
+
setTimeout(() => {
|
|
890
|
+
if (webViewRef.current) {
|
|
891
|
+
console.log('💉 [LINKEDIN] Showing consent popup and starting DOM scraping...');
|
|
892
|
+
setIsExtracting(true);
|
|
893
|
+
setExtractionStatus('Preparing extraction...');
|
|
894
|
+
// Use new DOM scraping flow instead of URL extraction
|
|
895
|
+
triggerLinkedInProfileScraping();
|
|
896
|
+
}
|
|
897
|
+
}, 1500);
|
|
898
|
+
}
|
|
899
|
+
*/
|
|
900
|
+
|
|
901
|
+
// Using legacy URL extraction flow (backend Apify scraping)
|
|
902
|
+
if (!hasStartedAutoExtraction && !isExtracting && isLoadEnd && !navState.loading) {
|
|
903
|
+
console.log('🚀 [LINKEDIN] Auto-triggering profile URL extraction...');
|
|
904
|
+
setHasStartedAutoExtraction(true);
|
|
905
|
+
setTimeout(() => {
|
|
906
|
+
if (webViewRef.current) {
|
|
907
|
+
console.log('💉 [LINKEDIN] Auto-injecting profile extraction script...');
|
|
908
|
+
setIsExtracting(true);
|
|
909
|
+
setExtractionStatus('Connecting');
|
|
910
|
+
webViewRef.current.injectJavaScript(LINKEDIN_PROFILE_EXTRACTOR_SCRIPT);
|
|
911
|
+
}
|
|
912
|
+
}, 1000);
|
|
913
|
+
}
|
|
914
|
+
return;
|
|
915
|
+
}
|
|
916
|
+
if (!urlLower.includes('linkedin.com')) {
|
|
917
|
+
return;
|
|
918
|
+
}
|
|
919
|
+
if (isLinkedInLoginPage(currentUrl)) {
|
|
920
|
+
console.log('🔍 [LINKEDIN] On login page - waiting for user to log in...');
|
|
921
|
+
setLinkedInLoggedIn(false);
|
|
922
|
+
setHasAutoNavigatedToProfile(false);
|
|
923
|
+
return;
|
|
924
|
+
}
|
|
925
|
+
|
|
926
|
+
// 🚀 OPTIMIZATION: Navigate to profile IMMEDIATELY when we detect user is logged in
|
|
927
|
+
// Don't wait for page to fully load - just redirect as soon as we're on a non-login LinkedIn page
|
|
928
|
+
if (!hasAutoNavigatedToProfile) {
|
|
929
|
+
console.log('🚀 [LINKEDIN] User logged in! Immediately navigating to profile...');
|
|
930
|
+
setExtractionStatus('Connecting');
|
|
931
|
+
setLinkedInLoggedIn(true);
|
|
932
|
+
setHasAutoNavigatedToProfile(true);
|
|
933
|
+
|
|
934
|
+
// Navigate immediately - no delay to avoid showing the feed
|
|
935
|
+
if (webViewRef.current) {
|
|
936
|
+
console.log('🚀 [LINKEDIN] Navigating directly to /me...');
|
|
937
|
+
webViewRef.current.injectJavaScript(`
|
|
938
|
+
window.location.href = 'https://www.linkedin.com/me';
|
|
939
|
+
true;
|
|
940
|
+
`);
|
|
941
|
+
}
|
|
942
|
+
}
|
|
943
|
+
}, [hasStartedAutoExtraction, isExtracting, hasAutoNavigatedToProfile, linkedInConnectionComplete, hasStartedLinkedInProfileScraping, triggerLinkedInProfileScraping, onSuccess, onComplete]);
|
|
944
|
+
|
|
945
|
+
/**
|
|
946
|
+
* Handle ChatGPT-specific navigation - detect login and trigger export
|
|
947
|
+
*/
|
|
948
|
+
const handleChatGPTNavigation = useCallback((navState, isLoadEnd = false) => {
|
|
949
|
+
const currentUrl = navState.url || '';
|
|
950
|
+
const urlLower = currentUrl.toLowerCase();
|
|
951
|
+
console.log(`🔍 [CHATGPT] Navigation: ${currentUrl}, loading=${navState.loading}, isLoadEnd=${isLoadEnd}`);
|
|
952
|
+
console.log(`🔍 [CHATGPT] State: loggedIn=${chatGPTLoggedIn}, exporting=${isChatGPTExporting}, started=${hasStartedChatGPTExtraction}`);
|
|
953
|
+
|
|
954
|
+
// Check if on login/auth pages
|
|
955
|
+
const isOnAuthPage = urlLower.includes('/auth/login') || urlLower.includes('auth.openai.com') || urlLower.includes('/login') || urlLower.includes('/signup') || urlLower.includes('/api/auth/');
|
|
956
|
+
|
|
957
|
+
// Check if on main ChatGPT page (logged in)
|
|
958
|
+
const isOnMainPage = (urlLower.includes('chatgpt.com') || urlLower.includes('chat.openai.com')) && !isOnAuthPage && !urlLower.includes('/api/') && !navState.loading;
|
|
959
|
+
if (isOnAuthPage) {
|
|
960
|
+
console.log('🔐 [CHATGPT] On auth/login page - waiting for user to log in...');
|
|
961
|
+
setChatGPTLoggedIn(false);
|
|
962
|
+
return;
|
|
963
|
+
}
|
|
964
|
+
|
|
965
|
+
// User logged in - trigger extraction
|
|
966
|
+
if (isOnMainPage && !chatGPTLoggedIn && !hasStartedChatGPTExtraction && !chatGPTExtractionStartedRef.current && isLoadEnd) {
|
|
967
|
+
console.log('✅ [CHATGPT] User logged in! Detected main page navigation');
|
|
968
|
+
setChatGPTLoggedIn(true);
|
|
969
|
+
|
|
970
|
+
// Small delay to ensure page is fully loaded
|
|
971
|
+
setTimeout(() => {
|
|
972
|
+
triggerChatGPTExport();
|
|
973
|
+
}, 2000);
|
|
974
|
+
}
|
|
975
|
+
}, [chatGPTLoggedIn, isChatGPTExporting, hasStartedChatGPTExtraction, triggerChatGPTExport]);
|
|
976
|
+
|
|
977
|
+
/**
|
|
978
|
+
* Handle Claude-specific navigation - detect login and trigger export
|
|
979
|
+
*/
|
|
980
|
+
const handleClaudeNavigation = useCallback((navState, isLoadEnd = false) => {
|
|
981
|
+
const currentUrl = navState.url || '';
|
|
982
|
+
const urlLower = currentUrl.toLowerCase();
|
|
983
|
+
console.log(`🔍 [CLAUDE] Navigation: ${currentUrl}, loading=${navState.loading}, isLoadEnd=${isLoadEnd}`);
|
|
984
|
+
|
|
985
|
+
// Check if on login page
|
|
986
|
+
const isOnLoginPage = urlLower.includes('/login') || urlLower.includes('/auth') || urlLower.includes('/signin');
|
|
987
|
+
|
|
988
|
+
// Check if on main Claude page (logged in)
|
|
989
|
+
const isOnMainPage = urlLower.includes('claude.ai') && !isOnLoginPage && !navState.loading;
|
|
990
|
+
if (isOnLoginPage) {
|
|
991
|
+
console.log('🔐 [CLAUDE] On login page - waiting for user to log in...');
|
|
992
|
+
setClaudeLoggedIn(false);
|
|
993
|
+
return;
|
|
994
|
+
}
|
|
995
|
+
|
|
996
|
+
// User logged in - trigger extraction
|
|
997
|
+
if (isOnMainPage && !claudeLoggedIn && !hasStartedClaudeExtraction && !claudeExtractionStartedRef.current && isLoadEnd) {
|
|
998
|
+
console.log('✅ [CLAUDE] User logged in! Detected main page navigation');
|
|
999
|
+
setClaudeLoggedIn(true);
|
|
1000
|
+
setTimeout(() => {
|
|
1001
|
+
triggerClaudeExport();
|
|
1002
|
+
}, 2000);
|
|
1003
|
+
}
|
|
1004
|
+
}, [claudeLoggedIn, hasStartedClaudeExtraction, triggerClaudeExport]);
|
|
1005
|
+
|
|
1006
|
+
/**
|
|
1007
|
+
* Handle new platforms navigation (Hinge, Instagram, Sephora) - detect login and trigger export
|
|
1008
|
+
*/
|
|
1009
|
+
const handleNewPlatformNavigation = useCallback((navState, isLoadEnd = false) => {
|
|
1010
|
+
const currentUrl = navState.url || '';
|
|
1011
|
+
const urlLower = currentUrl.toLowerCase();
|
|
1012
|
+
console.log(`🔍 [${platform.toUpperCase()}] Navigation: ${currentUrl}, loading=${navState.loading}, isLoadEnd=${isLoadEnd}`);
|
|
1013
|
+
|
|
1014
|
+
// Determine login page patterns based on platform
|
|
1015
|
+
let isOnLoginPage = false;
|
|
1016
|
+
let isOnMainPage = false;
|
|
1017
|
+
if (isHinge) {
|
|
1018
|
+
isOnLoginPage = urlLower.includes('/login') || urlLower.includes('/auth') || urlLower.includes('/signup');
|
|
1019
|
+
isOnMainPage = urlLower.includes('hinge.co') && !isOnLoginPage && !navState.loading;
|
|
1020
|
+
} else if (isInstagram) {
|
|
1021
|
+
isOnLoginPage = urlLower.includes('/accounts/login') || urlLower.includes('/accounts/signup') || urlLower.includes('/challenge');
|
|
1022
|
+
isOnMainPage = urlLower.includes('instagram.com') && !isOnLoginPage && !navState.loading;
|
|
1023
|
+
} else if (isSephora) {
|
|
1024
|
+
isOnLoginPage = urlLower.includes('/login') || urlLower.includes('/signin') || urlLower.includes('/registration');
|
|
1025
|
+
isOnMainPage = urlLower.includes('sephora.com') && !isOnLoginPage && !navState.loading;
|
|
1026
|
+
} else if (isTelegram) {
|
|
1027
|
+
// Telegram Web shows QR code login or phone number auth
|
|
1028
|
+
isOnLoginPage = urlLower.includes('/auth') || !urlLower.includes('#'); // No hash means still loading/auth
|
|
1029
|
+
isOnMainPage = urlLower.includes('web.telegram.org') && urlLower.includes('#') &&
|
|
1030
|
+
// Has hash (app loaded)
|
|
1031
|
+
!isOnLoginPage && !navState.loading;
|
|
1032
|
+
}
|
|
1033
|
+
if (isOnLoginPage) {
|
|
1034
|
+
console.log(`🔐 [${platform.toUpperCase()}] On login page - waiting for user to log in...`);
|
|
1035
|
+
setNewPlatformLoggedIn(false);
|
|
1036
|
+
return;
|
|
1037
|
+
}
|
|
1038
|
+
|
|
1039
|
+
// User logged in - trigger extraction
|
|
1040
|
+
if (isOnMainPage && !newPlatformLoggedIn && !hasStartedNewPlatformExtraction && !newPlatformExtractionStartedRef.current && isLoadEnd) {
|
|
1041
|
+
console.log(`✅ [${platform.toUpperCase()}] User logged in! Detected main page navigation`);
|
|
1042
|
+
setNewPlatformLoggedIn(true);
|
|
1043
|
+
setTimeout(() => {
|
|
1044
|
+
triggerNewPlatformExport();
|
|
1045
|
+
}, 2000);
|
|
1046
|
+
}
|
|
1047
|
+
}, [platform, isHinge, isInstagram, isSephora, isTelegram, newPlatformLoggedIn, hasStartedNewPlatformExtraction, triggerNewPlatformExport]);
|
|
1048
|
+
|
|
1049
|
+
/**
|
|
1050
|
+
* Handle navigation state changes
|
|
1051
|
+
*/
|
|
1052
|
+
const handleNavigationStateChange = navState => {
|
|
1053
|
+
console.log(`Navigation state changed for ${platform}:`, navState.url);
|
|
1054
|
+
|
|
1055
|
+
// LinkedIn Platform Flow
|
|
1056
|
+
if (isLinkedIn) {
|
|
1057
|
+
handleLinkedInNavigation(navState);
|
|
1058
|
+
try {
|
|
1059
|
+
const url = new URL(navState.url);
|
|
1060
|
+
const hasCode = url.searchParams.has('code');
|
|
1061
|
+
const hasAccessToken = url.searchParams.has('access_token');
|
|
1062
|
+
if (hasCode || hasAccessToken) {
|
|
1063
|
+
console.log(`✅ [LINKEDIN] OAuth SUCCESS - Authorization code/token received`);
|
|
1064
|
+
setLinkedInLoggedIn(true);
|
|
1065
|
+
setTimeout(() => {
|
|
1066
|
+
if (webViewRef.current) {
|
|
1067
|
+
console.log('💼 [LINKEDIN] Navigating to profile page...');
|
|
1068
|
+
setExtractionStatus('Connecting');
|
|
1069
|
+
webViewRef.current.injectJavaScript(`
|
|
1070
|
+
window.location.href = 'https://www.linkedin.com/me';
|
|
1071
|
+
true;
|
|
1072
|
+
`);
|
|
1073
|
+
}
|
|
1074
|
+
}, 500);
|
|
1075
|
+
return;
|
|
1076
|
+
}
|
|
1077
|
+
} catch (e) {
|
|
1078
|
+
// URL parsing failed
|
|
1079
|
+
}
|
|
1080
|
+
return;
|
|
1081
|
+
}
|
|
1082
|
+
|
|
1083
|
+
// ChatGPT Platform Flow
|
|
1084
|
+
if (isChatGPT) {
|
|
1085
|
+
handleChatGPTNavigation(navState);
|
|
1086
|
+
return;
|
|
1087
|
+
}
|
|
1088
|
+
|
|
1089
|
+
// Claude Platform Flow
|
|
1090
|
+
if (isClaude) {
|
|
1091
|
+
handleClaudeNavigation(navState);
|
|
1092
|
+
return;
|
|
1093
|
+
}
|
|
1094
|
+
|
|
1095
|
+
// New Platforms Flow (Hinge, Instagram, Sephora)
|
|
1096
|
+
if (isNewPlatform) {
|
|
1097
|
+
handleNewPlatformNavigation(navState);
|
|
1098
|
+
return;
|
|
1099
|
+
}
|
|
1100
|
+
|
|
1101
|
+
// Other LLM Platform Flow
|
|
1102
|
+
if (isLLM) {
|
|
1103
|
+
if (isLoggedInUrl(navState.url, platform)) {
|
|
1104
|
+
console.log(`✅ [${platform.toUpperCase()}] Login detected!`);
|
|
1105
|
+
}
|
|
1106
|
+
return;
|
|
1107
|
+
}
|
|
1108
|
+
|
|
1109
|
+
// OAuth Flow: Check for callback URLs
|
|
1110
|
+
const isFinalRedirect = navState.url.includes('onairos.uk/Home') || navState.url.includes('onairos.uk/home') || navState.url.includes('onairos.uk/success') || navState.url.startsWith('https://onairos.uk/Home') || navState.url.startsWith('https://onairos.uk/home');
|
|
1111
|
+
|
|
1112
|
+
// Check for oauth-callback.html success URL (used by Reddit, Pinterest, etc.)
|
|
1113
|
+
const isOAuthCallbackSuccess = navState.url.includes('oauth-callback.html') && navState.url.includes('success=true');
|
|
1114
|
+
if (isFinalRedirect || isOAuthCallbackSuccess) {
|
|
1115
|
+
console.log(`✅ ${platform} OAuth completed - backend callback finished, URL: ${navState.url}`);
|
|
1116
|
+
|
|
1117
|
+
// Show success animation with brand color before closing
|
|
1118
|
+
setShowOAuthSuccessAnimation(true);
|
|
1119
|
+
|
|
1120
|
+
// Delay calling onSuccess to show the animation for 2 seconds
|
|
1121
|
+
setTimeout(() => {
|
|
1122
|
+
onSuccess('success');
|
|
1123
|
+
if (onComplete) onComplete();
|
|
1124
|
+
}, 2000);
|
|
1125
|
+
return;
|
|
1126
|
+
}
|
|
1127
|
+
};
|
|
1128
|
+
|
|
1129
|
+
/**
|
|
1130
|
+
* Handle onLoadEnd
|
|
1131
|
+
*/
|
|
1132
|
+
const handleLoadEnd = syntheticEvent => {
|
|
1133
|
+
const currentUrl = syntheticEvent.nativeEvent.url;
|
|
1134
|
+
console.log(`📄 [LOAD END] Page loaded: ${currentUrl}`);
|
|
1135
|
+
setIsLoading(false);
|
|
1136
|
+
if (isLinkedIn) {
|
|
1137
|
+
handleLinkedInNavigation({
|
|
1138
|
+
url: currentUrl,
|
|
1139
|
+
loading: false
|
|
1140
|
+
}, true);
|
|
1141
|
+
} else if (isChatGPT) {
|
|
1142
|
+
handleChatGPTNavigation({
|
|
1143
|
+
url: currentUrl,
|
|
1144
|
+
loading: false
|
|
1145
|
+
}, true);
|
|
1146
|
+
} else if (isClaude) {
|
|
1147
|
+
handleClaudeNavigation({
|
|
1148
|
+
url: currentUrl,
|
|
1149
|
+
loading: false
|
|
1150
|
+
}, true);
|
|
1151
|
+
} else if (isNewPlatform) {
|
|
1152
|
+
handleNewPlatformNavigation({
|
|
1153
|
+
url: currentUrl,
|
|
1154
|
+
loading: false
|
|
1155
|
+
}, true);
|
|
1156
|
+
}
|
|
1157
|
+
};
|
|
1158
|
+
|
|
1159
|
+
/**
|
|
1160
|
+
* Prevent LinkedIn app from opening
|
|
1161
|
+
*/
|
|
1162
|
+
const handleShouldStartLoadWithRequest = request => {
|
|
1163
|
+
const requestUrl = request.url || '';
|
|
1164
|
+
const urlLower = requestUrl.toLowerCase();
|
|
1165
|
+
if (isLinkedIn) {
|
|
1166
|
+
const blockedSchemes = ['linkedin://', 'linkedinapp://', 'linkedinssl://', 'linkedin-mobile://'];
|
|
1167
|
+
const isBlockedScheme = blockedSchemes.some(scheme => urlLower.startsWith(scheme));
|
|
1168
|
+
if (isBlockedScheme) {
|
|
1169
|
+
console.log('🚫 [LINKEDIN] Blocked app deep link:', requestUrl);
|
|
1170
|
+
return false;
|
|
1171
|
+
}
|
|
1172
|
+
if (urlLower.startsWith('intent://') && urlLower.includes('linkedin')) {
|
|
1173
|
+
console.log('🚫 [LINKEDIN] Blocked intent:// deep link:', requestUrl);
|
|
1174
|
+
return false;
|
|
1175
|
+
}
|
|
1176
|
+
if (urlLower.startsWith('http://') || urlLower.startsWith('https://')) {
|
|
1177
|
+
return true;
|
|
1178
|
+
}
|
|
1179
|
+
if (urlLower.startsWith('about:')) {
|
|
1180
|
+
return true;
|
|
1181
|
+
}
|
|
1182
|
+
console.log('🚫 [LINKEDIN] Blocked non-HTTP scheme:', requestUrl);
|
|
1183
|
+
return false;
|
|
1184
|
+
}
|
|
1185
|
+
return true;
|
|
1186
|
+
};
|
|
1187
|
+
|
|
1188
|
+
/**
|
|
1189
|
+
* Get injected JavaScript for anti-detection
|
|
1190
|
+
*/
|
|
1191
|
+
const getInjectedJavaScriptBeforeLoad = () => {
|
|
1192
|
+
if (isLLM || isLinkedIn || isNewPlatform) {
|
|
1193
|
+
return getAntiDetectionScript(platform);
|
|
1194
|
+
}
|
|
1195
|
+
return undefined;
|
|
1196
|
+
};
|
|
1197
|
+
|
|
1198
|
+
// Determine if we're showing export progress (ChatGPT only - Claude uses full-screen overlay)
|
|
1199
|
+
const showExportProgress = isChatGPT && isChatGPTExporting;
|
|
1200
|
+
const currentExportProgress = chatGPTExportProgress;
|
|
1201
|
+
const progressAnim = chatGPTProgressAnim;
|
|
1202
|
+
|
|
1203
|
+
// Determine if showing success animation
|
|
1204
|
+
const showSuccessAnimation = showLinkedInSuccessAnimation || showChatGPTSuccessAnimation || showClaudeSuccessAnimation || showOAuthSuccessAnimation || showNewPlatformSuccessAnimation;
|
|
1205
|
+
|
|
1206
|
+
// Brand colors for all platforms
|
|
1207
|
+
const getPlatformBrandColor = platformName => {
|
|
1208
|
+
const colors = {
|
|
1209
|
+
linkedin: '#0077B5',
|
|
1210
|
+
// LinkedIn Blue
|
|
1211
|
+
chatgpt: '#10A37F',
|
|
1212
|
+
// ChatGPT Green
|
|
1213
|
+
openai: '#10A37F',
|
|
1214
|
+
// OpenAI Green
|
|
1215
|
+
claude: '#D97706',
|
|
1216
|
+
// Claude Amber
|
|
1217
|
+
anthropic: '#D97706',
|
|
1218
|
+
// Anthropic Amber
|
|
1219
|
+
reddit: '#FF4500',
|
|
1220
|
+
// Reddit Orange
|
|
1221
|
+
youtube: '#FF0000',
|
|
1222
|
+
// YouTube Red
|
|
1223
|
+
pinterest: '#E60023',
|
|
1224
|
+
// Pinterest Red
|
|
1225
|
+
gmail: '#EA4335',
|
|
1226
|
+
// Google Red
|
|
1227
|
+
gemini: '#4285F4',
|
|
1228
|
+
// Gemini Blue
|
|
1229
|
+
grok: '#000000',
|
|
1230
|
+
// Grok Black
|
|
1231
|
+
// New platforms
|
|
1232
|
+
hinge: '#7C3AED',
|
|
1233
|
+
// Hinge Purple
|
|
1234
|
+
instagram: '#E1306C',
|
|
1235
|
+
// Instagram Pink/Magenta
|
|
1236
|
+
sephora: '#000000',
|
|
1237
|
+
// Sephora Black
|
|
1238
|
+
telegram: '#0088CC' // Telegram Blue
|
|
1239
|
+
};
|
|
1240
|
+
return colors[platformName.toLowerCase()] || '#10B981'; // Default to green
|
|
1241
|
+
};
|
|
1242
|
+
const successColor = getPlatformBrandColor(platform);
|
|
1243
|
+
|
|
1244
|
+
// Trigger checkmark scale animation when success animation shows
|
|
1245
|
+
React.useEffect(() => {
|
|
1246
|
+
if (showSuccessAnimation) {
|
|
1247
|
+
// Reset animation values
|
|
1248
|
+
checkmarkScaleAnim.setValue(0);
|
|
1249
|
+
checkmarkOpacityAnim.setValue(0);
|
|
1250
|
+
|
|
1251
|
+
// Pop/scale animation sequence
|
|
1252
|
+
Animated.sequence([
|
|
1253
|
+
// Quick fade in
|
|
1254
|
+
Animated.timing(checkmarkOpacityAnim, {
|
|
1255
|
+
toValue: 1,
|
|
1256
|
+
duration: 150,
|
|
1257
|
+
useNativeDriver: true
|
|
1258
|
+
})]).start();
|
|
1259
|
+
|
|
1260
|
+
// Bouncy scale animation (runs in parallel)
|
|
1261
|
+
Animated.spring(checkmarkScaleAnim, {
|
|
1262
|
+
toValue: 1,
|
|
1263
|
+
friction: 4,
|
|
1264
|
+
tension: 100,
|
|
1265
|
+
useNativeDriver: true
|
|
1266
|
+
}).start();
|
|
1267
|
+
}
|
|
1268
|
+
}, [showSuccessAnimation, checkmarkScaleAnim, checkmarkOpacityAnim]);
|
|
1269
|
+
return /*#__PURE__*/React.createElement(View, {
|
|
1270
|
+
style: styles.modalContainer
|
|
1271
|
+
}, /*#__PURE__*/React.createElement(SafeAreaView, {
|
|
1272
|
+
style: styles.container
|
|
1273
|
+
}, /*#__PURE__*/React.createElement(View, {
|
|
1274
|
+
style: styles.header
|
|
1275
|
+
}, /*#__PURE__*/React.createElement(Text, {
|
|
1276
|
+
style: styles.title
|
|
1277
|
+
}, "Connect ", platform.charAt(0).toUpperCase() + platform.slice(1)), timeoutReached && /*#__PURE__*/React.createElement(Text, {
|
|
1278
|
+
style: styles.timeoutText
|
|
1279
|
+
}, "Taking longer than expected..."), /*#__PURE__*/React.createElement(TouchableOpacity, {
|
|
1280
|
+
onPress: onClose,
|
|
1281
|
+
style: styles.closeButton
|
|
1282
|
+
}, /*#__PURE__*/React.createElement(Text, {
|
|
1283
|
+
style: styles.closeButtonText
|
|
1284
|
+
}, "\u2715"))), isLinkedInConnecting && /*#__PURE__*/React.createElement(View, {
|
|
1285
|
+
style: styles.linkedinProgressContainer
|
|
1286
|
+
}, /*#__PURE__*/React.createElement(View, {
|
|
1287
|
+
style: styles.linkedinProgressTrack
|
|
1288
|
+
}, /*#__PURE__*/React.createElement(Animated.View, {
|
|
1289
|
+
style: [styles.linkedinProgressIndicator, {
|
|
1290
|
+
transform: [{
|
|
1291
|
+
translateX: linkedinProgressAnim.interpolate({
|
|
1292
|
+
inputRange: [0, 1],
|
|
1293
|
+
outputRange: [0, width - 120] // Slide across the screen (minus indicator width and padding)
|
|
1294
|
+
})
|
|
1295
|
+
}]
|
|
1296
|
+
}]
|
|
1297
|
+
})), /*#__PURE__*/React.createElement(Text, {
|
|
1298
|
+
style: styles.linkedinProgressText
|
|
1299
|
+
}, "Connecting to LinkedIn...")), showExportProgress && /*#__PURE__*/React.createElement(View, {
|
|
1300
|
+
style: styles.exportProgressContainer
|
|
1301
|
+
}, /*#__PURE__*/React.createElement(View, {
|
|
1302
|
+
style: styles.progressBarContainer
|
|
1303
|
+
}, /*#__PURE__*/React.createElement(Animated.View, {
|
|
1304
|
+
style: [styles.progressBar, {
|
|
1305
|
+
width: progressAnim.interpolate({
|
|
1306
|
+
inputRange: [0, 100],
|
|
1307
|
+
outputRange: ['0%', '100%']
|
|
1308
|
+
}),
|
|
1309
|
+
backgroundColor: successColor
|
|
1310
|
+
}]
|
|
1311
|
+
})), /*#__PURE__*/React.createElement(Text, {
|
|
1312
|
+
style: styles.progressText
|
|
1313
|
+
}, currentExportProgress < 100 ? `Exporting... ${Math.round(currentExportProgress)}%` : 'Complete!')), isClaude && showClaudeExtractionAnimation && /*#__PURE__*/React.createElement(View, {
|
|
1314
|
+
style: styles.claudeExtractionOverlay
|
|
1315
|
+
}, /*#__PURE__*/React.createElement(View, {
|
|
1316
|
+
style: styles.extractionContent
|
|
1317
|
+
}, /*#__PURE__*/React.createElement(ActivityIndicator, {
|
|
1318
|
+
size: "large",
|
|
1319
|
+
color: "#D97706"
|
|
1320
|
+
}), /*#__PURE__*/React.createElement(Text, {
|
|
1321
|
+
style: styles.claudeExtractionTitle
|
|
1322
|
+
}, "Extracting Data"), /*#__PURE__*/React.createElement(Text, {
|
|
1323
|
+
style: styles.claudeExtractionSubtitle
|
|
1324
|
+
}, claudeStatus), /*#__PURE__*/React.createElement(View, {
|
|
1325
|
+
style: styles.claudeExtractionProgressContainer
|
|
1326
|
+
}, /*#__PURE__*/React.createElement(Animated.View, {
|
|
1327
|
+
style: [styles.claudeExtractionProgressFill, {
|
|
1328
|
+
width: claudeProgressAnim.interpolate({
|
|
1329
|
+
inputRange: [0, 100],
|
|
1330
|
+
outputRange: ['0%', '100%']
|
|
1331
|
+
})
|
|
1332
|
+
}]
|
|
1333
|
+
})), /*#__PURE__*/React.createElement(Text, {
|
|
1334
|
+
style: styles.claudeExtractionProgressText
|
|
1335
|
+
}, Math.round(claudeExportProgress), "%"))), isNewPlatform && showNewPlatformExtractionAnimation && /*#__PURE__*/React.createElement(View, {
|
|
1336
|
+
style: styles.newPlatformExtractionOverlay
|
|
1337
|
+
}, /*#__PURE__*/React.createElement(View, {
|
|
1338
|
+
style: styles.extractionContent
|
|
1339
|
+
}, /*#__PURE__*/React.createElement(ActivityIndicator, {
|
|
1340
|
+
size: "large",
|
|
1341
|
+
color: successColor
|
|
1342
|
+
}), /*#__PURE__*/React.createElement(Text, {
|
|
1343
|
+
style: styles.newPlatformExtractionTitle
|
|
1344
|
+
}, "Extracting Data"), /*#__PURE__*/React.createElement(Text, {
|
|
1345
|
+
style: styles.newPlatformExtractionSubtitle
|
|
1346
|
+
}, newPlatformStatus), /*#__PURE__*/React.createElement(View, {
|
|
1347
|
+
style: styles.newPlatformExtractionProgressContainer
|
|
1348
|
+
}, /*#__PURE__*/React.createElement(Animated.View, {
|
|
1349
|
+
style: [styles.newPlatformExtractionProgressFill, {
|
|
1350
|
+
backgroundColor: successColor,
|
|
1351
|
+
width: newPlatformProgressAnim.interpolate({
|
|
1352
|
+
inputRange: [0, 100],
|
|
1353
|
+
outputRange: ['0%', '100%']
|
|
1354
|
+
})
|
|
1355
|
+
}]
|
|
1356
|
+
})), /*#__PURE__*/React.createElement(Text, {
|
|
1357
|
+
style: [styles.newPlatformExtractionProgressText, {
|
|
1358
|
+
color: successColor
|
|
1359
|
+
}]
|
|
1360
|
+
}, Math.round(newPlatformExportProgress), "%"))), showSuccessAnimation && /*#__PURE__*/React.createElement(View, {
|
|
1361
|
+
style: styles.successOverlay
|
|
1362
|
+
}, /*#__PURE__*/React.createElement(Animated.View, {
|
|
1363
|
+
style: [styles.successCheckmark, {
|
|
1364
|
+
backgroundColor: successColor,
|
|
1365
|
+
transform: [{
|
|
1366
|
+
scale: checkmarkScaleAnim
|
|
1367
|
+
}],
|
|
1368
|
+
opacity: checkmarkOpacityAnim
|
|
1369
|
+
}]
|
|
1370
|
+
}, /*#__PURE__*/React.createElement(Text, {
|
|
1371
|
+
style: styles.successCheckmarkIcon
|
|
1372
|
+
}, "\u2713")), /*#__PURE__*/React.createElement(Animated.Text, {
|
|
1373
|
+
style: [styles.successText, {
|
|
1374
|
+
opacity: checkmarkOpacityAnim
|
|
1375
|
+
}]
|
|
1376
|
+
}, "Connected!")), /*#__PURE__*/React.createElement(View, {
|
|
1377
|
+
style: styles.webViewContainer
|
|
1378
|
+
}, isLoading && !showExportProgress && !showSuccessAnimation && /*#__PURE__*/React.createElement(View, {
|
|
1379
|
+
style: styles.loadingContainer
|
|
1380
|
+
}, /*#__PURE__*/React.createElement(ActivityIndicator, {
|
|
1381
|
+
size: "large",
|
|
1382
|
+
color: successColor
|
|
1383
|
+
}), /*#__PURE__*/React.createElement(Text, {
|
|
1384
|
+
style: styles.loadingText
|
|
1385
|
+
}, "Loading ", platform, "..."), /*#__PURE__*/React.createElement(Text, {
|
|
1386
|
+
style: styles.loadingHint
|
|
1387
|
+
}, "Please log in to your ", platform, " account")), /*#__PURE__*/React.createElement(WebView, {
|
|
1388
|
+
ref: webViewRef,
|
|
1389
|
+
source: {
|
|
1390
|
+
uri: url
|
|
1391
|
+
},
|
|
1392
|
+
onShouldStartLoadWithRequest: handleShouldStartLoadWithRequest,
|
|
1393
|
+
onNavigationStateChange: handleNavigationStateChange,
|
|
1394
|
+
onLoadStart: () => setIsLoading(true),
|
|
1395
|
+
onLoadEnd: handleLoadEnd,
|
|
1396
|
+
onMessage: handleWebViewMessage,
|
|
1397
|
+
injectedJavaScriptBeforeContentLoaded: getInjectedJavaScriptBeforeLoad(),
|
|
1398
|
+
style: styles.webView,
|
|
1399
|
+
javaScriptEnabled: true,
|
|
1400
|
+
domStorageEnabled: true,
|
|
1401
|
+
cacheEnabled: !isLinkedIn,
|
|
1402
|
+
incognito: isLinkedIn,
|
|
1403
|
+
thirdPartyCookiesEnabled: !isLinkedIn,
|
|
1404
|
+
sharedCookiesEnabled: !isLinkedIn,
|
|
1405
|
+
userAgent: getPlatformUserAgent(platform),
|
|
1406
|
+
originWhitelist: ['https://*', 'http://*'],
|
|
1407
|
+
allowsBackForwardNavigationGestures: true,
|
|
1408
|
+
setSupportMultipleWindows: false,
|
|
1409
|
+
onError: syntheticEvent => {
|
|
1410
|
+
const {
|
|
1411
|
+
nativeEvent
|
|
1412
|
+
} = syntheticEvent;
|
|
1413
|
+
console.error(`WebView error for ${platform}:`, nativeEvent);
|
|
1414
|
+
},
|
|
1415
|
+
onHttpError: syntheticEvent => {
|
|
1416
|
+
const {
|
|
1417
|
+
nativeEvent
|
|
1418
|
+
} = syntheticEvent;
|
|
1419
|
+
console.error(`WebView HTTP error for ${platform}: ${nativeEvent.statusCode}`, nativeEvent.url);
|
|
1420
|
+
if (nativeEvent.url && nativeEvent.url.includes('onairos.uk')) {
|
|
1421
|
+
console.log('HTTP error on onairos.uk domain - treating as potential success');
|
|
1422
|
+
onSuccess('success');
|
|
1423
|
+
if (onComplete) {
|
|
1424
|
+
setTimeout(() => onComplete(), 1000);
|
|
1425
|
+
}
|
|
1426
|
+
}
|
|
1427
|
+
}
|
|
1428
|
+
}))));
|
|
1429
|
+
};
|
|
1430
|
+
const styles = StyleSheet.create({
|
|
1431
|
+
modalContainer: {
|
|
1432
|
+
position: 'absolute',
|
|
1433
|
+
top: 0,
|
|
1434
|
+
left: 0,
|
|
1435
|
+
right: 0,
|
|
1436
|
+
bottom: 0,
|
|
1437
|
+
width: width,
|
|
1438
|
+
height: height,
|
|
1439
|
+
backgroundColor: '#fff',
|
|
1440
|
+
zIndex: 9999,
|
|
1441
|
+
borderTopLeftRadius: 20,
|
|
1442
|
+
borderTopRightRadius: 20,
|
|
1443
|
+
overflow: 'hidden'
|
|
1444
|
+
},
|
|
1445
|
+
container: {
|
|
1446
|
+
flex: 1,
|
|
1447
|
+
backgroundColor: '#fff',
|
|
1448
|
+
width: width,
|
|
1449
|
+
height: height,
|
|
1450
|
+
position: 'absolute',
|
|
1451
|
+
top: 0,
|
|
1452
|
+
left: 0,
|
|
1453
|
+
right: 0,
|
|
1454
|
+
bottom: 0,
|
|
1455
|
+
zIndex: 999,
|
|
1456
|
+
borderTopLeftRadius: 20,
|
|
1457
|
+
borderTopRightRadius: 20,
|
|
1458
|
+
overflow: 'hidden'
|
|
1459
|
+
},
|
|
1460
|
+
header: {
|
|
1461
|
+
flexDirection: 'row',
|
|
1462
|
+
alignItems: 'center',
|
|
1463
|
+
justifyContent: 'space-between',
|
|
1464
|
+
paddingHorizontal: 16,
|
|
1465
|
+
paddingVertical: 8,
|
|
1466
|
+
borderBottomWidth: 1,
|
|
1467
|
+
borderBottomColor: '#E5E5E5',
|
|
1468
|
+
backgroundColor: '#fff',
|
|
1469
|
+
zIndex: 1000
|
|
1470
|
+
},
|
|
1471
|
+
title: {
|
|
1472
|
+
fontSize: 18,
|
|
1473
|
+
fontWeight: '600',
|
|
1474
|
+
color: '#333',
|
|
1475
|
+
flex: 1,
|
|
1476
|
+
textAlign: 'center'
|
|
1477
|
+
},
|
|
1478
|
+
closeButton: {
|
|
1479
|
+
padding: 8
|
|
1480
|
+
},
|
|
1481
|
+
closeButtonText: {
|
|
1482
|
+
fontSize: 20,
|
|
1483
|
+
color: '#666'
|
|
1484
|
+
},
|
|
1485
|
+
webViewContainer: {
|
|
1486
|
+
flex: 1,
|
|
1487
|
+
width: width,
|
|
1488
|
+
height: height - 60
|
|
1489
|
+
},
|
|
1490
|
+
webView: {
|
|
1491
|
+
flex: 1,
|
|
1492
|
+
width: '100%',
|
|
1493
|
+
height: '100%'
|
|
1494
|
+
},
|
|
1495
|
+
loadingContainer: {
|
|
1496
|
+
...StyleSheet.absoluteFillObject,
|
|
1497
|
+
alignItems: 'center',
|
|
1498
|
+
justifyContent: 'center',
|
|
1499
|
+
backgroundColor: 'rgba(255, 255, 255, 0.9)',
|
|
1500
|
+
zIndex: 1
|
|
1501
|
+
},
|
|
1502
|
+
loadingText: {
|
|
1503
|
+
marginTop: 12,
|
|
1504
|
+
fontSize: 16,
|
|
1505
|
+
color: '#666'
|
|
1506
|
+
},
|
|
1507
|
+
loadingHint: {
|
|
1508
|
+
marginTop: 8,
|
|
1509
|
+
fontSize: 14,
|
|
1510
|
+
color: '#999',
|
|
1511
|
+
textAlign: 'center',
|
|
1512
|
+
paddingHorizontal: 40
|
|
1513
|
+
},
|
|
1514
|
+
timeoutText: {
|
|
1515
|
+
fontSize: 12,
|
|
1516
|
+
color: '#FF6B6B',
|
|
1517
|
+
textAlign: 'center',
|
|
1518
|
+
marginTop: 4
|
|
1519
|
+
},
|
|
1520
|
+
// LinkedIn-specific styles - Smooth sliding progress bar
|
|
1521
|
+
linkedinProgressContainer: {
|
|
1522
|
+
paddingHorizontal: 16,
|
|
1523
|
+
paddingVertical: 12,
|
|
1524
|
+
backgroundColor: '#FAFBFC',
|
|
1525
|
+
borderBottomWidth: 1,
|
|
1526
|
+
borderBottomColor: '#E5E5E5',
|
|
1527
|
+
alignItems: 'center'
|
|
1528
|
+
},
|
|
1529
|
+
linkedinProgressTrack: {
|
|
1530
|
+
width: '100%',
|
|
1531
|
+
height: 4,
|
|
1532
|
+
backgroundColor: '#E1E9EE',
|
|
1533
|
+
borderRadius: 2,
|
|
1534
|
+
overflow: 'hidden'
|
|
1535
|
+
},
|
|
1536
|
+
linkedinProgressIndicator: {
|
|
1537
|
+
width: 80,
|
|
1538
|
+
height: 4,
|
|
1539
|
+
backgroundColor: '#0077B5',
|
|
1540
|
+
borderRadius: 2
|
|
1541
|
+
},
|
|
1542
|
+
linkedinProgressText: {
|
|
1543
|
+
color: '#0077B5',
|
|
1544
|
+
fontSize: 13,
|
|
1545
|
+
fontWeight: '500',
|
|
1546
|
+
marginTop: 8,
|
|
1547
|
+
fontFamily: 'IBM Plex Sans'
|
|
1548
|
+
},
|
|
1549
|
+
// Export progress bar styles
|
|
1550
|
+
exportProgressContainer: {
|
|
1551
|
+
paddingHorizontal: 16,
|
|
1552
|
+
paddingVertical: 6,
|
|
1553
|
+
backgroundColor: '#F9FAFB',
|
|
1554
|
+
borderBottomWidth: 1,
|
|
1555
|
+
borderBottomColor: '#E5E5E5'
|
|
1556
|
+
},
|
|
1557
|
+
progressBarContainer: {
|
|
1558
|
+
height: 6,
|
|
1559
|
+
backgroundColor: '#E5E7EB',
|
|
1560
|
+
borderRadius: 3,
|
|
1561
|
+
overflow: 'hidden'
|
|
1562
|
+
},
|
|
1563
|
+
progressBar: {
|
|
1564
|
+
height: '100%',
|
|
1565
|
+
borderRadius: 3
|
|
1566
|
+
},
|
|
1567
|
+
progressText: {
|
|
1568
|
+
fontSize: 12,
|
|
1569
|
+
color: '#6B7280',
|
|
1570
|
+
textAlign: 'center',
|
|
1571
|
+
marginTop: 6
|
|
1572
|
+
},
|
|
1573
|
+
// Success Animation Overlay
|
|
1574
|
+
successOverlay: {
|
|
1575
|
+
position: 'absolute',
|
|
1576
|
+
top: 0,
|
|
1577
|
+
left: 0,
|
|
1578
|
+
right: 0,
|
|
1579
|
+
bottom: 0,
|
|
1580
|
+
backgroundColor: '#FFFFFF',
|
|
1581
|
+
justifyContent: 'center',
|
|
1582
|
+
alignItems: 'center',
|
|
1583
|
+
zIndex: 2000
|
|
1584
|
+
},
|
|
1585
|
+
successCheckmark: {
|
|
1586
|
+
width: 80,
|
|
1587
|
+
height: 80,
|
|
1588
|
+
borderRadius: 40,
|
|
1589
|
+
justifyContent: 'center',
|
|
1590
|
+
alignItems: 'center',
|
|
1591
|
+
shadowColor: '#000',
|
|
1592
|
+
shadowOffset: {
|
|
1593
|
+
width: 0,
|
|
1594
|
+
height: 4
|
|
1595
|
+
},
|
|
1596
|
+
shadowOpacity: 0.2,
|
|
1597
|
+
shadowRadius: 20,
|
|
1598
|
+
elevation: 10
|
|
1599
|
+
},
|
|
1600
|
+
successCheckmarkIcon: {
|
|
1601
|
+
fontSize: 50,
|
|
1602
|
+
color: '#FFFFFF',
|
|
1603
|
+
fontWeight: 'bold'
|
|
1604
|
+
},
|
|
1605
|
+
successText: {
|
|
1606
|
+
fontFamily: 'IBM Plex Sans',
|
|
1607
|
+
fontSize: 24,
|
|
1608
|
+
fontWeight: '700',
|
|
1609
|
+
color: '#1a1a1a',
|
|
1610
|
+
marginTop: 24
|
|
1611
|
+
},
|
|
1612
|
+
// Claude-specific styles (matches Enoch)
|
|
1613
|
+
claudeExtractionOverlay: {
|
|
1614
|
+
position: 'absolute',
|
|
1615
|
+
top: 0,
|
|
1616
|
+
left: 0,
|
|
1617
|
+
right: 0,
|
|
1618
|
+
bottom: 0,
|
|
1619
|
+
backgroundColor: '#FFFFFF',
|
|
1620
|
+
justifyContent: 'center',
|
|
1621
|
+
alignItems: 'center',
|
|
1622
|
+
zIndex: 1000
|
|
1623
|
+
},
|
|
1624
|
+
extractionContent: {
|
|
1625
|
+
alignItems: 'center',
|
|
1626
|
+
paddingHorizontal: 32
|
|
1627
|
+
},
|
|
1628
|
+
claudeExtractionTitle: {
|
|
1629
|
+
fontSize: 24,
|
|
1630
|
+
fontWeight: '700',
|
|
1631
|
+
color: '#1a1a1a',
|
|
1632
|
+
marginTop: 24,
|
|
1633
|
+
marginBottom: 8
|
|
1634
|
+
},
|
|
1635
|
+
claudeExtractionSubtitle: {
|
|
1636
|
+
fontSize: 16,
|
|
1637
|
+
color: '#6B7280',
|
|
1638
|
+
textAlign: 'center',
|
|
1639
|
+
marginBottom: 24
|
|
1640
|
+
},
|
|
1641
|
+
claudeExtractionProgressContainer: {
|
|
1642
|
+
width: 200,
|
|
1643
|
+
height: 8,
|
|
1644
|
+
backgroundColor: '#E5E7EB',
|
|
1645
|
+
borderRadius: 4,
|
|
1646
|
+
overflow: 'hidden'
|
|
1647
|
+
},
|
|
1648
|
+
claudeExtractionProgressFill: {
|
|
1649
|
+
height: '100%',
|
|
1650
|
+
backgroundColor: '#D97706',
|
|
1651
|
+
// Claude amber color
|
|
1652
|
+
borderRadius: 4
|
|
1653
|
+
},
|
|
1654
|
+
claudeExtractionProgressText: {
|
|
1655
|
+
fontSize: 14,
|
|
1656
|
+
color: '#D97706',
|
|
1657
|
+
fontWeight: '600',
|
|
1658
|
+
marginTop: 8
|
|
1659
|
+
},
|
|
1660
|
+
// LinkedIn-specific extraction overlay styles
|
|
1661
|
+
linkedInExtractionOverlay: {
|
|
1662
|
+
position: 'absolute',
|
|
1663
|
+
top: 0,
|
|
1664
|
+
left: 0,
|
|
1665
|
+
right: 0,
|
|
1666
|
+
bottom: 0,
|
|
1667
|
+
backgroundColor: '#FFFFFF',
|
|
1668
|
+
justifyContent: 'center',
|
|
1669
|
+
alignItems: 'center',
|
|
1670
|
+
zIndex: 1000
|
|
1671
|
+
},
|
|
1672
|
+
linkedInExtractionTitle: {
|
|
1673
|
+
fontSize: 24,
|
|
1674
|
+
fontWeight: '700',
|
|
1675
|
+
color: '#1a1a1a',
|
|
1676
|
+
marginTop: 24,
|
|
1677
|
+
marginBottom: 8
|
|
1678
|
+
},
|
|
1679
|
+
linkedInExtractionSubtitle: {
|
|
1680
|
+
fontSize: 16,
|
|
1681
|
+
color: '#6B7280',
|
|
1682
|
+
textAlign: 'center',
|
|
1683
|
+
marginBottom: 24
|
|
1684
|
+
},
|
|
1685
|
+
linkedInExtractionProgressContainer: {
|
|
1686
|
+
width: 200,
|
|
1687
|
+
height: 8,
|
|
1688
|
+
backgroundColor: '#E5E7EB',
|
|
1689
|
+
borderRadius: 4,
|
|
1690
|
+
overflow: 'hidden'
|
|
1691
|
+
},
|
|
1692
|
+
linkedInExtractionProgressFill: {
|
|
1693
|
+
height: '100%',
|
|
1694
|
+
backgroundColor: '#0077B5',
|
|
1695
|
+
// LinkedIn blue color
|
|
1696
|
+
borderRadius: 4
|
|
1697
|
+
},
|
|
1698
|
+
linkedInExtractionProgressText: {
|
|
1699
|
+
fontSize: 14,
|
|
1700
|
+
color: '#0077B5',
|
|
1701
|
+
fontWeight: '600',
|
|
1702
|
+
marginTop: 8
|
|
1703
|
+
},
|
|
1704
|
+
// New platforms extraction overlay styles
|
|
1705
|
+
newPlatformExtractionOverlay: {
|
|
1706
|
+
position: 'absolute',
|
|
1707
|
+
top: 0,
|
|
1708
|
+
left: 0,
|
|
1709
|
+
right: 0,
|
|
1710
|
+
bottom: 0,
|
|
1711
|
+
backgroundColor: '#FFFFFF',
|
|
1712
|
+
justifyContent: 'center',
|
|
1713
|
+
alignItems: 'center',
|
|
1714
|
+
zIndex: 1000
|
|
1715
|
+
},
|
|
1716
|
+
newPlatformExtractionTitle: {
|
|
1717
|
+
fontSize: 24,
|
|
1718
|
+
fontWeight: '700',
|
|
1719
|
+
color: '#1a1a1a',
|
|
1720
|
+
marginTop: 24,
|
|
1721
|
+
marginBottom: 8
|
|
1722
|
+
},
|
|
1723
|
+
newPlatformExtractionSubtitle: {
|
|
1724
|
+
fontSize: 16,
|
|
1725
|
+
color: '#6B7280',
|
|
1726
|
+
textAlign: 'center',
|
|
1727
|
+
marginBottom: 24
|
|
1728
|
+
},
|
|
1729
|
+
newPlatformExtractionProgressContainer: {
|
|
1730
|
+
width: 200,
|
|
1731
|
+
height: 8,
|
|
1732
|
+
backgroundColor: '#E5E7EB',
|
|
1733
|
+
borderRadius: 4,
|
|
1734
|
+
overflow: 'hidden'
|
|
1735
|
+
},
|
|
1736
|
+
newPlatformExtractionProgressFill: {
|
|
1737
|
+
height: '100%',
|
|
1738
|
+
borderRadius: 4
|
|
1739
|
+
},
|
|
1740
|
+
newPlatformExtractionProgressText: {
|
|
1741
|
+
fontSize: 14,
|
|
1742
|
+
fontWeight: '600',
|
|
1743
|
+
marginTop: 8
|
|
1744
|
+
}
|
|
1745
|
+
});
|
|
1746
|
+
//# sourceMappingURL=OAuthWebView.js.map
|