@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,42 +3,20 @@
|
|
|
3
3
|
Object.defineProperty(exports, "__esModule", {
|
|
4
4
|
value: true
|
|
5
5
|
});
|
|
6
|
-
exports.useFileDownloadUrl =
|
|
6
|
+
exports.useFileDownloadUrl = void 0;
|
|
7
7
|
var _react = require("react");
|
|
8
|
-
var _core = require("@oxyhq/core");
|
|
9
|
-
let oxyInstance = null;
|
|
10
|
-
const setOxyFileUrlInstance = instance => {
|
|
11
|
-
oxyInstance = instance;
|
|
12
|
-
};
|
|
13
|
-
exports.setOxyFileUrlInstance = setOxyFileUrlInstance;
|
|
14
8
|
/**
|
|
15
9
|
* Hook to resolve a file's download URL asynchronously.
|
|
16
10
|
*
|
|
17
|
-
* Prefers the provided `oxyServices` instance, falls back to the module-level
|
|
18
|
-
* singleton set via `setOxyFileUrlInstance`.
|
|
19
|
-
*
|
|
20
11
|
* Uses `getFileDownloadUrlAsync` first, falling back to the synchronous
|
|
21
12
|
* `getFileDownloadUrl` if the async call fails.
|
|
22
13
|
*/
|
|
23
|
-
const useFileDownloadUrl = (
|
|
24
|
-
// Support two call signatures:
|
|
25
|
-
// 1. useFileDownloadUrl(oxyServices, fileId, options) — preferred
|
|
26
|
-
// 2. useFileDownloadUrl(fileId, options) — legacy (uses singleton)
|
|
27
|
-
let services;
|
|
28
|
-
let fileId;
|
|
29
|
-
let options;
|
|
30
|
-
if (fileIdOrServices instanceof _core.OxyServices) {
|
|
31
|
-
services = fileIdOrServices;
|
|
32
|
-
fileId = typeof fileIdOrOptions === 'string' ? fileIdOrOptions : null;
|
|
33
|
-
options = maybeOptions;
|
|
34
|
-
} else {
|
|
35
|
-
services = oxyInstance;
|
|
36
|
-
fileId = typeof fileIdOrServices === 'string' ? fileIdOrServices : null;
|
|
37
|
-
options = typeof fileIdOrOptions === 'object' && fileIdOrOptions !== null ? fileIdOrOptions : undefined;
|
|
38
|
-
}
|
|
14
|
+
const useFileDownloadUrl = (oxyServices, fileId, options) => {
|
|
39
15
|
const [url, setUrl] = (0, _react.useState)(null);
|
|
40
16
|
const [loading, setLoading] = (0, _react.useState)(false);
|
|
41
17
|
const [error, setError] = (0, _react.useState)(null);
|
|
18
|
+
const variant = options?.variant;
|
|
19
|
+
const expiresIn = options?.expiresIn;
|
|
42
20
|
(0, _react.useEffect)(() => {
|
|
43
21
|
if (!fileId) {
|
|
44
22
|
setUrl(null);
|
|
@@ -46,28 +24,25 @@ const useFileDownloadUrl = (fileIdOrServices, fileIdOrOptions, maybeOptions) =>
|
|
|
46
24
|
setError(null);
|
|
47
25
|
return;
|
|
48
26
|
}
|
|
49
|
-
if (!
|
|
27
|
+
if (!oxyServices) {
|
|
50
28
|
setUrl(null);
|
|
51
29
|
setLoading(false);
|
|
52
30
|
setError(new Error('OxyServices instance not configured for useFileDownloadUrl'));
|
|
53
31
|
return;
|
|
54
32
|
}
|
|
55
33
|
let cancelled = false;
|
|
56
|
-
const instance =
|
|
34
|
+
const instance = oxyServices;
|
|
35
|
+
const targetFileId = fileId;
|
|
57
36
|
const load = async () => {
|
|
58
37
|
setLoading(true);
|
|
59
38
|
setError(null);
|
|
60
39
|
try {
|
|
61
|
-
const {
|
|
62
|
-
variant,
|
|
63
|
-
expiresIn
|
|
64
|
-
} = options || {};
|
|
65
40
|
let resolvedUrl = null;
|
|
66
41
|
if (typeof instance.getFileDownloadUrlAsync === 'function') {
|
|
67
|
-
resolvedUrl = await instance.getFileDownloadUrlAsync(
|
|
42
|
+
resolvedUrl = await instance.getFileDownloadUrlAsync(targetFileId, variant, expiresIn);
|
|
68
43
|
}
|
|
69
44
|
if (!resolvedUrl && typeof instance.getFileDownloadUrl === 'function') {
|
|
70
|
-
resolvedUrl = instance.getFileDownloadUrl(
|
|
45
|
+
resolvedUrl = instance.getFileDownloadUrl(targetFileId, variant, expiresIn);
|
|
71
46
|
}
|
|
72
47
|
if (!cancelled) {
|
|
73
48
|
setUrl(resolvedUrl || null);
|
|
@@ -76,11 +51,7 @@ const useFileDownloadUrl = (fileIdOrServices, fileIdOrOptions, maybeOptions) =>
|
|
|
76
51
|
// Fallback to sync URL on error where possible
|
|
77
52
|
try {
|
|
78
53
|
if (typeof instance.getFileDownloadUrl === 'function') {
|
|
79
|
-
const
|
|
80
|
-
variant,
|
|
81
|
-
expiresIn
|
|
82
|
-
} = options || {};
|
|
83
|
-
const fallbackUrl = instance.getFileDownloadUrl(fileId, variant, expiresIn);
|
|
54
|
+
const fallbackUrl = instance.getFileDownloadUrl(targetFileId, variant, expiresIn);
|
|
84
55
|
if (!cancelled) {
|
|
85
56
|
setUrl(fallbackUrl || null);
|
|
86
57
|
setError(err instanceof Error ? err : new Error(String(err)));
|
|
@@ -88,7 +59,7 @@ const useFileDownloadUrl = (fileIdOrServices, fileIdOrOptions, maybeOptions) =>
|
|
|
88
59
|
return;
|
|
89
60
|
}
|
|
90
61
|
} catch {
|
|
91
|
-
//
|
|
62
|
+
// Secondary failure: surface the original error below.
|
|
92
63
|
}
|
|
93
64
|
if (!cancelled) {
|
|
94
65
|
setError(err instanceof Error ? err : new Error(String(err)));
|
|
@@ -103,7 +74,7 @@ const useFileDownloadUrl = (fileIdOrServices, fileIdOrOptions, maybeOptions) =>
|
|
|
103
74
|
return () => {
|
|
104
75
|
cancelled = true;
|
|
105
76
|
};
|
|
106
|
-
}, [fileId,
|
|
77
|
+
}, [fileId, oxyServices, variant, expiresIn]);
|
|
107
78
|
return {
|
|
108
79
|
url,
|
|
109
80
|
loading,
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"names":["_react","require","
|
|
1
|
+
{"version":3,"names":["_react","require","useFileDownloadUrl","oxyServices","fileId","options","url","setUrl","useState","loading","setLoading","error","setError","variant","expiresIn","useEffect","Error","cancelled","instance","targetFileId","load","resolvedUrl","getFileDownloadUrlAsync","getFileDownloadUrl","err","fallbackUrl","String","exports"],"sourceRoot":"../../../../src","sources":["ui/hooks/useFileDownloadUrl.ts"],"mappings":"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","ignoreList":[]}
|
|
@@ -0,0 +1,86 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
|
|
3
|
+
Object.defineProperty(exports, "__esModule", {
|
|
4
|
+
value: true
|
|
5
|
+
});
|
|
6
|
+
exports.useMutationStatus = useMutationStatus;
|
|
7
|
+
var _react = require("react");
|
|
8
|
+
var _reactQuery = require("@tanstack/react-query");
|
|
9
|
+
/**
|
|
10
|
+
* useMutationStatus
|
|
11
|
+
*
|
|
12
|
+
* Aggregates counts of in-flight, paused (offline), and errored mutations
|
|
13
|
+
* from the TanStack Query mutation cache. Useful for showing a global
|
|
14
|
+
* "Syncing..." indicator in the app shell.
|
|
15
|
+
*/
|
|
16
|
+
|
|
17
|
+
function computeStatus(queryClient) {
|
|
18
|
+
const mutations = queryClient.getMutationCache().getAll();
|
|
19
|
+
let pending = 0;
|
|
20
|
+
let paused = 0;
|
|
21
|
+
let erroring = 0;
|
|
22
|
+
for (const m of mutations) {
|
|
23
|
+
const {
|
|
24
|
+
status,
|
|
25
|
+
isPaused
|
|
26
|
+
} = m.state;
|
|
27
|
+
if (isPaused) {
|
|
28
|
+
paused += 1;
|
|
29
|
+
continue;
|
|
30
|
+
}
|
|
31
|
+
if (status === 'pending') {
|
|
32
|
+
pending += 1;
|
|
33
|
+
continue;
|
|
34
|
+
}
|
|
35
|
+
if (status === 'error') {
|
|
36
|
+
erroring += 1;
|
|
37
|
+
}
|
|
38
|
+
}
|
|
39
|
+
const total = pending + paused + erroring;
|
|
40
|
+
return {
|
|
41
|
+
pending,
|
|
42
|
+
paused,
|
|
43
|
+
erroring,
|
|
44
|
+
total,
|
|
45
|
+
isOffline: paused > 0,
|
|
46
|
+
isSyncing: pending > 0 || paused > 0
|
|
47
|
+
};
|
|
48
|
+
}
|
|
49
|
+
const EMPTY_SNAPSHOT = {
|
|
50
|
+
pending: 0,
|
|
51
|
+
paused: 0,
|
|
52
|
+
erroring: 0,
|
|
53
|
+
total: 0,
|
|
54
|
+
isOffline: false,
|
|
55
|
+
isSyncing: false
|
|
56
|
+
};
|
|
57
|
+
function snapshotsEqual(a, b) {
|
|
58
|
+
return a.pending === b.pending && a.paused === b.paused && a.erroring === b.erroring && a.total === b.total && a.isOffline === b.isOffline && a.isSyncing === b.isSyncing;
|
|
59
|
+
}
|
|
60
|
+
function useMutationStatus() {
|
|
61
|
+
const queryClient = (0, _reactQuery.useQueryClient)();
|
|
62
|
+
|
|
63
|
+
// Cache the last returned snapshot so `useSyncExternalStore`'s tearing
|
|
64
|
+
// check sees the same reference between renders unless the underlying
|
|
65
|
+
// mutation cache actually changed. Without this React 19 enters an
|
|
66
|
+
// infinite render loop because every call to `computeStatus` returns
|
|
67
|
+
// a fresh object literal.
|
|
68
|
+
const cachedRef = (0, _react.useRef)(EMPTY_SNAPSHOT);
|
|
69
|
+
const subscribe = (0, _react.useCallback)(notify => {
|
|
70
|
+
const cache = queryClient.getMutationCache();
|
|
71
|
+
return cache.subscribe(() => {
|
|
72
|
+
notify();
|
|
73
|
+
});
|
|
74
|
+
}, [queryClient]);
|
|
75
|
+
const getSnapshot = (0, _react.useCallback)(() => {
|
|
76
|
+
const next = computeStatus(queryClient);
|
|
77
|
+
if (snapshotsEqual(cachedRef.current, next)) {
|
|
78
|
+
return cachedRef.current;
|
|
79
|
+
}
|
|
80
|
+
cachedRef.current = next;
|
|
81
|
+
return next;
|
|
82
|
+
}, [queryClient]);
|
|
83
|
+
const getServerSnapshot = (0, _react.useCallback)(() => EMPTY_SNAPSHOT, []);
|
|
84
|
+
return (0, _react.useSyncExternalStore)(subscribe, getSnapshot, getServerSnapshot);
|
|
85
|
+
}
|
|
86
|
+
//# sourceMappingURL=useMutationStatus.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"names":["_react","require","_reactQuery","computeStatus","queryClient","mutations","getMutationCache","getAll","pending","paused","erroring","m","status","isPaused","state","total","isOffline","isSyncing","EMPTY_SNAPSHOT","snapshotsEqual","a","b","useMutationStatus","useQueryClient","cachedRef","useRef","subscribe","useCallback","notify","cache","getSnapshot","next","current","getServerSnapshot","useSyncExternalStore"],"sourceRoot":"../../../../src","sources":["ui/hooks/useMutationStatus.ts"],"mappings":"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","ignoreList":[]}
|
|
@@ -0,0 +1,33 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
|
|
3
|
+
Object.defineProperty(exports, "__esModule", {
|
|
4
|
+
value: true
|
|
5
|
+
});
|
|
6
|
+
exports.useOnlineStatus = useOnlineStatus;
|
|
7
|
+
var _react = require("react");
|
|
8
|
+
var _reactQuery = require("@tanstack/react-query");
|
|
9
|
+
/**
|
|
10
|
+
* useOnlineStatus
|
|
11
|
+
*
|
|
12
|
+
* Reactive boolean reflecting TanStack Query's `onlineManager` state.
|
|
13
|
+
* Mirrors browser `online`/`offline` events on web and NetInfo updates on
|
|
14
|
+
* native (both wired up in `OxyProvider`).
|
|
15
|
+
*
|
|
16
|
+
* Use this for surfacing offline UI — an OfflineBanner, a disabled "Sync"
|
|
17
|
+
* button, an inline "queued" badge on pending writes, etc. For pending /
|
|
18
|
+
* paused mutation counts use `useMutationStatus()` instead.
|
|
19
|
+
*/
|
|
20
|
+
|
|
21
|
+
const getOnlineSnapshot = () => _reactQuery.onlineManager.isOnline();
|
|
22
|
+
const subscribeOnline = notify => {
|
|
23
|
+
return _reactQuery.onlineManager.subscribe(() => {
|
|
24
|
+
notify();
|
|
25
|
+
});
|
|
26
|
+
};
|
|
27
|
+
|
|
28
|
+
// SSR: assume online so SSR-rendered markup doesn't show offline banners.
|
|
29
|
+
const getServerSnapshot = () => true;
|
|
30
|
+
function useOnlineStatus() {
|
|
31
|
+
return (0, _react.useSyncExternalStore)(subscribeOnline, getOnlineSnapshot, getServerSnapshot);
|
|
32
|
+
}
|
|
33
|
+
//# sourceMappingURL=useOnlineStatus.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"names":["_react","require","_reactQuery","getOnlineSnapshot","onlineManager","isOnline","subscribeOnline","notify","subscribe","getServerSnapshot","useOnlineStatus","useSyncExternalStore"],"sourceRoot":"../../../../src","sources":["ui/hooks/useOnlineStatus.ts"],"mappings":";;;;;;AAYA,IAAAA,MAAA,GAAAC,OAAA;AACA,IAAAC,WAAA,GAAAD,OAAA;AAbA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAKA,MAAME,iBAAiB,GAAGA,CAAA,KAAeC,yBAAa,CAACC,QAAQ,CAAC,CAAC;AAEjE,MAAMC,eAAe,GAAIC,MAAkB,IAAmB;EAC5D,OAAOH,yBAAa,CAACI,SAAS,CAAC,MAAM;IACnCD,MAAM,CAAC,CAAC;EACV,CAAC,CAAC;AACJ,CAAC;;AAED;AACA,MAAME,iBAAiB,GAAGA,CAAA,KAAe,IAAI;AAEtC,SAASC,eAAeA,CAAA,EAAY;EACzC,OAAO,IAAAC,2BAAoB,EAACL,eAAe,EAAEH,iBAAiB,EAAEM,iBAAiB,CAAC;AACpF","ignoreList":[]}
|
|
@@ -6,16 +6,25 @@ Object.defineProperty(exports, "__esModule", {
|
|
|
6
6
|
exports.useSessionSocket = useSessionSocket;
|
|
7
7
|
var _react = require("react");
|
|
8
8
|
var _socket = _interopRequireDefault(require("socket.io-client"));
|
|
9
|
-
var
|
|
9
|
+
var _bloom = require("@oxyhq/bloom");
|
|
10
10
|
var _core = require("@oxyhq/core");
|
|
11
11
|
function _interopRequireDefault(e) { return e && e.__esModule ? e : { default: e }; }
|
|
12
12
|
const debug = (0, _core.createDebugLogger)('SessionSocket');
|
|
13
|
+
|
|
14
|
+
/**
|
|
15
|
+
* Server-emitted event types on the `session_update` channel.
|
|
16
|
+
*
|
|
17
|
+
* `session_removed`, `device_removed`, `sessions_removed` are the ONLY
|
|
18
|
+
* events that may sign the user out. Anything else (e.g. `session_created`
|
|
19
|
+
* fired right after a successful sign-in) MUST NOT trigger sign-out — see
|
|
20
|
+
* the comment on the `default` branch below.
|
|
21
|
+
*/
|
|
22
|
+
|
|
13
23
|
function useSessionSocket({
|
|
14
24
|
userId,
|
|
15
25
|
activeSessionId,
|
|
16
26
|
currentDeviceId,
|
|
17
27
|
refreshSessions,
|
|
18
|
-
logout,
|
|
19
28
|
clearSessionState,
|
|
20
29
|
baseURL,
|
|
21
30
|
getAccessToken,
|
|
@@ -26,7 +35,6 @@ function useSessionSocket({
|
|
|
26
35
|
|
|
27
36
|
// Store callbacks in refs to avoid reconnecting when they change
|
|
28
37
|
const refreshSessionsRef = (0, _react.useRef)(refreshSessions);
|
|
29
|
-
const logoutRef = (0, _react.useRef)(logout);
|
|
30
38
|
const clearSessionStateRef = (0, _react.useRef)(clearSessionState);
|
|
31
39
|
const onRemoteSignOutRef = (0, _react.useRef)(onRemoteSignOut);
|
|
32
40
|
const onSessionRemovedRef = (0, _react.useRef)(onSessionRemoved);
|
|
@@ -37,14 +45,13 @@ function useSessionSocket({
|
|
|
37
45
|
// Update refs when callbacks change
|
|
38
46
|
(0, _react.useEffect)(() => {
|
|
39
47
|
refreshSessionsRef.current = refreshSessions;
|
|
40
|
-
logoutRef.current = logout;
|
|
41
48
|
clearSessionStateRef.current = clearSessionState;
|
|
42
49
|
onRemoteSignOutRef.current = onRemoteSignOut;
|
|
43
50
|
onSessionRemovedRef.current = onSessionRemoved;
|
|
44
51
|
activeSessionIdRef.current = activeSessionId;
|
|
45
52
|
currentDeviceIdRef.current = currentDeviceId;
|
|
46
53
|
getAccessTokenRef.current = getAccessToken;
|
|
47
|
-
}, [refreshSessions,
|
|
54
|
+
}, [refreshSessions, clearSessionState, onRemoteSignOut, onSessionRemoved, activeSessionId, currentDeviceId, getAccessToken]);
|
|
48
55
|
(0, _react.useEffect)(() => {
|
|
49
56
|
if (!userId || !baseURL) {
|
|
50
57
|
// Clean up if userId or baseURL becomes invalid
|
|
@@ -77,147 +84,111 @@ function useSessionSocket({
|
|
|
77
84
|
const handleConnect = () => {
|
|
78
85
|
debug.log('Socket connected:', socket.id);
|
|
79
86
|
};
|
|
87
|
+
const refreshSessionsSafe = () => {
|
|
88
|
+
refreshSessionsRef.current().catch(error => {
|
|
89
|
+
// Refresh errors shouldn't break the socket handler. They happen
|
|
90
|
+
// routinely when sessions are removed mid-fetch — log and move on.
|
|
91
|
+
if (__DEV__) {
|
|
92
|
+
_core.logger.debug('Failed to refresh sessions after session_update', {
|
|
93
|
+
component: 'useSessionSocket'
|
|
94
|
+
}, error);
|
|
95
|
+
}
|
|
96
|
+
});
|
|
97
|
+
};
|
|
98
|
+
const triggerLocalSignOut = async (toastMessage, errorContext) => {
|
|
99
|
+
if (onRemoteSignOutRef.current) {
|
|
100
|
+
onRemoteSignOutRef.current();
|
|
101
|
+
} else {
|
|
102
|
+
_bloom.toast.info(toastMessage);
|
|
103
|
+
}
|
|
104
|
+
// Clear local state since the server has already removed the session.
|
|
105
|
+
// Await so storage cleanup completes before any subsequent navigation.
|
|
106
|
+
try {
|
|
107
|
+
await clearSessionStateRef.current();
|
|
108
|
+
} catch (error) {
|
|
109
|
+
if (__DEV__) {
|
|
110
|
+
_core.logger.error(`Failed to clear session state after ${errorContext}`, error instanceof Error ? error : new Error(String(error)), {
|
|
111
|
+
component: 'useSessionSocket'
|
|
112
|
+
});
|
|
113
|
+
}
|
|
114
|
+
}
|
|
115
|
+
};
|
|
80
116
|
const handleSessionUpdate = async data => {
|
|
81
117
|
debug.log('Received session_update:', data);
|
|
82
118
|
const currentActiveSessionId = activeSessionIdRef.current;
|
|
83
|
-
const
|
|
119
|
+
const currentDeviceIdValue = currentDeviceIdRef.current;
|
|
84
120
|
|
|
85
|
-
//
|
|
86
|
-
|
|
87
|
-
|
|
88
|
-
|
|
89
|
-
|
|
90
|
-
|
|
91
|
-
|
|
92
|
-
|
|
93
|
-
|
|
94
|
-
|
|
95
|
-
|
|
96
|
-
} else {
|
|
97
|
-
_sonner.toast.info('You have been signed out remotely.');
|
|
98
|
-
}
|
|
99
|
-
// Use clearSessionState since session was already removed server-side
|
|
100
|
-
// Await to ensure storage cleanup completes before continuing
|
|
101
|
-
try {
|
|
102
|
-
await clearSessionStateRef.current();
|
|
103
|
-
} catch (error) {
|
|
104
|
-
if (__DEV__) {
|
|
105
|
-
_core.logger.error('Failed to clear session state after session_removed', error instanceof Error ? error : new Error(String(error)), {
|
|
106
|
-
component: 'useSessionSocket'
|
|
107
|
-
});
|
|
121
|
+
// Strict whitelist. Every event type that may sign the user out must
|
|
122
|
+
// appear in the switch. Anything unknown falls through to `default`,
|
|
123
|
+
// which is intentionally a no-op for session lifecycle — it only logs
|
|
124
|
+
// in dev. This guards against future server-side event additions
|
|
125
|
+
// (e.g. `session_created`) accidentally triggering sign-out via a
|
|
126
|
+
// "legacy fallback" branch.
|
|
127
|
+
switch (data.type) {
|
|
128
|
+
case 'session_removed':
|
|
129
|
+
{
|
|
130
|
+
if (data.sessionId && onSessionRemovedRef.current) {
|
|
131
|
+
onSessionRemovedRef.current(data.sessionId);
|
|
108
132
|
}
|
|
109
|
-
|
|
110
|
-
|
|
111
|
-
|
|
112
|
-
|
|
113
|
-
// Silently handle errors from refresh - they're expected if sessions were removed
|
|
114
|
-
if (__DEV__) {
|
|
115
|
-
_core.logger.debug('Failed to refresh sessions after session_removed', {
|
|
116
|
-
component: 'useSessionSocket'
|
|
117
|
-
}, error);
|
|
133
|
+
if (data.sessionId && data.sessionId === currentActiveSessionId) {
|
|
134
|
+
await triggerLocalSignOut('You have been signed out remotely.', 'session_removed');
|
|
135
|
+
} else {
|
|
136
|
+
refreshSessionsSafe();
|
|
118
137
|
}
|
|
119
|
-
|
|
120
|
-
}
|
|
121
|
-
} else if (data.type === 'device_removed') {
|
|
122
|
-
// Track all removed sessions from this device
|
|
123
|
-
if (data.sessionIds && onSessionRemovedRef.current) {
|
|
124
|
-
for (const sessionId of data.sessionIds) {
|
|
125
|
-
onSessionRemovedRef.current(sessionId);
|
|
126
|
-
}
|
|
127
|
-
}
|
|
128
|
-
|
|
129
|
-
// If the removed deviceId matches the current device, immediately clear state
|
|
130
|
-
if (data.deviceId && data.deviceId === currentDeviceId) {
|
|
131
|
-
if (onRemoteSignOutRef.current) {
|
|
132
|
-
onRemoteSignOutRef.current();
|
|
133
|
-
} else {
|
|
134
|
-
_sonner.toast.info('This device has been removed. You have been signed out.');
|
|
138
|
+
break;
|
|
135
139
|
}
|
|
136
|
-
|
|
137
|
-
|
|
138
|
-
|
|
139
|
-
|
|
140
|
-
|
|
141
|
-
|
|
142
|
-
_core.logger.error('Failed to clear session state after device_removed', error instanceof Error ? error : new Error(String(error)), {
|
|
143
|
-
component: 'useSessionSocket'
|
|
144
|
-
});
|
|
140
|
+
case 'device_removed':
|
|
141
|
+
{
|
|
142
|
+
if (data.sessionIds && onSessionRemovedRef.current) {
|
|
143
|
+
for (const sessionId of data.sessionIds) {
|
|
144
|
+
onSessionRemovedRef.current(sessionId);
|
|
145
|
+
}
|
|
145
146
|
}
|
|
147
|
+
if (data.deviceId && currentDeviceIdValue && data.deviceId === currentDeviceIdValue) {
|
|
148
|
+
await triggerLocalSignOut('This device has been removed. You have been signed out.', 'device_removed');
|
|
149
|
+
} else {
|
|
150
|
+
refreshSessionsSafe();
|
|
151
|
+
}
|
|
152
|
+
break;
|
|
146
153
|
}
|
|
147
|
-
|
|
148
|
-
|
|
149
|
-
|
|
150
|
-
|
|
151
|
-
|
|
152
|
-
|
|
153
|
-
component: 'useSessionSocket'
|
|
154
|
-
}, error);
|
|
154
|
+
case 'sessions_removed':
|
|
155
|
+
{
|
|
156
|
+
if (data.sessionIds && onSessionRemovedRef.current) {
|
|
157
|
+
for (const sessionId of data.sessionIds) {
|
|
158
|
+
onSessionRemovedRef.current(sessionId);
|
|
159
|
+
}
|
|
155
160
|
}
|
|
156
|
-
|
|
157
|
-
|
|
158
|
-
|
|
159
|
-
|
|
160
|
-
|
|
161
|
-
|
|
162
|
-
onSessionRemovedRef.current(sessionId);
|
|
161
|
+
if (data.sessionIds && currentActiveSessionId && data.sessionIds.includes(currentActiveSessionId)) {
|
|
162
|
+
await triggerLocalSignOut('You have been signed out remotely.', 'sessions_removed');
|
|
163
|
+
} else {
|
|
164
|
+
refreshSessionsSafe();
|
|
165
|
+
}
|
|
166
|
+
break;
|
|
163
167
|
}
|
|
164
|
-
|
|
165
|
-
|
|
166
|
-
|
|
167
|
-
|
|
168
|
-
|
|
169
|
-
|
|
170
|
-
|
|
171
|
-
|
|
168
|
+
case 'session_created':
|
|
169
|
+
case 'session_update':
|
|
170
|
+
{
|
|
171
|
+
// Lifecycle event for the current user. Just resync the sessions
|
|
172
|
+
// list — never sign out. Historically this branch had a legacy
|
|
173
|
+
// fallback that compared `data.sessionId === currentActiveSessionId`
|
|
174
|
+
// and signed the user out if true, which was catastrophic: a
|
|
175
|
+
// `session_created` event fired immediately after a successful
|
|
176
|
+
// sign-in carries the user's NEW (now-active) session id, which
|
|
177
|
+
// matched and triggered an instant remote sign-out toast on every
|
|
178
|
+
// login. Whitelist explicitly; never fall through.
|
|
179
|
+
refreshSessionsSafe();
|
|
180
|
+
break;
|
|
172
181
|
}
|
|
173
|
-
|
|
174
|
-
|
|
175
|
-
try {
|
|
176
|
-
await clearSessionStateRef.current();
|
|
177
|
-
} catch (error) {
|
|
182
|
+
default:
|
|
183
|
+
{
|
|
178
184
|
if (__DEV__) {
|
|
179
|
-
_core.logger.
|
|
180
|
-
component: 'useSessionSocket'
|
|
185
|
+
_core.logger.warn('Unknown session socket event type', {
|
|
186
|
+
component: 'useSessionSocket',
|
|
187
|
+
type: data.type
|
|
181
188
|
});
|
|
182
189
|
}
|
|
190
|
+
break;
|
|
183
191
|
}
|
|
184
|
-
} else {
|
|
185
|
-
// Otherwise, refresh sessions list (with error handling)
|
|
186
|
-
refreshSessionsRef.current().catch(error => {
|
|
187
|
-
// Silently handle errors from refresh - they're expected if sessions were removed
|
|
188
|
-
if (__DEV__) {
|
|
189
|
-
_core.logger.debug('Failed to refresh sessions after sessions_removed', {
|
|
190
|
-
component: 'useSessionSocket'
|
|
191
|
-
}, error);
|
|
192
|
-
}
|
|
193
|
-
});
|
|
194
|
-
}
|
|
195
|
-
} else {
|
|
196
|
-
// For other event types (e.g., session_created), refresh sessions (with error handling)
|
|
197
|
-
refreshSessionsRef.current().catch(error => {
|
|
198
|
-
// Log but don't throw - refresh errors shouldn't break the socket handler
|
|
199
|
-
if (__DEV__) {
|
|
200
|
-
_core.logger.debug('Failed to refresh sessions after session_update', {
|
|
201
|
-
component: 'useSessionSocket'
|
|
202
|
-
}, error);
|
|
203
|
-
}
|
|
204
|
-
});
|
|
205
|
-
|
|
206
|
-
// If the current session was logged out (legacy behavior), handle it specially
|
|
207
|
-
if (data.sessionId === currentActiveSessionId) {
|
|
208
|
-
if (onRemoteSignOutRef.current) {
|
|
209
|
-
onRemoteSignOutRef.current();
|
|
210
|
-
} else {
|
|
211
|
-
_sonner.toast.info('You have been signed out remotely.');
|
|
212
|
-
}
|
|
213
|
-
// Use clearSessionState since session was already removed server-side
|
|
214
|
-
// Await to ensure storage cleanup completes before continuing
|
|
215
|
-
try {
|
|
216
|
-
await clearSessionStateRef.current();
|
|
217
|
-
} catch (error) {
|
|
218
|
-
debug.error('Failed to clear session state after session_update:', error);
|
|
219
|
-
}
|
|
220
|
-
}
|
|
221
192
|
}
|
|
222
193
|
};
|
|
223
194
|
socket.on('connect', handleConnect);
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"names":["_react","require","_socket","_interopRequireDefault","
|
|
1
|
+
{"version":3,"names":["_react","require","_socket","_interopRequireDefault","_bloom","_core","e","__esModule","default","debug","createDebugLogger","useSessionSocket","userId","activeSessionId","currentDeviceId","refreshSessions","clearSessionState","baseURL","getAccessToken","onRemoteSignOut","onSessionRemoved","socketRef","useRef","refreshSessionsRef","clearSessionStateRef","onRemoteSignOutRef","onSessionRemovedRef","activeSessionIdRef","currentDeviceIdRef","getAccessTokenRef","useEffect","current","disconnect","io","transports","auth","cb","token","socket","handleConnect","log","id","refreshSessionsSafe","catch","error","__DEV__","logger","component","triggerLocalSignOut","toastMessage","errorContext","toast","info","Error","String","handleSessionUpdate","data","currentActiveSessionId","currentDeviceIdValue","type","sessionId","sessionIds","deviceId","includes","warn","on","off"],"sourceRoot":"../../../../src","sources":["ui/hooks/useSessionSocket.ts"],"mappings":"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","ignoreList":[]}
|
|
@@ -7,7 +7,7 @@ exports.default = void 0;
|
|
|
7
7
|
exports.useSettingToggle = useSettingToggle;
|
|
8
8
|
exports.useSettingToggles = useSettingToggles;
|
|
9
9
|
var _react = require("react");
|
|
10
|
-
var
|
|
10
|
+
var _bloom = require("@oxyhq/bloom");
|
|
11
11
|
/**
|
|
12
12
|
* Hook for handling boolean toggle settings with optimistic updates.
|
|
13
13
|
* Automatically reverts to the previous value if the save fails.
|
|
@@ -47,14 +47,14 @@ function useSettingToggle(options) {
|
|
|
47
47
|
try {
|
|
48
48
|
await onSave(newValue);
|
|
49
49
|
if (showSuccessToast && successMessage) {
|
|
50
|
-
|
|
50
|
+
_bloom.toast.success(successMessage);
|
|
51
51
|
}
|
|
52
52
|
} catch (err) {
|
|
53
53
|
// Revert on error
|
|
54
54
|
if (revertOnError) {
|
|
55
55
|
setValue(previousValue);
|
|
56
56
|
}
|
|
57
|
-
|
|
57
|
+
_bloom.toast.error(errorMessage || (err instanceof Error ? err.message : null) || 'An error occurred');
|
|
58
58
|
} finally {
|
|
59
59
|
setIsSaving(false);
|
|
60
60
|
}
|
|
@@ -106,7 +106,7 @@ function useSettingToggles(options) {
|
|
|
106
106
|
}));
|
|
107
107
|
}
|
|
108
108
|
const message = typeof errorMessage === 'function' ? errorMessage(key) : errorMessage;
|
|
109
|
-
|
|
109
|
+
_bloom.toast.error(message || (err instanceof Error ? err.message : null) || 'An error occurred');
|
|
110
110
|
} finally {
|
|
111
111
|
setSavingKeys(prev => {
|
|
112
112
|
const next = new Set(prev);
|