@oxy.so/services 3.1.0 → 4.0.1
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/lib/commonjs/assets/assets/fonts/icons/OxyServicesIonicons.ttf +0 -0
- package/lib/commonjs/assets/assets/fonts/icons/OxyServicesMaterialCommunityIcons.ttf +0 -0
- package/lib/commonjs/assets/assets/fonts/icons/manifest.json +5 -11
- package/lib/commonjs/assets/fonts/icons/OxyServicesIonicons.ttf +0 -0
- package/lib/commonjs/assets/fonts/icons/OxyServicesMaterialCommunityIcons.ttf +0 -0
- package/lib/commonjs/assets/fonts/icons/manifest.json +5 -11
- package/lib/commonjs/ui/components/FollowButton.js +15 -28
- package/lib/commonjs/ui/components/FollowButton.js.map +1 -1
- package/lib/commonjs/ui/components/FollowTargetButton.js +10 -11
- package/lib/commonjs/ui/components/FollowTargetButton.js.map +1 -1
- package/lib/commonjs/ui/components/OxyAuthPrompt.js +3 -2
- package/lib/commonjs/ui/components/OxyAuthPrompt.js.map +1 -1
- package/lib/commonjs/ui/components/OxyConsentScreen.js +4 -2
- package/lib/commonjs/ui/components/OxyConsentScreen.js.map +1 -1
- package/lib/commonjs/ui/components/OxySignInButton.js +1 -1
- package/lib/commonjs/ui/components/OxySignInButton.js.map +1 -1
- package/lib/commonjs/ui/components/OxySignInRequestSurface.js +2 -1
- package/lib/commonjs/ui/components/OxySignInRequestSurface.js.map +1 -1
- package/lib/commonjs/ui/components/ProfileButton.js +68 -267
- package/lib/commonjs/ui/components/ProfileButton.js.map +1 -1
- package/lib/commonjs/ui/components/ProfileSummaryCard.js +2 -2
- package/lib/commonjs/ui/components/ProfileSummaryCard.js.map +1 -1
- package/lib/commonjs/ui/components/SurfaceHeaderAction.js +9 -49
- package/lib/commonjs/ui/components/SurfaceHeaderAction.js.map +1 -1
- package/lib/commonjs/ui/components/SurfaceScreen.js +3 -2
- package/lib/commonjs/ui/components/SurfaceScreen.js.map +1 -1
- package/lib/commonjs/ui/components/authChooser/AccountsMenuView.js +2 -1
- package/lib/commonjs/ui/components/authChooser/AccountsMenuView.js.map +1 -1
- package/lib/commonjs/ui/components/authChooser/SignInEntryView.js +2 -1
- package/lib/commonjs/ui/components/authChooser/SignInEntryView.js.map +1 -1
- package/lib/commonjs/ui/components/authChooser/SignUpView.js +4 -2
- package/lib/commonjs/ui/components/authChooser/SignUpView.js.map +1 -1
- package/lib/commonjs/ui/components/authChooser/requestSurfaces.js +2 -1
- package/lib/commonjs/ui/components/authChooser/requestSurfaces.js.map +1 -1
- package/lib/commonjs/ui/components/fileManagement/FileDetailsModal.js +20 -14
- package/lib/commonjs/ui/components/fileManagement/FileDetailsModal.js.map +1 -1
- package/lib/commonjs/ui/components/fileManagement/FileViewer.js +48 -85
- package/lib/commonjs/ui/components/fileManagement/FileViewer.js.map +1 -1
- package/lib/commonjs/ui/components/fileManagement/UploadPreview.js +35 -31
- package/lib/commonjs/ui/components/fileManagement/UploadPreview.js.map +1 -1
- package/lib/commonjs/ui/components/modals/DeleteAccountModal.js +9 -6
- package/lib/commonjs/ui/components/modals/DeleteAccountModal.js.map +1 -1
- package/lib/commonjs/ui/components/payment/PaymentDetailsStep.js +22 -19
- package/lib/commonjs/ui/components/payment/PaymentDetailsStep.js.map +1 -1
- package/lib/commonjs/ui/components/payment/PaymentMethodStep.js +6 -3
- package/lib/commonjs/ui/components/payment/PaymentMethodStep.js.map +1 -1
- package/lib/commonjs/ui/components/payment/PaymentReviewStep.js +6 -3
- package/lib/commonjs/ui/components/payment/PaymentReviewStep.js.map +1 -1
- package/lib/commonjs/ui/components/payment/PaymentSuccessStep.js +7 -5
- package/lib/commonjs/ui/components/payment/PaymentSuccessStep.js.map +1 -1
- package/lib/commonjs/ui/components/payment/PaymentSummaryStep.js +20 -17
- package/lib/commonjs/ui/components/payment/PaymentSummaryStep.js.map +1 -1
- package/lib/commonjs/ui/components/photogrid/JustifiedPhotoGrid.js +2 -1
- package/lib/commonjs/ui/components/photogrid/JustifiedPhotoGrid.js.map +1 -1
- package/lib/commonjs/ui/components/surfaces/ActionSheetSurface.js +5 -3
- package/lib/commonjs/ui/components/surfaces/ActionSheetSurface.js.map +1 -1
- package/lib/commonjs/ui/icons/subsetGlyphMaps.js +0 -6
- package/lib/commonjs/ui/icons/subsetGlyphMaps.js.map +1 -1
- package/lib/commonjs/ui/screens/AccountMembersScreen.js +36 -60
- package/lib/commonjs/ui/screens/AccountMembersScreen.js.map +1 -1
- package/lib/commonjs/ui/screens/AccountSettingsScreen.js +2 -1
- package/lib/commonjs/ui/screens/AccountSettingsScreen.js.map +1 -1
- package/lib/commonjs/ui/screens/AccountVerificationScreen.js +2 -1
- package/lib/commonjs/ui/screens/AccountVerificationScreen.js.map +1 -1
- package/lib/commonjs/ui/screens/AvatarCropScreen.js +7 -6
- package/lib/commonjs/ui/screens/AvatarCropScreen.js.map +1 -1
- package/lib/commonjs/ui/screens/CreateAccountScreen.js +2 -1
- package/lib/commonjs/ui/screens/CreateAccountScreen.js.map +1 -1
- package/lib/commonjs/ui/screens/FeedbackScreen.js +18 -9
- package/lib/commonjs/ui/screens/FeedbackScreen.js.map +1 -1
- package/lib/commonjs/ui/screens/FileManagementScreen.js +99 -200
- package/lib/commonjs/ui/screens/FileManagementScreen.js.map +1 -1
- package/lib/commonjs/ui/screens/LanguageSelectorScreen.js +8 -9
- package/lib/commonjs/ui/screens/LanguageSelectorScreen.js.map +1 -1
- package/lib/commonjs/ui/screens/PaymentGatewayScreen.js +2 -1
- package/lib/commonjs/ui/screens/PaymentGatewayScreen.js.map +1 -1
- package/lib/commonjs/ui/screens/PremiumSubscriptionScreen.js +20 -10
- package/lib/commonjs/ui/screens/PremiumSubscriptionScreen.js.map +1 -1
- package/lib/commonjs/ui/screens/PrivacySettingsScreen.js +4 -2
- package/lib/commonjs/ui/screens/PrivacySettingsScreen.js.map +1 -1
- package/lib/commonjs/ui/screens/ProfileScreen.js +2 -1
- package/lib/commonjs/ui/screens/ProfileScreen.js.map +1 -1
- package/lib/commonjs/ui/screens/UserListScreen.js +31 -33
- package/lib/commonjs/ui/screens/UserListScreen.js.map +1 -1
- package/lib/commonjs/ui/screens/WelcomeNewUserScreen.js +22 -11
- package/lib/commonjs/ui/screens/WelcomeNewUserScreen.js.map +1 -1
- package/lib/commonjs/ui/screens/fileManagement/FileLibraryError.js +7 -18
- package/lib/commonjs/ui/screens/fileManagement/FileLibraryError.js.map +1 -1
- package/lib/commonjs/ui/screens/fileManagement/FileListSection.js +7 -16
- package/lib/commonjs/ui/screens/fileManagement/FileListSection.js.map +1 -1
- package/lib/commonjs/ui/screens/fileManagement/PhotoPickerSection.js +6 -6
- package/lib/commonjs/ui/screens/fileManagement/PhotoPickerSection.js.map +1 -1
- package/lib/commonjs/ui/screens/fileManagement/UploadBar.js +23 -66
- package/lib/commonjs/ui/screens/fileManagement/UploadBar.js.map +1 -1
- package/lib/commonjs/ui/screens/trust/TrustLeaderboardScreen.js +2 -1
- package/lib/commonjs/ui/screens/trust/TrustLeaderboardScreen.js.map +1 -1
- package/lib/commonjs/ui/screens/trust/TrustRulesScreen.js +3 -2
- package/lib/commonjs/ui/screens/trust/TrustRulesScreen.js.map +1 -1
- package/lib/module/assets/assets/fonts/icons/OxyServicesIonicons.ttf +0 -0
- package/lib/module/assets/assets/fonts/icons/OxyServicesMaterialCommunityIcons.ttf +0 -0
- package/lib/module/assets/assets/fonts/icons/manifest.json +5 -11
- package/lib/module/assets/fonts/icons/OxyServicesIonicons.ttf +0 -0
- package/lib/module/assets/fonts/icons/OxyServicesMaterialCommunityIcons.ttf +0 -0
- package/lib/module/assets/fonts/icons/manifest.json +5 -11
- package/lib/module/ui/components/FollowButton.js +15 -28
- package/lib/module/ui/components/FollowButton.js.map +1 -1
- package/lib/module/ui/components/FollowTargetButton.js +10 -11
- package/lib/module/ui/components/FollowTargetButton.js.map +1 -1
- package/lib/module/ui/components/OxyAuthPrompt.js +2 -1
- package/lib/module/ui/components/OxyAuthPrompt.js.map +1 -1
- package/lib/module/ui/components/OxyConsentScreen.js +4 -2
- package/lib/module/ui/components/OxyConsentScreen.js.map +1 -1
- package/lib/module/ui/components/OxySignInButton.js +1 -1
- package/lib/module/ui/components/OxySignInButton.js.map +1 -1
- package/lib/module/ui/components/OxySignInRequestSurface.js +2 -1
- package/lib/module/ui/components/OxySignInRequestSurface.js.map +1 -1
- package/lib/module/ui/components/ProfileButton.js +71 -269
- package/lib/module/ui/components/ProfileButton.js.map +1 -1
- package/lib/module/ui/components/ProfileSummaryCard.js +2 -2
- package/lib/module/ui/components/ProfileSummaryCard.js.map +1 -1
- package/lib/module/ui/components/SurfaceHeaderAction.js +8 -48
- package/lib/module/ui/components/SurfaceHeaderAction.js.map +1 -1
- package/lib/module/ui/components/SurfaceScreen.js +2 -1
- package/lib/module/ui/components/SurfaceScreen.js.map +1 -1
- package/lib/module/ui/components/authChooser/AccountsMenuView.js +2 -1
- package/lib/module/ui/components/authChooser/AccountsMenuView.js.map +1 -1
- package/lib/module/ui/components/authChooser/SignInEntryView.js +2 -1
- package/lib/module/ui/components/authChooser/SignInEntryView.js.map +1 -1
- package/lib/module/ui/components/authChooser/SignUpView.js +4 -2
- package/lib/module/ui/components/authChooser/SignUpView.js.map +1 -1
- package/lib/module/ui/components/authChooser/requestSurfaces.js +2 -1
- package/lib/module/ui/components/authChooser/requestSurfaces.js.map +1 -1
- package/lib/module/ui/components/fileManagement/FileDetailsModal.js +12 -6
- package/lib/module/ui/components/fileManagement/FileDetailsModal.js.map +1 -1
- package/lib/module/ui/components/fileManagement/FileViewer.js +38 -75
- package/lib/module/ui/components/fileManagement/FileViewer.js.map +1 -1
- package/lib/module/ui/components/fileManagement/UploadPreview.js +31 -27
- package/lib/module/ui/components/fileManagement/UploadPreview.js.map +1 -1
- package/lib/module/ui/components/modals/DeleteAccountModal.js +6 -3
- package/lib/module/ui/components/modals/DeleteAccountModal.js.map +1 -1
- package/lib/module/ui/components/payment/PaymentDetailsStep.js +6 -3
- package/lib/module/ui/components/payment/PaymentDetailsStep.js.map +1 -1
- package/lib/module/ui/components/payment/PaymentMethodStep.js +6 -3
- package/lib/module/ui/components/payment/PaymentMethodStep.js.map +1 -1
- package/lib/module/ui/components/payment/PaymentReviewStep.js +6 -3
- package/lib/module/ui/components/payment/PaymentReviewStep.js.map +1 -1
- package/lib/module/ui/components/payment/PaymentSuccessStep.js +4 -2
- package/lib/module/ui/components/payment/PaymentSuccessStep.js.map +1 -1
- package/lib/module/ui/components/payment/PaymentSummaryStep.js +6 -3
- package/lib/module/ui/components/payment/PaymentSummaryStep.js.map +1 -1
- package/lib/module/ui/components/photogrid/JustifiedPhotoGrid.js +2 -1
- package/lib/module/ui/components/photogrid/JustifiedPhotoGrid.js.map +1 -1
- package/lib/module/ui/components/surfaces/ActionSheetSurface.js +4 -2
- package/lib/module/ui/components/surfaces/ActionSheetSurface.js.map +1 -1
- package/lib/module/ui/icons/subsetGlyphMaps.js +0 -6
- package/lib/module/ui/icons/subsetGlyphMaps.js.map +1 -1
- package/lib/module/ui/screens/AccountMembersScreen.js +37 -61
- package/lib/module/ui/screens/AccountMembersScreen.js.map +1 -1
- package/lib/module/ui/screens/AccountSettingsScreen.js +2 -1
- package/lib/module/ui/screens/AccountSettingsScreen.js.map +1 -1
- package/lib/module/ui/screens/AccountVerificationScreen.js +2 -1
- package/lib/module/ui/screens/AccountVerificationScreen.js.map +1 -1
- package/lib/module/ui/screens/AvatarCropScreen.js +2 -1
- package/lib/module/ui/screens/AvatarCropScreen.js.map +1 -1
- package/lib/module/ui/screens/CreateAccountScreen.js +2 -1
- package/lib/module/ui/screens/CreateAccountScreen.js.map +1 -1
- package/lib/module/ui/screens/FeedbackScreen.js +18 -9
- package/lib/module/ui/screens/FeedbackScreen.js.map +1 -1
- package/lib/module/ui/screens/FileManagementScreen.js +91 -192
- package/lib/module/ui/screens/FileManagementScreen.js.map +1 -1
- package/lib/module/ui/screens/LanguageSelectorScreen.js +9 -10
- package/lib/module/ui/screens/LanguageSelectorScreen.js.map +1 -1
- package/lib/module/ui/screens/PaymentGatewayScreen.js +2 -1
- package/lib/module/ui/screens/PaymentGatewayScreen.js.map +1 -1
- package/lib/module/ui/screens/PremiumSubscriptionScreen.js +20 -10
- package/lib/module/ui/screens/PremiumSubscriptionScreen.js.map +1 -1
- package/lib/module/ui/screens/PrivacySettingsScreen.js +4 -2
- package/lib/module/ui/screens/PrivacySettingsScreen.js.map +1 -1
- package/lib/module/ui/screens/ProfileScreen.js +2 -1
- package/lib/module/ui/screens/ProfileScreen.js.map +1 -1
- package/lib/module/ui/screens/UserListScreen.js +32 -34
- package/lib/module/ui/screens/UserListScreen.js.map +1 -1
- package/lib/module/ui/screens/WelcomeNewUserScreen.js +22 -11
- package/lib/module/ui/screens/WelcomeNewUserScreen.js.map +1 -1
- package/lib/module/ui/screens/fileManagement/FileLibraryError.js +6 -17
- package/lib/module/ui/screens/fileManagement/FileLibraryError.js.map +1 -1
- package/lib/module/ui/screens/fileManagement/FileListSection.js +5 -14
- package/lib/module/ui/screens/fileManagement/FileListSection.js.map +1 -1
- package/lib/module/ui/screens/fileManagement/PhotoPickerSection.js +3 -3
- package/lib/module/ui/screens/fileManagement/PhotoPickerSection.js.map +1 -1
- package/lib/module/ui/screens/fileManagement/UploadBar.js +24 -66
- package/lib/module/ui/screens/fileManagement/UploadBar.js.map +1 -1
- package/lib/module/ui/screens/trust/TrustLeaderboardScreen.js +2 -1
- package/lib/module/ui/screens/trust/TrustLeaderboardScreen.js.map +1 -1
- package/lib/module/ui/screens/trust/TrustRulesScreen.js +2 -1
- package/lib/module/ui/screens/trust/TrustRulesScreen.js.map +1 -1
- package/lib/typescript/commonjs/ui/components/FollowButton.d.ts.map +1 -1
- package/lib/typescript/commonjs/ui/components/FollowTargetButton.d.ts.map +1 -1
- package/lib/typescript/commonjs/ui/components/OxyAuthPrompt.d.ts.map +1 -1
- package/lib/typescript/commonjs/ui/components/OxySignInButton.d.ts +1 -1
- package/lib/typescript/commonjs/ui/components/OxySignInButton.d.ts.map +1 -1
- package/lib/typescript/commonjs/ui/components/ProfileButton.d.ts +1 -20
- package/lib/typescript/commonjs/ui/components/ProfileButton.d.ts.map +1 -1
- package/lib/typescript/commonjs/ui/components/ProfileSummaryCard.d.ts.map +1 -1
- package/lib/typescript/commonjs/ui/components/SurfaceHeaderAction.d.ts +1 -5
- package/lib/typescript/commonjs/ui/components/SurfaceHeaderAction.d.ts.map +1 -1
- package/lib/typescript/commonjs/ui/components/SurfaceScreen.d.ts.map +1 -1
- package/lib/typescript/commonjs/ui/components/fileManagement/FileDetailsModal.d.ts.map +1 -1
- package/lib/typescript/commonjs/ui/components/fileManagement/FileViewer.d.ts.map +1 -1
- 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/payment/PaymentDetailsStep.d.ts.map +1 -1
- package/lib/typescript/commonjs/ui/components/payment/PaymentMethodStep.d.ts.map +1 -1
- package/lib/typescript/commonjs/ui/components/payment/PaymentReviewStep.d.ts.map +1 -1
- package/lib/typescript/commonjs/ui/components/payment/PaymentSuccessStep.d.ts.map +1 -1
- package/lib/typescript/commonjs/ui/components/payment/PaymentSummaryStep.d.ts.map +1 -1
- package/lib/typescript/commonjs/ui/components/photogrid/JustifiedPhotoGrid.d.ts.map +1 -1
- package/lib/typescript/commonjs/ui/components/surfaces/ActionSheetSurface.d.ts.map +1 -1
- package/lib/typescript/commonjs/ui/icons/Ionicons.d.ts +1 -1
- package/lib/typescript/commonjs/ui/icons/Ionicons.d.ts.map +1 -1
- package/lib/typescript/commonjs/ui/icons/MaterialCommunityIcons.d.ts +1 -1
- package/lib/typescript/commonjs/ui/icons/MaterialCommunityIcons.d.ts.map +1 -1
- package/lib/typescript/commonjs/ui/icons/subsetGlyphMaps.d.ts +0 -6
- package/lib/typescript/commonjs/ui/icons/subsetGlyphMaps.d.ts.map +1 -1
- package/lib/typescript/commonjs/ui/screens/AccountMembersScreen.d.ts.map +1 -1
- package/lib/typescript/commonjs/ui/screens/AvatarCropScreen.d.ts.map +1 -1
- package/lib/typescript/commonjs/ui/screens/FileManagementScreen.d.ts.map +1 -1
- package/lib/typescript/commonjs/ui/screens/LanguageSelectorScreen.d.ts.map +1 -1
- package/lib/typescript/commonjs/ui/screens/UserListScreen.d.ts.map +1 -1
- package/lib/typescript/commonjs/ui/screens/fileManagement/FileLibraryError.d.ts +0 -2
- package/lib/typescript/commonjs/ui/screens/fileManagement/FileLibraryError.d.ts.map +1 -1
- package/lib/typescript/commonjs/ui/screens/fileManagement/FileListSection.d.ts.map +1 -1
- package/lib/typescript/commonjs/ui/screens/fileManagement/PhotoPickerSection.d.ts.map +1 -1
- package/lib/typescript/commonjs/ui/screens/fileManagement/UploadBar.d.ts +1 -14
- package/lib/typescript/commonjs/ui/screens/fileManagement/UploadBar.d.ts.map +1 -1
- package/lib/typescript/commonjs/ui/screens/trust/TrustRulesScreen.d.ts.map +1 -1
- package/lib/typescript/module/ui/components/FollowButton.d.ts.map +1 -1
- package/lib/typescript/module/ui/components/FollowTargetButton.d.ts.map +1 -1
- package/lib/typescript/module/ui/components/OxyAuthPrompt.d.ts.map +1 -1
- package/lib/typescript/module/ui/components/OxySignInButton.d.ts +1 -1
- package/lib/typescript/module/ui/components/OxySignInButton.d.ts.map +1 -1
- package/lib/typescript/module/ui/components/ProfileButton.d.ts +1 -20
- package/lib/typescript/module/ui/components/ProfileButton.d.ts.map +1 -1
- package/lib/typescript/module/ui/components/ProfileSummaryCard.d.ts.map +1 -1
- package/lib/typescript/module/ui/components/SurfaceHeaderAction.d.ts +1 -5
- package/lib/typescript/module/ui/components/SurfaceHeaderAction.d.ts.map +1 -1
- package/lib/typescript/module/ui/components/SurfaceScreen.d.ts.map +1 -1
- package/lib/typescript/module/ui/components/fileManagement/FileDetailsModal.d.ts.map +1 -1
- package/lib/typescript/module/ui/components/fileManagement/FileViewer.d.ts.map +1 -1
- 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/payment/PaymentDetailsStep.d.ts.map +1 -1
- package/lib/typescript/module/ui/components/payment/PaymentMethodStep.d.ts.map +1 -1
- package/lib/typescript/module/ui/components/payment/PaymentReviewStep.d.ts.map +1 -1
- package/lib/typescript/module/ui/components/payment/PaymentSuccessStep.d.ts.map +1 -1
- package/lib/typescript/module/ui/components/payment/PaymentSummaryStep.d.ts.map +1 -1
- package/lib/typescript/module/ui/components/photogrid/JustifiedPhotoGrid.d.ts.map +1 -1
- package/lib/typescript/module/ui/components/surfaces/ActionSheetSurface.d.ts.map +1 -1
- package/lib/typescript/module/ui/icons/Ionicons.d.ts +1 -1
- package/lib/typescript/module/ui/icons/Ionicons.d.ts.map +1 -1
- package/lib/typescript/module/ui/icons/MaterialCommunityIcons.d.ts +1 -1
- package/lib/typescript/module/ui/icons/MaterialCommunityIcons.d.ts.map +1 -1
- package/lib/typescript/module/ui/icons/subsetGlyphMaps.d.ts +0 -6
- package/lib/typescript/module/ui/icons/subsetGlyphMaps.d.ts.map +1 -1
- package/lib/typescript/module/ui/screens/AccountMembersScreen.d.ts.map +1 -1
- package/lib/typescript/module/ui/screens/AvatarCropScreen.d.ts.map +1 -1
- package/lib/typescript/module/ui/screens/FileManagementScreen.d.ts.map +1 -1
- package/lib/typescript/module/ui/screens/LanguageSelectorScreen.d.ts.map +1 -1
- package/lib/typescript/module/ui/screens/UserListScreen.d.ts.map +1 -1
- package/lib/typescript/module/ui/screens/fileManagement/FileLibraryError.d.ts +0 -2
- package/lib/typescript/module/ui/screens/fileManagement/FileLibraryError.d.ts.map +1 -1
- package/lib/typescript/module/ui/screens/fileManagement/FileListSection.d.ts.map +1 -1
- package/lib/typescript/module/ui/screens/fileManagement/PhotoPickerSection.d.ts.map +1 -1
- package/lib/typescript/module/ui/screens/fileManagement/UploadBar.d.ts +1 -14
- package/lib/typescript/module/ui/screens/fileManagement/UploadBar.d.ts.map +1 -1
- package/lib/typescript/module/ui/screens/trust/TrustRulesScreen.d.ts.map +1 -1
- package/package.json +6 -6
- package/src/assets/fonts/icons/OxyServicesIonicons.ttf +0 -0
- package/src/assets/fonts/icons/OxyServicesMaterialCommunityIcons.ttf +0 -0
- package/src/assets/fonts/icons/manifest.json +5 -11
- package/src/ui/components/FollowButton.tsx +14 -29
- package/src/ui/components/FollowTargetButton.tsx +9 -11
- package/src/ui/components/OxyAuthPrompt.tsx +2 -7
- package/src/ui/components/OxyConsentScreen.tsx +2 -2
- package/src/ui/components/OxySignInButton.tsx +2 -2
- package/src/ui/components/OxySignInRequestSurface.tsx +1 -1
- package/src/ui/components/ProfileButton.tsx +31 -297
- package/src/ui/components/ProfileSummaryCard.tsx +1 -2
- package/src/ui/components/SurfaceHeaderAction.tsx +7 -49
- package/src/ui/components/SurfaceScreen.tsx +2 -1
- package/src/ui/components/authChooser/AccountsMenuView.tsx +1 -1
- package/src/ui/components/authChooser/SignInEntryView.tsx +1 -1
- package/src/ui/components/authChooser/SignUpView.tsx +2 -2
- package/src/ui/components/authChooser/requestSurfaces.tsx +1 -1
- package/src/ui/components/fileManagement/FileDetailsModal.tsx +8 -6
- package/src/ui/components/fileManagement/FileViewer.tsx +21 -50
- package/src/ui/components/fileManagement/UploadPreview.tsx +12 -29
- package/src/ui/components/modals/DeleteAccountModal.tsx +4 -3
- package/src/ui/components/payment/PaymentDetailsStep.tsx +4 -3
- package/src/ui/components/payment/PaymentMethodStep.tsx +4 -3
- package/src/ui/components/payment/PaymentReviewStep.tsx +4 -3
- package/src/ui/components/payment/PaymentSuccessStep.tsx +3 -2
- package/src/ui/components/payment/PaymentSummaryStep.tsx +4 -3
- package/src/ui/components/photogrid/JustifiedPhotoGrid.tsx +2 -1
- package/src/ui/components/surfaces/ActionSheetSurface.tsx +3 -2
- package/src/ui/icons/subsetGlyphMaps.ts +0 -6
- package/src/ui/screens/AccountMembersScreen.tsx +17 -65
- package/src/ui/screens/AccountSettingsScreen.tsx +1 -1
- package/src/ui/screens/AccountVerificationScreen.tsx +1 -1
- package/src/ui/screens/AvatarCropScreen.tsx +2 -10
- package/src/ui/screens/CreateAccountScreen.tsx +1 -1
- package/src/ui/screens/FeedbackScreen.tsx +9 -9
- package/src/ui/screens/FileManagementScreen.tsx +37 -184
- package/src/ui/screens/LanguageSelectorScreen.tsx +5 -13
- package/src/ui/screens/PaymentGatewayScreen.tsx +1 -1
- package/src/ui/screens/PremiumSubscriptionScreen.tsx +10 -10
- package/src/ui/screens/PrivacySettingsScreen.tsx +2 -2
- package/src/ui/screens/ProfileScreen.tsx +1 -1
- package/src/ui/screens/UserListScreen.tsx +17 -44
- package/src/ui/screens/WelcomeNewUserScreen.tsx +11 -11
- package/src/ui/screens/fileManagement/FileLibraryError.tsx +6 -14
- package/src/ui/screens/fileManagement/FileListSection.tsx +4 -16
- package/src/ui/screens/fileManagement/PhotoPickerSection.tsx +2 -13
- package/src/ui/screens/fileManagement/UploadBar.tsx +17 -56
- package/src/ui/screens/trust/TrustLeaderboardScreen.tsx +1 -1
- package/src/ui/screens/trust/TrustRulesScreen.tsx +2 -1
- package/lib/commonjs/ui/components/fileManagement/AnimatedButton.js +0 -61
- package/lib/commonjs/ui/components/fileManagement/AnimatedButton.js.map +0 -1
- package/lib/commonjs/ui/components/internal/PinInput.js +0 -118
- package/lib/commonjs/ui/components/internal/PinInput.js.map +0 -1
- package/lib/module/ui/components/fileManagement/AnimatedButton.js +0 -55
- package/lib/module/ui/components/fileManagement/AnimatedButton.js.map +0 -1
- package/lib/module/ui/components/internal/PinInput.js +0 -113
- package/lib/module/ui/components/internal/PinInput.js.map +0 -1
- package/lib/typescript/commonjs/ui/components/fileManagement/AnimatedButton.d.ts +0 -17
- package/lib/typescript/commonjs/ui/components/fileManagement/AnimatedButton.d.ts.map +0 -1
- package/lib/typescript/commonjs/ui/components/internal/PinInput.d.ts +0 -23
- package/lib/typescript/commonjs/ui/components/internal/PinInput.d.ts.map +0 -1
- package/lib/typescript/module/ui/components/fileManagement/AnimatedButton.d.ts +0 -17
- package/lib/typescript/module/ui/components/fileManagement/AnimatedButton.d.ts.map +0 -1
- package/lib/typescript/module/ui/components/internal/PinInput.d.ts +0 -23
- package/lib/typescript/module/ui/components/internal/PinInput.d.ts.map +0 -1
- package/src/ui/components/fileManagement/AnimatedButton.tsx +0 -64
- package/src/ui/components/internal/PinInput.tsx +0 -123
|
@@ -5,14 +5,13 @@ import {
|
|
|
5
5
|
StyleSheet,
|
|
6
6
|
ActivityIndicator,
|
|
7
7
|
FlatList,
|
|
8
|
-
TouchableOpacity,
|
|
9
8
|
RefreshControl,
|
|
10
9
|
} from 'react-native';
|
|
11
10
|
import type { BaseScreenProps } from '../types/navigation';
|
|
12
11
|
import { useTheme } from '@oxy.so/bloom/theme';
|
|
13
12
|
import { H6, Text } from '@oxy.so/bloom/typography';
|
|
14
13
|
import { Button } from '@oxy.so/bloom/button';
|
|
15
|
-
import {
|
|
14
|
+
import { ContactRow } from '@oxy.so/bloom/chat-people';
|
|
16
15
|
import FollowButton from '../components/FollowButton';
|
|
17
16
|
import Ionicons from '../icons/Ionicons';
|
|
18
17
|
import { useI18n } from '../hooks/useI18n';
|
|
@@ -36,7 +35,6 @@ interface UserListScreenProps extends BaseScreenProps {
|
|
|
36
35
|
}
|
|
37
36
|
|
|
38
37
|
const PAGE_SIZE = 20;
|
|
39
|
-
const AVATAR_SIZE = 48;
|
|
40
38
|
const EMPTY_ICON_SIZE = 64;
|
|
41
39
|
const ERROR_ICON_SIZE = 48;
|
|
42
40
|
|
|
@@ -161,42 +159,21 @@ const UserListScreen: React.FC<UserListScreenProps> = ({
|
|
|
161
159
|
const handle = getAccountFallbackHandle(item);
|
|
162
160
|
|
|
163
161
|
return (
|
|
164
|
-
<
|
|
165
|
-
|
|
166
|
-
|
|
167
|
-
|
|
168
|
-
|
|
169
|
-
|
|
170
|
-
|
|
171
|
-
|
|
172
|
-
|
|
173
|
-
source={
|
|
174
|
-
item.avatar
|
|
175
|
-
? oxyServices.getFileDownloadUrl(item.avatar, 'thumb')
|
|
176
|
-
: undefined
|
|
177
|
-
}
|
|
178
|
-
name={displayName}
|
|
179
|
-
size={AVATAR_SIZE}
|
|
180
|
-
/>
|
|
181
|
-
<View style={styles.userInfo}>
|
|
182
|
-
<Text className="text-text font-medium text-base" numberOfLines={1}>
|
|
183
|
-
{displayName}
|
|
184
|
-
</Text>
|
|
185
|
-
{handle ? (
|
|
186
|
-
<Text className="text-text-secondary text-sm mt-space-2" numberOfLines={1}>
|
|
162
|
+
<View className="px-screen-margin flex-row items-center gap-space-12">
|
|
163
|
+
<ContactRow id={itemUserId || displayName} name={displayName}
|
|
164
|
+
subtitle={handle ? (item.username ? `@${handle}` : handle) : undefined}
|
|
165
|
+
avatar={item.avatar ? oxyServices.getFileDownloadUrl(item.avatar, 'thumb') : undefined}
|
|
166
|
+
horizontalInset={0} style={{ flex: 1 }}
|
|
167
|
+
onPress={() => handleUserPress(item)}
|
|
168
|
+
identitySlot={<View style={styles.userInfo}>
|
|
169
|
+
<Text variant="body-medium" numberOfLines={1}>{displayName}</Text>
|
|
170
|
+
{handle ? <Text className="text-text-secondary text-sm mt-space-2" numberOfLines={1}>
|
|
187
171
|
{item.username ? `@${handle}` : handle}
|
|
188
|
-
</Text>
|
|
189
|
-
|
|
190
|
-
|
|
191
|
-
|
|
192
|
-
|
|
193
|
-
</Text>
|
|
194
|
-
) : null}
|
|
195
|
-
</View>
|
|
196
|
-
{!isCurrentUser && itemUserId ? (
|
|
197
|
-
<FollowButton userId={itemUserId} size="small" />
|
|
198
|
-
) : null}
|
|
199
|
-
</TouchableOpacity>
|
|
172
|
+
</Text> : null}
|
|
173
|
+
{description ? <Text className="text-text-secondary text-sm mt-space-4" numberOfLines={2}>{description}</Text> : null}
|
|
174
|
+
</View>} />
|
|
175
|
+
{!isCurrentUser && itemUserId ? <FollowButton userId={itemUserId} size="small" /> : null}
|
|
176
|
+
</View>
|
|
200
177
|
);
|
|
201
178
|
},
|
|
202
179
|
[handleUserPress, currentUserId, oxyServices]
|
|
@@ -257,7 +234,7 @@ const UserListScreen: React.FC<UserListScreenProps> = ({
|
|
|
257
234
|
<View style={styles.center} className="px-space-32 gap-space-16">
|
|
258
235
|
<Ionicons name="alert-circle" size={ERROR_ICON_SIZE} color={bloomTheme.colors.error} />
|
|
259
236
|
<Text className="text-text-secondary text-base text-center">{error}</Text>
|
|
260
|
-
<Button
|
|
237
|
+
<Button appearance="solid" tone="accent" onPress={() => fetchUsers(0)}>
|
|
261
238
|
{t('common.retry') || 'Retry'}
|
|
262
239
|
</Button>
|
|
263
240
|
</View>
|
|
@@ -304,17 +281,13 @@ const styles = StyleSheet.create({
|
|
|
304
281
|
listContent: {
|
|
305
282
|
flexGrow: 1,
|
|
306
283
|
},
|
|
307
|
-
userItem: {
|
|
308
|
-
flexDirection: 'row',
|
|
309
|
-
alignItems: 'center',
|
|
310
|
-
},
|
|
311
284
|
userInfo: {
|
|
312
285
|
flex: 1,
|
|
313
286
|
},
|
|
314
287
|
// Inset the hairline separator to align with the start of the user's text
|
|
315
288
|
// content (avatar width + screen margin + gap).
|
|
316
289
|
separator: {
|
|
317
|
-
marginLeft:
|
|
290
|
+
marginLeft: 72,
|
|
318
291
|
},
|
|
319
292
|
emptyContainer: {
|
|
320
293
|
flex: 1,
|
|
@@ -182,10 +182,10 @@ const WelcomeNewUserScreen: React.FC<BaseScreenProps & { newUser?: User }> = ({
|
|
|
182
182
|
if (currentStep === totalSteps - 1) {
|
|
183
183
|
return (
|
|
184
184
|
<View style={{ flexDirection: 'row', gap: 8, justifyContent: 'flex-end' }}>
|
|
185
|
-
<Button
|
|
185
|
+
<Button appearance="subtle" tone="neutral" onPress={prevStep} size="small">
|
|
186
186
|
{t('welcomeNew.actions.back') || 'Back'}
|
|
187
187
|
</Button>
|
|
188
|
-
<Button
|
|
188
|
+
<Button appearance="solid" tone="accent" onPress={finish} size="small">
|
|
189
189
|
{t('welcomeNew.actions.enter') || 'Enter'}
|
|
190
190
|
</Button>
|
|
191
191
|
</View>
|
|
@@ -195,11 +195,11 @@ const WelcomeNewUserScreen: React.FC<BaseScreenProps & { newUser?: User }> = ({
|
|
|
195
195
|
return (
|
|
196
196
|
<View style={{ flexDirection: 'row', gap: 8, justifyContent: 'flex-end' }}>
|
|
197
197
|
{avatarStepIndex > 0 && (
|
|
198
|
-
<Button
|
|
198
|
+
<Button appearance="subtle" tone="neutral" onPress={skipToAvatar} size="small">
|
|
199
199
|
{t('welcomeNew.actions.skip') || 'Skip'}
|
|
200
200
|
</Button>
|
|
201
201
|
)}
|
|
202
|
-
<Button
|
|
202
|
+
<Button appearance="solid" tone="accent" onPress={nextStep} size="small">
|
|
203
203
|
{t('welcomeNew.actions.next') || 'Next'}
|
|
204
204
|
</Button>
|
|
205
205
|
</View>
|
|
@@ -208,10 +208,10 @@ const WelcomeNewUserScreen: React.FC<BaseScreenProps & { newUser?: User }> = ({
|
|
|
208
208
|
if (nameStepIndex >= 0 && currentStep === nameStepIndex) {
|
|
209
209
|
return (
|
|
210
210
|
<View style={{ flexDirection: 'row', gap: 8, justifyContent: 'flex-end' }}>
|
|
211
|
-
<Button
|
|
211
|
+
<Button appearance="subtle" tone="neutral" onPress={prevStep} size="small">
|
|
212
212
|
{t('welcomeNew.actions.back') || 'Back'}
|
|
213
213
|
</Button>
|
|
214
|
-
<Button
|
|
214
|
+
<Button appearance="solid" tone="accent" onPress={submitName} size="small" disabled={!firstName.trim() || savingName} loading={savingName}>
|
|
215
215
|
{t('welcomeNew.actions.continue') || 'Continue'}
|
|
216
216
|
</Button>
|
|
217
217
|
</View>
|
|
@@ -220,10 +220,10 @@ const WelcomeNewUserScreen: React.FC<BaseScreenProps & { newUser?: User }> = ({
|
|
|
220
220
|
if (step.showAvatar) {
|
|
221
221
|
return (
|
|
222
222
|
<View style={{ flexDirection: 'row', gap: 8, justifyContent: 'flex-end' }}>
|
|
223
|
-
<Button
|
|
223
|
+
<Button appearance="subtle" tone="neutral" onPress={prevStep} size="small">
|
|
224
224
|
{t('welcomeNew.actions.back') || 'Back'}
|
|
225
225
|
</Button>
|
|
226
|
-
<Button
|
|
226
|
+
<Button appearance="solid" tone="accent" onPress={nextStep} size="small">
|
|
227
227
|
{avatarUri ? (t('welcomeNew.actions.continue') || 'Continue') : (t('welcomeNew.actions.skip') || 'Skip')}
|
|
228
228
|
</Button>
|
|
229
229
|
</View>
|
|
@@ -231,10 +231,10 @@ const WelcomeNewUserScreen: React.FC<BaseScreenProps & { newUser?: User }> = ({
|
|
|
231
231
|
}
|
|
232
232
|
return (
|
|
233
233
|
<View style={{ flexDirection: 'row', gap: 8, justifyContent: 'flex-end' }}>
|
|
234
|
-
<Button
|
|
234
|
+
<Button appearance="subtle" tone="neutral" onPress={prevStep} size="small">
|
|
235
235
|
{t('welcomeNew.actions.back') || 'Back'}
|
|
236
236
|
</Button>
|
|
237
|
-
<Button
|
|
237
|
+
<Button appearance="solid" tone="accent" onPress={nextStep} size="small">
|
|
238
238
|
{t('welcomeNew.actions.next') || 'Next'}
|
|
239
239
|
</Button>
|
|
240
240
|
</View>
|
|
@@ -296,7 +296,7 @@ const WelcomeNewUserScreen: React.FC<BaseScreenProps & { newUser?: User }> = ({
|
|
|
296
296
|
placeholderColor={`${colors.primary}20`}
|
|
297
297
|
style={styles.avatar}
|
|
298
298
|
/>
|
|
299
|
-
<Button
|
|
299
|
+
<Button appearance="solid" tone="accent" size="small" onPress={openAvatarPicker}>
|
|
300
300
|
{avatarUri ? (t('welcomeNew.avatar.change') || 'Change Avatar') : (t('welcomeNew.avatar.add') || 'Add Avatar')}
|
|
301
301
|
</Button>
|
|
302
302
|
</View>
|
|
@@ -1,5 +1,7 @@
|
|
|
1
1
|
import type React from 'react';
|
|
2
|
-
import { View
|
|
2
|
+
import { View } from 'react-native';
|
|
3
|
+
import { Button } from '@oxy.so/bloom/button';
|
|
4
|
+
import { Text } from '@oxy.so/bloom/typography';
|
|
3
5
|
import Ionicons from '../../icons/Ionicons';
|
|
4
6
|
|
|
5
7
|
export interface FileLibraryErrorProps {
|
|
@@ -11,8 +13,6 @@ export interface FileLibraryErrorProps {
|
|
|
11
13
|
iconColor: string;
|
|
12
14
|
titleColor: string;
|
|
13
15
|
descriptionColor: string;
|
|
14
|
-
/** Retry button background (button label/icon are always white). */
|
|
15
|
-
buttonColor: string;
|
|
16
16
|
}
|
|
17
17
|
|
|
18
18
|
/**
|
|
@@ -30,7 +30,6 @@ const FileLibraryError: React.FC<FileLibraryErrorProps> = ({
|
|
|
30
30
|
iconColor,
|
|
31
31
|
titleColor,
|
|
32
32
|
descriptionColor,
|
|
33
|
-
buttonColor,
|
|
34
33
|
}) => (
|
|
35
34
|
<View className="items-center py-[40px] px-[24px]">
|
|
36
35
|
<Ionicons name="cloud-offline-outline" size={64} color={iconColor} />
|
|
@@ -40,16 +39,9 @@ const FileLibraryError: React.FC<FileLibraryErrorProps> = ({
|
|
|
40
39
|
<Text className="text-[16px] text-center leading-[24px] mb-[32px]" style={{ color: descriptionColor }}>
|
|
41
40
|
{description}
|
|
42
41
|
</Text>
|
|
43
|
-
<
|
|
44
|
-
|
|
45
|
-
|
|
46
|
-
onPress={onRetry}
|
|
47
|
-
accessibilityRole="button"
|
|
48
|
-
accessibilityLabel={retryLabel}
|
|
49
|
-
>
|
|
50
|
-
<Ionicons name="refresh" size={20} color="#FFFFFF" />
|
|
51
|
-
<Text className="text-white text-[16px] font-semibold">{retryLabel}</Text>
|
|
52
|
-
</TouchableOpacity>
|
|
42
|
+
<Button onPress={onRetry} accessibilityLabel={retryLabel}>
|
|
43
|
+
{retryLabel}
|
|
44
|
+
</Button>
|
|
53
45
|
</View>
|
|
54
46
|
);
|
|
55
47
|
|
|
@@ -1,12 +1,7 @@
|
|
|
1
1
|
import type React from 'react';
|
|
2
|
-
import {
|
|
3
|
-
|
|
4
|
-
|
|
5
|
-
TouchableOpacity,
|
|
6
|
-
ScrollView,
|
|
7
|
-
RefreshControl,
|
|
8
|
-
ActivityIndicator,
|
|
9
|
-
} from 'react-native';
|
|
2
|
+
import { View, ScrollView, RefreshControl, ActivityIndicator } from 'react-native';
|
|
3
|
+
import { Button } from '@oxy.so/bloom/button';
|
|
4
|
+
import { Text } from '@oxy.so/bloom/typography';
|
|
10
5
|
import Ionicons from '../../icons/Ionicons';
|
|
11
6
|
import type { FileMetadata } from '@oxy.so/core';
|
|
12
7
|
import { SettingsListGroup, SettingsListItem } from '@oxy.so/bloom/settings-list';
|
|
@@ -88,14 +83,7 @@ const FileListSection: React.FC<FileListSectionProps> = ({
|
|
|
88
83
|
<Text className="text-[16px] text-center leading-[24px] mb-space-32" style={{ color: colors.textSecondary }}>
|
|
89
84
|
{t('fileManagement.noResults.description', { query: searchQuery })}
|
|
90
85
|
</Text>
|
|
91
|
-
<
|
|
92
|
-
className="flex-row items-center px-space-24 py-space-12 rounded-[24px] gap-space-8"
|
|
93
|
-
style={{ backgroundColor: colors.primary }}
|
|
94
|
-
onPress={onClearSearch}
|
|
95
|
-
>
|
|
96
|
-
<Ionicons name="refresh" size={20} color="#FFFFFF" />
|
|
97
|
-
<Text className="text-white text-[16px] font-semibold">{t('fileManagement.clearSearch')}</Text>
|
|
98
|
-
</TouchableOpacity>
|
|
86
|
+
<Button onPress={onClearSearch}>{t('fileManagement.clearSearch')}</Button>
|
|
99
87
|
</View>
|
|
100
88
|
) : filteredFiles.length === 0 ? renderEmptyState() : (
|
|
101
89
|
<>
|
|
@@ -1,16 +1,6 @@
|
|
|
1
1
|
import React, { useCallback, useMemo, useRef, useState } from 'react';
|
|
2
|
-
import {
|
|
3
|
-
|
|
4
|
-
Text,
|
|
5
|
-
TouchableOpacity,
|
|
6
|
-
ActivityIndicator,
|
|
7
|
-
RefreshControl,
|
|
8
|
-
FlatList,
|
|
9
|
-
Platform,
|
|
10
|
-
Animated,
|
|
11
|
-
useWindowDimensions,
|
|
12
|
-
type LayoutChangeEvent,
|
|
13
|
-
} from 'react-native';
|
|
2
|
+
import { View, TouchableOpacity, ActivityIndicator, RefreshControl, FlatList, Platform, Animated, useWindowDimensions, type LayoutChangeEvent } from 'react-native';
|
|
3
|
+
import { Text } from '@oxy.so/bloom/typography';
|
|
14
4
|
import { Image as ExpoImage } from 'expo-image';
|
|
15
5
|
import Ionicons from '../../icons/Ionicons';
|
|
16
6
|
import MaterialCommunityIcons from '../../icons/MaterialCommunityIcons';
|
|
@@ -535,7 +525,6 @@ const PhotoPickerView: React.FC<PhotoPickerViewProps> = ({
|
|
|
535
525
|
iconColor="#FF6B6B"
|
|
536
526
|
titleColor="#FFFFFF"
|
|
537
527
|
descriptionColor="rgba(255,255,255,0.7)"
|
|
538
|
-
buttonColor={primaryColor}
|
|
539
528
|
/>
|
|
540
529
|
</View>
|
|
541
530
|
) : isEmpty && loading ? (
|
|
@@ -1,69 +1,30 @@
|
|
|
1
1
|
import type React from 'react';
|
|
2
|
-
import { View
|
|
3
|
-
import
|
|
2
|
+
import { View } from 'react-native';
|
|
3
|
+
import { Text } from '@oxy.so/bloom/typography';
|
|
4
|
+
import { Card } from '@oxy.so/bloom/card';
|
|
5
|
+
import { Loading } from '@oxy.so/bloom/loading';
|
|
6
|
+
import { Meter } from '@oxy.so/bloom/stat-bar';
|
|
4
7
|
|
|
5
8
|
export interface UploadBarProps {
|
|
6
|
-
/** Aggregate upload progress, or null when indeterminate. */
|
|
7
9
|
uploadProgress: { current: number; total: number } | null;
|
|
8
|
-
/** Bloom dark-mode flag (drives banner + track colors). */
|
|
9
|
-
isDark: boolean;
|
|
10
|
-
/** Theme colors used by the banner. */
|
|
11
|
-
colors: { primary: string; text: string; border: string };
|
|
12
10
|
t: (key: string, vars?: Record<string, string | number>) => string;
|
|
13
11
|
}
|
|
14
12
|
|
|
15
|
-
|
|
16
|
-
|
|
17
|
-
|
|
18
|
-
|
|
19
|
-
banner: Platform.select({
|
|
20
|
-
web: { boxShadow: '0px 2px 6px rgba(0, 0, 0, 0.1)' },
|
|
21
|
-
default: {
|
|
22
|
-
shadowColor: '#000',
|
|
23
|
-
shadowOpacity: 0.1,
|
|
24
|
-
shadowRadius: 6,
|
|
25
|
-
shadowOffset: { width: 0, height: 2 },
|
|
26
|
-
elevation: 2,
|
|
27
|
-
},
|
|
28
|
-
}) as ViewStyle,
|
|
29
|
-
});
|
|
30
|
-
|
|
31
|
-
/**
|
|
32
|
-
* The non-blocking "Uploading…" banner overlay shown at the bottom of the file
|
|
33
|
-
* manager while uploads are in flight. Purely presentational — the orchestrator
|
|
34
|
-
* gates rendering on `!selectMode && uploading`.
|
|
35
|
-
*/
|
|
36
|
-
const UploadBar: React.FC<UploadBarProps> = ({ uploadProgress, isDark, colors, t }) => (
|
|
37
|
-
<View
|
|
38
|
-
className="absolute top-[72px] left-0 right-0 items-center z-50"
|
|
39
|
-
style={{ pointerEvents: 'none' }}
|
|
40
|
-
>
|
|
41
|
-
<View
|
|
42
|
-
className="flex-row items-center px-3.5 py-2.5 rounded-[24px] gap-2.5 border min-w-[200px]"
|
|
43
|
-
style={[shadowStyle.banner, { backgroundColor: isDark ? '#222831EE' : '#FFFFFFEE', borderColor: colors.border }]}
|
|
44
|
-
>
|
|
45
|
-
<Ionicons name="cloud-upload" size={18} color={colors.primary} />
|
|
13
|
+
/** Upload state is app-owned; surface, spinner and determinate meter are Bloom. */
|
|
14
|
+
const UploadBar: React.FC<UploadBarProps> = ({ uploadProgress, t }) => (
|
|
15
|
+
<View pointerEvents="none" className="absolute top-[72px] left-0 right-0 items-center z-50">
|
|
16
|
+
<Card appearance="solid" elevation="s" radius="radius-max" className="flex-row items-center px-3.5 py-2.5 gap-2.5 min-w-[200px]">
|
|
46
17
|
<View className="flex-1 gap-1.5">
|
|
47
|
-
<Text
|
|
48
|
-
{t('fileManagement.uploading')}{uploadProgress ? ` ${uploadProgress.current}/${uploadProgress.total}` : '
|
|
18
|
+
<Text variant="caption-1-medium">
|
|
19
|
+
{t('fileManagement.uploading')}{uploadProgress ? ` ${uploadProgress.current}/${uploadProgress.total}` : '…'}
|
|
49
20
|
</Text>
|
|
50
|
-
{uploadProgress && uploadProgress.total > 0
|
|
51
|
-
<
|
|
52
|
-
|
|
53
|
-
|
|
54
|
-
>
|
|
55
|
-
<View
|
|
56
|
-
className="h-full rounded-[2px]"
|
|
57
|
-
style={{
|
|
58
|
-
width: `${(uploadProgress.current / uploadProgress.total) * 100}%`,
|
|
59
|
-
backgroundColor: colors.primary,
|
|
60
|
-
}}
|
|
61
|
-
/>
|
|
62
|
-
</View>
|
|
63
|
-
)}
|
|
21
|
+
{uploadProgress && uploadProgress.total > 0 ? (
|
|
22
|
+
<Meter value={uploadProgress.current} max={uploadProgress.total} height={3}
|
|
23
|
+
accessibilityLabel={t('fileManagement.uploading')} />
|
|
24
|
+
) : null}
|
|
64
25
|
</View>
|
|
65
|
-
<
|
|
66
|
-
</
|
|
26
|
+
<Loading size="small" />
|
|
27
|
+
</Card>
|
|
67
28
|
</View>
|
|
68
29
|
);
|
|
69
30
|
|
|
@@ -146,7 +146,7 @@ const TrustLeaderboardScreen: React.FC<BaseScreenProps> = ({ navigate }) => {
|
|
|
146
146
|
<Text className="text-text-secondary text-base text-center">
|
|
147
147
|
{error || t('trust.leaderboard.error') || 'Failed to load leaderboard'}
|
|
148
148
|
</Text>
|
|
149
|
-
<Button
|
|
149
|
+
<Button appearance="solid" tone="accent" onPress={loadLeaderboard}>
|
|
150
150
|
{t('common.retry') || 'Retry'}
|
|
151
151
|
</Button>
|
|
152
152
|
</View>
|
|
@@ -1,6 +1,7 @@
|
|
|
1
1
|
import type React from 'react';
|
|
2
2
|
import { useEffect, useMemo, useState } from 'react';
|
|
3
|
-
import { View
|
|
3
|
+
import { View } from 'react-native';
|
|
4
|
+
import { Text } from '@oxy.so/bloom/typography';
|
|
4
5
|
import { SettingsListGroup, SettingsListItem } from '@oxy.so/bloom/settings-list';
|
|
5
6
|
import { Chip } from '@oxy.so/bloom/chip';
|
|
6
7
|
import { useTheme } from '@oxy.so/bloom/theme';
|
|
@@ -1,61 +0,0 @@
|
|
|
1
|
-
"use strict";
|
|
2
|
-
|
|
3
|
-
Object.defineProperty(exports, "__esModule", {
|
|
4
|
-
value: true
|
|
5
|
-
});
|
|
6
|
-
exports.AnimatedButton = void 0;
|
|
7
|
-
var _react = require("react");
|
|
8
|
-
var _reactNative = require("react-native");
|
|
9
|
-
var _MaterialCommunityIcons = _interopRequireDefault(require("../../icons/MaterialCommunityIcons.js"));
|
|
10
|
-
var _jsxRuntime = require("react/jsx-runtime");
|
|
11
|
-
function _interopRequireDefault(e) { return e && e.__esModule ? e : { default: e }; }
|
|
12
|
-
/**
|
|
13
|
-
* Animated button component for smooth selection transitions
|
|
14
|
-
* Used in file management views for view mode toggles
|
|
15
|
-
*/
|
|
16
|
-
const AnimatedButton = ({
|
|
17
|
-
isSelected,
|
|
18
|
-
onPress,
|
|
19
|
-
icon,
|
|
20
|
-
primaryColor,
|
|
21
|
-
textColor,
|
|
22
|
-
style,
|
|
23
|
-
accessibilityLabel
|
|
24
|
-
}) => {
|
|
25
|
-
const animatedValue = (0, _react.useRef)(new _reactNative.Animated.Value(isSelected ? 1 : 0)).current;
|
|
26
|
-
(0, _react.useEffect)(() => {
|
|
27
|
-
_reactNative.Animated.timing(animatedValue, {
|
|
28
|
-
toValue: isSelected ? 1 : 0,
|
|
29
|
-
duration: 200,
|
|
30
|
-
easing: _reactNative.Easing.out(_reactNative.Easing.ease),
|
|
31
|
-
useNativeDriver: false
|
|
32
|
-
}).start();
|
|
33
|
-
}, [isSelected, animatedValue]);
|
|
34
|
-
const backgroundColor = animatedValue.interpolate({
|
|
35
|
-
inputRange: [0, 1],
|
|
36
|
-
outputRange: ['transparent', primaryColor]
|
|
37
|
-
});
|
|
38
|
-
return /*#__PURE__*/(0, _jsxRuntime.jsx)(_reactNative.TouchableOpacity, {
|
|
39
|
-
onPress: onPress,
|
|
40
|
-
activeOpacity: 0.7,
|
|
41
|
-
accessibilityRole: "button",
|
|
42
|
-
accessibilityLabel: accessibilityLabel,
|
|
43
|
-
accessibilityState: {
|
|
44
|
-
selected: isSelected
|
|
45
|
-
},
|
|
46
|
-
children: /*#__PURE__*/(0, _jsxRuntime.jsx)(_reactNative.Animated.View, {
|
|
47
|
-
style: [style, {
|
|
48
|
-
backgroundColor
|
|
49
|
-
}],
|
|
50
|
-
children: /*#__PURE__*/(0, _jsxRuntime.jsx)(_reactNative.Animated.View, {
|
|
51
|
-
children: /*#__PURE__*/(0, _jsxRuntime.jsx)(_MaterialCommunityIcons.default, {
|
|
52
|
-
name: icon,
|
|
53
|
-
size: 16,
|
|
54
|
-
color: isSelected ? '#FFFFFF' : textColor
|
|
55
|
-
})
|
|
56
|
-
})
|
|
57
|
-
})
|
|
58
|
-
});
|
|
59
|
-
};
|
|
60
|
-
exports.AnimatedButton = AnimatedButton;
|
|
61
|
-
//# sourceMappingURL=AnimatedButton.js.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"names":["_react","require","_reactNative","_MaterialCommunityIcons","_interopRequireDefault","_jsxRuntime","e","__esModule","default","AnimatedButton","isSelected","onPress","icon","primaryColor","textColor","style","accessibilityLabel","animatedValue","useRef","Animated","Value","current","useEffect","timing","toValue","duration","easing","Easing","out","ease","useNativeDriver","start","backgroundColor","interpolate","inputRange","outputRange","jsx","TouchableOpacity","activeOpacity","accessibilityRole","accessibilityState","selected","children","View","name","size","color","exports"],"sourceRoot":"../../../../../src","sources":["ui/components/fileManagement/AnimatedButton.tsx"],"mappings":";;;;;;AACA,IAAAA,MAAA,GAAAC,OAAA;AACA,IAAAC,YAAA,GAAAD,OAAA;AACA,IAAAE,uBAAA,GAAAC,sBAAA,CAAAH,OAAA;AAAwE,IAAAI,WAAA,GAAAJ,OAAA;AAAA,SAAAG,uBAAAE,CAAA,WAAAA,CAAA,IAAAA,CAAA,CAAAC,UAAA,GAAAD,CAAA,KAAAE,OAAA,EAAAF,CAAA;AAYxE;AACA;AACA;AACA;AACO,MAAMG,cAA6C,GAAGA,CAAC;EAC5DC,UAAU;EACVC,OAAO;EACPC,IAAI;EACJC,YAAY;EACZC,SAAS;EACTC,KAAK;EACLC;AACF,CAAC,KAAK;EACJ,MAAMC,aAAa,GAAG,IAAAC,aAAM,EAAC,IAAIC,qBAAQ,CAACC,KAAK,CAACV,UAAU,GAAG,CAAC,GAAG,CAAC,CAAC,CAAC,CAACW,OAAO;EAE5E,IAAAC,gBAAS,EAAC,MAAM;IACdH,qBAAQ,CAACI,MAAM,CAACN,aAAa,EAAE;MAC7BO,OAAO,EAAEd,UAAU,GAAG,CAAC,GAAG,CAAC;MAC3Be,QAAQ,EAAE,GAAG;MACbC,MAAM,EAAEC,mBAAM,CAACC,GAAG,CAACD,mBAAM,CAACE,IAAI,CAAC;MAC/BC,eAAe,EAAE;IACnB,CAAC,CAAC,CAACC,KAAK,CAAC,CAAC;EACZ,CAAC,EAAE,CAACrB,UAAU,EAAEO,aAAa,CAAC,CAAC;EAE/B,MAAMe,eAAe,GAAGf,aAAa,CAACgB,WAAW,CAAC;IAChDC,UAAU,EAAE,CAAC,CAAC,EAAE,CAAC,CAAC;IAClBC,WAAW,EAAE,CAAC,aAAa,EAAEtB,YAAY;EAC3C,CAAC,CAAC;EAEF,oBACE,IAAAR,WAAA,CAAA+B,GAAA,EAAClC,YAAA,CAAAmC,gBAAgB;IACf1B,OAAO,EAAEA,OAAQ;IACjB2B,aAAa,EAAE,GAAI;IACnBC,iBAAiB,EAAC,QAAQ;IAC1BvB,kBAAkB,EAAEA,kBAAmB;IACvCwB,kBAAkB,EAAE;MAAEC,QAAQ,EAAE/B;IAAW,CAAE;IAAAgC,QAAA,eAE7C,IAAArC,WAAA,CAAA+B,GAAA,EAAClC,YAAA,CAAAiB,QAAQ,CAACwB,IAAI;MAAC5B,KAAK,EAAE,CAACA,KAAK,EAAE;QAAEiB;MAAgB,CAAC,CAAE;MAAAU,QAAA,eACjD,IAAArC,WAAA,CAAA+B,GAAA,EAAClC,YAAA,CAAAiB,QAAQ,CAACwB,IAAI;QAAAD,QAAA,eACZ,IAAArC,WAAA,CAAA+B,GAAA,EAACjC,uBAAA,CAAAK,OAAsB;UACrBoC,IAAI,EAAEhC,IAAoE;UAC1EiC,IAAI,EAAE,EAAG;UACTC,KAAK,EAAEpC,UAAU,GAAG,SAAS,GAAGI;QAAU,CAC3C;MAAC,CACW;IAAC,CACH;EAAC,CACA,CAAC;AAEvB,CAAC;AAACiC,OAAA,CAAAtC,cAAA,GAAAA,cAAA","ignoreList":[]}
|
|
@@ -1,118 +0,0 @@
|
|
|
1
|
-
"use strict";
|
|
2
|
-
|
|
3
|
-
Object.defineProperty(exports, "__esModule", {
|
|
4
|
-
value: true
|
|
5
|
-
});
|
|
6
|
-
exports.default = void 0;
|
|
7
|
-
var _react = _interopRequireWildcard(require("react"));
|
|
8
|
-
var _reactNative = require("react-native");
|
|
9
|
-
var _theme = require("@oxy.so/bloom/theme");
|
|
10
|
-
var _jsxRuntime = require("react/jsx-runtime");
|
|
11
|
-
function _interopRequireWildcard(e, t) { if ("function" == typeof WeakMap) var r = new WeakMap(), n = new WeakMap(); return (_interopRequireWildcard = function (e, t) { if (!t && e && e.__esModule) return e; var o, i, f = { __proto__: null, default: e }; if (null === e || "object" != typeof e && "function" != typeof e) return f; if (o = t ? n : r) { if (o.has(e)) return o.get(e); o.set(e, f); } for (const t in e) "default" !== t && {}.hasOwnProperty.call(e, t) && ((i = (o = Object.defineProperty) && Object.getOwnPropertyDescriptor(e, t)) && (i.get || i.set) ? o(f, t, i) : f[t] = e[t]); return f; })(e, t); }
|
|
12
|
-
const PinInput = /*#__PURE__*/(0, _react.forwardRef)(({
|
|
13
|
-
value,
|
|
14
|
-
onChange,
|
|
15
|
-
length = 6,
|
|
16
|
-
disabled,
|
|
17
|
-
autoFocus,
|
|
18
|
-
colors
|
|
19
|
-
}, ref) => {
|
|
20
|
-
const theme = (0, _theme.useTheme)();
|
|
21
|
-
const inputs = (0, _react.useRef)([]);
|
|
22
|
-
(0, _react.useImperativeHandle)(ref, () => ({
|
|
23
|
-
focus: () => {
|
|
24
|
-
inputs.current[0]?.focus();
|
|
25
|
-
}
|
|
26
|
-
}), []);
|
|
27
|
-
const handleChange = (text, idx) => {
|
|
28
|
-
if (!/^[0-9]*$/.test(text)) return;
|
|
29
|
-
let newValue = value.split('');
|
|
30
|
-
if (text.length > 1) {
|
|
31
|
-
// Paste or autofill
|
|
32
|
-
newValue = text.split('').slice(0, length);
|
|
33
|
-
onChange(newValue.join(''));
|
|
34
|
-
if (newValue.length < length) {
|
|
35
|
-
inputs.current[newValue.length]?.focus();
|
|
36
|
-
}
|
|
37
|
-
return;
|
|
38
|
-
}
|
|
39
|
-
newValue[idx] = text;
|
|
40
|
-
const joined = newValue.join('').slice(0, length);
|
|
41
|
-
onChange(joined);
|
|
42
|
-
if (text && idx < length - 1) {
|
|
43
|
-
inputs.current[idx + 1]?.focus();
|
|
44
|
-
}
|
|
45
|
-
};
|
|
46
|
-
const handleKeyPress = (e, idx) => {
|
|
47
|
-
if (e.nativeEvent.key === 'Backspace' && !value[idx] && idx > 0) {
|
|
48
|
-
inputs.current[idx - 1]?.focus();
|
|
49
|
-
}
|
|
50
|
-
};
|
|
51
|
-
return /*#__PURE__*/(0, _jsxRuntime.jsx)(_reactNative.View, {
|
|
52
|
-
style: styles.pinContainer,
|
|
53
|
-
children: Array.from({
|
|
54
|
-
length
|
|
55
|
-
}).map((_, idx) => /*#__PURE__*/(0, _jsxRuntime.jsx)(_reactNative.TextInput
|
|
56
|
-
// biome-ignore lint/suspicious/noArrayIndexKey: fixed-position PIN cells, order never changes
|
|
57
|
-
, {
|
|
58
|
-
ref: ref => {
|
|
59
|
-
inputs.current[idx] = ref;
|
|
60
|
-
},
|
|
61
|
-
style: [styles.pinInput, {
|
|
62
|
-
borderColor: colors.primary,
|
|
63
|
-
color: colors.text,
|
|
64
|
-
backgroundColor: colors.inputBackground || theme.colors.backgroundSecondary
|
|
65
|
-
}, value[idx] ? {
|
|
66
|
-
borderWidth: 2
|
|
67
|
-
} : {
|
|
68
|
-
borderWidth: 1
|
|
69
|
-
}],
|
|
70
|
-
value: value[idx] || '',
|
|
71
|
-
onChangeText: text => handleChange(text, idx),
|
|
72
|
-
onKeyPress: e => handleKeyPress(e, idx),
|
|
73
|
-
keyboardType: _reactNative.Platform.OS === 'ios' ? 'number-pad' : 'numeric',
|
|
74
|
-
maxLength: 1,
|
|
75
|
-
editable: !disabled,
|
|
76
|
-
autoFocus: autoFocus && idx === 0,
|
|
77
|
-
textAlign: "center",
|
|
78
|
-
selectionColor: colors.primary,
|
|
79
|
-
returnKeyType: "done"
|
|
80
|
-
}, `pin-input-${idx}`))
|
|
81
|
-
});
|
|
82
|
-
});
|
|
83
|
-
const styles = _reactNative.StyleSheet.create({
|
|
84
|
-
pinContainer: {
|
|
85
|
-
flexDirection: 'row',
|
|
86
|
-
justifyContent: 'center',
|
|
87
|
-
gap: 12,
|
|
88
|
-
marginBottom: 0,
|
|
89
|
-
marginTop: 0
|
|
90
|
-
},
|
|
91
|
-
pinInput: {
|
|
92
|
-
width: 44,
|
|
93
|
-
height: 54,
|
|
94
|
-
borderRadius: 12,
|
|
95
|
-
borderWidth: 1,
|
|
96
|
-
fontSize: 28,
|
|
97
|
-
fontWeight: '600',
|
|
98
|
-
textAlign: 'center',
|
|
99
|
-
marginHorizontal: 2,
|
|
100
|
-
..._reactNative.Platform.select({
|
|
101
|
-
web: {
|
|
102
|
-
boxShadow: '0 1px 4px rgba(0,0,0,0.04)'
|
|
103
|
-
},
|
|
104
|
-
default: {
|
|
105
|
-
shadowColor: '#000',
|
|
106
|
-
shadowOpacity: 0.04,
|
|
107
|
-
shadowOffset: {
|
|
108
|
-
width: 0,
|
|
109
|
-
height: 1
|
|
110
|
-
},
|
|
111
|
-
shadowRadius: 4,
|
|
112
|
-
elevation: 1
|
|
113
|
-
}
|
|
114
|
-
})
|
|
115
|
-
}
|
|
116
|
-
});
|
|
117
|
-
var _default = exports.default = PinInput;
|
|
118
|
-
//# sourceMappingURL=PinInput.js.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"names":["_react","_interopRequireWildcard","require","_reactNative","_theme","_jsxRuntime","e","t","WeakMap","r","n","__esModule","o","i","f","__proto__","default","has","get","set","hasOwnProperty","call","Object","defineProperty","getOwnPropertyDescriptor","PinInput","forwardRef","value","onChange","length","disabled","autoFocus","colors","ref","theme","useTheme","inputs","useRef","useImperativeHandle","focus","current","handleChange","text","idx","test","newValue","split","slice","join","joined","handleKeyPress","nativeEvent","key","jsx","View","style","styles","pinContainer","children","Array","from","map","_","TextInput","pinInput","borderColor","primary","color","backgroundColor","inputBackground","backgroundSecondary","borderWidth","onChangeText","onKeyPress","keyboardType","Platform","OS","maxLength","editable","textAlign","selectionColor","returnKeyType","StyleSheet","create","flexDirection","justifyContent","gap","marginBottom","marginTop","width","height","borderRadius","fontSize","fontWeight","marginHorizontal","select","web","boxShadow","shadowColor","shadowOpacity","shadowOffset","shadowRadius","elevation","_default","exports"],"sourceRoot":"../../../../../src","sources":["ui/components/internal/PinInput.tsx"],"mappings":"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","ignoreList":[]}
|