@oxyhq/services 6.9.46 → 6.10.1
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 +36 -13
- package/lib/commonjs/index.js.map +1 -1
- package/lib/commonjs/ui/client.js +0 -20
- package/lib/commonjs/ui/client.js.map +1 -1
- package/lib/commonjs/ui/components/ActingAsBanner.js +0 -4
- package/lib/commonjs/ui/components/ActingAsBanner.js.map +1 -1
- package/lib/commonjs/ui/components/ActivityIndicator.js +1 -1
- package/lib/commonjs/ui/components/ActivityIndicator.js.map +1 -1
- package/lib/commonjs/ui/components/Avatar.js +0 -2
- package/lib/commonjs/ui/components/Avatar.js.map +1 -1
- package/lib/commonjs/ui/components/BottomSheet.js +33 -398
- package/lib/commonjs/ui/components/BottomSheet.js.map +1 -1
- package/lib/commonjs/ui/components/BottomSheetRouter.js +8 -0
- package/lib/commonjs/ui/components/BottomSheetRouter.js.map +1 -1
- package/lib/commonjs/ui/components/FollowButton.js +3 -5
- package/lib/commonjs/ui/components/FollowButton.js.map +1 -1
- package/lib/commonjs/ui/components/Header.js +0 -5
- package/lib/commonjs/ui/components/Header.js.map +1 -1
- package/lib/commonjs/ui/components/Icon.js +6 -7
- package/lib/commonjs/ui/components/Icon.js.map +1 -1
- package/lib/commonjs/ui/components/IconButton/IconButton.js +1 -5
- package/lib/commonjs/ui/components/IconButton/IconButton.js.map +1 -1
- package/lib/commonjs/ui/components/OxyPayButton.js +0 -2
- package/lib/commonjs/ui/components/OxyPayButton.js.map +1 -1
- package/lib/commonjs/ui/components/OxyProvider.js +100 -37
- package/lib/commonjs/ui/components/OxyProvider.js.map +1 -1
- package/lib/commonjs/ui/components/OxySignInButton.js +23 -9
- package/lib/commonjs/ui/components/OxySignInButton.js.map +1 -1
- package/lib/commonjs/ui/components/ProfileCard.js +11 -8
- package/lib/commonjs/ui/components/ProfileCard.js.map +1 -1
- package/lib/commonjs/ui/components/QuickActions.js +2 -2
- package/lib/commonjs/ui/components/QuickActions.js.map +1 -1
- package/lib/commonjs/ui/components/SignInModal.js +139 -284
- package/lib/commonjs/ui/components/SignInModal.js.map +1 -1
- package/lib/commonjs/ui/components/StepBasedScreen.js +0 -2
- package/lib/commonjs/ui/components/StepBasedScreen.js.map +1 -1
- package/lib/commonjs/ui/components/TextField.js +0 -1
- package/lib/commonjs/ui/components/TextField.js.map +1 -1
- package/lib/commonjs/ui/components/TouchableRipple/TouchableRipple.native.js +1 -1
- package/lib/commonjs/ui/components/TouchableRipple/TouchableRipple.native.js.map +1 -1
- package/lib/commonjs/ui/components/feedback/feedbackStyles.js +0 -2
- package/lib/commonjs/ui/components/feedback/feedbackStyles.js.map +1 -1
- package/lib/commonjs/ui/components/fileManagement/AnimatedButton.js +0 -2
- package/lib/commonjs/ui/components/fileManagement/AnimatedButton.js.map +1 -1
- package/lib/commonjs/ui/components/fileManagement/FileDetailsModal.js +80 -76
- package/lib/commonjs/ui/components/fileManagement/FileDetailsModal.js.map +1 -1
- package/lib/commonjs/ui/components/fileManagement/FileViewer.js +6 -8
- package/lib/commonjs/ui/components/fileManagement/FileViewer.js.map +1 -1
- package/lib/commonjs/ui/components/fileManagement/UploadPreview.js +18 -23
- package/lib/commonjs/ui/components/fileManagement/UploadPreview.js.map +1 -1
- package/lib/commonjs/ui/components/fileManagement/styles.js +213 -25
- package/lib/commonjs/ui/components/fileManagement/styles.js.map +1 -1
- package/lib/commonjs/ui/components/logo/LogoIcon.js +63 -0
- package/lib/commonjs/ui/components/logo/LogoIcon.js.map +1 -0
- package/lib/commonjs/ui/components/logo/LogoText.js +50 -0
- package/lib/commonjs/ui/components/logo/LogoText.js.map +1 -0
- package/lib/commonjs/ui/components/modals/DeleteAccountModal.js +54 -88
- package/lib/commonjs/ui/components/modals/DeleteAccountModal.js.map +1 -1
- package/lib/commonjs/ui/components/payment/PaymentDetailsStep.js +2 -2
- package/lib/commonjs/ui/components/payment/PaymentDetailsStep.js.map +1 -1
- package/lib/commonjs/ui/components/payment/PaymentReviewStep.js +1 -1
- package/lib/commonjs/ui/components/payment/PaymentReviewStep.js.map +1 -1
- package/lib/commonjs/ui/components/payment/PaymentSuccessStep.js +1 -1
- package/lib/commonjs/ui/components/payment/PaymentSuccessStep.js.map +1 -1
- package/lib/commonjs/ui/components/payment/paymentStyles.js +2 -10
- package/lib/commonjs/ui/components/payment/paymentStyles.js.map +1 -1
- package/lib/commonjs/ui/components/styles/overlay.js +7 -9
- package/lib/commonjs/ui/components/styles/overlay.js.map +1 -1
- package/lib/commonjs/ui/components/theming.js +0 -1
- package/lib/commonjs/ui/components/theming.js.map +1 -1
- package/lib/commonjs/ui/context/OxyContext.js +34 -21
- package/lib/commonjs/ui/context/OxyContext.js.map +1 -1
- package/lib/commonjs/ui/context/hooks/useAuthOperations.js +1 -3
- package/lib/commonjs/ui/context/hooks/useAuthOperations.js.map +1 -1
- package/lib/commonjs/ui/hooks/index.js +32 -12
- package/lib/commonjs/ui/hooks/index.js.map +1 -1
- package/lib/commonjs/ui/hooks/mutations/mutationFactory.js +10 -5
- package/lib/commonjs/ui/hooks/mutations/mutationFactory.js.map +1 -1
- package/lib/commonjs/ui/hooks/mutations/mutationKeys.js +34 -0
- package/lib/commonjs/ui/hooks/mutations/mutationKeys.js.map +1 -0
- package/lib/commonjs/ui/hooks/mutations/useAccountMutations.js +235 -57
- package/lib/commonjs/ui/hooks/mutations/useAccountMutations.js.map +1 -1
- package/lib/commonjs/ui/hooks/mutations/useServicesMutations.js +17 -13
- package/lib/commonjs/ui/hooks/mutations/useServicesMutations.js.map +1 -1
- package/lib/commonjs/ui/hooks/queries/index.js +6 -0
- package/lib/commonjs/ui/hooks/queries/index.js.map +1 -1
- package/lib/commonjs/ui/hooks/queries/queryKeys.js +2 -1
- package/lib/commonjs/ui/hooks/queries/queryKeys.js.map +1 -1
- package/lib/commonjs/ui/hooks/queries/useAccountQueries.js +80 -3
- package/lib/commonjs/ui/hooks/queries/useAccountQueries.js.map +1 -1
- package/lib/commonjs/ui/hooks/queries/useSecurityQueries.js +36 -1
- package/lib/commonjs/ui/hooks/queries/useSecurityQueries.js.map +1 -1
- package/lib/commonjs/ui/hooks/queryClient.js +168 -70
- package/lib/commonjs/ui/hooks/queryClient.js.map +1 -1
- package/lib/commonjs/ui/hooks/useAsyncAction.js +7 -7
- package/lib/commonjs/ui/hooks/useAsyncAction.js.map +1 -1
- package/lib/commonjs/ui/hooks/useAuth.js +0 -8
- package/lib/commonjs/ui/hooks/useAuth.js.map +1 -1
- package/lib/commonjs/ui/hooks/useAvatarPicker.js +71 -20
- package/lib/commonjs/ui/hooks/useAvatarPicker.js.map +1 -1
- package/lib/commonjs/ui/hooks/useFileDownloadUrl.js +12 -41
- package/lib/commonjs/ui/hooks/useFileDownloadUrl.js.map +1 -1
- package/lib/commonjs/ui/hooks/useMutationStatus.js +86 -0
- package/lib/commonjs/ui/hooks/useMutationStatus.js.map +1 -0
- package/lib/commonjs/ui/hooks/useOnlineStatus.js +33 -0
- package/lib/commonjs/ui/hooks/useOnlineStatus.js.map +1 -0
- package/lib/commonjs/ui/hooks/useSessionSocket.js +101 -130
- package/lib/commonjs/ui/hooks/useSessionSocket.js.map +1 -1
- package/lib/commonjs/ui/hooks/useSettingToggle.js +4 -4
- package/lib/commonjs/ui/hooks/useSettingToggle.js.map +1 -1
- package/lib/commonjs/ui/index.js +1 -11
- package/lib/commonjs/ui/index.js.map +1 -1
- package/lib/commonjs/ui/navigation/routes.js +55 -3
- package/lib/commonjs/ui/navigation/routes.js.map +1 -1
- package/lib/commonjs/ui/screens/AccountCenterScreen.js +16 -16
- package/lib/commonjs/ui/screens/AccountCenterScreen.js.map +1 -1
- package/lib/commonjs/ui/screens/AccountOverviewScreen.js +108 -123
- package/lib/commonjs/ui/screens/AccountOverviewScreen.js.map +1 -1
- package/lib/commonjs/ui/screens/AccountSettingsScreen.js +20 -19
- package/lib/commonjs/ui/screens/AccountSettingsScreen.js.map +1 -1
- package/lib/commonjs/ui/screens/AccountSwitcherScreen.js +204 -161
- package/lib/commonjs/ui/screens/AccountSwitcherScreen.js.map +1 -1
- package/lib/commonjs/ui/screens/AccountVerificationScreen.js +18 -18
- package/lib/commonjs/ui/screens/AccountVerificationScreen.js.map +1 -1
- package/lib/commonjs/ui/screens/AppInfoScreen.js +22 -23
- package/lib/commonjs/ui/screens/AppInfoScreen.js.map +1 -1
- package/lib/commonjs/ui/screens/AvatarCropScreen.js +939 -0
- package/lib/commonjs/ui/screens/AvatarCropScreen.js.map +1 -0
- package/lib/commonjs/ui/screens/CreateManagedAccountScreen.js +13 -20
- package/lib/commonjs/ui/screens/CreateManagedAccountScreen.js.map +1 -1
- package/lib/commonjs/ui/screens/EditProfileFieldScreen.js +10 -13
- package/lib/commonjs/ui/screens/EditProfileFieldScreen.js.map +1 -1
- package/lib/commonjs/ui/screens/FAQScreen.js +4 -4
- package/lib/commonjs/ui/screens/FAQScreen.js.map +1 -1
- package/lib/commonjs/ui/screens/FeedbackScreen.js +17 -15
- package/lib/commonjs/ui/screens/FeedbackScreen.js.map +1 -1
- package/lib/commonjs/ui/screens/FileManagementScreen.js +797 -159
- package/lib/commonjs/ui/screens/FileManagementScreen.js.map +1 -1
- package/lib/commonjs/ui/screens/HelpSupportScreen.js +8 -9
- package/lib/commonjs/ui/screens/HelpSupportScreen.js.map +1 -1
- package/lib/commonjs/ui/screens/HistoryViewScreen.js +29 -21
- package/lib/commonjs/ui/screens/HistoryViewScreen.js.map +1 -1
- package/lib/commonjs/ui/screens/LanguageSelectorScreen.js +3 -5
- package/lib/commonjs/ui/screens/LanguageSelectorScreen.js.map +1 -1
- package/lib/commonjs/ui/screens/LegalDocumentsScreen.js +5 -5
- package/lib/commonjs/ui/screens/LegalDocumentsScreen.js.map +1 -1
- package/lib/commonjs/ui/screens/PaymentGatewayScreen.js +2 -2
- package/lib/commonjs/ui/screens/PremiumSubscriptionScreen.js +75 -73
- package/lib/commonjs/ui/screens/PremiumSubscriptionScreen.js.map +1 -1
- package/lib/commonjs/ui/screens/PrivacySettingsScreen.js +32 -21
- package/lib/commonjs/ui/screens/PrivacySettingsScreen.js.map +1 -1
- package/lib/commonjs/ui/screens/ProfileScreen.js +4 -3
- package/lib/commonjs/ui/screens/ProfileScreen.js.map +1 -1
- package/lib/commonjs/ui/screens/SavesCollectionsScreen.js +3 -3
- package/lib/commonjs/ui/screens/SavesCollectionsScreen.js.map +1 -1
- package/lib/commonjs/ui/screens/SessionManagementScreen.js +57 -56
- package/lib/commonjs/ui/screens/SessionManagementScreen.js.map +1 -1
- package/lib/commonjs/ui/screens/UserLinksScreen.js +2 -3
- package/lib/commonjs/ui/screens/UserLinksScreen.js.map +1 -1
- package/lib/commonjs/ui/screens/UserListScreen.js +39 -22
- package/lib/commonjs/ui/screens/UserListScreen.js.map +1 -1
- package/lib/commonjs/ui/screens/WelcomeNewUserScreen.js +18 -21
- package/lib/commonjs/ui/screens/WelcomeNewUserScreen.js.map +1 -1
- package/lib/commonjs/ui/screens/karma/KarmaAboutScreen.js +0 -3
- package/lib/commonjs/ui/screens/karma/KarmaAboutScreen.js.map +1 -1
- package/lib/commonjs/ui/screens/karma/KarmaCenterScreen.js +6 -10
- package/lib/commonjs/ui/screens/karma/KarmaCenterScreen.js.map +1 -1
- package/lib/commonjs/ui/screens/karma/KarmaFAQScreen.js +1 -1
- package/lib/commonjs/ui/screens/karma/KarmaFAQScreen.js.map +1 -1
- package/lib/commonjs/ui/screens/karma/KarmaLeaderboardScreen.js +6 -6
- package/lib/commonjs/ui/screens/karma/KarmaLeaderboardScreen.js.map +1 -1
- package/lib/commonjs/ui/screens/karma/KarmaRewardsScreen.js +13 -19
- package/lib/commonjs/ui/screens/karma/KarmaRewardsScreen.js.map +1 -1
- package/lib/commonjs/ui/screens/karma/KarmaRulesScreen.js +5 -5
- package/lib/commonjs/ui/screens/karma/KarmaRulesScreen.js.map +1 -1
- package/lib/commonjs/ui/server.js +0 -5
- package/lib/commonjs/ui/server.js.map +1 -1
- package/lib/commonjs/ui/styles/authStyles.js +0 -5
- package/lib/commonjs/ui/styles/authStyles.js.map +1 -1
- package/lib/commonjs/ui/styles/index.js +0 -11
- package/lib/commonjs/ui/styles/index.js.map +1 -1
- package/lib/commonjs/ui/styles/spacing.js +1 -42
- package/lib/commonjs/ui/styles/spacing.js.map +1 -1
- package/lib/commonjs/ui/styles/theme.js +0 -4
- package/lib/commonjs/ui/styles/theme.js.map +1 -1
- package/lib/commonjs/ui/utils/fileManagement.js +58 -39
- package/lib/commonjs/ui/utils/fileManagement.js.map +1 -1
- package/lib/commonjs/ui/utils/sessionHelpers.js +3 -1
- package/lib/commonjs/ui/utils/sessionHelpers.js.map +1 -1
- package/lib/commonjs/ui/utils/userUtils.js +33 -16
- package/lib/commonjs/ui/utils/userUtils.js.map +1 -1
- package/lib/module/index.js +9 -5
- package/lib/module/index.js.map +1 -1
- package/lib/module/ui/client.js +0 -6
- package/lib/module/ui/client.js.map +1 -1
- package/lib/module/ui/components/ActingAsBanner.js +0 -4
- package/lib/module/ui/components/ActingAsBanner.js.map +1 -1
- package/lib/module/ui/components/ActivityIndicator.js +1 -1
- package/lib/module/ui/components/ActivityIndicator.js.map +1 -1
- package/lib/module/ui/components/Avatar.js +0 -2
- package/lib/module/ui/components/Avatar.js.map +1 -1
- package/lib/module/ui/components/BottomSheet.js +35 -400
- package/lib/module/ui/components/BottomSheet.js.map +1 -1
- package/lib/module/ui/components/BottomSheetRouter.js +9 -1
- package/lib/module/ui/components/BottomSheetRouter.js.map +1 -1
- package/lib/module/ui/components/FollowButton.js +2 -4
- package/lib/module/ui/components/FollowButton.js.map +1 -1
- package/lib/module/ui/components/Header.js +0 -5
- package/lib/module/ui/components/Header.js.map +1 -1
- package/lib/module/ui/components/Icon.js +6 -7
- package/lib/module/ui/components/Icon.js.map +1 -1
- package/lib/module/ui/components/IconButton/IconButton.js +1 -5
- package/lib/module/ui/components/IconButton/IconButton.js.map +1 -1
- package/lib/module/ui/components/OxyPayButton.js +0 -2
- package/lib/module/ui/components/OxyPayButton.js.map +1 -1
- package/lib/module/ui/components/OxyProvider.js +103 -40
- package/lib/module/ui/components/OxyProvider.js.map +1 -1
- package/lib/module/ui/components/OxySignInButton.js +23 -9
- package/lib/module/ui/components/OxySignInButton.js.map +1 -1
- package/lib/module/ui/components/ProfileCard.js +11 -8
- package/lib/module/ui/components/ProfileCard.js.map +1 -1
- package/lib/module/ui/components/QuickActions.js +2 -2
- package/lib/module/ui/components/QuickActions.js.map +1 -1
- package/lib/module/ui/components/SignInModal.js +137 -284
- package/lib/module/ui/components/SignInModal.js.map +1 -1
- package/lib/module/ui/components/StepBasedScreen.js +0 -2
- package/lib/module/ui/components/StepBasedScreen.js.map +1 -1
- package/lib/module/ui/components/TextField.js +0 -1
- package/lib/module/ui/components/TextField.js.map +1 -1
- package/lib/module/ui/components/TouchableRipple/TouchableRipple.native.js +1 -1
- package/lib/module/ui/components/TouchableRipple/TouchableRipple.native.js.map +1 -1
- package/lib/module/ui/components/feedback/feedbackStyles.js +0 -2
- package/lib/module/ui/components/feedback/feedbackStyles.js.map +1 -1
- package/lib/module/ui/components/fileManagement/AnimatedButton.js +0 -1
- package/lib/module/ui/components/fileManagement/AnimatedButton.js.map +1 -1
- package/lib/module/ui/components/fileManagement/FileDetailsModal.js +80 -75
- package/lib/module/ui/components/fileManagement/FileDetailsModal.js.map +1 -1
- package/lib/module/ui/components/fileManagement/FileViewer.js +6 -7
- package/lib/module/ui/components/fileManagement/FileViewer.js.map +1 -1
- package/lib/module/ui/components/fileManagement/UploadPreview.js +18 -22
- package/lib/module/ui/components/fileManagement/UploadPreview.js.map +1 -1
- package/lib/module/ui/components/fileManagement/styles.js +212 -24
- package/lib/module/ui/components/fileManagement/styles.js.map +1 -1
- package/lib/module/ui/components/logo/LogoIcon.js +56 -0
- package/lib/module/ui/components/logo/LogoIcon.js.map +1 -0
- package/lib/module/ui/components/logo/LogoText.js +43 -0
- package/lib/module/ui/components/logo/LogoText.js.map +1 -0
- package/lib/module/ui/components/modals/DeleteAccountModal.js +55 -88
- package/lib/module/ui/components/modals/DeleteAccountModal.js.map +1 -1
- package/lib/module/ui/components/payment/PaymentDetailsStep.js +1 -1
- package/lib/module/ui/components/payment/PaymentDetailsStep.js.map +1 -1
- package/lib/module/ui/components/payment/PaymentReviewStep.js +1 -1
- package/lib/module/ui/components/payment/PaymentReviewStep.js.map +1 -1
- package/lib/module/ui/components/payment/PaymentSuccessStep.js +1 -1
- package/lib/module/ui/components/payment/PaymentSuccessStep.js.map +1 -1
- package/lib/module/ui/components/payment/paymentStyles.js +2 -10
- package/lib/module/ui/components/payment/paymentStyles.js.map +1 -1
- package/lib/module/ui/components/styles/overlay.js +8 -8
- package/lib/module/ui/components/styles/overlay.js.map +1 -1
- package/lib/module/ui/components/theming.js +0 -1
- package/lib/module/ui/components/theming.js.map +1 -1
- package/lib/module/ui/context/OxyContext.js +32 -19
- package/lib/module/ui/context/OxyContext.js.map +1 -1
- package/lib/module/ui/context/hooks/useAuthOperations.js +1 -3
- package/lib/module/ui/context/hooks/useAuthOperations.js.map +1 -1
- package/lib/module/ui/hooks/index.js +5 -3
- package/lib/module/ui/hooks/index.js.map +1 -1
- package/lib/module/ui/hooks/mutations/mutationFactory.js +6 -1
- package/lib/module/ui/hooks/mutations/mutationFactory.js.map +1 -1
- package/lib/module/ui/hooks/mutations/mutationKeys.js +30 -0
- package/lib/module/ui/hooks/mutations/mutationKeys.js.map +1 -0
- package/lib/module/ui/hooks/mutations/useAccountMutations.js +231 -52
- package/lib/module/ui/hooks/mutations/useAccountMutations.js.map +1 -1
- package/lib/module/ui/hooks/mutations/useServicesMutations.js +9 -5
- package/lib/module/ui/hooks/mutations/useServicesMutations.js.map +1 -1
- package/lib/module/ui/hooks/queries/index.js +1 -1
- package/lib/module/ui/hooks/queries/index.js.map +1 -1
- package/lib/module/ui/hooks/queries/queryKeys.js +2 -1
- package/lib/module/ui/hooks/queries/queryKeys.js.map +1 -1
- package/lib/module/ui/hooks/queries/useAccountQueries.js +80 -3
- package/lib/module/ui/hooks/queries/useAccountQueries.js.map +1 -1
- package/lib/module/ui/hooks/queries/useSecurityQueries.js +35 -1
- package/lib/module/ui/hooks/queries/useSecurityQueries.js.map +1 -1
- package/lib/module/ui/hooks/queryClient.js +166 -68
- package/lib/module/ui/hooks/queryClient.js.map +1 -1
- package/lib/module/ui/hooks/useAsyncAction.js +3 -3
- package/lib/module/ui/hooks/useAsyncAction.js.map +1 -1
- package/lib/module/ui/hooks/useAuth.js +0 -3
- package/lib/module/ui/hooks/useAuth.js.map +1 -1
- package/lib/module/ui/hooks/useAvatarPicker.js +73 -22
- package/lib/module/ui/hooks/useAvatarPicker.js.map +1 -1
- package/lib/module/ui/hooks/useFileDownloadUrl.js +11 -39
- package/lib/module/ui/hooks/useFileDownloadUrl.js.map +1 -1
- package/lib/module/ui/hooks/useMutationStatus.js +82 -0
- package/lib/module/ui/hooks/useMutationStatus.js.map +1 -0
- package/lib/module/ui/hooks/useOnlineStatus.js +29 -0
- package/lib/module/ui/hooks/useOnlineStatus.js.map +1 -0
- package/lib/module/ui/hooks/useSessionSocket.js +101 -130
- package/lib/module/ui/hooks/useSessionSocket.js.map +1 -1
- package/lib/module/ui/hooks/useSettingToggle.js +1 -1
- package/lib/module/ui/hooks/useSettingToggle.js.map +1 -1
- package/lib/module/ui/index.js +1 -10
- package/lib/module/ui/index.js.map +1 -1
- package/lib/module/ui/navigation/routes.js +54 -2
- package/lib/module/ui/navigation/routes.js.map +1 -1
- package/lib/module/ui/screens/AccountCenterScreen.js +15 -14
- package/lib/module/ui/screens/AccountCenterScreen.js.map +1 -1
- package/lib/module/ui/screens/AccountOverviewScreen.js +96 -111
- package/lib/module/ui/screens/AccountOverviewScreen.js.map +1 -1
- package/lib/module/ui/screens/AccountSettingsScreen.js +19 -18
- package/lib/module/ui/screens/AccountSettingsScreen.js.map +1 -1
- package/lib/module/ui/screens/AccountSwitcherScreen.js +189 -145
- package/lib/module/ui/screens/AccountSwitcherScreen.js.map +1 -1
- package/lib/module/ui/screens/AccountVerificationScreen.js +15 -15
- package/lib/module/ui/screens/AccountVerificationScreen.js.map +1 -1
- package/lib/module/ui/screens/AppInfoScreen.js +14 -15
- package/lib/module/ui/screens/AppInfoScreen.js.map +1 -1
- package/lib/module/ui/screens/AvatarCropScreen.js +936 -0
- package/lib/module/ui/screens/AvatarCropScreen.js.map +1 -0
- package/lib/module/ui/screens/CreateManagedAccountScreen.js +11 -18
- package/lib/module/ui/screens/CreateManagedAccountScreen.js.map +1 -1
- package/lib/module/ui/screens/EditProfileFieldScreen.js +8 -11
- package/lib/module/ui/screens/EditProfileFieldScreen.js.map +1 -1
- package/lib/module/ui/screens/FAQScreen.js +3 -3
- package/lib/module/ui/screens/FAQScreen.js.map +1 -1
- package/lib/module/ui/screens/FeedbackScreen.js +14 -12
- package/lib/module/ui/screens/FeedbackScreen.js.map +1 -1
- package/lib/module/ui/screens/FileManagementScreen.js +764 -125
- package/lib/module/ui/screens/FileManagementScreen.js.map +1 -1
- package/lib/module/ui/screens/HelpSupportScreen.js +2 -3
- package/lib/module/ui/screens/HelpSupportScreen.js.map +1 -1
- package/lib/module/ui/screens/HistoryViewScreen.js +26 -17
- package/lib/module/ui/screens/HistoryViewScreen.js.map +1 -1
- package/lib/module/ui/screens/LanguageSelectorScreen.js +1 -3
- package/lib/module/ui/screens/LanguageSelectorScreen.js.map +1 -1
- package/lib/module/ui/screens/LegalDocumentsScreen.js +3 -3
- package/lib/module/ui/screens/LegalDocumentsScreen.js.map +1 -1
- package/lib/module/ui/screens/PaymentGatewayScreen.js +2 -2
- package/lib/module/ui/screens/PremiumSubscriptionScreen.js +60 -57
- package/lib/module/ui/screens/PremiumSubscriptionScreen.js.map +1 -1
- package/lib/module/ui/screens/PrivacySettingsScreen.js +27 -16
- package/lib/module/ui/screens/PrivacySettingsScreen.js.map +1 -1
- package/lib/module/ui/screens/ProfileScreen.js +4 -3
- package/lib/module/ui/screens/ProfileScreen.js.map +1 -1
- package/lib/module/ui/screens/SavesCollectionsScreen.js +2 -2
- package/lib/module/ui/screens/SavesCollectionsScreen.js.map +1 -1
- package/lib/module/ui/screens/SessionManagementScreen.js +48 -47
- package/lib/module/ui/screens/SessionManagementScreen.js.map +1 -1
- package/lib/module/ui/screens/UserLinksScreen.js +2 -3
- package/lib/module/ui/screens/UserLinksScreen.js.map +1 -1
- package/lib/module/ui/screens/UserListScreen.js +40 -23
- package/lib/module/ui/screens/UserListScreen.js.map +1 -1
- package/lib/module/ui/screens/WelcomeNewUserScreen.js +16 -19
- package/lib/module/ui/screens/WelcomeNewUserScreen.js.map +1 -1
- package/lib/module/ui/screens/karma/KarmaAboutScreen.js +0 -3
- package/lib/module/ui/screens/karma/KarmaAboutScreen.js.map +1 -1
- package/lib/module/ui/screens/karma/KarmaCenterScreen.js +6 -10
- package/lib/module/ui/screens/karma/KarmaCenterScreen.js.map +1 -1
- package/lib/module/ui/screens/karma/KarmaFAQScreen.js +1 -1
- package/lib/module/ui/screens/karma/KarmaFAQScreen.js.map +1 -1
- package/lib/module/ui/screens/karma/KarmaLeaderboardScreen.js +6 -6
- package/lib/module/ui/screens/karma/KarmaLeaderboardScreen.js.map +1 -1
- package/lib/module/ui/screens/karma/KarmaRewardsScreen.js +13 -19
- package/lib/module/ui/screens/karma/KarmaRewardsScreen.js.map +1 -1
- package/lib/module/ui/screens/karma/KarmaRulesScreen.js +5 -5
- package/lib/module/ui/screens/karma/KarmaRulesScreen.js.map +1 -1
- package/lib/module/ui/server.js +0 -4
- package/lib/module/ui/server.js.map +1 -1
- package/lib/module/ui/styles/authStyles.js +0 -5
- package/lib/module/ui/styles/authStyles.js.map +1 -1
- package/lib/module/ui/styles/index.js +0 -1
- package/lib/module/ui/styles/index.js.map +1 -1
- package/lib/module/ui/styles/spacing.js +0 -42
- package/lib/module/ui/styles/spacing.js.map +1 -1
- package/lib/module/ui/styles/theme.js +0 -4
- package/lib/module/ui/styles/theme.js.map +1 -1
- package/lib/module/ui/utils/fileManagement.js +54 -36
- package/lib/module/ui/utils/fileManagement.js.map +1 -1
- package/lib/module/ui/utils/sessionHelpers.js +3 -1
- package/lib/module/ui/utils/sessionHelpers.js.map +1 -1
- package/lib/module/ui/utils/userUtils.js +34 -16
- package/lib/module/ui/utils/userUtils.js.map +1 -1
- package/lib/typescript/commonjs/index.d.ts +7 -3
- package/lib/typescript/commonjs/index.d.ts.map +1 -1
- package/lib/typescript/commonjs/ui/client.d.ts +0 -2
- package/lib/typescript/commonjs/ui/client.d.ts.map +1 -1
- package/lib/typescript/commonjs/ui/components/ActingAsBanner.d.ts.map +1 -1
- package/lib/typescript/commonjs/ui/components/Avatar.d.ts.map +1 -1
- package/lib/typescript/commonjs/ui/components/BottomSheet.d.ts +27 -27
- package/lib/typescript/commonjs/ui/components/BottomSheet.d.ts.map +1 -1
- package/lib/typescript/commonjs/ui/components/BottomSheetRouter.d.ts.map +1 -1
- package/lib/typescript/commonjs/ui/components/FollowButton.d.ts.map +1 -1
- package/lib/typescript/commonjs/ui/components/Header.d.ts.map +1 -1
- package/lib/typescript/commonjs/ui/components/Icon.d.ts +3 -2
- package/lib/typescript/commonjs/ui/components/Icon.d.ts.map +1 -1
- package/lib/typescript/commonjs/ui/components/IconButton/IconButton.d.ts.map +1 -1
- package/lib/typescript/commonjs/ui/components/OxyPayButton.d.ts.map +1 -1
- package/lib/typescript/commonjs/ui/components/OxyProvider.d.ts.map +1 -1
- package/lib/typescript/commonjs/ui/components/OxySignInButton.d.ts.map +1 -1
- package/lib/typescript/commonjs/ui/components/ProfileCard.d.ts +4 -1
- package/lib/typescript/commonjs/ui/components/ProfileCard.d.ts.map +1 -1
- package/lib/typescript/commonjs/ui/components/SignInModal.d.ts.map +1 -1
- package/lib/typescript/commonjs/ui/components/StepBasedScreen.d.ts.map +1 -1
- package/lib/typescript/commonjs/ui/components/TextField/Addons/Outline.d.ts +2 -2
- package/lib/typescript/commonjs/ui/components/TextField/helpers.d.ts +2 -2
- package/lib/typescript/commonjs/ui/components/TextField/types.d.ts +0 -1
- package/lib/typescript/commonjs/ui/components/TextField/types.d.ts.map +1 -1
- package/lib/typescript/commonjs/ui/components/TextField.d.ts +1 -1
- package/lib/typescript/commonjs/ui/components/TextField.d.ts.map +1 -1
- package/lib/typescript/commonjs/ui/components/feedback/feedbackStyles.d.ts +0 -1
- package/lib/typescript/commonjs/ui/components/feedback/feedbackStyles.d.ts.map +1 -1
- package/lib/typescript/commonjs/ui/components/fileManagement/AnimatedButton.d.ts.map +1 -1
- package/lib/typescript/commonjs/ui/components/fileManagement/FileDetailsModal.d.ts +1 -1
- package/lib/typescript/commonjs/ui/components/fileManagement/FileDetailsModal.d.ts.map +1 -1
- package/lib/typescript/commonjs/ui/components/fileManagement/FileViewer.d.ts +0 -2
- package/lib/typescript/commonjs/ui/components/fileManagement/FileViewer.d.ts.map +1 -1
- package/lib/typescript/commonjs/ui/components/fileManagement/UploadPreview.d.ts +3 -2
- package/lib/typescript/commonjs/ui/components/fileManagement/UploadPreview.d.ts.map +1 -1
- package/lib/typescript/commonjs/ui/components/fileManagement/styles.d.ts +200 -17
- package/lib/typescript/commonjs/ui/components/fileManagement/styles.d.ts.map +1 -1
- package/lib/typescript/commonjs/ui/components/logo/LogoIcon.d.ts +22 -0
- package/lib/typescript/commonjs/ui/components/logo/LogoIcon.d.ts.map +1 -0
- package/lib/typescript/commonjs/ui/components/logo/LogoText.d.ts +22 -0
- package/lib/typescript/commonjs/ui/components/logo/LogoText.d.ts.map +1 -0
- package/lib/typescript/commonjs/ui/components/modals/DeleteAccountModal.d.ts +2 -2
- package/lib/typescript/commonjs/ui/components/modals/DeleteAccountModal.d.ts.map +1 -1
- package/lib/typescript/commonjs/ui/components/payment/paymentStyles.d.ts +0 -7
- package/lib/typescript/commonjs/ui/components/payment/paymentStyles.d.ts.map +1 -1
- package/lib/typescript/commonjs/ui/components/styles/overlay.d.ts +3 -1
- package/lib/typescript/commonjs/ui/components/styles/overlay.d.ts.map +1 -1
- package/lib/typescript/commonjs/ui/components/theming.d.ts.map +1 -1
- package/lib/typescript/commonjs/ui/components/types.d.ts.map +1 -1
- package/lib/typescript/commonjs/ui/context/OxyContext.d.ts.map +1 -1
- package/lib/typescript/commonjs/ui/context/hooks/useAuthOperations.d.ts.map +1 -1
- package/lib/typescript/commonjs/ui/hooks/index.d.ts +5 -3
- package/lib/typescript/commonjs/ui/hooks/index.d.ts.map +1 -1
- package/lib/typescript/commonjs/ui/hooks/mutations/mutationFactory.d.ts +11 -0
- package/lib/typescript/commonjs/ui/hooks/mutations/mutationFactory.d.ts.map +1 -1
- package/lib/typescript/commonjs/ui/hooks/mutations/mutationKeys.d.ts +25 -0
- package/lib/typescript/commonjs/ui/hooks/mutations/mutationKeys.d.ts.map +1 -0
- package/lib/typescript/commonjs/ui/hooks/mutations/useAccountMutations.d.ts +161 -9
- package/lib/typescript/commonjs/ui/hooks/mutations/useAccountMutations.d.ts.map +1 -1
- package/lib/typescript/commonjs/ui/hooks/mutations/useServicesMutations.d.ts.map +1 -1
- package/lib/typescript/commonjs/ui/hooks/queries/index.d.ts +1 -1
- package/lib/typescript/commonjs/ui/hooks/queries/index.d.ts.map +1 -1
- package/lib/typescript/commonjs/ui/hooks/queries/queryKeys.d.ts +1 -0
- package/lib/typescript/commonjs/ui/hooks/queries/queryKeys.d.ts.map +1 -1
- package/lib/typescript/commonjs/ui/hooks/queries/useAccountQueries.d.ts +22 -8
- package/lib/typescript/commonjs/ui/hooks/queries/useAccountQueries.d.ts.map +1 -1
- package/lib/typescript/commonjs/ui/hooks/queries/useSecurityQueries.d.ts +13 -3
- package/lib/typescript/commonjs/ui/hooks/queries/useSecurityQueries.d.ts.map +1 -1
- package/lib/typescript/commonjs/ui/hooks/queries/useServicesQueries.d.ts +7 -5
- package/lib/typescript/commonjs/ui/hooks/queries/useServicesQueries.d.ts.map +1 -1
- package/lib/typescript/commonjs/ui/hooks/queryClient.d.ts +57 -9
- package/lib/typescript/commonjs/ui/hooks/queryClient.d.ts.map +1 -1
- package/lib/typescript/commonjs/ui/hooks/useAssets.d.ts +1 -1
- package/lib/typescript/commonjs/ui/hooks/useAuth.d.ts +0 -1
- package/lib/typescript/commonjs/ui/hooks/useAuth.d.ts.map +1 -1
- package/lib/typescript/commonjs/ui/hooks/useAvatarPicker.d.ts +10 -2
- package/lib/typescript/commonjs/ui/hooks/useAvatarPicker.d.ts.map +1 -1
- package/lib/typescript/commonjs/ui/hooks/useFileDownloadUrl.d.ts +2 -6
- package/lib/typescript/commonjs/ui/hooks/useFileDownloadUrl.d.ts.map +1 -1
- package/lib/typescript/commonjs/ui/hooks/useMutationStatus.d.ts +23 -0
- package/lib/typescript/commonjs/ui/hooks/useMutationStatus.d.ts.map +1 -0
- package/lib/typescript/commonjs/ui/hooks/useOnlineStatus.d.ts +13 -0
- package/lib/typescript/commonjs/ui/hooks/useOnlineStatus.d.ts.map +1 -0
- package/lib/typescript/commonjs/ui/hooks/useSessionSocket.d.ts +1 -2
- package/lib/typescript/commonjs/ui/hooks/useSessionSocket.d.ts.map +1 -1
- package/lib/typescript/commonjs/ui/index.d.ts +1 -4
- package/lib/typescript/commonjs/ui/index.d.ts.map +1 -1
- package/lib/typescript/commonjs/ui/navigation/routes.d.ts +48 -2
- package/lib/typescript/commonjs/ui/navigation/routes.d.ts.map +1 -1
- package/lib/typescript/commonjs/ui/screens/AccountCenterScreen.d.ts.map +1 -1
- package/lib/typescript/commonjs/ui/screens/AccountOverviewScreen.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.map +1 -1
- package/lib/typescript/commonjs/ui/screens/AppInfoScreen.d.ts.map +1 -1
- package/lib/typescript/commonjs/ui/screens/AvatarCropScreen.d.ts +49 -0
- package/lib/typescript/commonjs/ui/screens/AvatarCropScreen.d.ts.map +1 -0
- package/lib/typescript/commonjs/ui/screens/CreateManagedAccountScreen.d.ts.map +1 -1
- package/lib/typescript/commonjs/ui/screens/EditProfileFieldScreen.d.ts.map +1 -1
- package/lib/typescript/commonjs/ui/screens/FeedbackScreen.d.ts.map +1 -1
- package/lib/typescript/commonjs/ui/screens/FileManagementScreen.d.ts.map +1 -1
- package/lib/typescript/commonjs/ui/screens/HelpSupportScreen.d.ts.map +1 -1
- package/lib/typescript/commonjs/ui/screens/HistoryViewScreen.d.ts.map +1 -1
- package/lib/typescript/commonjs/ui/screens/LanguageSelectorScreen.d.ts.map +1 -1
- package/lib/typescript/commonjs/ui/screens/PremiumSubscriptionScreen.d.ts.map +1 -1
- package/lib/typescript/commonjs/ui/screens/PrivacySettingsScreen.d.ts.map +1 -1
- package/lib/typescript/commonjs/ui/screens/ProfileScreen.d.ts.map +1 -1
- package/lib/typescript/commonjs/ui/screens/SessionManagementScreen.d.ts.map +1 -1
- package/lib/typescript/commonjs/ui/screens/UserLinksScreen.d.ts.map +1 -1
- package/lib/typescript/commonjs/ui/screens/UserListScreen.d.ts.map +1 -1
- package/lib/typescript/commonjs/ui/screens/WelcomeNewUserScreen.d.ts.map +1 -1
- package/lib/typescript/commonjs/ui/screens/karma/KarmaAboutScreen.d.ts.map +1 -1
- package/lib/typescript/commonjs/ui/screens/karma/KarmaCenterScreen.d.ts.map +1 -1
- package/lib/typescript/commonjs/ui/screens/karma/KarmaLeaderboardScreen.d.ts.map +1 -1
- package/lib/typescript/commonjs/ui/screens/karma/KarmaRewardsScreen.d.ts.map +1 -1
- package/lib/typescript/commonjs/ui/screens/karma/KarmaRulesScreen.d.ts.map +1 -1
- package/lib/typescript/commonjs/ui/server.d.ts +0 -2
- package/lib/typescript/commonjs/ui/server.d.ts.map +1 -1
- package/lib/typescript/commonjs/ui/styles/authStyles.d.ts +0 -4
- package/lib/typescript/commonjs/ui/styles/authStyles.d.ts.map +1 -1
- package/lib/typescript/commonjs/ui/styles/index.d.ts +0 -1
- package/lib/typescript/commonjs/ui/styles/index.d.ts.map +1 -1
- package/lib/typescript/commonjs/ui/styles/spacing.d.ts +0 -36
- package/lib/typescript/commonjs/ui/styles/spacing.d.ts.map +1 -1
- package/lib/typescript/commonjs/ui/styles/theme.d.ts +0 -1
- package/lib/typescript/commonjs/ui/styles/theme.d.ts.map +1 -1
- package/lib/typescript/commonjs/ui/utils/fileManagement.d.ts +39 -12
- package/lib/typescript/commonjs/ui/utils/fileManagement.d.ts.map +1 -1
- package/lib/typescript/commonjs/ui/utils/sessionHelpers.d.ts +3 -1
- package/lib/typescript/commonjs/ui/utils/sessionHelpers.d.ts.map +1 -1
- package/lib/typescript/commonjs/ui/utils/userUtils.d.ts +19 -18
- package/lib/typescript/commonjs/ui/utils/userUtils.d.ts.map +1 -1
- package/lib/typescript/module/index.d.ts +7 -3
- package/lib/typescript/module/index.d.ts.map +1 -1
- package/lib/typescript/module/ui/client.d.ts +0 -2
- package/lib/typescript/module/ui/client.d.ts.map +1 -1
- package/lib/typescript/module/ui/components/ActingAsBanner.d.ts.map +1 -1
- package/lib/typescript/module/ui/components/Avatar.d.ts.map +1 -1
- package/lib/typescript/module/ui/components/BottomSheet.d.ts +27 -27
- package/lib/typescript/module/ui/components/BottomSheet.d.ts.map +1 -1
- package/lib/typescript/module/ui/components/BottomSheetRouter.d.ts.map +1 -1
- package/lib/typescript/module/ui/components/FollowButton.d.ts.map +1 -1
- package/lib/typescript/module/ui/components/Header.d.ts.map +1 -1
- package/lib/typescript/module/ui/components/Icon.d.ts +3 -2
- package/lib/typescript/module/ui/components/Icon.d.ts.map +1 -1
- package/lib/typescript/module/ui/components/IconButton/IconButton.d.ts.map +1 -1
- package/lib/typescript/module/ui/components/OxyPayButton.d.ts.map +1 -1
- package/lib/typescript/module/ui/components/OxyProvider.d.ts.map +1 -1
- package/lib/typescript/module/ui/components/OxySignInButton.d.ts.map +1 -1
- package/lib/typescript/module/ui/components/ProfileCard.d.ts +4 -1
- package/lib/typescript/module/ui/components/ProfileCard.d.ts.map +1 -1
- package/lib/typescript/module/ui/components/SignInModal.d.ts.map +1 -1
- package/lib/typescript/module/ui/components/StepBasedScreen.d.ts.map +1 -1
- package/lib/typescript/module/ui/components/TextField/Addons/Outline.d.ts +2 -2
- package/lib/typescript/module/ui/components/TextField/helpers.d.ts +2 -2
- package/lib/typescript/module/ui/components/TextField/types.d.ts +0 -1
- package/lib/typescript/module/ui/components/TextField/types.d.ts.map +1 -1
- package/lib/typescript/module/ui/components/TextField.d.ts +1 -1
- package/lib/typescript/module/ui/components/TextField.d.ts.map +1 -1
- package/lib/typescript/module/ui/components/feedback/feedbackStyles.d.ts +0 -1
- package/lib/typescript/module/ui/components/feedback/feedbackStyles.d.ts.map +1 -1
- package/lib/typescript/module/ui/components/fileManagement/AnimatedButton.d.ts.map +1 -1
- package/lib/typescript/module/ui/components/fileManagement/FileDetailsModal.d.ts +1 -1
- package/lib/typescript/module/ui/components/fileManagement/FileDetailsModal.d.ts.map +1 -1
- package/lib/typescript/module/ui/components/fileManagement/FileViewer.d.ts +0 -2
- package/lib/typescript/module/ui/components/fileManagement/FileViewer.d.ts.map +1 -1
- package/lib/typescript/module/ui/components/fileManagement/UploadPreview.d.ts +3 -2
- package/lib/typescript/module/ui/components/fileManagement/UploadPreview.d.ts.map +1 -1
- package/lib/typescript/module/ui/components/fileManagement/styles.d.ts +200 -17
- package/lib/typescript/module/ui/components/fileManagement/styles.d.ts.map +1 -1
- package/lib/typescript/module/ui/components/logo/LogoIcon.d.ts +22 -0
- package/lib/typescript/module/ui/components/logo/LogoIcon.d.ts.map +1 -0
- package/lib/typescript/module/ui/components/logo/LogoText.d.ts +22 -0
- package/lib/typescript/module/ui/components/logo/LogoText.d.ts.map +1 -0
- package/lib/typescript/module/ui/components/modals/DeleteAccountModal.d.ts +2 -2
- package/lib/typescript/module/ui/components/modals/DeleteAccountModal.d.ts.map +1 -1
- package/lib/typescript/module/ui/components/payment/paymentStyles.d.ts +0 -7
- package/lib/typescript/module/ui/components/payment/paymentStyles.d.ts.map +1 -1
- package/lib/typescript/module/ui/components/styles/overlay.d.ts +3 -1
- package/lib/typescript/module/ui/components/styles/overlay.d.ts.map +1 -1
- package/lib/typescript/module/ui/components/theming.d.ts.map +1 -1
- package/lib/typescript/module/ui/components/types.d.ts.map +1 -1
- package/lib/typescript/module/ui/context/OxyContext.d.ts.map +1 -1
- package/lib/typescript/module/ui/context/hooks/useAuthOperations.d.ts.map +1 -1
- package/lib/typescript/module/ui/hooks/index.d.ts +5 -3
- package/lib/typescript/module/ui/hooks/index.d.ts.map +1 -1
- package/lib/typescript/module/ui/hooks/mutations/mutationFactory.d.ts +11 -0
- package/lib/typescript/module/ui/hooks/mutations/mutationFactory.d.ts.map +1 -1
- package/lib/typescript/module/ui/hooks/mutations/mutationKeys.d.ts +25 -0
- package/lib/typescript/module/ui/hooks/mutations/mutationKeys.d.ts.map +1 -0
- package/lib/typescript/module/ui/hooks/mutations/useAccountMutations.d.ts +161 -9
- package/lib/typescript/module/ui/hooks/mutations/useAccountMutations.d.ts.map +1 -1
- package/lib/typescript/module/ui/hooks/mutations/useServicesMutations.d.ts.map +1 -1
- package/lib/typescript/module/ui/hooks/queries/index.d.ts +1 -1
- package/lib/typescript/module/ui/hooks/queries/index.d.ts.map +1 -1
- package/lib/typescript/module/ui/hooks/queries/queryKeys.d.ts +1 -0
- package/lib/typescript/module/ui/hooks/queries/queryKeys.d.ts.map +1 -1
- package/lib/typescript/module/ui/hooks/queries/useAccountQueries.d.ts +22 -8
- package/lib/typescript/module/ui/hooks/queries/useAccountQueries.d.ts.map +1 -1
- package/lib/typescript/module/ui/hooks/queries/useSecurityQueries.d.ts +13 -3
- package/lib/typescript/module/ui/hooks/queries/useSecurityQueries.d.ts.map +1 -1
- package/lib/typescript/module/ui/hooks/queries/useServicesQueries.d.ts +7 -5
- package/lib/typescript/module/ui/hooks/queries/useServicesQueries.d.ts.map +1 -1
- package/lib/typescript/module/ui/hooks/queryClient.d.ts +57 -9
- package/lib/typescript/module/ui/hooks/queryClient.d.ts.map +1 -1
- package/lib/typescript/module/ui/hooks/useAssets.d.ts +1 -1
- package/lib/typescript/module/ui/hooks/useAuth.d.ts +0 -1
- package/lib/typescript/module/ui/hooks/useAuth.d.ts.map +1 -1
- package/lib/typescript/module/ui/hooks/useAvatarPicker.d.ts +10 -2
- package/lib/typescript/module/ui/hooks/useAvatarPicker.d.ts.map +1 -1
- package/lib/typescript/module/ui/hooks/useFileDownloadUrl.d.ts +2 -6
- package/lib/typescript/module/ui/hooks/useFileDownloadUrl.d.ts.map +1 -1
- package/lib/typescript/module/ui/hooks/useMutationStatus.d.ts +23 -0
- package/lib/typescript/module/ui/hooks/useMutationStatus.d.ts.map +1 -0
- package/lib/typescript/module/ui/hooks/useOnlineStatus.d.ts +13 -0
- package/lib/typescript/module/ui/hooks/useOnlineStatus.d.ts.map +1 -0
- package/lib/typescript/module/ui/hooks/useSessionSocket.d.ts +1 -2
- package/lib/typescript/module/ui/hooks/useSessionSocket.d.ts.map +1 -1
- package/lib/typescript/module/ui/index.d.ts +1 -4
- package/lib/typescript/module/ui/index.d.ts.map +1 -1
- package/lib/typescript/module/ui/navigation/routes.d.ts +48 -2
- package/lib/typescript/module/ui/navigation/routes.d.ts.map +1 -1
- package/lib/typescript/module/ui/screens/AccountCenterScreen.d.ts.map +1 -1
- package/lib/typescript/module/ui/screens/AccountOverviewScreen.d.ts.map +1 -1
- package/lib/typescript/module/ui/screens/AccountSettingsScreen.d.ts.map +1 -1
- package/lib/typescript/module/ui/screens/AccountSwitcherScreen.d.ts.map +1 -1
- package/lib/typescript/module/ui/screens/AppInfoScreen.d.ts.map +1 -1
- package/lib/typescript/module/ui/screens/AvatarCropScreen.d.ts +49 -0
- package/lib/typescript/module/ui/screens/AvatarCropScreen.d.ts.map +1 -0
- package/lib/typescript/module/ui/screens/CreateManagedAccountScreen.d.ts.map +1 -1
- package/lib/typescript/module/ui/screens/EditProfileFieldScreen.d.ts.map +1 -1
- package/lib/typescript/module/ui/screens/FeedbackScreen.d.ts.map +1 -1
- package/lib/typescript/module/ui/screens/FileManagementScreen.d.ts.map +1 -1
- package/lib/typescript/module/ui/screens/HelpSupportScreen.d.ts.map +1 -1
- package/lib/typescript/module/ui/screens/HistoryViewScreen.d.ts.map +1 -1
- package/lib/typescript/module/ui/screens/LanguageSelectorScreen.d.ts.map +1 -1
- package/lib/typescript/module/ui/screens/PremiumSubscriptionScreen.d.ts.map +1 -1
- package/lib/typescript/module/ui/screens/PrivacySettingsScreen.d.ts.map +1 -1
- package/lib/typescript/module/ui/screens/ProfileScreen.d.ts.map +1 -1
- package/lib/typescript/module/ui/screens/SessionManagementScreen.d.ts.map +1 -1
- package/lib/typescript/module/ui/screens/UserLinksScreen.d.ts.map +1 -1
- package/lib/typescript/module/ui/screens/UserListScreen.d.ts.map +1 -1
- package/lib/typescript/module/ui/screens/WelcomeNewUserScreen.d.ts.map +1 -1
- package/lib/typescript/module/ui/screens/karma/KarmaAboutScreen.d.ts.map +1 -1
- package/lib/typescript/module/ui/screens/karma/KarmaCenterScreen.d.ts.map +1 -1
- package/lib/typescript/module/ui/screens/karma/KarmaLeaderboardScreen.d.ts.map +1 -1
- package/lib/typescript/module/ui/screens/karma/KarmaRewardsScreen.d.ts.map +1 -1
- package/lib/typescript/module/ui/screens/karma/KarmaRulesScreen.d.ts.map +1 -1
- package/lib/typescript/module/ui/server.d.ts +0 -2
- package/lib/typescript/module/ui/server.d.ts.map +1 -1
- package/lib/typescript/module/ui/styles/authStyles.d.ts +0 -4
- package/lib/typescript/module/ui/styles/authStyles.d.ts.map +1 -1
- package/lib/typescript/module/ui/styles/index.d.ts +0 -1
- package/lib/typescript/module/ui/styles/index.d.ts.map +1 -1
- package/lib/typescript/module/ui/styles/spacing.d.ts +0 -36
- package/lib/typescript/module/ui/styles/spacing.d.ts.map +1 -1
- package/lib/typescript/module/ui/styles/theme.d.ts +0 -1
- package/lib/typescript/module/ui/styles/theme.d.ts.map +1 -1
- package/lib/typescript/module/ui/utils/fileManagement.d.ts +39 -12
- package/lib/typescript/module/ui/utils/fileManagement.d.ts.map +1 -1
- package/lib/typescript/module/ui/utils/sessionHelpers.d.ts +3 -1
- package/lib/typescript/module/ui/utils/sessionHelpers.d.ts.map +1 -1
- package/lib/typescript/module/ui/utils/userUtils.d.ts +19 -18
- package/lib/typescript/module/ui/utils/userUtils.d.ts.map +1 -1
- package/lib/typescript/types/expo-vector-icons.d.ts +7 -4
- package/package.json +64 -31
- package/src/index.ts +11 -4
- package/src/types/expo-vector-icons.d.ts +7 -4
- package/src/ui/client.ts +0 -6
- package/src/ui/components/ActingAsBanner.tsx +0 -4
- package/src/ui/components/ActivityIndicator.tsx +1 -1
- package/src/ui/components/Avatar.tsx +0 -2
- package/src/ui/components/BottomSheet.tsx +41 -440
- package/src/ui/components/BottomSheetRouter.tsx +12 -1
- package/src/ui/components/FollowButton.tsx +2 -4
- package/src/ui/components/Header.tsx +0 -5
- package/src/ui/components/Icon.tsx +12 -6
- package/src/ui/components/IconButton/IconButton.tsx +0 -3
- package/src/ui/components/OxyPayButton.tsx +0 -2
- package/src/ui/components/OxyProvider.tsx +127 -48
- package/src/ui/components/OxySignInButton.tsx +21 -9
- package/src/ui/components/ProfileCard.tsx +13 -10
- package/src/ui/components/QuickActions.tsx +2 -2
- package/src/ui/components/SignInModal.tsx +80 -199
- package/src/ui/components/StepBasedScreen.tsx +0 -2
- package/src/ui/components/TextField/Addons/Outline.tsx +2 -2
- package/src/ui/components/TextField/helpers.tsx +2 -2
- package/src/ui/components/TextField/types.tsx +0 -1
- package/src/ui/components/TextField.tsx +1 -2
- package/src/ui/components/TouchableRipple/TouchableRipple.native.tsx +1 -1
- package/src/ui/components/feedback/feedbackStyles.ts +0 -2
- package/src/ui/components/fileManagement/AnimatedButton.tsx +0 -1
- package/src/ui/components/fileManagement/FileDetailsModal.tsx +71 -65
- package/src/ui/components/fileManagement/FileViewer.tsx +6 -9
- package/src/ui/components/fileManagement/UploadPreview.tsx +21 -25
- package/src/ui/components/fileManagement/styles.ts +206 -18
- package/src/ui/components/logo/LogoIcon.tsx +70 -0
- package/src/ui/components/logo/LogoText.tsx +70 -0
- package/src/ui/components/modals/DeleteAccountModal.tsx +56 -91
- package/src/ui/components/payment/PaymentDetailsStep.tsx +1 -1
- package/src/ui/components/payment/PaymentReviewStep.tsx +1 -1
- package/src/ui/components/payment/PaymentSuccessStep.tsx +1 -1
- package/src/ui/components/payment/paymentStyles.ts +0 -8
- package/src/ui/components/styles/overlay.tsx +17 -8
- package/src/ui/components/theming.tsx +0 -1
- package/src/ui/components/types.tsx +3 -2
- package/src/ui/context/OxyContext.tsx +34 -19
- package/src/ui/context/hooks/useAuthOperations.ts +1 -3
- package/src/ui/hooks/index.ts +11 -4
- package/src/ui/hooks/mutations/mutationFactory.ts +16 -1
- package/src/ui/hooks/mutations/mutationKeys.ts +28 -0
- package/src/ui/hooks/mutations/useAccountMutations.ts +251 -59
- package/src/ui/hooks/mutations/useServicesMutations.ts +10 -4
- package/src/ui/hooks/queries/index.ts +1 -0
- package/src/ui/hooks/queries/queryKeys.ts +2 -0
- package/src/ui/hooks/queries/useAccountQueries.ts +83 -3
- package/src/ui/hooks/queries/useSecurityQueries.ts +42 -2
- package/src/ui/hooks/queryClient.ts +194 -69
- package/src/ui/hooks/useAsyncAction.ts +3 -3
- package/src/ui/hooks/useAuth.ts +0 -2
- package/src/ui/hooks/useAvatarPicker.ts +108 -27
- package/src/ui/hooks/useFileDownloadUrl.ts +15 -39
- package/src/ui/hooks/useMutationStatus.ts +111 -0
- package/src/ui/hooks/useOnlineStatus.ts +29 -0
- package/src/ui/hooks/useSessionSocket.ts +136 -126
- package/src/ui/hooks/useSettingToggle.ts +1 -1
- package/src/ui/index.ts +0 -12
- package/src/ui/navigation/routes.ts +93 -2
- package/src/ui/screens/AccountCenterScreen.tsx +15 -13
- package/src/ui/screens/AccountOverviewScreen.tsx +94 -104
- package/src/ui/screens/AccountSettingsScreen.tsx +18 -17
- package/src/ui/screens/AccountSwitcherScreen.tsx +331 -298
- package/src/ui/screens/AccountVerificationScreen.tsx +15 -15
- package/src/ui/screens/AppInfoScreen.tsx +8 -13
- package/src/ui/screens/AvatarCropScreen.tsx +1073 -0
- package/src/ui/screens/CreateManagedAccountScreen.tsx +5 -16
- package/src/ui/screens/EditProfileFieldScreen.tsx +5 -10
- package/src/ui/screens/FAQScreen.tsx +3 -3
- package/src/ui/screens/FeedbackScreen.tsx +14 -12
- package/src/ui/screens/FileManagementScreen.tsx +885 -124
- package/src/ui/screens/HelpSupportScreen.tsx +2 -3
- package/src/ui/screens/HistoryViewScreen.tsx +24 -9
- package/src/ui/screens/LanguageSelectorScreen.tsx +1 -3
- package/src/ui/screens/LegalDocumentsScreen.tsx +3 -3
- package/src/ui/screens/PaymentGatewayScreen.tsx +2 -2
- package/src/ui/screens/PremiumSubscriptionScreen.tsx +51 -56
- package/src/ui/screens/PrivacySettingsScreen.tsx +22 -20
- package/src/ui/screens/ProfileScreen.tsx +1 -2
- package/src/ui/screens/SavesCollectionsScreen.tsx +2 -2
- package/src/ui/screens/SessionManagementScreen.tsx +35 -47
- package/src/ui/screens/UserLinksScreen.tsx +1 -2
- package/src/ui/screens/UserListScreen.tsx +30 -19
- package/src/ui/screens/WelcomeNewUserScreen.tsx +14 -18
- package/src/ui/screens/karma/KarmaAboutScreen.tsx +0 -3
- package/src/ui/screens/karma/KarmaCenterScreen.tsx +4 -8
- package/src/ui/screens/karma/KarmaFAQScreen.tsx +1 -1
- package/src/ui/screens/karma/KarmaLeaderboardScreen.tsx +3 -4
- package/src/ui/screens/karma/KarmaRewardsScreen.tsx +13 -18
- package/src/ui/screens/karma/KarmaRulesScreen.tsx +3 -4
- package/src/ui/server.ts +0 -4
- package/src/ui/styles/authStyles.ts +0 -5
- package/src/ui/styles/index.ts +0 -1
- package/src/ui/styles/spacing.ts +0 -43
- package/src/ui/styles/theme.ts +0 -4
- package/src/ui/utils/fileManagement.ts +66 -38
- package/src/ui/utils/sessionHelpers.ts +3 -1
- package/src/ui/utils/userUtils.ts +45 -29
- package/lib/commonjs/lib/sonner-safe.js +0 -32
- package/lib/commonjs/lib/sonner-safe.js.map +0 -1
- package/lib/commonjs/lib/sonner.js +0 -19
- package/lib/commonjs/lib/sonner.js.map +0 -1
- package/lib/commonjs/lib/sonner.native.js +0 -24
- package/lib/commonjs/lib/sonner.native.js.map +0 -1
- package/lib/commonjs/lib/sonner.web.js +0 -24
- package/lib/commonjs/lib/sonner.web.js.map +0 -1
- package/lib/commonjs/ui/hooks/useThemeColors.js +0 -33
- package/lib/commonjs/ui/hooks/useThemeColors.js.map +0 -1
- package/lib/commonjs/ui/hooks/useThemeStyles.js +0 -38
- package/lib/commonjs/ui/hooks/useThemeStyles.js.map +0 -1
- package/lib/commonjs/ui/styles/fonts.js +0 -84
- package/lib/commonjs/ui/styles/fonts.js.map +0 -1
- package/lib/module/lib/sonner-safe.js +0 -29
- package/lib/module/lib/sonner-safe.js.map +0 -1
- package/lib/module/lib/sonner.js +0 -14
- package/lib/module/lib/sonner.js.map +0 -1
- package/lib/module/lib/sonner.native.js +0 -19
- package/lib/module/lib/sonner.native.js.map +0 -1
- package/lib/module/lib/sonner.web.js +0 -19
- package/lib/module/lib/sonner.web.js.map +0 -1
- package/lib/module/ui/hooks/useThemeColors.js +0 -29
- package/lib/module/ui/hooks/useThemeColors.js.map +0 -1
- package/lib/module/ui/hooks/useThemeStyles.js +0 -33
- package/lib/module/ui/hooks/useThemeStyles.js.map +0 -1
- package/lib/module/ui/styles/fonts.js +0 -81
- package/lib/module/ui/styles/fonts.js.map +0 -1
- package/lib/typescript/commonjs/lib/sonner-safe.d.ts +0 -9
- package/lib/typescript/commonjs/lib/sonner-safe.d.ts.map +0 -1
- package/lib/typescript/commonjs/lib/sonner.d.ts +0 -12
- package/lib/typescript/commonjs/lib/sonner.d.ts.map +0 -1
- package/lib/typescript/commonjs/lib/sonner.native.d.ts +0 -15
- package/lib/typescript/commonjs/lib/sonner.native.d.ts.map +0 -1
- package/lib/typescript/commonjs/lib/sonner.web.d.ts +0 -15
- package/lib/typescript/commonjs/lib/sonner.web.d.ts.map +0 -1
- package/lib/typescript/commonjs/ui/hooks/useThemeColors.d.ts +0 -87
- package/lib/typescript/commonjs/ui/hooks/useThemeColors.d.ts.map +0 -1
- package/lib/typescript/commonjs/ui/hooks/useThemeStyles.d.ts +0 -22
- package/lib/typescript/commonjs/ui/hooks/useThemeStyles.d.ts.map +0 -1
- package/lib/typescript/commonjs/ui/styles/fonts.d.ts +0 -21
- package/lib/typescript/commonjs/ui/styles/fonts.d.ts.map +0 -1
- package/lib/typescript/module/lib/sonner-safe.d.ts +0 -9
- package/lib/typescript/module/lib/sonner-safe.d.ts.map +0 -1
- package/lib/typescript/module/lib/sonner.d.ts +0 -12
- package/lib/typescript/module/lib/sonner.d.ts.map +0 -1
- package/lib/typescript/module/lib/sonner.native.d.ts +0 -15
- package/lib/typescript/module/lib/sonner.native.d.ts.map +0 -1
- package/lib/typescript/module/lib/sonner.web.d.ts +0 -15
- package/lib/typescript/module/lib/sonner.web.d.ts.map +0 -1
- package/lib/typescript/module/ui/hooks/useThemeColors.d.ts +0 -87
- package/lib/typescript/module/ui/hooks/useThemeColors.d.ts.map +0 -1
- package/lib/typescript/module/ui/hooks/useThemeStyles.d.ts +0 -22
- package/lib/typescript/module/ui/hooks/useThemeStyles.d.ts.map +0 -1
- package/lib/typescript/module/ui/styles/fonts.d.ts +0 -21
- package/lib/typescript/module/ui/styles/fonts.d.ts.map +0 -1
- package/src/lib/sonner-safe.ts +0 -31
- package/src/lib/sonner.native.ts +0 -28
- package/src/lib/sonner.ts +0 -11
- package/src/lib/sonner.web.ts +0 -28
- package/src/ui/hooks/useThemeColors.ts +0 -27
- package/src/ui/hooks/useThemeStyles.ts +0 -50
- package/src/ui/styles/fonts.ts +0 -77
|
@@ -3,16 +3,34 @@
|
|
|
3
3
|
Object.defineProperty(exports, "__esModule", {
|
|
4
4
|
value: true
|
|
5
5
|
});
|
|
6
|
+
Object.defineProperty(exports, "attachQueryPersistence", {
|
|
7
|
+
enumerable: true,
|
|
8
|
+
get: function () {
|
|
9
|
+
return _queryClient.attachQueryPersistence;
|
|
10
|
+
}
|
|
11
|
+
});
|
|
12
|
+
Object.defineProperty(exports, "clearQueryCache", {
|
|
13
|
+
enumerable: true,
|
|
14
|
+
get: function () {
|
|
15
|
+
return _queryClient.clearQueryCache;
|
|
16
|
+
}
|
|
17
|
+
});
|
|
18
|
+
Object.defineProperty(exports, "createQueryClient", {
|
|
19
|
+
enumerable: true,
|
|
20
|
+
get: function () {
|
|
21
|
+
return _queryClient.createQueryClient;
|
|
22
|
+
}
|
|
23
|
+
});
|
|
6
24
|
Object.defineProperty(exports, "executeWithToast", {
|
|
7
25
|
enumerable: true,
|
|
8
26
|
get: function () {
|
|
9
27
|
return _useAsyncAction.executeWithToast;
|
|
10
28
|
}
|
|
11
29
|
});
|
|
12
|
-
Object.defineProperty(exports, "
|
|
30
|
+
Object.defineProperty(exports, "mutationKeys", {
|
|
13
31
|
enumerable: true,
|
|
14
32
|
get: function () {
|
|
15
|
-
return
|
|
33
|
+
return _mutationKeys.mutationKeys;
|
|
16
34
|
}
|
|
17
35
|
});
|
|
18
36
|
Object.defineProperty(exports, "useAsyncAction", {
|
|
@@ -39,34 +57,36 @@ Object.defineProperty(exports, "useFollowerCounts", {
|
|
|
39
57
|
return _useFollow.useFollowerCounts;
|
|
40
58
|
}
|
|
41
59
|
});
|
|
42
|
-
Object.defineProperty(exports, "
|
|
60
|
+
Object.defineProperty(exports, "useMutationStatus", {
|
|
43
61
|
enumerable: true,
|
|
44
62
|
get: function () {
|
|
45
|
-
return
|
|
63
|
+
return _useMutationStatus.useMutationStatus;
|
|
46
64
|
}
|
|
47
65
|
});
|
|
48
|
-
Object.defineProperty(exports, "
|
|
66
|
+
Object.defineProperty(exports, "useOnlineStatus", {
|
|
49
67
|
enumerable: true,
|
|
50
68
|
get: function () {
|
|
51
|
-
return
|
|
69
|
+
return _useOnlineStatus.useOnlineStatus;
|
|
52
70
|
}
|
|
53
71
|
});
|
|
54
|
-
Object.defineProperty(exports, "
|
|
72
|
+
Object.defineProperty(exports, "useSettingToggle", {
|
|
55
73
|
enumerable: true,
|
|
56
74
|
get: function () {
|
|
57
|
-
return
|
|
75
|
+
return _useSettingToggle.useSettingToggle;
|
|
58
76
|
}
|
|
59
77
|
});
|
|
60
|
-
Object.defineProperty(exports, "
|
|
78
|
+
Object.defineProperty(exports, "useSettingToggles", {
|
|
61
79
|
enumerable: true,
|
|
62
80
|
get: function () {
|
|
63
|
-
return
|
|
81
|
+
return _useSettingToggle.useSettingToggles;
|
|
64
82
|
}
|
|
65
83
|
});
|
|
66
84
|
var _useFollow = require("./useFollow.js");
|
|
67
85
|
var _useFileDownloadUrl = require("./useFileDownloadUrl.js");
|
|
68
|
-
var _useThemeStyles = require("./useThemeStyles.js");
|
|
69
|
-
var _useThemeColors = require("./useThemeColors.js");
|
|
70
86
|
var _useAsyncAction = require("./useAsyncAction.js");
|
|
71
87
|
var _useSettingToggle = require("./useSettingToggle.js");
|
|
88
|
+
var _useMutationStatus = require("./useMutationStatus.js");
|
|
89
|
+
var _useOnlineStatus = require("./useOnlineStatus.js");
|
|
90
|
+
var _mutationKeys = require("./mutations/mutationKeys.js");
|
|
91
|
+
var _queryClient = require("./queryClient.js");
|
|
72
92
|
//# sourceMappingURL=index.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"names":["_useFollow","require","_useFileDownloadUrl","
|
|
1
|
+
{"version":3,"names":["_useFollow","require","_useFileDownloadUrl","_useAsyncAction","_useSettingToggle","_useMutationStatus","_useOnlineStatus","_mutationKeys","_queryClient"],"sourceRoot":"../../../../src","sources":["ui/hooks/index.ts"],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAAA,IAAAA,UAAA,GAAAC,OAAA;AACA,IAAAC,mBAAA,GAAAD,OAAA;AACA,IAAAE,eAAA,GAAAF,OAAA;AACA,IAAAG,iBAAA,GAAAH,OAAA;AACA,IAAAI,kBAAA,GAAAJ,OAAA;AACA,IAAAK,gBAAA,GAAAL,OAAA;AACA,IAAAM,aAAA,GAAAN,OAAA;AACA,IAAAO,YAAA,GAAAP,OAAA","ignoreList":[]}
|
|
@@ -6,7 +6,7 @@ Object.defineProperty(exports, "__esModule", {
|
|
|
6
6
|
exports.createGenericMutation = createGenericMutation;
|
|
7
7
|
exports.createProfileMutation = createProfileMutation;
|
|
8
8
|
var _queryKeys = require("../queries/queryKeys.js");
|
|
9
|
-
var
|
|
9
|
+
var _bloom = require("@oxyhq/bloom");
|
|
10
10
|
var _authStore = require("../../stores/authStore.js");
|
|
11
11
|
/**
|
|
12
12
|
* Mutation Factory - Creates standardized mutations with optimistic updates
|
|
@@ -29,6 +29,7 @@ var _authStore = require("../../stores/authStore.js");
|
|
|
29
29
|
* @example
|
|
30
30
|
* ```ts
|
|
31
31
|
* const updateProfile = createProfileMutation({
|
|
32
|
+
* mutationKey: mutationKeys.account.updateProfile,
|
|
32
33
|
* mutationFn: (updates) => oxyServices.updateProfile(updates),
|
|
33
34
|
* optimisticUpdate: (user, updates) => updates,
|
|
34
35
|
* errorMessage: 'Failed to update profile',
|
|
@@ -38,6 +39,7 @@ var _authStore = require("../../stores/authStore.js");
|
|
|
38
39
|
function createProfileMutation(config, queryClient, activeSessionId) {
|
|
39
40
|
const {
|
|
40
41
|
mutationFn,
|
|
42
|
+
mutationKey,
|
|
41
43
|
cancelQueryKeys = [],
|
|
42
44
|
optimisticUpdate,
|
|
43
45
|
errorMessage = 'Operation failed',
|
|
@@ -48,6 +50,7 @@ function createProfileMutation(config, queryClient, activeSessionId) {
|
|
|
48
50
|
onSuccess: customOnSuccess
|
|
49
51
|
} = config;
|
|
50
52
|
return {
|
|
53
|
+
mutationKey: [...mutationKey],
|
|
51
54
|
mutationFn,
|
|
52
55
|
onMutate: async variables => {
|
|
53
56
|
// Cancel queries that might conflict
|
|
@@ -90,7 +93,7 @@ function createProfileMutation(config, queryClient, activeSessionId) {
|
|
|
90
93
|
|
|
91
94
|
// Show error toast
|
|
92
95
|
const message = typeof errorMessage === 'function' ? errorMessage(error) : error instanceof Error ? error.message : errorMessage;
|
|
93
|
-
|
|
96
|
+
_bloom.toast.error(message);
|
|
94
97
|
},
|
|
95
98
|
onSuccess: (data, variables) => {
|
|
96
99
|
// Update cache with server response
|
|
@@ -114,7 +117,7 @@ function createProfileMutation(config, queryClient, activeSessionId) {
|
|
|
114
117
|
|
|
115
118
|
// Show success toast if configured
|
|
116
119
|
if (successMessage) {
|
|
117
|
-
|
|
120
|
+
_bloom.toast.success(successMessage);
|
|
118
121
|
}
|
|
119
122
|
|
|
120
123
|
// Call custom onSuccess handler
|
|
@@ -135,6 +138,7 @@ function createProfileMutation(config, queryClient, activeSessionId) {
|
|
|
135
138
|
function createGenericMutation(config, queryClient) {
|
|
136
139
|
const {
|
|
137
140
|
mutationFn,
|
|
141
|
+
mutationKey,
|
|
138
142
|
queryKey,
|
|
139
143
|
optimisticData,
|
|
140
144
|
errorMessage = 'Operation failed',
|
|
@@ -142,6 +146,7 @@ function createGenericMutation(config, queryClient) {
|
|
|
142
146
|
invalidateQueries = []
|
|
143
147
|
} = config;
|
|
144
148
|
return {
|
|
149
|
+
mutationKey: [...mutationKey],
|
|
145
150
|
mutationFn,
|
|
146
151
|
onMutate: async variables => {
|
|
147
152
|
await queryClient.cancelQueries({
|
|
@@ -159,7 +164,7 @@ function createGenericMutation(config, queryClient) {
|
|
|
159
164
|
if (context?.previous !== undefined) {
|
|
160
165
|
queryClient.setQueryData(queryKey, context.previous);
|
|
161
166
|
}
|
|
162
|
-
|
|
167
|
+
_bloom.toast.error(error instanceof Error ? error.message : errorMessage);
|
|
163
168
|
},
|
|
164
169
|
onSuccess: data => {
|
|
165
170
|
queryClient.setQueryData(queryKey, data);
|
|
@@ -169,7 +174,7 @@ function createGenericMutation(config, queryClient) {
|
|
|
169
174
|
});
|
|
170
175
|
}
|
|
171
176
|
if (successMessage) {
|
|
172
|
-
|
|
177
|
+
_bloom.toast.success(successMessage);
|
|
173
178
|
}
|
|
174
179
|
}
|
|
175
180
|
};
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"names":["_queryKeys","require","
|
|
1
|
+
{"version":3,"names":["_queryKeys","require","_bloom","_authStore","createProfileMutation","config","queryClient","activeSessionId","mutationFn","mutationKey","cancelQueryKeys","optimisticUpdate","errorMessage","successMessage","updateAuthStore","invalidateUserQueries","shouldInvalidateUserQueries","invalidateAccountQueries","shouldInvalidateAccountQueries","onSuccess","customOnSuccess","onMutate","variables","cancelQueries","queryKey","queryKeys","accounts","current","key","previousUser","getQueryData","updates","optimisticUser","setQueryData","users","profile","onError","error","_variables","context","message","Error","toast","data","useAuthStore","getState","setUser","success","createGenericMutation","optimisticData","invalidateQueries","previous","undefined"],"sourceRoot":"../../../../../src","sources":["ui/hooks/mutations/mutationFactory.ts"],"mappings":"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","ignoreList":[]}
|
|
@@ -0,0 +1,34 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
|
|
3
|
+
Object.defineProperty(exports, "__esModule", {
|
|
4
|
+
value: true
|
|
5
|
+
});
|
|
6
|
+
exports.mutationKeys = void 0;
|
|
7
|
+
/**
|
|
8
|
+
* Stable mutation key factories.
|
|
9
|
+
*
|
|
10
|
+
* Mutations that may be queued while offline MUST declare a stable
|
|
11
|
+
* `mutationKey`. When the network comes back, TanStack Query resumes
|
|
12
|
+
* paused mutations grouped by key — so the keys here should be stable
|
|
13
|
+
* across renders and across reloads when persistence is enabled.
|
|
14
|
+
*/
|
|
15
|
+
|
|
16
|
+
const mutationKeys = exports.mutationKeys = {
|
|
17
|
+
// Account-related writes
|
|
18
|
+
account: {
|
|
19
|
+
updateProfile: ['mutation', 'account', 'updateProfile'],
|
|
20
|
+
uploadAvatar: ['mutation', 'account', 'uploadAvatar'],
|
|
21
|
+
updateSettings: ['mutation', 'account', 'updateSettings'],
|
|
22
|
+
updatePrivacySettings: ['mutation', 'account', 'updatePrivacySettings'],
|
|
23
|
+
uploadFile: ['mutation', 'account', 'uploadFile']
|
|
24
|
+
},
|
|
25
|
+
// Session / device writes
|
|
26
|
+
session: {
|
|
27
|
+
switch: ['mutation', 'session', 'switch'],
|
|
28
|
+
logout: ['mutation', 'session', 'logout'],
|
|
29
|
+
logoutAll: ['mutation', 'session', 'logoutAll'],
|
|
30
|
+
updateDeviceName: ['mutation', 'session', 'updateDeviceName'],
|
|
31
|
+
removeDevice: ['mutation', 'session', 'removeDevice']
|
|
32
|
+
}
|
|
33
|
+
};
|
|
34
|
+
//# sourceMappingURL=mutationKeys.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"names":["mutationKeys","exports","account","updateProfile","uploadAvatar","updateSettings","updatePrivacySettings","uploadFile","session","switch","logout","logoutAll","updateDeviceName","removeDevice"],"sourceRoot":"../../../../../src","sources":["ui/hooks/mutations/mutationKeys.ts"],"mappings":";;;;;;AAAA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEO,MAAMA,YAAY,GAAAC,OAAA,CAAAD,YAAA,GAAG;EAC1B;EACAE,OAAO,EAAE;IACPC,aAAa,EAAE,CAAC,UAAU,EAAE,SAAS,EAAE,eAAe,CAAU;IAChEC,YAAY,EAAE,CAAC,UAAU,EAAE,SAAS,EAAE,cAAc,CAAU;IAC9DC,cAAc,EAAE,CAAC,UAAU,EAAE,SAAS,EAAE,gBAAgB,CAAU;IAClEC,qBAAqB,EAAE,CAAC,UAAU,EAAE,SAAS,EAAE,uBAAuB,CAAU;IAChFC,UAAU,EAAE,CAAC,UAAU,EAAE,SAAS,EAAE,YAAY;EAClD,CAAC;EAED;EACAC,OAAO,EAAE;IACPC,MAAM,EAAE,CAAC,UAAU,EAAE,SAAS,EAAE,QAAQ,CAAU;IAClDC,MAAM,EAAE,CAAC,UAAU,EAAE,SAAS,EAAE,QAAQ,CAAU;IAClDC,SAAS,EAAE,CAAC,UAAU,EAAE,SAAS,EAAE,WAAW,CAAU;IACxDC,gBAAgB,EAAE,CAAC,UAAU,EAAE,SAAS,EAAE,kBAAkB,CAAU;IACtEC,YAAY,EAAE,CAAC,UAAU,EAAE,SAAS,EAAE,cAAc;EACtD;AACF,CAAU","ignoreList":[]}
|
|
@@ -7,8 +7,9 @@ exports.useUploadFile = exports.useUploadAvatar = exports.useUpdateProfile = exp
|
|
|
7
7
|
var _reactQuery = require("@tanstack/react-query");
|
|
8
8
|
var _core = require("@oxyhq/core");
|
|
9
9
|
var _queryKeys = require("../queries/queryKeys.js");
|
|
10
|
+
var _mutationKeys = require("./mutationKeys.js");
|
|
10
11
|
var _OxyContext = require("../../context/OxyContext.js");
|
|
11
|
-
var
|
|
12
|
+
var _bloom = require("@oxyhq/bloom");
|
|
12
13
|
var _avatarUtils = require("../../utils/avatarUtils.js");
|
|
13
14
|
var _authStore = require("../../stores/authStore.js");
|
|
14
15
|
/**
|
|
@@ -22,6 +23,7 @@ const useUpdateProfile = () => {
|
|
|
22
23
|
} = (0, _OxyContext.useOxy)();
|
|
23
24
|
const queryClient = (0, _reactQuery.useQueryClient)();
|
|
24
25
|
return (0, _reactQuery.useMutation)({
|
|
26
|
+
mutationKey: [..._mutationKeys.mutationKeys.account.updateProfile],
|
|
25
27
|
mutationFn: async updates => {
|
|
26
28
|
return (0, _core.authenticatedApiCall)(oxyServices, activeSessionId, () => oxyServices.updateProfile(updates));
|
|
27
29
|
},
|
|
@@ -54,15 +56,33 @@ const useUpdateProfile = () => {
|
|
|
54
56
|
previousUser
|
|
55
57
|
};
|
|
56
58
|
},
|
|
57
|
-
// On error, rollback
|
|
59
|
+
// On error, rollback ONLY the keys this mutation tried to change
|
|
58
60
|
onError: (error, updates, context) => {
|
|
59
|
-
if (context?.previousUser) {
|
|
60
|
-
|
|
61
|
+
if (context?.previousUser && updates) {
|
|
62
|
+
const previousUser = context.previousUser;
|
|
63
|
+
const changedKeys = Object.keys(updates);
|
|
64
|
+
const partialRollback = changedKeys.reduce((acc, key) => {
|
|
65
|
+
acc[key] = previousUser[key];
|
|
66
|
+
return acc;
|
|
67
|
+
}, {});
|
|
68
|
+
const current = queryClient.getQueryData(_queryKeys.queryKeys.accounts.current());
|
|
69
|
+
if (current) {
|
|
70
|
+
queryClient.setQueryData(_queryKeys.queryKeys.accounts.current(), {
|
|
71
|
+
...current,
|
|
72
|
+
...partialRollback
|
|
73
|
+
});
|
|
74
|
+
}
|
|
61
75
|
if (activeSessionId) {
|
|
62
|
-
queryClient.
|
|
76
|
+
const currentProfile = queryClient.getQueryData(_queryKeys.queryKeys.users.profile(activeSessionId));
|
|
77
|
+
if (currentProfile) {
|
|
78
|
+
queryClient.setQueryData(_queryKeys.queryKeys.users.profile(activeSessionId), {
|
|
79
|
+
...currentProfile,
|
|
80
|
+
...partialRollback
|
|
81
|
+
});
|
|
82
|
+
}
|
|
63
83
|
}
|
|
64
84
|
}
|
|
65
|
-
|
|
85
|
+
_bloom.toast.error(error instanceof Error ? error.message : 'Failed to update profile');
|
|
66
86
|
},
|
|
67
87
|
// On success, invalidate and refetch
|
|
68
88
|
onSuccess: (data, updates) => {
|
|
@@ -80,9 +100,13 @@ const useUpdateProfile = () => {
|
|
|
80
100
|
(0, _avatarUtils.refreshAvatarInStore)(activeSessionId, updates.avatar, oxyServices);
|
|
81
101
|
}
|
|
82
102
|
|
|
83
|
-
// Invalidate all related queries
|
|
103
|
+
// Invalidate all related queries so every consumer (AccountSwitcher,
|
|
104
|
+
// session lists, managed accounts, etc.) refetches the fresh profile.
|
|
105
|
+
// This is critical right after `username` is set the first time, when
|
|
106
|
+
// every cached "session profile" still reports the user as unnamed.
|
|
84
107
|
(0, _queryKeys.invalidateUserQueries)(queryClient);
|
|
85
108
|
(0, _queryKeys.invalidateAccountQueries)(queryClient);
|
|
109
|
+
(0, _queryKeys.invalidateSessionQueries)(queryClient);
|
|
86
110
|
}
|
|
87
111
|
});
|
|
88
112
|
};
|
|
@@ -98,6 +122,7 @@ const useUploadAvatar = () => {
|
|
|
98
122
|
} = (0, _OxyContext.useOxy)();
|
|
99
123
|
const queryClient = (0, _reactQuery.useQueryClient)();
|
|
100
124
|
return (0, _reactQuery.useMutation)({
|
|
125
|
+
mutationKey: [..._mutationKeys.mutationKeys.account.uploadAvatar],
|
|
101
126
|
mutationFn: async file => {
|
|
102
127
|
return (0, _core.authenticatedApiCall)(oxyServices, activeSessionId, async () => {
|
|
103
128
|
const uploadResult = await oxyServices.assetUpload(file, 'public');
|
|
@@ -133,14 +158,28 @@ const useUploadAvatar = () => {
|
|
|
133
158
|
previousUser
|
|
134
159
|
};
|
|
135
160
|
},
|
|
136
|
-
onError: (error,
|
|
161
|
+
onError: (error, _file, context) => {
|
|
162
|
+
// Avatar upload only mutates the `avatar` field — restore only that key
|
|
137
163
|
if (context?.previousUser) {
|
|
138
|
-
|
|
164
|
+
const previousAvatar = context.previousUser.avatar;
|
|
165
|
+
const current = queryClient.getQueryData(_queryKeys.queryKeys.accounts.current());
|
|
166
|
+
if (current) {
|
|
167
|
+
queryClient.setQueryData(_queryKeys.queryKeys.accounts.current(), {
|
|
168
|
+
...current,
|
|
169
|
+
avatar: previousAvatar
|
|
170
|
+
});
|
|
171
|
+
}
|
|
139
172
|
if (activeSessionId) {
|
|
140
|
-
queryClient.
|
|
173
|
+
const currentProfile = queryClient.getQueryData(_queryKeys.queryKeys.users.profile(activeSessionId));
|
|
174
|
+
if (currentProfile) {
|
|
175
|
+
queryClient.setQueryData(_queryKeys.queryKeys.users.profile(activeSessionId), {
|
|
176
|
+
...currentProfile,
|
|
177
|
+
avatar: previousAvatar
|
|
178
|
+
});
|
|
179
|
+
}
|
|
141
180
|
}
|
|
142
181
|
}
|
|
143
|
-
|
|
182
|
+
_bloom.toast.error(error instanceof Error ? error.message : 'Failed to upload avatar');
|
|
144
183
|
},
|
|
145
184
|
onSuccess: data => {
|
|
146
185
|
queryClient.setQueryData(_queryKeys.queryKeys.accounts.current(), data);
|
|
@@ -156,31 +195,72 @@ const useUploadAvatar = () => {
|
|
|
156
195
|
(0, _avatarUtils.refreshAvatarInStore)(activeSessionId, data.avatar, oxyServices);
|
|
157
196
|
}
|
|
158
197
|
|
|
159
|
-
// Invalidate all related queries to refresh everywhere
|
|
198
|
+
// Invalidate all related queries to refresh everywhere, including the
|
|
199
|
+
// sessions cache so other-account avatars update too.
|
|
160
200
|
(0, _queryKeys.invalidateUserQueries)(queryClient);
|
|
161
201
|
(0, _queryKeys.invalidateAccountQueries)(queryClient);
|
|
162
|
-
|
|
202
|
+
(0, _queryKeys.invalidateSessionQueries)(queryClient);
|
|
203
|
+
_bloom.toast.success('Avatar updated successfully');
|
|
163
204
|
}
|
|
164
205
|
});
|
|
165
206
|
};
|
|
166
207
|
|
|
167
208
|
/**
|
|
168
|
-
*
|
|
209
|
+
* Variables accepted by the `useUpdateAccountSettings` mutation.
|
|
210
|
+
*
|
|
211
|
+
* `currentUser` is captured at dispatch time so the rebuilt user object the
|
|
212
|
+
* mutation returns is computed against a stable snapshot — NOT the cache
|
|
213
|
+
* value at the moment the API call settles. Reading from the cache inside
|
|
214
|
+
* `mutationFn` would race with sibling optimistic updates: a concurrent
|
|
215
|
+
* write could already have overwritten the cache by the time the privacy
|
|
216
|
+
* update returns, causing the rebuilt user to clobber the sibling's
|
|
217
|
+
* optimistic value.
|
|
169
218
|
*/
|
|
170
219
|
exports.useUploadAvatar = useUploadAvatar;
|
|
220
|
+
/**
|
|
221
|
+
* Update account settings (privacy preferences).
|
|
222
|
+
*
|
|
223
|
+
* Privacy settings are not part of the `PUT /users/me` allow-list; the API
|
|
224
|
+
* would silently drop them. Route through `updatePrivacySettings` so the
|
|
225
|
+
* dedicated `PATCH /privacy/:id/privacy` endpoint performs a dot-path merge
|
|
226
|
+
* and returns the updated `privacySettings` object.
|
|
227
|
+
*
|
|
228
|
+
* The returned object exposes the standard mutation surface PLUS a
|
|
229
|
+
* convenience `mutate(updates)` / `mutateAsync(updates)` that snapshots
|
|
230
|
+
* the current user from `useOxy()` at dispatch time. Callers that need to
|
|
231
|
+
* supply their own user snapshot (testing, server-side) can call the
|
|
232
|
+
* underlying `.mutate({ updates, currentUser })` form via `.mutation`.
|
|
233
|
+
*/
|
|
171
234
|
const useUpdateAccountSettings = () => {
|
|
172
235
|
const {
|
|
173
236
|
oxyServices,
|
|
174
|
-
activeSessionId
|
|
237
|
+
activeSessionId,
|
|
238
|
+
user
|
|
175
239
|
} = (0, _OxyContext.useOxy)();
|
|
176
240
|
const queryClient = (0, _reactQuery.useQueryClient)();
|
|
177
|
-
|
|
178
|
-
|
|
179
|
-
|
|
180
|
-
|
|
181
|
-
|
|
241
|
+
const mutation = (0, _reactQuery.useMutation)({
|
|
242
|
+
mutationKey: [..._mutationKeys.mutationKeys.account.updateSettings],
|
|
243
|
+
mutationFn: async ({
|
|
244
|
+
updates,
|
|
245
|
+
currentUser
|
|
246
|
+
}) => {
|
|
247
|
+
const userId = currentUser.id;
|
|
248
|
+
if (!userId) {
|
|
249
|
+
throw new Error('User ID is required to update account settings');
|
|
250
|
+
}
|
|
251
|
+
const updatedPrivacy = await (0, _core.authenticatedApiCall)(oxyServices, activeSessionId, () => oxyServices.updatePrivacySettings(updates, userId));
|
|
252
|
+
// Rebuild against the dispatch-time snapshot, NOT the live cache.
|
|
253
|
+
// The cache may have been mutated by a sibling write between
|
|
254
|
+
// dispatch and settle; using `currentUser` keeps this mutation
|
|
255
|
+
// hermetic.
|
|
256
|
+
return {
|
|
257
|
+
...currentUser,
|
|
258
|
+
privacySettings: updatedPrivacy
|
|
259
|
+
};
|
|
182
260
|
},
|
|
183
|
-
onMutate: async
|
|
261
|
+
onMutate: async ({
|
|
262
|
+
updates
|
|
263
|
+
}) => {
|
|
184
264
|
await queryClient.cancelQueries({
|
|
185
265
|
queryKey: _queryKeys.queryKeys.accounts.settings()
|
|
186
266
|
});
|
|
@@ -190,7 +270,7 @@ const useUpdateAccountSettings = () => {
|
|
|
190
270
|
...previousUser,
|
|
191
271
|
privacySettings: {
|
|
192
272
|
...previousUser.privacySettings,
|
|
193
|
-
...
|
|
273
|
+
...updates
|
|
194
274
|
}
|
|
195
275
|
});
|
|
196
276
|
}
|
|
@@ -198,11 +278,29 @@ const useUpdateAccountSettings = () => {
|
|
|
198
278
|
previousUser
|
|
199
279
|
};
|
|
200
280
|
},
|
|
201
|
-
onError: (error,
|
|
202
|
-
|
|
203
|
-
|
|
281
|
+
onError: (error, {
|
|
282
|
+
updates
|
|
283
|
+
}, context) => {
|
|
284
|
+
// Restore only the privacySettings keys this mutation tried to change
|
|
285
|
+
if (context?.previousUser && updates) {
|
|
286
|
+
const previousPrivacy = context.previousUser.privacySettings ?? {};
|
|
287
|
+
const changedKeys = Object.keys(updates);
|
|
288
|
+
const partialPrivacyRollback = changedKeys.reduce((acc, key) => {
|
|
289
|
+
acc[key] = previousPrivacy[key];
|
|
290
|
+
return acc;
|
|
291
|
+
}, {});
|
|
292
|
+
const current = queryClient.getQueryData(_queryKeys.queryKeys.accounts.current());
|
|
293
|
+
if (current) {
|
|
294
|
+
queryClient.setQueryData(_queryKeys.queryKeys.accounts.current(), {
|
|
295
|
+
...current,
|
|
296
|
+
privacySettings: {
|
|
297
|
+
...(current.privacySettings ?? {}),
|
|
298
|
+
...partialPrivacyRollback
|
|
299
|
+
}
|
|
300
|
+
});
|
|
301
|
+
}
|
|
204
302
|
}
|
|
205
|
-
|
|
303
|
+
_bloom.toast.error(error instanceof Error ? error.message : 'Failed to update settings');
|
|
206
304
|
},
|
|
207
305
|
onSuccess: data => {
|
|
208
306
|
queryClient.setQueryData(_queryKeys.queryKeys.accounts.current(), data);
|
|
@@ -210,7 +308,7 @@ const useUpdateAccountSettings = () => {
|
|
|
210
308
|
// Update authStore so frontend components see the changes immediately
|
|
211
309
|
_authStore.useAuthStore.getState().setUser(data);
|
|
212
310
|
(0, _queryKeys.invalidateAccountQueries)(queryClient);
|
|
213
|
-
|
|
311
|
+
_bloom.toast.success('Settings updated successfully');
|
|
214
312
|
},
|
|
215
313
|
onSettled: () => {
|
|
216
314
|
queryClient.invalidateQueries({
|
|
@@ -218,6 +316,35 @@ const useUpdateAccountSettings = () => {
|
|
|
218
316
|
});
|
|
219
317
|
}
|
|
220
318
|
});
|
|
319
|
+
|
|
320
|
+
// Snapshot the current user at dispatch time. Reading `user` here (from
|
|
321
|
+
// the `useOxy()` closure of the call to `useUpdateAccountSettings`) is
|
|
322
|
+
// the dispatch-time value, captured the moment `mutate()` runs — exactly
|
|
323
|
+
// what the race fix needs.
|
|
324
|
+
return {
|
|
325
|
+
...mutation,
|
|
326
|
+
mutate: updates => {
|
|
327
|
+
const currentUser = user ?? queryClient.getQueryData(_queryKeys.queryKeys.accounts.current());
|
|
328
|
+
if (!currentUser) {
|
|
329
|
+
_bloom.toast.error('Cannot update account settings: no current user');
|
|
330
|
+
return;
|
|
331
|
+
}
|
|
332
|
+
mutation.mutate({
|
|
333
|
+
updates,
|
|
334
|
+
currentUser
|
|
335
|
+
});
|
|
336
|
+
},
|
|
337
|
+
mutateAsync: async updates => {
|
|
338
|
+
const currentUser = user ?? queryClient.getQueryData(_queryKeys.queryKeys.accounts.current());
|
|
339
|
+
if (!currentUser) {
|
|
340
|
+
throw new Error('Cannot update account settings: no current user');
|
|
341
|
+
}
|
|
342
|
+
return mutation.mutateAsync({
|
|
343
|
+
updates,
|
|
344
|
+
currentUser
|
|
345
|
+
});
|
|
346
|
+
}
|
|
347
|
+
};
|
|
221
348
|
};
|
|
222
349
|
|
|
223
350
|
/**
|
|
@@ -232,6 +359,7 @@ const useUpdatePrivacySettings = () => {
|
|
|
232
359
|
} = (0, _OxyContext.useOxy)();
|
|
233
360
|
const queryClient = (0, _reactQuery.useQueryClient)();
|
|
234
361
|
return (0, _reactQuery.useMutation)({
|
|
362
|
+
mutationKey: [..._mutationKeys.mutationKeys.account.updatePrivacySettings],
|
|
235
363
|
mutationFn: async ({
|
|
236
364
|
settings,
|
|
237
365
|
userId
|
|
@@ -285,54 +413,103 @@ const useUpdatePrivacySettings = () => {
|
|
|
285
413
|
previousUser
|
|
286
414
|
};
|
|
287
415
|
},
|
|
288
|
-
// On error, rollback
|
|
416
|
+
// On error, rollback ONLY the privacy keys this mutation tried to change.
|
|
417
|
+
// Restoring the entire previous object would wipe out other concurrent
|
|
418
|
+
// optimistic updates (e.g. user toggles two privacy switches in quick
|
|
419
|
+
// succession; failure on one must not revert the other).
|
|
289
420
|
onError: (error, {
|
|
421
|
+
settings,
|
|
290
422
|
userId
|
|
291
423
|
}, context) => {
|
|
292
424
|
const targetUserId = userId || user?.id;
|
|
293
|
-
|
|
294
|
-
|
|
425
|
+
const changedKeys = settings ? Object.keys(settings) : [];
|
|
426
|
+
|
|
427
|
+
// Rollback the privacy.settings query (partial)
|
|
428
|
+
if (context?.previousPrivacySettings && targetUserId && changedKeys.length > 0) {
|
|
429
|
+
const previousPrivacy = context.previousPrivacySettings;
|
|
430
|
+
const partialPrivacyRollback = changedKeys.reduce((acc, key) => {
|
|
431
|
+
acc[key] = previousPrivacy[key];
|
|
432
|
+
return acc;
|
|
433
|
+
}, {});
|
|
434
|
+
const currentPrivacy = queryClient.getQueryData(_queryKeys.queryKeys.privacy.settings(targetUserId));
|
|
435
|
+
if (currentPrivacy) {
|
|
436
|
+
queryClient.setQueryData(_queryKeys.queryKeys.privacy.settings(targetUserId), {
|
|
437
|
+
...currentPrivacy,
|
|
438
|
+
...partialPrivacyRollback
|
|
439
|
+
});
|
|
440
|
+
}
|
|
295
441
|
}
|
|
296
|
-
|
|
297
|
-
|
|
442
|
+
|
|
443
|
+
// Rollback the accounts.current() user.privacySettings (partial)
|
|
444
|
+
if (context?.previousUser && changedKeys.length > 0) {
|
|
445
|
+
const previousPrivacy = context.previousUser.privacySettings ?? {};
|
|
446
|
+
const partialPrivacyRollback = changedKeys.reduce((acc, key) => {
|
|
447
|
+
acc[key] = previousPrivacy[key];
|
|
448
|
+
return acc;
|
|
449
|
+
}, {});
|
|
450
|
+
const current = queryClient.getQueryData(_queryKeys.queryKeys.accounts.current());
|
|
451
|
+
if (current) {
|
|
452
|
+
queryClient.setQueryData(_queryKeys.queryKeys.accounts.current(), {
|
|
453
|
+
...current,
|
|
454
|
+
privacySettings: {
|
|
455
|
+
...(current.privacySettings ?? {}),
|
|
456
|
+
...partialPrivacyRollback
|
|
457
|
+
}
|
|
458
|
+
});
|
|
459
|
+
}
|
|
460
|
+
}
|
|
461
|
+
|
|
462
|
+
// After partial rollback, force a fresh fetch from the server so any
|
|
463
|
+
// concurrent-mutation state we may have failed to restore correctly
|
|
464
|
+
// gets reconciled with the source of truth. Targeted at privacy.settings
|
|
465
|
+
// only — NOT onSettled, which would defeat the merge fix on success.
|
|
466
|
+
if (targetUserId) {
|
|
467
|
+
queryClient.invalidateQueries({
|
|
468
|
+
queryKey: _queryKeys.queryKeys.privacy.settings(targetUserId)
|
|
469
|
+
});
|
|
298
470
|
}
|
|
299
|
-
|
|
471
|
+
_bloom.toast.error(error instanceof Error ? error.message : 'Failed to update privacy settings');
|
|
300
472
|
},
|
|
301
|
-
// On success,
|
|
473
|
+
// On success, MERGE the server response into the cached state. Older
|
|
474
|
+
// API builds returned only the changed field (or wiped the privacySettings
|
|
475
|
+
// subdocument when handed a partial update), which would clobber every
|
|
476
|
+
// other toggle if we blindly replaced. Defensive merge means the UI stays
|
|
477
|
+
// consistent regardless of server behaviour.
|
|
478
|
+
//
|
|
479
|
+
// BOTH the privacy.settings query AND the accounts.current() user are
|
|
480
|
+
// gated on `targetUserId`. If it's missing (no userId param, no logged-in
|
|
481
|
+
// user) the optimistic update in onMutate would have early-returned too,
|
|
482
|
+
// so neither cache was ever touched — there's nothing to reconcile here.
|
|
302
483
|
onSuccess: (data, {
|
|
303
|
-
userId
|
|
484
|
+
userId,
|
|
485
|
+
settings
|
|
304
486
|
}) => {
|
|
305
487
|
const targetUserId = userId || user?.id;
|
|
306
|
-
if (targetUserId)
|
|
307
|
-
|
|
308
|
-
}
|
|
309
|
-
|
|
488
|
+
if (!targetUserId) return;
|
|
489
|
+
const incoming = data ?? {};
|
|
490
|
+
const requested = settings ?? {};
|
|
491
|
+
queryClient.setQueryData(_queryKeys.queryKeys.privacy.settings(targetUserId), previous => ({
|
|
492
|
+
...(previous ?? {}),
|
|
493
|
+
...requested,
|
|
494
|
+
...incoming // server wins for fields it explicitly returned
|
|
495
|
+
}));
|
|
310
496
|
const currentUser = queryClient.getQueryData(_queryKeys.queryKeys.accounts.current());
|
|
311
497
|
if (currentUser) {
|
|
312
498
|
const updatedUser = {
|
|
313
499
|
...currentUser,
|
|
314
|
-
privacySettings:
|
|
500
|
+
privacySettings: {
|
|
501
|
+
...(currentUser.privacySettings ?? {}),
|
|
502
|
+
...requested,
|
|
503
|
+
...incoming
|
|
504
|
+
}
|
|
315
505
|
};
|
|
316
506
|
queryClient.setQueryData(_queryKeys.queryKeys.accounts.current(), updatedUser);
|
|
317
|
-
|
|
318
|
-
// Update authStore so frontend components see the changes immediately
|
|
319
507
|
_authStore.useAuthStore.getState().setUser(updatedUser);
|
|
320
508
|
}
|
|
321
|
-
|
|
322
|
-
|
|
323
|
-
|
|
324
|
-
|
|
325
|
-
userId
|
|
326
|
-
}) => {
|
|
327
|
-
const targetUserId = userId || user?.id;
|
|
328
|
-
if (targetUserId) {
|
|
329
|
-
queryClient.invalidateQueries({
|
|
330
|
-
queryKey: _queryKeys.queryKeys.privacy.settings(targetUserId)
|
|
331
|
-
});
|
|
332
|
-
}
|
|
333
|
-
queryClient.invalidateQueries({
|
|
334
|
-
queryKey: _queryKeys.queryKeys.accounts.current()
|
|
335
|
-
});
|
|
509
|
+
// Deliberately NOT invalidating any queries here. invalidateAccountQueries
|
|
510
|
+
// invalidates accounts.all which is the prefix for accounts.current(),
|
|
511
|
+
// triggering a background refetch of useCurrentUser that would overwrite
|
|
512
|
+
// the merged state above. The onSuccess merge is the source of truth.
|
|
336
513
|
}
|
|
337
514
|
});
|
|
338
515
|
};
|
|
@@ -350,6 +527,7 @@ const useUploadFile = () => {
|
|
|
350
527
|
activeSessionId
|
|
351
528
|
} = (0, _OxyContext.useOxy)();
|
|
352
529
|
return (0, _reactQuery.useMutation)({
|
|
530
|
+
mutationKey: [..._mutationKeys.mutationKeys.account.uploadFile],
|
|
353
531
|
mutationFn: async ({
|
|
354
532
|
file,
|
|
355
533
|
visibility,
|