@oxyhq/services 13.0.2 → 13.0.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/index.js +0 -11
- package/lib/commonjs/index.js.map +1 -1
- package/lib/commonjs/ui/components/AccountMenuButton.js +8 -10
- package/lib/commonjs/ui/components/AccountMenuButton.js.map +1 -1
- package/lib/commonjs/ui/components/AccountSwitcher.js +65 -35
- package/lib/commonjs/ui/components/AccountSwitcher.js.map +1 -1
- package/lib/commonjs/ui/context/OxyContext.js +124 -93
- package/lib/commonjs/ui/context/OxyContext.js.map +1 -1
- package/lib/commonjs/ui/hooks/queries/useAccountQueries.js +2 -2
- package/lib/commonjs/ui/hooks/queries/useAccountQueries.js.map +1 -1
- package/lib/commonjs/ui/hooks/queries/usePaymentQueries.js +12 -12
- package/lib/commonjs/ui/hooks/queries/usePaymentQueries.js.map +1 -1
- package/lib/commonjs/ui/hooks/queries/useServicesQueries.js +8 -7
- package/lib/commonjs/ui/hooks/queries/useServicesQueries.js.map +1 -1
- package/lib/commonjs/ui/screens/AccountSettingsScreen.js +11 -6
- package/lib/commonjs/ui/screens/AccountSettingsScreen.js.map +1 -1
- package/lib/commonjs/ui/screens/AccountSwitcherScreen.js +3 -3
- package/lib/commonjs/ui/screens/CreateAccountScreen.js +6 -4
- package/lib/commonjs/ui/screens/CreateAccountScreen.js.map +1 -1
- package/lib/commonjs/ui/screens/EditProfileFieldScreen.js +8 -7
- package/lib/commonjs/ui/screens/EditProfileFieldScreen.js.map +1 -1
- package/lib/commonjs/ui/screens/FileManagementScreen.js +13 -13
- package/lib/commonjs/ui/screens/FileManagementScreen.js.map +1 -1
- package/lib/commonjs/ui/screens/HistoryViewScreen.js +7 -7
- package/lib/commonjs/ui/screens/HistoryViewScreen.js.map +1 -1
- package/lib/commonjs/ui/screens/LanguageSelectorScreen.js +5 -5
- package/lib/commonjs/ui/screens/LanguageSelectorScreen.js.map +1 -1
- package/lib/commonjs/ui/screens/ManageAccountScreen.js +17 -18
- package/lib/commonjs/ui/screens/ManageAccountScreen.js.map +1 -1
- package/lib/commonjs/ui/screens/PremiumSubscriptionScreen.js +3 -3
- package/lib/commonjs/ui/screens/PremiumSubscriptionScreen.js.map +1 -1
- package/lib/commonjs/ui/screens/PrivacySettingsScreen.js +9 -9
- package/lib/commonjs/ui/screens/PrivacySettingsScreen.js.map +1 -1
- package/lib/commonjs/ui/screens/ProfileScreen.js +1 -1
- package/lib/commonjs/ui/screens/ProfileScreen.js.map +1 -1
- package/lib/commonjs/ui/screens/SavesCollectionsScreen.js +4 -4
- package/lib/commonjs/ui/screens/SavesCollectionsScreen.js.map +1 -1
- package/lib/commonjs/ui/screens/SearchSettingsScreen.js +6 -6
- package/lib/commonjs/ui/screens/SearchSettingsScreen.js.map +1 -1
- package/lib/commonjs/ui/screens/WelcomeNewUserScreen.js +6 -6
- package/lib/commonjs/ui/screens/WelcomeNewUserScreen.js.map +1 -1
- package/lib/commonjs/ui/screens/trust/TrustCenterScreen.js +4 -4
- package/lib/commonjs/ui/screens/trust/TrustCenterScreen.js.map +1 -1
- package/lib/commonjs/ui/screens/trust/TrustRewardsScreen.js +4 -4
- package/lib/commonjs/ui/screens/trust/TrustRewardsScreen.js.map +1 -1
- package/lib/module/index.js +0 -5
- package/lib/module/index.js.map +1 -1
- package/lib/module/ui/components/AccountMenuButton.js +8 -10
- package/lib/module/ui/components/AccountMenuButton.js.map +1 -1
- package/lib/module/ui/components/AccountSwitcher.js +65 -35
- package/lib/module/ui/components/AccountSwitcher.js.map +1 -1
- package/lib/module/ui/context/OxyContext.js +124 -93
- package/lib/module/ui/context/OxyContext.js.map +1 -1
- package/lib/module/ui/hooks/queries/useAccountQueries.js +2 -2
- package/lib/module/ui/hooks/queries/useAccountQueries.js.map +1 -1
- package/lib/module/ui/hooks/queries/usePaymentQueries.js +12 -12
- package/lib/module/ui/hooks/queries/usePaymentQueries.js.map +1 -1
- package/lib/module/ui/hooks/queries/useServicesQueries.js +9 -7
- package/lib/module/ui/hooks/queries/useServicesQueries.js.map +1 -1
- package/lib/module/ui/screens/AccountSettingsScreen.js +11 -6
- package/lib/module/ui/screens/AccountSettingsScreen.js.map +1 -1
- package/lib/module/ui/screens/AccountSwitcherScreen.js +3 -3
- package/lib/module/ui/screens/CreateAccountScreen.js +6 -4
- package/lib/module/ui/screens/CreateAccountScreen.js.map +1 -1
- package/lib/module/ui/screens/EditProfileFieldScreen.js +8 -7
- package/lib/module/ui/screens/EditProfileFieldScreen.js.map +1 -1
- package/lib/module/ui/screens/FileManagementScreen.js +13 -13
- package/lib/module/ui/screens/FileManagementScreen.js.map +1 -1
- package/lib/module/ui/screens/HistoryViewScreen.js +7 -7
- package/lib/module/ui/screens/HistoryViewScreen.js.map +1 -1
- package/lib/module/ui/screens/LanguageSelectorScreen.js +5 -5
- package/lib/module/ui/screens/LanguageSelectorScreen.js.map +1 -1
- package/lib/module/ui/screens/ManageAccountScreen.js +17 -18
- package/lib/module/ui/screens/ManageAccountScreen.js.map +1 -1
- package/lib/module/ui/screens/PremiumSubscriptionScreen.js +3 -3
- package/lib/module/ui/screens/PremiumSubscriptionScreen.js.map +1 -1
- package/lib/module/ui/screens/PrivacySettingsScreen.js +9 -9
- package/lib/module/ui/screens/PrivacySettingsScreen.js.map +1 -1
- package/lib/module/ui/screens/ProfileScreen.js +1 -1
- package/lib/module/ui/screens/ProfileScreen.js.map +1 -1
- package/lib/module/ui/screens/SavesCollectionsScreen.js +4 -4
- package/lib/module/ui/screens/SavesCollectionsScreen.js.map +1 -1
- package/lib/module/ui/screens/SearchSettingsScreen.js +6 -6
- package/lib/module/ui/screens/SearchSettingsScreen.js.map +1 -1
- package/lib/module/ui/screens/WelcomeNewUserScreen.js +6 -6
- package/lib/module/ui/screens/WelcomeNewUserScreen.js.map +1 -1
- package/lib/module/ui/screens/trust/TrustCenterScreen.js +4 -4
- package/lib/module/ui/screens/trust/TrustCenterScreen.js.map +1 -1
- package/lib/module/ui/screens/trust/TrustRewardsScreen.js +4 -4
- package/lib/module/ui/screens/trust/TrustRewardsScreen.js.map +1 -1
- package/lib/typescript/commonjs/index.d.ts +0 -1
- package/lib/typescript/commonjs/index.d.ts.map +1 -1
- package/lib/typescript/commonjs/ui/components/AccountMenuButton.d.ts +5 -7
- package/lib/typescript/commonjs/ui/components/AccountMenuButton.d.ts.map +1 -1
- package/lib/typescript/commonjs/ui/components/AccountSwitcher.d.ts.map +1 -1
- package/lib/typescript/commonjs/ui/components/ActivityIndicator.d.ts +1 -1
- package/lib/typescript/commonjs/ui/components/ActivityIndicator.d.ts.map +1 -1
- package/lib/typescript/commonjs/ui/components/CrossFadeIcon.d.ts +2 -1
- package/lib/typescript/commonjs/ui/components/CrossFadeIcon.d.ts.map +1 -1
- package/lib/typescript/commonjs/ui/components/FontLoader.d.ts +1 -1
- package/lib/typescript/commonjs/ui/components/FontLoader.d.ts.map +1 -1
- package/lib/typescript/commonjs/ui/components/HelperText.d.ts +1 -1
- package/lib/typescript/commonjs/ui/components/HelperText.d.ts.map +1 -1
- package/lib/typescript/commonjs/ui/components/TextField/Addons/Outline.d.ts +2 -1
- package/lib/typescript/commonjs/ui/components/TextField/Addons/Outline.d.ts.map +1 -1
- package/lib/typescript/commonjs/ui/components/TextField/Addons/Underline.d.ts +2 -1
- package/lib/typescript/commonjs/ui/components/TextField/Addons/Underline.d.ts.map +1 -1
- package/lib/typescript/commonjs/ui/components/TextField/Adornment/TextFieldAffix.d.ts +1 -1
- package/lib/typescript/commonjs/ui/components/TextField/Adornment/TextFieldIcon.d.ts +1 -1
- package/lib/typescript/commonjs/ui/components/TextField/Label/InputLabel.d.ts +1 -1
- package/lib/typescript/commonjs/ui/components/TextField/Label/LabelBackground.d.ts +2 -1
- package/lib/typescript/commonjs/ui/components/TextField/Label/LabelBackground.d.ts.map +1 -1
- package/lib/typescript/commonjs/ui/components/TextField/TextFieldFlat.d.ts +2 -1
- package/lib/typescript/commonjs/ui/components/TextField/TextFieldFlat.d.ts.map +1 -1
- package/lib/typescript/commonjs/ui/components/TextField/TextFieldOutlined.d.ts +2 -1
- package/lib/typescript/commonjs/ui/components/TextField/TextFieldOutlined.d.ts.map +1 -1
- package/lib/typescript/commonjs/ui/context/OxyContext.d.ts +11 -26
- package/lib/typescript/commonjs/ui/context/OxyContext.d.ts.map +1 -1
- package/lib/typescript/commonjs/ui/context/ThemeContext.d.ts +1 -1
- package/lib/typescript/commonjs/ui/context/ThemeContext.d.ts.map +1 -1
- package/lib/typescript/commonjs/ui/hooks/queries/useServicesQueries.d.ts.map +1 -1
- package/lib/typescript/commonjs/ui/screens/AccountSettingsScreen.d.ts.map +1 -1
- package/lib/typescript/commonjs/ui/screens/AccountSwitcherScreen.d.ts +3 -3
- package/lib/typescript/commonjs/ui/screens/CreateAccountScreen.d.ts.map +1 -1
- package/lib/typescript/commonjs/ui/screens/EditProfileFieldScreen.d.ts.map +1 -1
- package/lib/typescript/commonjs/ui/screens/ManageAccountScreen.d.ts.map +1 -1
- package/lib/typescript/module/index.d.ts +60 -61
- package/lib/typescript/module/index.d.ts.map +1 -1
- package/lib/typescript/module/ui/client.d.ts +26 -26
- package/lib/typescript/module/ui/client.d.ts.map +1 -1
- package/lib/typescript/module/ui/components/AccountMenuButton.d.ts +5 -7
- package/lib/typescript/module/ui/components/AccountMenuButton.d.ts.map +1 -1
- package/lib/typescript/module/ui/components/AccountSwitcher.d.ts +1 -1
- package/lib/typescript/module/ui/components/AccountSwitcher.d.ts.map +1 -1
- package/lib/typescript/module/ui/components/ActivityIndicator.d.ts +2 -2
- package/lib/typescript/module/ui/components/ActivityIndicator.d.ts.map +1 -1
- package/lib/typescript/module/ui/components/BottomSheetRouter.d.ts +1 -1
- package/lib/typescript/module/ui/components/BottomSheetRouter.d.ts.map +1 -1
- package/lib/typescript/module/ui/components/CrossFadeIcon.d.ts +4 -3
- package/lib/typescript/module/ui/components/CrossFadeIcon.d.ts.map +1 -1
- package/lib/typescript/module/ui/components/FontLoader.d.ts +1 -1
- package/lib/typescript/module/ui/components/FontLoader.d.ts.map +1 -1
- package/lib/typescript/module/ui/components/HelperText.d.ts +1 -1
- package/lib/typescript/module/ui/components/HelperText.d.ts.map +1 -1
- package/lib/typescript/module/ui/components/Icon.d.ts +1 -1
- package/lib/typescript/module/ui/components/Icon.d.ts.map +1 -1
- package/lib/typescript/module/ui/components/IconButton/IconButton.d.ts +3 -3
- package/lib/typescript/module/ui/components/IconButton/IconButton.d.ts.map +1 -1
- package/lib/typescript/module/ui/components/IconButton/utils.d.ts +1 -1
- package/lib/typescript/module/ui/components/IconButton/utils.d.ts.map +1 -1
- package/lib/typescript/module/ui/components/OxyPayButton.d.ts +1 -1
- package/lib/typescript/module/ui/components/OxyPayButton.d.ts.map +1 -1
- package/lib/typescript/module/ui/components/OxyProvider.d.ts +1 -1
- package/lib/typescript/module/ui/components/OxyProvider.d.ts.map +1 -1
- package/lib/typescript/module/ui/components/StepBasedScreen.d.ts +2 -2
- package/lib/typescript/module/ui/components/StepBasedScreen.d.ts.map +1 -1
- package/lib/typescript/module/ui/components/Surface.d.ts +2 -2
- package/lib/typescript/module/ui/components/Surface.d.ts.map +1 -1
- package/lib/typescript/module/ui/components/TextField/Addons/Outline.d.ts +3 -2
- package/lib/typescript/module/ui/components/TextField/Addons/Outline.d.ts.map +1 -1
- package/lib/typescript/module/ui/components/TextField/Addons/Underline.d.ts +3 -2
- package/lib/typescript/module/ui/components/TextField/Addons/Underline.d.ts.map +1 -1
- package/lib/typescript/module/ui/components/TextField/Adornment/TextFieldAdornment.d.ts +3 -3
- package/lib/typescript/module/ui/components/TextField/Adornment/TextFieldAdornment.d.ts.map +1 -1
- package/lib/typescript/module/ui/components/TextField/Adornment/TextFieldAffix.d.ts +3 -3
- package/lib/typescript/module/ui/components/TextField/Adornment/TextFieldAffix.d.ts.map +1 -1
- package/lib/typescript/module/ui/components/TextField/Adornment/TextFieldIcon.d.ts +4 -4
- package/lib/typescript/module/ui/components/TextField/Adornment/TextFieldIcon.d.ts.map +1 -1
- package/lib/typescript/module/ui/components/TextField/Adornment/types.d.ts +1 -1
- package/lib/typescript/module/ui/components/TextField/Adornment/types.d.ts.map +1 -1
- package/lib/typescript/module/ui/components/TextField/Adornment/utils.d.ts +1 -1
- package/lib/typescript/module/ui/components/TextField/Adornment/utils.d.ts.map +1 -1
- package/lib/typescript/module/ui/components/TextField/Label/InputLabel.d.ts +2 -2
- package/lib/typescript/module/ui/components/TextField/Label/InputLabel.d.ts.map +1 -1
- package/lib/typescript/module/ui/components/TextField/Label/LabelBackground.d.ts +3 -2
- package/lib/typescript/module/ui/components/TextField/Label/LabelBackground.d.ts.map +1 -1
- package/lib/typescript/module/ui/components/TextField/TextFieldFlat.d.ts +3 -2
- package/lib/typescript/module/ui/components/TextField/TextFieldFlat.d.ts.map +1 -1
- package/lib/typescript/module/ui/components/TextField/TextFieldOutlined.d.ts +3 -2
- package/lib/typescript/module/ui/components/TextField/TextFieldOutlined.d.ts.map +1 -1
- package/lib/typescript/module/ui/components/TextField/helpers.d.ts +3 -3
- package/lib/typescript/module/ui/components/TextField/helpers.d.ts.map +1 -1
- package/lib/typescript/module/ui/components/TextField/types.d.ts +1 -1
- package/lib/typescript/module/ui/components/TextField/types.d.ts.map +1 -1
- package/lib/typescript/module/ui/components/TextField.d.ts +4 -4
- package/lib/typescript/module/ui/components/TextField.d.ts.map +1 -1
- package/lib/typescript/module/ui/components/TouchableRipple/TouchableRipple.d.ts +3 -3
- package/lib/typescript/module/ui/components/TouchableRipple/TouchableRipple.d.ts.map +1 -1
- package/lib/typescript/module/ui/components/TouchableRipple/TouchableRipple.native.d.ts +3 -3
- package/lib/typescript/module/ui/components/TouchableRipple/TouchableRipple.native.d.ts.map +1 -1
- package/lib/typescript/module/ui/components/TouchableRipple/utils.d.ts +1 -1
- package/lib/typescript/module/ui/components/TouchableRipple/utils.d.ts.map +1 -1
- package/lib/typescript/module/ui/components/Typography/AnimatedText.d.ts +3 -3
- package/lib/typescript/module/ui/components/Typography/AnimatedText.d.ts.map +1 -1
- package/lib/typescript/module/ui/components/accountMenuRows.d.ts +1 -1
- package/lib/typescript/module/ui/components/accountMenuRows.d.ts.map +1 -1
- package/lib/typescript/module/ui/components/feedback/ProgressIndicator.d.ts +1 -1
- package/lib/typescript/module/ui/components/feedback/ProgressIndicator.d.ts.map +1 -1
- package/lib/typescript/module/ui/components/feedback/constants.d.ts +1 -1
- package/lib/typescript/module/ui/components/feedback/constants.d.ts.map +1 -1
- package/lib/typescript/module/ui/components/feedback/useFeedbackForm.d.ts +1 -1
- package/lib/typescript/module/ui/components/feedback/useFeedbackForm.d.ts.map +1 -1
- package/lib/typescript/module/ui/components/payment/PaymentDetailsStep.d.ts +1 -1
- package/lib/typescript/module/ui/components/payment/PaymentDetailsStep.d.ts.map +1 -1
- package/lib/typescript/module/ui/components/payment/PaymentMethodStep.d.ts +1 -1
- package/lib/typescript/module/ui/components/payment/PaymentMethodStep.d.ts.map +1 -1
- package/lib/typescript/module/ui/components/payment/PaymentReviewStep.d.ts +1 -1
- package/lib/typescript/module/ui/components/payment/PaymentReviewStep.d.ts.map +1 -1
- package/lib/typescript/module/ui/components/payment/PaymentSuccessStep.d.ts +1 -1
- package/lib/typescript/module/ui/components/payment/PaymentSuccessStep.d.ts.map +1 -1
- package/lib/typescript/module/ui/components/payment/PaymentSummaryStep.d.ts +1 -1
- package/lib/typescript/module/ui/components/payment/PaymentSummaryStep.d.ts.map +1 -1
- package/lib/typescript/module/ui/components/payment/constants.d.ts +1 -1
- package/lib/typescript/module/ui/components/payment/constants.d.ts.map +1 -1
- package/lib/typescript/module/ui/components/payment/paymentStyles.d.ts +1 -1
- package/lib/typescript/module/ui/components/payment/paymentStyles.d.ts.map +1 -1
- package/lib/typescript/module/ui/components/theming.d.ts +1 -1
- package/lib/typescript/module/ui/components/theming.d.ts.map +1 -1
- package/lib/typescript/module/ui/context/OxyContext.d.ts +14 -29
- package/lib/typescript/module/ui/context/OxyContext.d.ts.map +1 -1
- package/lib/typescript/module/ui/context/ThemeContext.d.ts +1 -1
- package/lib/typescript/module/ui/context/ThemeContext.d.ts.map +1 -1
- package/lib/typescript/module/ui/context/hooks/useAuthOperations.d.ts +2 -2
- package/lib/typescript/module/ui/context/hooks/useAuthOperations.d.ts.map +1 -1
- package/lib/typescript/module/ui/hooks/queries/usePaymentQueries.d.ts +1 -1
- package/lib/typescript/module/ui/hooks/queries/usePaymentQueries.d.ts.map +1 -1
- package/lib/typescript/module/ui/hooks/queries/useServicesQueries.d.ts.map +1 -1
- package/lib/typescript/module/ui/hooks/queryClient.d.ts +1 -1
- package/lib/typescript/module/ui/hooks/queryClient.d.ts.map +1 -1
- package/lib/typescript/module/ui/hooks/useAuth.d.ts +1 -1
- package/lib/typescript/module/ui/hooks/useAuth.d.ts.map +1 -1
- package/lib/typescript/module/ui/hooks/useAvatarPicker.d.ts +1 -1
- package/lib/typescript/module/ui/hooks/useAvatarPicker.d.ts.map +1 -1
- package/lib/typescript/module/ui/hooks/useLanguageManagement.d.ts +1 -1
- package/lib/typescript/module/ui/hooks/useLanguageManagement.d.ts.map +1 -1
- package/lib/typescript/module/ui/hooks/useSessionManagement.d.ts +1 -1
- package/lib/typescript/module/ui/hooks/useSessionManagement.d.ts.map +1 -1
- package/lib/typescript/module/ui/hooks/useStorage.d.ts +1 -1
- package/lib/typescript/module/ui/hooks/useStorage.d.ts.map +1 -1
- package/lib/typescript/module/ui/index.d.ts +28 -28
- package/lib/typescript/module/ui/index.d.ts.map +1 -1
- package/lib/typescript/module/ui/navigation/bottomSheetManager.d.ts +1 -1
- package/lib/typescript/module/ui/navigation/bottomSheetManager.d.ts.map +1 -1
- package/lib/typescript/module/ui/navigation/routes.d.ts +1 -1
- package/lib/typescript/module/ui/navigation/routes.d.ts.map +1 -1
- package/lib/typescript/module/ui/screens/AccountMembersScreen.d.ts +1 -1
- package/lib/typescript/module/ui/screens/AccountMembersScreen.d.ts.map +1 -1
- package/lib/typescript/module/ui/screens/AccountSettingsScreen.d.ts +1 -1
- package/lib/typescript/module/ui/screens/AccountSettingsScreen.d.ts.map +1 -1
- package/lib/typescript/module/ui/screens/AccountSwitcherScreen.d.ts +4 -4
- package/lib/typescript/module/ui/screens/AccountSwitcherScreen.d.ts.map +1 -1
- package/lib/typescript/module/ui/screens/AccountVerificationScreen.d.ts +1 -1
- package/lib/typescript/module/ui/screens/AccountVerificationScreen.d.ts.map +1 -1
- package/lib/typescript/module/ui/screens/AppInfoScreen.d.ts +1 -1
- package/lib/typescript/module/ui/screens/AppInfoScreen.d.ts.map +1 -1
- package/lib/typescript/module/ui/screens/AvatarCropScreen.d.ts +1 -1
- package/lib/typescript/module/ui/screens/AvatarCropScreen.d.ts.map +1 -1
- package/lib/typescript/module/ui/screens/ConnectedAppsScreen.d.ts +1 -1
- package/lib/typescript/module/ui/screens/ConnectedAppsScreen.d.ts.map +1 -1
- package/lib/typescript/module/ui/screens/CreateAccountScreen.d.ts +1 -1
- package/lib/typescript/module/ui/screens/CreateAccountScreen.d.ts.map +1 -1
- package/lib/typescript/module/ui/screens/EditProfileFieldScreen.d.ts +1 -1
- package/lib/typescript/module/ui/screens/EditProfileFieldScreen.d.ts.map +1 -1
- package/lib/typescript/module/ui/screens/FAQScreen.d.ts +1 -1
- package/lib/typescript/module/ui/screens/FAQScreen.d.ts.map +1 -1
- package/lib/typescript/module/ui/screens/FeedbackScreen.d.ts +1 -1
- package/lib/typescript/module/ui/screens/FeedbackScreen.d.ts.map +1 -1
- package/lib/typescript/module/ui/screens/FileManagementScreen.d.ts +1 -1
- package/lib/typescript/module/ui/screens/FileManagementScreen.d.ts.map +1 -1
- package/lib/typescript/module/ui/screens/FollowersListScreen.d.ts +1 -1
- package/lib/typescript/module/ui/screens/FollowersListScreen.d.ts.map +1 -1
- package/lib/typescript/module/ui/screens/FollowingListScreen.d.ts +1 -1
- package/lib/typescript/module/ui/screens/FollowingListScreen.d.ts.map +1 -1
- package/lib/typescript/module/ui/screens/HelpSupportScreen.d.ts +1 -1
- package/lib/typescript/module/ui/screens/HelpSupportScreen.d.ts.map +1 -1
- package/lib/typescript/module/ui/screens/HistoryViewScreen.d.ts +1 -1
- package/lib/typescript/module/ui/screens/HistoryViewScreen.d.ts.map +1 -1
- package/lib/typescript/module/ui/screens/LanguageSelectorScreen.d.ts +1 -1
- package/lib/typescript/module/ui/screens/LanguageSelectorScreen.d.ts.map +1 -1
- package/lib/typescript/module/ui/screens/LearnMoreUsernamesScreen.d.ts +1 -1
- package/lib/typescript/module/ui/screens/LearnMoreUsernamesScreen.d.ts.map +1 -1
- package/lib/typescript/module/ui/screens/LegalDocumentsScreen.d.ts +1 -1
- package/lib/typescript/module/ui/screens/LegalDocumentsScreen.d.ts.map +1 -1
- package/lib/typescript/module/ui/screens/ManageAccountScreen.d.ts +1 -1
- package/lib/typescript/module/ui/screens/ManageAccountScreen.d.ts.map +1 -1
- package/lib/typescript/module/ui/screens/NotificationsScreen.d.ts +1 -1
- package/lib/typescript/module/ui/screens/NotificationsScreen.d.ts.map +1 -1
- package/lib/typescript/module/ui/screens/OxyAuthScreen.d.ts +1 -1
- package/lib/typescript/module/ui/screens/OxyAuthScreen.d.ts.map +1 -1
- package/lib/typescript/module/ui/screens/PaymentGatewayScreen.d.ts +2 -2
- package/lib/typescript/module/ui/screens/PaymentGatewayScreen.d.ts.map +1 -1
- package/lib/typescript/module/ui/screens/PreferencesScreen.d.ts +1 -1
- package/lib/typescript/module/ui/screens/PreferencesScreen.d.ts.map +1 -1
- package/lib/typescript/module/ui/screens/PremiumSubscriptionScreen.d.ts +1 -1
- package/lib/typescript/module/ui/screens/PremiumSubscriptionScreen.d.ts.map +1 -1
- package/lib/typescript/module/ui/screens/PrivacySettingsScreen.d.ts +1 -1
- package/lib/typescript/module/ui/screens/PrivacySettingsScreen.d.ts.map +1 -1
- package/lib/typescript/module/ui/screens/ProfileScreen.d.ts +1 -1
- package/lib/typescript/module/ui/screens/ProfileScreen.d.ts.map +1 -1
- package/lib/typescript/module/ui/screens/SavesCollectionsScreen.d.ts +1 -1
- package/lib/typescript/module/ui/screens/SavesCollectionsScreen.d.ts.map +1 -1
- package/lib/typescript/module/ui/screens/SearchSettingsScreen.d.ts +1 -1
- package/lib/typescript/module/ui/screens/SearchSettingsScreen.d.ts.map +1 -1
- package/lib/typescript/module/ui/screens/UserLinksScreen.d.ts +1 -1
- package/lib/typescript/module/ui/screens/UserLinksScreen.d.ts.map +1 -1
- package/lib/typescript/module/ui/screens/UserListScreen.d.ts +1 -1
- package/lib/typescript/module/ui/screens/UserListScreen.d.ts.map +1 -1
- package/lib/typescript/module/ui/screens/WelcomeNewUserScreen.d.ts +1 -1
- package/lib/typescript/module/ui/screens/WelcomeNewUserScreen.d.ts.map +1 -1
- package/lib/typescript/module/ui/screens/trust/TrustAboutScreen.d.ts +1 -1
- package/lib/typescript/module/ui/screens/trust/TrustAboutScreen.d.ts.map +1 -1
- package/lib/typescript/module/ui/screens/trust/TrustCenterScreen.d.ts +1 -1
- package/lib/typescript/module/ui/screens/trust/TrustCenterScreen.d.ts.map +1 -1
- package/lib/typescript/module/ui/screens/trust/TrustFAQScreen.d.ts +1 -1
- package/lib/typescript/module/ui/screens/trust/TrustFAQScreen.d.ts.map +1 -1
- package/lib/typescript/module/ui/screens/trust/TrustLeaderboardScreen.d.ts +1 -1
- package/lib/typescript/module/ui/screens/trust/TrustLeaderboardScreen.d.ts.map +1 -1
- package/lib/typescript/module/ui/screens/trust/TrustRewardsScreen.d.ts +1 -1
- package/lib/typescript/module/ui/screens/trust/TrustRewardsScreen.d.ts.map +1 -1
- package/lib/typescript/module/ui/screens/trust/TrustRulesScreen.d.ts +1 -1
- package/lib/typescript/module/ui/screens/trust/TrustRulesScreen.d.ts.map +1 -1
- package/lib/typescript/module/ui/server.d.ts +2 -2
- package/lib/typescript/module/ui/server.d.ts.map +1 -1
- package/lib/typescript/module/ui/types/fileManagement.d.ts +1 -1
- package/lib/typescript/module/ui/types/fileManagement.d.ts.map +1 -1
- package/lib/typescript/module/ui/types/navigation.d.ts +1 -1
- package/lib/typescript/module/ui/types/navigation.d.ts.map +1 -1
- package/lib/typescript/module/ui/utils/fileManagement.d.ts +1 -1
- package/lib/typescript/module/ui/utils/fileManagement.d.ts.map +1 -1
- package/package.json +21 -20
- package/src/index.ts +0 -5
- package/src/ui/components/AccountMenuButton.tsx +9 -11
- package/src/ui/components/AccountSwitcher.tsx +71 -37
- package/src/ui/context/OxyContext.tsx +127 -122
- package/src/ui/hooks/queries/useAccountQueries.ts +2 -2
- package/src/ui/hooks/queries/usePaymentQueries.ts +12 -12
- package/src/ui/hooks/queries/useServicesQueries.ts +9 -6
- package/src/ui/screens/AccountSettingsScreen.tsx +9 -5
- package/src/ui/screens/AccountSwitcherScreen.tsx +3 -3
- package/src/ui/screens/CreateAccountScreen.tsx +6 -4
- package/src/ui/screens/EditProfileFieldScreen.tsx +8 -7
- package/src/ui/screens/FileManagementScreen.tsx +13 -13
- package/src/ui/screens/HistoryViewScreen.tsx +7 -7
- package/src/ui/screens/LanguageSelectorScreen.tsx +5 -5
- package/src/ui/screens/ManageAccountScreen.tsx +17 -18
- package/src/ui/screens/PremiumSubscriptionScreen.tsx +3 -3
- package/src/ui/screens/PrivacySettingsScreen.tsx +9 -9
- package/src/ui/screens/ProfileScreen.tsx +1 -1
- package/src/ui/screens/SavesCollectionsScreen.tsx +5 -5
- package/src/ui/screens/SearchSettingsScreen.tsx +6 -6
- package/src/ui/screens/WelcomeNewUserScreen.tsx +6 -6
- package/src/ui/screens/trust/TrustCenterScreen.tsx +5 -5
- package/src/ui/screens/trust/TrustRewardsScreen.tsx +4 -4
- package/lib/commonjs/ui/components/ActiveAccountBanner.js +0 -144
- package/lib/commonjs/ui/components/ActiveAccountBanner.js.map +0 -1
- package/lib/module/ui/components/ActiveAccountBanner.js +0 -141
- package/lib/module/ui/components/ActiveAccountBanner.js.map +0 -1
- package/lib/typescript/commonjs/ui/components/ActiveAccountBanner.d.ts +0 -4
- package/lib/typescript/commonjs/ui/components/ActiveAccountBanner.d.ts.map +0 -1
- package/lib/typescript/module/ui/components/ActiveAccountBanner.d.ts +0 -4
- package/lib/typescript/module/ui/components/ActiveAccountBanner.d.ts.map +0 -1
- package/src/ui/components/ActiveAccountBanner.tsx +0 -130
|
@@ -85,12 +85,12 @@ export const AccountSwitcherView = ({
|
|
|
85
85
|
const {
|
|
86
86
|
activeSessionId,
|
|
87
87
|
switchSession,
|
|
88
|
+
switchToAccount,
|
|
88
89
|
removeSession,
|
|
89
90
|
logout,
|
|
90
91
|
logoutAll,
|
|
91
92
|
accounts,
|
|
92
|
-
|
|
93
|
-
setActingAs,
|
|
93
|
+
user,
|
|
94
94
|
oxyServices
|
|
95
95
|
} = useOxy();
|
|
96
96
|
const {
|
|
@@ -104,6 +104,7 @@ export const AccountSwitcherView = ({
|
|
|
104
104
|
accounts: deviceAccounts
|
|
105
105
|
} = useDeviceAccounts();
|
|
106
106
|
const [busySessionId, setBusySessionId] = useState(null);
|
|
107
|
+
const [switchingAccountId, setSwitchingAccountId] = useState(null);
|
|
107
108
|
const [removingSessionId, setRemovingSessionId] = useState(null);
|
|
108
109
|
const [signingOut, setSigningOut] = useState(false);
|
|
109
110
|
const [signingOutAll, setSigningOutAll] = useState(false);
|
|
@@ -118,28 +119,36 @@ export const AccountSwitcherView = ({
|
|
|
118
119
|
const others = built.filter(row => !row.isActive);
|
|
119
120
|
return [...current, ...others];
|
|
120
121
|
}, [deviceAccounts]);
|
|
121
|
-
const isSwitching = busySessionId !== null;
|
|
122
|
+
const isSwitching = busySessionId !== null || switchingAccountId !== null;
|
|
122
123
|
const actionDisabled = isSwitching || signingOut || signingOutAll;
|
|
123
124
|
|
|
125
|
+
// Account ids that are already signed in as REAL device sessions. After a
|
|
126
|
+
// `switchToAccount` the target becomes a device session (and the personal
|
|
127
|
+
// account always is one), so it would otherwise appear BOTH as a device row
|
|
128
|
+
// (Section A) and a graph row (Section B). We dedupe by hiding such accounts
|
|
129
|
+
// from the graph — they show in Section A, where the active one is flagged
|
|
130
|
+
// current.
|
|
131
|
+
const deviceUserIds = useMemo(() => new Set(deviceAccounts.map(account => account.user.id).filter(id => Boolean(id))), [deviceAccounts]);
|
|
132
|
+
|
|
124
133
|
// --- Account graph (Section B) ---
|
|
134
|
+
// The switchable graph minus accounts that are already device sessions
|
|
135
|
+
// (deduped into Section A). This is the set Section B renders and searches.
|
|
136
|
+
const graphAccounts = useMemo(() => accounts.filter(node => !deviceUserIds.has(node.accountId)), [accounts, deviceUserIds]);
|
|
125
137
|
const filtered = useMemo(() => {
|
|
126
138
|
const q = query.trim().toLowerCase();
|
|
127
|
-
if (!q) return
|
|
128
|
-
return
|
|
139
|
+
if (!q) return graphAccounts;
|
|
140
|
+
return graphAccounts.filter(node => {
|
|
129
141
|
const name = getAccountDisplayName(node.account, locale).toLowerCase();
|
|
130
142
|
const username = (node.account?.username ?? '').toLowerCase();
|
|
131
143
|
return name.includes(q) || username.includes(q);
|
|
132
144
|
});
|
|
133
|
-
}, [
|
|
145
|
+
}, [graphAccounts, query, locale]);
|
|
134
146
|
const yourAccounts = useMemo(() => toTree(filtered.filter(node => node.relationship !== 'member')), [filtered]);
|
|
135
147
|
const sharedAccounts = useMemo(() => toTree(filtered.filter(node => node.relationship === 'member')), [filtered]);
|
|
136
148
|
const handleSwitchDevice = useCallback(async sessionId => {
|
|
137
149
|
if (busySessionId) return;
|
|
138
|
-
// Tapping the already-active sign-in
|
|
139
|
-
// personal account (clearing any account-graph switch). When already on
|
|
140
|
-
// the personal account this just closes.
|
|
150
|
+
// Tapping the already-active sign-in just closes — it IS the current account.
|
|
141
151
|
if (sessionId === activeSessionId) {
|
|
142
|
-
if (actingAs !== null) setActingAs(null);
|
|
143
152
|
onClose();
|
|
144
153
|
return;
|
|
145
154
|
}
|
|
@@ -147,9 +156,6 @@ export const AccountSwitcherView = ({
|
|
|
147
156
|
try {
|
|
148
157
|
await onBeforeSessionChange?.();
|
|
149
158
|
await switchSession(sessionId);
|
|
150
|
-
// The active sign-in changed; any account-graph switch belonged to the
|
|
151
|
-
// previous sign-in, so the new sign-in starts on its personal account.
|
|
152
|
-
if (actingAs !== null) setActingAs(null);
|
|
153
159
|
toast.success(t('accountSwitcher.toasts.switchSuccess') || 'Switched account');
|
|
154
160
|
onClose();
|
|
155
161
|
} catch (error) {
|
|
@@ -162,7 +168,7 @@ export const AccountSwitcherView = ({
|
|
|
162
168
|
} finally {
|
|
163
169
|
setBusySessionId(null);
|
|
164
170
|
}
|
|
165
|
-
}, [activeSessionId, busySessionId,
|
|
171
|
+
}, [activeSessionId, busySessionId, switchSession, t, onClose, onBeforeSessionChange]);
|
|
166
172
|
const handleRemoveDevice = useCallback(async sessionId => {
|
|
167
173
|
if (sessionId === activeSessionId || removingSessionId) return;
|
|
168
174
|
setRemovingSessionId(sessionId);
|
|
@@ -212,15 +218,41 @@ export const AccountSwitcherView = ({
|
|
|
212
218
|
setSigningOutAll(false);
|
|
213
219
|
}
|
|
214
220
|
}, [signingOutAll, logoutAll, t, onClose, onBeforeSessionChange]);
|
|
215
|
-
const handleSelectAccount = useCallback(node => {
|
|
216
|
-
|
|
217
|
-
|
|
218
|
-
|
|
219
|
-
|
|
221
|
+
const handleSelectAccount = useCallback(async node => {
|
|
222
|
+
if (switchingAccountId) return;
|
|
223
|
+
// Already the active account → just close (it would also be deduped from
|
|
224
|
+
// the graph, but guard defensively).
|
|
225
|
+
if (node.accountId === user?.id) {
|
|
226
|
+
onClose();
|
|
227
|
+
return;
|
|
228
|
+
}
|
|
229
|
+
setSwitchingAccountId(node.accountId);
|
|
230
|
+
try {
|
|
231
|
+
await onBeforeSessionChange?.();
|
|
232
|
+
// Switching INTO a graph account is a REAL session switch — the whole
|
|
233
|
+
// app becomes that account (no delegation header).
|
|
234
|
+
await switchToAccount(node.accountId);
|
|
235
|
+
toast.success(t('accountSwitcher.toasts.switchSuccess') || 'Switched account');
|
|
236
|
+
onClose();
|
|
237
|
+
} catch (error) {
|
|
238
|
+
if (!isDev()) {
|
|
239
|
+
loggerUtil.warn('Switch account failed', {
|
|
240
|
+
component: 'AccountSwitcher'
|
|
241
|
+
}, error);
|
|
242
|
+
}
|
|
243
|
+
toast.error(t('accountSwitcher.toasts.switchFailed') || 'Failed to switch account');
|
|
244
|
+
} finally {
|
|
245
|
+
setSwitchingAccountId(null);
|
|
246
|
+
}
|
|
247
|
+
}, [switchingAccountId, user?.id, switchToAccount, t, onClose, onBeforeSessionChange]);
|
|
220
248
|
const renderAccountNode = useCallback((node, isChild) => {
|
|
221
249
|
const displayName = getAccountDisplayName(node.account, locale);
|
|
222
250
|
const username = node.account?.username ? `@${node.account.username}` : null;
|
|
223
|
-
|
|
251
|
+
// Current account = the active session's user. After a real-session
|
|
252
|
+
// switch `user` IS this account (such accounts are normally deduped out of
|
|
253
|
+
// the graph, but the check stays correct/defensive if one lingers).
|
|
254
|
+
const active = node.accountId === user?.id;
|
|
255
|
+
const isNodeSwitching = switchingAccountId === node.accountId;
|
|
224
256
|
const role = node.callerMembership?.role;
|
|
225
257
|
const avatarUri = node.account?.avatar ? oxyServices.getFileDownloadUrl(node.account.avatar, 'thumb') : undefined;
|
|
226
258
|
const permissions = node.callerMembership?.permissions ?? [];
|
|
@@ -233,10 +265,11 @@ export const AccountSwitcherView = ({
|
|
|
233
265
|
selected: active
|
|
234
266
|
},
|
|
235
267
|
onPress: () => handleSelectAccount(node),
|
|
268
|
+
disabled: isSwitching,
|
|
236
269
|
activeOpacity: 0.6,
|
|
237
270
|
style: [styles.accountRow, isChild && styles.childRow, active && {
|
|
238
271
|
backgroundColor: colors.primarySubtle
|
|
239
|
-
}],
|
|
272
|
+
}, isSwitching && !isNodeSwitching && styles.rowDisabled],
|
|
240
273
|
children: [/*#__PURE__*/_jsx(Avatar, {
|
|
241
274
|
uri: avatarUri,
|
|
242
275
|
name: displayName,
|
|
@@ -285,13 +318,16 @@ export const AccountSwitcherView = ({
|
|
|
285
318
|
size: 16,
|
|
286
319
|
color: colors.textSecondary
|
|
287
320
|
})
|
|
288
|
-
}) : null,
|
|
321
|
+
}) : null, isNodeSwitching ? /*#__PURE__*/_jsx(ActivityIndicator, {
|
|
322
|
+
color: colors.primary,
|
|
323
|
+
size: "small"
|
|
324
|
+
}) : active ? /*#__PURE__*/_jsx(Ionicons, {
|
|
289
325
|
name: "checkmark",
|
|
290
326
|
size: 20,
|
|
291
327
|
color: colors.primary
|
|
292
328
|
}) : null]
|
|
293
329
|
}, `node-${node.accountId}`);
|
|
294
|
-
}, [
|
|
330
|
+
}, [user?.id, switchingAccountId, isSwitching, colors, handleSelectAccount, locale, onOpenAccountSettings, oxyServices, t]);
|
|
295
331
|
const renderTree = useCallback(entries => entries.map(entry => /*#__PURE__*/_jsxs(View, {
|
|
296
332
|
children: [renderAccountNode(entry.root, false), entry.children.map(child => renderAccountNode(child, true))]
|
|
297
333
|
}, `tree-${entry.root.accountId}`)), [renderAccountNode]);
|
|
@@ -308,11 +344,9 @@ export const AccountSwitcherView = ({
|
|
|
308
344
|
}), deviceRows.map(row => {
|
|
309
345
|
const isBusy = busySessionId === row.sessionId;
|
|
310
346
|
const isRemoving = removingSessionId === row.sessionId;
|
|
311
|
-
// The active
|
|
312
|
-
//
|
|
313
|
-
|
|
314
|
-
// active) account — tappable to return to it.
|
|
315
|
-
const isCurrentAccount = row.isActive && actingAs === null;
|
|
347
|
+
// The active device session IS the current account — there is no
|
|
348
|
+
// separate acting-as concept; switching makes `user` that account.
|
|
349
|
+
const isCurrentAccount = row.isActive;
|
|
316
350
|
return /*#__PURE__*/_jsxs(TouchableOpacity, {
|
|
317
351
|
accessibilityRole: "menuitem",
|
|
318
352
|
accessibilityLabel: row.displayName,
|
|
@@ -351,11 +385,7 @@ export const AccountSwitcherView = ({
|
|
|
351
385
|
name: "checkmark",
|
|
352
386
|
size: 20,
|
|
353
387
|
color: colors.primary
|
|
354
|
-
}) :
|
|
355
|
-
// Active sign-in while switched into another account:
|
|
356
|
-
// no current-checkmark, no sign-out (can't sign out the
|
|
357
|
-
// active session here) — tap the row to return to it.
|
|
358
|
-
null : isRemoving ? /*#__PURE__*/_jsx(ActivityIndicator, {
|
|
388
|
+
}) : isRemoving ? /*#__PURE__*/_jsx(ActivityIndicator, {
|
|
359
389
|
color: colors.textSecondary,
|
|
360
390
|
size: "small"
|
|
361
391
|
}) : /*#__PURE__*/_jsx(TouchableOpacity, {
|
|
@@ -410,11 +440,11 @@ export const AccountSwitcherView = ({
|
|
|
410
440
|
}],
|
|
411
441
|
children: t('accountMenu.addAnother') || 'Add another account'
|
|
412
442
|
})]
|
|
413
|
-
}),
|
|
443
|
+
}), graphAccounts.length > 0 ? /*#__PURE__*/_jsxs(_Fragment, {
|
|
414
444
|
children: [/*#__PURE__*/_jsx(Divider, {
|
|
415
445
|
color: colors.border,
|
|
416
446
|
spacing: 4
|
|
417
|
-
}),
|
|
447
|
+
}), graphAccounts.length > 6 ? /*#__PURE__*/_jsxs(View, {
|
|
418
448
|
style: [styles.searchBox, {
|
|
419
449
|
backgroundColor: colors.card,
|
|
420
450
|
borderColor: colors.border
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"names":["useCallback","useEffect","useMemo","useRef","useState","View","Text","TextInput","TouchableOpacity","StyleSheet","ScrollView","Modal","Pressable","Platform","ActivityIndicator","Ionicons","toast","useDialogControl","Dialog","Divider","useTheme","getAccountDisplayName","isDev","logger","loggerUtil","Avatar","useOxy","useI18n","buildAccountRows","useDeviceAccounts","jsx","_jsx","jsxs","_jsxs","Fragment","_Fragment","isWeb","OS","PANEL_WIDTH","toTree","nodes","byId","Map","map","node","accountId","childrenOf","parentAccountId","has","arr","get","push","set","rendered","Set","result","isRoot","children","root","add","child","AccountSwitcherView","onClose","onAddAccount","onNavigateManage","onCreateAccount","onOpenAccountSettings","onBeforeSessionChange","activeSessionId","switchSession","removeSession","logout","logoutAll","accounts","actingAs","setActingAs","oxyServices","t","locale","colors","deviceAccounts","busySessionId","setBusySessionId","removingSessionId","setRemovingSessionId","signingOut","setSigningOut","signingOutAll","setSigningOutAll","query","setQuery","signOutDialog","signOutAllDialog","deviceRows","built","current","filter","row","isActive","others","isSwitching","actionDisabled","filtered","q","trim","toLowerCase","name","account","username","includes","yourAccounts","relationship","sharedAccounts","handleSwitchDevice","sessionId","success","error","warn","component","handleRemoveDevice","performSignOut","performSignOutAll","handleSelectAccount","renderAccountNode","isChild","displayName","active","role","callerMembership","avatarUri","avatar","getFileDownloadUrl","undefined","permissions","canManage","showSettings","accessibilityRole","accessibilityLabel","accessibilityState","selected","onPress","activeOpacity","style","styles","accountRow","childRow","backgroundColor","primarySubtle","uri","size","accountInfo","nameRow","accountName","color","text","numberOfLines","roleBadge","card","roleBadgeText","textSecondary","accountEmail","hitSlop","top","bottom","left","right","settingsButton","primary","renderTree","entries","entry","scroll","contentContainerStyle","scrollContent","showsVerticalScrollIndicator","keyboardShouldPersistTaps","sectionLabel","isBusy","isRemoving","isCurrentAccount","disabled","rowDisabled","accountNameActive","secondary","switchingRow","switchingText","actionRow","icon","actionText","length","border","spacing","searchBox","borderColor","value","onChangeText","placeholder","placeholderTextColor","searchInput","autoCapitalize","autoCorrect","open","control","title","description","actions","label","AccountSwitcher","anchor","containerRef","document","onKey","event","key","stopPropagation","addEventListener","removeEventListener","anchorStyle","panelStyles","panelBase","panelWeb","background","panelNative","visible","transparent","animationType","onRequestClose","webOverlay","nativeOverlay","ref","create","flex","position","justifyContent","borderRadius","shadowColor","shadowOpacity","shadowRadius","shadowOffset","width","height","elevation","overflow","maxHeight","borderWidth","marginHorizontal","borderTopLeftRadius","borderTopRightRadius","paddingBottom","flexGrow","paddingVertical","fontSize","fontWeight","textTransform","letterSpacing","paddingHorizontal","paddingTop","flexDirection","alignItems","gap","paddingLeft","opacity","minWidth","flexShrink","marginTop","marginVertical","padding"],"sourceRoot":"../../../../src","sources":["ui/components/AccountSwitcher.tsx"],"mappings":"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","ignoreList":[]}
|
|
1
|
+
{"version":3,"names":["useCallback","useEffect","useMemo","useRef","useState","View","Text","TextInput","TouchableOpacity","StyleSheet","ScrollView","Modal","Pressable","Platform","ActivityIndicator","Ionicons","toast","useDialogControl","Dialog","Divider","useTheme","getAccountDisplayName","isDev","logger","loggerUtil","Avatar","useOxy","useI18n","buildAccountRows","useDeviceAccounts","jsx","_jsx","jsxs","_jsxs","Fragment","_Fragment","isWeb","OS","PANEL_WIDTH","toTree","nodes","byId","Map","map","node","accountId","childrenOf","parentAccountId","has","arr","get","push","set","rendered","Set","result","isRoot","children","root","add","child","AccountSwitcherView","onClose","onAddAccount","onNavigateManage","onCreateAccount","onOpenAccountSettings","onBeforeSessionChange","activeSessionId","switchSession","switchToAccount","removeSession","logout","logoutAll","accounts","user","oxyServices","t","locale","colors","deviceAccounts","busySessionId","setBusySessionId","switchingAccountId","setSwitchingAccountId","removingSessionId","setRemovingSessionId","signingOut","setSigningOut","signingOutAll","setSigningOutAll","query","setQuery","signOutDialog","signOutAllDialog","deviceRows","built","current","filter","row","isActive","others","isSwitching","actionDisabled","deviceUserIds","account","id","Boolean","graphAccounts","filtered","q","trim","toLowerCase","name","username","includes","yourAccounts","relationship","sharedAccounts","handleSwitchDevice","sessionId","success","error","warn","component","handleRemoveDevice","performSignOut","performSignOutAll","handleSelectAccount","renderAccountNode","isChild","displayName","active","isNodeSwitching","role","callerMembership","avatarUri","avatar","getFileDownloadUrl","undefined","permissions","canManage","showSettings","accessibilityRole","accessibilityLabel","accessibilityState","selected","onPress","disabled","activeOpacity","style","styles","accountRow","childRow","backgroundColor","primarySubtle","rowDisabled","uri","size","accountInfo","nameRow","accountName","color","text","numberOfLines","roleBadge","card","roleBadgeText","textSecondary","accountEmail","hitSlop","top","bottom","left","right","settingsButton","primary","renderTree","entries","entry","scroll","contentContainerStyle","scrollContent","showsVerticalScrollIndicator","keyboardShouldPersistTaps","sectionLabel","isBusy","isRemoving","isCurrentAccount","accountNameActive","secondary","switchingRow","switchingText","actionRow","icon","actionText","length","border","spacing","searchBox","borderColor","value","onChangeText","placeholder","placeholderTextColor","searchInput","autoCapitalize","autoCorrect","open","control","title","description","actions","label","AccountSwitcher","anchor","containerRef","document","onKey","event","key","stopPropagation","addEventListener","removeEventListener","anchorStyle","panelStyles","panelBase","panelWeb","background","panelNative","visible","transparent","animationType","onRequestClose","webOverlay","nativeOverlay","ref","create","flex","position","justifyContent","borderRadius","shadowColor","shadowOpacity","shadowRadius","shadowOffset","width","height","elevation","overflow","maxHeight","borderWidth","marginHorizontal","borderTopLeftRadius","borderTopRightRadius","paddingBottom","flexGrow","paddingVertical","fontSize","fontWeight","textTransform","letterSpacing","paddingHorizontal","paddingTop","flexDirection","alignItems","gap","paddingLeft","opacity","minWidth","flexShrink","marginTop","marginVertical","padding"],"sourceRoot":"../../../../src","sources":["ui/components/AccountSwitcher.tsx"],"mappings":"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","ignoreList":[]}
|
|
@@ -1091,6 +1091,29 @@ export const OxyProvider = ({
|
|
|
1091
1091
|
}, priorSessionReadError);
|
|
1092
1092
|
}
|
|
1093
1093
|
}
|
|
1094
|
+
|
|
1095
|
+
// LAST-ACTIVE-ACCOUNT priority (web multi-account). When the user has an
|
|
1096
|
+
// explicit persisted active slot (`oxy_active_authuser`, written on every
|
|
1097
|
+
// device sign-in / account SWITCH / cookie restore), the multi-account
|
|
1098
|
+
// refresh-cookie restore is the ONLY cold-boot step that honors WHICH slot
|
|
1099
|
+
// was last active — `restoreViaRefreshCookie` selects it via
|
|
1100
|
+
// `selectActiveRefreshAccount(accounts, readActiveAuthuser())`. The
|
|
1101
|
+
// `fedcm-silent` and per-apex `silent-iframe` steps only ever recover the
|
|
1102
|
+
// PRIMARY central IdP session, so if either ran first they would clobber a
|
|
1103
|
+
// switched (managed/org) account back to the primary on reload — the exact
|
|
1104
|
+
// "switch is lost on reload" regression. So when a slot selection exists we
|
|
1105
|
+
// run cookie-restore BEFORE those probes (and disable the later duplicate).
|
|
1106
|
+
//
|
|
1107
|
+
// Read ONCE here (synchronously usable by the step `enabled` gates below).
|
|
1108
|
+
// It is non-null ONLY on first-party `*.oxy.so` web apps that persist the
|
|
1109
|
+
// slot — a cross-apex RP never writes it (its restore funnels through
|
|
1110
|
+
// `handleWebSSOSession`, which does not touch the authuser), and native has
|
|
1111
|
+
// no localStorage, so both keep their existing order untouched. The
|
|
1112
|
+
// earlier `stored-session` step still runs first (FIX-A latency), and when
|
|
1113
|
+
// a slot exists but its cookies have all lapsed, cookie-restore simply
|
|
1114
|
+
// returns no accounts and the chain falls through to the cross-domain
|
|
1115
|
+
// fallbacks exactly as before.
|
|
1116
|
+
const prioritizeMultiAccount = isWebBrowser() && readActiveAuthuser() !== null;
|
|
1094
1117
|
try {
|
|
1095
1118
|
const outcome = await runColdBoot({
|
|
1096
1119
|
steps: [{
|
|
@@ -1195,6 +1218,32 @@ export const OxyProvider = ({
|
|
|
1195
1218
|
session: true
|
|
1196
1219
|
};
|
|
1197
1220
|
}
|
|
1221
|
+
}, {
|
|
1222
|
+
// 2.75) LAST-ACTIVE multi-account restore (WEB, prioritized). Runs
|
|
1223
|
+
// ONLY when an explicit persisted slot selection exists
|
|
1224
|
+
// (`prioritizeMultiAccount`) — i.e. the user previously signed in or
|
|
1225
|
+
// SWITCHED accounts on this first-party app. It runs BEFORE the
|
|
1226
|
+
// `fedcm-silent` / `silent-iframe` probes (which only ever recover the
|
|
1227
|
+
// PRIMARY central session) so a switched managed/org account survives
|
|
1228
|
+
// reload instead of being clobbered back to the primary. The restore
|
|
1229
|
+
// itself is the SAME `restoreViaRefreshCookie` as the terminal-tier
|
|
1230
|
+
// step below: it rotates every device-local `oxy_rt_<authuser>` cookie
|
|
1231
|
+
// and picks the persisted slot via `selectActiveRefreshAccount`,
|
|
1232
|
+
// committing it (token + state + durable persistence + `markAuthResolved`).
|
|
1233
|
+
// When no slot is persisted this is disabled and the original order is
|
|
1234
|
+
// unchanged; when the slot's cookies have lapsed it returns no accounts
|
|
1235
|
+
// and the chain falls through to the cross-domain fallbacks below.
|
|
1236
|
+
id: 'cookie-restore-active',
|
|
1237
|
+
enabled: () => prioritizeMultiAccount,
|
|
1238
|
+
run: async () => {
|
|
1239
|
+
const restored = await restoreViaRefreshCookie();
|
|
1240
|
+
return restored ? {
|
|
1241
|
+
kind: 'session',
|
|
1242
|
+
session: true
|
|
1243
|
+
} : {
|
|
1244
|
+
kind: 'skip'
|
|
1245
|
+
};
|
|
1246
|
+
}
|
|
1198
1247
|
}, {
|
|
1199
1248
|
// 3) FedCM silent reauthn (Chrome) against the CENTRAL IdP
|
|
1200
1249
|
// (auth.oxy.so). `silentSignInWithFedCM` plants the access token
|
|
@@ -1278,8 +1327,15 @@ export const OxyProvider = ({
|
|
|
1278
1327
|
// is correct; cross-domain restore is handled by the SSO bounce.
|
|
1279
1328
|
// FIX-D: `restoreViaRefreshCookie` bounds the request with
|
|
1280
1329
|
// `COOKIE_RESTORE_TIMEOUT` so a cross-domain stall cannot hang here.
|
|
1330
|
+
//
|
|
1331
|
+
// Disabled when `prioritizeMultiAccount` already ran the
|
|
1332
|
+
// `cookie-restore-active` step above (an explicit persisted slot) — that
|
|
1333
|
+
// earlier step is the identical restore, so this terminal-tier copy
|
|
1334
|
+
// would be a redundant second `refreshAllSessions`. It still runs in the
|
|
1335
|
+
// common no-persisted-slot case (e.g. first visit to a first-party app
|
|
1336
|
+
// whose central refresh cookies already exist).
|
|
1281
1337
|
id: 'cookie-restore',
|
|
1282
|
-
enabled: () => isWebBrowser(),
|
|
1338
|
+
enabled: () => isWebBrowser() && !prioritizeMultiAccount,
|
|
1283
1339
|
run: async () => {
|
|
1284
1340
|
const restored = await restoreViaRefreshCookie();
|
|
1285
1341
|
return restored ? {
|
|
@@ -1760,42 +1816,8 @@ export const OxyProvider = ({
|
|
|
1760
1816
|
});
|
|
1761
1817
|
|
|
1762
1818
|
// --- Account graph state ---
|
|
1763
|
-
const [actingAs, setActingAsState] = useState(null);
|
|
1764
1819
|
const [accounts, setAccounts] = useState([]);
|
|
1765
1820
|
|
|
1766
|
-
// Latest `actingAs`, mirrored into a ref so `refreshAccounts` can reconcile a
|
|
1767
|
-
// stale switch without taking `actingAs` as a dependency (which would re-run
|
|
1768
|
-
// the account load on every switch). See the reconciliation block below.
|
|
1769
|
-
const actingAsRef = useRef(actingAs);
|
|
1770
|
-
actingAsRef.current = actingAs;
|
|
1771
|
-
// `setActingAs` is declared after `refreshAccounts`; route the reconciliation
|
|
1772
|
-
// clear through a ref so the load callback can call the latest implementation.
|
|
1773
|
-
const setActingAsRef = useRef(null);
|
|
1774
|
-
|
|
1775
|
-
// Restore actingAs from storage on startup
|
|
1776
|
-
useEffect(() => {
|
|
1777
|
-
if (!storage || !initialized) return;
|
|
1778
|
-
let mounted = true;
|
|
1779
|
-
(async () => {
|
|
1780
|
-
try {
|
|
1781
|
-
const stored = await storage.getItem(`${storageKeyPrefix}_acting_as`);
|
|
1782
|
-
if (mounted && stored) {
|
|
1783
|
-
setActingAsState(stored);
|
|
1784
|
-
oxyServices.setActingAs(stored);
|
|
1785
|
-
}
|
|
1786
|
-
} catch (err) {
|
|
1787
|
-
if (__DEV__) {
|
|
1788
|
-
loggerUtil.debug('Failed to restore actingAs from storage', {
|
|
1789
|
-
component: 'OxyContext'
|
|
1790
|
-
}, err);
|
|
1791
|
-
}
|
|
1792
|
-
}
|
|
1793
|
-
})();
|
|
1794
|
-
return () => {
|
|
1795
|
-
mounted = false;
|
|
1796
|
-
};
|
|
1797
|
-
}, [storage, initialized, storageKeyPrefix, oxyServices]);
|
|
1798
|
-
|
|
1799
1821
|
// Load the unified account graph when authenticated
|
|
1800
1822
|
const refreshAccounts = useCallback(async () => {
|
|
1801
1823
|
if (!isAuthenticated || !tokenReady || !oxyServices.getAccessToken()) {
|
|
@@ -1805,15 +1827,6 @@ export const OxyProvider = ({
|
|
|
1805
1827
|
try {
|
|
1806
1828
|
const list = await oxyServices.listAccounts();
|
|
1807
1829
|
setAccounts(list);
|
|
1808
|
-
// Reconcile a stale switch: if the active account was switched INTO an id
|
|
1809
|
-
// that is no longer accessible (account removed/archived, or it belonged
|
|
1810
|
-
// to a now-inactive sign-in), drop back to the personal account so the
|
|
1811
|
-
// app never keeps sending a dead `X-Acting-As` header. `list` is the
|
|
1812
|
-
// authoritative accessible set on a successful fetch.
|
|
1813
|
-
const current = actingAsRef.current;
|
|
1814
|
-
if (current && !list.some(node => node.accountId === current)) {
|
|
1815
|
-
setActingAsRef.current?.(null);
|
|
1816
|
-
}
|
|
1817
1830
|
} catch (err) {
|
|
1818
1831
|
if (isUnauthorizedStatus(err)) {
|
|
1819
1832
|
setAccounts([]);
|
|
@@ -1832,48 +1845,72 @@ export const OxyProvider = ({
|
|
|
1832
1845
|
refreshAccounts();
|
|
1833
1846
|
}
|
|
1834
1847
|
}, [isAuthenticated, initialized, tokenReady, refreshAccounts]);
|
|
1835
|
-
|
|
1836
|
-
|
|
1837
|
-
|
|
1838
|
-
|
|
1839
|
-
|
|
1840
|
-
|
|
1841
|
-
|
|
1842
|
-
|
|
1843
|
-
|
|
1844
|
-
|
|
1845
|
-
|
|
1846
|
-
|
|
1847
|
-
|
|
1848
|
-
|
|
1849
|
-
|
|
1850
|
-
|
|
1851
|
-
|
|
1852
|
-
|
|
1853
|
-
|
|
1854
|
-
|
|
1855
|
-
|
|
1856
|
-
|
|
1857
|
-
|
|
1858
|
-
|
|
1848
|
+
|
|
1849
|
+
// Switch the active session INTO an account from the unified graph. In the
|
|
1850
|
+
// REAL-SESSION model this is identical to switching device sign-ins: mint a
|
|
1851
|
+
// real session for the target and make the whole app that account. The removed
|
|
1852
|
+
// `X-Acting-As` delegation header is gone — `oxyServices.switchToAccount`
|
|
1853
|
+
// plants the minted access token (the refresh token is the server-set httpOnly
|
|
1854
|
+
// `oxy_rt_<authuser>` cookie, so the session joins the device multi-account set
|
|
1855
|
+
// and survives reload / `refresh-all`). We then commit the session into context
|
|
1856
|
+
// state the SAME way sign-in / `switchSession` do, refresh the account graph,
|
|
1857
|
+
// and invalidate every query so all data reloads as the new account.
|
|
1858
|
+
const switchToAccount = useCallback(async accountId => {
|
|
1859
|
+
const result = await oxyServices.switchToAccount(accountId);
|
|
1860
|
+
if (!result?.user || !result?.sessionId) {
|
|
1861
|
+
throw new Error('Account switch did not return a valid session');
|
|
1862
|
+
}
|
|
1863
|
+
|
|
1864
|
+
// `oxyServices.switchToAccount` already planted `result.accessToken` as the
|
|
1865
|
+
// active token; mirror the minted session into the multi-account store and
|
|
1866
|
+
// mark it current, recording the device `authuser` slot so web silent-switch
|
|
1867
|
+
// and the device account chooser can address it.
|
|
1868
|
+
const now = new Date();
|
|
1869
|
+
const clientSession = {
|
|
1870
|
+
sessionId: result.sessionId,
|
|
1871
|
+
deviceId: result.deviceId || '',
|
|
1872
|
+
expiresAt: result.expiresAt || new Date(now.getTime() + DEFAULT_SESSION_VALIDITY_MS).toISOString(),
|
|
1873
|
+
lastActive: now.toISOString(),
|
|
1874
|
+
userId: result.user.id?.toString() ?? '',
|
|
1875
|
+
isCurrent: true,
|
|
1876
|
+
...(typeof result.authuser === 'number' ? {
|
|
1877
|
+
authuser: result.authuser
|
|
1878
|
+
} : null)
|
|
1879
|
+
};
|
|
1880
|
+
updateSessions([clientSession], {
|
|
1881
|
+
merge: true
|
|
1882
|
+
});
|
|
1883
|
+
setActiveSessionId(result.sessionId);
|
|
1884
|
+
if (isWebBrowser() && typeof result.authuser === 'number') {
|
|
1885
|
+
writeActiveAuthuser(result.authuser);
|
|
1886
|
+
}
|
|
1887
|
+
await persistSessionDurably(result.sessionId);
|
|
1888
|
+
|
|
1889
|
+
// Fetch the canonical User for the new account (the switch result carries
|
|
1890
|
+
// only MinimalUserData); fall back to that minimal shape if the profile
|
|
1891
|
+
// fetch fails so the app still reflects the switched identity.
|
|
1892
|
+
let fullUser;
|
|
1893
|
+
try {
|
|
1894
|
+
fullUser = await oxyServices.getCurrentUser();
|
|
1895
|
+
} catch (profileError) {
|
|
1896
|
+
if (__DEV__) {
|
|
1897
|
+
loggerUtil.debug('Failed to fetch full user after account switch; using switch result user', {
|
|
1898
|
+
component: 'OxyContext',
|
|
1899
|
+
method: 'switchToAccount'
|
|
1900
|
+
}, profileError);
|
|
1859
1901
|
}
|
|
1902
|
+
fullUser = result.user;
|
|
1860
1903
|
}
|
|
1861
|
-
|
|
1862
|
-
|
|
1863
|
-
|
|
1864
|
-
|
|
1865
|
-
|
|
1866
|
-
|
|
1867
|
-
|
|
1868
|
-
|
|
1869
|
-
|
|
1870
|
-
|
|
1871
|
-
// account's user when a switch is set and resolved, otherwise the signed-in
|
|
1872
|
-
// user's own personal account. Derived (no effect) so identity surfaces always
|
|
1873
|
-
// render the current account without separate syncing. Falls back to `user`
|
|
1874
|
-
// while a just-set switch has not yet resolved in `accounts`, so the header
|
|
1875
|
-
// never flashes empty mid-switch.
|
|
1876
|
-
const activeAccount = useMemo(() => actingAs && actingAsAccount ? actingAsAccount.account : user, [actingAs, actingAsAccount, user]);
|
|
1904
|
+
loginSuccess(fullUser);
|
|
1905
|
+
onAuthStateChange?.(fullUser);
|
|
1906
|
+
|
|
1907
|
+
// Reload the switchable account graph (the new active account's relationships
|
|
1908
|
+
// differ) and invalidate every query so all data refetches as the new
|
|
1909
|
+
// account — the deviceAccounts probe re-enumerates the multi-account set so
|
|
1910
|
+
// the switched account now appears as a device session.
|
|
1911
|
+
await refreshAccounts();
|
|
1912
|
+
queryClient.invalidateQueries();
|
|
1913
|
+
}, [oxyServices, updateSessions, setActiveSessionId, persistSessionDurably, loginSuccess, onAuthStateChange, refreshAccounts, queryClient]);
|
|
1877
1914
|
const createAccountFn = useCallback(async data => {
|
|
1878
1915
|
const account = await oxyServices.createAccount(data);
|
|
1879
1916
|
await refreshAccounts();
|
|
@@ -1920,14 +1957,11 @@ export const OxyProvider = ({
|
|
|
1920
1957
|
useFollow: useFollowHook,
|
|
1921
1958
|
showBottomSheet: showBottomSheetForContext,
|
|
1922
1959
|
openAvatarPicker,
|
|
1923
|
-
actingAs,
|
|
1924
1960
|
accounts,
|
|
1925
|
-
|
|
1926
|
-
activeAccount,
|
|
1927
|
-
setActingAs,
|
|
1961
|
+
switchToAccount,
|
|
1928
1962
|
refreshAccounts,
|
|
1929
1963
|
createAccount: createAccountFn
|
|
1930
|
-
}), [activeSessionId, signIn, signInWithPassword, handleWebSSOSession, currentLanguage, currentLanguageMetadata, currentLanguageName, currentNativeLanguageName, error, getDeviceSessions, hasAccessToken, canUsePrivateApi, isPrivateApiPending, getPublicKey, hasIdentity, isAuthenticated, isLoading, logout, logoutAll, logoutAllDeviceSessions, oxyServices, storageKeyPrefix, clientId, refreshSessionsWithUser, sessions, setLanguage, storage, switchSessionForContext, tokenReady, hasAccessToken, canUsePrivateApi, isPrivateApiPending, authResolved, updateDeviceName, clearAllAccountData, useFollowHook, user, showBottomSheetForContext, openAvatarPicker,
|
|
1964
|
+
}), [activeSessionId, signIn, signInWithPassword, handleWebSSOSession, currentLanguage, currentLanguageMetadata, currentLanguageName, currentNativeLanguageName, error, getDeviceSessions, hasAccessToken, canUsePrivateApi, isPrivateApiPending, getPublicKey, hasIdentity, isAuthenticated, isLoading, logout, logoutAll, logoutAllDeviceSessions, oxyServices, storageKeyPrefix, clientId, refreshSessionsWithUser, sessions, setLanguage, storage, switchSessionForContext, tokenReady, hasAccessToken, canUsePrivateApi, isPrivateApiPending, authResolved, updateDeviceName, clearAllAccountData, useFollowHook, user, showBottomSheetForContext, openAvatarPicker, accounts, switchToAccount, refreshAccounts, createAccountFn]);
|
|
1931
1965
|
return /*#__PURE__*/_jsx(OxyContext.Provider, {
|
|
1932
1966
|
value: contextValue,
|
|
1933
1967
|
children: ssoCallbackIntercepting ? null : children
|
|
@@ -1986,11 +2020,8 @@ const LOADING_STATE = {
|
|
|
1986
2020
|
clientId: null,
|
|
1987
2021
|
oxyServices: LOADING_STATE_OXY_SERVICES,
|
|
1988
2022
|
openAvatarPicker: () => {},
|
|
1989
|
-
actingAs: null,
|
|
1990
2023
|
accounts: [],
|
|
1991
|
-
|
|
1992
|
-
activeAccount: null,
|
|
1993
|
-
setActingAs: () => {},
|
|
2024
|
+
switchToAccount: () => rejectMissingProvider(),
|
|
1994
2025
|
refreshAccounts: () => rejectMissingProvider(),
|
|
1995
2026
|
createAccount: () => rejectMissingProvider()
|
|
1996
2027
|
};
|