@oxyhq/services 13.0.2 → 13.1.0
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 +18 -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/components/ProfileButton.js +233 -0
- package/lib/commonjs/ui/components/ProfileButton.js.map +1 -0
- package/lib/commonjs/ui/components/ProfileMenu.js +374 -0
- package/lib/commonjs/ui/components/ProfileMenu.js.map +1 -0
- package/lib/commonjs/ui/context/OxyContext.js +213 -101
- package/lib/commonjs/ui/context/OxyContext.js.map +1 -1
- package/lib/commonjs/ui/context/hooks/useAuthOperations.js +28 -1
- package/lib/commonjs/ui/context/hooks/useAuthOperations.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/index.js +14 -0
- package/lib/commonjs/ui/index.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/commonjs/ui/utils/activeAuthuser.js +76 -8
- package/lib/commonjs/ui/utils/activeAuthuser.js.map +1 -1
- package/lib/module/index.js +5 -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/components/ProfileButton.js +228 -0
- package/lib/module/ui/components/ProfileButton.js.map +1 -0
- package/lib/module/ui/components/ProfileMenu.js +370 -0
- package/lib/module/ui/components/ProfileMenu.js.map +1 -0
- package/lib/module/ui/context/OxyContext.js +214 -102
- package/lib/module/ui/context/OxyContext.js.map +1 -1
- package/lib/module/ui/context/hooks/useAuthOperations.js +29 -2
- package/lib/module/ui/context/hooks/useAuthOperations.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/index.js +2 -0
- package/lib/module/ui/index.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/module/ui/utils/activeAuthuser.js +74 -9
- package/lib/module/ui/utils/activeAuthuser.js.map +1 -1
- package/lib/typescript/commonjs/index.d.ts +4 -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/ProfileButton.d.ts +46 -0
- package/lib/typescript/commonjs/ui/components/ProfileButton.d.ts.map +1 -0
- package/lib/typescript/commonjs/ui/components/ProfileMenu.d.ts +39 -0
- package/lib/typescript/commonjs/ui/components/ProfileMenu.d.ts.map +1 -0
- 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/context/hooks/useAuthOperations.d.ts.map +1 -1
- package/lib/typescript/commonjs/ui/hooks/queries/useServicesQueries.d.ts.map +1 -1
- package/lib/typescript/commonjs/ui/index.d.ts +2 -0
- package/lib/typescript/commonjs/ui/index.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/commonjs/ui/utils/activeAuthuser.d.ts +24 -0
- package/lib/typescript/commonjs/ui/utils/activeAuthuser.d.ts.map +1 -1
- package/lib/typescript/module/index.d.ts +64 -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/ProfileButton.d.ts +46 -0
- package/lib/typescript/module/ui/components/ProfileButton.d.ts.map +1 -0
- package/lib/typescript/module/ui/components/ProfileMenu.d.ts +39 -0
- package/lib/typescript/module/ui/components/ProfileMenu.d.ts.map +1 -0
- 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 +30 -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/activeAuthuser.d.ts +24 -0
- package/lib/typescript/module/ui/utils/activeAuthuser.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 +8 -5
- package/src/ui/components/AccountMenuButton.tsx +9 -11
- package/src/ui/components/AccountSwitcher.tsx +71 -37
- package/src/ui/components/ProfileButton.tsx +270 -0
- package/src/ui/components/ProfileMenu.tsx +416 -0
- package/src/ui/context/OxyContext.tsx +217 -130
- package/src/ui/context/hooks/useAuthOperations.ts +35 -2
- 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/index.ts +2 -0
- 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/src/ui/utils/__tests__/activeAuthuser.test.ts +75 -0
- package/src/ui/utils/activeAuthuser.ts +74 -8
- 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
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"WelcomeNewUserScreen.d.ts","sourceRoot":"","sources":["../../../../../src/ui/screens/WelcomeNewUserScreen.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAK,KAAK,MAAM,OAAO,CAAC;AAI/B,OAAO,KAAK,EAAE,eAAe,EAAE,MAAM,
|
|
1
|
+
{"version":3,"file":"WelcomeNewUserScreen.d.ts","sourceRoot":"","sources":["../../../../../src/ui/screens/WelcomeNewUserScreen.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAK,KAAK,MAAM,OAAO,CAAC;AAI/B,OAAO,KAAK,EAAE,eAAe,EAAE,MAAM,wBAAqB,CAAC;AAiD3D;;;;;GAKG;AACH,QAAA,MAAM,oBAAoB,EAAE,KAAK,CAAC,EAAE,CAAC,eAAe,GAAG;IAAE,OAAO,CAAC,EAAE,GAAG,CAAA;CAAE,CAqTvE,CAAC;AAkFF,eAAe,oBAAoB,CAAC"}
|
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
import type React from 'react';
|
|
2
|
-
import type { BaseScreenProps } from '../../types/navigation';
|
|
2
|
+
import type { BaseScreenProps } from '../../types/navigation.js';
|
|
3
3
|
declare const TrustAboutScreen: React.FC<BaseScreenProps>;
|
|
4
4
|
export default TrustAboutScreen;
|
|
5
5
|
//# sourceMappingURL=TrustAboutScreen.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"TrustAboutScreen.d.ts","sourceRoot":"","sources":["../../../../../../src/ui/screens/trust/TrustAboutScreen.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAK,KAAK,MAAM,OAAO,CAAC;AAO/B,OAAO,KAAK,EAAE,eAAe,EAAE,MAAM,
|
|
1
|
+
{"version":3,"file":"TrustAboutScreen.d.ts","sourceRoot":"","sources":["../../../../../../src/ui/screens/trust/TrustAboutScreen.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAK,KAAK,MAAM,OAAO,CAAC;AAO/B,OAAO,KAAK,EAAE,eAAe,EAAE,MAAM,2BAAwB,CAAC;AAI9D,QAAA,MAAM,gBAAgB,EAAE,KAAK,CAAC,EAAE,CAAC,eAAe,CA+D/C,CAAC;AAEF,eAAe,gBAAgB,CAAC"}
|
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
import type React from 'react';
|
|
2
|
-
import type { BaseScreenProps } from '../../types/navigation';
|
|
2
|
+
import type { BaseScreenProps } from '../../types/navigation.js';
|
|
3
3
|
declare const TrustCenterScreen: React.FC<BaseScreenProps>;
|
|
4
4
|
export default TrustCenterScreen;
|
|
5
5
|
//# sourceMappingURL=TrustCenterScreen.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"TrustCenterScreen.d.ts","sourceRoot":"","sources":["../../../../../../src/ui/screens/trust/TrustCenterScreen.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAK,KAAK,MAAM,OAAO,CAAC;AAS/B,OAAO,KAAK,EAAE,eAAe,EAAE,MAAM,
|
|
1
|
+
{"version":3,"file":"TrustCenterScreen.d.ts","sourceRoot":"","sources":["../../../../../../src/ui/screens/trust/TrustCenterScreen.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAK,KAAK,MAAM,OAAO,CAAC;AAS/B,OAAO,KAAK,EAAE,eAAe,EAAE,MAAM,2BAAwB,CAAC;AAQ9D,QAAA,MAAM,iBAAiB,EAAE,KAAK,CAAC,EAAE,CAAC,eAAe,CA8OhD,CAAC;AAgBF,eAAe,iBAAiB,CAAC"}
|
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
import React from 'react';
|
|
2
|
-
import type { BaseScreenProps } from '../../types/navigation';
|
|
2
|
+
import type { BaseScreenProps } from '../../types/navigation.js';
|
|
3
3
|
declare const _default: React.NamedExoticComponent<BaseScreenProps>;
|
|
4
4
|
export default _default;
|
|
5
5
|
//# sourceMappingURL=TrustFAQScreen.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"TrustFAQScreen.d.ts","sourceRoot":"","sources":["../../../../../../src/ui/screens/trust/TrustFAQScreen.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAyC,MAAM,OAAO,CAAC;AAE9D,OAAO,KAAK,EAAE,eAAe,EAAE,MAAM,
|
|
1
|
+
{"version":3,"file":"TrustFAQScreen.d.ts","sourceRoot":"","sources":["../../../../../../src/ui/screens/trust/TrustFAQScreen.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAyC,MAAM,OAAO,CAAC;AAE9D,OAAO,KAAK,EAAE,eAAe,EAAE,MAAM,2BAAwB,CAAC;;AA2G9D,wBAA0C"}
|
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
import type React from 'react';
|
|
2
|
-
import type { BaseScreenProps } from '../../types/navigation';
|
|
2
|
+
import type { BaseScreenProps } from '../../types/navigation.js';
|
|
3
3
|
declare const TrustLeaderboardScreen: React.FC<BaseScreenProps>;
|
|
4
4
|
export default TrustLeaderboardScreen;
|
|
5
5
|
//# sourceMappingURL=TrustLeaderboardScreen.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"TrustLeaderboardScreen.d.ts","sourceRoot":"","sources":["../../../../../../src/ui/screens/trust/TrustLeaderboardScreen.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAK,KAAK,MAAM,OAAO,CAAC;AAgB/B,OAAO,KAAK,EAAE,eAAe,EAAE,MAAM,
|
|
1
|
+
{"version":3,"file":"TrustLeaderboardScreen.d.ts","sourceRoot":"","sources":["../../../../../../src/ui/screens/trust/TrustLeaderboardScreen.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAK,KAAK,MAAM,OAAO,CAAC;AAgB/B,OAAO,KAAK,EAAE,eAAe,EAAE,MAAM,2BAAwB,CAAC;AAa9D,QAAA,MAAM,sBAAsB,EAAE,KAAK,CAAC,EAAE,CAAC,eAAe,CAwJrD,CAAC;AA0CF,eAAe,sBAAsB,CAAC"}
|
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
import type React from 'react';
|
|
2
|
-
import type { BaseScreenProps } from '../../types/navigation';
|
|
2
|
+
import type { BaseScreenProps } from '../../types/navigation.js';
|
|
3
3
|
declare const TrustRewardsScreen: React.FC<BaseScreenProps>;
|
|
4
4
|
export default TrustRewardsScreen;
|
|
5
5
|
//# sourceMappingURL=TrustRewardsScreen.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"TrustRewardsScreen.d.ts","sourceRoot":"","sources":["../../../../../../src/ui/screens/trust/TrustRewardsScreen.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAK,KAAK,MAAM,OAAO,CAAC;AAG/B,OAAO,KAAK,EAAE,eAAe,EAAE,MAAM,
|
|
1
|
+
{"version":3,"file":"TrustRewardsScreen.d.ts","sourceRoot":"","sources":["../../../../../../src/ui/screens/trust/TrustRewardsScreen.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAK,KAAK,MAAM,OAAO,CAAC;AAG/B,OAAO,KAAK,EAAE,eAAe,EAAE,MAAM,2BAAwB,CAAC;AA0E9D,QAAA,MAAM,kBAAkB,EAAE,KAAK,CAAC,EAAE,CAAC,eAAe,CAkYjD,CAAC;AAkIF,eAAe,kBAAkB,CAAC"}
|
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
import type React from 'react';
|
|
2
|
-
import type { BaseScreenProps } from '../../types/navigation';
|
|
2
|
+
import type { BaseScreenProps } from '../../types/navigation.js';
|
|
3
3
|
declare const TrustRulesScreen: React.FC<BaseScreenProps>;
|
|
4
4
|
export default TrustRulesScreen;
|
|
5
5
|
//# sourceMappingURL=TrustRulesScreen.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"TrustRulesScreen.d.ts","sourceRoot":"","sources":["../../../../../../src/ui/screens/trust/TrustRulesScreen.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAK,KAAK,MAAM,OAAO,CAAC;AAO/B,OAAO,KAAK,EAAE,eAAe,EAAE,MAAM,
|
|
1
|
+
{"version":3,"file":"TrustRulesScreen.d.ts","sourceRoot":"","sources":["../../../../../../src/ui/screens/trust/TrustRulesScreen.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAK,KAAK,MAAM,OAAO,CAAC;AAO/B,OAAO,KAAK,EAAE,eAAe,EAAE,MAAM,2BAAwB,CAAC;AAiB9D,QAAA,MAAM,gBAAgB,EAAE,KAAK,CAAC,EAAE,CAAC,eAAe,CAwF/C,CAAC;AAEF,eAAe,gBAAgB,CAAC"}
|
|
@@ -34,6 +34,6 @@ export declare const toast: (() => void) & {
|
|
|
34
34
|
loading: () => void;
|
|
35
35
|
dismiss: () => void;
|
|
36
36
|
};
|
|
37
|
-
export { handleAuthError, isInvalidSessionError, isTimeoutOrNetworkError, extractErrorMessage, } from './utils/errorHandlers';
|
|
38
|
-
export type { HandleAuthErrorOptions } from './utils/errorHandlers';
|
|
37
|
+
export { handleAuthError, isInvalidSessionError, isTimeoutOrNetworkError, extractErrorMessage, } from './utils/errorHandlers.js';
|
|
38
|
+
export type { HandleAuthErrorOptions } from './utils/errorHandlers.js';
|
|
39
39
|
//# sourceMappingURL=server.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"server.d.ts","sourceRoot":"","sources":["../../../../src/ui/server.ts"],"names":[],"mappings":"AAAA;;;;;;;;GAQG;AAQH,eAAO,MAAM,WAAW,YAAgB,CAAC;AACzC,eAAO,MAAM,eAAe,YAAgB,CAAC;AAC7C,eAAO,MAAM,OAAO,YAAgB,CAAC;AACrC,eAAO,MAAM,MAAM,YAAgB,CAAC;AACpC,eAAO,MAAM,YAAY,YAAgB,CAAC;AAC1C,eAAO,MAAM,YAAY,YAAgB,CAAC;AAC1C,eAAO,MAAM,UAAU,YAAgB,CAAC;AACxC,eAAO,MAAM,UAAU,YAAW,CAAC;AACnC,eAAO,MAAM,OAAO,YAAgB,CAAC;AAGrC,eAAO,MAAM,MAAM,UAAW,CAAC;AAG/B,eAAO,MAAM,OAAO,UAAW,CAAC;AAChC,eAAO,MAAM,SAAS,UAAW,CAAC;AAClC,eAAO,MAAM,UAAU;;;CAA0B,CAAC;AAGlD,eAAO,MAAM,aAAa,YAAgB,CAAC;AAG3C,eAAO,MAAM,YAAY,UAAW,CAAC;AACrC,eAAO,MAAM,eAAe,UAAW,CAAC;AAGxC,eAAO,MAAM,KAAK;;;;;;;CAUjB,CAAC;AAGF,OAAO,EACH,eAAe,EACf,qBAAqB,EACrB,uBAAuB,EACvB,mBAAmB,GACtB,MAAM,
|
|
1
|
+
{"version":3,"file":"server.d.ts","sourceRoot":"","sources":["../../../../src/ui/server.ts"],"names":[],"mappings":"AAAA;;;;;;;;GAQG;AAQH,eAAO,MAAM,WAAW,YAAgB,CAAC;AACzC,eAAO,MAAM,eAAe,YAAgB,CAAC;AAC7C,eAAO,MAAM,OAAO,YAAgB,CAAC;AACrC,eAAO,MAAM,MAAM,YAAgB,CAAC;AACpC,eAAO,MAAM,YAAY,YAAgB,CAAC;AAC1C,eAAO,MAAM,YAAY,YAAgB,CAAC;AAC1C,eAAO,MAAM,UAAU,YAAgB,CAAC;AACxC,eAAO,MAAM,UAAU,YAAW,CAAC;AACnC,eAAO,MAAM,OAAO,YAAgB,CAAC;AAGrC,eAAO,MAAM,MAAM,UAAW,CAAC;AAG/B,eAAO,MAAM,OAAO,UAAW,CAAC;AAChC,eAAO,MAAM,SAAS,UAAW,CAAC;AAClC,eAAO,MAAM,UAAU;;;CAA0B,CAAC;AAGlD,eAAO,MAAM,aAAa,YAAgB,CAAC;AAG3C,eAAO,MAAM,YAAY,UAAW,CAAC;AACrC,eAAO,MAAM,eAAe,UAAW,CAAC;AAGxC,eAAO,MAAM,KAAK;;;;;;;CAUjB,CAAC;AAGF,OAAO,EACH,eAAe,EACf,qBAAqB,EACrB,uBAAuB,EACvB,mBAAmB,GACtB,MAAM,0BAAuB,CAAC;AAC/B,YAAY,EAAE,sBAAsB,EAAE,MAAM,0BAAuB,CAAC"}
|
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import type { BaseScreenProps } from './navigation';
|
|
1
|
+
import type { BaseScreenProps } from './navigation.js';
|
|
2
2
|
import type { FileMetadata } from '@oxyhq/core';
|
|
3
3
|
export type OnConfirmFileSelection = (files: FileMetadata[]) => void;
|
|
4
4
|
export interface FileManagementScreenProps extends BaseScreenProps {
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"fileManagement.d.ts","sourceRoot":"","sources":["../../../../../src/ui/types/fileManagement.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,eAAe,EAAE,MAAM,
|
|
1
|
+
{"version":3,"file":"fileManagement.d.ts","sourceRoot":"","sources":["../../../../../src/ui/types/fileManagement.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,eAAe,EAAE,MAAM,iBAAc,CAAC;AACpD,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,aAAa,CAAC;AAGhD,MAAM,MAAM,sBAAsB,GAAG,CAAC,KAAK,EAAE,YAAY,EAAE,KAAK,IAAI,CAAC;AAErE,MAAM,WAAW,yBAA0B,SAAQ,eAAe;IAC9D,MAAM,CAAC,EAAE,MAAM,CAAC;IAEhB,cAAc,CAAC,EAAE,MAAM,CAAC;IAExB,UAAU,CAAC,EAAE,OAAO,CAAC;IAErB,WAAW,CAAC,EAAE,OAAO,CAAC;IAEtB,QAAQ,CAAC,EAAE,CAAC,IAAI,EAAE,YAAY,KAAK,IAAI,CAAC;IAExC,kBAAkB,CAAC,EAAE,sBAAsB,CAAC;IAE5C,kBAAkB,CAAC,EAAE,MAAM,EAAE,CAAC;IAC9B,YAAY,CAAC,EAAE,MAAM,CAAC;IACtB,iBAAiB,CAAC,EAAE,MAAM,EAAE,CAAC;IAC7B;;;;;OAKG;IACH,WAAW,CAAC,EAAE,OAAO,GAAG,MAAM,GAAG,MAAM,CAAC;IACxC,uBAAuB,CAAC,EAAE,OAAO,CAAC;IAClC;;;OAGG;IACH,iBAAiB,CAAC,EAAE,SAAS,GAAG,QAAQ,GAAG,UAAU,CAAC;IACtD;;;OAGG;IACH,WAAW,CAAC,EAAE;QACV,GAAG,EAAE,MAAM,CAAC;QACZ,UAAU,EAAE,MAAM,CAAC;QACnB,QAAQ,EAAE,MAAM,CAAC;QACjB,UAAU,CAAC,EAAE,MAAM,CAAC;KACvB,CAAC;CACL;AAED,MAAM,MAAM,QAAQ,GAAG,KAAK,GAAG,QAAQ,GAAG,QAAQ,GAAG,WAAW,GAAG,OAAO,CAAC;AAC3E,MAAM,MAAM,MAAM,GAAG,MAAM,GAAG,MAAM,GAAG,MAAM,GAAG,MAAM,CAAC;AACvD,MAAM,MAAM,SAAS,GAAG,KAAK,GAAG,MAAM,CAAC"}
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
import type { ReactNode, RefObject } from 'react';
|
|
2
2
|
import type { QueryClient } from '@tanstack/react-query';
|
|
3
|
-
import type { RouteName } from '../navigation/routes';
|
|
3
|
+
import type { RouteName } from '../navigation/routes.js';
|
|
4
4
|
export interface StepController {
|
|
5
5
|
canGoBack: () => boolean;
|
|
6
6
|
goBack: () => void;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"navigation.d.ts","sourceRoot":"","sources":["../../../../../src/ui/types/navigation.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,SAAS,EAAE,SAAS,EAAE,MAAM,OAAO,CAAC;AAClD,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,uBAAuB,CAAC;AACzD,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,
|
|
1
|
+
{"version":3,"file":"navigation.d.ts","sourceRoot":"","sources":["../../../../../src/ui/types/navigation.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,SAAS,EAAE,SAAS,EAAE,MAAM,OAAO,CAAC;AAClD,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,uBAAuB,CAAC;AACzD,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,yBAAsB,CAAC;AAItD,MAAM,WAAW,cAAc;IAC3B,SAAS,EAAE,MAAM,OAAO,CAAC;IACzB,MAAM,EAAE,MAAM,IAAI,CAAC;CACtB;AAED,MAAM,WAAW,eAAe;IAE5B,QAAQ,CAAC,EAAE,CAAC,MAAM,EAAE,SAAS,EAAE,KAAK,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,KAAK,IAAI,CAAC;IACxE,MAAM,CAAC,EAAE,MAAM,IAAI,CAAC;IACpB,OAAO,CAAC,EAAE,MAAM,IAAI,CAAC;IACrB,eAAe,CAAC,EAAE,CAAC,OAAO,CAAC,EAAE,OAAO,KAAK,IAAI,CAAC;IAG9C,KAAK,CAAC,EAAE,OAAO,GAAG,MAAM,GAAG,MAAM,CAAC;IAGlC,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB,iBAAiB,CAAC,EAAE,SAAS,CAAC,cAAc,GAAG,IAAI,CAAC,CAAC;IACrD,YAAY,CAAC,EAAE,CAAC,WAAW,EAAE,MAAM,EAAE,UAAU,EAAE,MAAM,KAAK,IAAI,CAAC;IAGjE,aAAa,CAAC,EAAE,SAAS,CAAC;IAG1B,QAAQ,CAAC,EAAE,CAAC,CAAC,EAAE,MAAM,EAAE,QAAQ,CAAC,EAAE,OAAO,KAAK,IAAI,CAAC;IAGnD,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB,eAAe,CAAC,EAAE,MAAM,CAAC;IACzB,WAAW,CAAC,EAAE,OAAO,CAAC;IAMtB,CAAC,GAAG,EAAE,MAAM,GAAG,OAAO,CAAC;CAC1B;AAED,MAAM,WAAW,gBAAgB;IAC7B,WAAW,CAAC,EAAE,OAAO,CAAC;IACtB,QAAQ,CAAC,EAAE,SAAS,CAAC;IACrB,iBAAiB,CAAC,EAAE,CAAC,IAAI,EAAE,OAAO,KAAK,IAAI,CAAC;IAC5C,gBAAgB,CAAC,EAAE,MAAM,CAAC;IAC1B;;;;;;;;OAQG;IACH,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB,OAAO,CAAC,EAAE,MAAM,CAAC;IACjB,UAAU,CAAC,EAAE,MAAM,CAAC;IACpB,eAAe,CAAC,EAAE,MAAM,CAAC;IACzB,WAAW,CAAC,EAAE,WAAW,CAAC;CAC7B"}
|
|
@@ -38,6 +38,30 @@ export declare function writeActiveAuthuser(authuser: number): void;
|
|
|
38
38
|
* cleared slot.
|
|
39
39
|
*/
|
|
40
40
|
export declare function clearActiveAuthuser(): void;
|
|
41
|
+
/**
|
|
42
|
+
* Mark this origin as DELIBERATELY signed out (durable `localStorage`, via the
|
|
43
|
+
* core {@link ssoSignedOutKey}). Called ONLY on EXPLICIT full sign-out so that
|
|
44
|
+
* the next cold boot does NOT silently re-mint a session from a still-live IdP
|
|
45
|
+
* session (`fedcm-silent` / per-apex `/auth/silent` iframe). Cleared by any
|
|
46
|
+
* deliberate sign-in (see {@link clearSignedOut}). No-ops on native / storage
|
|
47
|
+
* failure (best-effort).
|
|
48
|
+
*/
|
|
49
|
+
export declare function markSignedOut(): void;
|
|
50
|
+
/**
|
|
51
|
+
* Clear the durable deliberately-signed-out flag. Called on ANY deliberate
|
|
52
|
+
* sign-in (password, FedCM, account switch, device claim) so a real sign-in
|
|
53
|
+
* fully re-enables automatic silent restore — there is no "stuck signed out"
|
|
54
|
+
* state. No-ops on native / storage failure.
|
|
55
|
+
*/
|
|
56
|
+
export declare function clearSignedOut(): void;
|
|
57
|
+
/**
|
|
58
|
+
* Whether AUTOMATIC silent restore is suppressed for the current origin because
|
|
59
|
+
* the user deliberately signed out. Reads the durable flag through the core
|
|
60
|
+
* {@link silentRestoreSuppressed} predicate. Returns `false` off-web and on any
|
|
61
|
+
* storage failure (fail safe toward normal restore). Used to gate the
|
|
62
|
+
* `fedcm-silent` and `silent-iframe` cold-boot steps.
|
|
63
|
+
*/
|
|
64
|
+
export declare function isSilentRestoreSuppressed(): boolean;
|
|
41
65
|
/**
|
|
42
66
|
* Clear all per-origin SSO bounce sessionStorage keys. Called ONLY on EXPLICIT
|
|
43
67
|
* user sign-out (logout / logoutAll) — never on a cold-boot failure path — so a
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"activeAuthuser.d.ts","sourceRoot":"","sources":["../../../../../src/ui/utils/activeAuthuser.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;GAkBG;
|
|
1
|
+
{"version":3,"file":"activeAuthuser.d.ts","sourceRoot":"","sources":["../../../../../src/ui/utils/activeAuthuser.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;GAkBG;AAYH,QAAA,MAAM,mBAAmB,wBAAwB,CAAC;AA6BlD;;;;;;GAMG;AACH,wBAAgB,kBAAkB,IAAI,MAAM,GAAG,IAAI,CAclD;AAED;;;;GAIG;AACH,wBAAgB,mBAAmB,CAAC,QAAQ,EAAE,MAAM,GAAG,IAAI,CAS1D;AAED;;;;GAIG;AACH,wBAAgB,mBAAmB,IAAI,IAAI,CAQ1C;AAED;;;;;;;GAOG;AACH,wBAAgB,aAAa,IAAI,IAAI,CAQpC;AAED;;;;;GAKG;AACH,wBAAgB,cAAc,IAAI,IAAI,CAQrC;AAED;;;;;;GAMG;AACH,wBAAgB,yBAAyB,IAAI,OAAO,CAInD;AAED;;;;;;;GAOG;AACH,wBAAgB,mBAAmB,IAAI,IAAI,CAa1C;AAED,OAAO,EAAE,mBAAmB,EAAE,CAAC"}
|
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
import type { AssetUploadInput, FileMetadata, RNFileDescriptor } from '@oxyhq/core';
|
|
2
|
-
import type { RouteName } from '../navigation/routes';
|
|
2
|
+
import type { RouteName } from '../navigation/routes.js';
|
|
3
3
|
/**
|
|
4
4
|
* Extended File interface that includes a `uri` property for mobile preview support.
|
|
5
5
|
* React Native file pickers return URI-based references that need to be preserved
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"fileManagement.d.ts","sourceRoot":"","sources":["../../../../../src/ui/utils/fileManagement.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,gBAAgB,EAAE,YAAY,EAAE,gBAAgB,EAAE,MAAM,aAAa,CAAC;AAIpF,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,
|
|
1
|
+
{"version":3,"file":"fileManagement.d.ts","sourceRoot":"","sources":["../../../../../src/ui/utils/fileManagement.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,gBAAgB,EAAE,YAAY,EAAE,gBAAgB,EAAE,MAAM,aAAa,CAAC;AAIpF,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,yBAAsB,CAAC;AAGtD;;;;GAIG;AACH,UAAU,WAAY,SAAQ,IAAI;IAChC,GAAG,CAAC,EAAE,MAAM,CAAC;CACd;AAED;;;;GAIG;AACH,MAAM,WAAW,WAAW;IAC1B,IAAI,CAAC,EAAE,IAAI,GAAG,IAAI,CAAC;IACnB,GAAG,CAAC,EAAE,MAAM,CAAC;IACb,IAAI,CAAC,EAAE,MAAM,GAAG,IAAI,CAAC;IACrB,QAAQ,CAAC,EAAE,MAAM,GAAG,IAAI,CAAC;IACzB,IAAI,CAAC,EAAE,MAAM,GAAG,IAAI,CAAC;CACtB;AAED;;;GAGG;AACH,wBAAgB,kBAAkB,CAAC,KAAK,EAAE,OAAO,GAAG,KAAK,IAAI,gBAAgB,CAO5E;AAED;;GAEG;AACH,wBAAgB,cAAc,CAAC,KAAK,EAAE,MAAM,GAAG,MAAM,CAMpD;AAED;;GAEG;AACH,wBAAgB,WAAW,CAAC,WAAW,EAAE,MAAM,GAAG,MAAM,CASvD;AAED;;;;;;;;;;;GAWG;AACH,wBAAsB,gCAAgC,CAClD,GAAG,EAAE,WAAW,EAChB,KAAK,EAAE,MAAM,GACd,OAAO,CAAC,WAAW,GAAG,gBAAgB,GAAG,IAAI,CAAC,CA4DhD;AAED;;;;;;;GAOG;AACH,wBAAgB,kBAAkB,CAC9B,IAAI,EAAE,YAAY,EAClB,OAAO,EAAE,MAAM,EACf,kBAAkB,EAAE,CAAC,MAAM,EAAE,MAAM,EAAE,OAAO,CAAC,EAAE,MAAM,KAAK,MAAM,GACjE,MAAM,CA8BR;AAED;;GAEG;AACH,wBAAsB,aAAa,CAC/B,IAAI,EAAE,gBAAgB,EACtB,MAAM,EAAE,MAAM,EAEd,WAAW,EAAE,GAAG,EAChB,UAAU,CAAC,EAAE,SAAS,GAAG,QAAQ,GAAG,UAAU,gBAGjD;AAED;;GAEG;AACH,MAAM,WAAW,kBAAkB;IAC/B,+CAA+C;IAC/C,QAAQ,CAAC,EAAE,CAAC,MAAM,EAAE,SAAS,EAAE,KAAK,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,KAAK,IAAI,CAAC;IACxE,2BAA2B;IAE3B,WAAW,EAAE,GAAG,CAAC;IACjB,mDAAmD;IACnD,qBAAqB,EAAE;QACnB,WAAW,EAAE,CAAC,OAAO,EAAE;YAAE,MAAM,EAAE,MAAM,CAAA;SAAE,KAAK,OAAO,CAAC,OAAO,CAAC,CAAC;KAClE,CAAC;IACF,4CAA4C;IAC5C,gBAAgB,CAAC,EAAE,CAAC,MAAM,EAAE,MAAM,KAAK,IAAI,CAAC;IAC5C,gCAAgC;IAChC,CAAC,EAAE,CAAC,GAAG,EAAE,MAAM,KAAK,MAAM,GAAG,SAAS,CAAC;IACvC,oFAAoF;IACpF,WAAW,CAAC,EAAE,MAAM,CAAC;CACxB;AAED;;;;;;;;;;;;;;;;;;;;;;;;GAwBG;AACH,wBAAgB,yBAAyB,CAAC,MAAM,EAAE,kBAAkB,GAAG,MAAM,IAAI,CA8ChF"}
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@oxyhq/services",
|
|
3
|
-
"version": "13.0
|
|
3
|
+
"version": "13.1.0",
|
|
4
4
|
"description": "OxyHQ Expo/React Native SDK — UI components, screens, and native features",
|
|
5
5
|
"main": "lib/commonjs/index.js",
|
|
6
6
|
"module": "lib/module/index.js",
|
|
@@ -106,31 +106,32 @@
|
|
|
106
106
|
}
|
|
107
107
|
},
|
|
108
108
|
"dependencies": {
|
|
109
|
-
"@oxyhq/contracts": "0.
|
|
109
|
+
"@oxyhq/contracts": "0.7.0"
|
|
110
110
|
},
|
|
111
111
|
"devDependencies": {
|
|
112
|
+
"@oxyhq/core": "^5.2.0",
|
|
112
113
|
"nativewind": "5.0.0-preview.3",
|
|
113
114
|
"react-native-css": "^3.0.0",
|
|
114
115
|
"@react-native-async-storage/async-storage": "^2.0.0",
|
|
115
116
|
"@types/react": "*",
|
|
116
117
|
"copyfiles": "^2.4.1",
|
|
117
|
-
"react-native-keyboard-controller": "1.21.
|
|
118
|
+
"react-native-keyboard-controller": "1.21.13",
|
|
118
119
|
"react-native-qrcode-svg": "^6.3.0",
|
|
119
120
|
"socket.io-client": "^4.8.1",
|
|
120
121
|
"typescript": "^5.9.2",
|
|
121
|
-
"zustand": "^5.0.
|
|
122
|
+
"zustand": "^5.0.14",
|
|
122
123
|
"@biomejs/biome": "^1.9.4",
|
|
123
124
|
"@commitlint/cli": "^17.6.5",
|
|
124
125
|
"@commitlint/config-conventional": "^17.6.5",
|
|
125
126
|
"@react-native-community/netinfo": "^11.4.1",
|
|
126
|
-
"@react-native/babel-preset": "^0.
|
|
127
|
+
"@react-native/babel-preset": "^0.86.0",
|
|
127
128
|
"@release-it/conventional-changelog": "^10.0.2",
|
|
128
|
-
"@tanstack/query-async-storage-persister": "^5.
|
|
129
|
-
"@tanstack/query-sync-storage-persister": "^5.
|
|
130
|
-
"@tanstack/react-query": "^5.
|
|
131
|
-
"@tanstack/react-query-persist-client": "^5.
|
|
129
|
+
"@tanstack/query-async-storage-persister": "^5.101",
|
|
130
|
+
"@tanstack/query-sync-storage-persister": "^5.101",
|
|
131
|
+
"@tanstack/react-query": "^5.101",
|
|
132
|
+
"@tanstack/react-query-persist-client": "^5.101",
|
|
132
133
|
"@testing-library/jest-dom": "^6.4.2",
|
|
133
|
-
"@types/color": "^4.2.
|
|
134
|
+
"@types/color": "^4.2.1",
|
|
134
135
|
"@types/jest": "^29.5.14",
|
|
135
136
|
"@types/node": "^20.19.9",
|
|
136
137
|
"expo-file-system": "~56.0.7",
|
|
@@ -141,24 +142,24 @@
|
|
|
141
142
|
"husky": "^4.3.8",
|
|
142
143
|
"jest": "~29.7.0",
|
|
143
144
|
"lint-staged": "^15.2.4",
|
|
144
|
-
"react-native-builder-bob": "^0.
|
|
145
|
+
"react-native-builder-bob": "^0.43.0",
|
|
145
146
|
"react-native-gesture-handler": "~2.31.2",
|
|
146
|
-
"react-native-reanimated": "4.
|
|
147
|
-
"react-native-safe-area-context": "~5.
|
|
148
|
-
"react-native-svg": "15.15.
|
|
147
|
+
"react-native-reanimated": "4.5.0",
|
|
148
|
+
"react-native-safe-area-context": "~5.8.0",
|
|
149
|
+
"react-native-svg": "15.15.5",
|
|
149
150
|
"release-it": "^19.0.6",
|
|
150
151
|
"ts-jest": "^29.4.0"
|
|
151
152
|
},
|
|
152
153
|
"peerDependencies": {
|
|
153
154
|
"@expo/vector-icons": "^15.0.3",
|
|
154
155
|
"@oxyhq/bloom": ">=0.16.0",
|
|
155
|
-
"@oxyhq/core": "
|
|
156
|
+
"@oxyhq/core": "5.2.0",
|
|
156
157
|
"@react-native-async-storage/async-storage": "^2.0.0",
|
|
157
158
|
"@react-native-community/netinfo": "^11.4.1",
|
|
158
|
-
"@tanstack/query-async-storage-persister": "^5.
|
|
159
|
-
"@tanstack/query-sync-storage-persister": "^5.
|
|
160
|
-
"@tanstack/react-query": "^5.
|
|
161
|
-
"@tanstack/react-query-persist-client": "^5.
|
|
159
|
+
"@tanstack/query-async-storage-persister": "^5.101",
|
|
160
|
+
"@tanstack/query-sync-storage-persister": "^5.101",
|
|
161
|
+
"@tanstack/react-query": "^5.101",
|
|
162
|
+
"@tanstack/react-query-persist-client": "^5.101",
|
|
162
163
|
"@types/react": "*",
|
|
163
164
|
"@types/react-native": "*",
|
|
164
165
|
"expo": ">=56.0.0",
|
|
@@ -175,7 +176,7 @@
|
|
|
175
176
|
"react-native-keyboard-controller": ">=1.21.0",
|
|
176
177
|
"react-native-qrcode-svg": "^6.3.0",
|
|
177
178
|
"react-native-reanimated": ">=4.3.0",
|
|
178
|
-
"react-native-safe-area-context": "~5.
|
|
179
|
+
"react-native-safe-area-context": "~5.8.0",
|
|
179
180
|
"react-native-svg": ">=15.15.0",
|
|
180
181
|
"socket.io-client": "^4.8.0",
|
|
181
182
|
"zustand": "^5.0.0",
|
package/src/index.ts
CHANGED
|
@@ -205,17 +205,20 @@ export type { FollowButtonProps, SingleFollowButtonProps, MultiFollowButtonProps
|
|
|
205
205
|
export { LogoIcon } from './ui/components/logo/LogoIcon';
|
|
206
206
|
export { LogoText } from './ui/components/logo/LogoText';
|
|
207
207
|
|
|
208
|
-
// Subtle "active account" context cue for the account graph (not Commons/DID).
|
|
209
|
-
// Shows which account is active when the user has switched into a non-personal
|
|
210
|
-
// account; reads as the current account, not as delegation.
|
|
211
|
-
export { default as ActiveAccountBanner } from './ui/components/ActiveAccountBanner';
|
|
212
|
-
|
|
213
208
|
// Unified account menu (device-only switcher — popover on web, sheet on native)
|
|
214
209
|
export { default as AccountMenu } from './ui/components/AccountMenu';
|
|
215
210
|
export type { AccountMenuProps, AccountMenuAnchor } from './ui/components/AccountMenu';
|
|
216
211
|
export { default as AccountMenuButton } from './ui/components/AccountMenuButton';
|
|
217
212
|
export type { AccountMenuButtonProps } from './ui/components/AccountMenuButton';
|
|
218
213
|
|
|
214
|
+
// Sidebar account button + its device-account switcher menu (Bluesky-style
|
|
215
|
+
// ProfileCard). `ProfileButton` owns its own open state + anchor measurement
|
|
216
|
+
// and opens `ProfileMenu` upward from a sidebar footer.
|
|
217
|
+
export { default as ProfileButton } from './ui/components/ProfileButton';
|
|
218
|
+
export type { ProfileButtonProps } from './ui/components/ProfileButton';
|
|
219
|
+
export { default as ProfileMenu } from './ui/components/ProfileMenu';
|
|
220
|
+
export type { ProfileMenuProps, ProfileMenuAnchor } from './ui/components/ProfileMenu';
|
|
221
|
+
|
|
219
222
|
// Unified account switcher (device sign-ins + account graph). `AccountMenuButton`
|
|
220
223
|
// opens this; the `AccountSwitcherView` body also backs the `AccountSwitcher`
|
|
221
224
|
// bottom-sheet route.
|
|
@@ -22,14 +22,12 @@ const isWeb = Platform.OS === 'web';
|
|
|
22
22
|
|
|
23
23
|
/**
|
|
24
24
|
* Avatar entry-point that opens the unified {@link AccountSwitcher}. Reads the
|
|
25
|
-
*
|
|
26
|
-
* data via props.
|
|
25
|
+
* active account from `useOxy().user` — never receives user data via props.
|
|
27
26
|
*
|
|
28
|
-
* The chip reflects the account the
|
|
29
|
-
* project / bot / shared account
|
|
30
|
-
*
|
|
31
|
-
* account
|
|
32
|
-
* active, so the chip always shows the current account.
|
|
27
|
+
* The chip reflects the current account: in the real-session switch model,
|
|
28
|
+
* switching into an org / project / bot / shared account makes the whole app —
|
|
29
|
+
* including this header avatar — become that account, so `user` IS the current
|
|
30
|
+
* account and the chip always shows it.
|
|
33
31
|
*
|
|
34
32
|
* Renders a small avatar chip (top-right friendly). Click → opens the switcher
|
|
35
33
|
* (device sign-ins + account graph). Pure component: owns only the open-state
|
|
@@ -41,7 +39,7 @@ const AccountMenuButton: React.FC<AccountMenuButtonProps> = ({
|
|
|
41
39
|
onNavigateManage,
|
|
42
40
|
onAddAccount,
|
|
43
41
|
}) => {
|
|
44
|
-
const {
|
|
42
|
+
const { user, oxyServices, isAuthenticated } = useOxy();
|
|
45
43
|
const { t, locale } = useI18n();
|
|
46
44
|
const [open, setOpen] = useState(false);
|
|
47
45
|
const [anchor, setAnchor] = useState<AccountMenuAnchor | null>(null);
|
|
@@ -77,9 +75,9 @@ const AccountMenuButton: React.FC<AccountMenuButtonProps> = ({
|
|
|
77
75
|
}
|
|
78
76
|
}, [measureAnchor, open]);
|
|
79
77
|
|
|
80
|
-
const displayName = getAccountDisplayName(
|
|
81
|
-
const avatarUri =
|
|
82
|
-
? oxyServices.getFileDownloadUrl(
|
|
78
|
+
const displayName = getAccountDisplayName(user, locale);
|
|
79
|
+
const avatarUri = user?.avatar
|
|
80
|
+
? oxyServices.getFileDownloadUrl(user.avatar, 'thumb')
|
|
83
81
|
: undefined;
|
|
84
82
|
|
|
85
83
|
const accessibilityLabel = isAuthenticated
|
|
@@ -111,12 +111,12 @@ export const AccountSwitcherView: React.FC<AccountSwitcherActions> = ({
|
|
|
111
111
|
const {
|
|
112
112
|
activeSessionId,
|
|
113
113
|
switchSession,
|
|
114
|
+
switchToAccount,
|
|
114
115
|
removeSession,
|
|
115
116
|
logout,
|
|
116
117
|
logoutAll,
|
|
117
118
|
accounts,
|
|
118
|
-
|
|
119
|
-
setActingAs,
|
|
119
|
+
user,
|
|
120
120
|
oxyServices,
|
|
121
121
|
} = useOxy();
|
|
122
122
|
const { t, locale } = useI18n();
|
|
@@ -125,6 +125,7 @@ export const AccountSwitcherView: React.FC<AccountSwitcherActions> = ({
|
|
|
125
125
|
const { accounts: deviceAccounts } = useDeviceAccounts();
|
|
126
126
|
|
|
127
127
|
const [busySessionId, setBusySessionId] = useState<string | null>(null);
|
|
128
|
+
const [switchingAccountId, setSwitchingAccountId] = useState<string | null>(null);
|
|
128
129
|
const [removingSessionId, setRemovingSessionId] = useState<string | null>(null);
|
|
129
130
|
const [signingOut, setSigningOut] = useState(false);
|
|
130
131
|
const [signingOutAll, setSigningOutAll] = useState(false);
|
|
@@ -140,19 +141,37 @@ export const AccountSwitcherView: React.FC<AccountSwitcherActions> = ({
|
|
|
140
141
|
return [...current, ...others];
|
|
141
142
|
}, [deviceAccounts]);
|
|
142
143
|
|
|
143
|
-
const isSwitching = busySessionId !== null;
|
|
144
|
+
const isSwitching = busySessionId !== null || switchingAccountId !== null;
|
|
144
145
|
const actionDisabled = isSwitching || signingOut || signingOutAll;
|
|
145
146
|
|
|
147
|
+
// Account ids that are already signed in as REAL device sessions. After a
|
|
148
|
+
// `switchToAccount` the target becomes a device session (and the personal
|
|
149
|
+
// account always is one), so it would otherwise appear BOTH as a device row
|
|
150
|
+
// (Section A) and a graph row (Section B). We dedupe by hiding such accounts
|
|
151
|
+
// from the graph — they show in Section A, where the active one is flagged
|
|
152
|
+
// current.
|
|
153
|
+
const deviceUserIds = useMemo<Set<string>>(
|
|
154
|
+
() => new Set(deviceAccounts.map((account) => account.user.id).filter((id): id is string => Boolean(id))),
|
|
155
|
+
[deviceAccounts],
|
|
156
|
+
);
|
|
157
|
+
|
|
146
158
|
// --- Account graph (Section B) ---
|
|
159
|
+
// The switchable graph minus accounts that are already device sessions
|
|
160
|
+
// (deduped into Section A). This is the set Section B renders and searches.
|
|
161
|
+
const graphAccounts = useMemo<AccountNode[]>(
|
|
162
|
+
() => accounts.filter((node) => !deviceUserIds.has(node.accountId)),
|
|
163
|
+
[accounts, deviceUserIds],
|
|
164
|
+
);
|
|
165
|
+
|
|
147
166
|
const filtered = useMemo<AccountNode[]>(() => {
|
|
148
167
|
const q = query.trim().toLowerCase();
|
|
149
|
-
if (!q) return
|
|
150
|
-
return
|
|
168
|
+
if (!q) return graphAccounts;
|
|
169
|
+
return graphAccounts.filter((node) => {
|
|
151
170
|
const name = getAccountDisplayName(node.account, locale).toLowerCase();
|
|
152
171
|
const username = (node.account?.username ?? '').toLowerCase();
|
|
153
172
|
return name.includes(q) || username.includes(q);
|
|
154
173
|
});
|
|
155
|
-
}, [
|
|
174
|
+
}, [graphAccounts, query, locale]);
|
|
156
175
|
|
|
157
176
|
const yourAccounts = useMemo(
|
|
158
177
|
() => toTree(filtered.filter((node) => node.relationship !== 'member')),
|
|
@@ -165,11 +184,8 @@ export const AccountSwitcherView: React.FC<AccountSwitcherActions> = ({
|
|
|
165
184
|
|
|
166
185
|
const handleSwitchDevice = useCallback(async (sessionId: string) => {
|
|
167
186
|
if (busySessionId) return;
|
|
168
|
-
// Tapping the already-active sign-in
|
|
169
|
-
// personal account (clearing any account-graph switch). When already on
|
|
170
|
-
// the personal account this just closes.
|
|
187
|
+
// Tapping the already-active sign-in just closes — it IS the current account.
|
|
171
188
|
if (sessionId === activeSessionId) {
|
|
172
|
-
if (actingAs !== null) setActingAs(null);
|
|
173
189
|
onClose();
|
|
174
190
|
return;
|
|
175
191
|
}
|
|
@@ -177,9 +193,6 @@ export const AccountSwitcherView: React.FC<AccountSwitcherActions> = ({
|
|
|
177
193
|
try {
|
|
178
194
|
await onBeforeSessionChange?.();
|
|
179
195
|
await switchSession(sessionId);
|
|
180
|
-
// The active sign-in changed; any account-graph switch belonged to the
|
|
181
|
-
// previous sign-in, so the new sign-in starts on its personal account.
|
|
182
|
-
if (actingAs !== null) setActingAs(null);
|
|
183
196
|
toast.success(t('accountSwitcher.toasts.switchSuccess') || 'Switched account');
|
|
184
197
|
onClose();
|
|
185
198
|
} catch (error) {
|
|
@@ -190,7 +203,7 @@ export const AccountSwitcherView: React.FC<AccountSwitcherActions> = ({
|
|
|
190
203
|
} finally {
|
|
191
204
|
setBusySessionId(null);
|
|
192
205
|
}
|
|
193
|
-
}, [activeSessionId, busySessionId,
|
|
206
|
+
}, [activeSessionId, busySessionId, switchSession, t, onClose, onBeforeSessionChange]);
|
|
194
207
|
|
|
195
208
|
const handleRemoveDevice = useCallback(async (sessionId: string) => {
|
|
196
209
|
if (sessionId === activeSessionId || removingSessionId) return;
|
|
@@ -238,18 +251,40 @@ export const AccountSwitcherView: React.FC<AccountSwitcherActions> = ({
|
|
|
238
251
|
}
|
|
239
252
|
}, [signingOutAll, logoutAll, t, onClose, onBeforeSessionChange]);
|
|
240
253
|
|
|
241
|
-
const handleSelectAccount = useCallback((node: AccountNode) => {
|
|
242
|
-
|
|
243
|
-
|
|
244
|
-
|
|
245
|
-
|
|
254
|
+
const handleSelectAccount = useCallback(async (node: AccountNode) => {
|
|
255
|
+
if (switchingAccountId) return;
|
|
256
|
+
// Already the active account → just close (it would also be deduped from
|
|
257
|
+
// the graph, but guard defensively).
|
|
258
|
+
if (node.accountId === user?.id) {
|
|
259
|
+
onClose();
|
|
260
|
+
return;
|
|
261
|
+
}
|
|
262
|
+
setSwitchingAccountId(node.accountId);
|
|
263
|
+
try {
|
|
264
|
+
await onBeforeSessionChange?.();
|
|
265
|
+
// Switching INTO a graph account is a REAL session switch — the whole
|
|
266
|
+
// app becomes that account (no delegation header).
|
|
267
|
+
await switchToAccount(node.accountId);
|
|
268
|
+
toast.success(t('accountSwitcher.toasts.switchSuccess') || 'Switched account');
|
|
269
|
+
onClose();
|
|
270
|
+
} catch (error) {
|
|
271
|
+
if (!isDev()) {
|
|
272
|
+
loggerUtil.warn('Switch account failed', { component: 'AccountSwitcher' }, error as unknown);
|
|
273
|
+
}
|
|
274
|
+
toast.error(t('accountSwitcher.toasts.switchFailed') || 'Failed to switch account');
|
|
275
|
+
} finally {
|
|
276
|
+
setSwitchingAccountId(null);
|
|
277
|
+
}
|
|
278
|
+
}, [switchingAccountId, user?.id, switchToAccount, t, onClose, onBeforeSessionChange]);
|
|
246
279
|
|
|
247
280
|
const renderAccountNode = useCallback((node: AccountNode, isChild: boolean) => {
|
|
248
281
|
const displayName = getAccountDisplayName(node.account, locale);
|
|
249
282
|
const username = node.account?.username ? `@${node.account.username}` : null;
|
|
250
|
-
|
|
251
|
-
|
|
252
|
-
|
|
283
|
+
// Current account = the active session's user. After a real-session
|
|
284
|
+
// switch `user` IS this account (such accounts are normally deduped out of
|
|
285
|
+
// the graph, but the check stays correct/defensive if one lingers).
|
|
286
|
+
const active = node.accountId === user?.id;
|
|
287
|
+
const isNodeSwitching = switchingAccountId === node.accountId;
|
|
253
288
|
const role = node.callerMembership?.role;
|
|
254
289
|
const avatarUri = node.account?.avatar
|
|
255
290
|
? oxyServices.getFileDownloadUrl(node.account.avatar, 'thumb')
|
|
@@ -267,11 +302,13 @@ export const AccountSwitcherView: React.FC<AccountSwitcherActions> = ({
|
|
|
267
302
|
accessibilityLabel={displayName}
|
|
268
303
|
accessibilityState={{ selected: active }}
|
|
269
304
|
onPress={() => handleSelectAccount(node)}
|
|
305
|
+
disabled={isSwitching}
|
|
270
306
|
activeOpacity={0.6}
|
|
271
307
|
style={[
|
|
272
308
|
styles.accountRow,
|
|
273
309
|
isChild && styles.childRow,
|
|
274
310
|
active && { backgroundColor: colors.primarySubtle },
|
|
311
|
+
isSwitching && !isNodeSwitching && styles.rowDisabled,
|
|
275
312
|
]}
|
|
276
313
|
>
|
|
277
314
|
<Avatar uri={avatarUri} name={displayName} size={isChild ? 28 : 34} />
|
|
@@ -305,10 +342,14 @@ export const AccountSwitcherView: React.FC<AccountSwitcherActions> = ({
|
|
|
305
342
|
<Ionicons name="settings-outline" size={16} color={colors.textSecondary} />
|
|
306
343
|
</TouchableOpacity>
|
|
307
344
|
) : null}
|
|
308
|
-
{
|
|
345
|
+
{isNodeSwitching ? (
|
|
346
|
+
<ActivityIndicator color={colors.primary} size="small" />
|
|
347
|
+
) : active ? (
|
|
348
|
+
<Ionicons name="checkmark" size={20} color={colors.primary} />
|
|
349
|
+
) : null}
|
|
309
350
|
</TouchableOpacity>
|
|
310
351
|
);
|
|
311
|
-
}, [
|
|
352
|
+
}, [user?.id, switchingAccountId, isSwitching, colors, handleSelectAccount, locale, onOpenAccountSettings, oxyServices, t]);
|
|
312
353
|
|
|
313
354
|
const renderTree = useCallback((entries: TreeEntry[]) => (
|
|
314
355
|
entries.map((entry) => (
|
|
@@ -333,11 +374,9 @@ export const AccountSwitcherView: React.FC<AccountSwitcherActions> = ({
|
|
|
333
374
|
{deviceRows.map((row) => {
|
|
334
375
|
const isBusy = busySessionId === row.sessionId;
|
|
335
376
|
const isRemoving = removingSessionId === row.sessionId;
|
|
336
|
-
// The active
|
|
337
|
-
//
|
|
338
|
-
|
|
339
|
-
// active) account — tappable to return to it.
|
|
340
|
-
const isCurrentAccount = row.isActive && actingAs === null;
|
|
377
|
+
// The active device session IS the current account — there is no
|
|
378
|
+
// separate acting-as concept; switching makes `user` that account.
|
|
379
|
+
const isCurrentAccount = row.isActive;
|
|
341
380
|
return (
|
|
342
381
|
<TouchableOpacity
|
|
343
382
|
key={`device-${row.sessionId}`}
|
|
@@ -371,11 +410,6 @@ export const AccountSwitcherView: React.FC<AccountSwitcherActions> = ({
|
|
|
371
410
|
<ActivityIndicator color={colors.primary} size="small" />
|
|
372
411
|
) : isCurrentAccount ? (
|
|
373
412
|
<Ionicons name="checkmark" size={20} color={colors.primary} />
|
|
374
|
-
) : row.isActive ? (
|
|
375
|
-
// Active sign-in while switched into another account:
|
|
376
|
-
// no current-checkmark, no sign-out (can't sign out the
|
|
377
|
-
// active session here) — tap the row to return to it.
|
|
378
|
-
null
|
|
379
413
|
) : isRemoving ? (
|
|
380
414
|
<ActivityIndicator color={colors.textSecondary} size="small" />
|
|
381
415
|
) : (
|
|
@@ -420,12 +454,12 @@ export const AccountSwitcherView: React.FC<AccountSwitcherActions> = ({
|
|
|
420
454
|
</Text>
|
|
421
455
|
</TouchableOpacity>
|
|
422
456
|
|
|
423
|
-
{/* Section B — account graph */}
|
|
424
|
-
{
|
|
457
|
+
{/* Section B — account graph (switchable accounts not already a device session) */}
|
|
458
|
+
{graphAccounts.length > 0 ? (
|
|
425
459
|
<>
|
|
426
460
|
<Divider color={colors.border} spacing={4} />
|
|
427
461
|
|
|
428
|
-
{
|
|
462
|
+
{graphAccounts.length > 6 ? (
|
|
429
463
|
<View style={[styles.searchBox, { backgroundColor: colors.card, borderColor: colors.border }]}>
|
|
430
464
|
<Ionicons name="search" size={16} color={colors.textSecondary} />
|
|
431
465
|
<TextInput
|