@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
|
@@ -4,10 +4,11 @@ import { View, Text, TouchableOpacity, ScrollView, ActivityIndicator, Image } fr
|
|
|
4
4
|
import { Image as ExpoImage } from 'expo-image';
|
|
5
5
|
// @ts-ignore - MaterialCommunityIcons is available at runtime
|
|
6
6
|
import { MaterialCommunityIcons } from '@expo/vector-icons';
|
|
7
|
+
import { useTheme } from '@oxyhq/bloom/theme';
|
|
7
8
|
import type { FileMetadata } from '@oxyhq/core';
|
|
8
9
|
import { formatFileSize } from '../../utils/fileManagement';
|
|
9
10
|
import { fileManagementStyles } from './styles';
|
|
10
|
-
import
|
|
11
|
+
import { Colors } from '../../constants/theme';
|
|
11
12
|
import { GroupedSection } from '../GroupedSection';
|
|
12
13
|
|
|
13
14
|
interface FileViewerProps {
|
|
@@ -19,8 +20,9 @@ interface FileViewerProps {
|
|
|
19
20
|
onClose: () => void;
|
|
20
21
|
onDownload: (fileId: string, filename: string) => void;
|
|
21
22
|
onDelete: (fileId: string, filename: string) => void;
|
|
22
|
-
themeStyles: ThemeStyles;
|
|
23
23
|
isOwner: boolean;
|
|
24
|
+
/** @deprecated No longer used. Colors are sourced from useTheme() internally. */
|
|
25
|
+
themeStyles?: unknown;
|
|
24
26
|
}
|
|
25
27
|
|
|
26
28
|
export const FileViewer: React.FC<FileViewerProps> = ({
|
|
@@ -32,9 +34,10 @@ export const FileViewer: React.FC<FileViewerProps> = ({
|
|
|
32
34
|
onClose,
|
|
33
35
|
onDownload,
|
|
34
36
|
onDelete,
|
|
35
|
-
themeStyles,
|
|
36
37
|
isOwner,
|
|
37
38
|
}) => {
|
|
39
|
+
const { colors, isDark } = useTheme();
|
|
40
|
+
const constantColors = Colors[isDark ? 'dark' : 'light'];
|
|
38
41
|
const isImage = file.contentType.startsWith('image/');
|
|
39
42
|
const isText = file.contentType.startsWith('text/') ||
|
|
40
43
|
file.contentType.includes('json') ||
|
|
@@ -45,10 +48,9 @@ export const FileViewer: React.FC<FileViewerProps> = ({
|
|
|
45
48
|
const isVideo = file.contentType.startsWith('video/');
|
|
46
49
|
const isAudio = file.contentType.startsWith('audio/');
|
|
47
50
|
|
|
48
|
-
const
|
|
51
|
+
const bgColor = isImage && fileContent
|
|
49
52
|
? 'transparent'
|
|
50
|
-
:
|
|
51
|
-
const borderColor = themeStyles.borderColor;
|
|
53
|
+
: undefined;
|
|
52
54
|
|
|
53
55
|
const [containerWidth, setContainerWidth] = useState<number>(0);
|
|
54
56
|
const [imageDimensions, setImageDimensions] = useState<{ width: number; height: number } | null>(null);
|
|
@@ -107,28 +109,28 @@ export const FileViewer: React.FC<FileViewerProps> = ({
|
|
|
107
109
|
{
|
|
108
110
|
id: 'filename',
|
|
109
111
|
icon: 'file-document',
|
|
110
|
-
iconColor:
|
|
112
|
+
iconColor: constantColors.iconSecurity,
|
|
111
113
|
title: 'File Name',
|
|
112
114
|
subtitle: file.filename,
|
|
113
115
|
},
|
|
114
116
|
{
|
|
115
117
|
id: 'size',
|
|
116
118
|
icon: 'server',
|
|
117
|
-
iconColor:
|
|
119
|
+
iconColor: constantColors.iconStorage,
|
|
118
120
|
title: 'Size',
|
|
119
121
|
subtitle: formatFileSize(file.length),
|
|
120
122
|
},
|
|
121
123
|
{
|
|
122
124
|
id: 'type',
|
|
123
125
|
icon: 'code-tags',
|
|
124
|
-
iconColor:
|
|
126
|
+
iconColor: constantColors.iconData,
|
|
125
127
|
title: 'Type',
|
|
126
128
|
subtitle: file.contentType,
|
|
127
129
|
},
|
|
128
130
|
{
|
|
129
131
|
id: 'uploaded',
|
|
130
132
|
icon: 'clock',
|
|
131
|
-
iconColor:
|
|
133
|
+
iconColor: constantColors.iconPersonalInfo,
|
|
132
134
|
title: 'Uploaded',
|
|
133
135
|
subtitle: new Date(file.uploadDate).toLocaleString(),
|
|
134
136
|
},
|
|
@@ -138,7 +140,7 @@ export const FileViewer: React.FC<FileViewerProps> = ({
|
|
|
138
140
|
items.push({
|
|
139
141
|
id: 'description',
|
|
140
142
|
icon: 'text',
|
|
141
|
-
iconColor:
|
|
143
|
+
iconColor: constantColors.iconData,
|
|
142
144
|
title: 'Description',
|
|
143
145
|
subtitle: file.metadata.description,
|
|
144
146
|
});
|
|
@@ -147,16 +149,19 @@ export const FileViewer: React.FC<FileViewerProps> = ({
|
|
|
147
149
|
items.push({
|
|
148
150
|
id: 'fileId',
|
|
149
151
|
icon: 'key',
|
|
150
|
-
iconColor:
|
|
152
|
+
iconColor: constantColors.iconSecurity,
|
|
151
153
|
title: 'File ID',
|
|
152
154
|
subtitle: file.id,
|
|
153
155
|
});
|
|
154
156
|
|
|
155
157
|
return items;
|
|
156
|
-
}, [file,
|
|
158
|
+
}, [file, constantColors]);
|
|
157
159
|
|
|
158
160
|
return (
|
|
159
|
-
<View
|
|
161
|
+
<View
|
|
162
|
+
className={isImage && fileContent ? undefined : 'bg-background'}
|
|
163
|
+
style={[fileManagementStyles.fileViewerContainer, bgColor ? { backgroundColor: bgColor } : undefined]}
|
|
164
|
+
>
|
|
160
165
|
{/* Blurred Background Image - only for images */}
|
|
161
166
|
{isImage && fileContent && (
|
|
162
167
|
<>
|
|
@@ -168,24 +173,26 @@ export const FileViewer: React.FC<FileViewerProps> = ({
|
|
|
168
173
|
transition={120}
|
|
169
174
|
cachePolicy="memory-disk"
|
|
170
175
|
/>
|
|
171
|
-
<View style={[fileManagementStyles.backgroundOverlay, { backgroundColor:
|
|
176
|
+
<View style={[fileManagementStyles.backgroundOverlay, { backgroundColor: isDark ? 'rgba(0, 0, 0, 0.6)' : 'rgba(255, 255, 255, 0.85)' }]} />
|
|
172
177
|
</>
|
|
173
178
|
)}
|
|
174
179
|
|
|
175
180
|
{/* Floating Back Button */}
|
|
176
181
|
<TouchableOpacity
|
|
177
|
-
|
|
182
|
+
className="bg-card"
|
|
183
|
+
style={fileManagementStyles.floatingBackButton}
|
|
178
184
|
onPress={onClose}
|
|
179
185
|
>
|
|
180
|
-
<MaterialCommunityIcons name="arrow-left" size={20} color={
|
|
186
|
+
<MaterialCommunityIcons name="arrow-left" size={20} color={colors.text} />
|
|
181
187
|
</TouchableOpacity>
|
|
182
188
|
|
|
183
189
|
{/* Floating Download Button */}
|
|
184
190
|
<TouchableOpacity
|
|
185
|
-
|
|
191
|
+
className="bg-card"
|
|
192
|
+
style={fileManagementStyles.floatingDownloadButton}
|
|
186
193
|
onPress={() => onDownload(file.id, file.filename)}
|
|
187
194
|
>
|
|
188
|
-
<MaterialCommunityIcons name="download" size={20} color={
|
|
195
|
+
<MaterialCommunityIcons name="download" size={20} color={colors.primary} />
|
|
189
196
|
</TouchableOpacity>
|
|
190
197
|
|
|
191
198
|
{/* File Content */}
|
|
@@ -195,13 +202,13 @@ export const FileViewer: React.FC<FileViewerProps> = ({
|
|
|
195
202
|
>
|
|
196
203
|
{loadingFileContent ? (
|
|
197
204
|
<View style={fileManagementStyles.fileViewerLoading}>
|
|
198
|
-
<ActivityIndicator size="large" color={
|
|
199
|
-
<Text style={
|
|
205
|
+
<ActivityIndicator size="large" color={colors.primary} />
|
|
206
|
+
<Text className="text-foreground" style={fileManagementStyles.fileViewerLoadingText}>
|
|
200
207
|
Loading file content...
|
|
201
208
|
</Text>
|
|
202
209
|
</View>
|
|
203
210
|
) : isImage && fileContent ? (
|
|
204
|
-
<View
|
|
211
|
+
<View
|
|
205
212
|
style={fileManagementStyles.imageContainer}
|
|
206
213
|
onLayout={(e) => {
|
|
207
214
|
const width = e.nativeEvent.layout.width;
|
|
@@ -210,7 +217,7 @@ export const FileViewer: React.FC<FileViewerProps> = ({
|
|
|
210
217
|
}
|
|
211
218
|
}}
|
|
212
219
|
>
|
|
213
|
-
<View
|
|
220
|
+
<View
|
|
214
221
|
style={[
|
|
215
222
|
fileManagementStyles.imageWrapper,
|
|
216
223
|
{
|
|
@@ -236,9 +243,9 @@ export const FileViewer: React.FC<FileViewerProps> = ({
|
|
|
236
243
|
</View>
|
|
237
244
|
</View>
|
|
238
245
|
) : isText && fileContent ? (
|
|
239
|
-
<View style={
|
|
246
|
+
<View className="bg-card" style={fileManagementStyles.textContainer}>
|
|
240
247
|
<ScrollView style={{ flex: 1 }} nestedScrollEnabled>
|
|
241
|
-
<Text style={
|
|
248
|
+
<Text className="text-foreground" style={fileManagementStyles.textContent}>
|
|
242
249
|
{fileContent}
|
|
243
250
|
</Text>
|
|
244
251
|
</ScrollView>
|
|
@@ -248,17 +255,18 @@ export const FileViewer: React.FC<FileViewerProps> = ({
|
|
|
248
255
|
<MaterialCommunityIcons
|
|
249
256
|
name="file-pdf-box"
|
|
250
257
|
size={64}
|
|
251
|
-
color={
|
|
258
|
+
color={colors.textSecondary}
|
|
252
259
|
/>
|
|
253
|
-
<Text style={
|
|
260
|
+
<Text className="text-foreground" style={fileManagementStyles.unsupportedFileTitle}>
|
|
254
261
|
PDF Preview Not Available
|
|
255
262
|
</Text>
|
|
256
|
-
<Text style={
|
|
263
|
+
<Text className="text-muted-foreground" style={fileManagementStyles.unsupportedFileDescription}>
|
|
257
264
|
PDF files cannot be previewed in this viewer.{'\n'}
|
|
258
265
|
Download the file to view its contents.
|
|
259
266
|
</Text>
|
|
260
267
|
<TouchableOpacity
|
|
261
|
-
|
|
268
|
+
className="bg-primary"
|
|
269
|
+
style={fileManagementStyles.downloadButtonLarge}
|
|
262
270
|
onPress={() => onDownload(file.id, file.filename)}
|
|
263
271
|
>
|
|
264
272
|
<MaterialCommunityIcons name="download" size={18} color="#FFFFFF" />
|
|
@@ -270,17 +278,18 @@ export const FileViewer: React.FC<FileViewerProps> = ({
|
|
|
270
278
|
<MaterialCommunityIcons
|
|
271
279
|
name="video-outline"
|
|
272
280
|
size={64}
|
|
273
|
-
color={
|
|
281
|
+
color={colors.textSecondary}
|
|
274
282
|
/>
|
|
275
|
-
<Text style={
|
|
283
|
+
<Text className="text-foreground" style={fileManagementStyles.unsupportedFileTitle}>
|
|
276
284
|
Video Playback Not Available
|
|
277
285
|
</Text>
|
|
278
|
-
<Text style={
|
|
286
|
+
<Text className="text-muted-foreground" style={fileManagementStyles.unsupportedFileDescription}>
|
|
279
287
|
Video playback is not supported in this viewer.{'\n'}
|
|
280
288
|
Download the file to view it.
|
|
281
289
|
</Text>
|
|
282
290
|
<TouchableOpacity
|
|
283
|
-
|
|
291
|
+
className="bg-primary"
|
|
292
|
+
style={fileManagementStyles.downloadButtonLarge}
|
|
284
293
|
onPress={() => onDownload(file.id, file.filename)}
|
|
285
294
|
>
|
|
286
295
|
<MaterialCommunityIcons name="download" size={18} color="#FFFFFF" />
|
|
@@ -292,17 +301,18 @@ export const FileViewer: React.FC<FileViewerProps> = ({
|
|
|
292
301
|
<MaterialCommunityIcons
|
|
293
302
|
name="music-note-outline"
|
|
294
303
|
size={64}
|
|
295
|
-
color={
|
|
304
|
+
color={colors.textSecondary}
|
|
296
305
|
/>
|
|
297
|
-
<Text style={
|
|
306
|
+
<Text className="text-foreground" style={fileManagementStyles.unsupportedFileTitle}>
|
|
298
307
|
Audio Playback Not Available
|
|
299
308
|
</Text>
|
|
300
|
-
<Text style={
|
|
309
|
+
<Text className="text-muted-foreground" style={fileManagementStyles.unsupportedFileDescription}>
|
|
301
310
|
Audio playback is not supported in this viewer.{'\n'}
|
|
302
311
|
Download the file to listen to it.
|
|
303
312
|
</Text>
|
|
304
313
|
<TouchableOpacity
|
|
305
|
-
|
|
314
|
+
className="bg-primary"
|
|
315
|
+
style={fileManagementStyles.downloadButtonLarge}
|
|
306
316
|
onPress={() => onDownload(file.id, file.filename)}
|
|
307
317
|
>
|
|
308
318
|
<MaterialCommunityIcons name="download" size={18} color="#FFFFFF" />
|
|
@@ -314,17 +324,18 @@ export const FileViewer: React.FC<FileViewerProps> = ({
|
|
|
314
324
|
<MaterialCommunityIcons
|
|
315
325
|
name="file-outline"
|
|
316
326
|
size={64}
|
|
317
|
-
color={
|
|
327
|
+
color={colors.textSecondary}
|
|
318
328
|
/>
|
|
319
|
-
<Text style={
|
|
329
|
+
<Text className="text-foreground" style={fileManagementStyles.unsupportedFileTitle}>
|
|
320
330
|
Preview Not Available
|
|
321
331
|
</Text>
|
|
322
|
-
<Text style={
|
|
332
|
+
<Text className="text-muted-foreground" style={fileManagementStyles.unsupportedFileDescription}>
|
|
323
333
|
This file type cannot be previewed.{'\n'}
|
|
324
334
|
Download the file to view its contents.
|
|
325
335
|
</Text>
|
|
326
336
|
<TouchableOpacity
|
|
327
|
-
|
|
337
|
+
className="bg-primary"
|
|
338
|
+
style={fileManagementStyles.downloadButtonLarge}
|
|
328
339
|
onPress={() => onDownload(file.id, file.filename)}
|
|
329
340
|
>
|
|
330
341
|
<MaterialCommunityIcons name="download" size={18} color="#FFFFFF" />
|
|
@@ -335,9 +346,9 @@ export const FileViewer: React.FC<FileViewerProps> = ({
|
|
|
335
346
|
</ScrollView>
|
|
336
347
|
|
|
337
348
|
{/* File Details Section - at bottom */}
|
|
338
|
-
<View style={
|
|
349
|
+
<View className="bg-card" style={fileManagementStyles.fileDetailsSection}>
|
|
339
350
|
<View style={fileManagementStyles.fileDetailsSectionHeader}>
|
|
340
|
-
<Text style={
|
|
351
|
+
<Text className="text-foreground" style={fileManagementStyles.fileDetailsSectionTitle}>
|
|
341
352
|
File Details
|
|
342
353
|
</Text>
|
|
343
354
|
<TouchableOpacity
|
|
@@ -347,7 +358,7 @@ export const FileViewer: React.FC<FileViewerProps> = ({
|
|
|
347
358
|
<MaterialCommunityIcons
|
|
348
359
|
name={showFileDetailsInViewer ? "chevron-up" : "chevron-down"}
|
|
349
360
|
size={20}
|
|
350
|
-
color={
|
|
361
|
+
color={colors.textSecondary}
|
|
351
362
|
/>
|
|
352
363
|
</TouchableOpacity>
|
|
353
364
|
</View>
|
|
@@ -361,7 +372,8 @@ export const FileViewer: React.FC<FileViewerProps> = ({
|
|
|
361
372
|
{isOwner && (
|
|
362
373
|
<View style={fileManagementStyles.fileDetailsActions}>
|
|
363
374
|
<TouchableOpacity
|
|
364
|
-
|
|
375
|
+
className="bg-destructive"
|
|
376
|
+
style={fileManagementStyles.fileDetailsActionButton}
|
|
365
377
|
onPress={() => {
|
|
366
378
|
onClose();
|
|
367
379
|
onDelete(file.id, file.filename);
|
|
@@ -2,9 +2,9 @@ import type React from 'react';
|
|
|
2
2
|
import { View, Text, TouchableOpacity, Modal, ScrollView } from 'react-native';
|
|
3
3
|
import { Image as ExpoImage } from 'expo-image';
|
|
4
4
|
import { Ionicons } from '@expo/vector-icons';
|
|
5
|
+
import { useTheme } from '@oxyhq/bloom/theme';
|
|
5
6
|
import { formatFileSize, getFileIcon } from '../../utils/fileManagement';
|
|
6
7
|
import { fileManagementStyles } from './styles';
|
|
7
|
-
import type { ThemeStyles } from '../../hooks/useThemeStyles';
|
|
8
8
|
|
|
9
9
|
interface PendingFile {
|
|
10
10
|
file: File | Blob;
|
|
@@ -20,8 +20,9 @@ interface UploadPreviewProps {
|
|
|
20
20
|
onConfirm: () => void;
|
|
21
21
|
onCancel: () => void;
|
|
22
22
|
onRemoveFile: (index: number) => void;
|
|
23
|
-
themeStyles: ThemeStyles;
|
|
24
23
|
inline?: boolean; // New prop to support inline rendering without Modal
|
|
24
|
+
/** @deprecated No longer used. Colors are sourced from useTheme() internally. */
|
|
25
|
+
themeStyles?: unknown;
|
|
25
26
|
}
|
|
26
27
|
|
|
27
28
|
const UploadPreviewContent: React.FC<{
|
|
@@ -29,26 +30,23 @@ const UploadPreviewContent: React.FC<{
|
|
|
29
30
|
onConfirm: () => void;
|
|
30
31
|
onCancel: () => void;
|
|
31
32
|
onRemoveFile: (index: number) => void;
|
|
32
|
-
themeStyles: ThemeStyles;
|
|
33
33
|
}> = ({
|
|
34
34
|
pendingFiles,
|
|
35
35
|
onConfirm,
|
|
36
36
|
onCancel,
|
|
37
37
|
onRemoveFile,
|
|
38
|
-
themeStyles,
|
|
39
38
|
}) => {
|
|
40
|
-
const
|
|
41
|
-
const borderColor = themeStyles.borderColor;
|
|
39
|
+
const { colors, isDark } = useTheme();
|
|
42
40
|
const totalSize = pendingFiles.reduce((sum, f) => sum + f.size, 0);
|
|
43
41
|
|
|
44
42
|
return (
|
|
45
|
-
<View style={
|
|
46
|
-
<View style={
|
|
47
|
-
<Text style={
|
|
43
|
+
<View className="bg-background" style={fileManagementStyles.uploadPreviewContainer}>
|
|
44
|
+
<View className="border-b border-border" style={fileManagementStyles.uploadPreviewHeader}>
|
|
45
|
+
<Text className="text-foreground" style={fileManagementStyles.uploadPreviewTitle}>
|
|
48
46
|
Review Files ({pendingFiles.length})
|
|
49
47
|
</Text>
|
|
50
48
|
<TouchableOpacity onPress={onCancel}>
|
|
51
|
-
<Ionicons name="close" size={24} color={
|
|
49
|
+
<Ionicons name="close" size={24} color={colors.text} />
|
|
52
50
|
</TouchableOpacity>
|
|
53
51
|
</View>
|
|
54
52
|
|
|
@@ -58,10 +56,8 @@ const UploadPreviewContent: React.FC<{
|
|
|
58
56
|
return (
|
|
59
57
|
<View
|
|
60
58
|
key={index}
|
|
61
|
-
|
|
62
|
-
|
|
63
|
-
{ backgroundColor: themeStyles.secondaryBackgroundColor, borderColor }
|
|
64
|
-
]}
|
|
59
|
+
className="bg-secondary border-border"
|
|
60
|
+
style={fileManagementStyles.uploadPreviewItem}
|
|
65
61
|
>
|
|
66
62
|
{isImage && pendingFile.preview ? (
|
|
67
63
|
<ExpoImage
|
|
@@ -70,19 +66,19 @@ const UploadPreviewContent: React.FC<{
|
|
|
70
66
|
contentFit="cover"
|
|
71
67
|
/>
|
|
72
68
|
) : (
|
|
73
|
-
<View style={[fileManagementStyles.uploadPreviewIconContainer, { backgroundColor:
|
|
69
|
+
<View style={[fileManagementStyles.uploadPreviewIconContainer, { backgroundColor: isDark ? '#333333' : '#F0F0F0' }]}>
|
|
74
70
|
<Ionicons
|
|
75
71
|
name={getFileIcon(pendingFile.type) as React.ComponentProps<typeof Ionicons>['name']}
|
|
76
72
|
size={32}
|
|
77
|
-
color={
|
|
73
|
+
color={colors.primary}
|
|
78
74
|
/>
|
|
79
75
|
</View>
|
|
80
76
|
)}
|
|
81
77
|
<View style={fileManagementStyles.uploadPreviewInfo}>
|
|
82
|
-
<Text style={
|
|
78
|
+
<Text className="text-foreground" style={fileManagementStyles.uploadPreviewName} numberOfLines={1}>
|
|
83
79
|
{pendingFile.name}
|
|
84
80
|
</Text>
|
|
85
|
-
<Text style={
|
|
81
|
+
<Text className="text-muted-foreground" style={fileManagementStyles.uploadPreviewMeta}>
|
|
86
82
|
{formatFileSize(pendingFile.size)} • {pendingFile.type}
|
|
87
83
|
</Text>
|
|
88
84
|
</View>
|
|
@@ -90,36 +86,38 @@ const UploadPreviewContent: React.FC<{
|
|
|
90
86
|
style={fileManagementStyles.uploadPreviewRemove}
|
|
91
87
|
onPress={() => onRemoveFile(index)}
|
|
92
88
|
>
|
|
93
|
-
<Ionicons name="close-circle" size={24} color={
|
|
89
|
+
<Ionicons name="close-circle" size={24} color={colors.error} />
|
|
94
90
|
</TouchableOpacity>
|
|
95
91
|
</View>
|
|
96
92
|
);
|
|
97
93
|
})}
|
|
98
94
|
</ScrollView>
|
|
99
95
|
|
|
100
|
-
<View style={
|
|
96
|
+
<View className="border-t border-border" style={fileManagementStyles.uploadPreviewFooter}>
|
|
101
97
|
<View style={fileManagementStyles.uploadPreviewStats}>
|
|
102
|
-
<Text style={
|
|
98
|
+
<Text className="text-foreground" style={fileManagementStyles.uploadPreviewStatsText}>
|
|
103
99
|
{pendingFiles.length} file{pendingFiles.length !== 1 ? 's' : ''}
|
|
104
100
|
</Text>
|
|
105
|
-
<Text style={
|
|
101
|
+
<Text className="text-foreground" style={fileManagementStyles.uploadPreviewStatsText}>
|
|
106
102
|
{formatFileSize(totalSize)}
|
|
107
103
|
</Text>
|
|
108
104
|
</View>
|
|
109
105
|
<View style={fileManagementStyles.uploadPreviewActions}>
|
|
110
106
|
<TouchableOpacity
|
|
107
|
+
className="border-border"
|
|
111
108
|
style={[
|
|
112
109
|
fileManagementStyles.uploadPreviewCancelButton,
|
|
113
|
-
{
|
|
110
|
+
{ backgroundColor: 'transparent' }
|
|
114
111
|
]}
|
|
115
112
|
onPress={onCancel}
|
|
116
113
|
>
|
|
117
|
-
<Text style={
|
|
114
|
+
<Text className="text-foreground" style={fileManagementStyles.uploadPreviewCancelText}>
|
|
118
115
|
Cancel
|
|
119
116
|
</Text>
|
|
120
117
|
</TouchableOpacity>
|
|
121
118
|
<TouchableOpacity
|
|
122
|
-
|
|
119
|
+
className="bg-primary"
|
|
120
|
+
style={fileManagementStyles.uploadPreviewConfirmButton}
|
|
123
121
|
onPress={onConfirm}
|
|
124
122
|
>
|
|
125
123
|
<Ionicons name="cloud-upload" size={20} color="#FFFFFF" />
|
|
@@ -137,7 +135,6 @@ export const UploadPreview: React.FC<UploadPreviewProps> = ({
|
|
|
137
135
|
onConfirm,
|
|
138
136
|
onCancel,
|
|
139
137
|
onRemoveFile,
|
|
140
|
-
themeStyles,
|
|
141
138
|
inline = false,
|
|
142
139
|
}) => {
|
|
143
140
|
// If inline mode, render content directly without Modal
|
|
@@ -149,7 +146,6 @@ export const UploadPreview: React.FC<UploadPreviewProps> = ({
|
|
|
149
146
|
onConfirm={onConfirm}
|
|
150
147
|
onCancel={onCancel}
|
|
151
148
|
onRemoveFile={onRemoveFile}
|
|
152
|
-
themeStyles={themeStyles}
|
|
153
149
|
/>
|
|
154
150
|
);
|
|
155
151
|
}
|
|
@@ -167,7 +163,6 @@ export const UploadPreview: React.FC<UploadPreviewProps> = ({
|
|
|
167
163
|
onConfirm={onConfirm}
|
|
168
164
|
onCancel={onCancel}
|
|
169
165
|
onRemoveFile={onRemoveFile}
|
|
170
|
-
themeStyles={themeStyles}
|
|
171
166
|
/>
|
|
172
167
|
</Modal>
|
|
173
168
|
);
|
|
@@ -78,33 +78,34 @@ const DeleteAccountModal: React.FC<DeleteAccountModalProps> = ({
|
|
|
78
78
|
activeOpacity={1}
|
|
79
79
|
onPress={handleClose}
|
|
80
80
|
/>
|
|
81
|
-
<View style={
|
|
81
|
+
<View className="bg-background" style={styles.modal}>
|
|
82
82
|
<View style={styles.header}>
|
|
83
83
|
<OxyIcon name="alert" size={32} color={theme.colors.error} />
|
|
84
|
-
<Text style={
|
|
84
|
+
<Text className="text-destructive" style={styles.title}>
|
|
85
85
|
{t('deleteAccount.title') || 'Delete Account'}
|
|
86
86
|
</Text>
|
|
87
87
|
</View>
|
|
88
88
|
|
|
89
|
-
<Text style={
|
|
89
|
+
<Text className="text-foreground" style={styles.warning}>
|
|
90
90
|
{t('deleteAccount.warning') || 'This action cannot be undone. Your account and all associated data will be permanently deleted.'}
|
|
91
91
|
</Text>
|
|
92
92
|
|
|
93
93
|
{error && (
|
|
94
94
|
<View style={[styles.errorContainer, { backgroundColor: `${theme.colors.error}20` }]}>
|
|
95
|
-
<Text style={
|
|
95
|
+
<Text className="text-destructive" style={styles.errorText}>
|
|
96
96
|
{error}
|
|
97
97
|
</Text>
|
|
98
98
|
</View>
|
|
99
99
|
)}
|
|
100
100
|
|
|
101
101
|
<View style={styles.inputGroup}>
|
|
102
|
-
<Text style={
|
|
102
|
+
<Text className="text-muted-foreground" style={styles.label}>
|
|
103
103
|
{t('deleteAccount.passwordLabel') || 'Enter your password'}
|
|
104
104
|
</Text>
|
|
105
|
-
<View style={
|
|
105
|
+
<View className="border-border bg-background" style={styles.inputContainer}>
|
|
106
106
|
<TextInput
|
|
107
|
-
|
|
107
|
+
className="text-foreground"
|
|
108
|
+
style={styles.input}
|
|
108
109
|
value={password}
|
|
109
110
|
onChangeText={setPassword}
|
|
110
111
|
placeholder={t('deleteAccount.passwordPlaceholder') || 'Password'}
|
|
@@ -127,17 +128,16 @@ const DeleteAccountModal: React.FC<DeleteAccountModalProps> = ({
|
|
|
127
128
|
</View>
|
|
128
129
|
|
|
129
130
|
<View style={styles.inputGroup}>
|
|
130
|
-
<Text style={
|
|
131
|
+
<Text className="text-muted-foreground" style={styles.label}>
|
|
131
132
|
{t('deleteAccount.confirmLabel', { username }) || `Type "${username}" to confirm`}
|
|
132
133
|
</Text>
|
|
133
134
|
<TextInput
|
|
135
|
+
className="text-foreground bg-background"
|
|
134
136
|
style={[
|
|
135
137
|
styles.input,
|
|
136
138
|
styles.confirmInput,
|
|
137
139
|
{
|
|
138
140
|
borderColor: confirmUsername === username ? theme.colors.success : theme.colors.border,
|
|
139
|
-
backgroundColor: theme.colors.background,
|
|
140
|
-
color: theme.colors.text,
|
|
141
141
|
},
|
|
142
142
|
]}
|
|
143
143
|
value={confirmUsername}
|
|
@@ -152,11 +152,12 @@ const DeleteAccountModal: React.FC<DeleteAccountModalProps> = ({
|
|
|
152
152
|
|
|
153
153
|
<View style={styles.buttons}>
|
|
154
154
|
<TouchableOpacity
|
|
155
|
-
|
|
155
|
+
className="border-border"
|
|
156
|
+
style={[styles.button, styles.cancelButton]}
|
|
156
157
|
onPress={handleClose}
|
|
157
158
|
disabled={isDeleting}
|
|
158
159
|
>
|
|
159
|
-
<Text style={
|
|
160
|
+
<Text className="text-foreground" style={styles.buttonText}>
|
|
160
161
|
{t('common.cancel') || 'Cancel'}
|
|
161
162
|
</Text>
|
|
162
163
|
</TouchableOpacity>
|
|
@@ -1,4 +1,5 @@
|
|
|
1
|
-
import {
|
|
1
|
+
import { useTheme } from '@oxyhq/bloom/theme';
|
|
2
|
+
import { getTheme } from '../styles';
|
|
2
3
|
import type { InternalTheme } from './types';
|
|
3
4
|
|
|
4
5
|
/**
|
|
@@ -15,7 +16,19 @@ export const useInternalTheme = (
|
|
|
15
16
|
theme = 'dark';
|
|
16
17
|
}
|
|
17
18
|
|
|
18
|
-
const
|
|
19
|
+
const bloomTheme = useTheme();
|
|
20
|
+
const colors = {
|
|
21
|
+
text: bloomTheme.colors.text,
|
|
22
|
+
background: bloomTheme.colors.background,
|
|
23
|
+
inputBackground: bloomTheme.colors.backgroundSecondary,
|
|
24
|
+
placeholder: bloomTheme.colors.textTertiary,
|
|
25
|
+
primary: bloomTheme.colors.primary,
|
|
26
|
+
border: bloomTheme.colors.border,
|
|
27
|
+
error: bloomTheme.colors.error,
|
|
28
|
+
success: bloomTheme.colors.success,
|
|
29
|
+
warning: bloomTheme.colors.warning,
|
|
30
|
+
secondaryText: bloomTheme.colors.textSecondary,
|
|
31
|
+
};
|
|
19
32
|
const themeObj = getTheme(theme);
|
|
20
33
|
|
|
21
34
|
// Create InternalTheme compatible object
|
|
@@ -18,7 +18,7 @@ import Section from '../components/Section';
|
|
|
18
18
|
import QuickActions from '../components/QuickActions';
|
|
19
19
|
import { SettingsIcon } from '../components/SettingsIcon';
|
|
20
20
|
import { useI18n } from '../hooks/useI18n';
|
|
21
|
-
import {
|
|
21
|
+
import { useTheme } from '@oxyhq/bloom/theme';
|
|
22
22
|
import { useColorScheme } from '../hooks/useColorScheme';
|
|
23
23
|
import { Colors } from '../constants/theme';
|
|
24
24
|
import { normalizeColorScheme, normalizeTheme } from '../utils/themeUtils';
|
|
@@ -34,14 +34,11 @@ const AccountCenterScreen: React.FC<BaseScreenProps> = ({
|
|
|
34
34
|
// Use useOxy() hook for OxyContext values
|
|
35
35
|
const { user, logout, isLoading, sessions, isAuthenticated } = useOxy();
|
|
36
36
|
const { t } = useI18n();
|
|
37
|
+
const bloomTheme = useTheme();
|
|
37
38
|
const colorScheme = useColorScheme();
|
|
38
39
|
const normalizedTheme = normalizeTheme(theme);
|
|
39
|
-
const
|
|
40
|
-
|
|
41
|
-
const backgroundColor = themeStyles.isDarkTheme ? themeStyles.backgroundColor : '#f2f2f2';
|
|
42
|
-
// Extract commonly used colors for readability - ensure colors is always defined
|
|
43
|
-
const { textColor, primaryColor, dangerColor, colors: themeColors } = themeStyles;
|
|
44
|
-
const colors = themeColors || Colors[normalizeColorScheme(colorScheme, normalizedTheme)];
|
|
40
|
+
const dangerColor = bloomTheme.colors.error;
|
|
41
|
+
const colors = Colors[normalizeColorScheme(colorScheme, normalizedTheme)];
|
|
45
42
|
|
|
46
43
|
// Memoized logout handler - prevents unnecessary re-renders
|
|
47
44
|
const handleLogout = useCallback(async () => {
|
|
@@ -68,22 +65,22 @@ const AccountCenterScreen: React.FC<BaseScreenProps> = ({
|
|
|
68
65
|
|
|
69
66
|
if (!isAuthenticated) {
|
|
70
67
|
return (
|
|
71
|
-
<View style={
|
|
72
|
-
<Text style={
|
|
68
|
+
<View style={styles.container} className="bg-background">
|
|
69
|
+
<Text style={styles.message} className="text-foreground">{t('common.status.notSignedIn') || 'Not signed in'}</Text>
|
|
73
70
|
</View>
|
|
74
71
|
);
|
|
75
72
|
}
|
|
76
73
|
|
|
77
74
|
if (isLoading) {
|
|
78
75
|
return (
|
|
79
|
-
<View style={[styles.container, {
|
|
80
|
-
<ActivityIndicator size="large" color={
|
|
76
|
+
<View style={[styles.container, { justifyContent: 'center' }]} className="bg-background">
|
|
77
|
+
<ActivityIndicator size="large" color={bloomTheme.colors.primary} />
|
|
81
78
|
</View>
|
|
82
79
|
);
|
|
83
80
|
}
|
|
84
81
|
|
|
85
82
|
return (
|
|
86
|
-
<View style={
|
|
83
|
+
<View style={styles.container} className="bg-background">
|
|
87
84
|
{/* Header with user profile */}
|
|
88
85
|
{user && (
|
|
89
86
|
<ProfileCard
|
|
@@ -230,7 +227,7 @@ const AccountCenterScreen: React.FC<BaseScreenProps> = ({
|
|
|
230
227
|
</SettingsListGroup>
|
|
231
228
|
|
|
232
229
|
<View style={styles.versionContainer}>
|
|
233
|
-
<Text style={
|
|
230
|
+
<Text style={styles.versionText} className="text-muted-foreground">
|
|
234
231
|
{t('accountCenter.version', { version: packageInfo.version }) || `Version ${packageInfo.version}`}
|
|
235
232
|
</Text>
|
|
236
233
|
</View>
|