@oxyhq/services 6.9.32 → 6.9.34
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/ui/components/Avatar.js +5 -3
- package/lib/commonjs/ui/components/Avatar.js.map +1 -1
- package/lib/commonjs/ui/components/BottomSheet.js +2 -2
- package/lib/commonjs/ui/components/BottomSheet.js.map +1 -1
- package/lib/commonjs/ui/components/BottomSheetRouter.js +3 -4
- package/lib/commonjs/ui/components/BottomSheetRouter.js.map +1 -1
- package/lib/commonjs/ui/components/FollowButton.js +13 -65
- package/lib/commonjs/ui/components/FollowButton.js.map +1 -1
- package/lib/commonjs/ui/components/GroupedItem.js +12 -18
- package/lib/commonjs/ui/components/GroupedItem.js.map +1 -1
- package/lib/commonjs/ui/components/Header.js +11 -18
- package/lib/commonjs/ui/components/Header.js.map +1 -1
- package/lib/commonjs/ui/components/HelperText.js +6 -14
- package/lib/commonjs/ui/components/HelperText.js.map +1 -1
- package/lib/commonjs/ui/components/OxyLogo.js +4 -2
- package/lib/commonjs/ui/components/OxyLogo.js.map +1 -1
- package/lib/commonjs/ui/components/ProfileCard.js +13 -20
- package/lib/commonjs/ui/components/ProfileCard.js.map +1 -1
- package/lib/commonjs/ui/components/QuickActions.js +9 -13
- package/lib/commonjs/ui/components/QuickActions.js.map +1 -1
- package/lib/commonjs/ui/components/SectionTitle.js +2 -8
- package/lib/commonjs/ui/components/SectionTitle.js.map +1 -1
- package/lib/commonjs/ui/components/SignInModal.js +10 -16
- package/lib/commonjs/ui/components/SignInModal.js.map +1 -1
- package/lib/commonjs/ui/components/TextField/TextFieldFlat.js +6 -4
- package/lib/commonjs/ui/components/TextField/TextFieldFlat.js.map +1 -1
- package/lib/commonjs/ui/components/TextField/TextFieldOutlined.js +6 -4
- package/lib/commonjs/ui/components/TextField/TextFieldOutlined.js.map +1 -1
- package/lib/commonjs/ui/components/fileManagement/FileDetailsModal.js +36 -51
- package/lib/commonjs/ui/components/fileManagement/FileDetailsModal.js.map +1 -1
- package/lib/commonjs/ui/components/fileManagement/FileViewer.js +68 -82
- package/lib/commonjs/ui/components/fileManagement/FileViewer.js.map +1 -1
- package/lib/commonjs/ui/components/fileManagement/UploadPreview.js +35 -48
- package/lib/commonjs/ui/components/fileManagement/UploadPreview.js.map +1 -1
- package/lib/commonjs/ui/components/modals/DeleteAccountModal.js +22 -34
- package/lib/commonjs/ui/components/modals/DeleteAccountModal.js.map +1 -1
- package/lib/commonjs/ui/components/theming.js +14 -1
- package/lib/commonjs/ui/components/theming.js.map +1 -1
- package/lib/commonjs/ui/screens/AccountCenterScreen.js +15 -27
- package/lib/commonjs/ui/screens/AccountCenterScreen.js.map +1 -1
- package/lib/commonjs/ui/screens/AccountOverviewScreen.js +44 -49
- package/lib/commonjs/ui/screens/AccountOverviewScreen.js.map +1 -1
- package/lib/commonjs/ui/screens/AccountSettingsScreen.js +22 -29
- package/lib/commonjs/ui/screens/AccountSettingsScreen.js.map +1 -1
- package/lib/commonjs/ui/screens/AccountSwitcherScreen.js +2 -25
- package/lib/commonjs/ui/screens/AccountSwitcherScreen.js.map +1 -1
- package/lib/commonjs/ui/screens/AccountVerificationScreen.js +20 -40
- package/lib/commonjs/ui/screens/AccountVerificationScreen.js.map +1 -1
- package/lib/commonjs/ui/screens/AppInfoScreen.js +28 -24
- package/lib/commonjs/ui/screens/AppInfoScreen.js.map +1 -1
- package/lib/commonjs/ui/screens/EditProfileFieldScreen.js +25 -29
- package/lib/commonjs/ui/screens/EditProfileFieldScreen.js.map +1 -1
- package/lib/commonjs/ui/screens/FAQScreen.js +26 -27
- package/lib/commonjs/ui/screens/FAQScreen.js.map +1 -1
- package/lib/commonjs/ui/screens/FeedbackScreen.js +70 -108
- package/lib/commonjs/ui/screens/FeedbackScreen.js.map +1 -1
- package/lib/commonjs/ui/screens/FileManagementScreen.js +106 -119
- package/lib/commonjs/ui/screens/FileManagementScreen.js.map +1 -1
- package/lib/commonjs/ui/screens/HelpSupportScreen.js +13 -10
- package/lib/commonjs/ui/screens/HelpSupportScreen.js.map +1 -1
- package/lib/commonjs/ui/screens/HistoryViewScreen.js +13 -10
- package/lib/commonjs/ui/screens/HistoryViewScreen.js.map +1 -1
- package/lib/commonjs/ui/screens/LanguageSelectorScreen.js +9 -13
- package/lib/commonjs/ui/screens/LanguageSelectorScreen.js.map +1 -1
- package/lib/commonjs/ui/screens/LearnMoreUsernamesScreen.js +19 -20
- package/lib/commonjs/ui/screens/LearnMoreUsernamesScreen.js.map +1 -1
- package/lib/commonjs/ui/screens/LegalDocumentsScreen.js +16 -14
- package/lib/commonjs/ui/screens/LegalDocumentsScreen.js.map +1 -1
- package/lib/commonjs/ui/screens/OxyAuthScreen.js +33 -60
- package/lib/commonjs/ui/screens/OxyAuthScreen.js.map +1 -1
- package/lib/commonjs/ui/screens/PaymentGatewayScreen.js +2 -5
- package/lib/commonjs/ui/screens/PaymentGatewayScreen.js.map +1 -1
- package/lib/commonjs/ui/screens/PremiumSubscriptionScreen.js +10 -16
- package/lib/commonjs/ui/screens/PremiumSubscriptionScreen.js.map +1 -1
- package/lib/commonjs/ui/screens/PrivacySettingsScreen.js +65 -69
- package/lib/commonjs/ui/screens/PrivacySettingsScreen.js.map +1 -1
- package/lib/commonjs/ui/screens/ProfileScreen.js +79 -110
- package/lib/commonjs/ui/screens/ProfileScreen.js.map +1 -1
- package/lib/commonjs/ui/screens/SavesCollectionsScreen.js +16 -13
- package/lib/commonjs/ui/screens/SavesCollectionsScreen.js.map +1 -1
- package/lib/commonjs/ui/screens/SearchSettingsScreen.js +13 -17
- package/lib/commonjs/ui/screens/SearchSettingsScreen.js.map +1 -1
- package/lib/commonjs/ui/screens/SessionManagementScreen.js +17 -30
- package/lib/commonjs/ui/screens/SessionManagementScreen.js.map +1 -1
- package/lib/commonjs/ui/screens/UserLinksScreen.js +6 -12
- package/lib/commonjs/ui/screens/UserLinksScreen.js.map +1 -1
- package/lib/commonjs/ui/screens/UserListScreen.js +41 -35
- package/lib/commonjs/ui/screens/UserListScreen.js.map +1 -1
- package/lib/commonjs/ui/screens/WelcomeNewUserScreen.js +15 -14
- package/lib/commonjs/ui/screens/WelcomeNewUserScreen.js.map +1 -1
- package/lib/commonjs/ui/screens/karma/KarmaAboutScreen.js +7 -12
- package/lib/commonjs/ui/screens/karma/KarmaAboutScreen.js.map +1 -1
- package/lib/commonjs/ui/screens/karma/KarmaCenterScreen.js +25 -23
- package/lib/commonjs/ui/screens/karma/KarmaCenterScreen.js.map +1 -1
- package/lib/commonjs/ui/screens/karma/KarmaFAQScreen.js +9 -17
- package/lib/commonjs/ui/screens/karma/KarmaFAQScreen.js.map +1 -1
- package/lib/commonjs/ui/screens/karma/KarmaLeaderboardScreen.js +6 -11
- package/lib/commonjs/ui/screens/karma/KarmaLeaderboardScreen.js.map +1 -1
- package/lib/commonjs/ui/screens/karma/KarmaRewardsScreen.js +18 -22
- package/lib/commonjs/ui/screens/karma/KarmaRewardsScreen.js.map +1 -1
- package/lib/commonjs/ui/screens/karma/KarmaRulesScreen.js +6 -11
- package/lib/commonjs/ui/screens/karma/KarmaRulesScreen.js.map +1 -1
- package/lib/module/ui/components/Avatar.js +5 -3
- package/lib/module/ui/components/Avatar.js.map +1 -1
- package/lib/module/ui/components/BottomSheet.js +2 -2
- package/lib/module/ui/components/BottomSheet.js.map +1 -1
- package/lib/module/ui/components/BottomSheetRouter.js +3 -4
- package/lib/module/ui/components/BottomSheetRouter.js.map +1 -1
- package/lib/module/ui/components/FollowButton.js +12 -64
- package/lib/module/ui/components/FollowButton.js.map +1 -1
- package/lib/module/ui/components/GroupedItem.js +12 -18
- package/lib/module/ui/components/GroupedItem.js.map +1 -1
- package/lib/module/ui/components/Header.js +11 -18
- package/lib/module/ui/components/Header.js.map +1 -1
- package/lib/module/ui/components/HelperText.js +6 -15
- package/lib/module/ui/components/HelperText.js.map +1 -1
- package/lib/module/ui/components/OxyLogo.js +4 -2
- package/lib/module/ui/components/OxyLogo.js.map +1 -1
- package/lib/module/ui/components/ProfileCard.js +13 -20
- package/lib/module/ui/components/ProfileCard.js.map +1 -1
- package/lib/module/ui/components/QuickActions.js +9 -13
- package/lib/module/ui/components/QuickActions.js.map +1 -1
- package/lib/module/ui/components/SectionTitle.js +2 -8
- package/lib/module/ui/components/SectionTitle.js.map +1 -1
- package/lib/module/ui/components/SignInModal.js +10 -16
- package/lib/module/ui/components/SignInModal.js.map +1 -1
- package/lib/module/ui/components/TextField/TextFieldFlat.js +6 -4
- package/lib/module/ui/components/TextField/TextFieldFlat.js.map +1 -1
- package/lib/module/ui/components/TextField/TextFieldOutlined.js +6 -4
- package/lib/module/ui/components/TextField/TextFieldOutlined.js.map +1 -1
- package/lib/module/ui/components/fileManagement/FileDetailsModal.js +36 -51
- package/lib/module/ui/components/fileManagement/FileDetailsModal.js.map +1 -1
- package/lib/module/ui/components/fileManagement/FileViewer.js +68 -82
- package/lib/module/ui/components/fileManagement/FileViewer.js.map +1 -1
- package/lib/module/ui/components/fileManagement/UploadPreview.js +35 -48
- package/lib/module/ui/components/fileManagement/UploadPreview.js.map +1 -1
- package/lib/module/ui/components/modals/DeleteAccountModal.js +22 -34
- package/lib/module/ui/components/modals/DeleteAccountModal.js.map +1 -1
- package/lib/module/ui/components/theming.js +15 -2
- package/lib/module/ui/components/theming.js.map +1 -1
- package/lib/module/ui/screens/AccountCenterScreen.js +14 -26
- package/lib/module/ui/screens/AccountCenterScreen.js.map +1 -1
- package/lib/module/ui/screens/AccountOverviewScreen.js +45 -50
- package/lib/module/ui/screens/AccountOverviewScreen.js.map +1 -1
- package/lib/module/ui/screens/AccountSettingsScreen.js +21 -28
- package/lib/module/ui/screens/AccountSettingsScreen.js.map +1 -1
- package/lib/module/ui/screens/AccountSwitcherScreen.js +2 -25
- package/lib/module/ui/screens/AccountSwitcherScreen.js.map +1 -1
- package/lib/module/ui/screens/AccountVerificationScreen.js +21 -41
- package/lib/module/ui/screens/AccountVerificationScreen.js.map +1 -1
- package/lib/module/ui/screens/AppInfoScreen.js +28 -24
- package/lib/module/ui/screens/AppInfoScreen.js.map +1 -1
- package/lib/module/ui/screens/EditProfileFieldScreen.js +25 -29
- package/lib/module/ui/screens/EditProfileFieldScreen.js.map +1 -1
- package/lib/module/ui/screens/FAQScreen.js +26 -27
- package/lib/module/ui/screens/FAQScreen.js.map +1 -1
- package/lib/module/ui/screens/FeedbackScreen.js +70 -108
- package/lib/module/ui/screens/FeedbackScreen.js.map +1 -1
- package/lib/module/ui/screens/FileManagementScreen.js +106 -119
- package/lib/module/ui/screens/FileManagementScreen.js.map +1 -1
- package/lib/module/ui/screens/HelpSupportScreen.js +13 -10
- package/lib/module/ui/screens/HelpSupportScreen.js.map +1 -1
- package/lib/module/ui/screens/HistoryViewScreen.js +13 -10
- package/lib/module/ui/screens/HistoryViewScreen.js.map +1 -1
- package/lib/module/ui/screens/LanguageSelectorScreen.js +9 -13
- package/lib/module/ui/screens/LanguageSelectorScreen.js.map +1 -1
- package/lib/module/ui/screens/LearnMoreUsernamesScreen.js +19 -20
- package/lib/module/ui/screens/LearnMoreUsernamesScreen.js.map +1 -1
- package/lib/module/ui/screens/LegalDocumentsScreen.js +16 -14
- package/lib/module/ui/screens/LegalDocumentsScreen.js.map +1 -1
- package/lib/module/ui/screens/OxyAuthScreen.js +33 -60
- package/lib/module/ui/screens/OxyAuthScreen.js.map +1 -1
- package/lib/module/ui/screens/PaymentGatewayScreen.js +2 -5
- package/lib/module/ui/screens/PaymentGatewayScreen.js.map +1 -1
- package/lib/module/ui/screens/PremiumSubscriptionScreen.js +10 -16
- package/lib/module/ui/screens/PremiumSubscriptionScreen.js.map +1 -1
- package/lib/module/ui/screens/PrivacySettingsScreen.js +65 -69
- package/lib/module/ui/screens/PrivacySettingsScreen.js.map +1 -1
- package/lib/module/ui/screens/ProfileScreen.js +77 -108
- package/lib/module/ui/screens/ProfileScreen.js.map +1 -1
- package/lib/module/ui/screens/SavesCollectionsScreen.js +16 -13
- package/lib/module/ui/screens/SavesCollectionsScreen.js.map +1 -1
- package/lib/module/ui/screens/SearchSettingsScreen.js +13 -17
- package/lib/module/ui/screens/SearchSettingsScreen.js.map +1 -1
- package/lib/module/ui/screens/SessionManagementScreen.js +17 -30
- package/lib/module/ui/screens/SessionManagementScreen.js.map +1 -1
- package/lib/module/ui/screens/UserLinksScreen.js +6 -12
- package/lib/module/ui/screens/UserLinksScreen.js.map +1 -1
- package/lib/module/ui/screens/UserListScreen.js +39 -33
- package/lib/module/ui/screens/UserListScreen.js.map +1 -1
- package/lib/module/ui/screens/WelcomeNewUserScreen.js +15 -14
- package/lib/module/ui/screens/WelcomeNewUserScreen.js.map +1 -1
- package/lib/module/ui/screens/karma/KarmaAboutScreen.js +7 -12
- package/lib/module/ui/screens/karma/KarmaAboutScreen.js.map +1 -1
- package/lib/module/ui/screens/karma/KarmaCenterScreen.js +25 -23
- package/lib/module/ui/screens/karma/KarmaCenterScreen.js.map +1 -1
- package/lib/module/ui/screens/karma/KarmaFAQScreen.js +8 -16
- package/lib/module/ui/screens/karma/KarmaFAQScreen.js.map +1 -1
- package/lib/module/ui/screens/karma/KarmaLeaderboardScreen.js +6 -11
- package/lib/module/ui/screens/karma/KarmaLeaderboardScreen.js.map +1 -1
- package/lib/module/ui/screens/karma/KarmaRewardsScreen.js +17 -21
- package/lib/module/ui/screens/karma/KarmaRewardsScreen.js.map +1 -1
- package/lib/module/ui/screens/karma/KarmaRulesScreen.js +6 -11
- package/lib/module/ui/screens/karma/KarmaRulesScreen.js.map +1 -1
- package/lib/typescript/commonjs/ui/components/BottomSheet.d.ts.map +1 -1
- package/lib/typescript/commonjs/ui/components/FollowButton.d.ts +0 -11
- package/lib/typescript/commonjs/ui/components/FollowButton.d.ts.map +1 -1
- package/lib/typescript/commonjs/ui/components/GroupedItem.d.ts.map +1 -1
- package/lib/typescript/commonjs/ui/components/Header.d.ts.map +1 -1
- package/lib/typescript/commonjs/ui/components/HelperText.d.ts.map +1 -1
- package/lib/typescript/commonjs/ui/components/ProfileCard.d.ts.map +1 -1
- package/lib/typescript/commonjs/ui/components/QuickActions.d.ts.map +1 -1
- package/lib/typescript/commonjs/ui/components/SectionTitle.d.ts.map +1 -1
- package/lib/typescript/commonjs/ui/components/SignInModal.d.ts.map +1 -1
- package/lib/typescript/commonjs/ui/components/fileManagement/FileDetailsModal.d.ts +2 -2
- package/lib/typescript/commonjs/ui/components/fileManagement/FileDetailsModal.d.ts.map +1 -1
- package/lib/typescript/commonjs/ui/components/fileManagement/FileViewer.d.ts +2 -2
- package/lib/typescript/commonjs/ui/components/fileManagement/FileViewer.d.ts.map +1 -1
- package/lib/typescript/commonjs/ui/components/fileManagement/UploadPreview.d.ts +2 -2
- package/lib/typescript/commonjs/ui/components/fileManagement/UploadPreview.d.ts.map +1 -1
- package/lib/typescript/commonjs/ui/components/modals/DeleteAccountModal.d.ts.map +1 -1
- package/lib/typescript/commonjs/ui/components/theming.d.ts.map +1 -1
- package/lib/typescript/commonjs/ui/screens/AccountCenterScreen.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/AccountVerificationScreen.d.ts.map +1 -1
- package/lib/typescript/commonjs/ui/screens/AppInfoScreen.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/LegalDocumentsScreen.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/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/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/KarmaFAQScreen.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/module/ui/components/BottomSheet.d.ts.map +1 -1
- package/lib/typescript/module/ui/components/FollowButton.d.ts +0 -11
- package/lib/typescript/module/ui/components/FollowButton.d.ts.map +1 -1
- package/lib/typescript/module/ui/components/GroupedItem.d.ts.map +1 -1
- package/lib/typescript/module/ui/components/Header.d.ts.map +1 -1
- package/lib/typescript/module/ui/components/HelperText.d.ts.map +1 -1
- package/lib/typescript/module/ui/components/ProfileCard.d.ts.map +1 -1
- package/lib/typescript/module/ui/components/QuickActions.d.ts.map +1 -1
- package/lib/typescript/module/ui/components/SectionTitle.d.ts.map +1 -1
- package/lib/typescript/module/ui/components/SignInModal.d.ts.map +1 -1
- package/lib/typescript/module/ui/components/fileManagement/FileDetailsModal.d.ts +2 -2
- package/lib/typescript/module/ui/components/fileManagement/FileDetailsModal.d.ts.map +1 -1
- package/lib/typescript/module/ui/components/fileManagement/FileViewer.d.ts +2 -2
- package/lib/typescript/module/ui/components/fileManagement/FileViewer.d.ts.map +1 -1
- package/lib/typescript/module/ui/components/fileManagement/UploadPreview.d.ts +2 -2
- package/lib/typescript/module/ui/components/fileManagement/UploadPreview.d.ts.map +1 -1
- package/lib/typescript/module/ui/components/modals/DeleteAccountModal.d.ts.map +1 -1
- package/lib/typescript/module/ui/components/theming.d.ts.map +1 -1
- package/lib/typescript/module/ui/screens/AccountCenterScreen.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/AccountVerificationScreen.d.ts.map +1 -1
- package/lib/typescript/module/ui/screens/AppInfoScreen.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/LegalDocumentsScreen.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/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/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/KarmaFAQScreen.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/nativewind-env.d.ts +1 -0
- package/package.json +8 -2
- package/src/nativewind-env.d.ts +1 -0
- package/src/ui/components/Avatar.tsx +3 -3
- package/src/ui/components/BottomSheet.tsx +2 -3
- package/src/ui/components/BottomSheetRouter.tsx +2 -2
- package/src/ui/components/FollowButton.tsx +14 -50
- package/src/ui/components/GroupedItem.tsx +8 -15
- package/src/ui/components/Header.tsx +7 -15
- package/src/ui/components/HelperText.tsx +4 -15
- package/src/ui/components/OxyLogo.tsx +2 -2
- package/src/ui/components/ProfileCard.tsx +14 -17
- package/src/ui/components/QuickActions.tsx +12 -14
- package/src/ui/components/SectionTitle.tsx +1 -7
- package/src/ui/components/SignInModal.tsx +4 -6
- package/src/ui/components/TextField/TextFieldFlat.tsx +4 -4
- package/src/ui/components/TextField/TextFieldOutlined.tsx +4 -4
- package/src/ui/components/fileManagement/FileDetailsModal.tsx +23 -22
- package/src/ui/components/fileManagement/FileViewer.tsx +57 -45
- package/src/ui/components/fileManagement/UploadPreview.tsx +23 -28
- package/src/ui/components/modals/DeleteAccountModal.tsx +13 -12
- package/src/ui/components/theming.tsx +15 -2
- package/src/ui/screens/AccountCenterScreen.tsx +10 -13
- package/src/ui/screens/AccountOverviewScreen.tsx +39 -39
- package/src/ui/screens/AccountSettingsScreen.tsx +15 -19
- package/src/ui/screens/AccountSwitcherScreen.tsx +1 -23
- package/src/ui/screens/AccountVerificationScreen.tsx +15 -33
- package/src/ui/screens/AppInfoScreen.tsx +28 -24
- package/src/ui/screens/EditProfileFieldScreen.tsx +24 -26
- package/src/ui/screens/FAQScreen.tsx +23 -23
- package/src/ui/screens/FeedbackScreen.tsx +47 -38
- package/src/ui/screens/FileManagementScreen.tsx +102 -116
- package/src/ui/screens/HelpSupportScreen.tsx +12 -8
- package/src/ui/screens/HistoryViewScreen.tsx +12 -8
- package/src/ui/screens/LanguageSelectorScreen.tsx +8 -11
- package/src/ui/screens/LearnMoreUsernamesScreen.tsx +17 -17
- package/src/ui/screens/LegalDocumentsScreen.tsx +14 -10
- package/src/ui/screens/OxyAuthScreen.tsx +17 -27
- package/src/ui/screens/PaymentGatewayScreen.tsx +1 -3
- package/src/ui/screens/PremiumSubscriptionScreen.tsx +10 -7
- package/src/ui/screens/PrivacySettingsScreen.tsx +63 -65
- package/src/ui/screens/ProfileScreen.tsx +54 -58
- package/src/ui/screens/SavesCollectionsScreen.tsx +15 -11
- package/src/ui/screens/SearchSettingsScreen.tsx +11 -13
- package/src/ui/screens/SessionManagementScreen.tsx +12 -12
- package/src/ui/screens/UserLinksScreen.tsx +4 -8
- package/src/ui/screens/UserListScreen.tsx +34 -46
- package/src/ui/screens/WelcomeNewUserScreen.tsx +11 -6
- package/src/ui/screens/karma/KarmaAboutScreen.tsx +6 -10
- package/src/ui/screens/karma/KarmaCenterScreen.tsx +23 -19
- package/src/ui/screens/karma/KarmaFAQScreen.tsx +7 -14
- package/src/ui/screens/karma/KarmaLeaderboardScreen.tsx +5 -9
- package/src/ui/screens/karma/KarmaRewardsScreen.tsx +15 -17
- package/src/ui/screens/karma/KarmaRulesScreen.tsx +5 -9
|
@@ -10,8 +10,10 @@ import type { BaseScreenProps } from '../types/navigation';
|
|
|
10
10
|
import { toast } from '../../lib/sonner';
|
|
11
11
|
import { Header, Section, GroupedSection, LoadingState, EmptyState } from '../components';
|
|
12
12
|
import { useI18n } from '../hooks/useI18n';
|
|
13
|
-
import {
|
|
13
|
+
import { useTheme } from '@oxyhq/bloom/theme';
|
|
14
14
|
import { useColorScheme } from '../hooks/useColorScheme';
|
|
15
|
+
import { Colors } from '../constants/theme';
|
|
16
|
+
import { normalizeColorScheme } from '../utils/themeUtils';
|
|
15
17
|
import { useOxy } from '../context/OxyContext';
|
|
16
18
|
|
|
17
19
|
interface SavedItem {
|
|
@@ -44,10 +46,12 @@ const SavesCollectionsScreen: React.FC<BaseScreenProps> = ({
|
|
|
44
46
|
const [isLoading, setIsLoading] = useState(true);
|
|
45
47
|
const [activeTab, setActiveTab] = useState<'saves' | 'collections'>('saves');
|
|
46
48
|
|
|
49
|
+
const bloomTheme = useTheme();
|
|
47
50
|
const colorScheme = useColorScheme();
|
|
48
|
-
const
|
|
49
|
-
const
|
|
50
|
-
const
|
|
51
|
+
const normalizedColorScheme = normalizeColorScheme(colorScheme);
|
|
52
|
+
const themeColors = Colors[normalizedColorScheme];
|
|
53
|
+
const tabActiveColor = themeColors.iconSecurity;
|
|
54
|
+
const tabInactiveColor = bloomTheme.isDark ? '#888888' : '#666666';
|
|
51
55
|
|
|
52
56
|
// Load saved items and collections from API
|
|
53
57
|
useEffect(() => {
|
|
@@ -89,7 +93,7 @@ const SavesCollectionsScreen: React.FC<BaseScreenProps> = ({
|
|
|
89
93
|
};
|
|
90
94
|
|
|
91
95
|
return (
|
|
92
|
-
<View style={
|
|
96
|
+
<View style={styles.container} className="bg-background">
|
|
93
97
|
<Header
|
|
94
98
|
title={t('saves.title') || 'Saves & Collections'}
|
|
95
99
|
onBack={goBack || onClose}
|
|
@@ -98,7 +102,7 @@ const SavesCollectionsScreen: React.FC<BaseScreenProps> = ({
|
|
|
98
102
|
/>
|
|
99
103
|
|
|
100
104
|
{/* Tabs */}
|
|
101
|
-
<View style={[styles.tabs, { borderBottomColor:
|
|
105
|
+
<View style={[styles.tabs, { borderBottomColor: bloomTheme.colors.border }]}>
|
|
102
106
|
<TouchableOpacity
|
|
103
107
|
style={[
|
|
104
108
|
styles.tab,
|
|
@@ -143,13 +147,13 @@ const SavesCollectionsScreen: React.FC<BaseScreenProps> = ({
|
|
|
143
147
|
{isLoading ? (
|
|
144
148
|
<LoadingState
|
|
145
149
|
message={t('saves.loading') || 'Loading...'}
|
|
146
|
-
color={
|
|
150
|
+
color={bloomTheme.colors.text}
|
|
147
151
|
/>
|
|
148
152
|
) : activeTab === 'saves' ? (
|
|
149
153
|
savedItems.length === 0 ? (
|
|
150
154
|
<EmptyState
|
|
151
155
|
message={t('saves.empty') || 'No saved items yet'}
|
|
152
|
-
textColor={
|
|
156
|
+
textColor={bloomTheme.colors.text}
|
|
153
157
|
/>
|
|
154
158
|
) : (
|
|
155
159
|
<Section title={t('saves.savedItems') || 'Saved Items'} isFirst={true}>
|
|
@@ -157,7 +161,7 @@ const SavesCollectionsScreen: React.FC<BaseScreenProps> = ({
|
|
|
157
161
|
items={savedItems.map((item) => ({
|
|
158
162
|
id: item.id,
|
|
159
163
|
icon: item.type === 'post' ? 'document-text' : 'folder',
|
|
160
|
-
iconColor: item.type === 'post' ?
|
|
164
|
+
iconColor: item.type === 'post' ? themeColors.iconSecurity : themeColors.iconStorage,
|
|
161
165
|
title: item.title,
|
|
162
166
|
subtitle: formatDate(item.savedAt),
|
|
163
167
|
}))}
|
|
@@ -168,7 +172,7 @@ const SavesCollectionsScreen: React.FC<BaseScreenProps> = ({
|
|
|
168
172
|
collections.length === 0 ? (
|
|
169
173
|
<EmptyState
|
|
170
174
|
message={t('saves.noCollections') || 'No collections yet'}
|
|
171
|
-
textColor={
|
|
175
|
+
textColor={bloomTheme.colors.text}
|
|
172
176
|
/>
|
|
173
177
|
) : (
|
|
174
178
|
<Section title={t('saves.collections') || 'Collections'} isFirst={true}>
|
|
@@ -176,7 +180,7 @@ const SavesCollectionsScreen: React.FC<BaseScreenProps> = ({
|
|
|
176
180
|
items={collections.map((collection) => ({
|
|
177
181
|
id: collection.id,
|
|
178
182
|
icon: 'folder',
|
|
179
|
-
iconColor:
|
|
183
|
+
iconColor: themeColors.iconStorage,
|
|
180
184
|
title: collection.name,
|
|
181
185
|
subtitle: `${collection.itemCount || 0} items`,
|
|
182
186
|
}))}
|
|
@@ -7,9 +7,8 @@ import {
|
|
|
7
7
|
import type { BaseScreenProps } from '../types/navigation';
|
|
8
8
|
import { Header, Section, LoadingState, SettingRow } from '../components';
|
|
9
9
|
import { useI18n } from '../hooks/useI18n';
|
|
10
|
-
import {
|
|
10
|
+
import { useTheme } from '@oxyhq/bloom/theme';
|
|
11
11
|
import { useSettingToggles } from '../hooks/useSettingToggle';
|
|
12
|
-
import { normalizeTheme } from '../utils/themeUtils';
|
|
13
12
|
import { useOxy } from '../context/OxyContext';
|
|
14
13
|
import type { User } from '@oxyhq/core';
|
|
15
14
|
|
|
@@ -75,25 +74,24 @@ const SearchSettingsScreen: React.FC<BaseScreenProps> = ({
|
|
|
75
74
|
loadSettings();
|
|
76
75
|
}, [user?.id, oxyServices, setValues]);
|
|
77
76
|
|
|
78
|
-
const
|
|
79
|
-
const themeStyles = useThemeStyles(normalizedTheme);
|
|
77
|
+
const bloomTheme = useTheme();
|
|
80
78
|
|
|
81
79
|
if (isLoading) {
|
|
82
80
|
return (
|
|
83
|
-
<View style={
|
|
81
|
+
<View style={styles.container} className="bg-background">
|
|
84
82
|
<Header
|
|
85
83
|
title={t('searchSettings.title') || 'Search Settings'}
|
|
86
84
|
onBack={goBack || onClose}
|
|
87
85
|
variant="minimal"
|
|
88
86
|
elevation="subtle"
|
|
89
87
|
/>
|
|
90
|
-
<LoadingState color={
|
|
88
|
+
<LoadingState color={bloomTheme.colors.text} />
|
|
91
89
|
</View>
|
|
92
90
|
);
|
|
93
91
|
}
|
|
94
92
|
|
|
95
93
|
return (
|
|
96
|
-
<View style={
|
|
94
|
+
<View style={styles.container} className="bg-background">
|
|
97
95
|
<Header
|
|
98
96
|
title={t('searchSettings.title') || 'Search Settings'}
|
|
99
97
|
|
|
@@ -111,9 +109,9 @@ const SearchSettingsScreen: React.FC<BaseScreenProps> = ({
|
|
|
111
109
|
value={settings.safeSearch}
|
|
112
110
|
onValueChange={() => toggle('safeSearch')}
|
|
113
111
|
disabled={isSaving}
|
|
114
|
-
textColor={
|
|
115
|
-
mutedTextColor={
|
|
116
|
-
borderColor={
|
|
112
|
+
textColor={bloomTheme.colors.text}
|
|
113
|
+
mutedTextColor={bloomTheme.colors.textSecondary}
|
|
114
|
+
borderColor={bloomTheme.colors.border}
|
|
117
115
|
/>
|
|
118
116
|
</Section>
|
|
119
117
|
|
|
@@ -125,9 +123,9 @@ const SearchSettingsScreen: React.FC<BaseScreenProps> = ({
|
|
|
125
123
|
value={settings.searchPersonalization}
|
|
126
124
|
onValueChange={() => toggle('searchPersonalization')}
|
|
127
125
|
disabled={isSaving}
|
|
128
|
-
textColor={
|
|
129
|
-
mutedTextColor={
|
|
130
|
-
borderColor={
|
|
126
|
+
textColor={bloomTheme.colors.text}
|
|
127
|
+
mutedTextColor={bloomTheme.colors.textSecondary}
|
|
128
|
+
borderColor={bloomTheme.colors.border}
|
|
131
129
|
/>
|
|
132
130
|
</Section>
|
|
133
131
|
</ScrollView>
|
|
@@ -17,8 +17,7 @@ import { toast } from '../../lib/sonner';
|
|
|
17
17
|
import type { ClientSession } from '@oxyhq/core';
|
|
18
18
|
import { confirmAction } from '../utils/confirmAction';
|
|
19
19
|
import { Header, GroupedSection } from '../components';
|
|
20
|
-
import {
|
|
21
|
-
import { normalizeTheme } from '../utils/themeUtils';
|
|
20
|
+
import { useTheme } from '@oxyhq/bloom/theme';
|
|
22
21
|
import { useOxy } from '../context/OxyContext';
|
|
23
22
|
import { useI18n } from '../hooks/useI18n';
|
|
24
23
|
|
|
@@ -54,11 +53,12 @@ const SessionManagementScreen: React.FC<BaseScreenProps> = ({
|
|
|
54
53
|
const [switchLoading, setSwitchLoading] = useState<string | null>(null);
|
|
55
54
|
const [lastRefreshed, setLastRefreshed] = useState<Date | null>(null);
|
|
56
55
|
|
|
57
|
-
// Use
|
|
58
|
-
const
|
|
59
|
-
const
|
|
60
|
-
|
|
61
|
-
const
|
|
56
|
+
// Use bloom theme for non-style color props (ActivityIndicator, icon colors, etc.)
|
|
57
|
+
const bloomTheme = useTheme();
|
|
58
|
+
const isDarkTheme = bloomTheme.isDark;
|
|
59
|
+
const primaryColor = bloomTheme.colors.primary;
|
|
60
|
+
const dangerColor = bloomTheme.colors.error;
|
|
61
|
+
const successColor = bloomTheme.colors.success || '#34C759';
|
|
62
62
|
|
|
63
63
|
// Memoized load sessions function - prevents unnecessary re-renders
|
|
64
64
|
const loadSessions = useCallback(async (isRefresh = false) => {
|
|
@@ -291,15 +291,15 @@ const SessionManagementScreen: React.FC<BaseScreenProps> = ({
|
|
|
291
291
|
|
|
292
292
|
if (loading) {
|
|
293
293
|
return (
|
|
294
|
-
<View style={[styles.container, styles.centerContent
|
|
294
|
+
<View style={[styles.container, styles.centerContent]} className="bg-background">
|
|
295
295
|
<ActivityIndicator size="large" color={primaryColor} />
|
|
296
|
-
<Text style={
|
|
296
|
+
<Text style={styles.loadingText} className="text-foreground">{t('sessionManagement.loading')}</Text>
|
|
297
297
|
</View>
|
|
298
298
|
);
|
|
299
299
|
}
|
|
300
300
|
|
|
301
301
|
return (
|
|
302
|
-
<View style={
|
|
302
|
+
<View style={styles.container} className="bg-background">
|
|
303
303
|
<Header
|
|
304
304
|
title={t('sessionManagement.title')}
|
|
305
305
|
subtitle={t('sessionManagement.subtitle')}
|
|
@@ -337,9 +337,9 @@ const SessionManagementScreen: React.FC<BaseScreenProps> = ({
|
|
|
337
337
|
</View>
|
|
338
338
|
)}
|
|
339
339
|
</ScrollView>
|
|
340
|
-
<View style={
|
|
340
|
+
<View style={styles.footer} className="border-border">
|
|
341
341
|
<TouchableOpacity style={styles.closeButton} onPress={onClose}>
|
|
342
|
-
<Text style={
|
|
342
|
+
<Text style={styles.closeButtonText} className="text-primary">{t('sessionManagement.close')}</Text>
|
|
343
343
|
</TouchableOpacity>
|
|
344
344
|
</View>
|
|
345
345
|
</View>
|
|
@@ -3,8 +3,7 @@ import { View, Text, StyleSheet, ScrollView, TouchableOpacity, Image, Linking }
|
|
|
3
3
|
import { Ionicons } from '@expo/vector-icons';
|
|
4
4
|
import type { BaseScreenProps } from '../types/navigation';
|
|
5
5
|
import { Header, GroupedSection } from '../components';
|
|
6
|
-
import {
|
|
7
|
-
import { normalizeTheme } from '../utils/themeUtils';
|
|
6
|
+
import { useTheme } from '@oxyhq/bloom/theme';
|
|
8
7
|
import { useI18n } from '../hooks/useI18n';
|
|
9
8
|
|
|
10
9
|
interface UserLinksScreenProps extends BaseScreenProps {
|
|
@@ -25,10 +24,7 @@ const UserLinksScreen: React.FC<UserLinksScreenProps> = ({
|
|
|
25
24
|
goBack,
|
|
26
25
|
navigate
|
|
27
26
|
}) => {
|
|
28
|
-
|
|
29
|
-
// primaryColor from hook (#007AFF) is already correct for this screen
|
|
30
|
-
const normalizedTheme = normalizeTheme(theme);
|
|
31
|
-
const themeStyles = useThemeStyles(normalizedTheme);
|
|
27
|
+
const bloomTheme = useTheme();
|
|
32
28
|
const { t } = useI18n();
|
|
33
29
|
|
|
34
30
|
const handleLinkPress = async (url: string) => {
|
|
@@ -54,7 +50,7 @@ const UserLinksScreen: React.FC<UserLinksScreenProps> = ({
|
|
|
54
50
|
}));
|
|
55
51
|
|
|
56
52
|
return (
|
|
57
|
-
<View style={
|
|
53
|
+
<View style={styles.container} className="bg-background">
|
|
58
54
|
<Header
|
|
59
55
|
title={t('userLinks.title')}
|
|
60
56
|
subtitle={links.length !== 1 ? t('userLinks.linkCount_plural', { count: links.length }) : t('userLinks.linkCount', { count: links.length })}
|
|
@@ -64,7 +60,7 @@ const UserLinksScreen: React.FC<UserLinksScreenProps> = ({
|
|
|
64
60
|
|
|
65
61
|
<ScrollView style={styles.content}>
|
|
66
62
|
<View style={styles.section}>
|
|
67
|
-
<Text style={
|
|
63
|
+
<Text style={styles.sectionTitle} className="text-foreground">{t('userLinks.title')}</Text>
|
|
68
64
|
|
|
69
65
|
<GroupedSection
|
|
70
66
|
items={groupedItems}
|
|
@@ -10,7 +10,7 @@ import {
|
|
|
10
10
|
RefreshControl,
|
|
11
11
|
} from 'react-native';
|
|
12
12
|
import type { BaseScreenProps } from '../types/navigation';
|
|
13
|
-
import {
|
|
13
|
+
import { useTheme } from '@oxyhq/bloom/theme';
|
|
14
14
|
import Avatar from '../components/Avatar';
|
|
15
15
|
import { FollowButton } from '../components';
|
|
16
16
|
import { Ionicons } from '@expo/vector-icons';
|
|
@@ -46,8 +46,8 @@ const UserListScreen: React.FC<UserListScreenProps> = ({
|
|
|
46
46
|
const [error, setError] = useState<string | null>(null);
|
|
47
47
|
const [hasMore, setHasMore] = useState(true);
|
|
48
48
|
|
|
49
|
-
const
|
|
50
|
-
const styles = createStyles(
|
|
49
|
+
const bloomTheme = useTheme();
|
|
50
|
+
const styles = createStyles();
|
|
51
51
|
const { t } = useI18n();
|
|
52
52
|
|
|
53
53
|
const currentUserId = currentUser?.id || (currentUser?._id as string | undefined);
|
|
@@ -145,16 +145,16 @@ const UserListScreen: React.FC<UserListScreenProps> = ({
|
|
|
145
145
|
size={48}
|
|
146
146
|
/>
|
|
147
147
|
<View style={styles.userInfo}>
|
|
148
|
-
<Text style={styles.userName} numberOfLines={1}>
|
|
148
|
+
<Text style={styles.userName} className="text-foreground" numberOfLines={1}>
|
|
149
149
|
{item.name?.full || item.username || 'Unknown User'}
|
|
150
150
|
</Text>
|
|
151
151
|
{item.username && (
|
|
152
|
-
<Text style={styles.userHandle} numberOfLines={1}>
|
|
152
|
+
<Text style={styles.userHandle} className="text-muted-foreground" numberOfLines={1}>
|
|
153
153
|
@{item.username}
|
|
154
154
|
</Text>
|
|
155
155
|
)}
|
|
156
156
|
{description ? (
|
|
157
|
-
<Text style={styles.userBio} numberOfLines={2}>
|
|
157
|
+
<Text style={styles.userBio} className="text-foreground" numberOfLines={2}>
|
|
158
158
|
{description}
|
|
159
159
|
</Text>
|
|
160
160
|
) : null}
|
|
@@ -167,7 +167,7 @@ const UserListScreen: React.FC<UserListScreenProps> = ({
|
|
|
167
167
|
</TouchableOpacity>
|
|
168
168
|
);
|
|
169
169
|
},
|
|
170
|
-
[
|
|
170
|
+
[bloomTheme, styles, handleUserPress, currentUserId, oxyServices]
|
|
171
171
|
);
|
|
172
172
|
|
|
173
173
|
const renderEmpty = useCallback(() => {
|
|
@@ -177,30 +177,30 @@ const UserListScreen: React.FC<UserListScreenProps> = ({
|
|
|
177
177
|
<Ionicons
|
|
178
178
|
name={mode === 'followers' ? 'people-outline' : 'heart-outline'}
|
|
179
179
|
size={64}
|
|
180
|
-
color={colors.
|
|
180
|
+
color={bloomTheme.colors.textSecondary}
|
|
181
181
|
/>
|
|
182
|
-
<Text style={styles.emptyTitle}>
|
|
182
|
+
<Text style={styles.emptyTitle} className="text-foreground">
|
|
183
183
|
{mode === 'followers'
|
|
184
184
|
? t('userList.noFollowers') || 'No followers yet'
|
|
185
185
|
: t('userList.noFollowing') || 'Not following anyone'}
|
|
186
186
|
</Text>
|
|
187
|
-
<Text style={styles.emptySubtitle}>
|
|
187
|
+
<Text style={styles.emptySubtitle} className="text-muted-foreground">
|
|
188
188
|
{mode === 'followers'
|
|
189
189
|
? t('userList.noFollowersDesc') || 'When people follow this user, they will appear here.'
|
|
190
190
|
: t('userList.noFollowingDesc') || 'When this user follows people, they will appear here.'}
|
|
191
191
|
</Text>
|
|
192
192
|
</View>
|
|
193
193
|
);
|
|
194
|
-
}, [isLoading, mode,
|
|
194
|
+
}, [isLoading, mode, bloomTheme, styles, t]);
|
|
195
195
|
|
|
196
196
|
const renderFooter = useCallback(() => {
|
|
197
197
|
if (!isLoadingMore) return null;
|
|
198
198
|
return (
|
|
199
199
|
<View style={styles.footerLoader}>
|
|
200
|
-
<ActivityIndicator size="small" color={colors.primary} />
|
|
200
|
+
<ActivityIndicator size="small" color={bloomTheme.colors.primary} />
|
|
201
201
|
</View>
|
|
202
202
|
);
|
|
203
|
-
}, [isLoadingMore,
|
|
203
|
+
}, [isLoadingMore, bloomTheme, styles]);
|
|
204
204
|
|
|
205
205
|
const title = mode === 'followers'
|
|
206
206
|
? (t('userList.followers') || 'Followers')
|
|
@@ -208,18 +208,18 @@ const UserListScreen: React.FC<UserListScreenProps> = ({
|
|
|
208
208
|
|
|
209
209
|
if (isLoading && users.length === 0) {
|
|
210
210
|
return (
|
|
211
|
-
<View style={styles.container}>
|
|
212
|
-
<View style={styles.header}>
|
|
211
|
+
<View style={styles.container} className="bg-background">
|
|
212
|
+
<View style={styles.header} className="border-border">
|
|
213
213
|
{goBack && (
|
|
214
214
|
<TouchableOpacity onPress={goBack} style={styles.backButton}>
|
|
215
|
-
<Ionicons name="arrow-back" size={24} color={colors.text} />
|
|
215
|
+
<Ionicons name="arrow-back" size={24} color={bloomTheme.colors.text} />
|
|
216
216
|
</TouchableOpacity>
|
|
217
217
|
)}
|
|
218
|
-
<Text style={styles.headerTitle}>{title}</Text>
|
|
218
|
+
<Text style={styles.headerTitle} className="text-foreground">{title}</Text>
|
|
219
219
|
<View style={styles.headerRight} />
|
|
220
220
|
</View>
|
|
221
221
|
<View style={styles.loadingContainer}>
|
|
222
|
-
<ActivityIndicator size="large" color={colors.primary} />
|
|
222
|
+
<ActivityIndicator size="large" color={bloomTheme.colors.primary} />
|
|
223
223
|
</View>
|
|
224
224
|
</View>
|
|
225
225
|
);
|
|
@@ -227,20 +227,20 @@ const UserListScreen: React.FC<UserListScreenProps> = ({
|
|
|
227
227
|
|
|
228
228
|
if (error) {
|
|
229
229
|
return (
|
|
230
|
-
<View style={styles.container}>
|
|
231
|
-
<View style={styles.header}>
|
|
230
|
+
<View style={styles.container} className="bg-background">
|
|
231
|
+
<View style={styles.header} className="border-border">
|
|
232
232
|
{goBack && (
|
|
233
233
|
<TouchableOpacity onPress={goBack} style={styles.backButton}>
|
|
234
|
-
<Ionicons name="arrow-back" size={24} color={colors.text} />
|
|
234
|
+
<Ionicons name="arrow-back" size={24} color={bloomTheme.colors.text} />
|
|
235
235
|
</TouchableOpacity>
|
|
236
236
|
)}
|
|
237
|
-
<Text style={styles.headerTitle}>{title}</Text>
|
|
237
|
+
<Text style={styles.headerTitle} className="text-foreground">{title}</Text>
|
|
238
238
|
<View style={styles.headerRight} />
|
|
239
239
|
</View>
|
|
240
240
|
<View style={styles.errorContainer}>
|
|
241
|
-
<Ionicons name="alert-circle" size={48} color={colors.error} />
|
|
242
|
-
<Text style={styles.errorText}>{error}</Text>
|
|
243
|
-
<TouchableOpacity style={styles.retryButton} onPress={() => fetchUsers(0)}>
|
|
241
|
+
<Ionicons name="alert-circle" size={48} color={bloomTheme.colors.error} />
|
|
242
|
+
<Text style={styles.errorText} className="text-destructive">{error}</Text>
|
|
243
|
+
<TouchableOpacity style={styles.retryButton} className="bg-primary" onPress={() => fetchUsers(0)}>
|
|
244
244
|
<Text style={styles.retryButtonText}>{t('common.retry') || 'Retry'}</Text>
|
|
245
245
|
</TouchableOpacity>
|
|
246
246
|
</View>
|
|
@@ -249,16 +249,16 @@ const UserListScreen: React.FC<UserListScreenProps> = ({
|
|
|
249
249
|
}
|
|
250
250
|
|
|
251
251
|
return (
|
|
252
|
-
<View style={styles.container}>
|
|
253
|
-
<View style={styles.header}>
|
|
252
|
+
<View style={styles.container} className="bg-background">
|
|
253
|
+
<View style={styles.header} className="border-border">
|
|
254
254
|
{goBack && (
|
|
255
255
|
<TouchableOpacity onPress={goBack} style={styles.backButton}>
|
|
256
|
-
<Ionicons name="arrow-back" size={24} color={colors.text} />
|
|
256
|
+
<Ionicons name="arrow-back" size={24} color={bloomTheme.colors.text} />
|
|
257
257
|
</TouchableOpacity>
|
|
258
258
|
)}
|
|
259
259
|
<View style={styles.headerTitleContainer}>
|
|
260
|
-
<Text style={styles.headerTitle}>{title}</Text>
|
|
261
|
-
{total > 0 && <Text style={styles.headerCount}>{total}</Text>}
|
|
260
|
+
<Text style={styles.headerTitle} className="text-foreground">{title}</Text>
|
|
261
|
+
{total > 0 && <Text style={styles.headerCount} className="text-muted-foreground">{total}</Text>}
|
|
262
262
|
</View>
|
|
263
263
|
<View style={styles.headerRight} />
|
|
264
264
|
</View>
|
|
@@ -267,7 +267,7 @@ const UserListScreen: React.FC<UserListScreenProps> = ({
|
|
|
267
267
|
renderItem={renderUser}
|
|
268
268
|
keyExtractor={(item, index) => item.id || (item._id as string) || `user-${index}`}
|
|
269
269
|
contentContainerStyle={styles.listContent}
|
|
270
|
-
ItemSeparatorComponent={() => <View style={styles.separator} />}
|
|
270
|
+
ItemSeparatorComponent={() => <View style={styles.separator} className="bg-border" />}
|
|
271
271
|
ListEmptyComponent={renderEmpty}
|
|
272
272
|
ListFooterComponent={renderFooter}
|
|
273
273
|
onEndReached={handleLoadMore}
|
|
@@ -276,8 +276,8 @@ const UserListScreen: React.FC<UserListScreenProps> = ({
|
|
|
276
276
|
<RefreshControl
|
|
277
277
|
refreshing={isRefreshing}
|
|
278
278
|
onRefresh={handleRefresh}
|
|
279
|
-
tintColor={colors.primary}
|
|
280
|
-
colors={[colors.primary]}
|
|
279
|
+
tintColor={bloomTheme.colors.primary}
|
|
280
|
+
colors={[bloomTheme.colors.primary]}
|
|
281
281
|
/>
|
|
282
282
|
}
|
|
283
283
|
/>
|
|
@@ -285,11 +285,10 @@ const UserListScreen: React.FC<UserListScreenProps> = ({
|
|
|
285
285
|
);
|
|
286
286
|
};
|
|
287
287
|
|
|
288
|
-
const createStyles = (
|
|
288
|
+
const createStyles = () =>
|
|
289
289
|
StyleSheet.create({
|
|
290
290
|
container: {
|
|
291
291
|
flex: 1,
|
|
292
|
-
backgroundColor: colors.background,
|
|
293
292
|
},
|
|
294
293
|
header: {
|
|
295
294
|
flexDirection: 'row',
|
|
@@ -297,7 +296,6 @@ const createStyles = (colors: ThemeColors) =>
|
|
|
297
296
|
paddingHorizontal: 16,
|
|
298
297
|
paddingVertical: 12,
|
|
299
298
|
borderBottomWidth: 1,
|
|
300
|
-
borderBottomColor: colors.border,
|
|
301
299
|
},
|
|
302
300
|
backButton: {
|
|
303
301
|
padding: 8,
|
|
@@ -311,11 +309,9 @@ const createStyles = (colors: ThemeColors) =>
|
|
|
311
309
|
headerTitle: {
|
|
312
310
|
fontSize: 18,
|
|
313
311
|
fontWeight: '600',
|
|
314
|
-
color: colors.text,
|
|
315
312
|
},
|
|
316
313
|
headerCount: {
|
|
317
314
|
fontSize: 16,
|
|
318
|
-
color: colors.secondaryText,
|
|
319
315
|
marginLeft: 8,
|
|
320
316
|
},
|
|
321
317
|
headerRight: {
|
|
@@ -334,13 +330,11 @@ const createStyles = (colors: ThemeColors) =>
|
|
|
334
330
|
},
|
|
335
331
|
errorText: {
|
|
336
332
|
fontSize: 16,
|
|
337
|
-
color: colors.error,
|
|
338
333
|
textAlign: 'center',
|
|
339
334
|
marginTop: 16,
|
|
340
335
|
marginBottom: 24,
|
|
341
336
|
},
|
|
342
337
|
retryButton: {
|
|
343
|
-
backgroundColor: colors.primary,
|
|
344
338
|
paddingHorizontal: 24,
|
|
345
339
|
paddingVertical: 12,
|
|
346
340
|
borderRadius: 8,
|
|
@@ -367,16 +361,13 @@ const createStyles = (colors: ThemeColors) =>
|
|
|
367
361
|
userName: {
|
|
368
362
|
fontSize: 16,
|
|
369
363
|
fontWeight: '600',
|
|
370
|
-
color: colors.text,
|
|
371
364
|
},
|
|
372
365
|
userHandle: {
|
|
373
366
|
fontSize: 14,
|
|
374
|
-
color: colors.secondaryText,
|
|
375
367
|
marginTop: 2,
|
|
376
368
|
},
|
|
377
369
|
userBio: {
|
|
378
370
|
fontSize: 14,
|
|
379
|
-
color: colors.text,
|
|
380
371
|
marginTop: 4,
|
|
381
372
|
opacity: 0.8,
|
|
382
373
|
},
|
|
@@ -385,7 +376,6 @@ const createStyles = (colors: ThemeColors) =>
|
|
|
385
376
|
},
|
|
386
377
|
separator: {
|
|
387
378
|
height: 1,
|
|
388
|
-
backgroundColor: colors.border,
|
|
389
379
|
marginLeft: 76,
|
|
390
380
|
},
|
|
391
381
|
emptyContainer: {
|
|
@@ -398,13 +388,11 @@ const createStyles = (colors: ThemeColors) =>
|
|
|
398
388
|
emptyTitle: {
|
|
399
389
|
fontSize: 18,
|
|
400
390
|
fontWeight: '600',
|
|
401
|
-
color: colors.text,
|
|
402
391
|
marginTop: 16,
|
|
403
392
|
textAlign: 'center',
|
|
404
393
|
},
|
|
405
394
|
emptySubtitle: {
|
|
406
395
|
fontSize: 14,
|
|
407
|
-
color: colors.secondaryText,
|
|
408
396
|
marginTop: 8,
|
|
409
397
|
textAlign: 'center',
|
|
410
398
|
},
|
|
@@ -7,7 +7,7 @@ import Avatar from '../components/Avatar';
|
|
|
7
7
|
import { Ionicons } from '@expo/vector-icons';
|
|
8
8
|
import { toast } from '../../lib/sonner';
|
|
9
9
|
import { useAuthStore } from '../stores/authStore';
|
|
10
|
-
import {
|
|
10
|
+
import { useTheme } from '@oxyhq/bloom/theme';
|
|
11
11
|
import { fontFamilies } from '../styles/fonts';
|
|
12
12
|
import { normalizeTheme } from '../utils/themeUtils';
|
|
13
13
|
import GroupedPillButtons from '../components/internal/GroupedPillButtons';
|
|
@@ -68,8 +68,13 @@ const WelcomeNewUserScreen: React.FC<BaseScreenProps & { newUser?: any }> = ({
|
|
|
68
68
|
const { t } = useI18n();
|
|
69
69
|
const updateProfileMutation = useUpdateProfile();
|
|
70
70
|
const currentUser = user || newUser; // fallback
|
|
71
|
+
const bloomTheme = useTheme();
|
|
72
|
+
const colors = {
|
|
73
|
+
primary: bloomTheme.colors.primary,
|
|
74
|
+
border: bloomTheme.colors.border,
|
|
75
|
+
text: bloomTheme.colors.text,
|
|
76
|
+
};
|
|
71
77
|
const normalizedTheme = normalizeTheme(theme);
|
|
72
|
-
const colors = useThemeColors(normalizedTheme);
|
|
73
78
|
const styles = useMemo(() => createStyles(normalizedTheme), [normalizedTheme]);
|
|
74
79
|
|
|
75
80
|
// Animation state
|
|
@@ -212,15 +217,15 @@ const WelcomeNewUserScreen: React.FC<BaseScreenProps & { newUser?: any }> = ({
|
|
|
212
217
|
<Animated.View style={{ opacity: fadeAnim, transform: [{ translateX: slideAnim }] }}>
|
|
213
218
|
<View style={[styles.scrollInner, styles.contentContainer]}>
|
|
214
219
|
<View style={[styles.header, styles.sectionSpacing]}>
|
|
215
|
-
<Text style={
|
|
216
|
-
{step.body && <Text style={
|
|
220
|
+
<Text style={styles.title} className="text-foreground">{step.title}</Text>
|
|
221
|
+
{step.body && <Text style={styles.body} className="text-muted-foreground">{step.body}</Text>}
|
|
217
222
|
</View>
|
|
218
223
|
{Array.isArray(step.bullets) && step.bullets.length > 0 && (
|
|
219
224
|
<View style={[styles.bulletContainer, styles.sectionSpacing]}>
|
|
220
225
|
{step.bullets.map(b => (
|
|
221
226
|
<View key={b} style={styles.bulletRow}>
|
|
222
227
|
<Ionicons name="ellipse" size={8} color={colors.primary} style={{ marginTop: 6 }} />
|
|
223
|
-
<Text style={
|
|
228
|
+
<Text style={styles.bulletText} className="text-muted-foreground">{b}</Text>
|
|
224
229
|
</View>
|
|
225
230
|
))}
|
|
226
231
|
</View>
|
|
@@ -235,7 +240,7 @@ const WelcomeNewUserScreen: React.FC<BaseScreenProps & { newUser?: any }> = ({
|
|
|
235
240
|
backgroundColor={`${colors.primary}20`}
|
|
236
241
|
style={styles.avatar}
|
|
237
242
|
/>
|
|
238
|
-
<TouchableOpacity style={
|
|
243
|
+
<TouchableOpacity style={styles.changeAvatarButton} className="bg-primary" onPress={openAvatarPicker}>
|
|
239
244
|
<Ionicons name="image-outline" size={18} color="#FFFFFF" />
|
|
240
245
|
<Text style={styles.changeAvatarText}>{avatarUri ? (t('welcomeNew.avatar.change') || 'Change Avatar') : (t('welcomeNew.avatar.add') || 'Add Avatar')}</Text>
|
|
241
246
|
</TouchableOpacity>
|
|
@@ -3,21 +3,17 @@ import { View, Text, StyleSheet, ScrollView, Platform } from 'react-native';
|
|
|
3
3
|
import type { BaseScreenProps } from '../../types/navigation';
|
|
4
4
|
import { Header } from '../../components';
|
|
5
5
|
import { useI18n } from '../../hooks/useI18n';
|
|
6
|
-
import {
|
|
7
|
-
import { normalizeTheme } from '../../utils/themeUtils';
|
|
8
|
-
import { useColorScheme } from '../../hooks/useColorScheme';
|
|
6
|
+
import { useTheme } from '@oxyhq/bloom/theme';
|
|
9
7
|
import { fontFamilies } from '../../styles/fonts';
|
|
10
8
|
|
|
11
9
|
const KarmaAboutScreen: React.FC<BaseScreenProps> = ({ goBack, theme }) => {
|
|
12
10
|
const { t } = useI18n();
|
|
13
|
-
const
|
|
14
|
-
const normalizedTheme = normalizeTheme(theme);
|
|
15
|
-
const themeStyles = useThemeStyles(normalizedTheme, colorScheme);
|
|
11
|
+
const bloomTheme = useTheme();
|
|
16
12
|
// Override primaryColor for Karma screens (purple instead of blue)
|
|
17
13
|
const primaryColor = '#d169e5';
|
|
18
14
|
|
|
19
15
|
return (
|
|
20
|
-
<View style={
|
|
16
|
+
<View style={styles.container} className="bg-background">
|
|
21
17
|
<Header
|
|
22
18
|
title={t('karma.about.title') || 'About Karma'}
|
|
23
19
|
subtitle={t('karma.about.subtitle') || 'Learn about the karma system'}
|
|
@@ -26,13 +22,13 @@ const KarmaAboutScreen: React.FC<BaseScreenProps> = ({ goBack, theme }) => {
|
|
|
26
22
|
elevation="subtle"
|
|
27
23
|
/>
|
|
28
24
|
<ScrollView contentContainerStyle={styles.contentContainer}>
|
|
29
|
-
<Text style={[styles.paragraph, { color:
|
|
25
|
+
<Text style={[styles.paragraph, { color: bloomTheme.colors.text }]}>
|
|
30
26
|
{t('karma.about.intro') || 'Karma is a recognition of your positive actions in the Oxy Ecosystem. It cannot be sent or received directly, only earned by contributing to the community.'}
|
|
31
27
|
</Text>
|
|
32
28
|
<Text style={[styles.section, { color: primaryColor }]}>
|
|
33
29
|
{t('karma.about.how.title') || 'How to Earn Karma'}
|
|
34
30
|
</Text>
|
|
35
|
-
<Text style={[styles.paragraph, { color:
|
|
31
|
+
<Text style={[styles.paragraph, { color: bloomTheme.colors.text }]}>
|
|
36
32
|
• {t('karma.about.how.help') || 'Helping other users'}{'\n'}
|
|
37
33
|
• {t('karma.about.how.report') || 'Reporting bugs'}{'\n'}
|
|
38
34
|
• {t('karma.about.how.contribute') || 'Contributing content'}{'\n'}
|
|
@@ -42,7 +38,7 @@ const KarmaAboutScreen: React.FC<BaseScreenProps> = ({ goBack, theme }) => {
|
|
|
42
38
|
<Text style={[styles.section, { color: primaryColor }]}>
|
|
43
39
|
{t('karma.about.why.title') || 'Why Karma?'}
|
|
44
40
|
</Text>
|
|
45
|
-
<Text style={[styles.paragraph, { color:
|
|
41
|
+
<Text style={[styles.paragraph, { color: bloomTheme.colors.text }]}>
|
|
46
42
|
{t('karma.about.why.text') || 'Karma unlocks special features and recognition in the Oxy Ecosystem. The more you contribute, the more you earn!'}
|
|
47
43
|
</Text>
|
|
48
44
|
</ScrollView>
|