@oxyhq/services 6.9.0 → 6.9.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/ui/components/ActivityIndicator.js +4 -4
- package/lib/commonjs/ui/components/ActivityIndicator.js.map +1 -1
- package/lib/commonjs/ui/components/BottomSheet.js +6 -6
- package/lib/commonjs/ui/components/BottomSheet.js.map +1 -1
- package/lib/commonjs/ui/components/BottomSheetRouter.js +70 -3
- package/lib/commonjs/ui/components/BottomSheetRouter.js.map +1 -1
- package/lib/commonjs/ui/components/CrossFadeIcon.js +1 -1
- package/lib/commonjs/ui/components/CrossFadeIcon.js.map +1 -1
- package/lib/commonjs/ui/components/FollowButton.js +3 -5
- package/lib/commonjs/ui/components/FollowButton.js.map +1 -1
- package/lib/commonjs/ui/components/FontLoader.js +1 -1
- package/lib/commonjs/ui/components/FontLoader.js.map +1 -1
- package/lib/commonjs/ui/components/GroupedItem.js +1 -4
- package/lib/commonjs/ui/components/GroupedItem.js.map +1 -1
- package/lib/commonjs/ui/components/GroupedSection.js +1 -2
- package/lib/commonjs/ui/components/GroupedSection.js.map +1 -1
- package/lib/commonjs/ui/components/Header.js.map +1 -1
- package/lib/commonjs/ui/components/HelperText.js +2 -2
- package/lib/commonjs/ui/components/HelperText.js.map +1 -1
- package/lib/commonjs/ui/components/Icon.js +5 -5
- package/lib/commonjs/ui/components/Icon.js.map +1 -1
- package/lib/commonjs/ui/components/IconButton/IconButton.js +0 -2
- package/lib/commonjs/ui/components/IconButton/IconButton.js.map +1 -1
- package/lib/commonjs/ui/components/OxyProvider.js +17 -11
- package/lib/commonjs/ui/components/OxyProvider.js.map +1 -1
- package/lib/commonjs/ui/components/SignInModal.js +1 -1
- package/lib/commonjs/ui/components/SignInModal.js.map +1 -1
- package/lib/commonjs/ui/components/TextField/Adornment/TextFieldAdornment.js +6 -8
- package/lib/commonjs/ui/components/TextField/Adornment/TextFieldAdornment.js.map +1 -1
- package/lib/commonjs/ui/components/TextField/Adornment/utils.js +3 -3
- package/lib/commonjs/ui/components/TextField/Adornment/utils.js.map +1 -1
- package/lib/commonjs/ui/components/TextField/helpers.js +2 -3
- package/lib/commonjs/ui/components/TextField/helpers.js.map +1 -1
- package/lib/commonjs/ui/components/TextField.js +6 -9
- package/lib/commonjs/ui/components/TextField.js.map +1 -1
- package/lib/commonjs/ui/components/TouchableRipple/TouchableRipple.js +3 -3
- package/lib/commonjs/ui/components/TouchableRipple/TouchableRipple.js.map +1 -1
- package/lib/commonjs/ui/components/Typography/AnimatedText.js +12 -15
- package/lib/commonjs/ui/components/Typography/AnimatedText.js.map +1 -1
- package/lib/commonjs/ui/components/feedback/FormInput.js +1 -1
- package/lib/commonjs/ui/components/feedback/FormInput.js.map +1 -1
- package/lib/commonjs/ui/components/fileManagement/AnimatedButton.js +1 -2
- package/lib/commonjs/ui/components/fileManagement/AnimatedButton.js.map +1 -1
- package/lib/commonjs/ui/components/fileManagement/FileDetailsModal.js +0 -2
- package/lib/commonjs/ui/components/fileManagement/FileDetailsModal.js.map +1 -1
- package/lib/commonjs/ui/components/fileManagement/FileViewer.js +1 -2
- package/lib/commonjs/ui/components/fileManagement/FileViewer.js.map +1 -1
- package/lib/commonjs/ui/components/fileManagement/UploadPreview.js +0 -2
- package/lib/commonjs/ui/components/fileManagement/UploadPreview.js.map +1 -1
- package/lib/commonjs/ui/components/internal/GroupedPillButtons.js +15 -18
- package/lib/commonjs/ui/components/internal/GroupedPillButtons.js.map +1 -1
- package/lib/commonjs/ui/components/modals/DeleteAccountModal.js +3 -4
- package/lib/commonjs/ui/components/modals/DeleteAccountModal.js.map +1 -1
- package/lib/commonjs/ui/components/payment/PaymentDetailsStep.js +1 -2
- package/lib/commonjs/ui/components/payment/PaymentDetailsStep.js.map +1 -1
- package/lib/commonjs/ui/components/payment/PaymentMethodStep.js +1 -2
- package/lib/commonjs/ui/components/payment/PaymentMethodStep.js.map +1 -1
- package/lib/commonjs/ui/components/payment/PaymentReviewStep.js +1 -2
- package/lib/commonjs/ui/components/payment/PaymentReviewStep.js.map +1 -1
- package/lib/commonjs/ui/components/payment/PaymentSuccessStep.js +1 -2
- package/lib/commonjs/ui/components/payment/PaymentSuccessStep.js.map +1 -1
- package/lib/commonjs/ui/components/payment/PaymentSummaryStep.js +1 -2
- package/lib/commonjs/ui/components/payment/PaymentSummaryStep.js.map +1 -1
- package/lib/commonjs/ui/components/payment/paymentStyles.js +2 -2
- package/lib/commonjs/ui/components/payment/paymentStyles.js.map +1 -1
- package/lib/commonjs/ui/components/styles/overlay.js +4 -4
- package/lib/commonjs/ui/components/styles/overlay.js.map +1 -1
- package/lib/commonjs/ui/components/styles/shadow.js +58 -63
- package/lib/commonjs/ui/components/styles/shadow.js.map +1 -1
- package/lib/commonjs/ui/components/theming.js +7 -7
- package/lib/commonjs/ui/components/theming.js.map +1 -1
- package/lib/commonjs/ui/context/OxyContext.js +1 -2
- package/lib/commonjs/ui/context/OxyContext.js.map +1 -1
- package/lib/commonjs/ui/context/ThemeContext.js.map +1 -1
- package/lib/commonjs/ui/hooks/queries/useSecurityQueries.js.map +1 -1
- package/lib/commonjs/ui/hooks/useAssets.js +11 -27
- package/lib/commonjs/ui/hooks/useAssets.js.map +1 -1
- package/lib/commonjs/ui/hooks/useFileFiltering.js +1 -1
- package/lib/commonjs/ui/hooks/useFileFiltering.js.map +1 -1
- package/lib/commonjs/ui/index.js +19 -19
- package/lib/commonjs/ui/index.js.map +1 -1
- package/lib/commonjs/ui/screens/AccountSwitcherScreen.js +1 -1
- package/lib/commonjs/ui/screens/AccountSwitcherScreen.js.map +1 -1
- package/lib/commonjs/ui/screens/FAQScreen.js +1 -2
- package/lib/commonjs/ui/screens/FAQScreen.js.map +1 -1
- package/lib/commonjs/ui/screens/FeedbackScreen.js +2 -3
- package/lib/commonjs/ui/screens/FeedbackScreen.js.map +1 -1
- package/lib/commonjs/ui/screens/FileManagementScreen.js +9 -9
- package/lib/commonjs/ui/screens/FileManagementScreen.js.map +1 -1
- package/lib/commonjs/ui/screens/FollowersListScreen.js +0 -1
- package/lib/commonjs/ui/screens/FollowersListScreen.js.map +1 -1
- package/lib/commonjs/ui/screens/FollowingListScreen.js +0 -1
- package/lib/commonjs/ui/screens/FollowingListScreen.js.map +1 -1
- package/lib/commonjs/ui/screens/LearnMoreUsernamesScreen.js +3 -4
- package/lib/commonjs/ui/screens/LearnMoreUsernamesScreen.js.map +1 -1
- package/lib/commonjs/ui/screens/PaymentGatewayScreen.js +2 -3
- package/lib/commonjs/ui/screens/PaymentGatewayScreen.js.map +1 -1
- package/lib/commonjs/ui/screens/PremiumSubscriptionScreen.js +10 -11
- package/lib/commonjs/ui/screens/PremiumSubscriptionScreen.js.map +1 -1
- package/lib/commonjs/ui/screens/ProfileScreen.js +1 -1
- package/lib/commonjs/ui/screens/ProfileScreen.js.map +1 -1
- package/lib/commonjs/ui/screens/UserListScreen.js +1 -2
- package/lib/commonjs/ui/screens/UserListScreen.js.map +1 -1
- package/lib/commonjs/ui/screens/WelcomeNewUserScreen.js +2 -2
- package/lib/commonjs/ui/screens/WelcomeNewUserScreen.js.map +1 -1
- package/lib/commonjs/ui/screens/karma/KarmaCenterScreen.js +5 -5
- package/lib/commonjs/ui/screens/karma/KarmaCenterScreen.js.map +1 -1
- package/lib/commonjs/ui/screens/karma/KarmaLeaderboardScreen.js +1 -1
- package/lib/commonjs/ui/screens/karma/KarmaLeaderboardScreen.js.map +1 -1
- package/lib/commonjs/ui/stores/followStore.js +2 -2
- package/lib/commonjs/ui/stores/followStore.js.map +1 -1
- package/lib/commonjs/ui/utils/avatarUtils.js +1 -1
- package/lib/commonjs/ui/utils/avatarUtils.js.map +1 -1
- package/lib/commonjs/ui/utils/fileManagement.js +2 -2
- package/lib/commonjs/ui/utils/fileManagement.js.map +1 -1
- package/lib/commonjs/ui/utils/userUtils.js +1 -1
- package/lib/commonjs/ui/utils/userUtils.js.map +1 -1
- package/lib/module/ui/components/ActivityIndicator.js +4 -4
- package/lib/module/ui/components/ActivityIndicator.js.map +1 -1
- package/lib/module/ui/components/BottomSheet.js +7 -7
- package/lib/module/ui/components/BottomSheet.js.map +1 -1
- package/lib/module/ui/components/BottomSheetRouter.js +72 -5
- package/lib/module/ui/components/BottomSheetRouter.js.map +1 -1
- package/lib/module/ui/components/CrossFadeIcon.js +1 -1
- package/lib/module/ui/components/CrossFadeIcon.js.map +1 -1
- package/lib/module/ui/components/ErrorBoundary.js.map +1 -1
- package/lib/module/ui/components/FollowButton.js +3 -5
- package/lib/module/ui/components/FollowButton.js.map +1 -1
- package/lib/module/ui/components/FontLoader.js +1 -1
- package/lib/module/ui/components/FontLoader.js.map +1 -1
- package/lib/module/ui/components/GroupedItem.js +1 -2
- package/lib/module/ui/components/GroupedItem.js.map +1 -1
- package/lib/module/ui/components/GroupedSection.js +1 -1
- package/lib/module/ui/components/GroupedSection.js.map +1 -1
- package/lib/module/ui/components/Header.js.map +1 -1
- package/lib/module/ui/components/HelperText.js +2 -2
- package/lib/module/ui/components/HelperText.js.map +1 -1
- package/lib/module/ui/components/Icon.js +5 -4
- package/lib/module/ui/components/Icon.js.map +1 -1
- package/lib/module/ui/components/IconButton/IconButton.js +0 -1
- package/lib/module/ui/components/IconButton/IconButton.js.map +1 -1
- package/lib/module/ui/components/OxyProvider.js +18 -12
- package/lib/module/ui/components/OxyProvider.js.map +1 -1
- package/lib/module/ui/components/SignInModal.js +1 -1
- package/lib/module/ui/components/SignInModal.js.map +1 -1
- package/lib/module/ui/components/TextField/Addons/Underline.js.map +1 -1
- package/lib/module/ui/components/TextField/Adornment/TextFieldAdornment.js +6 -8
- package/lib/module/ui/components/TextField/Adornment/TextFieldAdornment.js.map +1 -1
- package/lib/module/ui/components/TextField/Adornment/utils.js +3 -3
- package/lib/module/ui/components/TextField/Adornment/utils.js.map +1 -1
- package/lib/module/ui/components/TextField/helpers.js +2 -3
- package/lib/module/ui/components/TextField/helpers.js.map +1 -1
- package/lib/module/ui/components/TextField.js +6 -9
- package/lib/module/ui/components/TextField.js.map +1 -1
- package/lib/module/ui/components/TouchableRipple/TouchableRipple.js +3 -3
- package/lib/module/ui/components/TouchableRipple/TouchableRipple.js.map +1 -1
- package/lib/module/ui/components/Typography/AnimatedText.js +12 -14
- package/lib/module/ui/components/Typography/AnimatedText.js.map +1 -1
- package/lib/module/ui/components/feedback/FormInput.js +1 -1
- package/lib/module/ui/components/feedback/FormInput.js.map +1 -1
- package/lib/module/ui/components/fileManagement/AnimatedButton.js +1 -1
- package/lib/module/ui/components/fileManagement/AnimatedButton.js.map +1 -1
- package/lib/module/ui/components/fileManagement/FileDetailsModal.js +0 -1
- package/lib/module/ui/components/fileManagement/FileDetailsModal.js.map +1 -1
- package/lib/module/ui/components/fileManagement/FileViewer.js +1 -1
- package/lib/module/ui/components/fileManagement/FileViewer.js.map +1 -1
- package/lib/module/ui/components/fileManagement/UploadPreview.js +0 -1
- package/lib/module/ui/components/fileManagement/UploadPreview.js.map +1 -1
- package/lib/module/ui/components/internal/GroupedPillButtons.js +15 -18
- package/lib/module/ui/components/internal/GroupedPillButtons.js.map +1 -1
- package/lib/module/ui/components/modals/DeleteAccountModal.js +3 -3
- package/lib/module/ui/components/modals/DeleteAccountModal.js.map +1 -1
- package/lib/module/ui/components/payment/PaymentDetailsStep.js +1 -1
- package/lib/module/ui/components/payment/PaymentDetailsStep.js.map +1 -1
- package/lib/module/ui/components/payment/PaymentMethodStep.js +1 -1
- package/lib/module/ui/components/payment/PaymentMethodStep.js.map +1 -1
- package/lib/module/ui/components/payment/PaymentReviewStep.js +1 -1
- package/lib/module/ui/components/payment/PaymentReviewStep.js.map +1 -1
- package/lib/module/ui/components/payment/PaymentSuccessStep.js +1 -1
- package/lib/module/ui/components/payment/PaymentSuccessStep.js.map +1 -1
- package/lib/module/ui/components/payment/PaymentSummaryStep.js +1 -1
- package/lib/module/ui/components/payment/PaymentSummaryStep.js.map +1 -1
- package/lib/module/ui/components/payment/paymentStyles.js +2 -2
- package/lib/module/ui/components/payment/paymentStyles.js.map +1 -1
- package/lib/module/ui/components/styles/overlay.js +4 -4
- package/lib/module/ui/components/styles/overlay.js.map +1 -1
- package/lib/module/ui/components/styles/shadow.js +58 -63
- package/lib/module/ui/components/styles/shadow.js.map +1 -1
- package/lib/module/ui/components/theming.js +7 -7
- package/lib/module/ui/components/theming.js.map +1 -1
- package/lib/module/ui/context/OxyContext.js +1 -1
- package/lib/module/ui/context/OxyContext.js.map +1 -1
- package/lib/module/ui/context/ThemeContext.js.map +1 -1
- package/lib/module/ui/hooks/queries/useSecurityQueries.js.map +1 -1
- package/lib/module/ui/hooks/useAssets.js +11 -27
- package/lib/module/ui/hooks/useAssets.js.map +1 -1
- package/lib/module/ui/hooks/useFileFiltering.js +1 -1
- package/lib/module/ui/hooks/useFileFiltering.js.map +1 -1
- package/lib/module/ui/index.js +19 -1
- package/lib/module/ui/index.js.map +1 -1
- package/lib/module/ui/screens/AccountSwitcherScreen.js +1 -1
- package/lib/module/ui/screens/AccountSwitcherScreen.js.map +1 -1
- package/lib/module/ui/screens/FAQScreen.js +1 -1
- package/lib/module/ui/screens/FAQScreen.js.map +1 -1
- package/lib/module/ui/screens/FeedbackScreen.js +2 -2
- package/lib/module/ui/screens/FeedbackScreen.js.map +1 -1
- package/lib/module/ui/screens/FileManagementScreen.js +9 -9
- package/lib/module/ui/screens/FileManagementScreen.js.map +1 -1
- package/lib/module/ui/screens/FollowersListScreen.js +0 -1
- package/lib/module/ui/screens/FollowersListScreen.js.map +1 -1
- package/lib/module/ui/screens/FollowingListScreen.js +0 -1
- package/lib/module/ui/screens/FollowingListScreen.js.map +1 -1
- package/lib/module/ui/screens/LearnMoreUsernamesScreen.js +3 -3
- package/lib/module/ui/screens/LearnMoreUsernamesScreen.js.map +1 -1
- package/lib/module/ui/screens/PaymentGatewayScreen.js +2 -2
- package/lib/module/ui/screens/PaymentGatewayScreen.js.map +1 -1
- package/lib/module/ui/screens/PremiumSubscriptionScreen.js +10 -11
- package/lib/module/ui/screens/PremiumSubscriptionScreen.js.map +1 -1
- package/lib/module/ui/screens/ProfileScreen.js +1 -1
- package/lib/module/ui/screens/ProfileScreen.js.map +1 -1
- package/lib/module/ui/screens/UserListScreen.js +1 -1
- package/lib/module/ui/screens/UserListScreen.js.map +1 -1
- package/lib/module/ui/screens/WelcomeNewUserScreen.js +2 -2
- package/lib/module/ui/screens/WelcomeNewUserScreen.js.map +1 -1
- package/lib/module/ui/screens/karma/KarmaCenterScreen.js +5 -5
- package/lib/module/ui/screens/karma/KarmaCenterScreen.js.map +1 -1
- package/lib/module/ui/screens/karma/KarmaLeaderboardScreen.js +1 -1
- package/lib/module/ui/screens/karma/KarmaLeaderboardScreen.js.map +1 -1
- package/lib/module/ui/stores/followStore.js +2 -2
- package/lib/module/ui/stores/followStore.js.map +1 -1
- package/lib/module/ui/utils/avatarUtils.js +1 -1
- package/lib/module/ui/utils/avatarUtils.js.map +1 -1
- package/lib/module/ui/utils/fileManagement.js +2 -2
- package/lib/module/ui/utils/fileManagement.js.map +1 -1
- package/lib/module/ui/utils/userUtils.js +1 -1
- package/lib/module/ui/utils/userUtils.js.map +1 -1
- package/lib/typescript/commonjs/ui/components/ActivityIndicator.d.ts +1 -1
- package/lib/typescript/commonjs/ui/components/ActivityIndicator.d.ts.map +1 -1
- package/lib/typescript/commonjs/ui/components/BottomSheet.d.ts +1 -1
- package/lib/typescript/commonjs/ui/components/BottomSheet.d.ts.map +1 -1
- package/lib/typescript/commonjs/ui/components/BottomSheetRouter.d.ts.map +1 -1
- package/lib/typescript/commonjs/ui/components/CrossFadeIcon.d.ts +1 -1
- package/lib/typescript/commonjs/ui/components/CrossFadeIcon.d.ts.map +1 -1
- package/lib/typescript/commonjs/ui/components/ErrorBoundary.d.ts +1 -1
- package/lib/typescript/commonjs/ui/components/ErrorBoundary.d.ts.map +1 -1
- package/lib/typescript/commonjs/ui/components/FollowButton.d.ts.map +1 -1
- package/lib/typescript/commonjs/ui/components/FontLoader.d.ts +1 -1
- package/lib/typescript/commonjs/ui/components/FontLoader.d.ts.map +1 -1
- package/lib/typescript/commonjs/ui/components/GroupedItem.d.ts +1 -1
- package/lib/typescript/commonjs/ui/components/GroupedItem.d.ts.map +1 -1
- package/lib/typescript/commonjs/ui/components/GroupedSection.d.ts +1 -1
- package/lib/typescript/commonjs/ui/components/GroupedSection.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 +1 -1
- package/lib/typescript/commonjs/ui/components/HelperText.d.ts.map +1 -1
- package/lib/typescript/commonjs/ui/components/Icon.d.ts +2 -2
- package/lib/typescript/commonjs/ui/components/Icon.d.ts.map +1 -1
- package/lib/typescript/commonjs/ui/components/IconButton/IconButton.d.ts +3 -3
- package/lib/typescript/commonjs/ui/components/IconButton/IconButton.d.ts.map +1 -1
- package/lib/typescript/commonjs/ui/components/OxyProvider.d.ts.map +1 -1
- package/lib/typescript/commonjs/ui/components/SignInModal.d.ts +1 -1
- package/lib/typescript/commonjs/ui/components/SignInModal.d.ts.map +1 -1
- package/lib/typescript/commonjs/ui/components/Surface.d.ts +1 -1
- package/lib/typescript/commonjs/ui/components/Surface.d.ts.map +1 -1
- package/lib/typescript/commonjs/ui/components/TextField/Addons/Outline.d.ts +2 -2
- package/lib/typescript/commonjs/ui/components/TextField/Addons/Outline.d.ts.map +1 -1
- package/lib/typescript/commonjs/ui/components/TextField/Addons/Underline.d.ts +1 -1
- package/lib/typescript/commonjs/ui/components/TextField/Addons/Underline.d.ts.map +1 -1
- package/lib/typescript/commonjs/ui/components/TextField/Adornment/TextFieldAdornment.d.ts.map +1 -1
- package/lib/typescript/commonjs/ui/components/TextField/Adornment/TextFieldAffix.d.ts +1 -1
- package/lib/typescript/commonjs/ui/components/TextField/Adornment/TextFieldAffix.d.ts.map +1 -1
- package/lib/typescript/commonjs/ui/components/TextField/Adornment/TextFieldIcon.d.ts +1 -1
- package/lib/typescript/commonjs/ui/components/TextField/Adornment/TextFieldIcon.d.ts.map +1 -1
- package/lib/typescript/commonjs/ui/components/TextField/helpers.d.ts +1 -1
- package/lib/typescript/commonjs/ui/components/TextField/helpers.d.ts.map +1 -1
- package/lib/typescript/commonjs/ui/components/TextField/types.d.ts +1 -1
- package/lib/typescript/commonjs/ui/components/TextField/types.d.ts.map +1 -1
- package/lib/typescript/commonjs/ui/components/TextField.d.ts +3 -3
- package/lib/typescript/commonjs/ui/components/TextField.d.ts.map +1 -1
- package/lib/typescript/commonjs/ui/components/TouchableRipple/TouchableRipple.d.ts +1 -1
- package/lib/typescript/commonjs/ui/components/TouchableRipple/TouchableRipple.d.ts.map +1 -1
- package/lib/typescript/commonjs/ui/components/TouchableRipple/TouchableRipple.native.d.ts +2 -2
- package/lib/typescript/commonjs/ui/components/TouchableRipple/TouchableRipple.native.d.ts.map +1 -1
- package/lib/typescript/commonjs/ui/components/Typography/AnimatedText.d.ts +2 -2
- package/lib/typescript/commonjs/ui/components/Typography/AnimatedText.d.ts.map +1 -1
- package/lib/typescript/commonjs/ui/components/fileManagement/AnimatedButton.d.ts +1 -1
- package/lib/typescript/commonjs/ui/components/fileManagement/AnimatedButton.d.ts.map +1 -1
- package/lib/typescript/commonjs/ui/components/fileManagement/FileDetailsModal.d.ts +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 +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 +1 -1
- package/lib/typescript/commonjs/ui/components/fileManagement/UploadPreview.d.ts.map +1 -1
- package/lib/typescript/commonjs/ui/components/internal/GroupedPillButtons.d.ts.map +1 -1
- package/lib/typescript/commonjs/ui/components/modals/DeleteAccountModal.d.ts +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 +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 +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 +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 +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 +1 -1
- package/lib/typescript/commonjs/ui/components/payment/PaymentSummaryStep.d.ts.map +1 -1
- package/lib/typescript/commonjs/ui/components/styles/overlay.d.ts.map +1 -1
- package/lib/typescript/commonjs/ui/components/styles/shadow.d.ts +1 -1
- package/lib/typescript/commonjs/ui/components/styles/shadow.d.ts.map +1 -1
- package/lib/typescript/commonjs/ui/context/OxyContext.d.ts +2 -1
- package/lib/typescript/commonjs/ui/context/OxyContext.d.ts.map +1 -1
- package/lib/typescript/commonjs/ui/context/ThemeContext.d.ts +1 -1
- package/lib/typescript/commonjs/ui/context/ThemeContext.d.ts.map +1 -1
- package/lib/typescript/commonjs/ui/hooks/mutations/mutationFactory.d.ts +1 -1
- package/lib/typescript/commonjs/ui/hooks/mutations/mutationFactory.d.ts.map +1 -1
- package/lib/typescript/commonjs/ui/hooks/queries/useSecurityQueries.d.ts.map +1 -1
- package/lib/typescript/commonjs/ui/hooks/useAssets.d.ts +2 -2
- package/lib/typescript/commonjs/ui/hooks/useAssets.d.ts.map +1 -1
- package/lib/typescript/commonjs/ui/hooks/useFileFiltering.d.ts.map +1 -1
- package/lib/typescript/commonjs/ui/index.d.ts +19 -1
- package/lib/typescript/commonjs/ui/index.d.ts.map +1 -1
- package/lib/typescript/commonjs/ui/screens/FAQScreen.d.ts +1 -1
- package/lib/typescript/commonjs/ui/screens/FAQScreen.d.ts.map +1 -1
- package/lib/typescript/commonjs/ui/screens/FeedbackScreen.d.ts +1 -1
- package/lib/typescript/commonjs/ui/screens/FeedbackScreen.d.ts.map +1 -1
- package/lib/typescript/commonjs/ui/screens/FollowersListScreen.d.ts +1 -1
- package/lib/typescript/commonjs/ui/screens/FollowersListScreen.d.ts.map +1 -1
- package/lib/typescript/commonjs/ui/screens/FollowingListScreen.d.ts +1 -1
- package/lib/typescript/commonjs/ui/screens/FollowingListScreen.d.ts.map +1 -1
- package/lib/typescript/commonjs/ui/screens/LearnMoreUsernamesScreen.d.ts +1 -1
- package/lib/typescript/commonjs/ui/screens/LearnMoreUsernamesScreen.d.ts.map +1 -1
- package/lib/typescript/commonjs/ui/screens/PaymentGatewayScreen.d.ts +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/UserListScreen.d.ts +1 -1
- package/lib/typescript/commonjs/ui/screens/UserListScreen.d.ts.map +1 -1
- package/lib/typescript/commonjs/ui/screens/WelcomeNewUserScreen.d.ts +1 -1
- package/lib/typescript/commonjs/ui/screens/WelcomeNewUserScreen.d.ts.map +1 -1
- package/lib/typescript/commonjs/ui/stores/assetStore.d.ts +1 -1
- package/lib/typescript/commonjs/ui/stores/assetStore.d.ts.map +1 -1
- package/lib/typescript/commonjs/ui/utils/avatarUtils.d.ts +1 -1
- package/lib/typescript/commonjs/ui/utils/avatarUtils.d.ts.map +1 -1
- package/lib/typescript/commonjs/ui/utils/fileManagement.d.ts +1 -1
- package/lib/typescript/commonjs/ui/utils/fileManagement.d.ts.map +1 -1
- package/lib/typescript/module/ui/components/ActivityIndicator.d.ts +1 -1
- package/lib/typescript/module/ui/components/ActivityIndicator.d.ts.map +1 -1
- package/lib/typescript/module/ui/components/BottomSheet.d.ts +1 -1
- package/lib/typescript/module/ui/components/BottomSheet.d.ts.map +1 -1
- package/lib/typescript/module/ui/components/BottomSheetRouter.d.ts.map +1 -1
- package/lib/typescript/module/ui/components/CrossFadeIcon.d.ts +1 -1
- package/lib/typescript/module/ui/components/CrossFadeIcon.d.ts.map +1 -1
- package/lib/typescript/module/ui/components/ErrorBoundary.d.ts +1 -1
- package/lib/typescript/module/ui/components/ErrorBoundary.d.ts.map +1 -1
- package/lib/typescript/module/ui/components/FollowButton.d.ts.map +1 -1
- package/lib/typescript/module/ui/components/FontLoader.d.ts +1 -1
- package/lib/typescript/module/ui/components/FontLoader.d.ts.map +1 -1
- package/lib/typescript/module/ui/components/GroupedItem.d.ts +1 -1
- package/lib/typescript/module/ui/components/GroupedItem.d.ts.map +1 -1
- package/lib/typescript/module/ui/components/GroupedSection.d.ts +1 -1
- package/lib/typescript/module/ui/components/GroupedSection.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 +1 -1
- package/lib/typescript/module/ui/components/HelperText.d.ts.map +1 -1
- package/lib/typescript/module/ui/components/Icon.d.ts +2 -2
- package/lib/typescript/module/ui/components/Icon.d.ts.map +1 -1
- package/lib/typescript/module/ui/components/IconButton/IconButton.d.ts +3 -3
- package/lib/typescript/module/ui/components/IconButton/IconButton.d.ts.map +1 -1
- package/lib/typescript/module/ui/components/OxyProvider.d.ts.map +1 -1
- package/lib/typescript/module/ui/components/SignInModal.d.ts +1 -1
- package/lib/typescript/module/ui/components/SignInModal.d.ts.map +1 -1
- package/lib/typescript/module/ui/components/Surface.d.ts +1 -1
- package/lib/typescript/module/ui/components/Surface.d.ts.map +1 -1
- package/lib/typescript/module/ui/components/TextField/Addons/Outline.d.ts +2 -2
- package/lib/typescript/module/ui/components/TextField/Addons/Outline.d.ts.map +1 -1
- package/lib/typescript/module/ui/components/TextField/Addons/Underline.d.ts +1 -1
- package/lib/typescript/module/ui/components/TextField/Addons/Underline.d.ts.map +1 -1
- package/lib/typescript/module/ui/components/TextField/Adornment/TextFieldAdornment.d.ts.map +1 -1
- package/lib/typescript/module/ui/components/TextField/Adornment/TextFieldAffix.d.ts +1 -1
- package/lib/typescript/module/ui/components/TextField/Adornment/TextFieldAffix.d.ts.map +1 -1
- package/lib/typescript/module/ui/components/TextField/Adornment/TextFieldIcon.d.ts +1 -1
- package/lib/typescript/module/ui/components/TextField/Adornment/TextFieldIcon.d.ts.map +1 -1
- package/lib/typescript/module/ui/components/TextField/helpers.d.ts +1 -1
- package/lib/typescript/module/ui/components/TextField/helpers.d.ts.map +1 -1
- package/lib/typescript/module/ui/components/TextField/types.d.ts +1 -1
- package/lib/typescript/module/ui/components/TextField/types.d.ts.map +1 -1
- package/lib/typescript/module/ui/components/TextField.d.ts +3 -3
- package/lib/typescript/module/ui/components/TextField.d.ts.map +1 -1
- package/lib/typescript/module/ui/components/TouchableRipple/TouchableRipple.d.ts +1 -1
- package/lib/typescript/module/ui/components/TouchableRipple/TouchableRipple.d.ts.map +1 -1
- package/lib/typescript/module/ui/components/TouchableRipple/TouchableRipple.native.d.ts +2 -2
- package/lib/typescript/module/ui/components/TouchableRipple/TouchableRipple.native.d.ts.map +1 -1
- package/lib/typescript/module/ui/components/Typography/AnimatedText.d.ts +2 -2
- package/lib/typescript/module/ui/components/Typography/AnimatedText.d.ts.map +1 -1
- package/lib/typescript/module/ui/components/fileManagement/AnimatedButton.d.ts +1 -1
- package/lib/typescript/module/ui/components/fileManagement/AnimatedButton.d.ts.map +1 -1
- package/lib/typescript/module/ui/components/fileManagement/FileDetailsModal.d.ts +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 +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 +1 -1
- package/lib/typescript/module/ui/components/fileManagement/UploadPreview.d.ts.map +1 -1
- package/lib/typescript/module/ui/components/internal/GroupedPillButtons.d.ts.map +1 -1
- package/lib/typescript/module/ui/components/modals/DeleteAccountModal.d.ts +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 +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 +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 +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 +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 +1 -1
- package/lib/typescript/module/ui/components/payment/PaymentSummaryStep.d.ts.map +1 -1
- package/lib/typescript/module/ui/components/styles/overlay.d.ts.map +1 -1
- package/lib/typescript/module/ui/components/styles/shadow.d.ts +1 -1
- package/lib/typescript/module/ui/components/styles/shadow.d.ts.map +1 -1
- package/lib/typescript/module/ui/context/OxyContext.d.ts +2 -1
- package/lib/typescript/module/ui/context/OxyContext.d.ts.map +1 -1
- package/lib/typescript/module/ui/context/ThemeContext.d.ts +1 -1
- package/lib/typescript/module/ui/context/ThemeContext.d.ts.map +1 -1
- package/lib/typescript/module/ui/hooks/mutations/mutationFactory.d.ts +1 -1
- package/lib/typescript/module/ui/hooks/mutations/mutationFactory.d.ts.map +1 -1
- package/lib/typescript/module/ui/hooks/queries/useSecurityQueries.d.ts.map +1 -1
- package/lib/typescript/module/ui/hooks/useAssets.d.ts +2 -2
- package/lib/typescript/module/ui/hooks/useAssets.d.ts.map +1 -1
- package/lib/typescript/module/ui/hooks/useFileFiltering.d.ts.map +1 -1
- package/lib/typescript/module/ui/index.d.ts +19 -1
- package/lib/typescript/module/ui/index.d.ts.map +1 -1
- package/lib/typescript/module/ui/screens/FAQScreen.d.ts +1 -1
- package/lib/typescript/module/ui/screens/FAQScreen.d.ts.map +1 -1
- package/lib/typescript/module/ui/screens/FeedbackScreen.d.ts +1 -1
- package/lib/typescript/module/ui/screens/FeedbackScreen.d.ts.map +1 -1
- package/lib/typescript/module/ui/screens/FollowersListScreen.d.ts +1 -1
- package/lib/typescript/module/ui/screens/FollowersListScreen.d.ts.map +1 -1
- package/lib/typescript/module/ui/screens/FollowingListScreen.d.ts +1 -1
- package/lib/typescript/module/ui/screens/FollowingListScreen.d.ts.map +1 -1
- package/lib/typescript/module/ui/screens/LearnMoreUsernamesScreen.d.ts +1 -1
- package/lib/typescript/module/ui/screens/LearnMoreUsernamesScreen.d.ts.map +1 -1
- package/lib/typescript/module/ui/screens/PaymentGatewayScreen.d.ts +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/UserListScreen.d.ts +1 -1
- package/lib/typescript/module/ui/screens/UserListScreen.d.ts.map +1 -1
- package/lib/typescript/module/ui/screens/WelcomeNewUserScreen.d.ts +1 -1
- package/lib/typescript/module/ui/screens/WelcomeNewUserScreen.d.ts.map +1 -1
- package/lib/typescript/module/ui/stores/assetStore.d.ts +1 -1
- package/lib/typescript/module/ui/stores/assetStore.d.ts.map +1 -1
- package/lib/typescript/module/ui/utils/avatarUtils.d.ts +1 -1
- package/lib/typescript/module/ui/utils/avatarUtils.d.ts.map +1 -1
- package/lib/typescript/module/ui/utils/fileManagement.d.ts +1 -1
- package/lib/typescript/module/ui/utils/fileManagement.d.ts.map +1 -1
- package/lib/typescript/types/expo-crypto.d.ts +1 -1
- package/lib/typescript/types/expo-secure-store.d.ts +4 -4
- package/package.json +1 -1
- package/src/types/expo-crypto.d.ts +1 -1
- package/src/types/expo-secure-store.d.ts +4 -4
- package/src/ui/components/ActivityIndicator.tsx +6 -6
- package/src/ui/components/BottomSheet.tsx +11 -12
- package/src/ui/components/BottomSheetRouter.tsx +69 -7
- package/src/ui/components/CrossFadeIcon.tsx +2 -2
- package/src/ui/components/ErrorBoundary.tsx +1 -1
- package/src/ui/components/FollowButton.tsx +3 -5
- package/src/ui/components/FontLoader.tsx +2 -1
- package/src/ui/components/GroupedItem.tsx +3 -3
- package/src/ui/components/GroupedSection.tsx +2 -1
- package/src/ui/components/Header.tsx +1 -1
- package/src/ui/components/HelperText.tsx +5 -5
- package/src/ui/components/Icon.tsx +5 -5
- package/src/ui/components/IconButton/IconButton.tsx +8 -8
- package/src/ui/components/OxyProvider.tsx +16 -10
- package/src/ui/components/SignInModal.tsx +2 -1
- package/src/ui/components/Surface.tsx +4 -4
- package/src/ui/components/TextField/Addons/Outline.tsx +4 -4
- package/src/ui/components/TextField/Addons/Underline.tsx +1 -1
- package/src/ui/components/TextField/Adornment/TextFieldAdornment.tsx +5 -8
- package/src/ui/components/TextField/Adornment/TextFieldAffix.tsx +6 -6
- package/src/ui/components/TextField/Adornment/TextFieldIcon.tsx +4 -4
- package/src/ui/components/TextField/Adornment/utils.ts +3 -3
- package/src/ui/components/TextField/Label/InputLabel.tsx +1 -1
- package/src/ui/components/TextField/TextFieldFlat.tsx +3 -3
- package/src/ui/components/TextField/TextFieldOutlined.tsx +5 -5
- package/src/ui/components/TextField/helpers.tsx +4 -5
- package/src/ui/components/TextField/types.tsx +1 -1
- package/src/ui/components/TextField.tsx +8 -11
- package/src/ui/components/TouchableRipple/TouchableRipple.native.tsx +6 -6
- package/src/ui/components/TouchableRipple/TouchableRipple.tsx +8 -8
- package/src/ui/components/Typography/AnimatedText.tsx +5 -6
- package/src/ui/components/feedback/FormInput.tsx +1 -1
- package/src/ui/components/fileManagement/AnimatedButton.tsx +2 -1
- package/src/ui/components/fileManagement/FileDetailsModal.tsx +1 -1
- package/src/ui/components/fileManagement/FileViewer.tsx +2 -1
- package/src/ui/components/fileManagement/UploadPreview.tsx +1 -1
- package/src/ui/components/internal/GroupedPillButtons.tsx +2 -6
- package/src/ui/components/modals/DeleteAccountModal.tsx +4 -3
- package/src/ui/components/payment/PaymentDetailsStep.tsx +2 -1
- package/src/ui/components/payment/PaymentMethodStep.tsx +2 -1
- package/src/ui/components/payment/PaymentReviewStep.tsx +2 -1
- package/src/ui/components/payment/PaymentSuccessStep.tsx +2 -1
- package/src/ui/components/payment/PaymentSummaryStep.tsx +2 -1
- package/src/ui/components/payment/paymentStyles.ts +2 -2
- package/src/ui/components/styles/overlay.tsx +6 -6
- package/src/ui/components/styles/shadow.tsx +9 -14
- package/src/ui/components/theming.tsx +7 -7
- package/src/ui/context/OxyContext.tsx +2 -1
- package/src/ui/context/ThemeContext.tsx +1 -1
- package/src/ui/hooks/mutations/mutationFactory.ts +1 -1
- package/src/ui/hooks/queries/useSecurityQueries.ts +1 -1
- package/src/ui/hooks/useAssets.ts +3 -23
- package/src/ui/hooks/useFileFiltering.ts +1 -2
- package/src/ui/index.ts +19 -1
- package/src/ui/screens/AccountSwitcherScreen.tsx +1 -1
- package/src/ui/screens/EditProfileFieldScreen.tsx +1 -1
- package/src/ui/screens/FAQScreen.tsx +2 -1
- package/src/ui/screens/FeedbackScreen.tsx +3 -2
- package/src/ui/screens/FileManagementScreen.tsx +10 -10
- package/src/ui/screens/FollowersListScreen.tsx +1 -1
- package/src/ui/screens/FollowingListScreen.tsx +1 -1
- package/src/ui/screens/LearnMoreUsernamesScreen.tsx +4 -3
- package/src/ui/screens/PaymentGatewayScreen.tsx +3 -2
- package/src/ui/screens/PremiumSubscriptionScreen.tsx +5 -7
- package/src/ui/screens/ProfileScreen.tsx +1 -1
- package/src/ui/screens/UserListScreen.tsx +2 -1
- package/src/ui/screens/WelcomeNewUserScreen.tsx +3 -2
- package/src/ui/screens/karma/KarmaCenterScreen.tsx +5 -5
- package/src/ui/screens/karma/KarmaLeaderboardScreen.tsx +1 -1
- package/src/ui/stores/assetStore.ts +1 -1
- package/src/ui/stores/followStore.ts +2 -2
- package/src/ui/utils/avatarUtils.ts +2 -2
- package/src/ui/utils/fileManagement.ts +4 -4
- package/src/ui/utils/userUtils.ts +1 -1
- package/lib/commonjs/ui/context/hooks/useDeviceManagement.js +0 -73
- package/lib/commonjs/ui/context/hooks/useDeviceManagement.js.map +0 -1
- package/lib/commonjs/ui/context/hooks/useLanguageManagement.js +0 -112
- package/lib/commonjs/ui/context/hooks/useLanguageManagement.js.map +0 -1
- package/lib/commonjs/ui/context/hooks/useSessionManagement.js +0 -279
- package/lib/commonjs/ui/context/hooks/useSessionManagement.js.map +0 -1
- package/lib/module/ui/context/hooks/useDeviceManagement.js +0 -68
- package/lib/module/ui/context/hooks/useDeviceManagement.js.map +0 -1
- package/lib/module/ui/context/hooks/useLanguageManagement.js +0 -107
- package/lib/module/ui/context/hooks/useLanguageManagement.js.map +0 -1
- package/lib/module/ui/context/hooks/useSessionManagement.js +0 -274
- package/lib/module/ui/context/hooks/useSessionManagement.js.map +0 -1
- package/lib/typescript/commonjs/ui/context/hooks/useDeviceManagement.d.ts +0 -27
- package/lib/typescript/commonjs/ui/context/hooks/useDeviceManagement.d.ts.map +0 -1
- package/lib/typescript/commonjs/ui/context/hooks/useLanguageManagement.d.ts +0 -25
- package/lib/typescript/commonjs/ui/context/hooks/useLanguageManagement.d.ts.map +0 -1
- package/lib/typescript/commonjs/ui/context/hooks/useSessionManagement.d.ts +0 -41
- package/lib/typescript/commonjs/ui/context/hooks/useSessionManagement.d.ts.map +0 -1
- package/lib/typescript/module/ui/context/hooks/useDeviceManagement.d.ts +0 -27
- package/lib/typescript/module/ui/context/hooks/useDeviceManagement.d.ts.map +0 -1
- package/lib/typescript/module/ui/context/hooks/useLanguageManagement.d.ts +0 -25
- package/lib/typescript/module/ui/context/hooks/useLanguageManagement.d.ts.map +0 -1
- package/lib/typescript/module/ui/context/hooks/useSessionManagement.d.ts +0 -41
- package/lib/typescript/module/ui/context/hooks/useSessionManagement.d.ts.map +0 -1
- package/src/ui/context/hooks/useDeviceManagement.ts +0 -108
- package/src/ui/context/hooks/useLanguageManagement.ts +0 -152
- package/src/ui/context/hooks/useSessionManagement.ts +0 -399
|
@@ -44,7 +44,7 @@ export const useSecurityActivity = (
|
|
|
44
44
|
/**
|
|
45
45
|
* Get recent security activity (convenience hook)
|
|
46
46
|
*/
|
|
47
|
-
export const useRecentSecurityActivity = (limit
|
|
47
|
+
export const useRecentSecurityActivity = (limit = 10) => {
|
|
48
48
|
const { oxyServices, activeSessionId } = useOxy();
|
|
49
49
|
|
|
50
50
|
return useQuery<SecurityActivity[]>({
|
|
@@ -1,8 +1,8 @@
|
|
|
1
1
|
import { useCallback } from 'react';
|
|
2
2
|
import { useAssetStore } from '../stores/assetStore';
|
|
3
|
-
import { OxyServices } from '@oxyhq/core';
|
|
3
|
+
import type { OxyServices } from '@oxyhq/core';
|
|
4
4
|
import {
|
|
5
|
-
Asset,
|
|
5
|
+
type Asset,
|
|
6
6
|
AssetLinkRequest,
|
|
7
7
|
AssetUnlinkRequest,
|
|
8
8
|
AssetUploadProgress
|
|
@@ -181,13 +181,8 @@ export const useAssets = () => {
|
|
|
181
181
|
if (!oxyInstance) {
|
|
182
182
|
throw new Error('OxyServices instance not configured. Call setOxyAssetInstance first.');
|
|
183
183
|
}
|
|
184
|
-
|
|
185
|
-
try {
|
|
186
184
|
const result = await oxyInstance.assetGetUrl(assetId, variant, expiresIn);
|
|
187
185
|
return result.url;
|
|
188
|
-
} catch (error: any) {
|
|
189
|
-
throw error;
|
|
190
|
-
}
|
|
191
186
|
}, []);
|
|
192
187
|
|
|
193
188
|
// Get asset metadata
|
|
@@ -195,23 +190,18 @@ export const useAssets = () => {
|
|
|
195
190
|
if (!oxyInstance) {
|
|
196
191
|
throw new Error('OxyServices instance not configured. Call setOxyAssetInstance first.');
|
|
197
192
|
}
|
|
198
|
-
|
|
199
|
-
try {
|
|
200
193
|
const result = await oxyInstance.assetGet(assetId);
|
|
201
194
|
if (result.file) {
|
|
202
195
|
setAsset(result.file);
|
|
203
196
|
return result.file;
|
|
204
197
|
}
|
|
205
198
|
throw new Error('Asset not found');
|
|
206
|
-
} catch (error: any) {
|
|
207
|
-
throw error;
|
|
208
|
-
}
|
|
209
199
|
}, [setAsset]);
|
|
210
200
|
|
|
211
201
|
// Delete asset
|
|
212
202
|
const deleteAsset = useCallback(async (
|
|
213
203
|
assetId: string,
|
|
214
|
-
force
|
|
204
|
+
force = false
|
|
215
205
|
): Promise<void> => {
|
|
216
206
|
if (!oxyInstance) {
|
|
217
207
|
throw new Error('OxyServices instance not configured. Call setOxyAssetInstance first.');
|
|
@@ -236,15 +226,10 @@ export const useAssets = () => {
|
|
|
236
226
|
if (!oxyInstance) {
|
|
237
227
|
throw new Error('OxyServices instance not configured. Call setOxyAssetInstance first.');
|
|
238
228
|
}
|
|
239
|
-
|
|
240
|
-
try {
|
|
241
229
|
const result = await oxyInstance.assetRestore(assetId);
|
|
242
230
|
if (result.file) {
|
|
243
231
|
setAsset(result.file);
|
|
244
232
|
}
|
|
245
|
-
} catch (error: any) {
|
|
246
|
-
throw error;
|
|
247
|
-
}
|
|
248
233
|
}, [setAsset]);
|
|
249
234
|
|
|
250
235
|
// Get variants
|
|
@@ -252,12 +237,7 @@ export const useAssets = () => {
|
|
|
252
237
|
if (!oxyInstance) {
|
|
253
238
|
throw new Error('OxyServices instance not configured. Call setOxyAssetInstance first.');
|
|
254
239
|
}
|
|
255
|
-
|
|
256
|
-
try {
|
|
257
240
|
return await oxyInstance.assetGetVariants(assetId);
|
|
258
|
-
} catch (error: any) {
|
|
259
|
-
throw error;
|
|
260
|
-
}
|
|
261
241
|
}, []);
|
|
262
242
|
|
|
263
243
|
return {
|
|
@@ -75,8 +75,7 @@ export function useFileFiltering({
|
|
|
75
75
|
(file) =>
|
|
76
76
|
file.filename.toLowerCase().includes(query) ||
|
|
77
77
|
file.contentType.toLowerCase().includes(query) ||
|
|
78
|
-
(file.metadata?.description
|
|
79
|
-
file.metadata.description.toLowerCase().includes(query))
|
|
78
|
+
(file.metadata?.description?.toLowerCase().includes(query))
|
|
80
79
|
);
|
|
81
80
|
}
|
|
82
81
|
|
package/src/ui/index.ts
CHANGED
|
@@ -19,7 +19,25 @@
|
|
|
19
19
|
import isFrontend from './isFrontend';
|
|
20
20
|
|
|
21
21
|
// UI exports
|
|
22
|
-
let OxyProvider
|
|
22
|
+
let OxyProvider;
|
|
23
|
+
let OxySignInButton;
|
|
24
|
+
let OxyLogo;
|
|
25
|
+
let Avatar;
|
|
26
|
+
let FollowButton;
|
|
27
|
+
let OxyPayButton;
|
|
28
|
+
let FontLoader;
|
|
29
|
+
let setupFonts;
|
|
30
|
+
let OxyIcon;
|
|
31
|
+
let useOxy;
|
|
32
|
+
let useAuth;
|
|
33
|
+
let useFollow;
|
|
34
|
+
let ProfileScreen;
|
|
35
|
+
let useAuthStore;
|
|
36
|
+
let useAccountStore;
|
|
37
|
+
let fontFamilies;
|
|
38
|
+
let fontStyles;
|
|
39
|
+
let toast;
|
|
40
|
+
let useStorage;
|
|
23
41
|
|
|
24
42
|
if (isFrontend) {
|
|
25
43
|
OxyProvider = require('./components/OxyProvider').default;
|
|
@@ -526,7 +526,7 @@ const ModernAccountSwitcherScreen: React.FC<BaseScreenProps> = ({
|
|
|
526
526
|
id: `device-session-${session.sessionId}`,
|
|
527
527
|
icon: session.isCurrent ? 'cellphone' : 'cellphone-basic',
|
|
528
528
|
iconColor: session.isCurrent ? '#34C759' : '#8E8E93',
|
|
529
|
-
title: `${session.deviceName} ${session.isCurrent ?
|
|
529
|
+
title: `${session.deviceName} ${session.isCurrent ? `(${t('accountSwitcher.device.thisDevice') || 'This device'})` : ''}`,
|
|
530
530
|
subtitle: t('accountSwitcher.device.lastActive', { date: new Date(session.lastActive).toLocaleDateString() }) || `Last active: ${new Date(session.lastActive).toLocaleDateString()}`,
|
|
531
531
|
onPress: session.isCurrent ? undefined : () => handleRemoteSessionLogout(session.sessionId, session.deviceName),
|
|
532
532
|
disabled: session.isCurrent || remotingLogoutSessionId === session.sessionId,
|
|
@@ -1,4 +1,5 @@
|
|
|
1
|
-
import React
|
|
1
|
+
import type React from 'react';
|
|
2
|
+
import { useState, useRef, useCallback, useMemo } from 'react';
|
|
2
3
|
import {
|
|
3
4
|
View,
|
|
4
5
|
Text,
|
|
@@ -445,7 +446,7 @@ const FeedbackScreen: React.FC<BaseScreenProps> = ({
|
|
|
445
446
|
const renderSuccessStep = () => (
|
|
446
447
|
<Animated.View style={[styles.stepContainer, { opacity: fadeAnim, transform: [{ translateX: slideAnim }] }]}>
|
|
447
448
|
<View style={styles.successContainer}>
|
|
448
|
-
<View style={[styles.successIcon, { backgroundColor:
|
|
449
|
+
<View style={[styles.successIcon, { backgroundColor: `${colors.success || '#34C759'}20`, padding: 24, borderRadius: 50 }]}>
|
|
449
450
|
<Ionicons name="checkmark-circle" size={48} color={colors.success || '#34C759'} />
|
|
450
451
|
</View>
|
|
451
452
|
<Text style={[styles.successTitle, { color: colors.text }]}>
|
|
@@ -180,7 +180,7 @@ const FileManagementScreen: React.FC<FileManagementScreenProps> = ({
|
|
|
180
180
|
filtered = filteredByMode.filter(file =>
|
|
181
181
|
file.filename.toLowerCase().includes(query) ||
|
|
182
182
|
file.contentType.toLowerCase().includes(query) ||
|
|
183
|
-
(file.metadata?.description
|
|
183
|
+
(file.metadata?.description?.toLowerCase().includes(query))
|
|
184
184
|
);
|
|
185
185
|
}
|
|
186
186
|
|
|
@@ -215,7 +215,7 @@ const FileManagementScreen: React.FC<FileManagementScreenProps> = ({
|
|
|
215
215
|
const itemRefs = useRef<Map<string, number>>(new Map()); // Track item positions
|
|
216
216
|
const containerRef = useRef<View>(null);
|
|
217
217
|
useEffect(() => {
|
|
218
|
-
if (initialSelectedIds
|
|
218
|
+
if (initialSelectedIds?.length) {
|
|
219
219
|
setSelectedIds(new Set(initialSelectedIds));
|
|
220
220
|
}
|
|
221
221
|
}, [initialSelectedIds]);
|
|
@@ -224,7 +224,7 @@ const FileManagementScreen: React.FC<FileManagementScreenProps> = ({
|
|
|
224
224
|
// Allow selection in regular mode for bulk operations
|
|
225
225
|
// if (!selectMode) return;
|
|
226
226
|
if (disabledMimeTypes.length) {
|
|
227
|
-
const blocked = disabledMimeTypes.some(mt => file.contentType === mt || file.contentType.startsWith(mt.endsWith('/') ? mt : mt
|
|
227
|
+
const blocked = disabledMimeTypes.some(mt => file.contentType === mt || file.contentType.startsWith(mt.endsWith('/') ? mt : `${mt}/`));
|
|
228
228
|
if (blocked) {
|
|
229
229
|
toast.error('This file type cannot be selected');
|
|
230
230
|
return;
|
|
@@ -339,7 +339,7 @@ const FileManagementScreen: React.FC<FileManagementScreenProps> = ({
|
|
|
339
339
|
|
|
340
340
|
// Helper to safely request a thumbnail variant only for image mime types.
|
|
341
341
|
const getSafeDownloadUrlCallback = useCallback(
|
|
342
|
-
(file: FileMetadata, variant
|
|
342
|
+
(file: FileMetadata, variant = 'thumb') => {
|
|
343
343
|
return getSafeDownloadUrl(file, variant, (fileId: string, variant?: string) => oxyServices.getFileDownloadUrl(fileId, variant));
|
|
344
344
|
},
|
|
345
345
|
[oxyServices]
|
|
@@ -640,7 +640,7 @@ const FileManagementScreen: React.FC<FileManagementScreenProps> = ({
|
|
|
640
640
|
continue;
|
|
641
641
|
}
|
|
642
642
|
|
|
643
|
-
if (file.size === undefined || file.size === null || isNaN(file.size)) {
|
|
643
|
+
if (file.size === undefined || file.size === null || Number.isNaN(file.size)) {
|
|
644
644
|
if (__DEV__) {
|
|
645
645
|
console.error('Invalid file: missing or invalid size property', file);
|
|
646
646
|
}
|
|
@@ -1278,7 +1278,7 @@ const FileManagementScreen: React.FC<FileManagementScreenProps> = ({
|
|
|
1278
1278
|
onError={(_: any) => {
|
|
1279
1279
|
// If thumbnail not available, we still show icon overlay
|
|
1280
1280
|
}}
|
|
1281
|
-
accessibilityLabel={file.filename
|
|
1281
|
+
accessibilityLabel={`${file.filename} video thumbnail`}
|
|
1282
1282
|
/>
|
|
1283
1283
|
<View style={fileManagementStyles.videoOverlay}>
|
|
1284
1284
|
<Ionicons name="play" size={24} color="#FFFFFF" />
|
|
@@ -1418,7 +1418,7 @@ const FileManagementScreen: React.FC<FileManagementScreenProps> = ({
|
|
|
1418
1418
|
onError={(_: any) => {
|
|
1419
1419
|
// If thumbnail not available, we still show icon overlay
|
|
1420
1420
|
}}
|
|
1421
|
-
accessibilityLabel={file.filename
|
|
1421
|
+
accessibilityLabel={`${file.filename} video thumbnail`}
|
|
1422
1422
|
/>
|
|
1423
1423
|
<View style={{ position: 'absolute', top: 0, left: 0, right: 0, bottom: 0, alignItems: 'center', justifyContent: 'center', backgroundColor: 'rgba(0,0,0,0.25)' }}>
|
|
1424
1424
|
<Ionicons name="play" size={16} color="#FFFFFF" />
|
|
@@ -1642,7 +1642,7 @@ const FileManagementScreen: React.FC<FileManagementScreenProps> = ({
|
|
|
1642
1642
|
<Text style={[fileManagementStyles.emptyStateTitle, { color: themeStyles.textColor }]}>No Photos Yet</Text>
|
|
1643
1643
|
<Text style={[fileManagementStyles.emptyStateDescription, { color: themeStyles.isDarkTheme ? '#BBBBBB' : '#666666' }]}> {
|
|
1644
1644
|
user?.id === targetUserId
|
|
1645
|
-
?
|
|
1645
|
+
? "Upload photos to get started. You can select multiple photos at once."
|
|
1646
1646
|
: "This user hasn't uploaded any photos yet"
|
|
1647
1647
|
} </Text>
|
|
1648
1648
|
{user?.id === targetUserId && (
|
|
@@ -1736,7 +1736,7 @@ const FileManagementScreen: React.FC<FileManagementScreenProps> = ({
|
|
|
1736
1736
|
<Text style={[fileManagementStyles.emptyStateTitle, { color: themeStyles.textColor }]}>No Files Yet</Text>
|
|
1737
1737
|
<Text style={[fileManagementStyles.emptyStateDescription, { color: themeStyles.isDarkTheme ? '#BBBBBB' : '#666666' }]}>
|
|
1738
1738
|
{user?.id === targetUserId
|
|
1739
|
-
?
|
|
1739
|
+
? "Upload files to get started. You can select multiple files at once."
|
|
1740
1740
|
: "This user hasn't uploaded any files yet"
|
|
1741
1741
|
}
|
|
1742
1742
|
</Text>
|
|
@@ -2000,7 +2000,7 @@ const FileManagementScreen: React.FC<FileManagementScreenProps> = ({
|
|
|
2000
2000
|
return (
|
|
2001
2001
|
<View style={fileManagementStyles.container}>
|
|
2002
2002
|
<Header
|
|
2003
|
-
title={selectMode ? (multiSelect ? `${selectedIds.size}${maxSelection ?
|
|
2003
|
+
title={selectMode ? (multiSelect ? `${selectedIds.size}${maxSelection ? `/${maxSelection}` : ''} Selected` : 'Select a File') : (viewMode === 'photos' ? 'Photos' : 'File Management')}
|
|
2004
2004
|
subtitle={selectMode ? (multiSelect ? `${filteredFiles.length} available` : 'Tap to select') : `${filteredFiles.length} ${filteredFiles.length === 1 ? 'item' : 'items'}`}
|
|
2005
2005
|
rightActions={selectMode && multiSelect ? [
|
|
2006
2006
|
{
|
|
@@ -1,4 +1,5 @@
|
|
|
1
|
-
import React
|
|
1
|
+
import type React from 'react';
|
|
2
|
+
import { useState, useCallback, useMemo } from 'react';
|
|
2
3
|
import {
|
|
3
4
|
View,
|
|
4
5
|
Text,
|
|
@@ -78,7 +79,7 @@ const LearnMoreUsernamesScreen: React.FC<BaseScreenProps> = ({
|
|
|
78
79
|
contentContainerStyle={styles.contentContainer}
|
|
79
80
|
>
|
|
80
81
|
<View style={styles.introSection}>
|
|
81
|
-
<View style={[styles.introIcon, { backgroundColor: themeStyles.primaryColor
|
|
82
|
+
<View style={[styles.introIcon, { backgroundColor: `${themeStyles.primaryColor}15` }]}>
|
|
82
83
|
<Ionicons name="at" size={32} color={themeStyles.primaryColor} />
|
|
83
84
|
</View>
|
|
84
85
|
<Text style={[styles.introTitle, { color: themeStyles.textColor }]}>
|
|
@@ -108,7 +109,7 @@ const LearnMoreUsernamesScreen: React.FC<BaseScreenProps> = ({
|
|
|
108
109
|
accessibilityHint={isExpanded ? 'Collapse section' : 'Expand section'}
|
|
109
110
|
accessibilityState={{ expanded: isExpanded }}
|
|
110
111
|
>
|
|
111
|
-
<View style={[styles.sectionIconContainer, { backgroundColor: themeStyles.primaryColor
|
|
112
|
+
<View style={[styles.sectionIconContainer, { backgroundColor: `${themeStyles.primaryColor}15` }]}>
|
|
112
113
|
<Ionicons
|
|
113
114
|
name={section.icon}
|
|
114
115
|
size={20}
|
|
@@ -1,4 +1,5 @@
|
|
|
1
|
-
import React
|
|
1
|
+
import type React from 'react';
|
|
2
|
+
import { useState, useRef, useMemo, useCallback } from 'react';
|
|
2
3
|
import {
|
|
3
4
|
View,
|
|
4
5
|
Text,
|
|
@@ -179,7 +180,7 @@ const PaymentGatewayScreen: React.FC<PaymentGatewayScreenProps> = (props) => {
|
|
|
179
180
|
}, [onPaymentResult, onClose, goBack]);
|
|
180
181
|
|
|
181
182
|
// Validate amount
|
|
182
|
-
if (!amount || isNaN(Number(amount)) || Number(amount) <= 0) {
|
|
183
|
+
if (!amount || Number.isNaN(Number(amount)) || Number(amount) <= 0) {
|
|
183
184
|
return (
|
|
184
185
|
<View style={styles.errorContainer}>
|
|
185
186
|
<Text style={styles.errorText}>Invalid or missing payment amount.</Text>
|
|
@@ -380,7 +380,7 @@ const PremiumSubscriptionScreen: React.FC<BaseScreenProps> = ({
|
|
|
380
380
|
return {
|
|
381
381
|
...feature,
|
|
382
382
|
isIncludedInCurrentPlan,
|
|
383
|
-
isSubscribed: isIncludedInCurrentPlan
|
|
383
|
+
isSubscribed: !!isIncludedInCurrentPlan // Mock some individual subscriptions
|
|
384
384
|
};
|
|
385
385
|
});
|
|
386
386
|
|
|
@@ -424,7 +424,7 @@ const PremiumSubscriptionScreen: React.FC<BaseScreenProps> = ({
|
|
|
424
424
|
|
|
425
425
|
// Mock subscription update
|
|
426
426
|
setSubscription({
|
|
427
|
-
id:
|
|
427
|
+
id: `sub_${Date.now()}`,
|
|
428
428
|
planId,
|
|
429
429
|
status: 'active',
|
|
430
430
|
currentPeriodStart: new Date().toISOString(),
|
|
@@ -716,12 +716,11 @@ const PremiumSubscriptionScreen: React.FC<BaseScreenProps> = ({
|
|
|
716
716
|
const getAppScopeText = () => {
|
|
717
717
|
if (plan.appScope === 'ecosystem') {
|
|
718
718
|
return t('premium.plan.scope.allApps') || 'Works across all Oxy apps';
|
|
719
|
-
}
|
|
719
|
+
}if (isAppSpecific) {
|
|
720
720
|
const appName = plan.applicableApps[0];
|
|
721
721
|
return t('premium.plan.scope.exclusive', { app: appName }) || `Exclusive to ${appName} app`;
|
|
722
|
-
} else {
|
|
723
|
-
return t('premium.plan.scope.availableIn', { apps: plan.applicableApps.join(', ') }) || `Available in: ${plan.applicableApps.join(', ')}`;
|
|
724
722
|
}
|
|
723
|
+
return t('premium.plan.scope.availableIn', { apps: plan.applicableApps.join(', ') }) || `Available in: ${plan.applicableApps.join(', ')}`;
|
|
725
724
|
};
|
|
726
725
|
|
|
727
726
|
const getAvailabilityStatus = () => {
|
|
@@ -899,9 +898,8 @@ const PremiumSubscriptionScreen: React.FC<BaseScreenProps> = ({
|
|
|
899
898
|
const getAppScopeText = () => {
|
|
900
899
|
if (feature.appScope === 'ecosystem') {
|
|
901
900
|
return t('premium.feature.scope.allApps');
|
|
902
|
-
} else {
|
|
903
|
-
return t('premium.feature.scope.availableIn', { apps: feature.applicableApps.join(', ') }) || `Available in: ${feature.applicableApps.join(', ')}`;
|
|
904
901
|
}
|
|
902
|
+
return t('premium.feature.scope.availableIn', { apps: feature.applicableApps.join(', ') }) || `Available in: ${feature.applicableApps.join(', ')}`;
|
|
905
903
|
};
|
|
906
904
|
|
|
907
905
|
return (
|
|
@@ -354,7 +354,7 @@ const ProfileScreen: React.FC<ProfileScreenProps> = ({ userId, username, theme,
|
|
|
354
354
|
const createStyles = (colors: ThemeColors) => StyleSheet.create({
|
|
355
355
|
container: { flex: 1 },
|
|
356
356
|
scrollContainer: { alignItems: 'stretch', paddingBottom: 40 },
|
|
357
|
-
bannerContainer: { height: 160, backgroundColor: colors.primary
|
|
357
|
+
bannerContainer: { height: 160, backgroundColor: `${colors.primary}20`, position: 'relative', overflow: 'hidden' },
|
|
358
358
|
bannerImage: { flex: 1, backgroundColor: colors.primary }, // Placeholder, replace with Image if available
|
|
359
359
|
avatarRow: { flexDirection: 'row', alignItems: 'flex-end', marginTop: -56, paddingHorizontal: 20, justifyContent: 'space-between', zIndex: 2 },
|
|
360
360
|
avatarWrapper: { borderWidth: 5, borderColor: colors.background, borderRadius: 64, overflow: 'hidden', backgroundColor: colors.background },
|
|
@@ -1,4 +1,5 @@
|
|
|
1
|
-
import React
|
|
1
|
+
import type React from 'react';
|
|
2
|
+
import { useCallback, useMemo, useRef, useState, useEffect } from 'react';
|
|
2
3
|
import { View, Text, TouchableOpacity, StyleSheet, Platform, Animated } from 'react-native';
|
|
3
4
|
import AnimatedReanimated, { useSharedValue, useAnimatedStyle, withTiming } from 'react-native-reanimated';
|
|
4
5
|
import type { BaseScreenProps } from '../types/navigation';
|
|
@@ -231,7 +232,7 @@ const WelcomeNewUserScreen: React.FC<BaseScreenProps & { newUser?: any }> = ({
|
|
|
231
232
|
name={currentUser?.name?.full || currentUser?.name?.first || currentUser?.username}
|
|
232
233
|
uri={avatarUri}
|
|
233
234
|
|
|
234
|
-
backgroundColor={colors.primary
|
|
235
|
+
backgroundColor={`${colors.primary}20`}
|
|
235
236
|
style={styles.avatar}
|
|
236
237
|
/>
|
|
237
238
|
<TouchableOpacity style={[styles.changeAvatarButton, { backgroundColor: colors.primary }]} onPress={openAvatarPicker}>
|
|
@@ -90,19 +90,19 @@ const KarmaCenterScreen: React.FC<BaseScreenProps> = ({
|
|
|
90
90
|
</Text>
|
|
91
91
|
<View style={styles.actionContainer}>
|
|
92
92
|
<View style={styles.actionRow}>
|
|
93
|
-
<TouchableOpacity style={styles.actionIconWrapper} onPress={() => navigate
|
|
93
|
+
<TouchableOpacity style={styles.actionIconWrapper} onPress={() => navigate?.('KarmaLeaderboard')}>
|
|
94
94
|
<View style={[styles.actionIcon, { backgroundColor: iconLeaderboard }]}>
|
|
95
95
|
<Ionicons name="trophy-outline" size={28} color={darkenColor(iconLeaderboard)} />
|
|
96
96
|
</View>
|
|
97
97
|
<Text style={[styles.actionLabel, { color: mutedTextColor }]}>{t('karma.center.actions.leaderboard') || 'Leaderboard'}</Text>
|
|
98
98
|
</TouchableOpacity>
|
|
99
|
-
<TouchableOpacity style={styles.actionIconWrapper} onPress={() => navigate
|
|
99
|
+
<TouchableOpacity style={styles.actionIconWrapper} onPress={() => navigate?.('KarmaRules')}>
|
|
100
100
|
<View style={[styles.actionIcon, { backgroundColor: iconRules }]}>
|
|
101
101
|
<Ionicons name="document-text-outline" size={28} color={darkenColor(iconRules)} />
|
|
102
102
|
</View>
|
|
103
103
|
<Text style={[styles.actionLabel, { color: mutedTextColor }]}>{t('karma.center.actions.rules') || 'Rules'}</Text>
|
|
104
104
|
</TouchableOpacity>
|
|
105
|
-
<TouchableOpacity style={styles.actionIconWrapper} onPress={() => navigate
|
|
105
|
+
<TouchableOpacity style={styles.actionIconWrapper} onPress={() => navigate?.('AboutKarma')}>
|
|
106
106
|
<View style={[styles.actionIcon, { backgroundColor: iconAbout }]}>
|
|
107
107
|
<Ionicons name="star-outline" size={28} color={darkenColor(iconAbout)} />
|
|
108
108
|
</View>
|
|
@@ -110,13 +110,13 @@ const KarmaCenterScreen: React.FC<BaseScreenProps> = ({
|
|
|
110
110
|
</TouchableOpacity>
|
|
111
111
|
</View>
|
|
112
112
|
<View style={styles.actionRow}>
|
|
113
|
-
<TouchableOpacity style={styles.actionIconWrapper} onPress={() => navigate
|
|
113
|
+
<TouchableOpacity style={styles.actionIconWrapper} onPress={() => navigate?.('KarmaRewards')}>
|
|
114
114
|
<View style={[styles.actionIcon, { backgroundColor: iconRewards }]}>
|
|
115
115
|
<Ionicons name="gift-outline" size={28} color={darkenColor(iconRewards)} />
|
|
116
116
|
</View>
|
|
117
117
|
<Text style={[styles.actionLabel, { color: mutedTextColor }]}>{t('karma.center.actions.rewards') || 'Rewards'}</Text>
|
|
118
118
|
</TouchableOpacity>
|
|
119
|
-
<TouchableOpacity style={styles.actionIconWrapper} onPress={() => navigate
|
|
119
|
+
<TouchableOpacity style={styles.actionIconWrapper} onPress={() => navigate?.('KarmaFAQ')}>
|
|
120
120
|
<View style={[styles.actionIcon, { backgroundColor: iconFAQ }]}>
|
|
121
121
|
<Ionicons name="help-circle-outline" size={28} color={darkenColor(iconFAQ)} />
|
|
122
122
|
</View>
|
|
@@ -55,7 +55,7 @@ const KarmaLeaderboardScreen: React.FC<BaseScreenProps> = ({ goBack, theme, navi
|
|
|
55
55
|
<TouchableOpacity
|
|
56
56
|
key={entry.userId}
|
|
57
57
|
style={[styles.row, idx < 3 && { backgroundColor: '#f7eaff' }]}
|
|
58
|
-
onPress={() => navigate
|
|
58
|
+
onPress={() => navigate?.('Profile', { userId: entry.userId, username: entry.username })}
|
|
59
59
|
activeOpacity={0.7}
|
|
60
60
|
>
|
|
61
61
|
<Text style={[styles.rank, { color: primaryColor }]}>{idx + 1}</Text>
|
|
@@ -93,7 +93,7 @@ export const useFollowStore = create<FollowState>((set: any, get: any) => ({
|
|
|
93
93
|
// The API returns counts for both users:
|
|
94
94
|
// - followers: target user's follower count (the user being followed)
|
|
95
95
|
// - following: current user's following count (the user doing the following)
|
|
96
|
-
if (response
|
|
96
|
+
if (response?.counts) {
|
|
97
97
|
const { counts } = response;
|
|
98
98
|
|
|
99
99
|
// Get current user ID from oxyServices
|
|
@@ -159,7 +159,7 @@ export const useFollowStore = create<FollowState>((set: any, get: any) => ({
|
|
|
159
159
|
}));
|
|
160
160
|
try {
|
|
161
161
|
const user = await oxyServices.getUserById(userId);
|
|
162
|
-
if (user
|
|
162
|
+
if (user?._count) {
|
|
163
163
|
set((state: FollowState) => ({
|
|
164
164
|
followerCounts: {
|
|
165
165
|
...state.followerCounts,
|
|
@@ -2,7 +2,7 @@ import { authenticatedApiCall } from '@oxyhq/core';
|
|
|
2
2
|
import type { OxyServices, User } from '@oxyhq/core';
|
|
3
3
|
import { useAccountStore } from '../stores/accountStore';
|
|
4
4
|
import { useAuthStore } from '../stores/authStore';
|
|
5
|
-
import { QueryClient } from '@tanstack/react-query';
|
|
5
|
+
import type { QueryClient } from '@tanstack/react-query';
|
|
6
6
|
import { queryKeys, invalidateUserQueries, invalidateAccountQueries } from '../hooks/queries/queryKeys';
|
|
7
7
|
|
|
8
8
|
/**
|
|
@@ -18,7 +18,7 @@ export function refreshAvatarInStore(
|
|
|
18
18
|
oxyServices: OxyServices
|
|
19
19
|
): void {
|
|
20
20
|
const { updateAccount } = useAccountStore.getState();
|
|
21
|
-
const cacheBustedUrl = oxyServices.getFileDownloadUrl(avatarFileId, 'thumb')
|
|
21
|
+
const cacheBustedUrl = `${oxyServices.getFileDownloadUrl(avatarFileId, 'thumb')}?t=${Date.now()}`;
|
|
22
22
|
updateAccount(sessionId, {
|
|
23
23
|
avatar: avatarFileId,
|
|
24
24
|
avatarUrl: cacheBustedUrl,
|
|
@@ -13,7 +13,7 @@ export function formatFileSize(bytes: number): string {
|
|
|
13
13
|
const k = 1024;
|
|
14
14
|
const sizes = ['Bytes', 'KB', 'MB', 'GB'];
|
|
15
15
|
const i = Math.floor(Math.log(bytes) / Math.log(k));
|
|
16
|
-
return Number.parseFloat((bytes /
|
|
16
|
+
return `${Number.parseFloat((bytes / k ** i).toFixed(2))} ${sizes[i]}`;
|
|
17
17
|
}
|
|
18
18
|
|
|
19
19
|
/**
|
|
@@ -36,8 +36,8 @@ export function getFileIcon(contentType: string): string {
|
|
|
36
36
|
export function confirmAction(
|
|
37
37
|
message: string,
|
|
38
38
|
title?: string,
|
|
39
|
-
confirmText
|
|
40
|
-
cancelText
|
|
39
|
+
confirmText = 'OK',
|
|
40
|
+
cancelText = 'Cancel'
|
|
41
41
|
): Promise<boolean> {
|
|
42
42
|
return new Promise((resolve) => {
|
|
43
43
|
Alert.alert(
|
|
@@ -145,7 +145,7 @@ export async function convertDocumentPickerAssetToFile(
|
|
|
145
145
|
*/
|
|
146
146
|
export function getSafeDownloadUrl(
|
|
147
147
|
file: FileMetadata,
|
|
148
|
-
variant: string
|
|
148
|
+
variant: string,
|
|
149
149
|
getFileDownloadUrl: (fileId: string, variant?: string) => string
|
|
150
150
|
): string {
|
|
151
151
|
const isImage = file.contentType.startsWith('image/');
|
|
@@ -10,7 +10,7 @@ export const formatDate = (dateString: string | undefined | null | Date): string
|
|
|
10
10
|
|
|
11
11
|
try {
|
|
12
12
|
const date = dateString instanceof Date ? dateString : new Date(dateString);
|
|
13
|
-
if (isNaN(date.getTime())) return '';
|
|
13
|
+
if (Number.isNaN(date.getTime())) return '';
|
|
14
14
|
|
|
15
15
|
return date.toLocaleDateString('en-US', {
|
|
16
16
|
month: 'short',
|
|
@@ -1,73 +0,0 @@
|
|
|
1
|
-
"use strict";
|
|
2
|
-
|
|
3
|
-
Object.defineProperty(exports, "__esModule", {
|
|
4
|
-
value: true
|
|
5
|
-
});
|
|
6
|
-
exports.useDeviceManagement = void 0;
|
|
7
|
-
var _react = require("react");
|
|
8
|
-
var _core = require("@oxyhq/core");
|
|
9
|
-
var _errorHandlers = require("../../utils/errorHandlers.js");
|
|
10
|
-
/**
|
|
11
|
-
* Provide device session management helpers tied to the current active session.
|
|
12
|
-
*
|
|
13
|
-
* @param options - Device management configuration
|
|
14
|
-
*/
|
|
15
|
-
const useDeviceManagement = ({
|
|
16
|
-
oxyServices,
|
|
17
|
-
activeSessionId,
|
|
18
|
-
onError,
|
|
19
|
-
clearSessionState,
|
|
20
|
-
logger
|
|
21
|
-
}) => {
|
|
22
|
-
const getDeviceSessions = (0, _react.useCallback)(async () => {
|
|
23
|
-
if (!activeSessionId) throw new Error('No active session');
|
|
24
|
-
try {
|
|
25
|
-
return await oxyServices.getDeviceSessions(activeSessionId);
|
|
26
|
-
} catch (error) {
|
|
27
|
-
(0, _errorHandlers.handleAuthError)(error, {
|
|
28
|
-
defaultMessage: 'Failed to get device sessions',
|
|
29
|
-
code: 'GET_DEVICE_SESSIONS_ERROR',
|
|
30
|
-
onError,
|
|
31
|
-
logger
|
|
32
|
-
});
|
|
33
|
-
throw error instanceof Error ? error : new Error('Failed to get device sessions');
|
|
34
|
-
}
|
|
35
|
-
}, [activeSessionId, logger, onError, oxyServices]);
|
|
36
|
-
const logoutAllDeviceSessions = (0, _react.useCallback)(async () => {
|
|
37
|
-
if (!activeSessionId) throw new Error('No active session');
|
|
38
|
-
try {
|
|
39
|
-
await oxyServices.logoutAllDeviceSessions(activeSessionId);
|
|
40
|
-
await clearSessionState();
|
|
41
|
-
} catch (error) {
|
|
42
|
-
(0, _errorHandlers.handleAuthError)(error, {
|
|
43
|
-
defaultMessage: 'Failed to logout all device sessions',
|
|
44
|
-
code: 'LOGOUT_ALL_DEVICES_ERROR',
|
|
45
|
-
onError,
|
|
46
|
-
logger
|
|
47
|
-
});
|
|
48
|
-
throw error instanceof Error ? error : new Error('Failed to logout all device sessions');
|
|
49
|
-
}
|
|
50
|
-
}, [activeSessionId, clearSessionState, logger, onError, oxyServices]);
|
|
51
|
-
const updateDeviceName = (0, _react.useCallback)(async deviceName => {
|
|
52
|
-
if (!activeSessionId) throw new Error('No active session');
|
|
53
|
-
try {
|
|
54
|
-
await oxyServices.updateDeviceName(activeSessionId, deviceName);
|
|
55
|
-
await _core.DeviceManager.updateDeviceName(deviceName);
|
|
56
|
-
} catch (error) {
|
|
57
|
-
(0, _errorHandlers.handleAuthError)(error, {
|
|
58
|
-
defaultMessage: 'Failed to update device name',
|
|
59
|
-
code: 'UPDATE_DEVICE_NAME_ERROR',
|
|
60
|
-
onError,
|
|
61
|
-
logger
|
|
62
|
-
});
|
|
63
|
-
throw error instanceof Error ? error : new Error('Failed to update device name');
|
|
64
|
-
}
|
|
65
|
-
}, [activeSessionId, logger, onError, oxyServices]);
|
|
66
|
-
return {
|
|
67
|
-
getDeviceSessions,
|
|
68
|
-
logoutAllDeviceSessions,
|
|
69
|
-
updateDeviceName
|
|
70
|
-
};
|
|
71
|
-
};
|
|
72
|
-
exports.useDeviceManagement = useDeviceManagement;
|
|
73
|
-
//# sourceMappingURL=useDeviceManagement.js.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"names":["_react","require","_core","_errorHandlers","useDeviceManagement","oxyServices","activeSessionId","onError","clearSessionState","logger","getDeviceSessions","useCallback","Error","error","handleAuthError","defaultMessage","code","logoutAllDeviceSessions","updateDeviceName","deviceName","DeviceManager","exports"],"sourceRoot":"../../../../../src","sources":["ui/context/hooks/useDeviceManagement.ts"],"mappings":";;;;;;AAAA,IAAAA,MAAA,GAAAC,OAAA;AAEA,IAAAC,KAAA,GAAAD,OAAA;AAEA,IAAAE,cAAA,GAAAF,OAAA;AAwBA;AACA;AACA;AACA;AACA;AACO,MAAMG,mBAAmB,GAAGA,CAAC;EAClCC,WAAW;EACXC,eAAe;EACfC,OAAO;EACPC,iBAAiB;EACjBC;AAC0B,CAAC,KAAgC;EAC3D,MAAMC,iBAAiB,GAAG,IAAAC,kBAAW,EAAC,YAQjC;IACH,IAAI,CAACL,eAAe,EAAE,MAAM,IAAIM,KAAK,CAAC,mBAAmB,CAAC;IAC1D,IAAI;MACF,OAAO,MAAMP,WAAW,CAACK,iBAAiB,CAACJ,eAAe,CAAC;IAC7D,CAAC,CAAC,OAAOO,KAAK,EAAE;MACd,IAAAC,8BAAe,EAACD,KAAK,EAAE;QACrBE,cAAc,EAAE,+BAA+B;QAC/CC,IAAI,EAAE,2BAA2B;QACjCT,OAAO;QACPE;MACF,CAAC,CAAC;MACF,MAAMI,KAAK,YAAYD,KAAK,GAAGC,KAAK,GAAG,IAAID,KAAK,CAAC,+BAA+B,CAAC;IACnF;EACF,CAAC,EAAE,CAACN,eAAe,EAAEG,MAAM,EAAEF,OAAO,EAAEF,WAAW,CAAC,CAAC;EAEnD,MAAMY,uBAAuB,GAAG,IAAAN,kBAAW,EAAC,YAA2B;IACrE,IAAI,CAACL,eAAe,EAAE,MAAM,IAAIM,KAAK,CAAC,mBAAmB,CAAC;IAE1D,IAAI;MACF,MAAMP,WAAW,CAACY,uBAAuB,CAACX,eAAe,CAAC;MAC1D,MAAME,iBAAiB,CAAC,CAAC;IAC3B,CAAC,CAAC,OAAOK,KAAK,EAAE;MACd,IAAAC,8BAAe,EAACD,KAAK,EAAE;QACrBE,cAAc,EAAE,sCAAsC;QACtDC,IAAI,EAAE,0BAA0B;QAChCT,OAAO;QACPE;MACF,CAAC,CAAC;MACF,MAAMI,KAAK,YAAYD,KAAK,GAAGC,KAAK,GAAG,IAAID,KAAK,CAAC,sCAAsC,CAAC;IAC1F;EACF,CAAC,EAAE,CAACN,eAAe,EAAEE,iBAAiB,EAAEC,MAAM,EAAEF,OAAO,EAAEF,WAAW,CAAC,CAAC;EAEtE,MAAMa,gBAAgB,GAAG,IAAAP,kBAAW,EAClC,MAAOQ,UAAkB,IAAoB;IAC3C,IAAI,CAACb,eAAe,EAAE,MAAM,IAAIM,KAAK,CAAC,mBAAmB,CAAC;IAE1D,IAAI;MACF,MAAMP,WAAW,CAACa,gBAAgB,CAACZ,eAAe,EAAEa,UAAU,CAAC;MAC/D,MAAMC,mBAAa,CAACF,gBAAgB,CAACC,UAAU,CAAC;IAClD,CAAC,CAAC,OAAON,KAAK,EAAE;MACd,IAAAC,8BAAe,EAACD,KAAK,EAAE;QACrBE,cAAc,EAAE,8BAA8B;QAC9CC,IAAI,EAAE,0BAA0B;QAChCT,OAAO;QACPE;MACF,CAAC,CAAC;MACF,MAAMI,KAAK,YAAYD,KAAK,GAAGC,KAAK,GAAG,IAAID,KAAK,CAAC,8BAA8B,CAAC;IAClF;EACF,CAAC,EACD,CAACN,eAAe,EAAEG,MAAM,EAAEF,OAAO,EAAEF,WAAW,CAChD,CAAC;EAED,OAAO;IACLK,iBAAiB;IACjBO,uBAAuB;IACvBC;EACF,CAAC;AACH,CAAC;AAACG,OAAA,CAAAjB,mBAAA,GAAAA,mBAAA","ignoreList":[]}
|