@oxyhq/services 6.9.33 → 6.9.35
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/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/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/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/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/package.json +2 -2
- 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/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
|
@@ -37,9 +37,7 @@ import { useFileStore, useFiles, useUploading as useUploadingStore, useUploadAgg
|
|
|
37
37
|
import Header from '../components/Header';
|
|
38
38
|
import JustifiedPhotoGrid from '../components/photogrid/JustifiedPhotoGrid';
|
|
39
39
|
import { GroupedSection } from '../components';
|
|
40
|
-
import {
|
|
41
|
-
import { useColorScheme } from '../hooks/useColorScheme';
|
|
42
|
-
import { normalizeTheme } from '../utils/themeUtils';
|
|
40
|
+
import { useTheme } from '@oxyhq/bloom/theme';
|
|
43
41
|
import { useOxy } from '../context/OxyContext';
|
|
44
42
|
import { useI18n } from '../hooks/useI18n';
|
|
45
43
|
import { useUploadFile } from '../hooks/mutations/useAccountMutations';
|
|
@@ -351,19 +349,11 @@ const FileManagementScreen: React.FC<FileManagementScreenProps> = ({
|
|
|
351
349
|
[oxyServices]
|
|
352
350
|
);
|
|
353
351
|
|
|
354
|
-
|
|
355
|
-
const
|
|
356
|
-
const normalizedTheme = normalizeTheme(theme);
|
|
357
|
-
const baseThemeStyles = useThemeStyles(normalizedTheme, colorScheme);
|
|
352
|
+
const bloomTheme = useTheme();
|
|
353
|
+
const { colors } = bloomTheme;
|
|
358
354
|
// FileManagementScreen uses a slightly different light background
|
|
359
|
-
const
|
|
360
|
-
|
|
361
|
-
backgroundColor: baseThemeStyles.isDarkTheme ? baseThemeStyles.backgroundColor : '#f2f2f2',
|
|
362
|
-
}), [baseThemeStyles]);
|
|
363
|
-
|
|
364
|
-
// Extract commonly used theme variables
|
|
365
|
-
const backgroundColor = themeStyles.backgroundColor;
|
|
366
|
-
const borderColor = themeStyles.borderColor;
|
|
355
|
+
const backgroundColor = bloomTheme.isDark ? colors.background : '#f2f2f2';
|
|
356
|
+
const borderColor = colors.border;
|
|
367
357
|
|
|
368
358
|
const targetUserId = userId || user?.id;
|
|
369
359
|
|
|
@@ -1155,7 +1145,7 @@ const FileManagementScreen: React.FC<FileManagementScreenProps> = ({
|
|
|
1155
1145
|
width: itemWidth,
|
|
1156
1146
|
height: itemWidth,
|
|
1157
1147
|
marginRight: (index + 1) % itemsPerRow === 0 ? 0 : 4,
|
|
1158
|
-
...(selectMode && selectedIds.has(photo.id) ? { borderWidth: 2, borderColor:
|
|
1148
|
+
...(selectMode && selectedIds.has(photo.id) ? { borderWidth: 2, borderColor: colors.primary } : {})
|
|
1159
1149
|
}
|
|
1160
1150
|
]}
|
|
1161
1151
|
onPress={() => handleFileOpen(photo)}
|
|
@@ -1175,13 +1165,13 @@ const FileManagementScreen: React.FC<FileManagementScreenProps> = ({
|
|
|
1175
1165
|
/>
|
|
1176
1166
|
{selectMode && (
|
|
1177
1167
|
<View style={fileManagementStyles.selectionBadge}>
|
|
1178
|
-
<Ionicons name={selectedIds.has(photo.id) ? 'checkmark-circle' : 'ellipse-outline'} size={20} color={selectedIds.has(photo.id) ?
|
|
1168
|
+
<Ionicons name={selectedIds.has(photo.id) ? 'checkmark-circle' : 'ellipse-outline'} size={20} color={selectedIds.has(photo.id) ? colors.primary : colors.text} />
|
|
1179
1169
|
</View>
|
|
1180
1170
|
)}
|
|
1181
1171
|
</View>
|
|
1182
1172
|
</TouchableOpacity>
|
|
1183
1173
|
);
|
|
1184
|
-
}, [oxyServices, safeContainerWidth, selectMode, selectedIds,
|
|
1174
|
+
}, [oxyServices, safeContainerWidth, selectMode, selectedIds, colors.primary, colors.text]);
|
|
1185
1175
|
|
|
1186
1176
|
const renderJustifiedPhotoItem = useCallback((photo: FileMetadata, width: number, height: number, isLast: boolean) => {
|
|
1187
1177
|
const downloadUrl = getSafeDownloadUrlCallback(photo, 'thumb');
|
|
@@ -1194,7 +1184,7 @@ const FileManagementScreen: React.FC<FileManagementScreenProps> = ({
|
|
|
1194
1184
|
{
|
|
1195
1185
|
width,
|
|
1196
1186
|
height,
|
|
1197
|
-
...(selectMode && selectedIds.has(photo.id) ? { borderWidth: 2, borderColor:
|
|
1187
|
+
...(selectMode && selectedIds.has(photo.id) ? { borderWidth: 2, borderColor: colors.primary } : {}),
|
|
1198
1188
|
...(selectMode && multiSelect && selectedIds.size > 0 && !selectedIds.has(photo.id) ? { opacity: 0.4 } : {}),
|
|
1199
1189
|
},
|
|
1200
1190
|
]}
|
|
@@ -1215,13 +1205,13 @@ const FileManagementScreen: React.FC<FileManagementScreenProps> = ({
|
|
|
1215
1205
|
/>
|
|
1216
1206
|
{selectMode && (
|
|
1217
1207
|
<View style={fileManagementStyles.selectionBadge}>
|
|
1218
|
-
<Ionicons name={selectedIds.has(photo.id) ? 'checkmark-circle' : 'ellipse-outline'} size={20} color={selectedIds.has(photo.id) ?
|
|
1208
|
+
<Ionicons name={selectedIds.has(photo.id) ? 'checkmark-circle' : 'ellipse-outline'} size={20} color={selectedIds.has(photo.id) ? colors.primary : colors.text} />
|
|
1219
1209
|
</View>
|
|
1220
1210
|
)}
|
|
1221
1211
|
</View>
|
|
1222
1212
|
</TouchableOpacity>
|
|
1223
1213
|
);
|
|
1224
|
-
}, [oxyServices, selectMode, selectedIds, multiSelect,
|
|
1214
|
+
}, [oxyServices, selectMode, selectedIds, multiSelect, colors.primary, colors.text]);
|
|
1225
1215
|
|
|
1226
1216
|
// Run initial load once per targetUserId change to avoid accidental loops
|
|
1227
1217
|
const lastLoadedFor = useRef<string | undefined>(undefined);
|
|
@@ -1240,12 +1230,12 @@ const FileManagementScreen: React.FC<FileManagementScreenProps> = ({
|
|
|
1240
1230
|
const isVideo = file.contentType.startsWith('video/');
|
|
1241
1231
|
const isAudio = file.contentType.startsWith('audio/');
|
|
1242
1232
|
const hasPreview = isImage || isPDF || isVideo;
|
|
1243
|
-
const borderColor =
|
|
1233
|
+
const borderColor = colors.border;
|
|
1244
1234
|
|
|
1245
1235
|
return (
|
|
1246
1236
|
<View
|
|
1247
1237
|
key={file.id}
|
|
1248
|
-
style={[fileManagementStyles.fileItem, { backgroundColor:
|
|
1238
|
+
style={[fileManagementStyles.fileItem, { backgroundColor: colors.backgroundSecondary, borderColor }, selectMode && selectedIds.has(file.id) && { borderColor: colors.primary, borderWidth: 2 }]}
|
|
1249
1239
|
>
|
|
1250
1240
|
<TouchableOpacity
|
|
1251
1241
|
style={fileManagementStyles.fileContent}
|
|
@@ -1270,8 +1260,8 @@ const FileManagementScreen: React.FC<FileManagementScreenProps> = ({
|
|
|
1270
1260
|
)}
|
|
1271
1261
|
{isPDF && (
|
|
1272
1262
|
<View style={fileManagementStyles.pdfPreview}>
|
|
1273
|
-
<Ionicons name="document" size={32} color={
|
|
1274
|
-
<Text style={[fileManagementStyles.pdfLabel, { color:
|
|
1263
|
+
<Ionicons name="document" size={32} color={colors.primary} />
|
|
1264
|
+
<Text style={[fileManagementStyles.pdfLabel, { color: colors.primary }]}>PDF</Text>
|
|
1275
1265
|
</View>
|
|
1276
1266
|
)}
|
|
1277
1267
|
{isVideo && (
|
|
@@ -1299,13 +1289,13 @@ const FileManagementScreen: React.FC<FileManagementScreenProps> = ({
|
|
|
1299
1289
|
<Ionicons
|
|
1300
1290
|
name={getFileIcon(file.contentType) as React.ComponentProps<typeof Ionicons>['name']}
|
|
1301
1291
|
size={32}
|
|
1302
|
-
color={
|
|
1292
|
+
color={colors.primary}
|
|
1303
1293
|
/>
|
|
1304
1294
|
</View>
|
|
1305
1295
|
|
|
1306
1296
|
{selectMode && (
|
|
1307
1297
|
<View style={fileManagementStyles.selectionBadge}>
|
|
1308
|
-
<Ionicons name={selectedIds.has(file.id) ? 'checkmark-circle' : 'ellipse-outline'} size={22} color={selectedIds.has(file.id) ?
|
|
1298
|
+
<Ionicons name={selectedIds.has(file.id) ? 'checkmark-circle' : 'ellipse-outline'} size={22} color={selectedIds.has(file.id) ? colors.primary : colors.text} />
|
|
1309
1299
|
</View>
|
|
1310
1300
|
)}
|
|
1311
1301
|
</View>
|
|
@@ -1314,22 +1304,22 @@ const FileManagementScreen: React.FC<FileManagementScreenProps> = ({
|
|
|
1314
1304
|
<Ionicons
|
|
1315
1305
|
name={getFileIcon(file.contentType) as React.ComponentProps<typeof Ionicons>['name']}
|
|
1316
1306
|
size={32}
|
|
1317
|
-
color={
|
|
1307
|
+
color={colors.primary}
|
|
1318
1308
|
/>
|
|
1319
1309
|
</View>
|
|
1320
1310
|
)}
|
|
1321
1311
|
</View>
|
|
1322
1312
|
|
|
1323
1313
|
<View style={fileManagementStyles.fileInfo}>
|
|
1324
|
-
<Text style={[fileManagementStyles.fileName, { color:
|
|
1314
|
+
<Text style={[fileManagementStyles.fileName, { color: colors.text }]} numberOfLines={1}>
|
|
1325
1315
|
{file.filename}
|
|
1326
1316
|
</Text>
|
|
1327
|
-
<Text style={[fileManagementStyles.fileDetails, { color:
|
|
1317
|
+
<Text style={[fileManagementStyles.fileDetails, { color: bloomTheme.isDark ? '#BBBBBB' : '#666666' }]}>
|
|
1328
1318
|
{formatFileSize(file.length)} • {new Date(file.uploadDate).toLocaleDateString()}
|
|
1329
1319
|
</Text>
|
|
1330
1320
|
{file.metadata?.description && (
|
|
1331
1321
|
<Text
|
|
1332
|
-
style={[fileManagementStyles.fileDescription, { color:
|
|
1322
|
+
style={[fileManagementStyles.fileDescription, { color: bloomTheme.isDark ? '#AAAAAA' : '#888888' }]}
|
|
1333
1323
|
numberOfLines={2}
|
|
1334
1324
|
>
|
|
1335
1325
|
{file.metadata.description}
|
|
@@ -1343,32 +1333,32 @@ const FileManagementScreen: React.FC<FileManagementScreenProps> = ({
|
|
|
1343
1333
|
{/* Preview button for supported files */}
|
|
1344
1334
|
{hasPreview && (
|
|
1345
1335
|
<TouchableOpacity
|
|
1346
|
-
style={[fileManagementStyles.actionButton, { backgroundColor:
|
|
1336
|
+
style={[fileManagementStyles.actionButton, { backgroundColor: bloomTheme.isDark ? '#333333' : '#F0F0F0' }]}
|
|
1347
1337
|
onPress={() => handleFileOpen(file)}
|
|
1348
1338
|
>
|
|
1349
|
-
<Ionicons name="eye" size={20} color={
|
|
1339
|
+
<Ionicons name="eye" size={20} color={colors.primary} />
|
|
1350
1340
|
</TouchableOpacity>
|
|
1351
1341
|
)}
|
|
1352
1342
|
|
|
1353
1343
|
<TouchableOpacity
|
|
1354
|
-
style={[fileManagementStyles.actionButton, { backgroundColor:
|
|
1344
|
+
style={[fileManagementStyles.actionButton, { backgroundColor: bloomTheme.isDark ? '#333333' : '#F0F0F0' }]}
|
|
1355
1345
|
onPress={() => handleFileDownload(file.id, file.filename)}
|
|
1356
1346
|
>
|
|
1357
|
-
<Ionicons name="download" size={20} color={
|
|
1347
|
+
<Ionicons name="download" size={20} color={colors.primary} />
|
|
1358
1348
|
</TouchableOpacity>
|
|
1359
1349
|
|
|
1360
1350
|
{/* Always show delete button for debugging */}
|
|
1361
1351
|
<TouchableOpacity
|
|
1362
|
-
style={[fileManagementStyles.actionButton, { backgroundColor:
|
|
1352
|
+
style={[fileManagementStyles.actionButton, { backgroundColor: bloomTheme.isDark ? '#400000' : '#FFEBEE' }]}
|
|
1363
1353
|
onPress={() => {
|
|
1364
1354
|
handleFileDelete(file.id, file.filename);
|
|
1365
1355
|
}}
|
|
1366
1356
|
disabled={deleting === file.id}
|
|
1367
1357
|
>
|
|
1368
1358
|
{deleting === file.id ? (
|
|
1369
|
-
<ActivityIndicator size="small" color={
|
|
1359
|
+
<ActivityIndicator size="small" color={colors.error} />
|
|
1370
1360
|
) : (
|
|
1371
|
-
<Ionicons name="trash" size={20} color={
|
|
1361
|
+
<Ionicons name="trash" size={20} color={colors.error} />
|
|
1372
1362
|
)}
|
|
1373
1363
|
</TouchableOpacity>
|
|
1374
1364
|
</View>
|
|
@@ -1436,7 +1426,7 @@ const FileManagementScreen: React.FC<FileManagementScreenProps> = ({
|
|
|
1436
1426
|
} else if (isPDF) {
|
|
1437
1427
|
customIcon = (
|
|
1438
1428
|
<View style={{ width: 36, height: 36, borderRadius: 18, alignItems: 'center', justifyContent: 'center', backgroundColor: '#FF6B6B20' }}>
|
|
1439
|
-
<Ionicons name="document" size={20} color={
|
|
1429
|
+
<Ionicons name="document" size={20} color={colors.primary} />
|
|
1440
1430
|
</View>
|
|
1441
1431
|
);
|
|
1442
1432
|
}
|
|
@@ -1446,7 +1436,7 @@ const FileManagementScreen: React.FC<FileManagementScreenProps> = ({
|
|
|
1446
1436
|
id: file.id,
|
|
1447
1437
|
customIcon: customIcon,
|
|
1448
1438
|
icon: !hasPreview ? getFileIcon(file.contentType) : undefined,
|
|
1449
|
-
iconColor:
|
|
1439
|
+
iconColor: colors.primary,
|
|
1450
1440
|
title: file.filename,
|
|
1451
1441
|
subtitle: `${formatFileSize(file.length)} • ${new Date(file.uploadDate).toLocaleDateString()}`,
|
|
1452
1442
|
theme: theme as 'light' | 'dark',
|
|
@@ -1476,39 +1466,39 @@ const FileManagementScreen: React.FC<FileManagementScreenProps> = ({
|
|
|
1476
1466
|
<View style={fileManagementStyles.groupedActions}>
|
|
1477
1467
|
{(isImage || isVideo || file.contentType.includes('pdf')) && (
|
|
1478
1468
|
<TouchableOpacity
|
|
1479
|
-
style={[fileManagementStyles.groupedActionBtn, { backgroundColor:
|
|
1469
|
+
style={[fileManagementStyles.groupedActionBtn, { backgroundColor: bloomTheme.isDark ? '#333333' : '#F0F0F0' }]}
|
|
1480
1470
|
onPress={() => handleFileOpen(file)}
|
|
1481
1471
|
>
|
|
1482
|
-
<Ionicons name="eye" size={18} color={
|
|
1472
|
+
<Ionicons name="eye" size={18} color={colors.primary} />
|
|
1483
1473
|
</TouchableOpacity>
|
|
1484
1474
|
)}
|
|
1485
1475
|
<TouchableOpacity
|
|
1486
|
-
style={[fileManagementStyles.groupedActionBtn, { backgroundColor:
|
|
1476
|
+
style={[fileManagementStyles.groupedActionBtn, { backgroundColor: bloomTheme.isDark ? '#333333' : '#F0F0F0' }]}
|
|
1487
1477
|
onPress={() => handleFileDownload(file.id, file.filename)}
|
|
1488
1478
|
>
|
|
1489
|
-
<Ionicons name="download" size={18} color={
|
|
1479
|
+
<Ionicons name="download" size={18} color={colors.primary} />
|
|
1490
1480
|
</TouchableOpacity>
|
|
1491
1481
|
<TouchableOpacity
|
|
1492
|
-
style={[fileManagementStyles.groupedActionBtn, { backgroundColor:
|
|
1482
|
+
style={[fileManagementStyles.groupedActionBtn, { backgroundColor: bloomTheme.isDark ? '#400000' : '#FFEBEE' }]}
|
|
1493
1483
|
onPress={() => handleFileDelete(file.id, file.filename)}
|
|
1494
1484
|
disabled={deleting === file.id}
|
|
1495
1485
|
>
|
|
1496
1486
|
{deleting === file.id ? (
|
|
1497
|
-
<ActivityIndicator size="small" color={
|
|
1487
|
+
<ActivityIndicator size="small" color={colors.error} />
|
|
1498
1488
|
) : (
|
|
1499
|
-
<Ionicons name="trash" size={18} color={
|
|
1489
|
+
<Ionicons name="trash" size={18} color={colors.error} />
|
|
1500
1490
|
)}
|
|
1501
1491
|
</TouchableOpacity>
|
|
1502
1492
|
</View>
|
|
1503
1493
|
) : undefined,
|
|
1504
1494
|
customContentBelow: file.metadata?.description ? (
|
|
1505
|
-
<Text style={[fileManagementStyles.groupedDescription, { color:
|
|
1495
|
+
<Text style={[fileManagementStyles.groupedDescription, { color: bloomTheme.isDark ? '#AAAAAA' : '#666666' }]} numberOfLines={2}>
|
|
1506
1496
|
{file.metadata.description}
|
|
1507
1497
|
</Text>
|
|
1508
1498
|
) : undefined,
|
|
1509
1499
|
};
|
|
1510
1500
|
});
|
|
1511
|
-
}, [filteredFiles, theme,
|
|
1501
|
+
}, [filteredFiles, theme, deleting, handleFileDownload, handleFileDelete, handleFileOpen, getSafeDownloadUrlCallback, selectMode, selectedIds]);
|
|
1512
1502
|
|
|
1513
1503
|
// Scroll to selected file after selection
|
|
1514
1504
|
useEffect(() => {
|
|
@@ -1646,16 +1636,16 @@ const FileManagementScreen: React.FC<FileManagementScreenProps> = ({
|
|
|
1646
1636
|
if (photos.length === 0) {
|
|
1647
1637
|
return (
|
|
1648
1638
|
<View style={fileManagementStyles.emptyState}>
|
|
1649
|
-
<Ionicons name="images-outline" size={64} color={
|
|
1650
|
-
<Text style={[fileManagementStyles.emptyStateTitle, { color:
|
|
1651
|
-
<Text style={[fileManagementStyles.emptyStateDescription, { color:
|
|
1639
|
+
<Ionicons name="images-outline" size={64} color={bloomTheme.isDark ? '#666666' : '#CCCCCC'} />
|
|
1640
|
+
<Text style={[fileManagementStyles.emptyStateTitle, { color: colors.text }]}>{t('fileManagement.emptyPhotos.title')}</Text>
|
|
1641
|
+
<Text style={[fileManagementStyles.emptyStateDescription, { color: bloomTheme.isDark ? '#BBBBBB' : '#666666' }]}> {
|
|
1652
1642
|
user?.id === targetUserId
|
|
1653
1643
|
? t('fileManagement.emptyPhotos.ownDescription')
|
|
1654
1644
|
: t('fileManagement.emptyPhotos.otherDescription')
|
|
1655
1645
|
} </Text>
|
|
1656
1646
|
{user?.id === targetUserId && (
|
|
1657
1647
|
<TouchableOpacity
|
|
1658
|
-
style={[fileManagementStyles.emptyStateButton, { backgroundColor:
|
|
1648
|
+
style={[fileManagementStyles.emptyStateButton, { backgroundColor: colors.primary }]}
|
|
1659
1649
|
onPress={handleFileUpload}
|
|
1660
1650
|
disabled={uploading || isPickingDocument}
|
|
1661
1651
|
>
|
|
@@ -1684,7 +1674,7 @@ const FileManagementScreen: React.FC<FileManagementScreenProps> = ({
|
|
|
1684
1674
|
<RefreshControl
|
|
1685
1675
|
refreshing={refreshing}
|
|
1686
1676
|
onRefresh={() => loadFiles('refresh')}
|
|
1687
|
-
tintColor={
|
|
1677
|
+
tintColor={colors.primary}
|
|
1688
1678
|
/>
|
|
1689
1679
|
}
|
|
1690
1680
|
showsVerticalScrollIndicator={false}
|
|
@@ -1699,8 +1689,8 @@ const FileManagementScreen: React.FC<FileManagementScreenProps> = ({
|
|
|
1699
1689
|
>
|
|
1700
1690
|
{loadingDimensions && (
|
|
1701
1691
|
<View style={fileManagementStyles.dimensionsLoadingIndicator}>
|
|
1702
|
-
<ActivityIndicator size="small" color={
|
|
1703
|
-
<Text style={[fileManagementStyles.dimensionsLoadingText, { color:
|
|
1692
|
+
<ActivityIndicator size="small" color={colors.primary} />
|
|
1693
|
+
<Text style={[fileManagementStyles.dimensionsLoadingText, { color: bloomTheme.isDark ? '#BBBBBB' : '#666666' }]}>{t('fileManagement.loadingPhotoLayout')}</Text>
|
|
1704
1694
|
</View>
|
|
1705
1695
|
)}
|
|
1706
1696
|
|
|
@@ -1711,14 +1701,14 @@ const FileManagementScreen: React.FC<FileManagementScreenProps> = ({
|
|
|
1711
1701
|
createJustifiedRows={createJustifiedRows}
|
|
1712
1702
|
renderJustifiedPhotoItem={renderJustifiedPhotoItem}
|
|
1713
1703
|
renderSimplePhotoItem={renderPhotoItem}
|
|
1714
|
-
textColor={
|
|
1704
|
+
textColor={colors.text}
|
|
1715
1705
|
containerWidth={safeContainerWidth}
|
|
1716
1706
|
/>
|
|
1717
1707
|
</ScrollView>
|
|
1718
1708
|
);
|
|
1719
1709
|
}, [
|
|
1720
1710
|
filteredFiles,
|
|
1721
|
-
|
|
1711
|
+
colors,
|
|
1722
1712
|
user?.id,
|
|
1723
1713
|
targetUserId,
|
|
1724
1714
|
uploading,
|
|
@@ -1740,9 +1730,9 @@ const FileManagementScreen: React.FC<FileManagementScreenProps> = ({
|
|
|
1740
1730
|
|
|
1741
1731
|
const renderEmptyState = () => (
|
|
1742
1732
|
<View style={fileManagementStyles.emptyState}>
|
|
1743
|
-
<Ionicons name="folder-open-outline" size={64} color={
|
|
1744
|
-
<Text style={[fileManagementStyles.emptyStateTitle, { color:
|
|
1745
|
-
<Text style={[fileManagementStyles.emptyStateDescription, { color:
|
|
1733
|
+
<Ionicons name="folder-open-outline" size={64} color={bloomTheme.isDark ? '#666666' : '#CCCCCC'} />
|
|
1734
|
+
<Text style={[fileManagementStyles.emptyStateTitle, { color: colors.text }]}>{t('fileManagement.emptyFiles.title')}</Text>
|
|
1735
|
+
<Text style={[fileManagementStyles.emptyStateDescription, { color: bloomTheme.isDark ? '#BBBBBB' : '#666666' }]}>
|
|
1746
1736
|
{user?.id === targetUserId
|
|
1747
1737
|
? t('fileManagement.emptyFiles.ownDescription')
|
|
1748
1738
|
: t('fileManagement.emptyFiles.otherDescription')
|
|
@@ -1750,7 +1740,7 @@ const FileManagementScreen: React.FC<FileManagementScreenProps> = ({
|
|
|
1750
1740
|
</Text>
|
|
1751
1741
|
{user?.id === targetUserId && (
|
|
1752
1742
|
<TouchableOpacity
|
|
1753
|
-
style={[fileManagementStyles.emptyStateButton, { backgroundColor:
|
|
1743
|
+
style={[fileManagementStyles.emptyStateButton, { backgroundColor: colors.primary }]}
|
|
1754
1744
|
onPress={handleFileUpload}
|
|
1755
1745
|
disabled={uploading || isPickingDocument}
|
|
1756
1746
|
>
|
|
@@ -1806,7 +1796,7 @@ const FileManagementScreen: React.FC<FileManagementScreenProps> = ({
|
|
|
1806
1796
|
width,
|
|
1807
1797
|
height,
|
|
1808
1798
|
borderRadius,
|
|
1809
|
-
backgroundColor:
|
|
1799
|
+
backgroundColor: bloomTheme.isDark ? '#1E1E1E' : '#F5F5F5',
|
|
1810
1800
|
overflow: 'hidden',
|
|
1811
1801
|
position: 'relative',
|
|
1812
1802
|
},
|
|
@@ -1821,7 +1811,7 @@ const FileManagementScreen: React.FC<FileManagementScreenProps> = ({
|
|
|
1821
1811
|
left: 0,
|
|
1822
1812
|
right: 0,
|
|
1823
1813
|
bottom: 0,
|
|
1824
|
-
backgroundColor:
|
|
1814
|
+
backgroundColor: bloomTheme.isDark ? '#1E1E1E' : '#F5F5F5',
|
|
1825
1815
|
}}
|
|
1826
1816
|
/>
|
|
1827
1817
|
{/* Shimmer gradient effect */}
|
|
@@ -1839,10 +1829,10 @@ const FileManagementScreen: React.FC<FileManagementScreenProps> = ({
|
|
|
1839
1829
|
style={{
|
|
1840
1830
|
width: skeletonContainerWidth,
|
|
1841
1831
|
height: '100%',
|
|
1842
|
-
backgroundColor:
|
|
1832
|
+
backgroundColor: bloomTheme.isDark
|
|
1843
1833
|
? 'rgba(255, 255, 255, 0.08)'
|
|
1844
1834
|
: 'rgba(255, 255, 255, 0.8)',
|
|
1845
|
-
shadowColor:
|
|
1835
|
+
shadowColor: bloomTheme.isDark ? '#000' : '#FFF',
|
|
1846
1836
|
shadowOffset: { width: 0, height: 0 },
|
|
1847
1837
|
shadowOpacity: 0.3,
|
|
1848
1838
|
shadowRadius: 10,
|
|
@@ -1862,9 +1852,9 @@ const FileManagementScreen: React.FC<FileManagementScreenProps> = ({
|
|
|
1862
1852
|
alignItems: 'center',
|
|
1863
1853
|
paddingHorizontal: 16,
|
|
1864
1854
|
paddingVertical: 12,
|
|
1865
|
-
backgroundColor:
|
|
1855
|
+
backgroundColor: bloomTheme.isDark ? '#121212' : '#FFFFFF',
|
|
1866
1856
|
borderBottomWidth: StyleSheet.hairlineWidth,
|
|
1867
|
-
borderBottomColor:
|
|
1857
|
+
borderBottomColor: colors.border,
|
|
1868
1858
|
},
|
|
1869
1859
|
]}
|
|
1870
1860
|
>
|
|
@@ -1891,7 +1881,7 @@ const FileManagementScreen: React.FC<FileManagementScreenProps> = ({
|
|
|
1891
1881
|
return (
|
|
1892
1882
|
<View style={[fileManagementStyles.container, { backgroundColor }]}>
|
|
1893
1883
|
{/* Header Skeleton */}
|
|
1894
|
-
<View style={[fileManagementStyles.header, { borderBottomColor:
|
|
1884
|
+
<View style={[fileManagementStyles.header, { borderBottomColor: colors.border, borderBottomWidth: StyleSheet.hairlineWidth }]}>
|
|
1895
1885
|
<SkeletonBox width={44} height={44} borderRadius={12} />
|
|
1896
1886
|
<View style={[fileManagementStyles.headerTitleContainer, { flex: 1 }]}>
|
|
1897
1887
|
<SkeletonBox width={140} height={20} style={{ marginBottom: 6 }} />
|
|
@@ -1908,14 +1898,14 @@ const FileManagementScreen: React.FC<FileManagementScreenProps> = ({
|
|
|
1908
1898
|
|
|
1909
1899
|
{/* Search Bar Skeleton */}
|
|
1910
1900
|
<View style={[fileManagementStyles.searchContainer, {
|
|
1911
|
-
backgroundColor:
|
|
1901
|
+
backgroundColor: colors.card,
|
|
1912
1902
|
}]}>
|
|
1913
1903
|
<SkeletonBox width="100%" height={44} borderRadius={12} />
|
|
1914
1904
|
</View>
|
|
1915
1905
|
|
|
1916
1906
|
{/* Stats Container Skeleton */}
|
|
1917
1907
|
<View style={[fileManagementStyles.statsContainer, {
|
|
1918
|
-
backgroundColor:
|
|
1908
|
+
backgroundColor: colors.card,
|
|
1919
1909
|
}]}>
|
|
1920
1910
|
{[1, 2, 3].map((i) => (
|
|
1921
1911
|
<View key={i} style={fileManagementStyles.statItem}>
|
|
@@ -1932,7 +1922,7 @@ const FileManagementScreen: React.FC<FileManagementScreenProps> = ({
|
|
|
1932
1922
|
showsVerticalScrollIndicator={false}
|
|
1933
1923
|
>
|
|
1934
1924
|
<View style={{
|
|
1935
|
-
backgroundColor:
|
|
1925
|
+
backgroundColor: colors.card,
|
|
1936
1926
|
borderRadius: 18,
|
|
1937
1927
|
overflow: 'hidden',
|
|
1938
1928
|
marginTop: 8,
|
|
@@ -1963,7 +1953,6 @@ const FileManagementScreen: React.FC<FileManagementScreenProps> = ({
|
|
|
1963
1953
|
onClose={handleCloseFile}
|
|
1964
1954
|
onDownload={handleFileDownload}
|
|
1965
1955
|
onDelete={handleFileDelete}
|
|
1966
|
-
themeStyles={themeStyles}
|
|
1967
1956
|
isOwner={user?.id === targetUserId}
|
|
1968
1957
|
/>
|
|
1969
1958
|
<FileDetailsModal
|
|
@@ -1972,7 +1961,6 @@ const FileManagementScreen: React.FC<FileManagementScreenProps> = ({
|
|
|
1972
1961
|
onClose={() => setShowFileDetails(false)}
|
|
1973
1962
|
onDownload={handleFileDownload}
|
|
1974
1963
|
onDelete={handleFileDelete}
|
|
1975
|
-
themeStyles={themeStyles}
|
|
1976
1964
|
isOwner={user?.id === targetUserId}
|
|
1977
1965
|
/>
|
|
1978
1966
|
</>
|
|
@@ -1998,7 +1986,6 @@ const FileManagementScreen: React.FC<FileManagementScreenProps> = ({
|
|
|
1998
1986
|
onConfirm={handleConfirmUpload}
|
|
1999
1987
|
onCancel={handleCancelUpload}
|
|
2000
1988
|
onRemoveFile={removePendingFile}
|
|
2001
|
-
themeStyles={themeStyles}
|
|
2002
1989
|
inline={true}
|
|
2003
1990
|
/>
|
|
2004
1991
|
</View>
|
|
@@ -2071,54 +2058,54 @@ const FileManagementScreen: React.FC<FileManagementScreenProps> = ({
|
|
|
2071
2058
|
<View style={[
|
|
2072
2059
|
fileManagementStyles.viewModeToggle,
|
|
2073
2060
|
{
|
|
2074
|
-
backgroundColor:
|
|
2061
|
+
backgroundColor: colors.card,
|
|
2075
2062
|
}
|
|
2076
2063
|
]}>
|
|
2077
2064
|
<AnimatedButton
|
|
2078
2065
|
isSelected={viewMode === 'all'}
|
|
2079
2066
|
onPress={() => setViewMode('all')}
|
|
2080
2067
|
icon={viewMode === 'all' ? 'folder' : 'folder-outline'}
|
|
2081
|
-
primaryColor={
|
|
2082
|
-
textColor={
|
|
2068
|
+
primaryColor={colors.primary}
|
|
2069
|
+
textColor={colors.text}
|
|
2083
2070
|
style={fileManagementStyles.viewModeButton}
|
|
2084
2071
|
/>
|
|
2085
2072
|
<AnimatedButton
|
|
2086
2073
|
isSelected={viewMode === 'photos'}
|
|
2087
2074
|
onPress={() => setViewMode('photos')}
|
|
2088
2075
|
icon={viewMode === 'photos' ? 'image-multiple' : 'image-multiple-outline'}
|
|
2089
|
-
primaryColor={
|
|
2090
|
-
textColor={
|
|
2076
|
+
primaryColor={colors.primary}
|
|
2077
|
+
textColor={colors.text}
|
|
2091
2078
|
style={fileManagementStyles.viewModeButton}
|
|
2092
2079
|
/>
|
|
2093
2080
|
<AnimatedButton
|
|
2094
2081
|
isSelected={viewMode === 'videos'}
|
|
2095
2082
|
onPress={() => setViewMode('videos')}
|
|
2096
2083
|
icon={viewMode === 'videos' ? 'video' : 'video-outline'}
|
|
2097
|
-
primaryColor={
|
|
2098
|
-
textColor={
|
|
2084
|
+
primaryColor={colors.primary}
|
|
2085
|
+
textColor={colors.text}
|
|
2099
2086
|
style={fileManagementStyles.viewModeButton}
|
|
2100
2087
|
/>
|
|
2101
2088
|
<AnimatedButton
|
|
2102
2089
|
isSelected={viewMode === 'documents'}
|
|
2103
2090
|
onPress={() => setViewMode('documents')}
|
|
2104
2091
|
icon={viewMode === 'documents' ? 'file-document' : 'file-document-outline'}
|
|
2105
|
-
primaryColor={
|
|
2106
|
-
textColor={
|
|
2092
|
+
primaryColor={colors.primary}
|
|
2093
|
+
textColor={colors.text}
|
|
2107
2094
|
style={fileManagementStyles.viewModeButton}
|
|
2108
2095
|
/>
|
|
2109
2096
|
<AnimatedButton
|
|
2110
2097
|
isSelected={viewMode === 'audio'}
|
|
2111
2098
|
onPress={() => setViewMode('audio')}
|
|
2112
2099
|
icon={viewMode === 'audio' ? 'music-note' : 'music-note-outline'}
|
|
2113
|
-
primaryColor={
|
|
2114
|
-
textColor={
|
|
2100
|
+
primaryColor={colors.primary}
|
|
2101
|
+
textColor={colors.text}
|
|
2115
2102
|
style={fileManagementStyles.viewModeButton}
|
|
2116
2103
|
/>
|
|
2117
2104
|
</View>
|
|
2118
2105
|
</ScrollView>
|
|
2119
2106
|
<TouchableOpacity
|
|
2120
2107
|
style={[fileManagementStyles.sortButton, {
|
|
2121
|
-
backgroundColor:
|
|
2108
|
+
backgroundColor: colors.card,
|
|
2122
2109
|
}]}
|
|
2123
2110
|
onPress={() => {
|
|
2124
2111
|
// Cycle through sort options: date -> size -> name -> type -> date
|
|
@@ -2139,17 +2126,17 @@ const FileManagementScreen: React.FC<FileManagementScreenProps> = ({
|
|
|
2139
2126
|
sortBy === 'name' ? 'sort-alphabetical-variant' : 'file-document-outline'
|
|
2140
2127
|
}
|
|
2141
2128
|
size={16}
|
|
2142
|
-
color={
|
|
2129
|
+
color={colors.text}
|
|
2143
2130
|
/>
|
|
2144
2131
|
<MaterialCommunityIcons
|
|
2145
2132
|
name={sortOrder === 'asc' ? 'arrow-up' : 'arrow-down'}
|
|
2146
2133
|
size={14}
|
|
2147
|
-
color={
|
|
2134
|
+
color={colors.textSecondary}
|
|
2148
2135
|
/>
|
|
2149
2136
|
</TouchableOpacity>
|
|
2150
2137
|
{user?.id === targetUserId && (!selectMode || (selectMode && allowUploadInSelectMode)) && (
|
|
2151
2138
|
<TouchableOpacity
|
|
2152
|
-
style={[fileManagementStyles.uploadButton, { backgroundColor:
|
|
2139
|
+
style={[fileManagementStyles.uploadButton, { backgroundColor: colors.primary }]}
|
|
2153
2140
|
onPress={handleFileUpload}
|
|
2154
2141
|
disabled={uploading || isPickingDocument}
|
|
2155
2142
|
>
|
|
@@ -2176,14 +2163,14 @@ const FileManagementScreen: React.FC<FileManagementScreenProps> = ({
|
|
|
2176
2163
|
<View style={[
|
|
2177
2164
|
fileManagementStyles.searchContainer,
|
|
2178
2165
|
{
|
|
2179
|
-
backgroundColor:
|
|
2166
|
+
backgroundColor: colors.card,
|
|
2180
2167
|
}
|
|
2181
2168
|
]}>
|
|
2182
|
-
<Ionicons name="search" size={22} color={
|
|
2169
|
+
<Ionicons name="search" size={22} color={colors.icon} />
|
|
2183
2170
|
<TextInput
|
|
2184
|
-
style={[fileManagementStyles.searchInput, { color:
|
|
2171
|
+
style={[fileManagementStyles.searchInput, { color: colors.text }]}
|
|
2185
2172
|
placeholder={viewMode === 'photos' ? t('fileManagement.searchPhotos') : t('fileManagement.searchFiles')}
|
|
2186
|
-
placeholderTextColor={
|
|
2173
|
+
placeholderTextColor={colors.textSecondary}
|
|
2187
2174
|
value={searchQuery}
|
|
2188
2175
|
onChangeText={setSearchQuery}
|
|
2189
2176
|
/>
|
|
@@ -2192,7 +2179,7 @@ const FileManagementScreen: React.FC<FileManagementScreenProps> = ({
|
|
|
2192
2179
|
onPress={() => setSearchQuery('')}
|
|
2193
2180
|
style={fileManagementStyles.searchClearButton}
|
|
2194
2181
|
>
|
|
2195
|
-
<Ionicons name="close-circle" size={22} color={
|
|
2182
|
+
<Ionicons name="close-circle" size={22} color={colors.icon} />
|
|
2196
2183
|
</TouchableOpacity>
|
|
2197
2184
|
)}
|
|
2198
2185
|
</View>
|
|
@@ -2203,27 +2190,27 @@ const FileManagementScreen: React.FC<FileManagementScreenProps> = ({
|
|
|
2203
2190
|
<View style={[
|
|
2204
2191
|
fileManagementStyles.statsContainer,
|
|
2205
2192
|
{
|
|
2206
|
-
backgroundColor:
|
|
2193
|
+
backgroundColor: colors.card,
|
|
2207
2194
|
}
|
|
2208
2195
|
]}>
|
|
2209
2196
|
<View style={fileManagementStyles.statItem}>
|
|
2210
|
-
<Text style={[fileManagementStyles.statValue, { color:
|
|
2211
|
-
<Text style={[fileManagementStyles.statLabel, { color:
|
|
2197
|
+
<Text style={[fileManagementStyles.statValue, { color: colors.text }]}>{filteredFiles.length}</Text>
|
|
2198
|
+
<Text style={[fileManagementStyles.statLabel, { color: colors.textSecondary }]}>
|
|
2212
2199
|
{searchQuery.length > 0 ? t('fileManagement.found') : (filteredFiles.length === 1 ? (viewMode === 'photos' ? t('fileManagement.photo') : t('fileManagement.file')) : (viewMode === 'photos' ? t('fileManagement.photos_stat') : t('fileManagement.files')))}
|
|
2213
2200
|
</Text>
|
|
2214
2201
|
</View>
|
|
2215
2202
|
<View style={fileManagementStyles.statItem}>
|
|
2216
|
-
<Text style={[fileManagementStyles.statValue, { color:
|
|
2203
|
+
<Text style={[fileManagementStyles.statValue, { color: colors.text }]}>
|
|
2217
2204
|
{formatFileSize(filteredFiles.reduce((total, file) => total + file.length, 0))}
|
|
2218
2205
|
</Text>
|
|
2219
|
-
<Text style={[fileManagementStyles.statLabel, { color:
|
|
2206
|
+
<Text style={[fileManagementStyles.statLabel, { color: colors.textSecondary }]}>
|
|
2220
2207
|
{searchQuery.length > 0 ? t('fileManagement.size') : t('fileManagement.totalSize')}
|
|
2221
2208
|
</Text>
|
|
2222
2209
|
</View>
|
|
2223
2210
|
{searchQuery.length > 0 && (
|
|
2224
2211
|
<View style={fileManagementStyles.statItem}>
|
|
2225
|
-
<Text style={[fileManagementStyles.statValue, { color:
|
|
2226
|
-
<Text style={[fileManagementStyles.statLabel, { color:
|
|
2212
|
+
<Text style={[fileManagementStyles.statValue, { color: colors.text }]}>{files.length}</Text>
|
|
2213
|
+
<Text style={[fileManagementStyles.statLabel, { color: colors.textSecondary }]}>
|
|
2227
2214
|
{t('fileManagement.total')}
|
|
2228
2215
|
</Text>
|
|
2229
2216
|
</View>
|
|
@@ -2243,7 +2230,7 @@ const FileManagementScreen: React.FC<FileManagementScreenProps> = ({
|
|
|
2243
2230
|
<RefreshControl
|
|
2244
2231
|
refreshing={refreshing}
|
|
2245
2232
|
onRefresh={() => loadFiles('refresh')}
|
|
2246
|
-
tintColor={
|
|
2233
|
+
tintColor={colors.primary}
|
|
2247
2234
|
/>
|
|
2248
2235
|
}
|
|
2249
2236
|
onScroll={({ nativeEvent }) => {
|
|
@@ -2257,13 +2244,13 @@ const FileManagementScreen: React.FC<FileManagementScreenProps> = ({
|
|
|
2257
2244
|
>
|
|
2258
2245
|
{filteredFiles.length === 0 && searchQuery.length > 0 ? (
|
|
2259
2246
|
<View style={fileManagementStyles.emptyState}>
|
|
2260
|
-
<Ionicons name="search" size={64} color={
|
|
2261
|
-
<Text style={[fileManagementStyles.emptyStateTitle, { color:
|
|
2262
|
-
<Text style={[fileManagementStyles.emptyStateDescription, { color:
|
|
2247
|
+
<Ionicons name="search" size={64} color={bloomTheme.isDark ? '#666666' : '#CCCCCC'} />
|
|
2248
|
+
<Text style={[fileManagementStyles.emptyStateTitle, { color: colors.text }]}>{t('fileManagement.noResults.title')}</Text>
|
|
2249
|
+
<Text style={[fileManagementStyles.emptyStateDescription, { color: bloomTheme.isDark ? '#BBBBBB' : '#666666' }]}>
|
|
2263
2250
|
{t('fileManagement.noResults.description', { query: searchQuery })}
|
|
2264
2251
|
</Text>
|
|
2265
2252
|
<TouchableOpacity
|
|
2266
|
-
style={[fileManagementStyles.emptyStateButton, { backgroundColor:
|
|
2253
|
+
style={[fileManagementStyles.emptyStateButton, { backgroundColor: colors.primary }]}
|
|
2267
2254
|
onPress={() => setSearchQuery('')}
|
|
2268
2255
|
>
|
|
2269
2256
|
<Ionicons name="refresh" size={20} color="#FFFFFF" />
|
|
@@ -2275,8 +2262,8 @@ const FileManagementScreen: React.FC<FileManagementScreenProps> = ({
|
|
|
2275
2262
|
<GroupedSection items={groupedFileItems} />
|
|
2276
2263
|
{paging.loadingMore && (
|
|
2277
2264
|
<View style={fileManagementStyles.loadingMoreBar}>
|
|
2278
|
-
<ActivityIndicator size="small" color={
|
|
2279
|
-
<Text style={[fileManagementStyles.loadingMoreText, { color:
|
|
2265
|
+
<ActivityIndicator size="small" color={colors.primary} />
|
|
2266
|
+
<Text style={[fileManagementStyles.loadingMoreText, { color: colors.text }]}>{t('fileManagement.loadingMore')}</Text>
|
|
2280
2267
|
</View>
|
|
2281
2268
|
)}
|
|
2282
2269
|
</>
|
|
@@ -2291,7 +2278,6 @@ const FileManagementScreen: React.FC<FileManagementScreenProps> = ({
|
|
|
2291
2278
|
onClose={() => setShowFileDetails(false)}
|
|
2292
2279
|
onDownload={handleFileDownload}
|
|
2293
2280
|
onDelete={handleFileDelete}
|
|
2294
|
-
themeStyles={themeStyles}
|
|
2295
2281
|
isOwner={user?.id === targetUserId}
|
|
2296
2282
|
/>
|
|
2297
2283
|
)}
|
|
@@ -2299,27 +2285,27 @@ const FileManagementScreen: React.FC<FileManagementScreenProps> = ({
|
|
|
2299
2285
|
{/* Uploading banner overlay with progress */}
|
|
2300
2286
|
{!selectMode && uploading && (
|
|
2301
2287
|
<View style={[fileManagementStyles.uploadBannerContainer, { pointerEvents: 'none' }]}>
|
|
2302
|
-
<View style={[fileManagementStyles.uploadBanner, { backgroundColor:
|
|
2303
|
-
<Ionicons name="cloud-upload" size={18} color={
|
|
2288
|
+
<View style={[fileManagementStyles.uploadBanner, { backgroundColor: bloomTheme.isDark ? '#222831EE' : '#FFFFFFEE', borderColor: colors.border }]}>
|
|
2289
|
+
<Ionicons name="cloud-upload" size={18} color={colors.primary} />
|
|
2304
2290
|
<View style={fileManagementStyles.uploadBannerContent}>
|
|
2305
|
-
<Text style={[fileManagementStyles.uploadBannerText, { color:
|
|
2291
|
+
<Text style={[fileManagementStyles.uploadBannerText, { color: colors.text }]}>
|
|
2306
2292
|
{t('fileManagement.uploading')}{uploadProgress ? ` ${uploadProgress.current}/${uploadProgress.total}` : '...'}
|
|
2307
2293
|
</Text>
|
|
2308
2294
|
{uploadProgress && uploadProgress.total > 0 && (
|
|
2309
|
-
<View style={[fileManagementStyles.uploadProgressBarContainer, { backgroundColor:
|
|
2295
|
+
<View style={[fileManagementStyles.uploadProgressBarContainer, { backgroundColor: bloomTheme.isDark ? 'rgba(255,255,255,0.1)' : 'rgba(0,0,0,0.1)' }]}>
|
|
2310
2296
|
<View
|
|
2311
2297
|
style={[
|
|
2312
2298
|
fileManagementStyles.uploadProgressBar,
|
|
2313
2299
|
{
|
|
2314
2300
|
width: `${(uploadProgress.current / uploadProgress.total) * 100}%`,
|
|
2315
|
-
backgroundColor:
|
|
2301
|
+
backgroundColor: colors.primary
|
|
2316
2302
|
}
|
|
2317
2303
|
]}
|
|
2318
2304
|
/>
|
|
2319
2305
|
</View>
|
|
2320
2306
|
)}
|
|
2321
2307
|
</View>
|
|
2322
|
-
<ActivityIndicator size="small" color={
|
|
2308
|
+
<ActivityIndicator size="small" color={colors.primary} />
|
|
2323
2309
|
</View>
|
|
2324
2310
|
</View>
|
|
2325
2311
|
)}
|