@oxyhq/services 11.0.0 → 11.1.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 +7 -0
- package/lib/commonjs/index.js.map +1 -1
- package/lib/commonjs/ui/components/AccountMenu.js +9 -5
- package/lib/commonjs/ui/components/AccountMenu.js.map +1 -1
- package/lib/commonjs/ui/components/AnotherDeviceQR.js +51 -56
- package/lib/commonjs/ui/components/AnotherDeviceQR.js.map +1 -1
- package/lib/commonjs/ui/components/BottomSheetRouter.js +1 -0
- package/lib/commonjs/ui/components/BottomSheetRouter.js.map +1 -1
- package/lib/commonjs/ui/components/FollowButton.js +18 -5
- package/lib/commonjs/ui/components/FollowButton.js.map +1 -1
- package/lib/commonjs/ui/components/OxyLogo.js +1 -1
- package/lib/commonjs/ui/components/OxyLogo.js.map +1 -1
- package/lib/commonjs/ui/components/OxyProvider.js +23 -7
- package/lib/commonjs/ui/components/OxyProvider.js.map +1 -1
- package/lib/commonjs/ui/components/SignInModal.js +20 -1
- package/lib/commonjs/ui/components/SignInModal.js.map +1 -1
- package/lib/commonjs/ui/components/fileManagement/FileViewer.js +19 -9
- package/lib/commonjs/ui/components/fileManagement/FileViewer.js.map +1 -1
- package/lib/commonjs/ui/components/fileManagement/UploadPreview.js +4 -2
- package/lib/commonjs/ui/components/fileManagement/UploadPreview.js.map +1 -1
- package/lib/commonjs/ui/context/OxyContext.js +153 -19
- package/lib/commonjs/ui/context/OxyContext.js.map +1 -1
- package/lib/commonjs/ui/context/hooks/useAuthOperations.js +6 -17
- package/lib/commonjs/ui/context/hooks/useAuthOperations.js.map +1 -1
- package/lib/commonjs/ui/hooks/mutations/mutationFactory.js +5 -5
- package/lib/commonjs/ui/hooks/mutations/mutationFactory.js.map +1 -1
- package/lib/commonjs/ui/hooks/mutations/useAccountMutations.js +38 -38
- package/lib/commonjs/ui/hooks/mutations/useAccountMutations.js.map +1 -1
- package/lib/commonjs/ui/hooks/mutations/useServicesMutations.js +2 -2
- package/lib/commonjs/ui/hooks/mutations/useServicesMutations.js.map +1 -1
- package/lib/commonjs/ui/hooks/queries/queryKeys.js +3 -3
- package/lib/commonjs/ui/hooks/queries/queryKeys.js.map +1 -1
- package/lib/commonjs/ui/hooks/queries/useAccountQueries.js +1 -1
- package/lib/commonjs/ui/hooks/queries/useAccountQueries.js.map +1 -1
- package/lib/commonjs/ui/hooks/queries/usePaymentQueries.js +16 -12
- package/lib/commonjs/ui/hooks/queries/usePaymentQueries.js.map +1 -1
- package/lib/commonjs/ui/hooks/queries/useServicesQueries.js +10 -6
- package/lib/commonjs/ui/hooks/queries/useServicesQueries.js.map +1 -1
- package/lib/commonjs/ui/hooks/queryClient.js +6 -5
- package/lib/commonjs/ui/hooks/queryClient.js.map +1 -1
- package/lib/commonjs/ui/hooks/useOxyAuthSession.js +40 -2
- package/lib/commonjs/ui/hooks/useOxyAuthSession.js.map +1 -1
- package/lib/commonjs/ui/hooks/useProfileEditing.js +21 -0
- package/lib/commonjs/ui/hooks/useProfileEditing.js.map +1 -1
- package/lib/commonjs/ui/hooks/useSessionManagement.js +3 -3
- package/lib/commonjs/ui/hooks/useSessionManagement.js.map +1 -1
- package/lib/commonjs/ui/screens/AccountVerificationScreen.js +100 -108
- package/lib/commonjs/ui/screens/AccountVerificationScreen.js.map +1 -1
- package/lib/commonjs/ui/screens/AppInfoScreen.js +227 -273
- package/lib/commonjs/ui/screens/AppInfoScreen.js.map +1 -1
- package/lib/commonjs/ui/screens/AvatarCropScreen.js +10 -4
- package/lib/commonjs/ui/screens/AvatarCropScreen.js.map +1 -1
- package/lib/commonjs/ui/screens/ConnectedAppsScreen.js +20 -37
- package/lib/commonjs/ui/screens/ConnectedAppsScreen.js.map +1 -1
- package/lib/commonjs/ui/screens/CreateManagedAccountScreen.js +89 -201
- package/lib/commonjs/ui/screens/CreateManagedAccountScreen.js.map +1 -1
- package/lib/commonjs/ui/screens/EditProfileFieldScreen.js +80 -208
- package/lib/commonjs/ui/screens/EditProfileFieldScreen.js.map +1 -1
- package/lib/commonjs/ui/screens/FAQScreen.js +56 -208
- package/lib/commonjs/ui/screens/FAQScreen.js.map +1 -1
- package/lib/commonjs/ui/screens/FeedbackScreen.js +303 -352
- package/lib/commonjs/ui/screens/FeedbackScreen.js.map +1 -1
- package/lib/commonjs/ui/screens/FileManagementScreen.js +20 -20
- package/lib/commonjs/ui/screens/FileManagementScreen.js.map +1 -1
- package/lib/commonjs/ui/screens/HelpSupportScreen.js +77 -89
- package/lib/commonjs/ui/screens/HelpSupportScreen.js.map +1 -1
- package/lib/commonjs/ui/screens/HistoryViewScreen.js +43 -58
- package/lib/commonjs/ui/screens/HistoryViewScreen.js.map +1 -1
- package/lib/commonjs/ui/screens/LanguageSelectorScreen.js +67 -90
- package/lib/commonjs/ui/screens/LanguageSelectorScreen.js.map +1 -1
- package/lib/commonjs/ui/screens/LearnMoreUsernamesScreen.js +77 -177
- package/lib/commonjs/ui/screens/LearnMoreUsernamesScreen.js.map +1 -1
- package/lib/commonjs/ui/screens/LegalDocumentsScreen.js +113 -107
- package/lib/commonjs/ui/screens/LegalDocumentsScreen.js.map +1 -1
- package/lib/commonjs/ui/screens/ManageAccountScreen.js +55 -114
- package/lib/commonjs/ui/screens/ManageAccountScreen.js.map +1 -1
- package/lib/commonjs/ui/screens/NotificationsScreen.js +67 -85
- package/lib/commonjs/ui/screens/NotificationsScreen.js.map +1 -1
- package/lib/commonjs/ui/screens/OxyAuthScreen.js +71 -135
- package/lib/commonjs/ui/screens/OxyAuthScreen.js.map +1 -1
- package/lib/commonjs/ui/screens/PaymentGatewayScreen.js +15 -9
- package/lib/commonjs/ui/screens/PaymentGatewayScreen.js.map +1 -1
- package/lib/commonjs/ui/screens/PreferencesScreen.js +65 -83
- package/lib/commonjs/ui/screens/PreferencesScreen.js.map +1 -1
- package/lib/commonjs/ui/screens/PremiumSubscriptionScreen.js +378 -1023
- package/lib/commonjs/ui/screens/PremiumSubscriptionScreen.js.map +1 -1
- package/lib/commonjs/ui/screens/PrivacySettingsScreen.js +294 -242
- package/lib/commonjs/ui/screens/PrivacySettingsScreen.js.map +1 -1
- package/lib/commonjs/ui/screens/ProfileScreen.js +194 -333
- package/lib/commonjs/ui/screens/ProfileScreen.js.map +1 -1
- package/lib/commonjs/ui/screens/SavesCollectionsScreen.js +57 -97
- package/lib/commonjs/ui/screens/SavesCollectionsScreen.js.map +1 -1
- package/lib/commonjs/ui/screens/SearchSettingsScreen.js +41 -41
- package/lib/commonjs/ui/screens/SearchSettingsScreen.js.map +1 -1
- package/lib/commonjs/ui/screens/UserLinksScreen.js +17 -24
- package/lib/commonjs/ui/screens/UserLinksScreen.js.map +1 -1
- package/lib/commonjs/ui/screens/UserListScreen.js +83 -214
- package/lib/commonjs/ui/screens/UserListScreen.js.map +1 -1
- package/lib/commonjs/ui/screens/WelcomeNewUserScreen.js +115 -77
- package/lib/commonjs/ui/screens/WelcomeNewUserScreen.js.map +1 -1
- package/lib/commonjs/ui/screens/trust/TrustAboutScreen.js +70 -57
- package/lib/commonjs/ui/screens/trust/TrustAboutScreen.js.map +1 -1
- package/lib/commonjs/ui/screens/trust/TrustCenterScreen.js +136 -332
- package/lib/commonjs/ui/screens/trust/TrustCenterScreen.js.map +1 -1
- package/lib/commonjs/ui/screens/trust/TrustFAQScreen.js +47 -137
- package/lib/commonjs/ui/screens/trust/TrustFAQScreen.js.map +1 -1
- package/lib/commonjs/ui/screens/trust/TrustLeaderboardScreen.js +182 -115
- package/lib/commonjs/ui/screens/trust/TrustLeaderboardScreen.js.map +1 -1
- package/lib/commonjs/ui/screens/trust/TrustRewardsScreen.js +138 -214
- package/lib/commonjs/ui/screens/trust/TrustRewardsScreen.js.map +1 -1
- package/lib/commonjs/ui/screens/trust/TrustRulesScreen.js +54 -92
- package/lib/commonjs/ui/screens/trust/TrustRulesScreen.js.map +1 -1
- package/lib/commonjs/ui/utils/activeAuthuser.js +15 -9
- package/lib/commonjs/ui/utils/activeAuthuser.js.map +1 -1
- package/lib/commonjs/ui/utils/avatarUtils.js +1 -1
- package/lib/commonjs/ui/utils/avatarUtils.js.map +1 -1
- package/lib/module/index.js +2 -0
- package/lib/module/index.js.map +1 -1
- package/lib/module/ui/components/AccountMenu.js +10 -6
- package/lib/module/ui/components/AccountMenu.js.map +1 -1
- package/lib/module/ui/components/AnotherDeviceQR.js +50 -56
- package/lib/module/ui/components/AnotherDeviceQR.js.map +1 -1
- package/lib/module/ui/components/BottomSheetRouter.js +2 -1
- package/lib/module/ui/components/BottomSheetRouter.js.map +1 -1
- package/lib/module/ui/components/FollowButton.js +18 -5
- package/lib/module/ui/components/FollowButton.js.map +1 -1
- package/lib/module/ui/components/OxyLogo.js +1 -1
- package/lib/module/ui/components/OxyLogo.js.map +1 -1
- package/lib/module/ui/components/OxyProvider.js +23 -7
- package/lib/module/ui/components/OxyProvider.js.map +1 -1
- package/lib/module/ui/components/SignInModal.js +20 -1
- package/lib/module/ui/components/SignInModal.js.map +1 -1
- package/lib/module/ui/components/fileManagement/FileViewer.js +19 -9
- package/lib/module/ui/components/fileManagement/FileViewer.js.map +1 -1
- package/lib/module/ui/components/fileManagement/UploadPreview.js +4 -2
- package/lib/module/ui/components/fileManagement/UploadPreview.js.map +1 -1
- package/lib/module/ui/context/OxyContext.js +154 -20
- package/lib/module/ui/context/OxyContext.js.map +1 -1
- package/lib/module/ui/context/hooks/useAuthOperations.js +6 -17
- package/lib/module/ui/context/hooks/useAuthOperations.js.map +1 -1
- package/lib/module/ui/hooks/mutations/mutationFactory.js +5 -5
- package/lib/module/ui/hooks/mutations/mutationFactory.js.map +1 -1
- package/lib/module/ui/hooks/mutations/useAccountMutations.js +38 -38
- package/lib/module/ui/hooks/mutations/useAccountMutations.js.map +1 -1
- package/lib/module/ui/hooks/mutations/useServicesMutations.js +2 -2
- package/lib/module/ui/hooks/mutations/useServicesMutations.js.map +1 -1
- package/lib/module/ui/hooks/queries/queryKeys.js +3 -3
- package/lib/module/ui/hooks/queries/queryKeys.js.map +1 -1
- package/lib/module/ui/hooks/queries/useAccountQueries.js +1 -1
- package/lib/module/ui/hooks/queries/useAccountQueries.js.map +1 -1
- package/lib/module/ui/hooks/queries/usePaymentQueries.js +16 -12
- package/lib/module/ui/hooks/queries/usePaymentQueries.js.map +1 -1
- package/lib/module/ui/hooks/queries/useServicesQueries.js +9 -6
- package/lib/module/ui/hooks/queries/useServicesQueries.js.map +1 -1
- package/lib/module/ui/hooks/queryClient.js +6 -5
- package/lib/module/ui/hooks/queryClient.js.map +1 -1
- package/lib/module/ui/hooks/useOxyAuthSession.js +40 -2
- package/lib/module/ui/hooks/useOxyAuthSession.js.map +1 -1
- package/lib/module/ui/hooks/useProfileEditing.js +21 -0
- package/lib/module/ui/hooks/useProfileEditing.js.map +1 -1
- package/lib/module/ui/hooks/useSessionManagement.js +4 -3
- package/lib/module/ui/hooks/useSessionManagement.js.map +1 -1
- package/lib/module/ui/screens/AccountVerificationScreen.js +101 -109
- package/lib/module/ui/screens/AccountVerificationScreen.js.map +1 -1
- package/lib/module/ui/screens/AppInfoScreen.js +228 -275
- package/lib/module/ui/screens/AppInfoScreen.js.map +1 -1
- package/lib/module/ui/screens/AvatarCropScreen.js +10 -4
- package/lib/module/ui/screens/AvatarCropScreen.js.map +1 -1
- package/lib/module/ui/screens/ConnectedAppsScreen.js +19 -39
- package/lib/module/ui/screens/ConnectedAppsScreen.js.map +1 -1
- package/lib/module/ui/screens/CreateManagedAccountScreen.js +90 -202
- package/lib/module/ui/screens/CreateManagedAccountScreen.js.map +1 -1
- package/lib/module/ui/screens/EditProfileFieldScreen.js +77 -205
- package/lib/module/ui/screens/EditProfileFieldScreen.js.map +1 -1
- package/lib/module/ui/screens/FAQScreen.js +55 -207
- package/lib/module/ui/screens/FAQScreen.js.map +1 -1
- package/lib/module/ui/screens/FeedbackScreen.js +301 -350
- package/lib/module/ui/screens/FeedbackScreen.js.map +1 -1
- package/lib/module/ui/screens/FileManagementScreen.js +20 -20
- package/lib/module/ui/screens/FileManagementScreen.js.map +1 -1
- package/lib/module/ui/screens/HelpSupportScreen.js +78 -90
- package/lib/module/ui/screens/HelpSupportScreen.js.map +1 -1
- package/lib/module/ui/screens/HistoryViewScreen.js +44 -59
- package/lib/module/ui/screens/HistoryViewScreen.js.map +1 -1
- package/lib/module/ui/screens/LanguageSelectorScreen.js +68 -91
- package/lib/module/ui/screens/LanguageSelectorScreen.js.map +1 -1
- package/lib/module/ui/screens/LearnMoreUsernamesScreen.js +75 -177
- package/lib/module/ui/screens/LearnMoreUsernamesScreen.js.map +1 -1
- package/lib/module/ui/screens/LegalDocumentsScreen.js +116 -108
- package/lib/module/ui/screens/LegalDocumentsScreen.js.map +1 -1
- package/lib/module/ui/screens/ManageAccountScreen.js +52 -112
- package/lib/module/ui/screens/ManageAccountScreen.js.map +1 -1
- package/lib/module/ui/screens/NotificationsScreen.js +68 -86
- package/lib/module/ui/screens/NotificationsScreen.js.map +1 -1
- package/lib/module/ui/screens/OxyAuthScreen.js +69 -134
- package/lib/module/ui/screens/OxyAuthScreen.js.map +1 -1
- package/lib/module/ui/screens/PaymentGatewayScreen.js +16 -10
- package/lib/module/ui/screens/PaymentGatewayScreen.js.map +1 -1
- package/lib/module/ui/screens/PreferencesScreen.js +66 -84
- package/lib/module/ui/screens/PreferencesScreen.js.map +1 -1
- package/lib/module/ui/screens/PremiumSubscriptionScreen.js +366 -1012
- package/lib/module/ui/screens/PremiumSubscriptionScreen.js.map +1 -1
- package/lib/module/ui/screens/PrivacySettingsScreen.js +295 -243
- package/lib/module/ui/screens/PrivacySettingsScreen.js.map +1 -1
- package/lib/module/ui/screens/ProfileScreen.js +192 -331
- package/lib/module/ui/screens/ProfileScreen.js.map +1 -1
- package/lib/module/ui/screens/SavesCollectionsScreen.js +58 -98
- package/lib/module/ui/screens/SavesCollectionsScreen.js.map +1 -1
- package/lib/module/ui/screens/SearchSettingsScreen.js +42 -42
- package/lib/module/ui/screens/SearchSettingsScreen.js.map +1 -1
- package/lib/module/ui/screens/UserLinksScreen.js +18 -25
- package/lib/module/ui/screens/UserLinksScreen.js.map +1 -1
- package/lib/module/ui/screens/UserListScreen.js +81 -212
- package/lib/module/ui/screens/UserListScreen.js.map +1 -1
- package/lib/module/ui/screens/WelcomeNewUserScreen.js +114 -76
- package/lib/module/ui/screens/WelcomeNewUserScreen.js.map +1 -1
- package/lib/module/ui/screens/trust/TrustAboutScreen.js +69 -57
- package/lib/module/ui/screens/trust/TrustAboutScreen.js.map +1 -1
- package/lib/module/ui/screens/trust/TrustCenterScreen.js +135 -332
- package/lib/module/ui/screens/trust/TrustCenterScreen.js.map +1 -1
- package/lib/module/ui/screens/trust/TrustFAQScreen.js +48 -138
- package/lib/module/ui/screens/trust/TrustFAQScreen.js.map +1 -1
- package/lib/module/ui/screens/trust/TrustLeaderboardScreen.js +184 -117
- package/lib/module/ui/screens/trust/TrustLeaderboardScreen.js.map +1 -1
- package/lib/module/ui/screens/trust/TrustRewardsScreen.js +132 -208
- package/lib/module/ui/screens/trust/TrustRewardsScreen.js.map +1 -1
- package/lib/module/ui/screens/trust/TrustRulesScreen.js +58 -94
- package/lib/module/ui/screens/trust/TrustRulesScreen.js.map +1 -1
- package/lib/module/ui/utils/activeAuthuser.js +15 -9
- package/lib/module/ui/utils/activeAuthuser.js.map +1 -1
- package/lib/module/ui/utils/avatarUtils.js +1 -1
- package/lib/module/ui/utils/avatarUtils.js.map +1 -1
- package/lib/typescript/commonjs/index.d.ts +2 -0
- package/lib/typescript/commonjs/index.d.ts.map +1 -1
- package/lib/typescript/commonjs/ui/components/AccountMenu.d.ts +2 -0
- package/lib/typescript/commonjs/ui/components/AccountMenu.d.ts.map +1 -1
- package/lib/typescript/commonjs/ui/components/AnotherDeviceQR.d.ts +12 -2
- package/lib/typescript/commonjs/ui/components/AnotherDeviceQR.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/OxyProvider.d.ts +3 -2
- package/lib/typescript/commonjs/ui/components/OxyProvider.d.ts.map +1 -1
- package/lib/typescript/commonjs/ui/components/SignInModal.d.ts.map +1 -1
- package/lib/typescript/commonjs/ui/components/TouchableRipple/TouchableRipple.native.d.ts +1 -1
- package/lib/typescript/commonjs/ui/components/TouchableRipple/TouchableRipple.native.d.ts.map +1 -1
- package/lib/typescript/commonjs/ui/context/OxyContext.d.ts +34 -0
- 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/mutations/useAccountMutations.d.ts +6 -0
- package/lib/typescript/commonjs/ui/hooks/mutations/useAccountMutations.d.ts.map +1 -1
- package/lib/typescript/commonjs/ui/hooks/queries/queryKeys.d.ts +3 -3
- package/lib/typescript/commonjs/ui/hooks/queries/queryKeys.d.ts.map +1 -1
- package/lib/typescript/commonjs/ui/hooks/queries/useServicesQueries.d.ts.map +1 -1
- package/lib/typescript/commonjs/ui/hooks/queryClient.d.ts.map +1 -1
- package/lib/typescript/commonjs/ui/hooks/useOxyAuthSession.d.ts +22 -0
- package/lib/typescript/commonjs/ui/hooks/useOxyAuthSession.d.ts.map +1 -1
- package/lib/typescript/commonjs/ui/hooks/useProfileEditing.d.ts +3 -0
- package/lib/typescript/commonjs/ui/hooks/useProfileEditing.d.ts.map +1 -1
- package/lib/typescript/commonjs/ui/hooks/useSessionManagement.d.ts +2 -1
- package/lib/typescript/commonjs/ui/hooks/useSessionManagement.d.ts.map +1 -1
- package/lib/typescript/commonjs/ui/screens/AccountVerificationScreen.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.map +1 -1
- package/lib/typescript/commonjs/ui/screens/ConnectedAppsScreen.d.ts.map +1 -1
- 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/FAQScreen.d.ts.map +1 -1
- package/lib/typescript/commonjs/ui/screens/FeedbackScreen.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/LearnMoreUsernamesScreen.d.ts.map +1 -1
- package/lib/typescript/commonjs/ui/screens/LegalDocumentsScreen.d.ts.map +1 -1
- package/lib/typescript/commonjs/ui/screens/ManageAccountScreen.d.ts.map +1 -1
- package/lib/typescript/commonjs/ui/screens/NotificationsScreen.d.ts.map +1 -1
- package/lib/typescript/commonjs/ui/screens/OxyAuthScreen.d.ts.map +1 -1
- package/lib/typescript/commonjs/ui/screens/PaymentGatewayScreen.d.ts.map +1 -1
- package/lib/typescript/commonjs/ui/screens/PreferencesScreen.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/SavesCollectionsScreen.d.ts.map +1 -1
- package/lib/typescript/commonjs/ui/screens/SearchSettingsScreen.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/trust/TrustAboutScreen.d.ts.map +1 -1
- package/lib/typescript/commonjs/ui/screens/trust/TrustCenterScreen.d.ts.map +1 -1
- package/lib/typescript/commonjs/ui/screens/trust/TrustFAQScreen.d.ts.map +1 -1
- package/lib/typescript/commonjs/ui/screens/trust/TrustLeaderboardScreen.d.ts.map +1 -1
- package/lib/typescript/commonjs/ui/screens/trust/TrustRewardsScreen.d.ts.map +1 -1
- package/lib/typescript/commonjs/ui/screens/trust/TrustRulesScreen.d.ts.map +1 -1
- package/lib/typescript/commonjs/ui/utils/activeAuthuser.d.ts.map +1 -1
- package/lib/typescript/module/index.d.ts +2 -0
- package/lib/typescript/module/index.d.ts.map +1 -1
- package/lib/typescript/module/ui/components/AccountMenu.d.ts +2 -0
- package/lib/typescript/module/ui/components/AccountMenu.d.ts.map +1 -1
- package/lib/typescript/module/ui/components/AnotherDeviceQR.d.ts +12 -2
- package/lib/typescript/module/ui/components/AnotherDeviceQR.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/OxyProvider.d.ts +3 -2
- package/lib/typescript/module/ui/components/OxyProvider.d.ts.map +1 -1
- package/lib/typescript/module/ui/components/SignInModal.d.ts.map +1 -1
- package/lib/typescript/module/ui/components/TouchableRipple/TouchableRipple.native.d.ts +1 -1
- package/lib/typescript/module/ui/components/TouchableRipple/TouchableRipple.native.d.ts.map +1 -1
- package/lib/typescript/module/ui/context/OxyContext.d.ts +34 -0
- 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/mutations/useAccountMutations.d.ts +6 -0
- package/lib/typescript/module/ui/hooks/mutations/useAccountMutations.d.ts.map +1 -1
- package/lib/typescript/module/ui/hooks/queries/queryKeys.d.ts +3 -3
- package/lib/typescript/module/ui/hooks/queries/queryKeys.d.ts.map +1 -1
- package/lib/typescript/module/ui/hooks/queries/useServicesQueries.d.ts.map +1 -1
- package/lib/typescript/module/ui/hooks/queryClient.d.ts.map +1 -1
- package/lib/typescript/module/ui/hooks/useOxyAuthSession.d.ts +22 -0
- package/lib/typescript/module/ui/hooks/useOxyAuthSession.d.ts.map +1 -1
- package/lib/typescript/module/ui/hooks/useProfileEditing.d.ts +3 -0
- package/lib/typescript/module/ui/hooks/useProfileEditing.d.ts.map +1 -1
- package/lib/typescript/module/ui/hooks/useSessionManagement.d.ts +2 -1
- package/lib/typescript/module/ui/hooks/useSessionManagement.d.ts.map +1 -1
- package/lib/typescript/module/ui/screens/AccountVerificationScreen.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.map +1 -1
- package/lib/typescript/module/ui/screens/ConnectedAppsScreen.d.ts.map +1 -1
- 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/FAQScreen.d.ts.map +1 -1
- package/lib/typescript/module/ui/screens/FeedbackScreen.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/LearnMoreUsernamesScreen.d.ts.map +1 -1
- package/lib/typescript/module/ui/screens/LegalDocumentsScreen.d.ts.map +1 -1
- package/lib/typescript/module/ui/screens/ManageAccountScreen.d.ts.map +1 -1
- package/lib/typescript/module/ui/screens/NotificationsScreen.d.ts.map +1 -1
- package/lib/typescript/module/ui/screens/OxyAuthScreen.d.ts.map +1 -1
- package/lib/typescript/module/ui/screens/PaymentGatewayScreen.d.ts.map +1 -1
- package/lib/typescript/module/ui/screens/PreferencesScreen.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/SavesCollectionsScreen.d.ts.map +1 -1
- package/lib/typescript/module/ui/screens/SearchSettingsScreen.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/trust/TrustAboutScreen.d.ts.map +1 -1
- package/lib/typescript/module/ui/screens/trust/TrustCenterScreen.d.ts.map +1 -1
- package/lib/typescript/module/ui/screens/trust/TrustFAQScreen.d.ts.map +1 -1
- package/lib/typescript/module/ui/screens/trust/TrustLeaderboardScreen.d.ts.map +1 -1
- package/lib/typescript/module/ui/screens/trust/TrustRewardsScreen.d.ts.map +1 -1
- package/lib/typescript/module/ui/screens/trust/TrustRulesScreen.d.ts.map +1 -1
- package/lib/typescript/module/ui/utils/activeAuthuser.d.ts.map +1 -1
- package/lib/typescript/types/expo-haptics.d.ts +42 -0
- package/package.json +8 -3
- package/src/index.ts +2 -0
- package/src/types/expo-haptics.d.ts +42 -0
- package/src/ui/components/AccountMenu.tsx +11 -5
- package/src/ui/components/AnotherDeviceQR.tsx +53 -45
- package/src/ui/components/BottomSheetRouter.tsx +2 -1
- package/src/ui/components/FollowButton.tsx +24 -5
- package/src/ui/components/OxyLogo.tsx +1 -1
- package/src/ui/components/OxyProvider.tsx +22 -8
- package/src/ui/components/SignInModal.tsx +21 -2
- package/src/ui/components/TouchableRipple/TouchableRipple.native.tsx +1 -1
- package/src/ui/components/fileManagement/FileViewer.tsx +9 -9
- package/src/ui/components/fileManagement/UploadPreview.tsx +2 -2
- package/src/ui/context/OxyContext.tsx +178 -21
- package/src/ui/context/hooks/useAuthOperations.ts +6 -17
- package/src/ui/hooks/mutations/mutationFactory.ts +5 -5
- package/src/ui/hooks/mutations/useAccountMutations.ts +38 -38
- package/src/ui/hooks/mutations/useServicesMutations.ts +2 -2
- package/src/ui/hooks/queries/queryKeys.ts +6 -3
- package/src/ui/hooks/queries/useAccountQueries.ts +1 -1
- package/src/ui/hooks/queries/usePaymentQueries.ts +12 -12
- package/src/ui/hooks/queries/useServicesQueries.ts +9 -6
- package/src/ui/hooks/queryClient.ts +5 -5
- package/src/ui/hooks/useOxyAuthSession.ts +76 -2
- package/src/ui/hooks/useProfileEditing.ts +24 -0
- package/src/ui/hooks/useSessionManagement.ts +9 -6
- package/src/ui/screens/AccountVerificationScreen.tsx +101 -113
- package/src/ui/screens/AppInfoScreen.tsx +200 -238
- package/src/ui/screens/AvatarCropScreen.tsx +17 -4
- package/src/ui/screens/ConnectedAppsScreen.tsx +16 -34
- package/src/ui/screens/CreateManagedAccountScreen.tsx +94 -170
- package/src/ui/screens/EditProfileFieldScreen.tsx +77 -190
- package/src/ui/screens/FAQScreen.tsx +77 -208
- package/src/ui/screens/FeedbackScreen.tsx +330 -239
- package/src/ui/screens/FileManagementScreen.tsx +20 -20
- package/src/ui/screens/HelpSupportScreen.tsx +67 -82
- package/src/ui/screens/HistoryViewScreen.tsx +32 -38
- package/src/ui/screens/LanguageSelectorScreen.tsx +79 -93
- package/src/ui/screens/LearnMoreUsernamesScreen.tsx +81 -164
- package/src/ui/screens/LegalDocumentsScreen.tsx +184 -123
- package/src/ui/screens/ManageAccountScreen.tsx +48 -114
- package/src/ui/screens/NotificationsScreen.tsx +107 -106
- package/src/ui/screens/OxyAuthScreen.tsx +76 -109
- package/src/ui/screens/PaymentGatewayScreen.tsx +16 -7
- package/src/ui/screens/PreferencesScreen.tsx +96 -116
- package/src/ui/screens/PremiumSubscriptionScreen.tsx +419 -872
- package/src/ui/screens/PrivacySettingsScreen.tsx +203 -185
- package/src/ui/screens/ProfileScreen.tsx +162 -246
- package/src/ui/screens/SavesCollectionsScreen.tsx +78 -125
- package/src/ui/screens/SearchSettingsScreen.tsx +52 -41
- package/src/ui/screens/UserLinksScreen.tsx +18 -25
- package/src/ui/screens/UserListScreen.tsx +95 -188
- package/src/ui/screens/WelcomeNewUserScreen.tsx +109 -36
- package/src/ui/screens/trust/TrustAboutScreen.tsx +52 -41
- package/src/ui/screens/trust/TrustCenterScreen.tsx +184 -222
- package/src/ui/screens/trust/TrustFAQScreen.tsx +64 -124
- package/src/ui/screens/trust/TrustLeaderboardScreen.tsx +190 -67
- package/src/ui/screens/trust/TrustRewardsScreen.tsx +147 -182
- package/src/ui/screens/trust/TrustRulesScreen.tsx +77 -50
- package/src/ui/utils/activeAuthuser.ts +15 -9
- package/src/ui/utils/avatarUtils.ts +1 -1
- package/lib/commonjs/ui/components/feedback/FormInput.js +0 -72
- package/lib/commonjs/ui/components/feedback/FormInput.js.map +0 -1
- package/lib/commonjs/ui/components/feedback/feedbackStyles.js +0 -261
- package/lib/commonjs/ui/components/feedback/feedbackStyles.js.map +0 -1
- package/lib/module/ui/components/feedback/FormInput.js +0 -67
- package/lib/module/ui/components/feedback/FormInput.js.map +0 -1
- package/lib/module/ui/components/feedback/feedbackStyles.js +0 -256
- package/lib/module/ui/components/feedback/feedbackStyles.js.map +0 -1
- package/lib/typescript/commonjs/ui/components/feedback/FormInput.d.ts +0 -20
- package/lib/typescript/commonjs/ui/components/feedback/FormInput.d.ts.map +0 -1
- package/lib/typescript/commonjs/ui/components/feedback/feedbackStyles.d.ts +0 -279
- package/lib/typescript/commonjs/ui/components/feedback/feedbackStyles.d.ts.map +0 -1
- package/lib/typescript/module/ui/components/feedback/FormInput.d.ts +0 -20
- package/lib/typescript/module/ui/components/feedback/FormInput.d.ts.map +0 -1
- package/lib/typescript/module/ui/components/feedback/feedbackStyles.d.ts +0 -279
- package/lib/typescript/module/ui/components/feedback/feedbackStyles.d.ts.map +0 -1
- package/src/ui/components/feedback/FormInput.tsx +0 -84
- package/src/ui/components/feedback/feedbackStyles.ts +0 -246
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"names":["useEffect","
|
|
1
|
+
{"version":3,"names":["useCallback","useEffect","useMemo","useState","View","StyleSheet","ActivityIndicator","FlatList","TouchableOpacity","getAccountDisplayName","logger","useTheme","H6","Text","Chip","Button","Ionicons","Avatar","Header","useI18n","useOxy","getTrustTierLabel","jsx","_jsx","jsxs","_jsxs","AVATAR_SIZE","EMPTY_ICON_SIZE","ERROR_ICON_SIZE","PODIUM_RANK","TrustLeaderboardScreen","goBack","navigate","oxyServices","user","currentUser","t","locale","bloomTheme","leaderboard","setLeaderboard","isLoading","setIsLoading","error","setError","currentUserId","id","loadLeaderboard","getReputationLeaderboard","then","data","Array","isArray","catch","err","Error","String","component","message","finally","title","subtitle","handleEntryPress","entry","userId","username","renderEntry","item","displayName","isViewer","isPodium","rank","highlightClass","style","styles","row","className","onPress","activeOpacity","accessibilityRole","accessibilityLabel","children","numberOfLines","uri","avatar","getFileDownloadUrl","undefined","name","size","userColumn","tierRow","variant","color","trustTier","total","keyExtractor","index","ItemSeparator","separator","onBack","elevation","center","colors","primary","renderItem","contentContainerStyle","listContent","ItemSeparatorComponent","ListEmptyComponent","emptyContainer","textSecondary","create","flex","justifyContent","alignItems","flexGrow","paddingBottom","flexDirection","width","marginLeft","paddingTop"],"sourceRoot":"../../../../../src","sources":["ui/screens/trust/TrustLeaderboardScreen.tsx"],"mappings":"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","ignoreList":[]}
|
|
@@ -1,20 +1,65 @@
|
|
|
1
1
|
"use strict";
|
|
2
2
|
|
|
3
3
|
import { useMemo, useState, useEffect } from 'react';
|
|
4
|
-
import { View,
|
|
4
|
+
import { View, StyleSheet, ScrollView } from 'react-native';
|
|
5
5
|
import Header from "../../components/Header.js";
|
|
6
6
|
import { Ionicons } from '@expo/vector-icons';
|
|
7
|
-
import { useI18n } from "../../hooks/useI18n.js";
|
|
8
7
|
import { useTheme } from '@oxyhq/bloom/theme';
|
|
9
|
-
import {
|
|
10
|
-
import {
|
|
11
|
-
import { Colors } from "../../constants/theme.js";
|
|
8
|
+
import { H1, H4, H5, Text } from '@oxyhq/bloom/typography';
|
|
9
|
+
import { useI18n } from "../../hooks/useI18n.js";
|
|
12
10
|
import { useOxy } from "../../context/OxyContext.js";
|
|
13
11
|
import { darkenColor, lightenColor } from "../../utils/colorUtils.js";
|
|
14
12
|
import { jsx as _jsx, Fragment as _Fragment, jsxs as _jsxs } from "react/jsx-runtime";
|
|
13
|
+
/**
|
|
14
|
+
* Per-achievement identity tints. Like the trust-tier palette in `trustTier.ts`,
|
|
15
|
+
* these are data, not theme surfaces — they brand each badge regardless of theme.
|
|
16
|
+
*/
|
|
17
|
+
const ACHIEVEMENT_TINT = {
|
|
18
|
+
gray: '#8E8E93',
|
|
19
|
+
green: '#34C759',
|
|
20
|
+
blue: '#007AFF',
|
|
21
|
+
orange: '#FF9500',
|
|
22
|
+
purple: '#AF52DE',
|
|
23
|
+
pink: '#FF2D55',
|
|
24
|
+
gold: '#FFD700',
|
|
25
|
+
red: '#FF3B30',
|
|
26
|
+
indigo: '#5E5CE6'
|
|
27
|
+
};
|
|
28
|
+
|
|
29
|
+
/** Rarity-tier identity tints for the corner rarity accent. */
|
|
30
|
+
const RARITY_TINT = {
|
|
31
|
+
legendary: ACHIEVEMENT_TINT.gold,
|
|
32
|
+
epic: ACHIEVEMENT_TINT.purple,
|
|
33
|
+
rare: ACHIEVEMENT_TINT.blue,
|
|
34
|
+
common: ''
|
|
35
|
+
};
|
|
36
|
+
|
|
37
|
+
/** Contrast-locked foreground for icons/value text painted over a colored badge fill. */
|
|
38
|
+
const BADGE_ON_COLOR = '#FFFFFF';
|
|
39
|
+
|
|
40
|
+
/** Reputation thresholds that unlock each milestone, and the value shown on its badge. */
|
|
41
|
+
const ACHIEVEMENT_VALUE = {
|
|
42
|
+
'first-step': 1,
|
|
43
|
+
novice: 10,
|
|
44
|
+
contributor: 50,
|
|
45
|
+
'rising-star': 100,
|
|
46
|
+
'early-adopter': 200,
|
|
47
|
+
'community-hero': 500,
|
|
48
|
+
legend: 1000,
|
|
49
|
+
phoenix: 2500,
|
|
50
|
+
unstoppable: 5000,
|
|
51
|
+
helper: 10,
|
|
52
|
+
'streak-master': 7
|
|
53
|
+
};
|
|
54
|
+
const BADGE_BORDER_WIDTH = 5;
|
|
55
|
+
const BADGE_GLOW_OPACITY = 0.3;
|
|
56
|
+
const BADGE_DARKEN = 0.45;
|
|
57
|
+
const BADGE_LIGHTEN = 0.25;
|
|
58
|
+
const RARITY_DARKEN = 0.4;
|
|
59
|
+
const ACCENT_LIGHTEN = 0.1;
|
|
60
|
+
const LOCKED_OPACITY = 0.5;
|
|
15
61
|
const TrustRewardsScreen = ({
|
|
16
|
-
goBack
|
|
17
|
-
theme
|
|
62
|
+
goBack
|
|
18
63
|
}) => {
|
|
19
64
|
const {
|
|
20
65
|
t
|
|
@@ -25,14 +70,9 @@ const TrustRewardsScreen = ({
|
|
|
25
70
|
isAuthenticated
|
|
26
71
|
} = useOxy();
|
|
27
72
|
const [reputationTotal, setReputationTotal] = useState(0);
|
|
28
|
-
const [
|
|
73
|
+
const [, setIsLoading] = useState(true);
|
|
29
74
|
const bloomTheme = useTheme();
|
|
30
|
-
const
|
|
31
|
-
const normalizedColorScheme = normalizeColorScheme(colorScheme);
|
|
32
|
-
const colors = Colors[normalizedColorScheme];
|
|
33
|
-
const themeStyles = useMemo(() => ({
|
|
34
|
-
primaryColor: '#d169e5'
|
|
35
|
-
}), []);
|
|
75
|
+
const colors = bloomTheme.colors;
|
|
36
76
|
useEffect(() => {
|
|
37
77
|
if (!user || !isAuthenticated) {
|
|
38
78
|
setIsLoading(false);
|
|
@@ -51,7 +91,7 @@ const TrustRewardsScreen = ({
|
|
|
51
91
|
description: t('trust.achievements.firstStepDesc') || 'Earned your first reputation point',
|
|
52
92
|
category: 'milestone',
|
|
53
93
|
icon: 'footsteps',
|
|
54
|
-
iconColor:
|
|
94
|
+
iconColor: ACHIEVEMENT_TINT.gray,
|
|
55
95
|
unlocked: reputationTotal >= 1,
|
|
56
96
|
rarity: 'common'
|
|
57
97
|
}, {
|
|
@@ -60,7 +100,7 @@ const TrustRewardsScreen = ({
|
|
|
60
100
|
description: t('trust.achievements.noviceDesc') || 'Reached 10 reputation points',
|
|
61
101
|
category: 'milestone',
|
|
62
102
|
icon: 'leaf',
|
|
63
|
-
iconColor:
|
|
103
|
+
iconColor: ACHIEVEMENT_TINT.green,
|
|
64
104
|
unlocked: reputationTotal >= 10,
|
|
65
105
|
rarity: 'common'
|
|
66
106
|
}, {
|
|
@@ -68,8 +108,8 @@ const TrustRewardsScreen = ({
|
|
|
68
108
|
name: t('trust.achievements.contributor') || 'Contributor',
|
|
69
109
|
description: t('trust.achievements.contributorDesc') || 'Reached 50 reputation points',
|
|
70
110
|
category: 'contribution',
|
|
71
|
-
icon: '
|
|
72
|
-
iconColor:
|
|
111
|
+
icon: 'people',
|
|
112
|
+
iconColor: ACHIEVEMENT_TINT.blue,
|
|
73
113
|
unlocked: reputationTotal >= 50,
|
|
74
114
|
rarity: 'common'
|
|
75
115
|
}, {
|
|
@@ -78,7 +118,7 @@ const TrustRewardsScreen = ({
|
|
|
78
118
|
description: t('trust.achievements.risingStarDesc') || 'Reached 100 reputation points',
|
|
79
119
|
category: 'milestone',
|
|
80
120
|
icon: 'star',
|
|
81
|
-
iconColor:
|
|
121
|
+
iconColor: ACHIEVEMENT_TINT.orange,
|
|
82
122
|
unlocked: reputationTotal >= 100,
|
|
83
123
|
rarity: 'rare'
|
|
84
124
|
}, {
|
|
@@ -87,7 +127,7 @@ const TrustRewardsScreen = ({
|
|
|
87
127
|
description: t('trust.achievements.earlyAdopterDesc') || 'Been part of the community from the start',
|
|
88
128
|
category: 'special',
|
|
89
129
|
icon: 'rocket',
|
|
90
|
-
iconColor:
|
|
130
|
+
iconColor: ACHIEVEMENT_TINT.purple,
|
|
91
131
|
unlocked: reputationTotal >= 200,
|
|
92
132
|
rarity: 'rare'
|
|
93
133
|
}, {
|
|
@@ -96,7 +136,7 @@ const TrustRewardsScreen = ({
|
|
|
96
136
|
description: t('trust.achievements.communityHeroDesc') || 'Reached 500 reputation points',
|
|
97
137
|
category: 'contribution',
|
|
98
138
|
icon: 'shield',
|
|
99
|
-
iconColor:
|
|
139
|
+
iconColor: ACHIEVEMENT_TINT.pink,
|
|
100
140
|
unlocked: reputationTotal >= 500,
|
|
101
141
|
rarity: 'epic'
|
|
102
142
|
}, {
|
|
@@ -105,7 +145,7 @@ const TrustRewardsScreen = ({
|
|
|
105
145
|
description: t('trust.achievements.legendDesc') || 'Reached 1000 reputation points',
|
|
106
146
|
category: 'milestone',
|
|
107
147
|
icon: 'trophy',
|
|
108
|
-
iconColor:
|
|
148
|
+
iconColor: ACHIEVEMENT_TINT.gold,
|
|
109
149
|
unlocked: reputationTotal >= 1000,
|
|
110
150
|
rarity: 'legendary'
|
|
111
151
|
}, {
|
|
@@ -114,7 +154,7 @@ const TrustRewardsScreen = ({
|
|
|
114
154
|
description: t('trust.achievements.phoenixDesc') || 'Reached 2500 reputation points',
|
|
115
155
|
category: 'milestone',
|
|
116
156
|
icon: 'flame',
|
|
117
|
-
iconColor:
|
|
157
|
+
iconColor: ACHIEVEMENT_TINT.red,
|
|
118
158
|
unlocked: reputationTotal >= 2500,
|
|
119
159
|
rarity: 'legendary'
|
|
120
160
|
}, {
|
|
@@ -123,7 +163,7 @@ const TrustRewardsScreen = ({
|
|
|
123
163
|
description: t('trust.achievements.unstoppableDesc') || 'Reached 5000 reputation points',
|
|
124
164
|
category: 'milestone',
|
|
125
165
|
icon: 'infinite',
|
|
126
|
-
iconColor:
|
|
166
|
+
iconColor: ACHIEVEMENT_TINT.indigo,
|
|
127
167
|
unlocked: reputationTotal >= 5000,
|
|
128
168
|
rarity: 'legendary'
|
|
129
169
|
}, {
|
|
@@ -132,7 +172,7 @@ const TrustRewardsScreen = ({
|
|
|
132
172
|
description: t('trust.achievements.bugHunterDesc') || 'Reported helpful bugs',
|
|
133
173
|
category: 'contribution',
|
|
134
174
|
icon: 'bug',
|
|
135
|
-
iconColor:
|
|
175
|
+
iconColor: ACHIEVEMENT_TINT.orange,
|
|
136
176
|
unlocked: false,
|
|
137
177
|
rarity: 'rare'
|
|
138
178
|
}, {
|
|
@@ -141,7 +181,7 @@ const TrustRewardsScreen = ({
|
|
|
141
181
|
description: t('trust.achievements.helperDesc') || 'Helped 10 users',
|
|
142
182
|
category: 'contribution',
|
|
143
183
|
icon: 'hand-left',
|
|
144
|
-
iconColor:
|
|
184
|
+
iconColor: ACHIEVEMENT_TINT.green,
|
|
145
185
|
unlocked: false,
|
|
146
186
|
rarity: 'common'
|
|
147
187
|
}, {
|
|
@@ -150,69 +190,40 @@ const TrustRewardsScreen = ({
|
|
|
150
190
|
description: t('trust.achievements.streakMasterDesc') || '7 day activity streak',
|
|
151
191
|
category: 'streak',
|
|
152
192
|
icon: 'flash',
|
|
153
|
-
iconColor:
|
|
193
|
+
iconColor: ACHIEVEMENT_TINT.gold,
|
|
154
194
|
unlocked: false,
|
|
155
195
|
rarity: 'epic'
|
|
156
|
-
}], [t, reputationTotal
|
|
196
|
+
}], [t, reputationTotal]);
|
|
157
197
|
const unlockedAchievements = achievements.filter(a => a.unlocked);
|
|
158
198
|
const lockedAchievements = achievements.filter(a => !a.unlocked);
|
|
159
|
-
const getRarityColor = rarity =>
|
|
160
|
-
|
|
161
|
-
case 'legendary':
|
|
162
|
-
return '#FFD700';
|
|
163
|
-
case 'epic':
|
|
164
|
-
return '#AF52DE';
|
|
165
|
-
case 'rare':
|
|
166
|
-
return '#007AFF';
|
|
167
|
-
default:
|
|
168
|
-
return bloomTheme.colors.textTertiary;
|
|
169
|
-
}
|
|
170
|
-
};
|
|
171
|
-
const getAchievementValue = achievement => {
|
|
172
|
-
// Extract numeric value from achievement based on ID and unlocked state
|
|
173
|
-
const valueMap = {
|
|
174
|
-
'first-step': 1,
|
|
175
|
-
'novice': 10,
|
|
176
|
-
'contributor': 50,
|
|
177
|
-
'rising-star': 100,
|
|
178
|
-
'early-adopter': 200,
|
|
179
|
-
'community-hero': 500,
|
|
180
|
-
'legend': 1000,
|
|
181
|
-
'phoenix': 2500,
|
|
182
|
-
'unstoppable': 5000,
|
|
183
|
-
'helper': 10,
|
|
184
|
-
'streak-master': 7
|
|
185
|
-
};
|
|
186
|
-
return valueMap[achievement.id] || null;
|
|
187
|
-
};
|
|
199
|
+
const getRarityColor = rarity => RARITY_TINT[rarity] || colors.textTertiary;
|
|
200
|
+
const getAchievementValue = achievement => ACHIEVEMENT_VALUE[achievement.id] ?? null;
|
|
188
201
|
const renderAchievement = achievement => {
|
|
189
202
|
const rarityColor = getRarityColor(achievement.rarity);
|
|
190
203
|
const isLocked = !achievement.unlocked;
|
|
191
204
|
const achievementValue = getAchievementValue(achievement);
|
|
192
205
|
|
|
193
|
-
// Two-tone colors: darker for borders/shadow, lighter for highlights
|
|
194
|
-
// Use achievement
|
|
195
|
-
const baseColor = isLocked ?
|
|
196
|
-
const darkTone = darkenColor(baseColor,
|
|
197
|
-
const lightTone = lightenColor(baseColor,
|
|
198
|
-
const mediumTone = baseColor;
|
|
199
|
-
|
|
206
|
+
// Two-tone colors: darker for borders/shadow, lighter for highlights.
|
|
207
|
+
// Use the achievement identity tint for unlocked badges, neutral for locked.
|
|
208
|
+
const baseColor = isLocked ? colors.textTertiary : achievement.iconColor || colors.textTertiary;
|
|
209
|
+
const darkTone = darkenColor(baseColor, BADGE_DARKEN);
|
|
210
|
+
const lightTone = lightenColor(baseColor, BADGE_LIGHTEN);
|
|
211
|
+
const mediumTone = baseColor;
|
|
200
212
|
return /*#__PURE__*/_jsxs(View, {
|
|
201
|
-
|
|
202
|
-
|
|
203
|
-
}],
|
|
213
|
+
className: "bg-fill rounded-radius-20 items-center",
|
|
214
|
+
style: styles.achievementCard,
|
|
204
215
|
children: [/*#__PURE__*/_jsxs(View, {
|
|
205
216
|
style: styles.badgeContainer,
|
|
206
217
|
children: [!isLocked && /*#__PURE__*/_jsx(View, {
|
|
207
218
|
style: [styles.badgeGlow, styles.badgeOrganic, {
|
|
208
219
|
backgroundColor: darkTone,
|
|
209
|
-
opacity:
|
|
220
|
+
opacity: BADGE_GLOW_OPACITY
|
|
210
221
|
}]
|
|
211
222
|
}), /*#__PURE__*/_jsxs(View, {
|
|
212
223
|
style: [styles.badgeMain, styles.badgeOrganic, {
|
|
213
|
-
backgroundColor: isLocked ?
|
|
224
|
+
backgroundColor: isLocked ? colors.border : mediumTone,
|
|
214
225
|
borderColor: darkTone,
|
|
215
|
-
borderWidth:
|
|
226
|
+
borderWidth: BADGE_BORDER_WIDTH,
|
|
216
227
|
shadowColor: darkTone
|
|
217
228
|
}],
|
|
218
229
|
children: [!isLocked && /*#__PURE__*/_jsxs(_Fragment, {
|
|
@@ -222,7 +233,7 @@ const TrustRewardsScreen = ({
|
|
|
222
233
|
}]
|
|
223
234
|
}), /*#__PURE__*/_jsx(View, {
|
|
224
235
|
style: [styles.badgeHighlightAccent, {
|
|
225
|
-
backgroundColor: lightenColor(lightTone,
|
|
236
|
+
backgroundColor: lightenColor(lightTone, ACCENT_LIGHTEN)
|
|
226
237
|
}]
|
|
227
238
|
})]
|
|
228
239
|
}), /*#__PURE__*/_jsx(View, {
|
|
@@ -230,11 +241,11 @@ const TrustRewardsScreen = ({
|
|
|
230
241
|
children: isLocked ? /*#__PURE__*/_jsx(Ionicons, {
|
|
231
242
|
name: "lock-closed",
|
|
232
243
|
size: 40,
|
|
233
|
-
color:
|
|
244
|
+
color: colors.textTertiary
|
|
234
245
|
}) : /*#__PURE__*/_jsx(Ionicons, {
|
|
235
246
|
name: achievement.icon,
|
|
236
247
|
size: 40,
|
|
237
|
-
color:
|
|
248
|
+
color: BADGE_ON_COLOR
|
|
238
249
|
})
|
|
239
250
|
}), achievementValue !== null && !isLocked && /*#__PURE__*/_jsx(View, {
|
|
240
251
|
style: styles.badgeValueContainer,
|
|
@@ -249,129 +260,114 @@ const TrustRewardsScreen = ({
|
|
|
249
260
|
}), achievement.unlocked && /*#__PURE__*/_jsx(View, {
|
|
250
261
|
style: [styles.rarityBadge, {
|
|
251
262
|
backgroundColor: rarityColor,
|
|
252
|
-
borderColor: darkenColor(rarityColor,
|
|
263
|
+
borderColor: darkenColor(rarityColor, RARITY_DARKEN)
|
|
253
264
|
}],
|
|
254
265
|
children: /*#__PURE__*/_jsx(Text, {
|
|
255
266
|
style: [styles.rarityText, {
|
|
256
|
-
color:
|
|
267
|
+
color: BADGE_ON_COLOR
|
|
257
268
|
}],
|
|
258
269
|
children: achievement.rarity[0].toUpperCase()
|
|
259
270
|
})
|
|
260
271
|
})]
|
|
261
|
-
}), /*#__PURE__*/_jsx(
|
|
262
|
-
|
|
263
|
-
|
|
264
|
-
|
|
265
|
-
}],
|
|
272
|
+
}), /*#__PURE__*/_jsx(H5, {
|
|
273
|
+
className: "text-text text-center",
|
|
274
|
+
style: isLocked ? styles.lockedDimmed : undefined,
|
|
275
|
+
numberOfLines: 2,
|
|
266
276
|
children: achievement.name
|
|
267
277
|
}), /*#__PURE__*/_jsx(Text, {
|
|
268
|
-
|
|
269
|
-
|
|
270
|
-
opacity: isLocked ? 0.5 : 1
|
|
271
|
-
}],
|
|
278
|
+
className: "text-text-tertiary text-center text-xs mt-space-2",
|
|
279
|
+
style: isLocked ? styles.lockedDimmed : undefined,
|
|
272
280
|
children: achievement.description
|
|
273
281
|
})]
|
|
274
282
|
}, achievement.id);
|
|
275
283
|
};
|
|
276
284
|
if (!isAuthenticated) {
|
|
277
285
|
return /*#__PURE__*/_jsxs(View, {
|
|
278
|
-
|
|
279
|
-
backgroundColor: bloomTheme.colors.background
|
|
280
|
-
}],
|
|
286
|
+
className: "flex-1 bg-bg",
|
|
281
287
|
children: [/*#__PURE__*/_jsx(Header, {
|
|
282
288
|
title: t('trust.rewards.title') || 'Trust Rewards',
|
|
283
289
|
subtitle: t('trust.rewards.subtitle') || 'Unlock special features and recognition',
|
|
284
290
|
onBack: goBack,
|
|
285
291
|
elevation: "subtle"
|
|
286
292
|
}), /*#__PURE__*/_jsx(View, {
|
|
287
|
-
|
|
293
|
+
className: "flex-1 items-center justify-center px-screen-margin",
|
|
288
294
|
children: /*#__PURE__*/_jsx(Text, {
|
|
289
|
-
|
|
290
|
-
color: bloomTheme.colors.text
|
|
291
|
-
}],
|
|
295
|
+
className: "text-text text-base text-center",
|
|
292
296
|
children: t('common.status.notSignedIn') || 'Not signed in'
|
|
293
297
|
})
|
|
294
298
|
})]
|
|
295
299
|
});
|
|
296
300
|
}
|
|
301
|
+
const progressRatio = achievements.length > 0 ? unlockedAchievements.length / achievements.length : 0;
|
|
297
302
|
return /*#__PURE__*/_jsxs(View, {
|
|
298
|
-
|
|
299
|
-
backgroundColor: bloomTheme.colors.background
|
|
300
|
-
}],
|
|
303
|
+
className: "flex-1 bg-bg",
|
|
301
304
|
children: [/*#__PURE__*/_jsx(Header, {
|
|
302
305
|
title: t('trust.rewards.title') || 'Trust Rewards',
|
|
303
306
|
subtitle: t('trust.rewards.subtitle') || 'Unlock special features and recognition',
|
|
304
307
|
onBack: goBack,
|
|
305
308
|
elevation: "subtle"
|
|
306
309
|
}), /*#__PURE__*/_jsxs(ScrollView, {
|
|
307
|
-
|
|
310
|
+
className: "flex-1",
|
|
311
|
+
contentContainerClassName: "px-screen-margin pt-space-20 pb-space-40",
|
|
308
312
|
showsVerticalScrollIndicator: false,
|
|
309
313
|
children: [/*#__PURE__*/_jsxs(View, {
|
|
310
|
-
|
|
311
|
-
backgroundColor: colors.card
|
|
312
|
-
}],
|
|
314
|
+
className: "bg-fill rounded-radius-20 p-space-20 mb-space-24",
|
|
313
315
|
children: [/*#__PURE__*/_jsxs(View, {
|
|
314
|
-
|
|
316
|
+
className: "flex-row justify-between items-center mb-space-16",
|
|
315
317
|
children: [/*#__PURE__*/_jsxs(View, {
|
|
316
|
-
children: [/*#__PURE__*/_jsx(
|
|
317
|
-
|
|
318
|
-
|
|
319
|
-
|
|
318
|
+
children: [/*#__PURE__*/_jsx(H1, {
|
|
319
|
+
className: "text-text",
|
|
320
|
+
style: {
|
|
321
|
+
color: colors.primary
|
|
322
|
+
},
|
|
320
323
|
children: reputationTotal
|
|
321
324
|
}), /*#__PURE__*/_jsx(Text, {
|
|
322
|
-
|
|
323
|
-
color: bloomTheme.colors.textTertiary
|
|
324
|
-
}],
|
|
325
|
+
className: "text-text-tertiary text-sm",
|
|
325
326
|
children: t('trust.center.balance') || 'Reputation Points'
|
|
326
327
|
})]
|
|
327
328
|
}), /*#__PURE__*/_jsxs(View, {
|
|
328
|
-
|
|
329
|
-
children: [/*#__PURE__*/_jsx(
|
|
330
|
-
|
|
331
|
-
|
|
332
|
-
|
|
329
|
+
className: "items-end",
|
|
330
|
+
children: [/*#__PURE__*/_jsx(H1, {
|
|
331
|
+
className: "text-text",
|
|
332
|
+
style: {
|
|
333
|
+
color: colors.primary
|
|
334
|
+
},
|
|
333
335
|
children: unlockedAchievements.length
|
|
334
336
|
}), /*#__PURE__*/_jsx(Text, {
|
|
335
|
-
|
|
336
|
-
color: bloomTheme.colors.textTertiary
|
|
337
|
-
}],
|
|
337
|
+
className: "text-text-tertiary text-sm",
|
|
338
338
|
children: t('trust.achievements.unlocked') || 'Achievements'
|
|
339
339
|
})]
|
|
340
340
|
})]
|
|
341
341
|
}), /*#__PURE__*/_jsxs(View, {
|
|
342
|
-
|
|
342
|
+
className: "mt-space-8",
|
|
343
343
|
children: [/*#__PURE__*/_jsx(View, {
|
|
344
|
+
className: "rounded-radius-full overflow-hidden mb-space-8",
|
|
344
345
|
style: [styles.progressBar, {
|
|
345
|
-
backgroundColor:
|
|
346
|
+
backgroundColor: colors.border
|
|
346
347
|
}],
|
|
347
348
|
children: /*#__PURE__*/_jsx(View, {
|
|
349
|
+
className: "rounded-radius-full",
|
|
348
350
|
style: [styles.progressBarFill, {
|
|
349
|
-
width: `${
|
|
350
|
-
backgroundColor:
|
|
351
|
+
width: `${progressRatio * 100}%`,
|
|
352
|
+
backgroundColor: colors.primary
|
|
351
353
|
}]
|
|
352
354
|
})
|
|
353
355
|
}), /*#__PURE__*/_jsxs(Text, {
|
|
354
|
-
|
|
355
|
-
color: bloomTheme.colors.textTertiary
|
|
356
|
-
}],
|
|
356
|
+
className: "text-text-tertiary text-xs text-right",
|
|
357
357
|
children: [unlockedAchievements.length, " / ", achievements.length]
|
|
358
358
|
})]
|
|
359
359
|
})]
|
|
360
360
|
}), unlockedAchievements.length > 0 && /*#__PURE__*/_jsxs(_Fragment, {
|
|
361
|
-
children: [/*#__PURE__*/_jsx(
|
|
362
|
-
|
|
363
|
-
color: bloomTheme.colors.text
|
|
364
|
-
}],
|
|
361
|
+
children: [/*#__PURE__*/_jsx(H4, {
|
|
362
|
+
className: "text-text mt-space-8",
|
|
365
363
|
children: t('trust.achievements.unlocked') || 'Unlocked Achievements'
|
|
366
364
|
}), /*#__PURE__*/_jsx(View, {
|
|
367
365
|
style: styles.achievementsGrid,
|
|
368
366
|
children: unlockedAchievements.map(achievement => renderAchievement(achievement))
|
|
369
367
|
})]
|
|
370
368
|
}), lockedAchievements.length > 0 && /*#__PURE__*/_jsxs(_Fragment, {
|
|
371
|
-
children: [/*#__PURE__*/_jsx(
|
|
372
|
-
|
|
373
|
-
color: bloomTheme.colors.text
|
|
374
|
-
}],
|
|
369
|
+
children: [/*#__PURE__*/_jsx(H4, {
|
|
370
|
+
className: "text-text mt-space-8",
|
|
375
371
|
children: t('trust.achievements.locked') || 'Locked Achievements'
|
|
376
372
|
}), /*#__PURE__*/_jsx(View, {
|
|
377
373
|
style: styles.achievementsGrid,
|
|
@@ -381,75 +377,17 @@ const TrustRewardsScreen = ({
|
|
|
381
377
|
})]
|
|
382
378
|
});
|
|
383
379
|
};
|
|
380
|
+
|
|
381
|
+
// Measured/positioned layout only — no color, no theme surfaces.
|
|
384
382
|
const styles = StyleSheet.create({
|
|
385
|
-
|
|
386
|
-
|
|
387
|
-
},
|
|
388
|
-
contentContainer: {
|
|
389
|
-
paddingHorizontal: 24,
|
|
390
|
-
paddingTop: 20,
|
|
391
|
-
paddingBottom: 40
|
|
392
|
-
},
|
|
393
|
-
centerContent: {
|
|
394
|
-
flex: 1,
|
|
395
|
-
justifyContent: 'center',
|
|
396
|
-
alignItems: 'center'
|
|
397
|
-
},
|
|
398
|
-
message: {
|
|
399
|
-
fontSize: 16,
|
|
400
|
-
textAlign: 'center'
|
|
401
|
-
},
|
|
402
|
-
statsCard: {
|
|
403
|
-
borderRadius: 18,
|
|
404
|
-
padding: 20,
|
|
405
|
-
marginBottom: 24
|
|
406
|
-
},
|
|
407
|
-
statsHeader: {
|
|
408
|
-
flexDirection: 'row',
|
|
409
|
-
justifyContent: 'space-between',
|
|
410
|
-
alignItems: 'center',
|
|
411
|
-
marginBottom: 16
|
|
412
|
-
},
|
|
413
|
-
currentReputation: {
|
|
414
|
-
fontSize: 36,
|
|
415
|
-
fontWeight: Platform.OS === 'web' ? 'bold' : undefined,
|
|
416
|
-
marginBottom: 4
|
|
417
|
-
},
|
|
418
|
-
achievementStats: {
|
|
419
|
-
alignItems: 'flex-end'
|
|
420
|
-
},
|
|
421
|
-
achievementCount: {
|
|
422
|
-
fontSize: 36,
|
|
423
|
-
fontWeight: Platform.OS === 'web' ? 'bold' : undefined,
|
|
424
|
-
marginBottom: 4
|
|
425
|
-
},
|
|
426
|
-
achievementCountLabel: {
|
|
427
|
-
fontSize: 14
|
|
428
|
-
},
|
|
429
|
-
reputationLabel: {
|
|
430
|
-
fontSize: 14
|
|
431
|
-
},
|
|
432
|
-
progressBarContainer: {
|
|
433
|
-
marginTop: 8
|
|
383
|
+
lockedDimmed: {
|
|
384
|
+
opacity: LOCKED_OPACITY
|
|
434
385
|
},
|
|
435
386
|
progressBar: {
|
|
436
|
-
height: 8
|
|
437
|
-
borderRadius: 4,
|
|
438
|
-
overflow: 'hidden',
|
|
439
|
-
marginBottom: 8
|
|
387
|
+
height: 8
|
|
440
388
|
},
|
|
441
389
|
progressBarFill: {
|
|
442
|
-
height: '100%'
|
|
443
|
-
borderRadius: 4
|
|
444
|
-
},
|
|
445
|
-
progressText: {
|
|
446
|
-
fontSize: 12,
|
|
447
|
-
textAlign: 'right'
|
|
448
|
-
},
|
|
449
|
-
sectionTitle: {
|
|
450
|
-
fontSize: 20,
|
|
451
|
-
fontWeight: Platform.OS === 'web' ? '600' : undefined,
|
|
452
|
-
marginTop: 8
|
|
390
|
+
height: '100%'
|
|
453
391
|
},
|
|
454
392
|
achievementsGrid: {
|
|
455
393
|
flexDirection: 'row',
|
|
@@ -461,10 +399,8 @@ const styles = StyleSheet.create({
|
|
|
461
399
|
achievementCard: {
|
|
462
400
|
width: '47%',
|
|
463
401
|
minWidth: 140,
|
|
464
|
-
borderRadius: 20,
|
|
465
402
|
padding: 20,
|
|
466
|
-
paddingTop: 24
|
|
467
|
-
alignItems: 'center'
|
|
403
|
+
paddingTop: 24
|
|
468
404
|
},
|
|
469
405
|
badgeContainer: {
|
|
470
406
|
alignItems: 'center',
|
|
@@ -579,18 +515,6 @@ const styles = StyleSheet.create({
|
|
|
579
515
|
rarityText: {
|
|
580
516
|
fontSize: 14,
|
|
581
517
|
fontWeight: 'bold'
|
|
582
|
-
},
|
|
583
|
-
achievementName: {
|
|
584
|
-
fontSize: 15,
|
|
585
|
-
fontWeight: '700',
|
|
586
|
-
textAlign: 'center',
|
|
587
|
-
marginBottom: 6,
|
|
588
|
-
marginTop: 4
|
|
589
|
-
},
|
|
590
|
-
achievementDescription: {
|
|
591
|
-
fontSize: 11,
|
|
592
|
-
textAlign: 'center',
|
|
593
|
-
lineHeight: 15
|
|
594
518
|
}
|
|
595
519
|
});
|
|
596
520
|
export default TrustRewardsScreen;
|