@onairos/react-native 3.7.2 → 3.7.4
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/components/BodyText.js +27 -9
- package/lib/commonjs/components/BrandMark.js +111 -10
- package/lib/commonjs/components/CodeInput.js +120 -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/components/BodyText.js +20 -1
- package/lib/module/components/BrandMark.js +104 -1
- package/lib/module/components/CodeInput.js +113 -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,453 @@
|
|
|
1
|
-
import React,{useEffect,useRef,useState}from'react';import{View,StyleSheet,Modal,TouchableWithoutFeedback,Animated,Easing,StatusBar,Alert}from'react-native';import{triggerHaptic,HapticType}from'../utils/haptics';import{sendEmailVerificationCode,confirmEmailVerificationCode}from'../services/authService';import{signInWithGoogle}from'../services/googleAuthService';import AsyncStorage from'@react-native-async-storage/async-storage';import{isApiKeyInitialized,getApiConfig}from'../services/apiKeyService';import{getConnectedAccountsSmart}from'../services/connectedAccountsService';import _0x39e487 from'./ModalSheet';function _0x2fa0(_0x4b067c,_0x2fa080){_0x4b067c=_0x4b067c-0x0;const _0x3c0edb=_0x4b06();let _0x4df4b6=_0x3c0edb[_0x4b067c];return _0x4df4b6;}import _0x7a32f3 from'./ModalHeader';import _0x3427c3 from'./BrandMark';import _0x496e48 from'./HeadingGroup';import _0x3b7228 from'./BodyText';import _0x504efc from'./PrimaryButton';import _0x2eb9fe from'./SignInStep';import _0x59efda from'./VerificationStep';const WelcomeScreen=({visible:_0x56ee9a,onClose:_0x95b6cc,onComplete:_0x2d163a})=>{const _0x449a33={'YwlvR':function(_0x8259cd,_0x18995e){return _0x8259cd!==_0x18995e;},'neKKo':_0x2fa0(0x0),'slowz':_0x2fa0(0x1),'LlaTY':function(_0x43d330){return _0x43d330();},'bMTgY':_0x2fa0(0x2),'jrXZw':function(_0x557ddb,_0x3187c0){return _0x557ddb(_0x3187c0);},'MPHWQ':_0x2fa0(0x3),'fuBdj':function(_0x576c49,_0x5a8bd2){return _0x576c49(_0x5a8bd2);},'IChxt':_0x2fa0(0x4),'nWKpV':_0x2fa0(0x5),'CwBTv':_0x2fa0(0x6),'WoIVC':_0x2fa0(0x7),'sHUGE':_0x2fa0(0x8),'PkkHS':_0x2fa0(0x9),'YchmE':function(_0x115757){return _0x115757();},'tVvyy':_0x2fa0(0xa),'SqfMG':function(_0x34be38,_0xf1e64e){return _0x34be38+_0xf1e64e;},'HOiXS':function(_0x2a1020,_0x2be1e1){return _0x2a1020===_0x2be1e1;},'vapQY':function(_0x1d0a86,_0x3824a4){return _0x1d0a86===_0x3824a4;},'YJVge':function(_0x83b171,_0x3a7ba2){return _0x83b171===_0x3a7ba2;},'amLVt':'...','TJtUr':_0x2fa0(0xb),'UPeiW':_0x2fa0(0xc),'yiObq':function(_0x2f293e,_0x155faa){return _0x2f293e&&_0x155faa;},'jjsaN':'🎬\x20Starting\x20WelcomeScreen\x20animations','TFNTm':_0x2fa0(0xd),'QREql':_0x2fa0(0xe),'GdiHh':function(_0x5d86e6){return _0x5d86e6();},'WTDgJ':_0x2fa0(0xf),'wINxe':function(_0x3c0de6,_0xe57f63){return _0x3c0de6(_0xe57f63);},'OxiHh':function(_0x496daf,_0x25aa5e){return _0x496daf(_0x25aa5e);},'zhhxb':_0x2fa0(0x10),'KemHd':'❌\x20Failed\x20to\x20store\x20reviewer\x20bypass\x20markers:','ldrys':_0x2fa0(0x11),'MBKpM':function(_0x1e61ee,_0xa59642){return _0x1e61ee!==_0xa59642;},'kXTXG':_0x2fa0(0x12),'boFhD':function(_0x4f48be,_0x4482c0){return _0x4f48be(_0x4482c0);},'oZYmG':'reviewer@bypass.com','TkAyU':function(_0x4ae702,_0x40d19a){return _0x4ae702===_0x40d19a;},'kSdFT':_0x2fa0(0x13),'dFoEr':_0x2fa0(0x14),'XAvkC':_0x2fa0(0x15),'dCbNO':_0x2fa0(0x16),'YgNPT':_0x2fa0(0x17),'dosvf':'reviewer-bypass-token','EnwSd':_0x2fa0(0x18),'NZNmB':function(_0x357b46,_0x59b3eb){return _0x357b46(_0x59b3eb);},'VwChE':_0x2fa0(0x19),'lwaiW':function(_0xa584e8,_0x5d4dcd){return _0xa584e8(_0x5d4dcd);},'lJiyc':function(_0x2ff69a,_0x27d89d){return _0x2ff69a(_0x27d89d);},'vfaDy':function(_0x48c961,_0x5c78a8){return _0x48c961(_0x5c78a8);},'IQcTW':_0x2fa0(0x1a),'URmpH':_0x2fa0(0x1b),'nLyjs':function(_0x58564f,_0x3d376e){return _0x58564f(_0x3d376e);},'ypvNi':_0x2fa0(0x1c),'VajyF':_0x2fa0(0x1d),'LcBdh':_0x2fa0(0x1e),'KrDGP':'vPQqM','bTSTl':function(_0x566317,_0x34451d){return _0x566317(_0x34451d);},'XVdSa':_0x2fa0(0x1f),'uMEkb':function(_0x117de8,_0x144fbb){return _0x117de8!==_0x144fbb;},'YpTLr':'DxgKl','uhBqr':_0x2fa0(0x20),'dwkcL':'🔍\x20Is\x20new\x20user?','sxJBL':function(_0x1d8047,_0x48b901){return _0x1d8047(_0x48b901);},'WEqDq':function(_0x5c06d9,_0xc1a2c5){return _0x5c06d9===_0xc1a2c5;},'KdXJK':_0x2fa0(0x21),'jZSvo':function(_0x33aa75,_0x97d63b,_0x53904b,_0x261d0b){return _0x33aa75(_0x97d63b,_0x53904b,_0x261d0b);},'zLSbr':function(_0x27e079,_0xb73c09){return _0x27e079>_0xb73c09;},'wkJct':function(_0x26fba8,_0x4ea97d,_0x5b8329){return _0x26fba8(_0x4ea97d,_0x5b8329);},'JEXjX':function(_0x12a3fb,_0x41cafc){return _0x12a3fb||_0x41cafc;},'ygfNU':_0x2fa0(0x22),'pDGSU':_0x2fa0(0x23),'fQGKy':'⚠️\x20Could\x20not\x20fetch\x20existing\x20connections,\x20proceeding\x20to\x20platforms:','MiuzQ':function(_0x374445,_0xd25595){return _0x374445(_0xd25595);},'XFGWA':'❌\x20Google\x20Sign-In\x20failed:','JGVXa':function(_0x2b049,_0x284537){return _0x2b049(_0x284537);},'tycsZ':_0x2fa0(0x24),'moOIi':function(_0x3d33e6,_0x501881){return _0x3d33e6!==_0x501881;},'ATITI':_0x2fa0(0x25),'TeGkp':_0x2fa0(0x26),'cKfUD':function(_0x55cc28,_0x26cebc){return _0x55cc28(_0x26cebc);},'qpbbz':_0x2fa0(0x27),'CDHho':_0x2fa0(0x28),'dbrED':function(_0x579f22,_0x1a9aa8){return _0x579f22(_0x1a9aa8);},'IwiuX':_0x2fa0(0x29),'pRisq':function(_0x16019b,_0x4ccc09){return _0x16019b(_0x4ccc09);},'bESnd':function(_0xb41b98,_0x2ff6d1){return _0xb41b98(_0x2ff6d1);},'DWmND':function(_0x4ac0ef,_0x1e5ca8){return _0x4ac0ef(_0x1e5ca8);},'JkrqR':_0x2fa0(0x2a),'sFSAk':_0x2fa0(0x2b),'BIKIc':_0x2fa0(0x2c),'RZqSk':function(_0x46aef5,_0x522012){return _0x46aef5(_0x522012);},'kHQUn':_0x2fa0(0x2d),'VHKXg':_0x2fa0(0x2e),'LjFhl':function(_0x4a1b42,_0x4eef4d){return _0x4a1b42(_0x4eef4d);},'qbtMD':_0x2fa0(0x2f),'HLbTG':function(_0x3158a8,_0x507fc5){return _0x3158a8!==_0x507fc5;},'TyUJm':'VburP','qglJl':_0x2fa0(0x30),'BHnVU':_0x2fa0(0x31),'SqWfW':_0x2fa0(0x32),'zpfsP':function(_0x2019b8,_0x3c82d1){return _0x2019b8(_0x3c82d1);},'mKozz':function(_0x118e09,_0x17e2b4){return _0x118e09!==_0x17e2b4;},'tquBZ':_0x2fa0(0x33),'ZarsN':function(_0x5bc2b0,_0x292924){return _0x5bc2b0(_0x292924);},'pcdwM':_0x2fa0(0x34),'csewN':function(_0x5284ce){return _0x5284ce();},'iWHYd':function(_0x369aeb,_0x202a0f){return _0x369aeb(_0x202a0f);},'WFJzy':function(_0x186619,_0x2e900b){return _0x186619===_0x2e900b;},'XDzis':_0x2fa0(0x35),'UhHuQ':_0x2fa0(0x36),'QchaQ':function(_0x2f1eab,_0x226e9d){return _0x2f1eab(_0x226e9d);},'aJeYg':function(_0x424c9d,_0x19442a){return _0x424c9d(_0x19442a);},'rUvGp':_0x2fa0(0x37),'dDmaV':_0x2fa0(0x38),'pWsin':'ISxsa','RskLL':function(_0x18fba6,_0x4c9f0a){return _0x18fba6!==_0x4c9f0a;},'uyNWB':_0x2fa0(0x39),'GPtyW':_0x2fa0(0x3a),'uHgNQ':function(_0x42ca88){return _0x42ca88();},'dBWLj':function(_0x35438c,_0x302441,_0x37e943){return _0x35438c(_0x302441,_0x37e943);},'EkvYP':_0x2fa0(0x3b),'lEGRW':function(_0x3a439a,_0x31a77b){return _0x3a439a(_0x31a77b);},'SKHiC':_0x2fa0(0x3c),'rgaUS':_0x2fa0(0x3d),'UrFCI':_0x2fa0(0x3e),'SlBxF':function(_0xbb4dab,_0x448259){return _0xbb4dab===_0x448259;},'cmoca':function(_0x14cc3b,_0x55daac){return _0x14cc3b===_0x55daac;},'lCKEL':_0x2fa0(0x3f),'PJRnd':'complete-setup-button'},[_0x348c60,_0x2f480e]=_0x449a33['lEGRW'](useState,_0x449a33['SKHiC']),[_0x366a55,_0x104a51]=useState(''),[_0xa3260f,_0x12d0bc]=useState(![]),[_0x36f065,_0x311fa8]=_0x449a33[_0x2fa0(0x40)](useState,''),[_0x7412af,_0x57b928]=useState(![]),_0x3e9562=useRef(new Animated[(_0x2fa0(0x41))](0x1))[_0x2fa0(0x42)],_0x566908=_0x449a33[_0x2fa0(0x43)](useRef,new Animated[(_0x2fa0(0x41))](0x0))[_0x2fa0(0x42)];_0x449a33[_0x2fa0(0x44)](useEffect,()=>{const _0xd9ae54={'RDOID':_0x449a33['bMTgY'],'spjQP':function(_0xac7bda,_0x238029){return _0x449a33[_0x2fa0(0x45)](_0xac7bda,_0x238029);},'JjBDt':function(_0x577491,_0x578189){return _0x577491(_0x578189);},'nLARV':'verification'};if(_0x449a33[_0x2fa0(0x46)]!==_0x2fa0(0x47)){if(_0x56ee9a){const _0xe06ebb=_0x449a33['LlaTY'](isApiKeyInitialized);_0x449a33[_0x2fa0(0x48)](_0x57b928,_0xe06ebb);if(!_0xe06ebb){const _0x2e4267=_0x449a33[_0x2fa0(0x49)];console[_0x2fa0(0x4a)](_0x449a33[_0x2fa0(0x4b)],_0x2e4267),Alert[_0x2fa0(0x4c)](_0x449a33['CwBTv'],_0x449a33[_0x2fa0(0x4d)],[{'text':'OK','onPress':()=>{_0x449a33[_0x2fa0(0x4e)](_0x449a33['neKKo'],_0x449a33['slowz'])?_0x449a33['LlaTY'](_0x95b6cc):(_0x14d40c[_0x2fa0(0x4a)](_0xd9ae54[_0x2fa0(0x4f)],_0x1cfa51),_0xd9ae54[_0x2fa0(0x50)](_0xae755f,_0x2fa0(0x1e)));}}]);}else{if(_0x449a33['sHUGE']===_0x449a33['PkkHS'])_0x275c71(_0x5e7d0d[_0x2fa0(0x51)]),_0xd9ae54[_0x2fa0(0x52)](_0x5aecfc,_0xd9ae54[_0x2fa0(0x53)]);else{var _0x157083;const _0x1c0ba4=_0x449a33[_0x2fa0(0x54)](getApiConfig);console[_0x2fa0(0x55)](_0x449a33['tVvyy'],_0x449a33['SqfMG'](_0x449a33[_0x2fa0(0x56)](_0x1c0ba4,null)||_0x449a33[_0x2fa0(0x57)](_0x1c0ba4,void 0x0)||_0x449a33[_0x2fa0(0x56)](_0x157083=_0x1c0ba4[_0x2fa0(0x58)],null)||_0x449a33[_0x2fa0(0x59)](_0x157083,void 0x0)?void 0x0:_0x157083['substring'](0x0,0x8),_0x449a33[_0x2fa0(0x5a)]));}}}}else _0xd9ae54['JjBDt'](_0xfc117,![]);},[_0x56ee9a,_0x95b6cc]),_0x449a33[_0x2fa0(0x44)](useEffect,()=>{const _0x2060d6={'ZfHnG':_0x449a33['TJtUr'],'BTvee':function(_0x3a3061,_0x124ab4){return _0x449a33[_0x2fa0(0x45)](_0x3a3061,_0x124ab4);},'KeptX':_0x2fa0(0x3c)};console[_0x2fa0(0x55)](_0x449a33[_0x2fa0(0x5b)],_0x56ee9a),_0x449a33[_0x2fa0(0x5c)](_0x56ee9a,_0x7412af)?(console[_0x2fa0(0x55)](_0x449a33['jjsaN']),Animated[_0x2fa0(0x5d)]([Animated[_0x2fa0(0x5e)](_0x3e9562,{'toValue':0x0,'duration':0x190,'easing':Easing[_0x2fa0(0x5f)](Easing[_0x2fa0(0x60)]),'useNativeDriver':!![]}),Animated[_0x2fa0(0x5e)](_0x566908,{'toValue':0x1,'duration':0x12c,'useNativeDriver':!![]})])[_0x2fa0(0x61)](()=>{console[_0x2fa0(0x55)](_0x2060d6['ZfHnG']);})):_0x449a33['YJVge'](_0x449a33['TFNTm'],_0x449a33[_0x2fa0(0x62)])?(console['log'](_0x449a33['QREql']),_0x3e9562['setValue'](0x1),_0x566908[_0x2fa0(0x63)](0x0)):(_0x2060d6[_0x2fa0(0x64)](_0x38aaba,_0x33954a[_0x2fa0(0x51)]),_0x2060d6['BTvee'](_0x487238,_0x2060d6[_0x2fa0(0x65)]),Animated[_0x2fa0(0x5d)]([Animated[_0x2fa0(0x5e)](_0x24f50e,{'toValue':0x1,'duration':0x12c,'easing':_0x169ccf['in'](_0x122f0c[_0x2fa0(0x60)]),'useNativeDriver':!![]}),Animated['timing'](_0x1f19c2,{'toValue':0x0,'duration':0xfa,'useNativeDriver':!![]})])['start'](()=>{_0x13570a();}));},[_0x56ee9a,_0x7412af]);const _0x167e66=()=>{const _0x49c3ec={'JzUKu':function(_0x557582){return _0x449a33[_0x2fa0(0x66)](_0x557582);},'fdkeg':function(_0x4d2789,_0x4f5f29){return _0x449a33[_0x2fa0(0x48)](_0x4d2789,_0x4f5f29);}};'HCCyR'===_0x449a33['WTDgJ']?(_0x449a33['jrXZw'](triggerHaptic,HapticType['BUTTON_PRESS']),_0x449a33['wINxe'](_0x2f480e,_0x2fa0(0x3c)),Animated[_0x2fa0(0x5d)]([Animated[_0x2fa0(0x5e)](_0x3e9562,{'toValue':0x1,'duration':0x12c,'easing':Easing['in'](Easing['cubic']),'useNativeDriver':!![]}),Animated[_0x2fa0(0x5e)](_0x566908,{'toValue':0x0,'duration':0xfa,'useNativeDriver':!![]})])[_0x2fa0(0x61)](()=>{_0x49c3ec[_0x2fa0(0x67)](_0x95b6cc);})):(_0x49c3ec[_0x2fa0(0x68)](_0x5da67f,_0x42474c[_0x2fa0(0x51)]),_0x3424bc(''),_0x49c3ec[_0x2fa0(0x68)](_0x4d9b6a,'signin'));},_0x52f3ab=()=>{_0x449a33[_0x2fa0(0x69)](triggerHaptic,HapticType[_0x2fa0(0x51)]),_0x2f480e(_0x449a33[_0x2fa0(0x6a)]);},_0x384b34=async _0x2ca410=>{const _0xfee7db={'UcNCa':_0x449a33[_0x2fa0(0x6b)]};if(_0x449a33[_0x2fa0(0x6c)](_0x449a33[_0x2fa0(0x6d)],_0x449a33[_0x2fa0(0x6d)]))_0x3a9959['error'](_0x449a33[_0x2fa0(0x6e)],_0x1e2ebe),_0x295e90?_0x27ddc1(_0x2fa0(0x6f),_0x449a33[_0x2fa0(0x70)]):_0x2d9433();else{_0x449a33[_0x2fa0(0x71)](triggerHaptic,HapticType['BUTTON_PRESS']),_0x449a33[_0x2fa0(0x45)](_0x12d0bc,!![]),_0x311fa8('');try{if(_0x2ca410===_0x449a33[_0x2fa0(0x72)]){if(_0x449a33['TkAyU'](_0x449a33['kSdFT'],_0x449a33['kSdFT'])){console[_0x2fa0(0x55)](_0x449a33[_0x2fa0(0x73)]);try{await AsyncStorage[_0x2fa0(0x74)](_0x449a33[_0x2fa0(0x75)],_0x449a33[_0x2fa0(0x76)]),await AsyncStorage[_0x2fa0(0x74)](_0x449a33[_0x2fa0(0x77)],_0x449a33[_0x2fa0(0x78)]),console[_0x2fa0(0x55)](_0x449a33[_0x2fa0(0x79)]),_0x104a51(_0x2ca410),_0x449a33[_0x2fa0(0x7a)](_0x2f480e,_0x449a33[_0x2fa0(0x7b)]);}catch(_0x3b7444){console[_0x2fa0(0x4a)](_0x2fa0(0x7c),_0x3b7444),_0x449a33[_0x2fa0(0x7d)](_0x104a51,_0x2ca410),_0x449a33['lJiyc'](_0x2f480e,'platforms');}_0x449a33[_0x2fa0(0x7e)](_0x12d0bc,![]);return;}else _0x1652e2['log'](_0x2fa0(0xc),_0x212273),_0x449a33[_0x2fa0(0x5c)](_0x412f4e,_0x45f3d7)?(_0x1c74c0['log'](_0x449a33[_0x2fa0(0x7f)]),Animated[_0x2fa0(0x5d)]([Animated['timing'](_0x8680e0,{'toValue':0x0,'duration':0x190,'easing':_0x4f51aa[_0x2fa0(0x5f)](_0xb406e8['cubic']),'useNativeDriver':!![]}),Animated[_0x2fa0(0x5e)](_0x26bc5f,{'toValue':0x1,'duration':0x12c,'useNativeDriver':!![]})])['start'](()=>{_0x18bc53[_0x2fa0(0x55)](_0xfee7db['UcNCa']);})):(_0x18af9d[_0x2fa0(0x55)](_0x449a33[_0x2fa0(0x80)]),_0x2f61fa[_0x2fa0(0x63)](0x1),_0x10afd0[_0x2fa0(0x63)](0x0));}console[_0x2fa0(0x55)](_0x449a33[_0x2fa0(0x81)],_0x2ca410);const _0x109bbf=await _0x449a33[_0x2fa0(0x82)](sendEmailVerificationCode,_0x2ca410);_0x109bbf[_0x2fa0(0x83)]?(console[_0x2fa0(0x55)](_0x449a33[_0x2fa0(0x84)]),_0x449a33[_0x2fa0(0x85)](_0x104a51,_0x2ca410),_0x449a33[_0x2fa0(0x45)](_0x2f480e,_0x2fa0(0x29))):(console[_0x2fa0(0x55)](_0x449a33[_0x2fa0(0x86)],_0x109bbf[_0x2fa0(0x87)]),_0x449a33[_0x2fa0(0x85)](_0x311fa8,_0x109bbf[_0x2fa0(0x87)]||_0x449a33[_0x2fa0(0x88)]));}catch(_0x3f8ead){console[_0x2fa0(0x4a)](_0x449a33[_0x2fa0(0x89)],_0x3f8ead),_0x311fa8(_0x449a33[_0x2fa0(0x8a)]);}finally{_0x449a33[_0x2fa0(0x6c)](_0x449a33[_0x2fa0(0x8b)],_0x449a33[_0x2fa0(0x8b)])?_0x418599():_0x449a33[_0x2fa0(0x8c)](_0x12d0bc,![]);}}},_0x4ed321=async()=>{const _0x221aa6={'JSWYr':function(_0x50e5b0,_0x25419a){return _0x50e5b0(_0x25419a);},'TmTuM':function(_0x3d0b46,_0x3ade99,_0x4156d3){return _0x3d0b46(_0x3ade99,_0x4156d3);},'eNbAy':_0x2fa0(0x8d),'bZpnc':function(_0x2f5f99){return _0x2f5f99();}};triggerHaptic(HapticType[_0x2fa0(0x51)]),_0x449a33[_0x2fa0(0x48)](_0x12d0bc,!![]),_0x311fa8('');try{console['log'](_0x449a33[_0x2fa0(0x8e)]);const _0x322153=await _0x449a33[_0x2fa0(0x66)](signInWithGoogle);if(_0x322153[_0x2fa0(0x83)]&&_0x322153[_0x2fa0(0x8f)]){if(_0x449a33[_0x2fa0(0x90)](_0x449a33[_0x2fa0(0x91)],_0x2fa0(0x92)))_0x221aa6[_0x2fa0(0x93)](_0x4b6391,_0x28968d[_0x2fa0(0x51)]),_0x56ad58?_0x221aa6[_0x2fa0(0x94)](_0x19dee8,_0x221aa6[_0x2fa0(0x95)],_0x4c88ec):_0x221aa6[_0x2fa0(0x96)](_0x9c66eb);else{console[_0x2fa0(0x55)](_0x449a33['uhBqr'],_0x322153[_0x2fa0(0x8f)][_0x2fa0(0x97)]),console[_0x2fa0(0x55)](_0x449a33[_0x2fa0(0x98)],_0x322153[_0x2fa0(0x99)]),_0x449a33[_0x2fa0(0x9a)](_0x104a51,_0x322153[_0x2fa0(0x8f)][_0x2fa0(0x97)]);if(_0x449a33[_0x2fa0(0x9b)](_0x322153[_0x2fa0(0x99)],![])){console[_0x2fa0(0x55)](_0x449a33[_0x2fa0(0x9c)]);try{const _0x567db2=_0x322153[_0x2fa0(0x8f)][_0x2fa0(0x9d)]||_0x322153[_0x2fa0(0x8f)][_0x2fa0(0x97)][_0x2fa0(0x9e)]('@')[0x0],_0x237a3b=await _0x449a33['jZSvo'](getConnectedAccountsSmart,_0x322153[_0x2fa0(0x8f)][_0x2fa0(0x97)],_0x322153[_0x2fa0(0x8f)]['id'],_0x567db2);if(_0x237a3b&&_0x449a33[_0x2fa0(0x9f)](_0x237a3b[_0x2fa0(0xa0)],0x0)){console[_0x2fa0(0x55)]('✅\x20Found\x20'+_0x237a3b[_0x2fa0(0xa0)]+'\x20existing\x20connections\x20-\x20completing\x20directly');const _0x31a4e6=await AsyncStorage[_0x2fa0(0xa1)](_0x449a33[_0x2fa0(0x77)]);_0x2d163a?_0x449a33['wkJct'](_0x2d163a,_0x449a33['JEXjX'](_0x31a4e6,_0x2fa0(0xa2)),_0x322153[_0x2fa0(0x8f)][_0x2fa0(0x97)]):_0x449a33[_0x2fa0(0xa3)](_0x95b6cc);return;}else console[_0x2fa0(0x55)](_0x449a33[_0x2fa0(0xa4)]);}catch(_0xf9b786){_0x449a33[_0x2fa0(0xa5)]===_0x449a33[_0x2fa0(0xa5)]?console[_0x2fa0(0x55)](_0x449a33[_0x2fa0(0xa6)],_0xf9b786):_0x449a33[_0x2fa0(0xa3)](_0x1e1fb2);}}_0x449a33[_0x2fa0(0xa7)](_0x2f480e,_0x449a33[_0x2fa0(0x7b)]);}}else _0x322153[_0x2fa0(0xa8)]?console['log'](_0x2fa0(0xa9)):(console[_0x2fa0(0x55)](_0x449a33[_0x2fa0(0xaa)],_0x322153['message']),_0x449a33[_0x2fa0(0x40)](_0x311fa8,_0x322153[_0x2fa0(0x87)]||_0x449a33['tycsZ']));}catch(_0xc0f9cc){_0x449a33[_0x2fa0(0xab)](_0x449a33[_0x2fa0(0xac)],_0x449a33['ATITI'])?_0x1e5e11():(console[_0x2fa0(0x4a)](_0x449a33[_0x2fa0(0xad)],_0xc0f9cc),_0x449a33['lJiyc'](_0x311fa8,_0x449a33['tycsZ']));}finally{_0x449a33[_0x2fa0(0x7a)](_0x12d0bc,![]);}},_0x24cd3e=()=>{const _0x14f469={'RNKDC':function(_0x3a4899,_0x191dc5,_0x35c4e4){return _0x449a33[_0x2fa0(0x44)](_0x3a4899,_0x191dc5,_0x35c4e4);},'IFxJJ':_0x449a33[_0x2fa0(0xae)]};_0x2fa0(0x28)!==_0x449a33[_0x2fa0(0xaf)]?(_0x449a33['cKfUD'](_0x24f50d,_0x299d12[_0x2fa0(0x51)]),_0x2107a2[_0x2fa0(0x55)](_0x2fa0(0x34),_0x47d7fa),_0x45313e?AsyncStorage['getItem'](_0x449a33[_0x2fa0(0x77)])[_0x2fa0(0xb0)](_0x50d5be=>{_0x14f469[_0x2fa0(0xb1)](_0x17f030,_0x50d5be||_0x14f469[_0x2fa0(0xb2)],_0x46376b);}):_0x449a33[_0x2fa0(0x66)](_0x49c14a)):(_0x449a33['dbrED'](triggerHaptic,HapticType[_0x2fa0(0x51)]),_0x2f480e(_0x449a33[_0x2fa0(0xb3)]));},_0x2765ea=async _0x1017a9=>{_0x449a33[_0x2fa0(0xb4)](triggerHaptic,HapticType[_0x2fa0(0x51)]),_0x449a33[_0x2fa0(0xb5)](_0x12d0bc,!![]),_0x449a33[_0x2fa0(0xb6)](_0x311fa8,'');try{console[_0x2fa0(0x55)](_0x449a33[_0x2fa0(0xb7)],_0x366a55,_0x1017a9);const _0x5670e3=await _0x449a33[_0x2fa0(0x44)](confirmEmailVerificationCode,_0x366a55,_0x1017a9);_0x5670e3[_0x2fa0(0x83)]?(console['log'](_0x449a33[_0x2fa0(0xb8)]),_0x449a33[_0x2fa0(0x85)](_0x2f480e,_0x449a33[_0x2fa0(0x7b)])):(console[_0x2fa0(0x55)](_0x449a33[_0x2fa0(0xb9)],_0x5670e3['message']),_0x449a33[_0x2fa0(0xba)](_0x311fa8,_0x5670e3[_0x2fa0(0x87)]||_0x449a33[_0x2fa0(0xbb)]));}catch(_0x5094f2){console['error'](_0x449a33['VHKXg'],_0x5094f2),_0x449a33['bESnd'](_0x311fa8,_0x2fa0(0xbc));}finally{_0x449a33['LjFhl'](_0x12d0bc,![]);}},_0x40c1b7=()=>{triggerHaptic(HapticType[_0x2fa0(0x51)]),_0x449a33[_0x2fa0(0x7a)](_0x311fa8,''),_0x449a33[_0x2fa0(0xbd)](_0x2f480e,_0x449a33[_0x2fa0(0x6a)]);},_0x332eae=()=>{_0x449a33[_0x2fa0(0x40)](triggerHaptic,HapticType['BUTTON_PRESS']),_0x449a33['OxiHh'](_0x2f480e,_0x449a33[_0x2fa0(0xb3)]);},_0x3a64e6=async()=>{const _0x108628={'NDBUs':_0x2fa0(0x2b),'bUhQk':function(_0x105094,_0x13d238){return _0x449a33[_0x2fa0(0x85)](_0x105094,_0x13d238);},'tPagT':_0x449a33[_0x2fa0(0x7b)],'YmIad':_0x449a33[_0x2fa0(0xbe)]};triggerHaptic(HapticType[_0x2fa0(0x51)]),_0x449a33[_0x2fa0(0x7d)](_0x12d0bc,!![]),_0x449a33[_0x2fa0(0x9a)](_0x311fa8,'');try{console[_0x2fa0(0x55)](_0x2fa0(0xbf),_0x366a55);const _0xdbba6d=await _0x449a33[_0x2fa0(0x71)](sendEmailVerificationCode,_0x366a55);if(_0xdbba6d[_0x2fa0(0x83)])_0x449a33[_0x2fa0(0xc0)](_0x449a33[_0x2fa0(0xc1)],_0x2fa0(0xc2))?console[_0x2fa0(0x55)](_0x449a33[_0x2fa0(0xbe)]):(_0x3a42a8['log'](_0x108628['NDBUs']),_0x108628[_0x2fa0(0xc3)](_0x5be41c,_0x108628[_0x2fa0(0xc4)]));else{if('NIxDN'===_0x449a33[_0x2fa0(0xc5)])console[_0x2fa0(0x55)]('❌\x20Failed\x20to\x20resend\x20verification\x20code:',_0xdbba6d[_0x2fa0(0x87)]),_0x449a33[_0x2fa0(0x71)](_0x311fa8,_0xdbba6d[_0x2fa0(0x87)]||'Failed\x20to\x20resend\x20verification\x20code.\x20Please\x20try\x20again.');else{const _0x32659e={'wFEOs':function(_0x552a3c){return _0x449a33['GdiHh'](_0x552a3c);}},_0x28ee6f=_0x2fa0(0x4);_0x4408d1['error'](_0x449a33[_0x2fa0(0x4b)],_0x28ee6f),Alert[_0x2fa0(0x4c)](_0x449a33[_0x2fa0(0xc6)],_0x2fa0(0x7),[{'text':'OK','onPress':()=>{_0x32659e[_0x2fa0(0xc7)](_0x11d285);}}]);}}}catch(_0x1b0dfb){'yEhZH'!==_0x449a33[_0x2fa0(0xc8)]?(console[_0x2fa0(0x4a)](_0x449a33[_0x2fa0(0xc9)],_0x1b0dfb),_0x449a33['zpfsP'](_0x311fa8,_0x449a33[_0x2fa0(0x8a)])):_0x34a115[_0x2fa0(0x55)](_0x108628[_0x2fa0(0xca)]);}finally{_0x449a33[_0x2fa0(0xcb)](_0x449a33[_0x2fa0(0xcc)],_0x449a33[_0x2fa0(0xcc)])?(_0x5ddf5c[_0x2fa0(0x55)](_0x449a33[_0x2fa0(0xb9)],_0x349956[_0x2fa0(0x87)]),_0x449a33[_0x2fa0(0xb6)](_0x1694b0,_0x3dfd49[_0x2fa0(0x87)]||_0x2fa0(0x2d))):_0x449a33[_0x2fa0(0xcd)](_0x12d0bc,![]);}},_0x1f07ea=_0x5b34e5=>{const _0x393885={'QHohE':function(_0x2dc5f5,_0x377592){return _0x449a33[_0x2fa0(0xce)](_0x2dc5f5,_0x377592);},'pJtzZ':_0x449a33['qpbbz']};_0x449a33['ZarsN'](triggerHaptic,HapticType[_0x2fa0(0x51)]),console[_0x2fa0(0x55)](_0x449a33[_0x2fa0(0xcf)],_0x5b34e5),_0x2d163a?AsyncStorage[_0x2fa0(0xa1)](_0x2fa0(0x17))[_0x2fa0(0xb0)](_0x18c542=>{_0x2d163a(_0x393885[_0x2fa0(0xd0)](_0x18c542,_0x393885[_0x2fa0(0xd1)]),_0x366a55);}):_0x449a33[_0x2fa0(0xd2)](_0x95b6cc);},_0xbf07e7=()=>{triggerHaptic(HapticType[_0x2fa0(0x51)]),_0x2d163a?_0x449a33['WFJzy'](_0x449a33[_0x2fa0(0xd3)],_0x449a33[_0x2fa0(0xd3)])?_0x2d163a(_0x2fa0(0x8d),_0x366a55):_0x328519[_0x2fa0(0x55)]('✅\x20WelcomeScreen\x20animations\x20completed'):_0x449a33['UhHuQ']!==_0x2fa0(0x36)?(_0x61b2a6[_0x2fa0(0x55)](_0x449a33[_0x2fa0(0x84)]),_0x449a33['bTSTl'](_0x492246,_0x448aff),_0x449a33[_0x2fa0(0x43)](_0x4d65a9,_0x449a33[_0x2fa0(0xb3)])):_0x449a33[_0x2fa0(0x66)](_0x95b6cc);},_0x4f199e=async()=>{const _0x1013e4={'pxhGP':_0x449a33[_0x2fa0(0x6a)]};console['log'](_0x449a33[_0x2fa0(0xd4)]),triggerHaptic(HapticType['BUTTON_PRESS']);try{_0x449a33['dDmaV']!==_0x449a33[_0x2fa0(0xd5)]?(await AsyncStorage['setItem'](_0x449a33[_0x2fa0(0x75)],_0x449a33[_0x2fa0(0x76)]),await AsyncStorage[_0x2fa0(0x74)](_0x449a33[_0x2fa0(0x77)],_0x449a33[_0x2fa0(0x78)]),console[_0x2fa0(0x55)](_0x2fa0(0xd6)),_0x2d163a?_0x449a33[_0x2fa0(0xd7)](_0x449a33[_0x2fa0(0xd8)],_0x449a33[_0x2fa0(0xd9)])?_0x449a33[_0x2fa0(0x44)](_0x2d163a,_0x449a33['dosvf'],_0x449a33[_0x2fa0(0x70)]):(_0x5960c1['error'](_0x449a33[_0x2fa0(0x6e)],_0x513bb4),_0x449a33['QchaQ'](_0x141a82,_0x54c038),_0x449a33['aJeYg'](_0x559d64,_0x449a33['VwChE'])):_0x449a33['YchmE'](_0x95b6cc)):(_0x58768a(_0x4e460a['BUTTON_PRESS']),_0x526564(_0x1013e4[_0x2fa0(0xda)]));}catch(_0x22691b){console[_0x2fa0(0x4a)](_0x449a33[_0x2fa0(0x6e)],_0x22691b),_0x2d163a?_0x449a33[_0x2fa0(0x44)](_0x2d163a,_0x449a33[_0x2fa0(0x78)],_0x449a33[_0x2fa0(0x70)]):_0x449a33['uHgNQ'](_0x95b6cc);}},_0x5b2bc2=()=>{const _0x457abd={'ZroeU':function(_0x1f68d5,_0x244add,_0x1b135c){return _0x449a33[_0x2fa0(0xdb)](_0x1f68d5,_0x244add,_0x1b135c);},'rAUcc':'reviewer-bypass-token','QmAha':_0x449a33[_0x2fa0(0x70)]};_0x449a33[_0x2fa0(0xcb)](_0x449a33[_0x2fa0(0xdc)],_0x2fa0(0x3b))?_0x457abd[_0x2fa0(0xdd)](_0x58c85b,_0x457abd[_0x2fa0(0xde)],_0x457abd[_0x2fa0(0xdf)]):_0x449a33[_0x2fa0(0xd2)](_0x167e66);};if(!_0x56ee9a||!_0x7412af)return null;return React[_0x2fa0(0xe0)](Modal,{'visible':_0x449a33[_0x2fa0(0x5c)](_0x56ee9a,_0x7412af),'transparent':!![],'animationType':_0x449a33[_0x2fa0(0xe1)],'onRequestClose':_0x167e66,'statusBarTranslucent':!![]},React[_0x2fa0(0xe0)](StatusBar,{'backgroundColor':_0x449a33[_0x2fa0(0xe2)],'barStyle':'light-content'}),React[_0x2fa0(0xe0)](Animated['View'],{'style':[styles[_0x2fa0(0xe3)],{'opacity':_0x566908}]},React[_0x2fa0(0xe0)](TouchableWithoutFeedback,{'onPress':_0x5b2bc2},React['createElement'](View,{'style':styles['backdropTouchable']}))),React[_0x2fa0(0xe0)](Animated['View'],{'style':[styles[_0x2fa0(0xe4)],{'transform':[{'translateY':_0x3e9562['interpolate']({'inputRange':[0x0,0x1],'outputRange':[0x0,0x258]})}]}]},React[_0x2fa0(0xe0)](_0x39e487,{'topPadding':0x0},React[_0x2fa0(0xe0)](_0x7a32f3,{'onClose':_0x167e66,'onBack':_0x449a33[_0x2fa0(0x9b)](_0x348c60,_0x449a33[_0x2fa0(0xb3)])?_0x40c1b7:_0x332eae,'showBackButton':_0x348c60===_0x449a33['IwiuX']||_0x449a33[_0x2fa0(0xe5)](_0x348c60,_0x449a33['VwChE'])}),_0x449a33[_0x2fa0(0xe6)](_0x348c60,_0x449a33['SKHiC'])&&React[_0x2fa0(0xe0)](View,{'style':styles[_0x2fa0(0xe7)]},React[_0x2fa0(0xe0)](View,{'style':styles[_0x2fa0(0xe8)]},React['createElement'](_0x3427c3,null)),React['createElement'](View,{'style':styles[_0x2fa0(0xe9)]},React[_0x2fa0(0xe0)](_0x496e48,null)),React[_0x2fa0(0xe0)](View,{'style':styles[_0x2fa0(0xea)]},React[_0x2fa0(0xe0)](_0x3b7228,null)),React[_0x2fa0(0xe0)](View,{'style':styles[_0x2fa0(0xeb)]}),React['createElement'](View,{'style':styles[_0x2fa0(0xec)]},React[_0x2fa0(0xe0)](_0x504efc,{'label':_0x2fa0(0xed),'onPress':_0x52f3ab,'testID':_0x2fa0(0xee)}))),_0x348c60===_0x449a33['zhhxb']&&React['createElement'](_0x2eb9fe,{'onEmailSubmit':_0x384b34,'onGoogleSignIn':_0x4ed321,'onContinue':_0x24cd3e,'loading':_0xa3260f,'error':_0x36f065}),_0x449a33[_0x2fa0(0xef)](_0x348c60,_0x2fa0(0x29))&&React[_0x2fa0(0xe0)](_0x59efda,{'email':_0x366a55,'onCodeSubmit':_0x2765ea,'onBack':_0x40c1b7,'loading':_0xa3260f,'error':_0x36f065,'onResendCode':_0x3a64e6}),_0x348c60===_0x449a33[_0x2fa0(0x7b)]&&React['createElement'](View,{'style':styles[_0x2fa0(0xe7)]},React[_0x2fa0(0xe0)](View,{'style':styles['headingContainer']},React['createElement'](_0x496e48,null)),React[_0x2fa0(0xe0)](View,{'style':styles['bodyContainer']},React[_0x2fa0(0xe0)](_0x3b7228,null)),React[_0x2fa0(0xe0)](View,{'style':styles['spacer']}),React[_0x2fa0(0xe0)](View,{'style':styles[_0x2fa0(0xec)]},React[_0x2fa0(0xe0)](_0x504efc,{'label':_0x449a33[_0x2fa0(0xf0)],'onPress':()=>_0x1f07ea([]),'testID':_0x449a33[_0x2fa0(0xf1)]}))))));},styles=StyleSheet['create']({'backdrop':{...StyleSheet['absoluteFillObject'],'backgroundColor':'transparent'},'backdropTouchable':{'flex':0x1},'modalContainer':{'position':_0x2fa0(0xf2),'bottom':0x0,'left':0x0,'right':0x0,'height':_0x2fa0(0xf3)},'content':{'flex':0x1,'alignItems':_0x2fa0(0xf4),'paddingTop':0x14},'brandMarkContainer':{'marginBottom':0x20},'headingContainer':{'marginBottom':0x18},'bodyContainer':{'marginBottom':0x20,'width':_0x2fa0(0xf5)},'spacer':{'flex':0x1,'minHeight':0x14},'buttonContainer':{'width':_0x2fa0(0xf5),'paddingHorizontal':0x18,'paddingBottom':0x14}});export default WelcomeScreen;function _0x4b06(){const _0x5d8b91=['AlDZl','auLta','❌\x20Error\x20sending\x20verification\x20code:','uUMnp','Onairos\x20SDK\x20not\x20initialized.\x20Developers\x20must\x20call\x20initializeApiKey()\x20with\x20a\x20valid\x20API\x20key\x20before\x20using\x20SDK\x20components.','❌\x20[WelcomeScreen]\x20SDK\x20NOT\x20INITIALIZED:','SDK\x20Not\x20Initialized','The\x20Onairos\x20SDK\x20requires\x20initialization\x20with\x20a\x20valid\x20API\x20key.\x0a\x0aDevelopers:\x20Please\x20call\x20initializeApiKey()\x20before\x20using\x20Onairos\x20components.\x0a\x0aGet\x20your\x20API\x20key\x20from\x20https://dashboard.onairos.uk','lRKhb','dzZgo','✅\x20[WelcomeScreen]\x20SDK\x20initialized\x20with\x20API\x20key:','✅\x20WelcomeScreen\x20animations\x20completed','🔍\x20WelcomeScreen\x20visibility\x20changed:','UsoKl','🔄\x20Resetting\x20WelcomeScreen\x20animations','HCCyR','signin','reviewer@apple.com','ORZaW','IpEtz','🔍\x20Reviewer\x20bypass\x20detected\x20in\x20WelcomeScreen','onairos_user','true','onairos_jwt_token','✅\x20Stored\x20reviewer\x20bypass\x20markers\x20for\x20email\x20bypass','platforms','📧\x20Sending\x20verification\x20code\x20to:','✅\x20Verification\x20code\x20sent\x20successfully','❌\x20Failed\x20to\x20send\x20verification\x20code:','Failed\x20to\x20send\x20verification\x20code.\x20Please\x20try\x20again.','Network\x20error.\x20Please\x20check\x20your\x20connection\x20and\x20try\x20again.','🔗\x20Initiating\x20Google\x20Sign-In','✅\x20Google\x20Sign-In\x20successful:','👤\x20Returning\x20user\x20detected\x20via\x20Google\x20Sign-In','ℹ️\x20No\x20existing\x20connections\x20found\x20-\x20proceeding\x20to\x20platforms\x20step','eLERm','Google\x20Sign-In\x20failed.\x20Please\x20try\x20again.','sEIbL','❌\x20Unexpected\x20Google\x20Sign-In\x20error:','onboarding-complete-token','bihae','verification','🔍\x20Verifying\x20email\x20code:','✅\x20Email\x20verification\x20successful','❌\x20Email\x20verification\x20failed:','Invalid\x20verification\x20code.\x20Please\x20try\x20again.','❌\x20Error\x20verifying\x20email\x20code:','✅\x20Verification\x20code\x20resent\x20successfully','NIxDN','UbBhY','❌\x20Error\x20resending\x20verification\x20code:','uYxjb','Connected\x20platforms:','fdEuN','pFLoc','🔍\x20Reviewer\x20bypass\x20triggered\x20from\x20platforms\x20screen','NdbWn','endEX','zUckl','pCupH','welcome','slide','rgba(0,0,0,0.5)','Complete\x20Setup','JGVXa','Value','current','iWHYd','wkJct','jrXZw','MPHWQ','nxcJZ','fuBdj','IChxt','error','nWKpV','alert','WoIVC','YwlvR','RDOID','spjQP','BUTTON_PRESS','JjBDt','nLARV','YchmE','log','HOiXS','vapQY','apiKey','YJVge','amLVt','UPeiW','yiObq','parallel','timing','out','cubic','start','TFNTm','setValue','BTvee','KeptX','GdiHh','JzUKu','fdkeg','OxiHh','zhhxb','TJtUr','MBKpM','kXTXG','KemHd','reviewer-bypass-token','ldrys','boFhD','oZYmG','dFoEr','setItem','XAvkC','dCbNO','YgNPT','dosvf','EnwSd','NZNmB','VwChE','❌\x20Failed\x20to\x20store\x20reviewer\x20bypass\x20markers:','lwaiW','vfaDy','jjsaN','QREql','IQcTW','wINxe','success','URmpH','nLyjs','ypvNi','message','VajyF','bMTgY','LcBdh','KrDGP','bTSTl','onboarding-skipped-token','XVdSa','user','uMEkb','YpTLr','DxgKl','JSWYr','TmTuM','eNbAy','bZpnc','email','dwkcL','isNewUser','sxJBL','WEqDq','KdXJK','username','split','zLSbr','length','getItem','returning-user-token','LlaTY','ygfNU','pDGSU','fQGKy','MiuzQ','cancelled','ℹ️\x20Google\x20Sign-In\x20cancelled\x20by\x20user','XFGWA','moOIi','ATITI','TeGkp','qpbbz','CDHho','then','RNKDC','IFxJJ','IwiuX','pRisq','bESnd','DWmND','JkrqR','sFSAk','BIKIc','RZqSk','kHQUn','Verification\x20failed.\x20Please\x20try\x20again.','cKfUD','qbtMD','🔄\x20Resending\x20verification\x20code\x20to:','HLbTG','TyUJm','oXheE','bUhQk','tPagT','qglJl','CwBTv','wFEOs','BHnVU','SqWfW','YmIad','mKozz','tquBZ','dbrED','JEXjX','pcdwM','QHohE','pJtzZ','csewN','XDzis','rUvGp','pWsin','✅\x20Stored\x20reviewer\x20bypass\x20markers\x20for\x20new\x20UI','RskLL','uyNWB','GPtyW','pxhGP','dBWLj','EkvYP','ZroeU','rAUcc','QmAha','createElement','rgaUS','UrFCI','backdrop','modalContainer','TkAyU','SlBxF','content','brandMarkContainer','headingContainer','bodyContainer','spacer','buttonContainer','Get\x20Started','welcome-get-started-button','cmoca','lCKEL','PJRnd','absolute','85%','center','100%'];_0x4b06=function(){return _0x5d8b91;};return _0x4b06();}
|
|
1
|
+
import React, { useEffect, useRef, useState } from 'react';
|
|
2
|
+
import { View, StyleSheet, Modal, TouchableWithoutFeedback, Animated, Easing, StatusBar, Alert } from 'react-native';
|
|
3
|
+
import { triggerHaptic, HapticType } from '../utils/haptics';
|
|
4
|
+
import { sendEmailVerificationCode, confirmEmailVerificationCode } from '../services/authService';
|
|
5
|
+
import { signInWithGoogle } from '../services/googleAuthService';
|
|
6
|
+
import AsyncStorage from '@react-native-async-storage/async-storage';
|
|
7
|
+
import { isApiKeyInitialized, getApiConfig } from '../services/apiKeyService';
|
|
8
|
+
import { getConnectedAccountsSmart } from '../services/connectedAccountsService';
|
|
9
|
+
|
|
10
|
+
// Import our new components
|
|
11
|
+
import ModalSheet from './ModalSheet';
|
|
12
|
+
import ModalHeader from './ModalHeader';
|
|
13
|
+
import BrandMark from './BrandMark';
|
|
14
|
+
import HeadingGroup from './HeadingGroup';
|
|
15
|
+
import BodyText from './BodyText';
|
|
16
|
+
import PrimaryButton from './PrimaryButton';
|
|
17
|
+
import SignInStep from './SignInStep';
|
|
18
|
+
import VerificationStep from './VerificationStep';
|
|
19
|
+
// Temporarily remove PlatformConnectorsStep to avoid context dependency issues
|
|
20
|
+
// import PlatformConnectorsStep from './PlatformConnectorsStep';
|
|
21
|
+
|
|
22
|
+
// Type definitions for navigation
|
|
23
|
+
|
|
24
|
+
const WelcomeScreen = ({
|
|
25
|
+
visible,
|
|
26
|
+
onClose,
|
|
27
|
+
onComplete
|
|
28
|
+
}) => {
|
|
29
|
+
const [currentStep, setCurrentStep] = useState('welcome');
|
|
30
|
+
const [userEmail, setUserEmail] = useState('');
|
|
31
|
+
const [loading, setLoading] = useState(false);
|
|
32
|
+
const [error, setError] = useState('');
|
|
33
|
+
|
|
34
|
+
// 🔒 SDK Initialization check state
|
|
35
|
+
const [sdkInitialized, setSdkInitialized] = useState(false);
|
|
36
|
+
|
|
37
|
+
// Animation values
|
|
38
|
+
const slideAnim = useRef(new Animated.Value(1)).current; // Start from bottom
|
|
39
|
+
const fadeAnim = useRef(new Animated.Value(0)).current;
|
|
40
|
+
|
|
41
|
+
// 🔒 CRITICAL: Check SDK initialization when component becomes visible
|
|
42
|
+
useEffect(() => {
|
|
43
|
+
if (visible) {
|
|
44
|
+
const initialized = isApiKeyInitialized();
|
|
45
|
+
setSdkInitialized(initialized);
|
|
46
|
+
if (!initialized) {
|
|
47
|
+
const errorMsg = 'Onairos SDK not initialized. Developers must call initializeApiKey() with a valid API key before using SDK components.';
|
|
48
|
+
console.error('❌ [WelcomeScreen] SDK NOT INITIALIZED:', errorMsg);
|
|
49
|
+
|
|
50
|
+
// Show alert and close the modal
|
|
51
|
+
Alert.alert('SDK Not Initialized', 'The Onairos SDK requires initialization with a valid API key.\n\nDevelopers: Please call initializeApiKey() before using Onairos components.\n\nGet your API key from https://dashboard.onairos.uk', [{
|
|
52
|
+
text: 'OK',
|
|
53
|
+
onPress: () => {
|
|
54
|
+
onClose();
|
|
55
|
+
}
|
|
56
|
+
}]);
|
|
57
|
+
} else {
|
|
58
|
+
var _config$apiKey;
|
|
59
|
+
const config = getApiConfig();
|
|
60
|
+
console.log('✅ [WelcomeScreen] SDK initialized with API key:', (config === null || config === void 0 || (_config$apiKey = config.apiKey) === null || _config$apiKey === void 0 ? void 0 : _config$apiKey.substring(0, 8)) + '...');
|
|
61
|
+
}
|
|
62
|
+
}
|
|
63
|
+
}, [visible, onClose]);
|
|
64
|
+
|
|
65
|
+
// Animate in when visible (matching existing modal style)
|
|
66
|
+
useEffect(() => {
|
|
67
|
+
console.log('🔍 WelcomeScreen visibility changed:', visible);
|
|
68
|
+
if (visible && sdkInitialized) {
|
|
69
|
+
console.log('🎬 Starting WelcomeScreen animations');
|
|
70
|
+
Animated.parallel([Animated.timing(slideAnim, {
|
|
71
|
+
toValue: 0,
|
|
72
|
+
duration: 400,
|
|
73
|
+
easing: Easing.out(Easing.cubic),
|
|
74
|
+
useNativeDriver: true
|
|
75
|
+
}), Animated.timing(fadeAnim, {
|
|
76
|
+
toValue: 1,
|
|
77
|
+
duration: 300,
|
|
78
|
+
useNativeDriver: true
|
|
79
|
+
})]).start(() => {
|
|
80
|
+
console.log('✅ WelcomeScreen animations completed');
|
|
81
|
+
});
|
|
82
|
+
} else {
|
|
83
|
+
console.log('🔄 Resetting WelcomeScreen animations');
|
|
84
|
+
slideAnim.setValue(1);
|
|
85
|
+
fadeAnim.setValue(0);
|
|
86
|
+
}
|
|
87
|
+
}, [visible, sdkInitialized]);
|
|
88
|
+
const handleClose = () => {
|
|
89
|
+
triggerHaptic(HapticType.BUTTON_PRESS);
|
|
90
|
+
|
|
91
|
+
// Reset to welcome step
|
|
92
|
+
setCurrentStep('welcome');
|
|
93
|
+
Animated.parallel([Animated.timing(slideAnim, {
|
|
94
|
+
toValue: 1,
|
|
95
|
+
duration: 300,
|
|
96
|
+
easing: Easing.in(Easing.cubic),
|
|
97
|
+
useNativeDriver: true
|
|
98
|
+
}), Animated.timing(fadeAnim, {
|
|
99
|
+
toValue: 0,
|
|
100
|
+
duration: 250,
|
|
101
|
+
useNativeDriver: true
|
|
102
|
+
})]).start(() => {
|
|
103
|
+
onClose();
|
|
104
|
+
});
|
|
105
|
+
};
|
|
106
|
+
const handleGetStarted = () => {
|
|
107
|
+
triggerHaptic(HapticType.BUTTON_PRESS);
|
|
108
|
+
// Move to sign-in step instead of closing modal
|
|
109
|
+
setCurrentStep('signin');
|
|
110
|
+
};
|
|
111
|
+
const handleEmailSubmit = async email => {
|
|
112
|
+
triggerHaptic(HapticType.BUTTON_PRESS);
|
|
113
|
+
setLoading(true);
|
|
114
|
+
setError('');
|
|
115
|
+
try {
|
|
116
|
+
// Check for reviewer bypass
|
|
117
|
+
if (email === 'reviewer@bypass.com') {
|
|
118
|
+
console.log('🔍 Reviewer bypass detected in WelcomeScreen');
|
|
119
|
+
try {
|
|
120
|
+
// Store the same markers as the old UI
|
|
121
|
+
await AsyncStorage.setItem('onairos_user', 'true');
|
|
122
|
+
await AsyncStorage.setItem('onairos_jwt_token', 'reviewer-bypass-token');
|
|
123
|
+
console.log('✅ Stored reviewer bypass markers for email bypass');
|
|
124
|
+
|
|
125
|
+
// Store the reviewer email and skip directly to platforms
|
|
126
|
+
setUserEmail(email);
|
|
127
|
+
setCurrentStep('platforms');
|
|
128
|
+
} catch (error) {
|
|
129
|
+
console.error('❌ Failed to store reviewer bypass markers:', error);
|
|
130
|
+
// Continue to platforms even if storage fails
|
|
131
|
+
setUserEmail(email);
|
|
132
|
+
setCurrentStep('platforms');
|
|
133
|
+
}
|
|
134
|
+
setLoading(false);
|
|
135
|
+
return;
|
|
136
|
+
}
|
|
137
|
+
console.log('📧 Sending verification code to:', email);
|
|
138
|
+
|
|
139
|
+
// Send verification code using the existing API
|
|
140
|
+
const result = await sendEmailVerificationCode(email);
|
|
141
|
+
if (result.success) {
|
|
142
|
+
console.log('✅ Verification code sent successfully');
|
|
143
|
+
// Store the email and move to verification
|
|
144
|
+
setUserEmail(email);
|
|
145
|
+
setCurrentStep('verification');
|
|
146
|
+
} else {
|
|
147
|
+
console.log('❌ Failed to send verification code:', result.message);
|
|
148
|
+
setError(result.message || 'Failed to send verification code. Please try again.');
|
|
149
|
+
}
|
|
150
|
+
} catch (error) {
|
|
151
|
+
console.error('❌ Error sending verification code:', error);
|
|
152
|
+
setError('Network error. Please check your connection and try again.');
|
|
153
|
+
} finally {
|
|
154
|
+
setLoading(false);
|
|
155
|
+
}
|
|
156
|
+
};
|
|
157
|
+
const handleGoogleSignIn = async () => {
|
|
158
|
+
triggerHaptic(HapticType.BUTTON_PRESS);
|
|
159
|
+
setLoading(true);
|
|
160
|
+
setError('');
|
|
161
|
+
try {
|
|
162
|
+
console.log('🔗 Initiating Google Sign-In');
|
|
163
|
+
const result = await signInWithGoogle();
|
|
164
|
+
if (result.success && result.user) {
|
|
165
|
+
console.log('✅ Google Sign-In successful:', result.user.email);
|
|
166
|
+
console.log('🔍 Is new user?', result.isNewUser);
|
|
167
|
+
|
|
168
|
+
// Store user information
|
|
169
|
+
setUserEmail(result.user.email);
|
|
170
|
+
|
|
171
|
+
// ✅ FIX: Check if user is returning (already has an account)
|
|
172
|
+
if (result.isNewUser === false) {
|
|
173
|
+
console.log('👤 Returning user detected via Google Sign-In');
|
|
174
|
+
try {
|
|
175
|
+
// Try to fetch existing connected accounts
|
|
176
|
+
const derivedUsername = result.user.username || result.user.email.split('@')[0];
|
|
177
|
+
const existingConnections = await getConnectedAccountsSmart(result.user.email, result.user.id, derivedUsername);
|
|
178
|
+
if (existingConnections && existingConnections.length > 0) {
|
|
179
|
+
console.log(`✅ Found ${existingConnections.length} existing connections - completing directly`);
|
|
180
|
+
|
|
181
|
+
// Get the auth token
|
|
182
|
+
const token = await AsyncStorage.getItem('onairos_jwt_token');
|
|
183
|
+
|
|
184
|
+
// Complete directly for returning users
|
|
185
|
+
if (onComplete) {
|
|
186
|
+
onComplete(token || 'returning-user-token', result.user.email);
|
|
187
|
+
} else {
|
|
188
|
+
onClose();
|
|
189
|
+
}
|
|
190
|
+
return;
|
|
191
|
+
} else {
|
|
192
|
+
console.log('ℹ️ No existing connections found - proceeding to platforms step');
|
|
193
|
+
}
|
|
194
|
+
} catch (connError) {
|
|
195
|
+
console.log('⚠️ Could not fetch existing connections, proceeding to platforms:', connError);
|
|
196
|
+
}
|
|
197
|
+
}
|
|
198
|
+
|
|
199
|
+
// New user or no existing connections - proceed to platforms step
|
|
200
|
+
setCurrentStep('platforms');
|
|
201
|
+
} else if (result.cancelled) {
|
|
202
|
+
console.log('ℹ️ Google Sign-In cancelled by user');
|
|
203
|
+
// Don't show error for cancellation, just reset loading
|
|
204
|
+
} else {
|
|
205
|
+
console.log('❌ Google Sign-In failed:', result.message);
|
|
206
|
+
setError(result.message || 'Google Sign-In failed. Please try again.');
|
|
207
|
+
}
|
|
208
|
+
} catch (error) {
|
|
209
|
+
console.error('❌ Unexpected Google Sign-In error:', error);
|
|
210
|
+
setError('Google Sign-In failed. Please try again.');
|
|
211
|
+
} finally {
|
|
212
|
+
setLoading(false);
|
|
213
|
+
}
|
|
214
|
+
};
|
|
215
|
+
const handleContinue = () => {
|
|
216
|
+
triggerHaptic(HapticType.BUTTON_PRESS);
|
|
217
|
+
// Move to verification step
|
|
218
|
+
setCurrentStep('verification');
|
|
219
|
+
};
|
|
220
|
+
const handleCodeSubmit = async code => {
|
|
221
|
+
triggerHaptic(HapticType.BUTTON_PRESS);
|
|
222
|
+
setLoading(true);
|
|
223
|
+
setError('');
|
|
224
|
+
try {
|
|
225
|
+
console.log('🔍 Verifying email code:', userEmail, code);
|
|
226
|
+
|
|
227
|
+
// Verify the email code using the existing API
|
|
228
|
+
const result = await confirmEmailVerificationCode(userEmail, code);
|
|
229
|
+
if (result.success) {
|
|
230
|
+
console.log('✅ Email verification successful');
|
|
231
|
+
// Move to platform connectors step
|
|
232
|
+
setCurrentStep('platforms');
|
|
233
|
+
} else {
|
|
234
|
+
console.log('❌ Email verification failed:', result.message);
|
|
235
|
+
setError(result.message || 'Invalid verification code. Please try again.');
|
|
236
|
+
}
|
|
237
|
+
} catch (error) {
|
|
238
|
+
console.error('❌ Error verifying email code:', error);
|
|
239
|
+
setError('Verification failed. Please try again.');
|
|
240
|
+
} finally {
|
|
241
|
+
setLoading(false);
|
|
242
|
+
}
|
|
243
|
+
};
|
|
244
|
+
const handleBackToSignIn = () => {
|
|
245
|
+
triggerHaptic(HapticType.BUTTON_PRESS);
|
|
246
|
+
setError(''); // Clear any errors when going back
|
|
247
|
+
setCurrentStep('signin');
|
|
248
|
+
};
|
|
249
|
+
const handleBackToVerification = () => {
|
|
250
|
+
triggerHaptic(HapticType.BUTTON_PRESS);
|
|
251
|
+
setCurrentStep('verification');
|
|
252
|
+
};
|
|
253
|
+
const handleResendCode = async () => {
|
|
254
|
+
triggerHaptic(HapticType.BUTTON_PRESS);
|
|
255
|
+
setLoading(true);
|
|
256
|
+
setError('');
|
|
257
|
+
try {
|
|
258
|
+
console.log('🔄 Resending verification code to:', userEmail);
|
|
259
|
+
|
|
260
|
+
// Resend verification code using the existing API
|
|
261
|
+
const result = await sendEmailVerificationCode(userEmail);
|
|
262
|
+
if (result.success) {
|
|
263
|
+
console.log('✅ Verification code resent successfully');
|
|
264
|
+
// Could show a success message here if needed
|
|
265
|
+
} else {
|
|
266
|
+
console.log('❌ Failed to resend verification code:', result.message);
|
|
267
|
+
setError(result.message || 'Failed to resend verification code. Please try again.');
|
|
268
|
+
}
|
|
269
|
+
} catch (error) {
|
|
270
|
+
console.error('❌ Error resending verification code:', error);
|
|
271
|
+
setError('Network error. Please check your connection and try again.');
|
|
272
|
+
} finally {
|
|
273
|
+
setLoading(false);
|
|
274
|
+
}
|
|
275
|
+
};
|
|
276
|
+
const handlePlatformUpdate = connectedPlatforms => {
|
|
277
|
+
triggerHaptic(HapticType.BUTTON_PRESS);
|
|
278
|
+
console.log('Connected platforms:', connectedPlatforms);
|
|
279
|
+
|
|
280
|
+
// Complete the onboarding flow
|
|
281
|
+
if (onComplete) {
|
|
282
|
+
// Return the stored token and email
|
|
283
|
+
AsyncStorage.getItem('onairos_jwt_token').then(token => {
|
|
284
|
+
onComplete(token || 'onboarding-complete-token', userEmail);
|
|
285
|
+
});
|
|
286
|
+
} else {
|
|
287
|
+
onClose();
|
|
288
|
+
}
|
|
289
|
+
};
|
|
290
|
+
const handlePlatformSkip = () => {
|
|
291
|
+
triggerHaptic(HapticType.BUTTON_PRESS);
|
|
292
|
+
// Skip platform connections and complete onboarding
|
|
293
|
+
if (onComplete) {
|
|
294
|
+
// Return a skip token
|
|
295
|
+
onComplete('onboarding-skipped-token', userEmail);
|
|
296
|
+
} else {
|
|
297
|
+
onClose();
|
|
298
|
+
}
|
|
299
|
+
};
|
|
300
|
+
const handleReviewerBypass = async () => {
|
|
301
|
+
console.log('🔍 Reviewer bypass triggered from platforms screen');
|
|
302
|
+
triggerHaptic(HapticType.BUTTON_PRESS);
|
|
303
|
+
try {
|
|
304
|
+
// Store the same markers as the old UI
|
|
305
|
+
await AsyncStorage.setItem('onairos_user', 'true');
|
|
306
|
+
await AsyncStorage.setItem('onairos_jwt_token', 'reviewer-bypass-token');
|
|
307
|
+
console.log('✅ Stored reviewer bypass markers for new UI');
|
|
308
|
+
|
|
309
|
+
// Complete the onboarding with bypass token
|
|
310
|
+
if (onComplete) {
|
|
311
|
+
onComplete('reviewer-bypass-token', 'reviewer@apple.com');
|
|
312
|
+
} else {
|
|
313
|
+
onClose();
|
|
314
|
+
}
|
|
315
|
+
} catch (error) {
|
|
316
|
+
console.error('❌ Failed to store reviewer bypass markers:', error);
|
|
317
|
+
// Still complete the onboarding even if storage fails
|
|
318
|
+
if (onComplete) {
|
|
319
|
+
onComplete('reviewer-bypass-token', 'reviewer@apple.com');
|
|
320
|
+
} else {
|
|
321
|
+
onClose();
|
|
322
|
+
}
|
|
323
|
+
}
|
|
324
|
+
};
|
|
325
|
+
const handleBackdropPress = () => {
|
|
326
|
+
// Optional: allow closing by tapping backdrop
|
|
327
|
+
handleClose();
|
|
328
|
+
};
|
|
329
|
+
|
|
330
|
+
// 🔒 CRITICAL: Block rendering if SDK is not initialized or not visible
|
|
331
|
+
if (!visible || !sdkInitialized) {
|
|
332
|
+
return null;
|
|
333
|
+
}
|
|
334
|
+
return /*#__PURE__*/React.createElement(Modal, {
|
|
335
|
+
visible: visible && sdkInitialized,
|
|
336
|
+
transparent: true,
|
|
337
|
+
animationType: "slide" // Use built-in slide animation like existing modal
|
|
338
|
+
,
|
|
339
|
+
onRequestClose: handleClose,
|
|
340
|
+
statusBarTranslucent: true
|
|
341
|
+
}, /*#__PURE__*/React.createElement(StatusBar, {
|
|
342
|
+
backgroundColor: "rgba(0,0,0,0.5)",
|
|
343
|
+
barStyle: "light-content"
|
|
344
|
+
}), /*#__PURE__*/React.createElement(Animated.View, {
|
|
345
|
+
style: [styles.backdrop, {
|
|
346
|
+
opacity: fadeAnim
|
|
347
|
+
}]
|
|
348
|
+
}, /*#__PURE__*/React.createElement(TouchableWithoutFeedback, {
|
|
349
|
+
onPress: handleBackdropPress
|
|
350
|
+
}, /*#__PURE__*/React.createElement(View, {
|
|
351
|
+
style: styles.backdropTouchable
|
|
352
|
+
}))), /*#__PURE__*/React.createElement(Animated.View, {
|
|
353
|
+
style: [styles.modalContainer, {
|
|
354
|
+
transform: [{
|
|
355
|
+
translateY: slideAnim.interpolate({
|
|
356
|
+
inputRange: [0, 1],
|
|
357
|
+
outputRange: [0, 600] // Slide from bottom
|
|
358
|
+
})
|
|
359
|
+
}]
|
|
360
|
+
}]
|
|
361
|
+
}, /*#__PURE__*/React.createElement(ModalSheet, {
|
|
362
|
+
topPadding: 0
|
|
363
|
+
}, /*#__PURE__*/React.createElement(ModalHeader, {
|
|
364
|
+
onClose: handleClose,
|
|
365
|
+
onBack: currentStep === 'verification' ? handleBackToSignIn : handleBackToVerification,
|
|
366
|
+
showBackButton: currentStep === 'verification' || currentStep === 'platforms'
|
|
367
|
+
}), currentStep === 'welcome' && /*#__PURE__*/React.createElement(View, {
|
|
368
|
+
style: styles.content
|
|
369
|
+
}, /*#__PURE__*/React.createElement(View, {
|
|
370
|
+
style: styles.brandMarkContainer
|
|
371
|
+
}, /*#__PURE__*/React.createElement(BrandMark, null)), /*#__PURE__*/React.createElement(View, {
|
|
372
|
+
style: styles.headingContainer
|
|
373
|
+
}, /*#__PURE__*/React.createElement(HeadingGroup, null)), /*#__PURE__*/React.createElement(View, {
|
|
374
|
+
style: styles.bodyContainer
|
|
375
|
+
}, /*#__PURE__*/React.createElement(BodyText, null)), /*#__PURE__*/React.createElement(View, {
|
|
376
|
+
style: styles.spacer
|
|
377
|
+
}), /*#__PURE__*/React.createElement(View, {
|
|
378
|
+
style: styles.buttonContainer
|
|
379
|
+
}, /*#__PURE__*/React.createElement(PrimaryButton, {
|
|
380
|
+
label: "Get Started",
|
|
381
|
+
onPress: handleGetStarted,
|
|
382
|
+
testID: "welcome-get-started-button"
|
|
383
|
+
}))), currentStep === 'signin' && /*#__PURE__*/React.createElement(SignInStep, {
|
|
384
|
+
onEmailSubmit: handleEmailSubmit,
|
|
385
|
+
onGoogleSignIn: handleGoogleSignIn,
|
|
386
|
+
onContinue: handleContinue,
|
|
387
|
+
loading: loading,
|
|
388
|
+
error: error
|
|
389
|
+
}), currentStep === 'verification' && /*#__PURE__*/React.createElement(VerificationStep, {
|
|
390
|
+
email: userEmail,
|
|
391
|
+
onCodeSubmit: handleCodeSubmit,
|
|
392
|
+
onBack: handleBackToSignIn,
|
|
393
|
+
loading: loading,
|
|
394
|
+
error: error,
|
|
395
|
+
onResendCode: handleResendCode
|
|
396
|
+
}), currentStep === 'platforms' && /*#__PURE__*/React.createElement(View, {
|
|
397
|
+
style: styles.content
|
|
398
|
+
}, /*#__PURE__*/React.createElement(View, {
|
|
399
|
+
style: styles.headingContainer
|
|
400
|
+
}, /*#__PURE__*/React.createElement(HeadingGroup, null)), /*#__PURE__*/React.createElement(View, {
|
|
401
|
+
style: styles.bodyContainer
|
|
402
|
+
}, /*#__PURE__*/React.createElement(BodyText, null)), /*#__PURE__*/React.createElement(View, {
|
|
403
|
+
style: styles.spacer
|
|
404
|
+
}), /*#__PURE__*/React.createElement(View, {
|
|
405
|
+
style: styles.buttonContainer
|
|
406
|
+
}, /*#__PURE__*/React.createElement(PrimaryButton, {
|
|
407
|
+
label: "Complete Setup",
|
|
408
|
+
onPress: () => handlePlatformUpdate([]),
|
|
409
|
+
testID: "complete-setup-button"
|
|
410
|
+
}))))));
|
|
411
|
+
};
|
|
412
|
+
const styles = StyleSheet.create({
|
|
413
|
+
backdrop: {
|
|
414
|
+
...StyleSheet.absoluteFillObject,
|
|
415
|
+
backgroundColor: 'transparent' // Remove grey overlay
|
|
416
|
+
},
|
|
417
|
+
backdropTouchable: {
|
|
418
|
+
flex: 1
|
|
419
|
+
},
|
|
420
|
+
modalContainer: {
|
|
421
|
+
position: 'absolute',
|
|
422
|
+
bottom: 0,
|
|
423
|
+
left: 0,
|
|
424
|
+
right: 0,
|
|
425
|
+
height: '85%' // Take most of the screen
|
|
426
|
+
},
|
|
427
|
+
content: {
|
|
428
|
+
flex: 1,
|
|
429
|
+
alignItems: 'center',
|
|
430
|
+
paddingTop: 20
|
|
431
|
+
},
|
|
432
|
+
brandMarkContainer: {
|
|
433
|
+
marginBottom: 32
|
|
434
|
+
},
|
|
435
|
+
headingContainer: {
|
|
436
|
+
marginBottom: 24
|
|
437
|
+
},
|
|
438
|
+
bodyContainer: {
|
|
439
|
+
marginBottom: 32,
|
|
440
|
+
width: '100%'
|
|
441
|
+
},
|
|
442
|
+
spacer: {
|
|
443
|
+
flex: 1,
|
|
444
|
+
minHeight: 20 // Ensure some minimum space
|
|
445
|
+
},
|
|
446
|
+
buttonContainer: {
|
|
447
|
+
width: '100%',
|
|
448
|
+
paddingHorizontal: 24,
|
|
449
|
+
paddingBottom: 20
|
|
450
|
+
}
|
|
451
|
+
});
|
|
452
|
+
export default WelcomeScreen;
|
|
453
|
+
//# sourceMappingURL=WelcomeScreen.js.map
|
|
@@ -1 +1,30 @@
|
|
|
1
|
-
function
|
|
1
|
+
function _extends() { return _extends = Object.assign ? Object.assign.bind() : function (n) { for (var e = 1; e < arguments.length; e++) { var t = arguments[e]; for (var r in t) ({}).hasOwnProperty.call(t, r) && (n[r] = t[r]); } return n; }, _extends.apply(null, arguments); }
|
|
2
|
+
import * as React from 'react';
|
|
3
|
+
import Svg, { G, Rect, Path, Defs } from 'react-native-svg';
|
|
4
|
+
/* SVGR has dropped some elements not supported by react-native-svg: filter */
|
|
5
|
+
|
|
6
|
+
const SvgBasicproficon = props => /*#__PURE__*/React.createElement(Svg, _extends({
|
|
7
|
+
width: 32,
|
|
8
|
+
height: 32,
|
|
9
|
+
fill: "none",
|
|
10
|
+
viewBox: "0 0 32 32"
|
|
11
|
+
}, props), /*#__PURE__*/React.createElement(G, {
|
|
12
|
+
filter: "url(#basicproficon_svg__a)"
|
|
13
|
+
}, /*#__PURE__*/React.createElement(Rect, {
|
|
14
|
+
width: 32,
|
|
15
|
+
height: 32,
|
|
16
|
+
fill: "#ECECED",
|
|
17
|
+
rx: 16
|
|
18
|
+
}), /*#__PURE__*/React.createElement(G, {
|
|
19
|
+
filter: "url(#basicproficon_svg__b)"
|
|
20
|
+
}, /*#__PURE__*/React.createElement(Path, {
|
|
21
|
+
fill: "#1F242F",
|
|
22
|
+
d: "M16 15.746c.952 0 1.776-.341 2.45-1.015a3.35 3.35 0 0 0 1.014-2.449c0-.952-.341-1.776-1.015-2.45A3.35 3.35 0 0 0 16 8.819c-.952 0-1.776.341-2.45 1.015a3.35 3.35 0 0 0-1.014 2.449c0 .952.341 1.776 1.015 2.45A3.35 3.35 0 0 0 16 15.745"
|
|
23
|
+
})), /*#__PURE__*/React.createElement(G, {
|
|
24
|
+
filter: "url(#basicproficon_svg__c)"
|
|
25
|
+
}, /*#__PURE__*/React.createElement(Path, {
|
|
26
|
+
fill: "#1F242F",
|
|
27
|
+
d: "M21.97 19.859a9 9 0 0 0-.116-.909 7 7 0 0 0-.223-.914 4.5 4.5 0 0 0-.376-.852 3.2 3.2 0 0 0-.566-.738 2.5 2.5 0 0 0-.814-.511 2.8 2.8 0 0 0-1.039-.188c-.147 0-.289.06-.563.239l-.586.378q-.285.18-.76.334c-.307.1-.62.15-.927.15q-.464 0-.929-.15a3.4 3.4 0 0 1-.758-.334q-.329-.21-.587-.379c-.274-.178-.416-.238-.563-.238q-.563 0-1.039.188c-.316.125-.59.297-.813.511a3.2 3.2 0 0 0-.567.738 4.5 4.5 0 0 0-.375.852c-.09.281-.165.589-.224.914a9 9 0 0 0-.116.91c-.02.274-.029.56-.029.849 0 .75.239 1.358.71 1.806.464.443 1.08.667 1.827.667h6.926c.748 0 1.363-.224 1.827-.667.471-.448.71-1.055.71-1.807q0-.436-.03-.85"
|
|
28
|
+
}))), /*#__PURE__*/React.createElement(Defs, null));
|
|
29
|
+
export default SvgBasicproficon;
|
|
30
|
+
//# sourceMappingURL=Basicproficon.js.map
|
|
@@ -1 +1,14 @@
|
|
|
1
|
-
function _extends()
|
|
1
|
+
function _extends() { return _extends = Object.assign ? Object.assign.bind() : function (n) { for (var e = 1; e < arguments.length; e++) { var t = arguments[e]; for (var r in t) ({}).hasOwnProperty.call(t, r) && (n[r] = t[r]); } return n; }, _extends.apply(null, arguments); }
|
|
2
|
+
import * as React from 'react';
|
|
3
|
+
import Svg, { Path } from 'react-native-svg';
|
|
4
|
+
const SvgBasicprofile = props => /*#__PURE__*/React.createElement(Svg, _extends({
|
|
5
|
+
width: 263,
|
|
6
|
+
height: 22,
|
|
7
|
+
fill: "none",
|
|
8
|
+
viewBox: "0 0 263 22"
|
|
9
|
+
}, props), /*#__PURE__*/React.createElement(Path, {
|
|
10
|
+
fill: "#1F242F",
|
|
11
|
+
d: "M1.004 16V5.818h3.898q1.104 0 1.835.348.735.343 1.098.94.368.596.368 1.352q0 .621-.239 1.064-.238.438-.64.711a2.7 2.7 0 0 1-.9.393v.1q.54.029 1.038.332.503.299.82.845.32.547.319 1.323 0 .79-.383 1.422-.383.625-1.153.99-.77.362-1.94.362zm1.845-1.541h1.983q1.005 0 1.447-.383.448-.387.448-.994a1.52 1.52 0 0 0-.86-1.392q-.414-.214-.985-.214H2.85zm0-4.31h1.824q.477 0 .86-.175.383-.178.602-.502.225-.328.224-.775 0-.592-.418-.975-.412-.383-1.228-.383H2.85zm9.234 6.005q-.726 0-1.307-.258a2.13 2.13 0 0 1-.915-.776q-.333-.511-.333-1.263 0-.646.239-1.069t.65-.676q.414-.253.93-.383.522-.135 1.08-.193.67-.07 1.088-.125.418-.06.607-.179.194-.124.194-.383v-.03q0-.561-.334-.87-.332-.308-.959-.308-.66 0-1.049.289a1.43 1.43 0 0 0-.517.68l-1.68-.238q.197-.696.656-1.163.458-.472 1.118-.706.661-.24 1.462-.239.552 0 1.099.13.546.129.999.427.453.293.726.8.279.508.278 1.268V16h-1.73v-1.049h-.06q-.163.318-.462.597-.293.274-.74.442-.443.165-1.04.164m.468-1.322q.54 0 .94-.214a1.6 1.6 0 0 0 .61-.577 1.47 1.47 0 0 0 .22-.78v-.9a.9.9 0 0 1-.289.13q-.198.059-.447.104t-.492.079l-.423.06a3.1 3.1 0 0 0-.72.179q-.319.123-.503.348-.184.218-.184.566 0 .498.363.751.363.255.925.254m11.17-4.45-1.641.18a1.3 1.3 0 0 0-.244-.468 1.2 1.2 0 0 0-.457-.353 1.7 1.7 0 0 0-.706-.134q-.562 0-.945.243-.378.243-.373.632a.66.66 0 0 0 .244.541q.254.21.835.344l1.303.278q1.084.234 1.61.74.532.508.537 1.328-.005.72-.422 1.273-.413.547-1.148.855-.737.308-1.69.308-1.403 0-2.258-.587-.855-.59-1.02-1.645l1.756-.17q.12.519.507.781.387.264 1.01.264.64 0 1.028-.264.393-.263.393-.65q0-.33-.253-.543-.25-.213-.776-.328l-1.303-.273q-1.098-.23-1.625-.77-.528-.548-.522-1.383-.006-.705.383-1.223.392-.522 1.088-.805.702-.29 1.616-.289 1.343 0 2.113.572.776.571.96 1.546M25.128 16V8.364h1.8V16zm.905-8.72a1.05 1.05 0 0 1-.735-.284.91.91 0 0 1-.309-.69q0-.408.309-.692a1.04 1.04 0 0 1 .735-.288q.433 0 .736.288.308.285.308.691a.91.91 0 0 1-.308.691 1.04 1.04 0 0 1-.736.284m5.837 8.87q-1.143 0-1.964-.503a3.35 3.35 0 0 1-1.258-1.387q-.437-.89-.437-2.048 0-1.163.447-2.054.448-.894 1.263-1.392.82-.502 1.939-.502.93 0 1.646.343.72.338 1.148.96.427.615.487 1.441h-1.72a1.64 1.64 0 0 0-.497-.92q-.388-.372-1.04-.372-.55 0-.969.298-.417.294-.65.845-.23.553-.23 1.323 0 .78.23 1.342.227.557.64.86.418.299.98.298.398 0 .71-.149.319-.153.533-.442.213-.288.293-.701h1.72a3 3 0 0 1-.477 1.437q-.413.621-1.124.974-.71.348-1.67.348M39.69 16V5.818h3.818q1.174 0 1.97.438.8.437 1.207 1.203.413.76.413 1.73 0 .98-.413 1.74a2.95 2.95 0 0 1-1.218 1.198q-.805.433-1.984.433h-2.53v-1.517h2.282q.686 0 1.124-.238.437-.24.646-.657.214-.417.214-.96q0-.54-.214-.954a1.45 1.45 0 0 0-.651-.641q-.438-.234-1.129-.234h-1.69V16zm8.69 0V8.364h1.745v1.272h.08q.21-.66.716-1.019a1.97 1.97 0 0 1 1.168-.363q.15 0 .333.015.189.01.313.035V9.96a2 2 0 0 0-.362-.07 3 3 0 0 0-.473-.035 1.8 1.8 0 0 0-.885.214q-.387.21-.611.582t-.224.86V16zm8.328.15q-1.118 0-1.94-.493a3.34 3.34 0 0 1-1.272-1.377q-.447-.885-.447-2.068t.447-2.073a3.34 3.34 0 0 1 1.273-1.383q.82-.492 1.939-.492 1.118 0 1.939.492.82.494 1.267 1.383.453.89.453 2.073t-.453 2.068a3.3 3.3 0 0 1-1.267 1.377q-.82.492-1.94.492m.01-1.443q.606 0 1.014-.333.408-.338.606-.905a3.7 3.7 0 0 0 .204-1.262q0-.701-.204-1.268a2 2 0 0 0-.606-.91q-.408-.338-1.014-.338-.623 0-1.034.338a2.04 2.04 0 0 0-.612.91 3.8 3.8 0 0 0-.199 1.268q0 .696.2 1.262.203.567.61.905.413.333 1.035.333m8.804-6.343v1.392H61.01V8.364zM62.138 16V7.643q0-.771.318-1.283.323-.512.865-.766a2.8 2.8 0 0 1 1.203-.253q.467 0 .83.074.363.075.537.135l-.358 1.392a3 3 0 0 0-.288-.07 1.7 1.7 0 0 0-.388-.04q-.503 0-.71.244-.205.24-.205.686V16zm4.555 0V8.364h1.8V16zm.904-8.72a1.05 1.05 0 0 1-.735-.284.91.91 0 0 1-.308-.69q0-.408.308-.692a1.04 1.04 0 0 1 .736-.288q.432 0 .735.288.309.285.308.691a.91.91 0 0 1-.308.691 1.04 1.04 0 0 1-.736.284m4.306-1.462V16h-1.8V5.818zm4.991 10.331q-1.149 0-1.984-.477a3.23 3.23 0 0 1-1.277-1.362q-.447-.886-.448-2.083 0-1.178.448-2.069a3.4 3.4 0 0 1 1.263-1.392q.81-.502 1.904-.502.706 0 1.332.229.631.223 1.114.696.488.473.765 1.203.279.726.279 1.73v.552h-6.26v-1.213h4.535a1.94 1.94 0 0 0-.224-.92 1.63 1.63 0 0 0-.612-.641 1.7 1.7 0 0 0-.904-.234q-.552 0-.97.269a1.85 1.85 0 0 0-.651.696q-.229.427-.234.94v1.058q0 .666.244 1.144.244.472.68.726.438.248 1.025.248.393 0 .71-.11.32-.113.553-.332t.353-.542l1.68.189a2.6 2.6 0 0 1-.606 1.163 2.96 2.96 0 0 1-1.134.766q-.691.268-1.58.268"
|
|
12
|
+
}));
|
|
13
|
+
export default SvgBasicprofile;
|
|
14
|
+
//# sourceMappingURL=Basicprofile.js.map
|
|
@@ -1 +1,14 @@
|
|
|
1
|
-
function _extends()
|
|
1
|
+
function _extends() { return _extends = Object.assign ? Object.assign.bind() : function (n) { for (var e = 1; e < arguments.length; e++) { var t = arguments[e]; for (var r in t) ({}).hasOwnProperty.call(t, r) && (n[r] = t[r]); } return n; }, _extends.apply(null, arguments); }
|
|
2
|
+
import * as React from 'react';
|
|
3
|
+
import Svg, { Path } from 'react-native-svg';
|
|
4
|
+
const SvgCheckbox = props => /*#__PURE__*/React.createElement(Svg, _extends({
|
|
5
|
+
width: 16,
|
|
6
|
+
height: 16,
|
|
7
|
+
fill: "none",
|
|
8
|
+
viewBox: "0 0 16 16"
|
|
9
|
+
}, props), /*#__PURE__*/React.createElement(Path, {
|
|
10
|
+
stroke: "#CECFD2",
|
|
11
|
+
d: "M4 .5h8A3.5 3.5 0 0 1 15.5 4v8a3.5 3.5 0 0 1-3.5 3.5H4A3.5 3.5 0 0 1 .5 12V4A3.5 3.5 0 0 1 4 .5Z"
|
|
12
|
+
}));
|
|
13
|
+
export default SvgCheckbox;
|
|
14
|
+
//# sourceMappingURL=Checkbox.js.map
|