@oxyhq/services 6.9.46 → 6.10.2
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
|
@@ -6,7 +6,7 @@ import {
|
|
|
6
6
|
Linking,
|
|
7
7
|
} from 'react-native';
|
|
8
8
|
import type { BaseScreenProps } from '../types/navigation';
|
|
9
|
-
import { toast } from '
|
|
9
|
+
import { toast } from '@oxyhq/bloom';
|
|
10
10
|
import { Header } from '../components';
|
|
11
11
|
import { SettingsIcon } from '../components/SettingsIcon';
|
|
12
12
|
import { useI18n } from '../hooks/useI18n';
|
|
@@ -43,7 +43,6 @@ const HelpSupportScreen: React.FC<BaseScreenProps> = ({
|
|
|
43
43
|
}, [navigate, t]);
|
|
44
44
|
|
|
45
45
|
const handleReportBug = useMemo(() => () => {
|
|
46
|
-
// TODO: Consider implementing a dedicated bug report form instead of just email
|
|
47
46
|
Linking.openURL('mailto:bugs@oxy.so?subject=Bug Report').catch(() => {
|
|
48
47
|
toast.error(t('help.reportError') || 'Failed to open email client');
|
|
49
48
|
});
|
|
@@ -85,7 +84,7 @@ const HelpSupportScreen: React.FC<BaseScreenProps> = ({
|
|
|
85
84
|
{/* Resources */}
|
|
86
85
|
<SettingsListGroup title={t('help.resources') || 'Resources'}>
|
|
87
86
|
<SettingsListItem
|
|
88
|
-
icon={<SettingsIcon name="file-document" color=
|
|
87
|
+
icon={<SettingsIcon name="file-document" color={bloomTheme.colors.textTertiary} />}
|
|
89
88
|
title={t('help.documentation.title') || 'Documentation'}
|
|
90
89
|
description={t('help.documentation.subtitle') || 'User guides and tutorials'}
|
|
91
90
|
onPress={() => {
|
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
import React, { useState, useCallback } from 'react';
|
|
2
2
|
import { View, StyleSheet, ScrollView } from 'react-native';
|
|
3
3
|
import type { BaseScreenProps } from '../types/navigation';
|
|
4
|
-
import { toast } from '
|
|
4
|
+
import { toast } from '@oxyhq/bloom';
|
|
5
5
|
import { Header, LoadingState, EmptyState } from '../components';
|
|
6
6
|
import { SettingsListGroup, SettingsListItem } from '@oxyhq/bloom/settings-list';
|
|
7
7
|
import { SettingsIcon } from '../components/SettingsIcon';
|
|
@@ -11,8 +11,7 @@ import { useColorScheme } from '../hooks/useColorScheme';
|
|
|
11
11
|
import { Colors } from '../constants/theme';
|
|
12
12
|
import { normalizeColorScheme } from '../utils/themeUtils';
|
|
13
13
|
import { useOxy } from '../context/OxyContext';
|
|
14
|
-
import
|
|
15
|
-
import { usePromptControl } from '@oxyhq/bloom/prompt';
|
|
14
|
+
import { Dialog, useDialogControl } from '@oxyhq/bloom';
|
|
16
15
|
|
|
17
16
|
interface HistoryItem { id: string; query: string; type: 'search' | 'browse'; timestamp: Date; }
|
|
18
17
|
|
|
@@ -26,8 +25,8 @@ const HistoryViewScreen: React.FC<BaseScreenProps> = ({ onClose, theme, goBack }
|
|
|
26
25
|
const [history, setHistory] = useState<HistoryItem[]>([]);
|
|
27
26
|
const [isLoading, setIsLoading] = useState(true);
|
|
28
27
|
const [isDeleting, setIsDeleting] = useState(false);
|
|
29
|
-
const
|
|
30
|
-
const
|
|
28
|
+
const deleteLast15Dialog = useDialogControl();
|
|
29
|
+
const clearAllDialog = useDialogControl();
|
|
31
30
|
|
|
32
31
|
const getStorage = async () => {
|
|
33
32
|
const isRN = typeof navigator !== 'undefined' && navigator.product === 'ReactNative';
|
|
@@ -100,14 +99,14 @@ const HistoryViewScreen: React.FC<BaseScreenProps> = ({ onClose, theme, goBack }
|
|
|
100
99
|
icon={<SettingsIcon name="clock-outline" color={themeColors.iconStorage} />}
|
|
101
100
|
title={t('history.deleteLast15Minutes.title') || 'Delete Last 15 Minutes'}
|
|
102
101
|
description={t('history.deleteLast15Minutes.subtitle') || 'Remove recent history entries'}
|
|
103
|
-
onPress={() =>
|
|
102
|
+
onPress={() => deleteLast15Dialog.open()}
|
|
104
103
|
disabled={isDeleting || history.length === 0}
|
|
105
104
|
/>
|
|
106
105
|
<SettingsListItem
|
|
107
106
|
icon={<SettingsIcon name="delete-outline" color={themeColors.iconSharing} />}
|
|
108
107
|
title={t('history.clearAll.title') || 'Clear All History'}
|
|
109
108
|
description={t('history.clearAll.subtitle') || 'Remove all history entries'}
|
|
110
|
-
onPress={() =>
|
|
109
|
+
onPress={() => clearAllDialog.open()}
|
|
111
110
|
disabled={isDeleting || history.length === 0}
|
|
112
111
|
/>
|
|
113
112
|
</SettingsListGroup>
|
|
@@ -124,8 +123,24 @@ const HistoryViewScreen: React.FC<BaseScreenProps> = ({ onClose, theme, goBack }
|
|
|
124
123
|
))}
|
|
125
124
|
</SettingsListGroup>
|
|
126
125
|
</ScrollView>
|
|
127
|
-
<
|
|
128
|
-
|
|
126
|
+
<Dialog
|
|
127
|
+
control={deleteLast15Dialog}
|
|
128
|
+
title={t('history.deleteLast15Minutes.title') || 'Delete Last 15 Minutes'}
|
|
129
|
+
description={t('history.deleteLast15Minutes.confirm') || 'Delete last 15 minutes of history?'}
|
|
130
|
+
actions={[
|
|
131
|
+
{ label: t('common.actions.delete') || 'Delete', color: 'destructive', onPress: handleDeleteLast15Minutes },
|
|
132
|
+
{ label: t('common.cancel') || 'Cancel', color: 'cancel' },
|
|
133
|
+
]}
|
|
134
|
+
/>
|
|
135
|
+
<Dialog
|
|
136
|
+
control={clearAllDialog}
|
|
137
|
+
title={t('history.clearAll.title') || 'Clear All History'}
|
|
138
|
+
description={t('history.clearAll.confirm') || 'Clear all history? This cannot be undone.'}
|
|
139
|
+
actions={[
|
|
140
|
+
{ label: t('history.clearAll.title') || 'Clear All', color: 'destructive', onPress: handleClearAll },
|
|
141
|
+
{ label: t('common.cancel') || 'Cancel', color: 'cancel' },
|
|
142
|
+
]}
|
|
143
|
+
/>
|
|
129
144
|
</View>
|
|
130
145
|
);
|
|
131
146
|
};
|
|
@@ -11,13 +11,12 @@ import type { BaseScreenProps } from '../types/navigation';
|
|
|
11
11
|
import { useTheme } from '@oxyhq/bloom/theme';
|
|
12
12
|
import { normalizeTheme } from '../utils/themeUtils';
|
|
13
13
|
import { Ionicons } from '@expo/vector-icons';
|
|
14
|
-
import { toast } from '
|
|
14
|
+
import { toast } from '@oxyhq/bloom';
|
|
15
15
|
import { Header } from '../components';
|
|
16
16
|
import { SettingsListGroup, SettingsListItem } from '@oxyhq/bloom/settings-list';
|
|
17
17
|
import { useI18n } from '../hooks/useI18n';
|
|
18
18
|
import { SUPPORTED_LANGUAGES } from '@oxyhq/core';
|
|
19
19
|
import { useOxy } from '../context/OxyContext';
|
|
20
|
-
import { fontFamilies } from '../styles/fonts';
|
|
21
20
|
|
|
22
21
|
interface LanguageSelectorScreenProps extends BaseScreenProps { }
|
|
23
22
|
|
|
@@ -188,7 +187,6 @@ const styles = StyleSheet.create({
|
|
|
188
187
|
bigTitle: {
|
|
189
188
|
fontSize: 34,
|
|
190
189
|
fontWeight: Platform.OS === 'web' ? 'bold' : undefined,
|
|
191
|
-
fontFamily: fontFamilies.interBold,
|
|
192
190
|
lineHeight: 40,
|
|
193
191
|
marginBottom: 8,
|
|
194
192
|
letterSpacing: -0.5,
|
|
@@ -6,7 +6,7 @@ import {
|
|
|
6
6
|
Linking,
|
|
7
7
|
} from 'react-native';
|
|
8
8
|
import type { BaseScreenProps } from '../types/navigation';
|
|
9
|
-
import { toast } from '
|
|
9
|
+
import { toast } from '@oxyhq/bloom';
|
|
10
10
|
import { Header, LoadingState } from '../components';
|
|
11
11
|
import { SettingsListGroup, SettingsListItem } from '@oxyhq/bloom/settings-list';
|
|
12
12
|
import { SettingsIcon } from '../components/SettingsIcon';
|
|
@@ -155,13 +155,13 @@ const LegalDocumentsScreen: React.FC<BaseScreenProps> = ({
|
|
|
155
155
|
onPress={handleOpenPolicy('contentModeration')}
|
|
156
156
|
/>
|
|
157
157
|
<SettingsListItem
|
|
158
|
-
icon={<SettingsIcon name="heart" color=
|
|
158
|
+
icon={<SettingsIcon name="heart" color={bloomTheme.colors.error} />}
|
|
159
159
|
title={t('legal.childSafety.title') || 'Child Safety Policy'}
|
|
160
160
|
description={t('legal.childSafety.subtitle') || 'Protecting minors on our platform'}
|
|
161
161
|
onPress={handleOpenPolicy('childSafety')}
|
|
162
162
|
/>
|
|
163
163
|
<SettingsListItem
|
|
164
|
-
icon={<SettingsIcon name="cookie" color=
|
|
164
|
+
icon={<SettingsIcon name="cookie" color={bloomTheme.colors.textTertiary} />}
|
|
165
165
|
title={t('legal.cookiePolicy.title') || 'Cookie Policy'}
|
|
166
166
|
description={t('legal.cookiePolicy.subtitle') || 'How we use cookies and similar technologies'}
|
|
167
167
|
onPress={handleOpenPolicy('cookie')}
|
|
@@ -153,7 +153,7 @@ const PaymentGatewayScreen: React.FC<PaymentGatewayScreenProps> = (props) => {
|
|
|
153
153
|
}
|
|
154
154
|
}, [currentStep, progressAnim, animateTransition]);
|
|
155
155
|
|
|
156
|
-
// Pay handler
|
|
156
|
+
// Pay handler — placeholder for payment integration
|
|
157
157
|
const handlePay = useCallback(() => {
|
|
158
158
|
setIsPaying(true);
|
|
159
159
|
setTimeout(() => {
|
|
@@ -198,7 +198,7 @@ const PaymentGatewayScreen: React.FC<PaymentGatewayScreenProps> = (props) => {
|
|
|
198
198
|
);
|
|
199
199
|
}
|
|
200
200
|
|
|
201
|
-
// FairCoin address
|
|
201
|
+
// FairCoin address placeholder — replaced when integration is wired up.
|
|
202
202
|
const faircoinAddress = 'f1abc1234FAIRCOINADDRESS';
|
|
203
203
|
const { width: windowWidth } = useWindowDimensions();
|
|
204
204
|
const isMobile = windowWidth < 600;
|
|
@@ -12,10 +12,7 @@ import {
|
|
|
12
12
|
Dimensions,
|
|
13
13
|
} from 'react-native';
|
|
14
14
|
import type { BaseScreenProps } from '../types/navigation';
|
|
15
|
-
import {
|
|
16
|
-
import { toast } from '../../lib/sonner';
|
|
17
|
-
import * as Prompt from '@oxyhq/bloom/prompt';
|
|
18
|
-
import { usePromptControl } from '@oxyhq/bloom/prompt';
|
|
15
|
+
import { Dialog, toast, useDialogControl } from '@oxyhq/bloom';
|
|
19
16
|
import { Ionicons } from '@expo/vector-icons';
|
|
20
17
|
import Avatar from '../components/Avatar';
|
|
21
18
|
import { useI18n } from '../hooks/useI18n';
|
|
@@ -86,8 +83,8 @@ const PremiumSubscriptionScreen: React.FC<BaseScreenProps> = ({
|
|
|
86
83
|
const bloomTheme = useTheme();
|
|
87
84
|
|
|
88
85
|
// Prompt controls
|
|
89
|
-
const
|
|
90
|
-
const
|
|
86
|
+
const cancelSubscriptionDialog = useDialogControl();
|
|
87
|
+
const unsubscribeFeatureDialog = useDialogControl();
|
|
91
88
|
|
|
92
89
|
// Extract commonly used colors for readability
|
|
93
90
|
const textColor = bloomTheme.colors.text;
|
|
@@ -98,10 +95,8 @@ const PremiumSubscriptionScreen: React.FC<BaseScreenProps> = ({
|
|
|
98
95
|
const successColor = bloomTheme.colors.success;
|
|
99
96
|
const dangerColor = bloomTheme.colors.error;
|
|
100
97
|
const isDarkTheme = bloomTheme.isDark;
|
|
101
|
-
const warningColor =
|
|
98
|
+
const warningColor = bloomTheme.colors.warning;
|
|
102
99
|
|
|
103
|
-
// TODO: Replace mock data with actual API integration
|
|
104
|
-
// Should fetch plans from oxyServices.getSubscriptionPlans() and individual features from oxyServices.getIndividualFeatures()
|
|
105
100
|
// Oxy+ subscription plans
|
|
106
101
|
const mockPlans: SubscriptionPlan[] = [
|
|
107
102
|
{
|
|
@@ -417,8 +412,8 @@ const PremiumSubscriptionScreen: React.FC<BaseScreenProps> = ({
|
|
|
417
412
|
};
|
|
418
413
|
|
|
419
414
|
const confirmCancelSubscription = useCallback(() => {
|
|
420
|
-
|
|
421
|
-
}, [
|
|
415
|
+
cancelSubscriptionDialog.open();
|
|
416
|
+
}, [cancelSubscriptionDialog]);
|
|
422
417
|
|
|
423
418
|
const handleCancelSubscription = useCallback(async () => {
|
|
424
419
|
try {
|
|
@@ -504,8 +499,8 @@ const PremiumSubscriptionScreen: React.FC<BaseScreenProps> = ({
|
|
|
504
499
|
|
|
505
500
|
const confirmFeatureUnsubscribe = useCallback((featureId: string) => {
|
|
506
501
|
setPendingUnsubscribeFeatureId(featureId);
|
|
507
|
-
|
|
508
|
-
}, [
|
|
502
|
+
unsubscribeFeatureDialog.open();
|
|
503
|
+
}, [unsubscribeFeatureDialog]);
|
|
509
504
|
|
|
510
505
|
const handleFeatureUnsubscribe = useCallback(async () => {
|
|
511
506
|
if (!pendingUnsubscribeFeatureId) return;
|
|
@@ -551,7 +546,7 @@ const PremiumSubscriptionScreen: React.FC<BaseScreenProps> = ({
|
|
|
551
546
|
</TouchableOpacity>
|
|
552
547
|
<View style={styles.headerTitleContainer}>
|
|
553
548
|
<Text style={[styles.headerTitle, { color: textColor }]}>{t('premium.title') || 'Oxy+ Subscriptions'}</Text>
|
|
554
|
-
<Text style={[styles.currentAppText, { color:
|
|
549
|
+
<Text style={[styles.currentAppText, { color: bloomTheme.colors.textSecondary }]}>
|
|
555
550
|
{t('premium.forApp', { app: getAppDisplayName(currentAppPackage) }) || `for ${getAppDisplayName(currentAppPackage)}`}
|
|
556
551
|
</Text>
|
|
557
552
|
</View>
|
|
@@ -594,7 +589,7 @@ const PremiumSubscriptionScreen: React.FC<BaseScreenProps> = ({
|
|
|
594
589
|
</View>
|
|
595
590
|
</View>
|
|
596
591
|
|
|
597
|
-
<Text style={[styles.subscriptionDetail, { color:
|
|
592
|
+
<Text style={[styles.subscriptionDetail, { color: bloomTheme.colors.textSecondary }]}>
|
|
598
593
|
{t('premium.current.renewsOn', { date: new Date(subscription.currentPeriodEnd).toLocaleDateString() }) || `Renews on ${new Date(subscription.currentPeriodEnd).toLocaleDateString()}`}
|
|
599
594
|
</Text>
|
|
600
595
|
|
|
@@ -648,7 +643,7 @@ const PremiumSubscriptionScreen: React.FC<BaseScreenProps> = ({
|
|
|
648
643
|
>
|
|
649
644
|
<Text style={[
|
|
650
645
|
styles.billingOptionText,
|
|
651
|
-
{ color: billingInterval === 'month' ?
|
|
646
|
+
{ color: billingInterval === 'month' ? bloomTheme.colors.negativeForeground : textColor }
|
|
652
647
|
]}>
|
|
653
648
|
{t('premium.billing.monthly') || 'Monthly'}
|
|
654
649
|
</Text>
|
|
@@ -663,7 +658,7 @@ const PremiumSubscriptionScreen: React.FC<BaseScreenProps> = ({
|
|
|
663
658
|
>
|
|
664
659
|
<Text style={[
|
|
665
660
|
styles.billingOptionText,
|
|
666
|
-
{ color: billingInterval === 'year' ?
|
|
661
|
+
{ color: billingInterval === 'year' ? bloomTheme.colors.negativeForeground : textColor }
|
|
667
662
|
]}>
|
|
668
663
|
{t('premium.billing.yearly') || 'Yearly'}
|
|
669
664
|
</Text>
|
|
@@ -737,10 +732,10 @@ const PremiumSubscriptionScreen: React.FC<BaseScreenProps> = ({
|
|
|
737
732
|
|
|
738
733
|
<View style={styles.planHeader}>
|
|
739
734
|
<Text style={[styles.planName, { color: textColor }]}>{plan.name}</Text>
|
|
740
|
-
<Text style={[styles.planDescription, { color:
|
|
735
|
+
<Text style={[styles.planDescription, { color: bloomTheme.colors.textSecondary }]}>
|
|
741
736
|
{plan.description}
|
|
742
737
|
</Text>
|
|
743
|
-
<Text style={[styles.planAppScope, { color:
|
|
738
|
+
<Text style={[styles.planAppScope, { color: bloomTheme.colors.textTertiary }]}>
|
|
744
739
|
{getAppScopeText()}
|
|
745
740
|
</Text>
|
|
746
741
|
{!availability.available && (
|
|
@@ -754,7 +749,7 @@ const PremiumSubscriptionScreen: React.FC<BaseScreenProps> = ({
|
|
|
754
749
|
<Text style={[styles.planPrice, { color: textColor }]}>
|
|
755
750
|
{pricing.formatted}
|
|
756
751
|
</Text>
|
|
757
|
-
<Text style={[styles.planInterval, { color:
|
|
752
|
+
<Text style={[styles.planInterval, { color: bloomTheme.colors.textSecondary }]}>
|
|
758
753
|
{t('premium.plan.perInterval', { interval: pricing.interval }) || `per ${pricing.interval}`}
|
|
759
754
|
</Text>
|
|
760
755
|
</View>
|
|
@@ -773,8 +768,8 @@ const PremiumSubscriptionScreen: React.FC<BaseScreenProps> = ({
|
|
|
773
768
|
<Text style={styles.currentPlanText}>{t('premium.plan.current') || 'Current Plan'}</Text>
|
|
774
769
|
</View>
|
|
775
770
|
) : !availability.available ? (
|
|
776
|
-
<View style={[styles.unavailablePlanButton, { backgroundColor:
|
|
777
|
-
<Text style={[styles.unavailablePlanText, { color:
|
|
771
|
+
<View style={[styles.unavailablePlanButton, { backgroundColor: bloomTheme.colors.border }]}>
|
|
772
|
+
<Text style={[styles.unavailablePlanText, { color: bloomTheme.colors.textTertiary }]}>
|
|
778
773
|
{t('premium.plan.notAvailableInApp') || 'Not Available in Current App'}
|
|
779
774
|
</Text>
|
|
780
775
|
</View>
|
|
@@ -788,11 +783,11 @@ const PremiumSubscriptionScreen: React.FC<BaseScreenProps> = ({
|
|
|
788
783
|
disabled={processingPayment}
|
|
789
784
|
>
|
|
790
785
|
{processingPayment ? (
|
|
791
|
-
<ActivityIndicator color=
|
|
786
|
+
<ActivityIndicator color={bloomTheme.colors.negativeForeground} size="small" />
|
|
792
787
|
) : (
|
|
793
788
|
<Text style={[
|
|
794
789
|
styles.selectPlanText,
|
|
795
|
-
{ color: plan.isPopular ?
|
|
790
|
+
{ color: plan.isPopular ? bloomTheme.colors.negativeForeground : textColor }
|
|
796
791
|
]}>
|
|
797
792
|
{t('premium.actions.subscribeTo', { name: plan.name }) || `Subscribe to ${plan.name}`}
|
|
798
793
|
</Text>
|
|
@@ -847,11 +842,11 @@ const PremiumSubscriptionScreen: React.FC<BaseScreenProps> = ({
|
|
|
847
842
|
|
|
848
843
|
const getCategoryColor = (category: string) => {
|
|
849
844
|
switch (category) {
|
|
850
|
-
case 'analytics': return
|
|
851
|
-
case 'customization': return
|
|
852
|
-
case 'content': return
|
|
853
|
-
case 'networking': return
|
|
854
|
-
case 'productivity': return
|
|
845
|
+
case 'analytics': return bloomTheme.colors.warning;
|
|
846
|
+
case 'customization': return bloomTheme.colors.secondary;
|
|
847
|
+
case 'content': return bloomTheme.colors.success;
|
|
848
|
+
case 'networking': return bloomTheme.colors.info;
|
|
849
|
+
case 'productivity': return bloomTheme.colors.error;
|
|
855
850
|
default: return primaryColor;
|
|
856
851
|
}
|
|
857
852
|
};
|
|
@@ -901,10 +896,10 @@ const PremiumSubscriptionScreen: React.FC<BaseScreenProps> = ({
|
|
|
901
896
|
</View>
|
|
902
897
|
)}
|
|
903
898
|
</View>
|
|
904
|
-
<Text style={[styles.featureDescription, { color:
|
|
899
|
+
<Text style={[styles.featureDescription, { color: bloomTheme.colors.textSecondary }]}>
|
|
905
900
|
{feature.description}
|
|
906
901
|
</Text>
|
|
907
|
-
<Text style={[styles.appScopeText, { color:
|
|
902
|
+
<Text style={[styles.appScopeText, { color: bloomTheme.colors.textTertiary }]}>
|
|
908
903
|
{getAppScopeText()}
|
|
909
904
|
</Text>
|
|
910
905
|
</View>
|
|
@@ -915,7 +910,7 @@ const PremiumSubscriptionScreen: React.FC<BaseScreenProps> = ({
|
|
|
915
910
|
<Text style={[styles.featurePrice, { color: textColor }]}>
|
|
916
911
|
{pricing.formatted}
|
|
917
912
|
</Text>
|
|
918
|
-
<Text style={[styles.featureInterval, { color:
|
|
913
|
+
<Text style={[styles.featureInterval, { color: bloomTheme.colors.textSecondary }]}>
|
|
919
914
|
{t('premium.plan.perInterval', { interval: pricing.interval }) || `per ${pricing.interval}`}
|
|
920
915
|
</Text>
|
|
921
916
|
</View>
|
|
@@ -923,13 +918,13 @@ const PremiumSubscriptionScreen: React.FC<BaseScreenProps> = ({
|
|
|
923
918
|
|
|
924
919
|
{isIncludedInCurrentPlan ? (
|
|
925
920
|
<View style={[styles.includedInPlanButton, { backgroundColor: primaryColor }]}>
|
|
926
|
-
<Ionicons name="checkmark-circle" size={16} color=
|
|
921
|
+
<Ionicons name="checkmark-circle" size={16} color={bloomTheme.colors.negativeForeground} />
|
|
927
922
|
<Text style={styles.includedInPlanText}>{t('premium.feature.includedInPlan') || 'Included in your plan'}</Text>
|
|
928
923
|
</View>
|
|
929
924
|
) : isSubscribed ? (
|
|
930
925
|
<View style={styles.featureActions}>
|
|
931
926
|
<View style={[styles.subscribedButton, { backgroundColor: successColor }]}>
|
|
932
|
-
<Ionicons name="checkmark" size={16} color=
|
|
927
|
+
<Ionicons name="checkmark" size={16} color={bloomTheme.colors.negativeForeground} />
|
|
933
928
|
<Text style={styles.subscribedText}>{t('premium.feature.subscribed') || 'Subscribed'}</Text>
|
|
934
929
|
</View>
|
|
935
930
|
<TouchableOpacity
|
|
@@ -946,14 +941,14 @@ const PremiumSubscriptionScreen: React.FC<BaseScreenProps> = ({
|
|
|
946
941
|
disabled={processingPayment}
|
|
947
942
|
>
|
|
948
943
|
{processingPayment ? (
|
|
949
|
-
<ActivityIndicator color=
|
|
944
|
+
<ActivityIndicator color={bloomTheme.colors.negativeForeground} size="small" />
|
|
950
945
|
) : (
|
|
951
946
|
<Text style={styles.subscribeFeatureText}>{t('premium.actions.subscribe') || 'Subscribe'}</Text>
|
|
952
947
|
)}
|
|
953
948
|
</TouchableOpacity>
|
|
954
949
|
) : (
|
|
955
|
-
<View style={[styles.unavailableButton, { backgroundColor:
|
|
956
|
-
<Text style={[styles.unavailableText, { color:
|
|
950
|
+
<View style={[styles.unavailableButton, { backgroundColor: bloomTheme.colors.border }]}>
|
|
951
|
+
<Text style={[styles.unavailableText, { color: bloomTheme.colors.textTertiary }]}>
|
|
957
952
|
Only available in subscription plans
|
|
958
953
|
</Text>
|
|
959
954
|
</View>
|
|
@@ -968,7 +963,7 @@ const PremiumSubscriptionScreen: React.FC<BaseScreenProps> = ({
|
|
|
968
963
|
return (
|
|
969
964
|
<View style={styles.section}>
|
|
970
965
|
<Text style={[styles.sectionTitle, { color: textColor }]}>Individual Features</Text>
|
|
971
|
-
<Text style={[styles.sectionSubtitle, { color:
|
|
966
|
+
<Text style={[styles.sectionSubtitle, { color: bloomTheme.colors.textSecondary }]}>
|
|
972
967
|
Subscribe to specific features you need. Some features are included in subscription plans.
|
|
973
968
|
</Text>
|
|
974
969
|
|
|
@@ -998,7 +993,7 @@ const PremiumSubscriptionScreen: React.FC<BaseScreenProps> = ({
|
|
|
998
993
|
const testApps = ['mention', 'oxy-social', 'oxy-workspace', 'oxy-creator'];
|
|
999
994
|
|
|
1000
995
|
return (
|
|
1001
|
-
<View style={[styles.appSwitcher, { backgroundColor:
|
|
996
|
+
<View style={[styles.appSwitcher, { backgroundColor: bloomTheme.colors.backgroundSecondary, borderColor }]}>
|
|
1002
997
|
<Text style={[styles.appSwitcherTitle, { color: textColor }]}>
|
|
1003
998
|
🧪 Test App Context (Dev Only)
|
|
1004
999
|
</Text>
|
|
@@ -1020,7 +1015,7 @@ const PremiumSubscriptionScreen: React.FC<BaseScreenProps> = ({
|
|
|
1020
1015
|
>
|
|
1021
1016
|
<Text style={[
|
|
1022
1017
|
styles.appSwitcherButtonText,
|
|
1023
|
-
{ color: currentAppPackage === app ?
|
|
1018
|
+
{ color: currentAppPackage === app ? bloomTheme.colors.negativeForeground : textColor }
|
|
1024
1019
|
]}>
|
|
1025
1020
|
{app}
|
|
1026
1021
|
</Text>
|
|
@@ -1052,7 +1047,7 @@ const PremiumSubscriptionScreen: React.FC<BaseScreenProps> = ({
|
|
|
1052
1047
|
{!subscription && (
|
|
1053
1048
|
<View style={styles.section}>
|
|
1054
1049
|
<Text style={[styles.sectionTitle, { color: textColor }]}>{t('premium.choosePlan') || 'Choose Your Plan'}</Text>
|
|
1055
|
-
<Text style={[styles.sectionSubtitle, { color:
|
|
1050
|
+
<Text style={[styles.sectionSubtitle, { color: bloomTheme.colors.textSecondary }]}>
|
|
1056
1051
|
{t('premium.choosePlanSubtitle') || 'Unlock premium features and take your experience to the next level'}
|
|
1057
1052
|
</Text>
|
|
1058
1053
|
</View>
|
|
@@ -1083,7 +1078,7 @@ const PremiumSubscriptionScreen: React.FC<BaseScreenProps> = ({
|
|
|
1083
1078
|
<Ionicons name="flash" size={24} color={primaryColor} />
|
|
1084
1079
|
<View style={styles.benefitContent}>
|
|
1085
1080
|
<Text style={[styles.benefitTitle, { color: textColor }]}>{t('premium.benefits.performance.title') || 'Enhanced Performance'}</Text>
|
|
1086
|
-
<Text style={[styles.benefitDescription, { color:
|
|
1081
|
+
<Text style={[styles.benefitDescription, { color: bloomTheme.colors.textSecondary }]}>
|
|
1087
1082
|
{t('premium.benefits.performance.desc') || 'Faster processing and priority access to our servers'}
|
|
1088
1083
|
</Text>
|
|
1089
1084
|
</View>
|
|
@@ -1093,7 +1088,7 @@ const PremiumSubscriptionScreen: React.FC<BaseScreenProps> = ({
|
|
|
1093
1088
|
<Ionicons name="shield-checkmark" size={24} color={successColor} />
|
|
1094
1089
|
<View style={styles.benefitContent}>
|
|
1095
1090
|
<Text style={[styles.benefitTitle, { color: textColor }]}>{t('premium.benefits.security.title') || 'Advanced Security'}</Text>
|
|
1096
|
-
<Text style={[styles.benefitDescription, { color:
|
|
1091
|
+
<Text style={[styles.benefitDescription, { color: bloomTheme.colors.textSecondary }]}>
|
|
1097
1092
|
{t('premium.benefits.security.desc') || 'Enhanced encryption and security features'}
|
|
1098
1093
|
</Text>
|
|
1099
1094
|
</View>
|
|
@@ -1103,7 +1098,7 @@ const PremiumSubscriptionScreen: React.FC<BaseScreenProps> = ({
|
|
|
1103
1098
|
<Ionicons name="headset" size={24} color={warningColor} />
|
|
1104
1099
|
<View style={styles.benefitContent}>
|
|
1105
1100
|
<Text style={[styles.benefitTitle, { color: textColor }]}>{t('premium.benefits.support.title') || 'Priority Support'}</Text>
|
|
1106
|
-
<Text style={[styles.benefitDescription, { color:
|
|
1101
|
+
<Text style={[styles.benefitDescription, { color: bloomTheme.colors.textSecondary }]}>
|
|
1107
1102
|
{t('premium.benefits.support.desc') || 'Get help faster with our premium support team'}
|
|
1108
1103
|
</Text>
|
|
1109
1104
|
</View>
|
|
@@ -1113,21 +1108,23 @@ const PremiumSubscriptionScreen: React.FC<BaseScreenProps> = ({
|
|
|
1113
1108
|
|
|
1114
1109
|
<View style={styles.bottomSpacing} />
|
|
1115
1110
|
</ScrollView>
|
|
1116
|
-
<
|
|
1117
|
-
control={
|
|
1111
|
+
<Dialog
|
|
1112
|
+
control={cancelSubscriptionDialog}
|
|
1118
1113
|
title={t('premium.confirms.cancelSubTitle') || 'Cancel Subscription'}
|
|
1119
1114
|
description={t('premium.confirms.cancelSub') || 'Are you sure you want to cancel your subscription? You will lose access to premium features at the end of your current billing period.'}
|
|
1120
|
-
|
|
1121
|
-
|
|
1122
|
-
|
|
1115
|
+
actions={[
|
|
1116
|
+
{ label: t('premium.actions.cancelSubBtn') || 'Cancel Subscription', color: 'destructive', onPress: handleCancelSubscription },
|
|
1117
|
+
{ label: t('common.cancel') || 'Cancel', color: 'cancel' },
|
|
1118
|
+
]}
|
|
1123
1119
|
/>
|
|
1124
|
-
<
|
|
1125
|
-
control={
|
|
1120
|
+
<Dialog
|
|
1121
|
+
control={unsubscribeFeatureDialog}
|
|
1126
1122
|
title={t('premium.confirms.unsubscribeFeatureTitle') || 'Unsubscribe from Feature'}
|
|
1127
1123
|
description={pendingUnsubscribeFeature ? (t('premium.confirms.unsubscribeFeature', { name: pendingUnsubscribeFeature.name }) ?? `Are you sure you want to unsubscribe from ${pendingUnsubscribeFeature.name}?`) : ''}
|
|
1128
|
-
|
|
1129
|
-
|
|
1130
|
-
|
|
1124
|
+
actions={[
|
|
1125
|
+
{ label: t('premium.actions.unsubscribe') || 'Unsubscribe', color: 'destructive', onPress: handleFeatureUnsubscribe },
|
|
1126
|
+
{ label: t('common.cancel') || 'Cancel', color: 'cancel' },
|
|
1127
|
+
]}
|
|
1131
1128
|
/>
|
|
1132
1129
|
</View>
|
|
1133
1130
|
);
|
|
@@ -1152,7 +1149,6 @@ const styles = StyleSheet.create({
|
|
|
1152
1149
|
headerTitle: {
|
|
1153
1150
|
fontSize: 20,
|
|
1154
1151
|
fontWeight: '600',
|
|
1155
|
-
fontFamily: fontFamilies.interSemiBold,
|
|
1156
1152
|
},
|
|
1157
1153
|
headerTitleContainer: {
|
|
1158
1154
|
flex: 1,
|
|
@@ -1175,7 +1171,6 @@ const styles = StyleSheet.create({
|
|
|
1175
1171
|
sectionTitle: {
|
|
1176
1172
|
fontSize: 24,
|
|
1177
1173
|
fontWeight: 'bold',
|
|
1178
|
-
fontFamily: fontFamilies.interBold,
|
|
1179
1174
|
marginBottom: 8,
|
|
1180
1175
|
},
|
|
1181
1176
|
sectionSubtitle: {
|
|
@@ -7,7 +7,7 @@ import {
|
|
|
7
7
|
TouchableOpacity,
|
|
8
8
|
} from 'react-native';
|
|
9
9
|
import type { BaseScreenProps } from '../types/navigation';
|
|
10
|
-
import { toast } from '
|
|
10
|
+
import { toast } from '@oxyhq/bloom';
|
|
11
11
|
import { Header, Avatar, LoadingState, EmptyState } from '../components';
|
|
12
12
|
import { SettingsListGroup, SettingsListItem } from '@oxyhq/bloom/settings-list';
|
|
13
13
|
import { Switch } from '@oxyhq/bloom/switch';
|
|
@@ -15,6 +15,7 @@ import { useI18n } from '../hooks/useI18n';
|
|
|
15
15
|
import { useTheme } from '@oxyhq/bloom/theme';
|
|
16
16
|
import { useSettingToggles } from '../hooks/useSettingToggle';
|
|
17
17
|
import type { BlockedUser, RestrictedUser } from '@oxyhq/core';
|
|
18
|
+
import { getAccountDisplayName } from '@oxyhq/core';
|
|
18
19
|
import { useOxy } from '../context/OxyContext';
|
|
19
20
|
|
|
20
21
|
interface PrivacySettings {
|
|
@@ -67,7 +68,7 @@ const PrivacySettingsScreen: React.FC<BaseScreenProps> = ({
|
|
|
67
68
|
goBack,
|
|
68
69
|
}) => {
|
|
69
70
|
const { oxyServices, user } = useOxy();
|
|
70
|
-
const { t } = useI18n();
|
|
71
|
+
const { t, locale } = useI18n();
|
|
71
72
|
const [isLoading, setIsLoading] = useState(true);
|
|
72
73
|
const [blockedUsers, setBlockedUsers] = useState<BlockedUser[]>([]);
|
|
73
74
|
const [restrictedUsers, setRestrictedUsers] = useState<RestrictedUser[]>([]);
|
|
@@ -167,35 +168,36 @@ const PrivacySettingsScreen: React.FC<BaseScreenProps> = ({
|
|
|
167
168
|
}
|
|
168
169
|
}, [oxyServices, t]);
|
|
169
170
|
|
|
170
|
-
// Helper to extract user info from blocked/restricted objects
|
|
171
|
+
// Helper to extract user info from blocked/restricted objects.
|
|
172
|
+
// Display names go through the canonical helper so the fallback chain is
|
|
173
|
+
// identical across every UI surface (name → username → publicKey → "Unnamed").
|
|
171
174
|
const extractUserInfo = useCallback((
|
|
172
175
|
item: BlockedUser | RestrictedUser,
|
|
173
176
|
idField: 'blockedId' | 'restrictedId'
|
|
174
177
|
) => {
|
|
175
178
|
let userIdField: string | { _id: string; username?: string; avatar?: string };
|
|
176
|
-
let
|
|
179
|
+
let userShape: { username?: string };
|
|
177
180
|
let avatar: string | undefined;
|
|
178
181
|
|
|
179
182
|
if (idField === 'blockedId' && 'blockedId' in item) {
|
|
180
183
|
userIdField = item.blockedId;
|
|
181
|
-
|
|
182
|
-
?
|
|
183
|
-
:
|
|
184
|
+
userShape = typeof item.blockedId === 'string'
|
|
185
|
+
? { username: item.username }
|
|
186
|
+
: { username: item.blockedId.username };
|
|
184
187
|
avatar = typeof item.blockedId === 'string' ? item.avatar : item.blockedId.avatar;
|
|
185
188
|
} else if (idField === 'restrictedId' && 'restrictedId' in item) {
|
|
186
189
|
userIdField = item.restrictedId;
|
|
187
|
-
|
|
188
|
-
?
|
|
189
|
-
:
|
|
190
|
+
userShape = typeof item.restrictedId === 'string'
|
|
191
|
+
? { username: item.username }
|
|
192
|
+
: { username: item.restrictedId.username };
|
|
190
193
|
avatar = typeof item.restrictedId === 'string' ? item.avatar : item.restrictedId.avatar;
|
|
191
194
|
} else {
|
|
192
|
-
|
|
193
|
-
return { userId: '', username: 'Unknown', avatar: undefined };
|
|
195
|
+
return { userId: '', displayName: getAccountDisplayName(null, locale), avatar: undefined };
|
|
194
196
|
}
|
|
195
197
|
|
|
196
198
|
const userId = typeof userIdField === 'string' ? userIdField : userIdField._id;
|
|
197
|
-
return { userId,
|
|
198
|
-
}, []);
|
|
199
|
+
return { userId, displayName: getAccountDisplayName(userShape, locale), avatar };
|
|
200
|
+
}, [locale]);
|
|
199
201
|
|
|
200
202
|
const bloomTheme = useTheme();
|
|
201
203
|
|
|
@@ -330,13 +332,13 @@ const PrivacySettingsScreen: React.FC<BaseScreenProps> = ({
|
|
|
330
332
|
/>
|
|
331
333
|
) : (
|
|
332
334
|
blockedUsers.map((blocked) => {
|
|
333
|
-
const { userId,
|
|
335
|
+
const { userId, displayName, avatar } = extractUserInfo(blocked, 'blockedId');
|
|
334
336
|
const avatarUri = avatar && oxyServices ? oxyServices.getFileDownloadUrl(avatar, 'thumb') : undefined;
|
|
335
337
|
return (
|
|
336
338
|
<SettingsListItem
|
|
337
339
|
key={userId}
|
|
338
|
-
icon={<Avatar uri={avatarUri} name={
|
|
339
|
-
title={
|
|
340
|
+
icon={<Avatar uri={avatarUri} name={displayName} size={20} />}
|
|
341
|
+
title={displayName}
|
|
340
342
|
rightElement={
|
|
341
343
|
<TouchableOpacity onPress={() => handleUnblock(userId)} style={[styles.actionButton, { backgroundColor: bloomTheme.colors.backgroundSecondary }]}>
|
|
342
344
|
<Text style={[styles.actionButtonText, { color: bloomTheme.colors.error }]}>{t('privacySettings.unblock') || 'Unblock'}</Text>
|
|
@@ -359,13 +361,13 @@ const PrivacySettingsScreen: React.FC<BaseScreenProps> = ({
|
|
|
359
361
|
/>
|
|
360
362
|
) : (
|
|
361
363
|
restrictedUsers.map((restricted) => {
|
|
362
|
-
const { userId,
|
|
364
|
+
const { userId, displayName, avatar } = extractUserInfo(restricted, 'restrictedId');
|
|
363
365
|
const avatarUri = avatar && oxyServices ? oxyServices.getFileDownloadUrl(avatar, 'thumb') : undefined;
|
|
364
366
|
return (
|
|
365
367
|
<SettingsListItem
|
|
366
368
|
key={userId}
|
|
367
|
-
icon={<Avatar uri={avatarUri} name={
|
|
368
|
-
title={
|
|
369
|
+
icon={<Avatar uri={avatarUri} name={displayName} size={20} />}
|
|
370
|
+
title={displayName}
|
|
369
371
|
description={t('privacySettings.restrictedDescription') || 'Limited interactions'}
|
|
370
372
|
rightElement={
|
|
371
373
|
<TouchableOpacity onPress={() => handleUnrestrict(userId)} style={[styles.actionButton, { backgroundColor: bloomTheme.colors.backgroundSecondary }]}>
|
|
@@ -185,7 +185,7 @@ const ProfileScreen: React.FC<ProfileScreenProps> = ({ userId, username, theme,
|
|
|
185
185
|
if (error) {
|
|
186
186
|
return (
|
|
187
187
|
<View style={[styles.container, { backgroundColor: bloomTheme.colors.background }]}>
|
|
188
|
-
<View style={styles.errorHeader}>
|
|
188
|
+
<View style={[styles.errorHeader, { borderBottomColor: bloomTheme.colors.border }]}>
|
|
189
189
|
{goBack && (
|
|
190
190
|
<TouchableOpacity onPress={goBack} style={styles.backButton}>
|
|
191
191
|
<Ionicons name="arrow-back" size={24} color={bloomTheme.colors.text} />
|
|
@@ -410,7 +410,6 @@ const createStyles = () => StyleSheet.create({
|
|
|
410
410
|
paddingHorizontal: 16,
|
|
411
411
|
paddingVertical: 12,
|
|
412
412
|
borderBottomWidth: 1,
|
|
413
|
-
borderBottomColor: '#E0E0E0',
|
|
414
413
|
},
|
|
415
414
|
backButton: {
|
|
416
415
|
padding: 8,
|
|
@@ -7,7 +7,7 @@ import {
|
|
|
7
7
|
ScrollView,
|
|
8
8
|
} from 'react-native';
|
|
9
9
|
import type { BaseScreenProps } from '../types/navigation';
|
|
10
|
-
import { toast } from '
|
|
10
|
+
import { toast } from '@oxyhq/bloom';
|
|
11
11
|
import { Header, LoadingState, EmptyState } from '../components';
|
|
12
12
|
import { SettingsListGroup, SettingsListItem } from '@oxyhq/bloom/settings-list';
|
|
13
13
|
import { SettingsIcon } from '../components/SettingsIcon';
|
|
@@ -53,7 +53,7 @@ const SavesCollectionsScreen: React.FC<BaseScreenProps> = ({
|
|
|
53
53
|
const normalizedColorScheme = normalizeColorScheme(colorScheme);
|
|
54
54
|
const themeColors = Colors[normalizedColorScheme];
|
|
55
55
|
const tabActiveColor = themeColors.iconSecurity;
|
|
56
|
-
const tabInactiveColor = bloomTheme.
|
|
56
|
+
const tabInactiveColor = bloomTheme.colors.textTertiary;
|
|
57
57
|
|
|
58
58
|
// Load saved items and collections from API
|
|
59
59
|
useEffect(() => {
|