@onairos/react-native 3.7.2 → 3.7.3
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- 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 +116 -9
- package/lib/commonjs/components/EmailInput.js +30 -8
- package/lib/commonjs/components/GoogleButton.js +56 -9
- package/lib/commonjs/components/HeadingGroup.js +43 -9
- package/lib/commonjs/components/LLMDataInputModal.js +664 -14
- package/lib/commonjs/components/ModalHeader.js +99 -9
- package/lib/commonjs/components/ModalSheet.js +47 -9
- package/lib/commonjs/components/Onairos.js +380 -14
- package/lib/commonjs/components/OnairosButton.js +313 -13
- package/lib/commonjs/components/OnairosSignInButton.js +130 -12
- package/lib/commonjs/components/Overlay.js +465 -13
- package/lib/commonjs/components/PersonaImage.js +137 -10
- package/lib/commonjs/components/PersonaLoadingScreen.js +318 -12
- package/lib/commonjs/components/PersonalizationConsentScreen.js +467 -13
- package/lib/commonjs/components/PinCreationScreen.js +403 -12
- package/lib/commonjs/components/PinInput.js +464 -9
- package/lib/commonjs/components/PlatformConnectorsStep.js +1311 -23
- package/lib/commonjs/components/PlatformList.js +137 -10
- package/lib/commonjs/components/PlatformToggle.js +180 -9
- package/lib/commonjs/components/PrimaryButton.js +180 -10
- package/lib/commonjs/components/SignInMatchAnimation.js +197 -9
- package/lib/commonjs/components/SignInStep.js +345 -12
- package/lib/commonjs/components/UniversalOnboarding.js +2780 -30
- package/lib/commonjs/components/VerificationStep.js +176 -11
- package/lib/commonjs/components/WelcomeScreen.js +461 -22
- package/lib/commonjs/components/icons/Basicproficon.js +37 -8
- package/lib/commonjs/components/icons/Basicprofile.js +21 -8
- package/lib/commonjs/components/icons/Checkbox.js +21 -8
- package/lib/commonjs/components/icons/Checkmark.js +27 -8
- package/lib/commonjs/components/icons/Contentanalysis.js +21 -8
- package/lib/commonjs/components/icons/Contenticon.js +39 -8
- package/lib/commonjs/components/icons/EnochE.js +41 -8
- package/lib/commonjs/components/icons/Personalityicon.js +30 -8
- package/lib/commonjs/components/icons/Personalityprofile.js +21 -8
- package/lib/commonjs/components/icons/Personalitytraits.js +21 -8
- package/lib/commonjs/components/icons/Userpreferences.js +21 -8
- package/lib/commonjs/components/icons/index.js +84 -17
- package/lib/commonjs/components/onboarding/OAuthWebView.js +1754 -18
- package/lib/commonjs/components/onboarding/OnboardingHeader.js +74 -10
- package/lib/commonjs/components/onboarding/PinInput.js +283 -10
- package/lib/commonjs/components/onboarding/PlatformConnector.js +249 -11
- package/lib/commonjs/config/PLATFORM_APIS.md +849 -0
- package/lib/commonjs/config/api.js +56 -7
- package/lib/commonjs/constants/index.js +120 -7
- package/lib/commonjs/context/AuthContext.js +345 -10
- package/lib/commonjs/hooks/useConnectedAccounts.js +111 -9
- package/lib/commonjs/hooks/useConnections.js +102 -8
- package/lib/commonjs/hooks/useCredentials.js +178 -10
- package/lib/commonjs/hooks/useUserConnections.js +148 -10
- package/lib/commonjs/index.js +439 -34
- package/lib/commonjs/services/apiClient.js +298 -8
- package/lib/commonjs/services/biometricPinService.js +180 -8
- package/lib/commonjs/services/chatGPTConversationExtractor.js +155 -8
- package/lib/commonjs/services/chatGPTConversationService.js +275 -9
- package/lib/commonjs/services/claudeConversationExtractor.js +103 -8
- package/lib/commonjs/services/claudeConversationService.js +158 -9
- package/lib/commonjs/services/connectedAccountsService.js +310 -10
- package/lib/commonjs/services/googleAuthService.js +252 -11
- package/lib/commonjs/services/hingeDataExtractor.js +105 -8
- package/lib/commonjs/services/hingeDataService.js +150 -9
- package/lib/commonjs/services/imageCompressionService.js +260 -7
- package/lib/commonjs/services/instagramDataExtractor.js +126 -8
- package/lib/commonjs/services/instagramDataService.js +163 -9
- package/lib/commonjs/services/jwtStorageService.js +276 -7
- package/lib/commonjs/services/linkedinDOMExtractor.js +245 -7
- package/lib/commonjs/services/linkedinProfileService.js +222 -9
- package/lib/commonjs/services/linkedinScrapingService.js +230 -8
- package/lib/commonjs/services/llmDataStorage.js +294 -8
- package/lib/commonjs/services/mobileTrainingService.js +186 -8
- package/lib/commonjs/services/netflixDataExtractor.js +120 -8
- package/lib/commonjs/services/netflixDataService.js +198 -9
- package/lib/commonjs/services/pinEncryptionService.js +84 -8
- package/lib/commonjs/services/pinStorageUtils.js +105 -7
- package/lib/commonjs/services/platformAuthService.js +1484 -12
- package/lib/commonjs/services/sephoraDataExtractor.js +140 -8
- package/lib/commonjs/services/sephoraDataService.js +200 -9
- package/lib/commonjs/services/spotifyDataExtractor.js +148 -8
- package/lib/commonjs/services/spotifyDataService.js +241 -9
- package/lib/commonjs/services/storageService.js +404 -8
- package/lib/commonjs/services/telegramDataExtractor.js +115 -8
- package/lib/commonjs/services/telegramDataService.js +499 -9
- package/lib/commonjs/services/trainingApiHelpers.js +73 -7
- package/lib/commonjs/services/userConnectionsService.js +340 -10
- package/lib/commonjs/services/youtubeMigrationService.js +416 -10
- package/lib/commonjs/theme/index.js +250 -7
- package/lib/commonjs/types/ambient.d.js +2 -1
- package/lib/commonjs/types/declarations.d.js +2 -1
- package/lib/commonjs/types/index.js +6 -1
- package/lib/commonjs/types/node-fix.d.js +2 -1
- package/lib/commonjs/types/node-override.d.js +2 -1
- package/lib/commonjs/types/opacity.d.js +2 -1
- package/lib/commonjs/types.js +14 -1
- package/lib/commonjs/utils/Portal.js +98 -8
- package/lib/commonjs/utils/api.js +130 -9
- package/lib/commonjs/utils/assetRegistry.js +210 -35
- package/lib/commonjs/utils/auth.js +112 -9
- package/lib/commonjs/utils/connectorTests.js +613 -29
- package/lib/commonjs/utils/crypto.js +62 -8
- package/lib/commonjs/utils/debugHelper.js +64 -1
- package/lib/commonjs/utils/encryption.js +76 -7
- package/lib/commonjs/utils/eventUtils.js +288 -1
- package/lib/commonjs/utils/haptics.js +66 -9
- package/lib/commonjs/utils/imagePreloader.js +6 -1
- package/lib/commonjs/utils/networkDiagnostics.js +226 -8
- package/lib/commonjs/utils/onairosApi.js +350 -9
- package/lib/commonjs/utils/programmaticFlow.js +117 -9
- package/lib/commonjs/utils/retryHelper.js +220 -1
- package/lib/commonjs/utils/secureStorage.js +349 -10
- package/lib/commonjs/utils/webviewScripts/chatgpt.js +551 -1
- package/lib/commonjs/utils/webviewScripts/claude.js +376 -1
- package/lib/commonjs/utils/webviewScripts/hinge.js +411 -1
- package/lib/commonjs/utils/webviewScripts/index.js +698 -15
- package/lib/commonjs/utils/webviewScripts/instagram.js +454 -1
- package/lib/commonjs/utils/webviewScripts/linkedin.js +880 -1
- package/lib/commonjs/utils/webviewScripts/netflix.js +382 -1
- package/lib/commonjs/utils/webviewScripts/sephora.js +516 -1
- package/lib/commonjs/utils/webviewScripts/spotify.js +419 -1
- package/lib/commonjs/utils/webviewScripts/telegram.js +678 -1
- package/lib/module/api/index.js +211 -1
- package/lib/module/components/BodyText.js +20 -1
- package/lib/module/components/BrandMark.js +104 -1
- package/lib/module/components/CodeInput.js +109 -1
- package/lib/module/components/EmailInput.js +23 -1
- package/lib/module/components/GoogleButton.js +49 -1
- package/lib/module/components/HeadingGroup.js +36 -1
- package/lib/module/components/LLMDataInputModal.js +656 -7
- package/lib/module/components/ModalHeader.js +92 -1
- package/lib/module/components/ModalSheet.js +39 -1
- package/lib/module/components/Onairos.js +373 -1
- package/lib/module/components/OnairosButton.js +305 -1
- package/lib/module/components/OnairosSignInButton.js +121 -1
- package/lib/module/components/Overlay.js +456 -1
- package/lib/module/components/PersonaImage.js +129 -1
- package/lib/module/components/PersonaLoadingScreen.js +310 -1
- package/lib/module/components/PersonalizationConsentScreen.js +460 -1
- package/lib/module/components/PinCreationScreen.js +396 -1
- package/lib/module/components/PinInput.js +456 -1
- package/lib/module/components/PlatformConnectorsStep.js +1302 -6
- package/lib/module/components/PlatformList.js +129 -1
- package/lib/module/components/PlatformToggle.js +173 -1
- package/lib/module/components/PrimaryButton.js +172 -1
- package/lib/module/components/SignInMatchAnimation.js +189 -1
- package/lib/module/components/SignInStep.js +338 -1
- package/lib/module/components/UniversalOnboarding.js +2770 -1
- package/lib/module/components/VerificationStep.js +168 -1
- package/lib/module/components/WelcomeScreen.js +453 -1
- package/lib/module/components/icons/Basicproficon.js +30 -1
- package/lib/module/components/icons/Basicprofile.js +14 -1
- package/lib/module/components/icons/Checkbox.js +14 -1
- package/lib/module/components/icons/Checkmark.js +20 -1
- package/lib/module/components/icons/Contentanalysis.js +14 -1
- package/lib/module/components/icons/Contenticon.js +32 -1
- package/lib/module/components/icons/EnochE.js +34 -1
- package/lib/module/components/icons/Personalityicon.js +23 -1
- package/lib/module/components/icons/Personalityprofile.js +14 -1
- package/lib/module/components/icons/Personalitytraits.js +14 -1
- package/lib/module/components/icons/Userpreferences.js +14 -1
- package/lib/module/components/icons/index.js +13 -1
- package/lib/module/components/onboarding/OAuthWebView.js +1746 -1
- package/lib/module/components/onboarding/OnboardingHeader.js +66 -1
- package/lib/module/components/onboarding/PinInput.js +274 -1
- package/lib/module/components/onboarding/PlatformConnector.js +240 -1
- package/lib/module/config/PLATFORM_APIS.md +849 -0
- package/lib/module/config/api.js +47 -1
- package/lib/module/constants/index.js +114 -1
- package/lib/module/context/AuthContext.js +335 -1
- package/lib/module/hooks/useConnectedAccounts.js +106 -1
- package/lib/module/hooks/useConnections.js +95 -1
- package/lib/module/hooks/useCredentials.js +171 -6
- package/lib/module/hooks/useUserConnections.js +140 -1
- package/lib/module/index.js +172 -1
- package/lib/module/services/apiClient.js +295 -1
- package/lib/module/services/biometricPinService.js +169 -1
- package/lib/module/services/chatGPTConversationExtractor.js +149 -1
- package/lib/module/services/chatGPTConversationService.js +268 -1
- package/lib/module/services/claudeConversationExtractor.js +97 -1
- package/lib/module/services/claudeConversationService.js +151 -1
- package/lib/module/services/connectedAccountsService.js +293 -1
- package/lib/module/services/googleAuthService.js +241 -1
- package/lib/module/services/hingeDataExtractor.js +99 -1
- package/lib/module/services/hingeDataService.js +143 -1
- package/lib/module/services/imageCompressionService.js +250 -1
- package/lib/module/services/instagramDataExtractor.js +120 -1
- package/lib/module/services/instagramDataService.js +156 -1
- package/lib/module/services/jwtStorageService.js +257 -1
- package/lib/module/services/linkedinDOMExtractor.js +234 -1
- package/lib/module/services/linkedinProfileService.js +210 -1
- package/lib/module/services/linkedinScrapingService.js +219 -1
- package/lib/module/services/llmDataStorage.js +277 -1
- package/lib/module/services/mobileTrainingService.js +173 -1
- package/lib/module/services/netflixDataExtractor.js +114 -1
- package/lib/module/services/netflixDataService.js +191 -1
- package/lib/module/services/pinEncryptionService.js +74 -6
- package/lib/module/services/pinStorageUtils.js +93 -1
- package/lib/module/services/platformAuthService.js +1461 -1
- package/lib/module/services/sephoraDataExtractor.js +134 -1
- package/lib/module/services/sephoraDataService.js +193 -1
- package/lib/module/services/spotifyDataExtractor.js +142 -1
- package/lib/module/services/spotifyDataService.js +234 -1
- package/lib/module/services/storageService.js +383 -1
- package/lib/module/services/telegramDataExtractor.js +109 -1
- package/lib/module/services/telegramDataService.js +493 -1
- package/lib/module/services/trainingApiHelpers.js +67 -1
- package/lib/module/services/userConnectionsService.js +329 -1
- package/lib/module/services/youtubeMigrationService.js +405 -1
- package/lib/module/theme/index.js +245 -1
- package/lib/module/types.js +10 -1
- package/lib/module/utils/Portal.js +90 -1
- package/lib/module/utils/api.js +118 -1
- package/lib/module/utils/assetRegistry.js +200 -34
- package/lib/module/utils/auth.js +100 -1
- package/lib/module/utils/connectorTests.js +600 -27
- package/lib/module/utils/crypto.js +54 -1
- package/lib/module/utils/debugHelper.js +54 -1
- package/lib/module/utils/encryption.js +67 -1
- package/lib/module/utils/eventUtils.js +270 -1
- package/lib/module/utils/haptics.js +59 -8
- package/lib/module/utils/imagePreloader.js +3 -1
- package/lib/module/utils/networkDiagnostics.js +217 -1
- package/lib/module/utils/onairosApi.js +333 -1
- package/lib/module/utils/programmaticFlow.js +111 -1
- package/lib/module/utils/retryHelper.js +211 -1
- package/lib/module/utils/secureStorage.js +330 -6
- package/lib/module/utils/webviewScripts/chatgpt.js +545 -1
- package/lib/module/utils/webviewScripts/claude.js +370 -1
- package/lib/module/utils/webviewScripts/hinge.js +405 -1
- package/lib/module/utils/webviewScripts/index.js +434 -1
- package/lib/module/utils/webviewScripts/instagram.js +448 -1
- package/lib/module/utils/webviewScripts/linkedin.js +874 -1
- package/lib/module/utils/webviewScripts/netflix.js +376 -1
- package/lib/module/utils/webviewScripts/sephora.js +510 -1
- package/lib/module/utils/webviewScripts/spotify.js +413 -1
- package/lib/module/utils/webviewScripts/telegram.js +672 -1
- package/package.json +2 -2
|
@@ -1 +1,460 @@
|
|
|
1
|
-
import React,{useState}from'react';import{View,Text,StyleSheet,TouchableOpacity,Image,ScrollView,ActivityIndicator}from'react-native';import{COLORS}from'../theme';import{triggerHaptic,HapticType}from'../utils/haptics';function _0x22b4(){const _0x49e07b=['Enoch','svcqs','basicProfile','xOgRD','contain','Choose\x20what\x20to\x20share:','Connected\x20Platforms','Accept\x20&\x20Continue','Decline','lPTFD','SFbQX','JMdvk','LxEhY','Ajvnk','BUTTON_PRESS','values','some','createElement','scrollView','scrollContent','headerContainer','iconContainer','vXhli','arrow','enochAppIcon','titleContainer','welcomeBackText','Welcome\x20back!','title','NvcOb','kPJOv','optionsContainer','optionRow','optionLeft','grey700','grey800','yudXX','checkbox','optionText','contentAnalysis','grey400','personalityProfile','optionIcon','checkboxContainer','connectedPlatformsSection','length','connectedPlatformsIcons','connectedPlatformIconContainer','connectedPlatformIcon','connectMoreButton','pCmFW','wAhzz','connectMoreText','Connect\x20more','acceptButtonActive','acceptButtonLoading','TmcHy','Fragment','acceptButtonText','acceptButtonTextActive','gAAAA','buttonArrow','buttonArrowActive','declineButton','RQnpg','create','surface','row','center','#FFFFFF','700','grey600','IBM\x20Plex\x20Sans','Inter','400','space-between','#F8F9FA','#E5E5E5','#999999','500','grey500','underline','wrap'];_0x22b4=function(){return _0x49e07b;};return _0x22b4();}import{getPlatformIcon}from'../services/connectedAccountsService';import{BRAND_IMAGES}from'../utils/assetRegistry';import{Basicproficon,Basicprofile,Contenticon,Personalityicon,Personalitytraits,Userpreferences,Checkbox,Checkmark}from'./icons';const PersonalizationConsentScreen=({visible:_0x813599,onAccept:_0x4abc47,onDecline:_0x59167a,loading:loading=![],connectedPlatforms:connectedPlatforms=[],onConnectMore:_0x33218a,isReturningUser:isReturningUser=![],appName:appName=_0x4033(0x0),onLogout:_0x478d4d})=>{const _0x4a09be={'SFbQX':function(_0x57f120,_0x287e06){return _0x57f120(_0x287e06);},'JMdvk':function(_0xa8bf8f){return _0xa8bf8f();},'lPTFD':function(_0x164cfc,_0x310234){return _0x164cfc===_0x310234;},'ARRHK':_0x4033(0x1),'LxEhY':function(_0x3afbe2,_0x523baf){return _0x3afbe2===_0x523baf;},'DGdME':_0x4033(0x2),'Ajvnk':function(_0x4790e0,_0x155f07){return _0x4790e0(_0x155f07);},'pCmFW':function(_0x47102d,_0x318695){return _0x47102d===_0x318695;},'BZAnn':_0x4033(0x3),'vXhli':_0x4033(0x4),'NvcOb':'\x20wants\x20to\x20personalize\x20your\x20experience','kPJOv':_0x4033(0x5),'yudXX':'#4CD964','MPegl':_0x4033(0x6),'TmcHy':'#FFFFFF','gAAAA':_0x4033(0x7),'RQnpg':_0x4033(0x8)},[_0x293813,_0xdcde2b]=useState({'basicProfile':!![],'contentAnalysis':![],'personalityProfile':![]}),_0x45e01f=_0x58e2dc=>{if(_0x4a09be[_0x4033(0x9)](_0x4a09be['ARRHK'],'yCMdm'))_0x4a09be[_0x4033(0xa)](_0x27c799,_0xe08786['BUTTON_PRESS']),_0x4a09be[_0x4033(0xb)](_0x2fb6fb);else{if(_0x4a09be[_0x4033(0xc)](_0x58e2dc,_0x4a09be['DGdME']))return;_0x4a09be[_0x4033(0xd)](triggerHaptic,HapticType[_0x4033(0xe)]),_0xdcde2b(_0x3a7b88=>({..._0x3a7b88,[_0x58e2dc]:!_0x3a7b88[_0x58e2dc]}));}},_0x10e85e=Object[_0x4033(0xf)](_0x293813)[_0x4033(0x10)](_0x3b3706=>_0x3b3706);if(!_0x813599)return null;return React[_0x4033(0x11)](View,{'style':styles['container']},React[_0x4033(0x11)](ScrollView,{'style':styles[_0x4033(0x12)],'contentContainerStyle':styles[_0x4033(0x13)],'showsVerticalScrollIndicator':![]},React[_0x4033(0x11)](View,{'style':styles[_0x4033(0x14)]},React['createElement'](View,{'style':styles[_0x4033(0x15)]},React['createElement'](Image,{'source':BRAND_IMAGES['onairosLogo'],'style':styles['headerIcon'],'resizeMode':_0x4a09be[_0x4033(0x16)]})),React[_0x4033(0x11)](Text,{'style':styles[_0x4033(0x17)]},'→'),React[_0x4033(0x11)](Image,{'source':BRAND_IMAGES['enochIcon'],'style':styles[_0x4033(0x18)],'resizeMode':_0x4a09be[_0x4033(0x16)]})),React['createElement'](View,{'style':styles[_0x4033(0x19)]},isReturningUser&&React[_0x4033(0x11)](Text,{'style':styles[_0x4033(0x1a)]},_0x4033(0x1b)),React[_0x4033(0x11)](Text,{'style':styles[_0x4033(0x1c)]},appName,_0x4a09be[_0x4033(0x1d)]),React['createElement'](Text,{'style':styles['subtitle']},_0x4a09be[_0x4033(0x1e)])),React[_0x4033(0x11)](View,{'style':styles[_0x4033(0x1f)]},React[_0x4033(0x11)](TouchableOpacity,{'style':styles[_0x4033(0x20)],'onPress':()=>_0x45e01f(_0x4033(0x2))},React[_0x4033(0x11)](View,{'style':styles[_0x4033(0x21)]},React[_0x4033(0x11)](Basicproficon,{'width':0x20,'height':0x20,'fill':COLORS[_0x4033(0x22)],'style':styles['optionIcon']}),React[_0x4033(0x11)](Basicprofile,{'height':0x18,'fill':COLORS[_0x4033(0x23)],'style':styles['optionText']})),React['createElement'](View,{'style':styles['checkboxContainer']},_0x293813['basicProfile']?React[_0x4033(0x11)](Checkmark,{'width':0x18,'height':0x18,'fill':_0x4a09be[_0x4033(0x24)],'style':styles[_0x4033(0x25)]}):React[_0x4033(0x11)](Checkbox,{'width':0x18,'height':0x18,'stroke':COLORS['grey400'],'style':styles[_0x4033(0x25)]}))),React['createElement'](TouchableOpacity,{'style':styles[_0x4033(0x20)],'onPress':()=>_0x45e01f('contentAnalysis')},React['createElement'](View,{'style':styles['optionLeft']},React['createElement'](Contenticon,{'width':0x20,'height':0x20,'fill':COLORS['grey700'],'style':styles['optionIcon']}),React[_0x4033(0x11)](Userpreferences,{'height':0x18,'fill':COLORS['grey800'],'style':styles[_0x4033(0x26)]})),React[_0x4033(0x11)](View,{'style':styles['checkboxContainer']},_0x293813[_0x4033(0x27)]?React[_0x4033(0x11)](Checkmark,{'width':0x18,'height':0x18,'fill':'#4CD964','style':styles[_0x4033(0x25)]}):React[_0x4033(0x11)](Checkbox,{'width':0x18,'height':0x18,'stroke':COLORS[_0x4033(0x28)],'style':styles['checkbox']}))),React[_0x4033(0x11)](TouchableOpacity,{'style':styles[_0x4033(0x20)],'onPress':()=>_0x45e01f(_0x4033(0x29))},React[_0x4033(0x11)](View,{'style':styles[_0x4033(0x21)]},React[_0x4033(0x11)](Personalityicon,{'width':0x20,'height':0x20,'fill':COLORS['grey700'],'style':styles[_0x4033(0x2a)]}),React[_0x4033(0x11)](Personalitytraits,{'height':0x18,'fill':COLORS[_0x4033(0x23)],'style':styles['optionText']})),React['createElement'](View,{'style':styles[_0x4033(0x2b)]},_0x293813['personalityProfile']?React[_0x4033(0x11)](Checkmark,{'width':0x18,'height':0x18,'fill':_0x4a09be[_0x4033(0x24)],'style':styles[_0x4033(0x25)]}):React['createElement'](Checkbox,{'width':0x18,'height':0x18,'stroke':COLORS[_0x4033(0x28)],'style':styles[_0x4033(0x25)]})))),React[_0x4033(0x11)](View,{'style':styles[_0x4033(0x2c)]},React['createElement'](Text,{'style':styles['connectedPlatformsTitle']},_0x4a09be['MPegl']),connectedPlatforms[_0x4033(0x2d)]>0x0&&React[_0x4033(0x11)](View,{'style':styles[_0x4033(0x2e)]},connectedPlatforms['map'](_0x3cfc22=>React[_0x4033(0x11)](View,{'key':_0x3cfc22,'style':styles[_0x4033(0x2f)]},React['createElement'](Image,{'source':getPlatformIcon(_0x3cfc22),'style':styles[_0x4033(0x30)],'resizeMode':_0x4033(0x4)})))),_0x33218a&&React[_0x4033(0x11)](TouchableOpacity,{'style':styles[_0x4033(0x31)],'onPress':()=>{const _0x4a5794={'wAhzz':function(_0x40c310){return _0x40c310();}};_0x4a09be[_0x4033(0x32)](_0x4a09be['BZAnn'],_0x4033(0x3))?(_0x4a09be[_0x4033(0xd)](triggerHaptic,HapticType[_0x4033(0xe)]),_0x33218a()):(_0x55a7d7(_0x397b26[_0x4033(0xe)]),_0x4a5794[_0x4033(0x33)](_0x30d7d1));}},React[_0x4033(0x11)](Text,{'style':styles[_0x4033(0x34)]},_0x4033(0x35)),React[_0x4033(0x11)](View,{'style':styles['connectMorePlusCircle']},React[_0x4033(0x11)](Text,{'style':styles['connectMorePlus']},'+')))),React['createElement'](View,{'style':styles['buttonContainer']},React[_0x4033(0x11)](TouchableOpacity,{'style':[styles['acceptButton'],_0x10e85e&&styles[_0x4033(0x36)],loading&&styles[_0x4033(0x37)]],'onPress':()=>{!loading&&(triggerHaptic(HapticType[_0x4033(0xe)]),_0x4abc47());},'disabled':loading,'activeOpacity':loading?0x1:0.7},loading?React[_0x4033(0x11)](ActivityIndicator,{'size':'small','color':_0x4a09be[_0x4033(0x38)]}):React[_0x4033(0x11)](React[_0x4033(0x39)],null,React['createElement'](Text,{'style':[styles[_0x4033(0x3a)],_0x10e85e&&styles[_0x4033(0x3b)]]},_0x4a09be[_0x4033(0x3c)]),React['createElement'](Text,{'style':[styles[_0x4033(0x3d)],_0x10e85e&&styles[_0x4033(0x3e)]]},'→'))),React[_0x4033(0x11)](TouchableOpacity,{'style':styles[_0x4033(0x3f)],'onPress':()=>{triggerHaptic(HapticType[_0x4033(0xe)]),_0x4a09be['JMdvk'](_0x59167a);}},React[_0x4033(0x11)](Text,{'style':styles['declineButtonText']},_0x4a09be[_0x4033(0x40)])))));},styles=StyleSheet[_0x4033(0x41)]({'container':{'flex':0x1,'backgroundColor':COLORS[_0x4033(0x42)],'paddingHorizontal':0x18,'paddingTop':0x28,'paddingBottom':0x8},'headerContainer':{'flexDirection':_0x4033(0x43),'alignItems':_0x4033(0x44),'justifyContent':_0x4033(0x44),'marginBottom':0xc,'marginTop':0x0},'iconContainer':{'width':0x40,'height':0x40,'backgroundColor':_0x4033(0x45),'borderRadius':0xc,'alignItems':_0x4033(0x44),'justifyContent':_0x4033(0x44),'marginHorizontal':0x8,'shadowColor':'#000','shadowOffset':{'width':0x0,'height':0x2},'shadowOpacity':0.1,'shadowRadius':0x4,'elevation':0x2},'headerIcon':{'width':0x2a,'height':0x2a},'enochAppIcon':{'width':0x48,'height':0x48,'marginHorizontal':0x8},'enochLetter':{'fontSize':0x1c,'fontFamily':'IBM\x20Plex\x20Sans','fontWeight':_0x4033(0x46),'color':COLORS[_0x4033(0x23)]},'arrow':{'fontSize':0x18,'color':COLORS[_0x4033(0x47)],'marginHorizontal':0x10},'titleContainer':{'alignItems':_0x4033(0x44),'marginBottom':0x8},'welcomeBackText':{'fontSize':0x18,'fontFamily':'IBM\x20Plex\x20Sans','fontWeight':_0x4033(0x46),'color':COLORS['grey800'],'textAlign':_0x4033(0x44),'marginBottom':0x2},'title':{'fontSize':0x14,'fontFamily':_0x4033(0x48),'fontWeight':'600','color':COLORS['grey800'],'textAlign':_0x4033(0x44),'marginBottom':0xa},'subtitle':{'fontSize':0x10,'fontFamily':_0x4033(0x49),'fontWeight':_0x4033(0x4a),'color':COLORS['grey600'],'textAlign':_0x4033(0x44)},'scrollView':{'flex':0x1},'scrollContent':{'flexGrow':0x1},'optionsContainer':{'marginBottom':0x8},'optionRow':{'flexDirection':_0x4033(0x43),'alignItems':_0x4033(0x44),'justifyContent':_0x4033(0x4b),'paddingVertical':0xc,'paddingHorizontal':0x2,'backgroundColor':_0x4033(0x4c),'borderRadius':0xc,'marginBottom':0x6,'marginHorizontal':0x0},'optionLeft':{'flexDirection':_0x4033(0x43),'alignItems':_0x4033(0x44),'flex':0x1},'optionIcon':{'marginRight':0xc,'marginLeft':0x2,'marginTop':-0x4},'optionText':{'flex':0x1,'marginLeft':0x2},'checkboxContainer':{'paddingLeft':0x4,'paddingRight':0x2,'alignItems':_0x4033(0x44),'justifyContent':_0x4033(0x44)},'checkbox':{},'buttonContainer':{'gap':0x8,'paddingHorizontal':0x0,'paddingBottom':0x10,'marginTop':0x10},'acceptButton':{'backgroundColor':_0x4033(0x4d),'borderRadius':0x19,'paddingVertical':0xa,'paddingHorizontal':0x18,'flexDirection':'row','alignItems':'center','justifyContent':'center'},'acceptButtonActive':{'backgroundColor':'#2D3436'},'acceptButtonLoading':{'backgroundColor':'#2D3436','opacity':0.8},'acceptButtonText':{'color':_0x4033(0x4e),'fontSize':0x10,'fontFamily':_0x4033(0x49),'fontWeight':'600','marginRight':0x8},'acceptButtonTextActive':{'color':_0x4033(0x45)},'buttonArrow':{'color':_0x4033(0x4e),'fontSize':0x10},'buttonArrowActive':{'color':'#FFFFFF'},'declineButton':{'backgroundColor':_0x4033(0x4d),'borderRadius':0x19,'paddingVertical':0xa,'paddingHorizontal':0x18,'alignItems':'center','justifyContent':_0x4033(0x44)},'declineButtonText':{'color':COLORS[_0x4033(0x47)],'fontSize':0x10,'fontFamily':_0x4033(0x49),'fontWeight':_0x4033(0x4f)},'logoutButton':{'alignItems':_0x4033(0x44),'paddingVertical':0xc,'marginTop':0x8},'logoutButtonText':{'fontSize':0xe,'fontFamily':_0x4033(0x49),'fontWeight':_0x4033(0x4a),'color':COLORS[_0x4033(0x50)],'textDecorationLine':_0x4033(0x51)},'connectedPlatformsSection':{'alignItems':_0x4033(0x44),'paddingVertical':0xa,'paddingHorizontal':0x10,'backgroundColor':_0x4033(0x4c),'borderRadius':0x10,'marginBottom':0xa,'marginTop':0x10},'connectedPlatformsTitle':{'fontSize':0xf,'fontFamily':_0x4033(0x49),'fontWeight':_0x4033(0x4f),'color':COLORS[_0x4033(0x50)],'marginBottom':0xa},'connectedPlatformsIcons':{'flexDirection':_0x4033(0x43),'justifyContent':'center','alignItems':_0x4033(0x44),'flexWrap':_0x4033(0x52),'gap':0xa,'marginBottom':0xa},'connectedPlatformIconContainer':{'width':0x30,'height':0x30,'borderRadius':0xa,'backgroundColor':_0x4033(0x45),'justifyContent':_0x4033(0x44),'alignItems':_0x4033(0x44),'shadowColor':'#000','shadowOffset':{'width':0x0,'height':0x2},'shadowOpacity':0.1,'shadowRadius':0x4,'elevation':0x2},'connectedPlatformIcon':{'width':0x20,'height':0x20},'connectMoreButton':{'flexDirection':'row','alignItems':_0x4033(0x44),'justifyContent':_0x4033(0x44),'gap':0x8},'connectMoreText':{'fontSize':0x10,'fontFamily':'Inter','fontWeight':_0x4033(0x4f),'color':COLORS[_0x4033(0x50)]},'connectMorePlusCircle':{'width':0x1c,'height':0x1c,'borderRadius':0xe,'borderWidth':0x2,'borderColor':COLORS['grey400'],'justifyContent':_0x4033(0x44),'alignItems':_0x4033(0x44)},'connectMorePlus':{'fontSize':0x12,'fontWeight':_0x4033(0x4f),'color':COLORS[_0x4033(0x50)],'marginTop':-0x2}});export{PersonalizationConsentScreen};function _0x4033(_0x22b4f8,_0x40339a){_0x22b4f8=_0x22b4f8-0x0;const _0x1dd139=_0x22b4();let _0x8d3ed0=_0x1dd139[_0x22b4f8];return _0x8d3ed0;}export default PersonalizationConsentScreen;
|
|
1
|
+
import React, { useState } from 'react';
|
|
2
|
+
import { View, Text, StyleSheet, TouchableOpacity, Image, ScrollView, ActivityIndicator } from 'react-native';
|
|
3
|
+
import { COLORS } from '../theme';
|
|
4
|
+
import { triggerHaptic, HapticType } from '../utils/haptics';
|
|
5
|
+
import { getPlatformIcon } from '../services/connectedAccountsService';
|
|
6
|
+
import { BRAND_IMAGES } from '../utils/assetRegistry';
|
|
7
|
+
import { Basicproficon, Basicprofile, Contenticon, Personalityicon, Personalitytraits, Userpreferences, Checkbox, Checkmark } from './icons';
|
|
8
|
+
const PersonalizationConsentScreen = ({
|
|
9
|
+
visible,
|
|
10
|
+
onAccept,
|
|
11
|
+
onDecline,
|
|
12
|
+
loading = false,
|
|
13
|
+
connectedPlatforms = [],
|
|
14
|
+
onConnectMore,
|
|
15
|
+
isReturningUser = false,
|
|
16
|
+
appName = 'Enoch',
|
|
17
|
+
onLogout
|
|
18
|
+
}) => {
|
|
19
|
+
const [selectedOptions, setSelectedOptions] = useState({
|
|
20
|
+
basicProfile: true,
|
|
21
|
+
contentAnalysis: false,
|
|
22
|
+
personalityProfile: false
|
|
23
|
+
});
|
|
24
|
+
const handleOptionToggle = option => {
|
|
25
|
+
// Basic profile is always on and cannot be unchecked
|
|
26
|
+
if (option === 'basicProfile') return;
|
|
27
|
+
triggerHaptic(HapticType.BUTTON_PRESS);
|
|
28
|
+
setSelectedOptions(prev => ({
|
|
29
|
+
...prev,
|
|
30
|
+
[option]: !prev[option]
|
|
31
|
+
}));
|
|
32
|
+
};
|
|
33
|
+
|
|
34
|
+
// Check if at least one option is selected
|
|
35
|
+
const hasSelectedOptions = Object.values(selectedOptions).some(value => value);
|
|
36
|
+
if (!visible) return null;
|
|
37
|
+
return /*#__PURE__*/React.createElement(View, {
|
|
38
|
+
style: styles.container
|
|
39
|
+
}, /*#__PURE__*/React.createElement(ScrollView, {
|
|
40
|
+
style: styles.scrollView,
|
|
41
|
+
contentContainerStyle: styles.scrollContent,
|
|
42
|
+
showsVerticalScrollIndicator: false
|
|
43
|
+
}, /*#__PURE__*/React.createElement(View, {
|
|
44
|
+
style: styles.headerContainer
|
|
45
|
+
}, /*#__PURE__*/React.createElement(View, {
|
|
46
|
+
style: styles.iconContainer
|
|
47
|
+
}, /*#__PURE__*/React.createElement(Image, {
|
|
48
|
+
source: BRAND_IMAGES.onairosLogo,
|
|
49
|
+
style: styles.headerIcon,
|
|
50
|
+
resizeMode: "contain"
|
|
51
|
+
})), /*#__PURE__*/React.createElement(Text, {
|
|
52
|
+
style: styles.arrow
|
|
53
|
+
}, "\u2192"), /*#__PURE__*/React.createElement(Image, {
|
|
54
|
+
source: BRAND_IMAGES.enochIcon,
|
|
55
|
+
style: styles.enochAppIcon,
|
|
56
|
+
resizeMode: "contain"
|
|
57
|
+
})), /*#__PURE__*/React.createElement(View, {
|
|
58
|
+
style: styles.titleContainer
|
|
59
|
+
}, isReturningUser && /*#__PURE__*/React.createElement(Text, {
|
|
60
|
+
style: styles.welcomeBackText
|
|
61
|
+
}, "Welcome back!"), /*#__PURE__*/React.createElement(Text, {
|
|
62
|
+
style: styles.title
|
|
63
|
+
}, appName, " wants to personalize your experience"), /*#__PURE__*/React.createElement(Text, {
|
|
64
|
+
style: styles.subtitle
|
|
65
|
+
}, "Choose what to share:")), /*#__PURE__*/React.createElement(View, {
|
|
66
|
+
style: styles.optionsContainer
|
|
67
|
+
}, /*#__PURE__*/React.createElement(TouchableOpacity, {
|
|
68
|
+
style: styles.optionRow,
|
|
69
|
+
onPress: () => handleOptionToggle('basicProfile')
|
|
70
|
+
}, /*#__PURE__*/React.createElement(View, {
|
|
71
|
+
style: styles.optionLeft
|
|
72
|
+
}, /*#__PURE__*/React.createElement(Basicproficon, {
|
|
73
|
+
width: 32,
|
|
74
|
+
height: 32,
|
|
75
|
+
fill: COLORS.grey700,
|
|
76
|
+
style: styles.optionIcon
|
|
77
|
+
}), /*#__PURE__*/React.createElement(Basicprofile, {
|
|
78
|
+
height: 24,
|
|
79
|
+
fill: COLORS.grey800,
|
|
80
|
+
style: styles.optionText
|
|
81
|
+
})), /*#__PURE__*/React.createElement(View, {
|
|
82
|
+
style: styles.checkboxContainer
|
|
83
|
+
}, selectedOptions.basicProfile ? /*#__PURE__*/React.createElement(Checkmark, {
|
|
84
|
+
width: 24,
|
|
85
|
+
height: 24,
|
|
86
|
+
fill: "#4CD964",
|
|
87
|
+
style: styles.checkbox
|
|
88
|
+
}) : /*#__PURE__*/React.createElement(Checkbox, {
|
|
89
|
+
width: 24,
|
|
90
|
+
height: 24,
|
|
91
|
+
stroke: COLORS.grey400,
|
|
92
|
+
style: styles.checkbox
|
|
93
|
+
}))), /*#__PURE__*/React.createElement(TouchableOpacity, {
|
|
94
|
+
style: styles.optionRow,
|
|
95
|
+
onPress: () => handleOptionToggle('contentAnalysis')
|
|
96
|
+
}, /*#__PURE__*/React.createElement(View, {
|
|
97
|
+
style: styles.optionLeft
|
|
98
|
+
}, /*#__PURE__*/React.createElement(Contenticon, {
|
|
99
|
+
width: 32,
|
|
100
|
+
height: 32,
|
|
101
|
+
fill: COLORS.grey700,
|
|
102
|
+
style: styles.optionIcon
|
|
103
|
+
}), /*#__PURE__*/React.createElement(Userpreferences, {
|
|
104
|
+
height: 24,
|
|
105
|
+
fill: COLORS.grey800,
|
|
106
|
+
style: styles.optionText
|
|
107
|
+
})), /*#__PURE__*/React.createElement(View, {
|
|
108
|
+
style: styles.checkboxContainer
|
|
109
|
+
}, selectedOptions.contentAnalysis ? /*#__PURE__*/React.createElement(Checkmark, {
|
|
110
|
+
width: 24,
|
|
111
|
+
height: 24,
|
|
112
|
+
fill: "#4CD964",
|
|
113
|
+
style: styles.checkbox
|
|
114
|
+
}) : /*#__PURE__*/React.createElement(Checkbox, {
|
|
115
|
+
width: 24,
|
|
116
|
+
height: 24,
|
|
117
|
+
stroke: COLORS.grey400,
|
|
118
|
+
style: styles.checkbox
|
|
119
|
+
}))), /*#__PURE__*/React.createElement(TouchableOpacity, {
|
|
120
|
+
style: styles.optionRow,
|
|
121
|
+
onPress: () => handleOptionToggle('personalityProfile')
|
|
122
|
+
}, /*#__PURE__*/React.createElement(View, {
|
|
123
|
+
style: styles.optionLeft
|
|
124
|
+
}, /*#__PURE__*/React.createElement(Personalityicon, {
|
|
125
|
+
width: 32,
|
|
126
|
+
height: 32,
|
|
127
|
+
fill: COLORS.grey700,
|
|
128
|
+
style: styles.optionIcon
|
|
129
|
+
}), /*#__PURE__*/React.createElement(Personalitytraits, {
|
|
130
|
+
height: 24,
|
|
131
|
+
fill: COLORS.grey800,
|
|
132
|
+
style: styles.optionText
|
|
133
|
+
})), /*#__PURE__*/React.createElement(View, {
|
|
134
|
+
style: styles.checkboxContainer
|
|
135
|
+
}, selectedOptions.personalityProfile ? /*#__PURE__*/React.createElement(Checkmark, {
|
|
136
|
+
width: 24,
|
|
137
|
+
height: 24,
|
|
138
|
+
fill: "#4CD964",
|
|
139
|
+
style: styles.checkbox
|
|
140
|
+
}) : /*#__PURE__*/React.createElement(Checkbox, {
|
|
141
|
+
width: 24,
|
|
142
|
+
height: 24,
|
|
143
|
+
stroke: COLORS.grey400,
|
|
144
|
+
style: styles.checkbox
|
|
145
|
+
})))), /*#__PURE__*/React.createElement(View, {
|
|
146
|
+
style: styles.connectedPlatformsSection
|
|
147
|
+
}, /*#__PURE__*/React.createElement(Text, {
|
|
148
|
+
style: styles.connectedPlatformsTitle
|
|
149
|
+
}, "Connected Platforms"), connectedPlatforms.length > 0 && /*#__PURE__*/React.createElement(View, {
|
|
150
|
+
style: styles.connectedPlatformsIcons
|
|
151
|
+
}, connectedPlatforms.map(platformId => /*#__PURE__*/React.createElement(View, {
|
|
152
|
+
key: platformId,
|
|
153
|
+
style: styles.connectedPlatformIconContainer
|
|
154
|
+
}, /*#__PURE__*/React.createElement(Image, {
|
|
155
|
+
source: getPlatformIcon(platformId),
|
|
156
|
+
style: styles.connectedPlatformIcon,
|
|
157
|
+
resizeMode: "contain"
|
|
158
|
+
})))), onConnectMore && /*#__PURE__*/React.createElement(TouchableOpacity, {
|
|
159
|
+
style: styles.connectMoreButton,
|
|
160
|
+
onPress: () => {
|
|
161
|
+
triggerHaptic(HapticType.BUTTON_PRESS);
|
|
162
|
+
onConnectMore();
|
|
163
|
+
}
|
|
164
|
+
}, /*#__PURE__*/React.createElement(Text, {
|
|
165
|
+
style: styles.connectMoreText
|
|
166
|
+
}, "Connect more"), /*#__PURE__*/React.createElement(View, {
|
|
167
|
+
style: styles.connectMorePlusCircle
|
|
168
|
+
}, /*#__PURE__*/React.createElement(Text, {
|
|
169
|
+
style: styles.connectMorePlus
|
|
170
|
+
}, "+")))), /*#__PURE__*/React.createElement(View, {
|
|
171
|
+
style: styles.buttonContainer
|
|
172
|
+
}, /*#__PURE__*/React.createElement(TouchableOpacity, {
|
|
173
|
+
style: [styles.acceptButton, hasSelectedOptions && styles.acceptButtonActive, loading && styles.acceptButtonLoading],
|
|
174
|
+
onPress: () => {
|
|
175
|
+
if (!loading) {
|
|
176
|
+
triggerHaptic(HapticType.BUTTON_PRESS);
|
|
177
|
+
onAccept();
|
|
178
|
+
}
|
|
179
|
+
},
|
|
180
|
+
disabled: loading,
|
|
181
|
+
activeOpacity: loading ? 1 : 0.7
|
|
182
|
+
}, loading ? /*#__PURE__*/React.createElement(ActivityIndicator, {
|
|
183
|
+
size: "small",
|
|
184
|
+
color: "#FFFFFF"
|
|
185
|
+
}) : /*#__PURE__*/React.createElement(React.Fragment, null, /*#__PURE__*/React.createElement(Text, {
|
|
186
|
+
style: [styles.acceptButtonText, hasSelectedOptions && styles.acceptButtonTextActive]
|
|
187
|
+
}, "Accept & Continue"), /*#__PURE__*/React.createElement(Text, {
|
|
188
|
+
style: [styles.buttonArrow, hasSelectedOptions && styles.buttonArrowActive]
|
|
189
|
+
}, "\u2192"))), /*#__PURE__*/React.createElement(TouchableOpacity, {
|
|
190
|
+
style: styles.declineButton,
|
|
191
|
+
onPress: () => {
|
|
192
|
+
triggerHaptic(HapticType.BUTTON_PRESS);
|
|
193
|
+
onDecline();
|
|
194
|
+
}
|
|
195
|
+
}, /*#__PURE__*/React.createElement(Text, {
|
|
196
|
+
style: styles.declineButtonText
|
|
197
|
+
}, "Decline")))));
|
|
198
|
+
};
|
|
199
|
+
const styles = StyleSheet.create({
|
|
200
|
+
container: {
|
|
201
|
+
flex: 1,
|
|
202
|
+
backgroundColor: COLORS.surface,
|
|
203
|
+
paddingHorizontal: 24,
|
|
204
|
+
paddingTop: 40,
|
|
205
|
+
paddingBottom: 8
|
|
206
|
+
},
|
|
207
|
+
headerContainer: {
|
|
208
|
+
flexDirection: 'row',
|
|
209
|
+
alignItems: 'center',
|
|
210
|
+
justifyContent: 'center',
|
|
211
|
+
marginBottom: 12,
|
|
212
|
+
marginTop: 0
|
|
213
|
+
},
|
|
214
|
+
iconContainer: {
|
|
215
|
+
width: 64,
|
|
216
|
+
height: 64,
|
|
217
|
+
backgroundColor: '#FFFFFF',
|
|
218
|
+
borderRadius: 12,
|
|
219
|
+
alignItems: 'center',
|
|
220
|
+
justifyContent: 'center',
|
|
221
|
+
marginHorizontal: 8,
|
|
222
|
+
shadowColor: '#000',
|
|
223
|
+
shadowOffset: {
|
|
224
|
+
width: 0,
|
|
225
|
+
height: 2
|
|
226
|
+
},
|
|
227
|
+
shadowOpacity: 0.1,
|
|
228
|
+
shadowRadius: 4,
|
|
229
|
+
elevation: 2
|
|
230
|
+
},
|
|
231
|
+
headerIcon: {
|
|
232
|
+
width: 42,
|
|
233
|
+
height: 42
|
|
234
|
+
},
|
|
235
|
+
enochAppIcon: {
|
|
236
|
+
width: 72,
|
|
237
|
+
height: 72,
|
|
238
|
+
marginHorizontal: 8
|
|
239
|
+
},
|
|
240
|
+
enochLetter: {
|
|
241
|
+
fontSize: 28,
|
|
242
|
+
fontFamily: 'IBM Plex Sans',
|
|
243
|
+
fontWeight: '700',
|
|
244
|
+
color: COLORS.grey800
|
|
245
|
+
},
|
|
246
|
+
arrow: {
|
|
247
|
+
fontSize: 24,
|
|
248
|
+
color: COLORS.grey600,
|
|
249
|
+
marginHorizontal: 16
|
|
250
|
+
},
|
|
251
|
+
titleContainer: {
|
|
252
|
+
alignItems: 'center',
|
|
253
|
+
marginBottom: 8
|
|
254
|
+
},
|
|
255
|
+
welcomeBackText: {
|
|
256
|
+
fontSize: 24,
|
|
257
|
+
fontFamily: 'IBM Plex Sans',
|
|
258
|
+
fontWeight: '700',
|
|
259
|
+
color: COLORS.grey800,
|
|
260
|
+
textAlign: 'center',
|
|
261
|
+
marginBottom: 2
|
|
262
|
+
},
|
|
263
|
+
title: {
|
|
264
|
+
fontSize: 20,
|
|
265
|
+
fontFamily: 'IBM Plex Sans',
|
|
266
|
+
fontWeight: '600',
|
|
267
|
+
color: COLORS.grey800,
|
|
268
|
+
textAlign: 'center',
|
|
269
|
+
marginBottom: 10
|
|
270
|
+
},
|
|
271
|
+
subtitle: {
|
|
272
|
+
fontSize: 16,
|
|
273
|
+
fontFamily: 'Inter',
|
|
274
|
+
fontWeight: '400',
|
|
275
|
+
color: COLORS.grey600,
|
|
276
|
+
textAlign: 'center'
|
|
277
|
+
},
|
|
278
|
+
scrollView: {
|
|
279
|
+
flex: 1
|
|
280
|
+
},
|
|
281
|
+
scrollContent: {
|
|
282
|
+
flexGrow: 1
|
|
283
|
+
},
|
|
284
|
+
optionsContainer: {
|
|
285
|
+
marginBottom: 8
|
|
286
|
+
},
|
|
287
|
+
optionRow: {
|
|
288
|
+
flexDirection: 'row',
|
|
289
|
+
alignItems: 'center',
|
|
290
|
+
justifyContent: 'space-between',
|
|
291
|
+
paddingVertical: 12,
|
|
292
|
+
paddingHorizontal: 2,
|
|
293
|
+
backgroundColor: '#F8F9FA',
|
|
294
|
+
borderRadius: 12,
|
|
295
|
+
marginBottom: 6,
|
|
296
|
+
marginHorizontal: 0
|
|
297
|
+
},
|
|
298
|
+
optionLeft: {
|
|
299
|
+
flexDirection: 'row',
|
|
300
|
+
alignItems: 'center',
|
|
301
|
+
flex: 1
|
|
302
|
+
},
|
|
303
|
+
optionIcon: {
|
|
304
|
+
marginRight: 12,
|
|
305
|
+
marginLeft: 2,
|
|
306
|
+
marginTop: -4
|
|
307
|
+
},
|
|
308
|
+
optionText: {
|
|
309
|
+
flex: 1,
|
|
310
|
+
marginLeft: 2
|
|
311
|
+
},
|
|
312
|
+
checkboxContainer: {
|
|
313
|
+
paddingLeft: 4,
|
|
314
|
+
paddingRight: 2,
|
|
315
|
+
alignItems: 'center',
|
|
316
|
+
justifyContent: 'center'
|
|
317
|
+
},
|
|
318
|
+
checkbox: {
|
|
319
|
+
// SVG components handle their own sizing
|
|
320
|
+
},
|
|
321
|
+
buttonContainer: {
|
|
322
|
+
gap: 8,
|
|
323
|
+
paddingHorizontal: 0,
|
|
324
|
+
paddingBottom: 16,
|
|
325
|
+
marginTop: 16
|
|
326
|
+
},
|
|
327
|
+
acceptButton: {
|
|
328
|
+
backgroundColor: '#E5E5E5',
|
|
329
|
+
borderRadius: 25,
|
|
330
|
+
paddingVertical: 10,
|
|
331
|
+
paddingHorizontal: 24,
|
|
332
|
+
flexDirection: 'row',
|
|
333
|
+
alignItems: 'center',
|
|
334
|
+
justifyContent: 'center'
|
|
335
|
+
},
|
|
336
|
+
acceptButtonActive: {
|
|
337
|
+
backgroundColor: '#2D3436'
|
|
338
|
+
},
|
|
339
|
+
acceptButtonLoading: {
|
|
340
|
+
backgroundColor: '#2D3436',
|
|
341
|
+
opacity: 0.8
|
|
342
|
+
},
|
|
343
|
+
acceptButtonText: {
|
|
344
|
+
color: '#999999',
|
|
345
|
+
fontSize: 16,
|
|
346
|
+
fontFamily: 'Inter',
|
|
347
|
+
fontWeight: '600',
|
|
348
|
+
marginRight: 8
|
|
349
|
+
},
|
|
350
|
+
acceptButtonTextActive: {
|
|
351
|
+
color: '#FFFFFF'
|
|
352
|
+
},
|
|
353
|
+
buttonArrow: {
|
|
354
|
+
color: '#999999',
|
|
355
|
+
fontSize: 16
|
|
356
|
+
},
|
|
357
|
+
buttonArrowActive: {
|
|
358
|
+
color: '#FFFFFF'
|
|
359
|
+
},
|
|
360
|
+
declineButton: {
|
|
361
|
+
backgroundColor: '#E5E5E5',
|
|
362
|
+
borderRadius: 25,
|
|
363
|
+
paddingVertical: 10,
|
|
364
|
+
paddingHorizontal: 24,
|
|
365
|
+
alignItems: 'center',
|
|
366
|
+
justifyContent: 'center'
|
|
367
|
+
},
|
|
368
|
+
declineButtonText: {
|
|
369
|
+
color: COLORS.grey600,
|
|
370
|
+
fontSize: 16,
|
|
371
|
+
fontFamily: 'Inter',
|
|
372
|
+
fontWeight: '500'
|
|
373
|
+
},
|
|
374
|
+
logoutButton: {
|
|
375
|
+
alignItems: 'center',
|
|
376
|
+
paddingVertical: 12,
|
|
377
|
+
marginTop: 8
|
|
378
|
+
},
|
|
379
|
+
logoutButtonText: {
|
|
380
|
+
fontSize: 14,
|
|
381
|
+
fontFamily: 'Inter',
|
|
382
|
+
fontWeight: '400',
|
|
383
|
+
color: COLORS.grey500,
|
|
384
|
+
textDecorationLine: 'underline'
|
|
385
|
+
},
|
|
386
|
+
connectedPlatformsSection: {
|
|
387
|
+
alignItems: 'center',
|
|
388
|
+
paddingVertical: 10,
|
|
389
|
+
paddingHorizontal: 16,
|
|
390
|
+
backgroundColor: '#F8F9FA',
|
|
391
|
+
borderRadius: 16,
|
|
392
|
+
marginBottom: 10,
|
|
393
|
+
marginTop: 16
|
|
394
|
+
},
|
|
395
|
+
connectedPlatformsTitle: {
|
|
396
|
+
fontSize: 15,
|
|
397
|
+
fontFamily: 'Inter',
|
|
398
|
+
fontWeight: '500',
|
|
399
|
+
color: COLORS.grey500,
|
|
400
|
+
marginBottom: 10
|
|
401
|
+
},
|
|
402
|
+
connectedPlatformsIcons: {
|
|
403
|
+
flexDirection: 'row',
|
|
404
|
+
justifyContent: 'center',
|
|
405
|
+
alignItems: 'center',
|
|
406
|
+
flexWrap: 'wrap',
|
|
407
|
+
gap: 10,
|
|
408
|
+
marginBottom: 10
|
|
409
|
+
},
|
|
410
|
+
connectedPlatformIconContainer: {
|
|
411
|
+
width: 48,
|
|
412
|
+
height: 48,
|
|
413
|
+
borderRadius: 10,
|
|
414
|
+
backgroundColor: '#FFFFFF',
|
|
415
|
+
justifyContent: 'center',
|
|
416
|
+
alignItems: 'center',
|
|
417
|
+
shadowColor: '#000',
|
|
418
|
+
shadowOffset: {
|
|
419
|
+
width: 0,
|
|
420
|
+
height: 2
|
|
421
|
+
},
|
|
422
|
+
shadowOpacity: 0.1,
|
|
423
|
+
shadowRadius: 4,
|
|
424
|
+
elevation: 2
|
|
425
|
+
},
|
|
426
|
+
connectedPlatformIcon: {
|
|
427
|
+
width: 32,
|
|
428
|
+
height: 32
|
|
429
|
+
},
|
|
430
|
+
connectMoreButton: {
|
|
431
|
+
flexDirection: 'row',
|
|
432
|
+
alignItems: 'center',
|
|
433
|
+
justifyContent: 'center',
|
|
434
|
+
gap: 8
|
|
435
|
+
},
|
|
436
|
+
connectMoreText: {
|
|
437
|
+
fontSize: 16,
|
|
438
|
+
fontFamily: 'Inter',
|
|
439
|
+
fontWeight: '500',
|
|
440
|
+
color: COLORS.grey500
|
|
441
|
+
},
|
|
442
|
+
connectMorePlusCircle: {
|
|
443
|
+
width: 28,
|
|
444
|
+
height: 28,
|
|
445
|
+
borderRadius: 14,
|
|
446
|
+
borderWidth: 2,
|
|
447
|
+
borderColor: COLORS.grey400,
|
|
448
|
+
justifyContent: 'center',
|
|
449
|
+
alignItems: 'center'
|
|
450
|
+
},
|
|
451
|
+
connectMorePlus: {
|
|
452
|
+
fontSize: 18,
|
|
453
|
+
fontWeight: '500',
|
|
454
|
+
color: COLORS.grey500,
|
|
455
|
+
marginTop: -2
|
|
456
|
+
}
|
|
457
|
+
});
|
|
458
|
+
export { PersonalizationConsentScreen };
|
|
459
|
+
export default PersonalizationConsentScreen;
|
|
460
|
+
//# sourceMappingURL=PersonalizationConsentScreen.js.map
|