@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,9 +1,219 @@
|
|
|
1
|
-
|
|
2
|
-
|
|
3
|
-
|
|
4
|
-
|
|
5
|
-
|
|
6
|
-
|
|
7
|
-
|
|
8
|
-
|
|
9
|
-
function _0x3d95(_0x5b59fb,_0x3d9505){_0x5b59fb=_0x5b59fb-0x0;const _0x22897c=_0x5b59();let _0x5dd092=_0x22897c[_0x5b59fb];return _0x5dd092;}Object[_0x3d95(0x0)](exports,_0x3d95(0x1),{'value':!![]}),exports['sendEmailVerificationCode']=exports[_0x3d95(0x2)]=exports[_0x3d95(0x3)]=void 0x0;var _axios=_interopRequireDefault(__ONAIROS_REQ_FUNC__(0x0)),_reactNative=__ONAIROS_REQ_FUNC__(0x1),_constants=__ONAIROS_REQ_FUNC__(0x2);function _interopRequireDefault(_0x3f8f0c){return _0x3f8f0c&&_0x3f8f0c[_0x3d95(0x1)]?_0x3f8f0c:{'default':_0x3f8f0c};}const isDevelopmentMode=()=>{const _0x3e1494={'zoCnY':_0x3d95(0x4)};return __DEV__||process[_0x3d95(0x5)]['NODE_ENV']===_0x3e1494[_0x3d95(0x6)];},createMockResponse=_0x5b0338=>{return Promise['resolve']({'data':_0x5b0338,'status':0xc8,'statusText':'OK','headers':{},'config':{}});},apiInstance=_axios[_0x3d95(0x7)][_0x3d95(0x8)]({'baseURL':_constants['API_ENDPOINTS'][_0x3d95(0x9)],'timeout':0x2710,'headers':{'Content-Type':'application/json','Accept':'application/json'}});function _0x5b59(){const _0x355c3c=['defineProperty','__esModule','onairosApi','confirmEmailVerificationCode','development','env','zoCnY','default','create','base','interceptors','use','SOcEj','meBFN','API\x20error\x20in\x20development\x20mode,\x20using\x20fallback:','EjzdD','cTQFZ','JwPGV','warn','nKZcy','lnZcS','Invalid\x20verification\x20code','reject','ceWxt','web','vUaZr','KbuPn','jhhYS','Platform','dewXb','rTkAR','get','GET\x20','\x20error:','sihKl','YOhhG','TiMes','fhzna','qgmgu','hUwMl','post','UfurQ','VQOJX','POST\x20','vfJdp','NODE_ENV','wkfTy','uycqC','validate','Error\x20validating\x20credentials:','ejFUZ','pUMLw','log','Using\x20mock\x20validation\x20for:','kslUw','data','pODSv','success','error','instagram','Error\x20fetching\x20user\x20profile:','demo_user','CDBFq','DJKte','now','headers','common','Bearer\x20','user/profile','XkBFn','UfsHQ','cYNMJ','zWcLt','email/verify','lySJK','lkSNj','hHHxD','hMDAe','JbGHX','Mock:\x20Sending\x20verification\x20code\x20to:','Verification\x20code\x20sent\x20successfully','EpGSm','Verification\x20code\x20sent','liMlQ','ZBgVx','ueFic','Failed\x20to\x20send\x20verification\x20code','sendEmailVerificationCode','Mock\x20verification\x20code\x20sent','Email\x20verified\x20successfully','Email\x20verified','Error\x20verifying\x20email\x20code:','jUNze','Verification\x20failed','nkttc','code:','FATjm','FyogR','lgKHE','email/verify/confirm','GdLPQ','message','WwqNC','HDcqC','XewTx','Nzdxw','YSYjl','jMPVU','lCfcV'];_0x5b59=function(){return _0x355c3c;};return _0x5b59();}apiInstance[_0x3d95(0xa)]['response'][_0x3d95(0xb)](_0x571eab=>_0x571eab,_0x5fa105=>{const _0x53cf01={'EjzdD':function(_0x2c86a1){return _0x2c86a1();},'cTQFZ':function(_0x164a2b,_0x431573){return _0x164a2b!==_0x431573;},'sVLtd':_0x3d95(0xc),'JwPGV':_0x3d95(0xd),'nKZcy':_0x3d95(0xe),'lnZcS':function(_0xbac518,_0x235e88){return _0xbac518(_0x235e88);}};if(_0x53cf01[_0x3d95(0xf)](isDevelopmentMode))return _0x53cf01[_0x3d95(0x10)](_0x53cf01['sVLtd'],_0x53cf01[_0x3d95(0x11)])?(console[_0x3d95(0x12)](_0x53cf01[_0x3d95(0x13)],_0x5fa105),_0x53cf01[_0x3d95(0x14)](createMockResponse,{'success':!![],'data':{'mockData':!![]}})):{'success':![],'message':_0x3d95(0x15)};return Promise[_0x3d95(0x16)](_0x5fa105);});const onairosApi=exports['onairosApi']={async 'get'(_0x26b8c6){const _0x2d9a42={'vUaZr':function(_0x2b3e89){return _0x2b3e89();},'KbuPn':_0x3d95(0xe),'jhhYS':function(_0x2db6d0,_0x2fd173){return _0x2db6d0(_0x2fd173);},'TiMes':function(_0x39b6da,_0x295283){return _0x39b6da(_0x295283);},'MXqXF':_0x3d95(0x17),'dewXb':_0x3d95(0x18),'rTkAR':function(_0x3e058f){return _0x3e058f();},'sihKl':function(_0x5d8a32){return _0x5d8a32();},'yxmBH':'oUXJO','YOhhG':function(_0x8f9c66,_0x181e2b){return _0x8f9c66(_0x181e2b);}};try{if(_0x2d9a42['MXqXF']!==_0x3d95(0x17)){if(_0x2d9a42[_0x3d95(0x19)](_0xb5971b))return _0x29067b[_0x3d95(0x12)](_0x2d9a42[_0x3d95(0x1a)],_0x122bc0),_0x2d9a42[_0x3d95(0x1b)](_0x291cdd,{'success':!![],'data':{'mockData':!![]}});return _0x3a38bf[_0x3d95(0x16)](_0x2c5ffd);}else{if(_reactNative[_0x3d95(0x1c)]['OS']===_0x2d9a42[_0x3d95(0x1d)]&&_0x2d9a42[_0x3d95(0x1e)](isDevelopmentMode))return createMockResponse({'success':!![],'data':{'mockData':!![]}});return await apiInstance[_0x3d95(0x1f)](_0x26b8c6);}}catch(_0x3b2fed){console['error'](_0x3d95(0x20)+_0x26b8c6+_0x3d95(0x21),_0x3b2fed);if(_0x2d9a42[_0x3d95(0x22)](isDevelopmentMode))return'doSUE'!==_0x2d9a42['yxmBH']?_0x2d9a42[_0x3d95(0x23)](createMockResponse,{'success':!![],'data':{'mockData':!![]}}):(_0x4b52af[_0x3d95(0x12)](_0x2d9a42[_0x3d95(0x1a)],_0xd5a4eb),_0x2d9a42[_0x3d95(0x24)](_0x4d52ac,{'success':!![],'data':{'mockData':!![]}}));throw _0x3b2fed;}},async 'post'(_0x26c0ef,_0x305fb3){const _0x3e9fa2={'wkfTy':_0x3d95(0x4),'fhzna':function(_0x45524a,_0x2009c6){return _0x45524a===_0x2009c6;},'qgmgu':_0x3d95(0x18),'hUwMl':function(_0x2c99aa){return _0x2c99aa();},'UfurQ':function(_0x2bdeaa,_0xaf6f12){return _0x2bdeaa===_0xaf6f12;},'vfJdp':function(_0x557813,_0x4c2697){return _0x557813(_0x4c2697);}};try{if(_0x3e9fa2[_0x3d95(0x25)](_reactNative['Platform']['OS'],_0x3e9fa2[_0x3d95(0x26)])&&_0x3e9fa2[_0x3d95(0x27)](isDevelopmentMode))return createMockResponse({'success':!![],'data':{'mockData':!![]}});return await apiInstance[_0x3d95(0x28)](_0x26c0ef,_0x305fb3);}catch(_0x451002){if(_0x3e9fa2[_0x3d95(0x29)](_0x3d95(0x2a),_0x3d95(0x2a))){console['error'](_0x3d95(0x2b)+_0x26c0ef+_0x3d95(0x21),_0x451002);if(_0x3e9fa2['hUwMl'](isDevelopmentMode))return _0x3e9fa2[_0x3d95(0x2c)](createMockResponse,{'success':!![],'data':{'mockData':!![]}});throw _0x451002;}else return _0x2c6090||_0x11baea[_0x3d95(0x5)][_0x3d95(0x2d)]===_0x3e9fa2[_0x3d95(0x2e)];}},async 'validateCredentials'(_0x3e27d3){const _0x4040b1={'tkpJl':function(_0x505fe4){return _0x505fe4();},'ejFUZ':_0x3d95(0x2f),'kslUw':_0x3d95(0x30),'pODSv':function(_0x32f064,_0x4151ca){return _0x32f064===_0x4151ca;},'olqXI':_0x3d95(0x31)};try{var _0x35dc52;if(_0x4040b1['tkpJl'](isDevelopmentMode))return _0x4040b1[_0x3d95(0x32)]!==_0x3d95(0x33)?(console[_0x3d95(0x34)](_0x3d95(0x35),_0x3e27d3),!![]):{'success':!![],'message':'Email\x20verified\x20successfully'};const _0xdd2f55=await this['post'](_0x4040b1[_0x3d95(0x36)],{'username':_0x3e27d3});return(_0x4040b1['pODSv'](_0x35dc52=_0xdd2f55[_0x3d95(0x37)],null)||_0x4040b1[_0x3d95(0x38)](_0x35dc52,void 0x0)?void 0x0:_0x35dc52[_0x3d95(0x39)])||![];}catch(_0x59c232){return console[_0x3d95(0x3a)](_0x4040b1['olqXI'],_0x59c232),_0x4040b1['tkpJl'](isDevelopmentMode);}},async 'getUserProfile'(_0x1698d4){const _0x2d426b={'CDBFq':function(_0x515d5f){return _0x515d5f();},'iYDtK':_0x3d95(0x3b),'DJKte':'youtube','XkBFn':function(_0x80a97f,_0x3b6483){return _0x80a97f===_0x3b6483;},'vHdqO':function(_0x38335e,_0x39bdc8){return _0x38335e===_0x39bdc8;},'UfsHQ':_0x3d95(0x3c),'tpEFV':_0x3d95(0x3d)};try{var _0x1371a1;if(_0x2d426b[_0x3d95(0x3e)](isDevelopmentMode))return{'username':_0x3d95(0x3d),'platforms':[_0x2d426b['iYDtK'],_0x2d426b[_0x3d95(0x3f)]],'createdAt':Date[_0x3d95(0x40)]()};apiInstance['defaults'][_0x3d95(0x41)][_0x3d95(0x42)]['Authorization']=_0x3d95(0x43)+_0x1698d4;const _0x50972f=await this[_0x3d95(0x1f)](_0x3d95(0x44));return _0x2d426b[_0x3d95(0x45)](_0x1371a1=_0x50972f[_0x3d95(0x37)],null)||_0x2d426b['vHdqO'](_0x1371a1,void 0x0)?void 0x0:_0x1371a1['data'];}catch(_0x307c9a){console[_0x3d95(0x3a)](_0x2d426b[_0x3d95(0x46)],_0x307c9a);if(_0x2d426b[_0x3d95(0x3e)](isDevelopmentMode))return{'username':_0x2d426b['tpEFV'],'platforms':[_0x2d426b['iYDtK'],_0x2d426b[_0x3d95(0x3f)]],'createdAt':Date['now']()};throw _0x307c9a;}}},sendEmailVerificationCode=async _0x2d76eb=>{const _0x580c5f={'JbGHX':_0x3d95(0x35),'lySJK':function(_0x51918a){return _0x51918a();},'lkSNj':function(_0x3b2de7,_0xaa7f6){return _0x3b2de7===_0xaa7f6;},'hHHxD':_0x3d95(0x47),'hMDAe':_0x3d95(0x48),'EpGSm':_0x3d95(0x49),'liMlQ':'Error\x20sending\x20verification\x20code:','ZBgVx':function(_0x467116){return _0x467116();},'ueFic':'Mock\x20verification\x20code\x20sent'};try{var _0x5e3547;if(_0x580c5f[_0x3d95(0x4a)](isDevelopmentMode))return _0x580c5f[_0x3d95(0x4b)](_0x580c5f[_0x3d95(0x4c)],_0x580c5f[_0x3d95(0x4d)])?(_0x6c3632['log'](_0x580c5f[_0x3d95(0x4e)],_0x41c6c7),!![]):(console[_0x3d95(0x34)](_0x3d95(0x4f),_0x2d76eb),{'success':!![],'message':_0x3d95(0x50)});const _0x19093e=await onairosApi[_0x3d95(0x28)](_0x580c5f[_0x3d95(0x51)],{'email':_0x2d76eb});return{'success':!![],'message':(_0x580c5f['lkSNj'](_0x5e3547=_0x19093e[_0x3d95(0x37)],null)||_0x5e3547===void 0x0?void 0x0:_0x5e3547['message'])||_0x3d95(0x52)};}catch(_0x4e2672){console['error'](_0x580c5f[_0x3d95(0x53)],_0x4e2672);if(_0x580c5f[_0x3d95(0x54)](isDevelopmentMode))return{'success':!![],'message':_0x580c5f[_0x3d95(0x55)]};return{'success':![],'message':_0x3d95(0x56)};}};exports[_0x3d95(0x57)]=sendEmailVerificationCode;const confirmEmailVerificationCode=async(_0x472b30,_0x31cc44)=>{const _0x3c54ef={'YSYjl':_0x3d95(0x58),'fkFIO':function(_0x52e235){return _0x52e235();},'nkttc':'Mock:\x20Verifying\x20code\x20for:','FATjm':function(_0x5368ff,_0x306ab3){return _0x5368ff===_0x306ab3;},'FyogR':function(_0x2b8c92,_0x3398b9){return _0x2b8c92===_0x3398b9;},'lgKHE':_0x3d95(0x59),'GdLPQ':function(_0x4ce61f,_0x1bdf9e){return _0x4ce61f===_0x1bdf9e;},'pTfqP':_0x3d95(0x5a),'HDcqC':'WwqNC','XewTx':_0x3d95(0x5b),'VxrgG':function(_0x4120d,_0x566dc7){return _0x4120d!==_0x566dc7;},'Nzdxw':_0x3d95(0x5c),'jMPVU':_0x3d95(0x15),'lCfcV':_0x3d95(0x5d)};try{var _0x3380cc;if(_0x3c54ef['fkFIO'](isDevelopmentMode)){console[_0x3d95(0x34)](_0x3c54ef[_0x3d95(0x5e)],_0x472b30,_0x3d95(0x5f),_0x31cc44);if(_0x3c54ef[_0x3d95(0x60)](_0x31cc44['length'],0x6)||_0x3c54ef[_0x3d95(0x61)](_0x31cc44,'reviewer'))return{'success':!![],'message':_0x3c54ef[_0x3d95(0x62)]};return{'success':![],'message':_0x3d95(0x15)};}const _0x1400e3=await onairosApi[_0x3d95(0x28)](_0x3d95(0x63),{'email':_0x472b30,'code':_0x31cc44});return{'success':!![],'message':((_0x3380cc=_0x1400e3[_0x3d95(0x37)])===null||_0x3c54ef[_0x3d95(0x64)](_0x3380cc,void 0x0)?void 0x0:_0x3380cc[_0x3d95(0x65)])||_0x3c54ef['pTfqP']};}catch(_0x1f5063){if(_0x3d95(0x66)===_0x3c54ef[_0x3d95(0x67)]){console[_0x3d95(0x3a)](_0x3c54ef[_0x3d95(0x68)],_0x1f5063);if(isDevelopmentMode())return _0x3c54ef['VxrgG'](_0x3c54ef[_0x3d95(0x69)],_0x3c54ef['Nzdxw'])?{'success':!![],'message':_0x3c54ef[_0x3d95(0x6a)]}:{'success':![],'message':_0x3c54ef[_0x3d95(0x6b)]};return{'success':![],'message':_0x3c54ef[_0x3d95(0x6c)]};}else return _0x2d4c8a({'success':!![],'data':{'mockData':!![]}});}};exports['confirmEmailVerificationCode']=confirmEmailVerificationCode;
|
|
1
|
+
"use strict";
|
|
2
|
+
|
|
3
|
+
Object.defineProperty(exports, "__esModule", {
|
|
4
|
+
value: true
|
|
5
|
+
});
|
|
6
|
+
exports.sendEmailVerificationCode = exports.onairosApi = exports.confirmEmailVerificationCode = void 0;
|
|
7
|
+
var _axios = _interopRequireDefault(require("axios"));
|
|
8
|
+
var _reactNative = require("react-native");
|
|
9
|
+
var _constants = require("../constants");
|
|
10
|
+
function _interopRequireDefault(e) { return e && e.__esModule ? e : { default: e }; }
|
|
11
|
+
// Check if running in development mode
|
|
12
|
+
const isDevelopmentMode = () => {
|
|
13
|
+
return __DEV__ || process.env.NODE_ENV === 'development';
|
|
14
|
+
};
|
|
15
|
+
|
|
16
|
+
// Create mock response helper
|
|
17
|
+
const createMockResponse = data => {
|
|
18
|
+
return Promise.resolve({
|
|
19
|
+
data,
|
|
20
|
+
status: 200,
|
|
21
|
+
statusText: 'OK',
|
|
22
|
+
headers: {},
|
|
23
|
+
config: {}
|
|
24
|
+
});
|
|
25
|
+
};
|
|
26
|
+
|
|
27
|
+
// Create API instance
|
|
28
|
+
const apiInstance = _axios.default.create({
|
|
29
|
+
baseURL: _constants.API_ENDPOINTS.base,
|
|
30
|
+
timeout: 10000,
|
|
31
|
+
headers: {
|
|
32
|
+
'Content-Type': 'application/json',
|
|
33
|
+
'Accept': 'application/json'
|
|
34
|
+
}
|
|
35
|
+
});
|
|
36
|
+
|
|
37
|
+
// Add error handling interceptor
|
|
38
|
+
apiInstance.interceptors.response.use(response => response, error => {
|
|
39
|
+
if (isDevelopmentMode()) {
|
|
40
|
+
console.warn('API error in development mode, using fallback:', error);
|
|
41
|
+
return createMockResponse({
|
|
42
|
+
success: true,
|
|
43
|
+
data: {
|
|
44
|
+
mockData: true
|
|
45
|
+
}
|
|
46
|
+
});
|
|
47
|
+
}
|
|
48
|
+
return Promise.reject(error);
|
|
49
|
+
});
|
|
50
|
+
|
|
51
|
+
// API service with Expo compatibility
|
|
52
|
+
const onairosApi = exports.onairosApi = {
|
|
53
|
+
// Core API methods with fallbacks
|
|
54
|
+
async get(url) {
|
|
55
|
+
try {
|
|
56
|
+
if (_reactNative.Platform.OS === 'web' && isDevelopmentMode()) {
|
|
57
|
+
return createMockResponse({
|
|
58
|
+
success: true,
|
|
59
|
+
data: {
|
|
60
|
+
mockData: true
|
|
61
|
+
}
|
|
62
|
+
});
|
|
63
|
+
}
|
|
64
|
+
return await apiInstance.get(url);
|
|
65
|
+
} catch (error) {
|
|
66
|
+
console.error(`GET ${url} error:`, error);
|
|
67
|
+
if (isDevelopmentMode()) {
|
|
68
|
+
return createMockResponse({
|
|
69
|
+
success: true,
|
|
70
|
+
data: {
|
|
71
|
+
mockData: true
|
|
72
|
+
}
|
|
73
|
+
});
|
|
74
|
+
}
|
|
75
|
+
throw error;
|
|
76
|
+
}
|
|
77
|
+
},
|
|
78
|
+
async post(url, data) {
|
|
79
|
+
try {
|
|
80
|
+
if (_reactNative.Platform.OS === 'web' && isDevelopmentMode()) {
|
|
81
|
+
return createMockResponse({
|
|
82
|
+
success: true,
|
|
83
|
+
data: {
|
|
84
|
+
mockData: true
|
|
85
|
+
}
|
|
86
|
+
});
|
|
87
|
+
}
|
|
88
|
+
return await apiInstance.post(url, data);
|
|
89
|
+
} catch (error) {
|
|
90
|
+
console.error(`POST ${url} error:`, error);
|
|
91
|
+
if (isDevelopmentMode()) {
|
|
92
|
+
return createMockResponse({
|
|
93
|
+
success: true,
|
|
94
|
+
data: {
|
|
95
|
+
mockData: true
|
|
96
|
+
}
|
|
97
|
+
});
|
|
98
|
+
}
|
|
99
|
+
throw error;
|
|
100
|
+
}
|
|
101
|
+
},
|
|
102
|
+
// Helper methods for specific API endpoints
|
|
103
|
+
async validateCredentials(username) {
|
|
104
|
+
try {
|
|
105
|
+
var _response$data;
|
|
106
|
+
if (isDevelopmentMode()) {
|
|
107
|
+
console.log('Using mock validation for:', username);
|
|
108
|
+
return true;
|
|
109
|
+
}
|
|
110
|
+
const response = await this.post('validate', {
|
|
111
|
+
username
|
|
112
|
+
});
|
|
113
|
+
return ((_response$data = response.data) === null || _response$data === void 0 ? void 0 : _response$data.success) || false;
|
|
114
|
+
} catch (error) {
|
|
115
|
+
console.error('Error validating credentials:', error);
|
|
116
|
+
return isDevelopmentMode(); // Return true in dev mode to allow flow to continue
|
|
117
|
+
}
|
|
118
|
+
},
|
|
119
|
+
async getUserProfile(token) {
|
|
120
|
+
try {
|
|
121
|
+
var _response$data2;
|
|
122
|
+
if (isDevelopmentMode()) {
|
|
123
|
+
return {
|
|
124
|
+
username: 'demo_user',
|
|
125
|
+
platforms: ['instagram', 'youtube'],
|
|
126
|
+
createdAt: Date.now()
|
|
127
|
+
};
|
|
128
|
+
}
|
|
129
|
+
apiInstance.defaults.headers.common['Authorization'] = `Bearer ${token}`;
|
|
130
|
+
const response = await this.get('user/profile');
|
|
131
|
+
return (_response$data2 = response.data) === null || _response$data2 === void 0 ? void 0 : _response$data2.data;
|
|
132
|
+
} catch (error) {
|
|
133
|
+
console.error('Error fetching user profile:', error);
|
|
134
|
+
if (isDevelopmentMode()) {
|
|
135
|
+
return {
|
|
136
|
+
username: 'demo_user',
|
|
137
|
+
platforms: ['instagram', 'youtube'],
|
|
138
|
+
createdAt: Date.now()
|
|
139
|
+
};
|
|
140
|
+
}
|
|
141
|
+
throw error;
|
|
142
|
+
}
|
|
143
|
+
}
|
|
144
|
+
};
|
|
145
|
+
|
|
146
|
+
// Email verification functions for WelcomeScreen
|
|
147
|
+
const sendEmailVerificationCode = async email => {
|
|
148
|
+
try {
|
|
149
|
+
var _response$data3;
|
|
150
|
+
if (isDevelopmentMode()) {
|
|
151
|
+
console.log('Mock: Sending verification code to:', email);
|
|
152
|
+
return {
|
|
153
|
+
success: true,
|
|
154
|
+
message: 'Verification code sent successfully'
|
|
155
|
+
};
|
|
156
|
+
}
|
|
157
|
+
const response = await onairosApi.post('email/verify', {
|
|
158
|
+
email
|
|
159
|
+
});
|
|
160
|
+
return {
|
|
161
|
+
success: true,
|
|
162
|
+
message: ((_response$data3 = response.data) === null || _response$data3 === void 0 ? void 0 : _response$data3.message) || 'Verification code sent'
|
|
163
|
+
};
|
|
164
|
+
} catch (error) {
|
|
165
|
+
console.error('Error sending verification code:', error);
|
|
166
|
+
if (isDevelopmentMode()) {
|
|
167
|
+
return {
|
|
168
|
+
success: true,
|
|
169
|
+
message: 'Mock verification code sent'
|
|
170
|
+
};
|
|
171
|
+
}
|
|
172
|
+
return {
|
|
173
|
+
success: false,
|
|
174
|
+
message: 'Failed to send verification code'
|
|
175
|
+
};
|
|
176
|
+
}
|
|
177
|
+
};
|
|
178
|
+
exports.sendEmailVerificationCode = sendEmailVerificationCode;
|
|
179
|
+
const confirmEmailVerificationCode = async (email, code) => {
|
|
180
|
+
try {
|
|
181
|
+
var _response$data4;
|
|
182
|
+
if (isDevelopmentMode()) {
|
|
183
|
+
console.log('Mock: Verifying code for:', email, 'code:', code);
|
|
184
|
+
// Accept any 6-digit code in dev mode
|
|
185
|
+
if (code.length === 6 || code === 'reviewer') {
|
|
186
|
+
return {
|
|
187
|
+
success: true,
|
|
188
|
+
message: 'Email verified successfully'
|
|
189
|
+
};
|
|
190
|
+
}
|
|
191
|
+
return {
|
|
192
|
+
success: false,
|
|
193
|
+
message: 'Invalid verification code'
|
|
194
|
+
};
|
|
195
|
+
}
|
|
196
|
+
const response = await onairosApi.post('email/verify/confirm', {
|
|
197
|
+
email,
|
|
198
|
+
code
|
|
199
|
+
});
|
|
200
|
+
return {
|
|
201
|
+
success: true,
|
|
202
|
+
message: ((_response$data4 = response.data) === null || _response$data4 === void 0 ? void 0 : _response$data4.message) || 'Email verified'
|
|
203
|
+
};
|
|
204
|
+
} catch (error) {
|
|
205
|
+
console.error('Error verifying email code:', error);
|
|
206
|
+
if (isDevelopmentMode()) {
|
|
207
|
+
return {
|
|
208
|
+
success: false,
|
|
209
|
+
message: 'Invalid verification code'
|
|
210
|
+
};
|
|
211
|
+
}
|
|
212
|
+
return {
|
|
213
|
+
success: false,
|
|
214
|
+
message: 'Verification failed'
|
|
215
|
+
};
|
|
216
|
+
}
|
|
217
|
+
};
|
|
218
|
+
exports.confirmEmailVerificationCode = confirmEmailVerificationCode;
|
|
219
|
+
//# sourceMappingURL=index.js.map
|
|
@@ -1,9 +1,27 @@
|
|
|
1
|
-
|
|
2
|
-
|
|
3
|
-
|
|
4
|
-
|
|
5
|
-
|
|
6
|
-
|
|
7
|
-
|
|
8
|
-
|
|
9
|
-
|
|
1
|
+
"use strict";
|
|
2
|
+
|
|
3
|
+
Object.defineProperty(exports, "__esModule", {
|
|
4
|
+
value: true
|
|
5
|
+
});
|
|
6
|
+
exports.default = exports.BodyText = void 0;
|
|
7
|
+
var _react = _interopRequireDefault(require("react"));
|
|
8
|
+
var _reactNative = require("react-native");
|
|
9
|
+
var _theme = require("../theme");
|
|
10
|
+
function _interopRequireDefault(e) { return e && e.__esModule ? e : { default: e }; }
|
|
11
|
+
const BodyText = ({
|
|
12
|
+
children = "The secure, portable persona built from your data. Every app personalized while your data stays yours.",
|
|
13
|
+
style
|
|
14
|
+
}) => {
|
|
15
|
+
return /*#__PURE__*/_react.default.createElement(_reactNative.Text, {
|
|
16
|
+
style: [styles.text, style]
|
|
17
|
+
}, children);
|
|
18
|
+
};
|
|
19
|
+
exports.BodyText = BodyText;
|
|
20
|
+
const styles = _reactNative.StyleSheet.create({
|
|
21
|
+
text: {
|
|
22
|
+
..._theme.TEXT_STYLES.body,
|
|
23
|
+
paddingHorizontal: 20 // Add horizontal padding for nice text wrapping
|
|
24
|
+
}
|
|
25
|
+
});
|
|
26
|
+
var _default = exports.default = BodyText;
|
|
27
|
+
//# sourceMappingURL=BodyText.js.map
|
|
@@ -1,10 +1,111 @@
|
|
|
1
|
-
|
|
2
|
-
|
|
3
|
-
|
|
4
|
-
|
|
5
|
-
|
|
6
|
-
|
|
7
|
-
|
|
8
|
-
|
|
9
|
-
|
|
10
|
-
|
|
1
|
+
"use strict";
|
|
2
|
+
|
|
3
|
+
Object.defineProperty(exports, "__esModule", {
|
|
4
|
+
value: true
|
|
5
|
+
});
|
|
6
|
+
exports.default = exports.BrandMark = void 0;
|
|
7
|
+
var _react = _interopRequireDefault(require("react"));
|
|
8
|
+
var _reactNative = require("react-native");
|
|
9
|
+
var _theme = require("../theme");
|
|
10
|
+
var _assetRegistry = require("../utils/assetRegistry");
|
|
11
|
+
function _interopRequireDefault(e) { return e && e.__esModule ? e : { default: e }; }
|
|
12
|
+
const BrandMark = ({
|
|
13
|
+
containerSize = 110,
|
|
14
|
+
imageSize = 110,
|
|
15
|
+
style,
|
|
16
|
+
showGlow = true
|
|
17
|
+
}) => {
|
|
18
|
+
const borderRadius = containerSize * 0.2;
|
|
19
|
+
return /*#__PURE__*/_react.default.createElement(_reactNative.View, {
|
|
20
|
+
style: [styles.glowWrapper, style]
|
|
21
|
+
}, showGlow && /*#__PURE__*/_react.default.createElement(_reactNative.View, {
|
|
22
|
+
style: [styles.glowLayer, styles.redGlow, {
|
|
23
|
+
width: containerSize,
|
|
24
|
+
height: containerSize,
|
|
25
|
+
borderRadius
|
|
26
|
+
}]
|
|
27
|
+
}), showGlow && /*#__PURE__*/_react.default.createElement(_reactNative.View, {
|
|
28
|
+
style: [styles.glowLayer, styles.blueGlow, {
|
|
29
|
+
width: containerSize,
|
|
30
|
+
height: containerSize,
|
|
31
|
+
borderRadius
|
|
32
|
+
}]
|
|
33
|
+
}), /*#__PURE__*/_react.default.createElement(_reactNative.View, {
|
|
34
|
+
style: [styles.container, {
|
|
35
|
+
width: containerSize,
|
|
36
|
+
height: containerSize,
|
|
37
|
+
borderRadius
|
|
38
|
+
}]
|
|
39
|
+
}, /*#__PURE__*/_react.default.createElement(_reactNative.Image, {
|
|
40
|
+
source: _assetRegistry.BRAND_IMAGES.onairosLogo,
|
|
41
|
+
style: [styles.logo, {
|
|
42
|
+
width: imageSize,
|
|
43
|
+
height: imageSize,
|
|
44
|
+
transform: [{
|
|
45
|
+
translateY: -1
|
|
46
|
+
}, {
|
|
47
|
+
translateX: -4
|
|
48
|
+
}] // Nudge logo slightly up and left
|
|
49
|
+
}],
|
|
50
|
+
resizeMode: "contain"
|
|
51
|
+
})));
|
|
52
|
+
};
|
|
53
|
+
exports.BrandMark = BrandMark;
|
|
54
|
+
const styles = _reactNative.StyleSheet.create({
|
|
55
|
+
glowWrapper: {
|
|
56
|
+
position: 'relative',
|
|
57
|
+
alignItems: 'center',
|
|
58
|
+
justifyContent: 'center'
|
|
59
|
+
},
|
|
60
|
+
glowLayer: {
|
|
61
|
+
position: 'absolute',
|
|
62
|
+
backgroundColor: 'transparent'
|
|
63
|
+
},
|
|
64
|
+
redGlow: {
|
|
65
|
+
// Red/pink glow - offset to bottom-right
|
|
66
|
+
shadowColor: '#FF4D6A',
|
|
67
|
+
shadowOffset: {
|
|
68
|
+
width: 8,
|
|
69
|
+
height: 8
|
|
70
|
+
},
|
|
71
|
+
shadowOpacity: 0.5,
|
|
72
|
+
shadowRadius: 20,
|
|
73
|
+
elevation: 8,
|
|
74
|
+
// For Android, we need a background to show shadow
|
|
75
|
+
..._reactNative.Platform.select({
|
|
76
|
+
android: {
|
|
77
|
+
backgroundColor: 'rgba(255, 77, 106, 0.15)'
|
|
78
|
+
}
|
|
79
|
+
})
|
|
80
|
+
},
|
|
81
|
+
blueGlow: {
|
|
82
|
+
// Blue/cyan glow - offset to top-left
|
|
83
|
+
shadowColor: '#4D79FF',
|
|
84
|
+
shadowOffset: {
|
|
85
|
+
width: -8,
|
|
86
|
+
height: -8
|
|
87
|
+
},
|
|
88
|
+
shadowOpacity: 0.5,
|
|
89
|
+
shadowRadius: 20,
|
|
90
|
+
elevation: 8,
|
|
91
|
+
// For Android, we need a background to show shadow
|
|
92
|
+
..._reactNative.Platform.select({
|
|
93
|
+
android: {
|
|
94
|
+
backgroundColor: 'rgba(77, 121, 255, 0.15)'
|
|
95
|
+
}
|
|
96
|
+
})
|
|
97
|
+
},
|
|
98
|
+
container: {
|
|
99
|
+
backgroundColor: '#FFFFFF',
|
|
100
|
+
justifyContent: 'center',
|
|
101
|
+
alignItems: 'center',
|
|
102
|
+
overflow: 'hidden',
|
|
103
|
+
// Clip logo at container edges
|
|
104
|
+
..._theme.SHADOWS.brandMark
|
|
105
|
+
},
|
|
106
|
+
logo: {
|
|
107
|
+
// Logo styling is handled via props for flexibility
|
|
108
|
+
}
|
|
109
|
+
});
|
|
110
|
+
var _default = exports.default = BrandMark;
|
|
111
|
+
//# sourceMappingURL=BrandMark.js.map
|
|
@@ -1,9 +1,120 @@
|
|
|
1
|
-
|
|
2
|
-
|
|
3
|
-
|
|
4
|
-
|
|
5
|
-
|
|
6
|
-
|
|
7
|
-
|
|
8
|
-
|
|
9
|
-
|
|
1
|
+
"use strict";
|
|
2
|
+
|
|
3
|
+
Object.defineProperty(exports, "__esModule", {
|
|
4
|
+
value: true
|
|
5
|
+
});
|
|
6
|
+
exports.default = exports.CodeInput = void 0;
|
|
7
|
+
var _react = _interopRequireWildcard(require("react"));
|
|
8
|
+
var _reactNative = require("react-native");
|
|
9
|
+
var _theme = require("../theme");
|
|
10
|
+
function _interopRequireWildcard(e, t) { if ("function" == typeof WeakMap) var r = new WeakMap(), n = new WeakMap(); return (_interopRequireWildcard = function (e, t) { if (!t && e && e.__esModule) return e; var o, i, f = { __proto__: null, default: e }; if (null === e || "object" != typeof e && "function" != typeof e) return f; if (o = t ? n : r) { if (o.has(e)) return o.get(e); o.set(e, f); } for (const t in e) "default" !== t && {}.hasOwnProperty.call(e, t) && ((i = (o = Object.defineProperty) && Object.getOwnPropertyDescriptor(e, t)) && (i.get || i.set) ? o(f, t, i) : f[t] = e[t]); return f; })(e, t); }
|
|
11
|
+
const CodeInput = ({
|
|
12
|
+
length = 6,
|
|
13
|
+
onCodeChange,
|
|
14
|
+
onCodeComplete
|
|
15
|
+
}) => {
|
|
16
|
+
const [code, setCode] = (0, _react.useState)(Array(length).fill(''));
|
|
17
|
+
const [focusedIndex, setFocusedIndex] = (0, _react.useState)(0);
|
|
18
|
+
const inputRefs = (0, _react.useRef)([]);
|
|
19
|
+
const hiddenInputRef = (0, _react.useRef)(null);
|
|
20
|
+
(0, _react.useEffect)(() => {
|
|
21
|
+
// Focus the hidden input on mount
|
|
22
|
+
setTimeout(() => {
|
|
23
|
+
var _hiddenInputRef$curre;
|
|
24
|
+
(_hiddenInputRef$curre = hiddenInputRef.current) === null || _hiddenInputRef$curre === void 0 || _hiddenInputRef$curre.focus();
|
|
25
|
+
}, 100);
|
|
26
|
+
}, []);
|
|
27
|
+
const handleHiddenInputChange = text => {
|
|
28
|
+
// Only allow numbers
|
|
29
|
+
const numericText = text.replace(/[^0-9]/g, '');
|
|
30
|
+
const newCode = numericText.slice(0, length).split('');
|
|
31
|
+
|
|
32
|
+
// Pad with empty strings
|
|
33
|
+
while (newCode.length < length) {
|
|
34
|
+
newCode.push('');
|
|
35
|
+
}
|
|
36
|
+
setCode(newCode);
|
|
37
|
+
setFocusedIndex(Math.min(numericText.length, length - 1));
|
|
38
|
+
const codeString = newCode.join('');
|
|
39
|
+
onCodeChange === null || onCodeChange === void 0 || onCodeChange(codeString);
|
|
40
|
+
if (numericText.length === length) {
|
|
41
|
+
onCodeComplete === null || onCodeComplete === void 0 || onCodeComplete(codeString);
|
|
42
|
+
_reactNative.Keyboard.dismiss();
|
|
43
|
+
}
|
|
44
|
+
};
|
|
45
|
+
const handleBoxPress = () => {
|
|
46
|
+
var _hiddenInputRef$curre2;
|
|
47
|
+
(_hiddenInputRef$curre2 = hiddenInputRef.current) === null || _hiddenInputRef$curre2 === void 0 || _hiddenInputRef$curre2.focus();
|
|
48
|
+
};
|
|
49
|
+
return /*#__PURE__*/_react.default.createElement(_reactNative.View, {
|
|
50
|
+
style: styles.container
|
|
51
|
+
}, /*#__PURE__*/_react.default.createElement(_reactNative.View, {
|
|
52
|
+
style: styles.boxesContainer
|
|
53
|
+
}, Array(length).fill(0).map((_, index) => /*#__PURE__*/_react.default.createElement(_reactNative.View, {
|
|
54
|
+
key: index,
|
|
55
|
+
style: [styles.box, code[index] ? styles.boxFilled : null, focusedIndex === index && !code[index] ? styles.boxFocused : null]
|
|
56
|
+
}, /*#__PURE__*/_react.default.createElement(_reactNative.TextInput, {
|
|
57
|
+
style: styles.boxText,
|
|
58
|
+
value: code[index],
|
|
59
|
+
editable: false,
|
|
60
|
+
pointerEvents: "none"
|
|
61
|
+
})))), /*#__PURE__*/_react.default.createElement(_reactNative.TextInput, {
|
|
62
|
+
ref: hiddenInputRef,
|
|
63
|
+
style: styles.hiddenInput,
|
|
64
|
+
value: code.join(''),
|
|
65
|
+
onChangeText: handleHiddenInputChange,
|
|
66
|
+
keyboardType: "number-pad",
|
|
67
|
+
maxLength: length,
|
|
68
|
+
autoComplete: "sms-otp",
|
|
69
|
+
textContentType: "oneTimeCode",
|
|
70
|
+
caretHidden: true,
|
|
71
|
+
selectionColor: "transparent"
|
|
72
|
+
}));
|
|
73
|
+
};
|
|
74
|
+
exports.CodeInput = CodeInput;
|
|
75
|
+
const styles = _reactNative.StyleSheet.create({
|
|
76
|
+
container: {
|
|
77
|
+
width: '100%'
|
|
78
|
+
},
|
|
79
|
+
hiddenInput: {
|
|
80
|
+
position: 'absolute',
|
|
81
|
+
top: 0,
|
|
82
|
+
left: 0,
|
|
83
|
+
right: 0,
|
|
84
|
+
bottom: 0,
|
|
85
|
+
color: 'transparent',
|
|
86
|
+
backgroundColor: 'transparent',
|
|
87
|
+
fontSize: 1
|
|
88
|
+
},
|
|
89
|
+
boxesContainer: {
|
|
90
|
+
flexDirection: 'row',
|
|
91
|
+
justifyContent: 'space-between',
|
|
92
|
+
width: '100%'
|
|
93
|
+
},
|
|
94
|
+
box: {
|
|
95
|
+
width: 48,
|
|
96
|
+
height: 56,
|
|
97
|
+
borderWidth: 1.5,
|
|
98
|
+
borderColor: '#E0E0E0',
|
|
99
|
+
borderRadius: 12,
|
|
100
|
+
justifyContent: 'center',
|
|
101
|
+
alignItems: 'center',
|
|
102
|
+
backgroundColor: '#FAFAFA'
|
|
103
|
+
},
|
|
104
|
+
boxFilled: {
|
|
105
|
+
borderColor: _theme.COLORS.grey600,
|
|
106
|
+
backgroundColor: '#FFFFFF'
|
|
107
|
+
},
|
|
108
|
+
boxFocused: {
|
|
109
|
+
borderColor: '#D4A536',
|
|
110
|
+
borderWidth: 2
|
|
111
|
+
},
|
|
112
|
+
boxText: {
|
|
113
|
+
fontSize: 24,
|
|
114
|
+
fontWeight: '600',
|
|
115
|
+
color: _theme.COLORS.grey800,
|
|
116
|
+
textAlign: 'center'
|
|
117
|
+
}
|
|
118
|
+
});
|
|
119
|
+
var _default = exports.default = CodeInput;
|
|
120
|
+
//# sourceMappingURL=CodeInput.js.map
|
|
@@ -1,8 +1,30 @@
|
|
|
1
|
-
|
|
2
|
-
|
|
3
|
-
|
|
4
|
-
|
|
5
|
-
|
|
6
|
-
|
|
7
|
-
|
|
8
|
-
|
|
1
|
+
"use strict";
|
|
2
|
+
|
|
3
|
+
Object.defineProperty(exports, "__esModule", {
|
|
4
|
+
value: true
|
|
5
|
+
});
|
|
6
|
+
exports.default = exports.EmailInput = void 0;
|
|
7
|
+
var _react = _interopRequireDefault(require("react"));
|
|
8
|
+
var _reactNative = require("react-native");
|
|
9
|
+
function _interopRequireDefault(e) { return e && e.__esModule ? e : { default: e }; }
|
|
10
|
+
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); }
|
|
11
|
+
const EmailInput = props => {
|
|
12
|
+
return /*#__PURE__*/_react.default.createElement(_reactNative.TextInput, _extends({}, props, {
|
|
13
|
+
keyboardType: "email-address",
|
|
14
|
+
autoCapitalize: "none",
|
|
15
|
+
autoComplete: "email",
|
|
16
|
+
style: [styles.input, props.style]
|
|
17
|
+
}));
|
|
18
|
+
};
|
|
19
|
+
exports.EmailInput = EmailInput;
|
|
20
|
+
const styles = _reactNative.StyleSheet.create({
|
|
21
|
+
input: {
|
|
22
|
+
borderWidth: 1,
|
|
23
|
+
borderColor: '#E0E0E0',
|
|
24
|
+
borderRadius: 8,
|
|
25
|
+
padding: 12,
|
|
26
|
+
fontSize: 16
|
|
27
|
+
}
|
|
28
|
+
});
|
|
29
|
+
var _default = exports.default = EmailInput;
|
|
30
|
+
//# sourceMappingURL=EmailInput.js.map
|