@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
|
@@ -1,112 +0,0 @@
|
|
|
1
|
-
"use strict";
|
|
2
|
-
|
|
3
|
-
Object.defineProperty(exports, "__esModule", {
|
|
4
|
-
value: true
|
|
5
|
-
});
|
|
6
|
-
exports.useLanguageManagement = void 0;
|
|
7
|
-
var _react = require("react");
|
|
8
|
-
var _core = require("@oxyhq/core");
|
|
9
|
-
var _errorHandlers = require("../../utils/errorHandlers.js");
|
|
10
|
-
const DEFAULT_LANGUAGE = 'en-US';
|
|
11
|
-
|
|
12
|
-
/**
|
|
13
|
-
* Manage UI language state, persistence, and metadata derivation.
|
|
14
|
-
*
|
|
15
|
-
* @param options - Configuration for storage access and error reporting
|
|
16
|
-
*/
|
|
17
|
-
const useLanguageManagement = ({
|
|
18
|
-
storage,
|
|
19
|
-
languageKey,
|
|
20
|
-
onError,
|
|
21
|
-
logger
|
|
22
|
-
}) => {
|
|
23
|
-
const [currentLanguage, setCurrentLanguage] = (0, _react.useState)(DEFAULT_LANGUAGE);
|
|
24
|
-
const loadLanguageFromStorage = (0, _react.useCallback)(async () => {
|
|
25
|
-
if (!storage) {
|
|
26
|
-
return;
|
|
27
|
-
}
|
|
28
|
-
try {
|
|
29
|
-
const savedLanguageRaw = await storage.getItem(languageKey);
|
|
30
|
-
const normalized = (0, _core.normalizeLanguageCode)(savedLanguageRaw) || savedLanguageRaw;
|
|
31
|
-
if (normalized) {
|
|
32
|
-
setCurrentLanguage(normalized);
|
|
33
|
-
}
|
|
34
|
-
} catch (error) {
|
|
35
|
-
const message = (0, _errorHandlers.extractErrorMessage)(error, 'Failed to load language preference');
|
|
36
|
-
onError?.({
|
|
37
|
-
message,
|
|
38
|
-
code: 'LANGUAGE_LOAD_ERROR',
|
|
39
|
-
status: 500
|
|
40
|
-
});
|
|
41
|
-
if (logger) {
|
|
42
|
-
logger(message, error);
|
|
43
|
-
} else if (__DEV__) {
|
|
44
|
-
console.warn('Failed to load language preference:', error);
|
|
45
|
-
}
|
|
46
|
-
}
|
|
47
|
-
}, [languageKey, logger, onError, storage]);
|
|
48
|
-
(0, _react.useEffect)(() => {
|
|
49
|
-
loadLanguageFromStorage().catch(error => {
|
|
50
|
-
if (logger) {
|
|
51
|
-
logger('Unexpected error loading language', error);
|
|
52
|
-
}
|
|
53
|
-
});
|
|
54
|
-
}, [loadLanguageFromStorage, logger]);
|
|
55
|
-
const setLanguage = (0, _react.useCallback)(async languageId => {
|
|
56
|
-
if (!storage) {
|
|
57
|
-
throw new Error('Storage not initialized');
|
|
58
|
-
}
|
|
59
|
-
const normalized = (0, _core.normalizeLanguageCode)(languageId) || languageId;
|
|
60
|
-
try {
|
|
61
|
-
await storage.setItem(languageKey, normalized);
|
|
62
|
-
setCurrentLanguage(normalized);
|
|
63
|
-
} catch (error) {
|
|
64
|
-
const message = (0, _errorHandlers.extractErrorMessage)(error, 'Failed to save language preference');
|
|
65
|
-
onError?.({
|
|
66
|
-
message,
|
|
67
|
-
code: 'LANGUAGE_SAVE_ERROR',
|
|
68
|
-
status: 500
|
|
69
|
-
});
|
|
70
|
-
if (logger) {
|
|
71
|
-
logger(message, error);
|
|
72
|
-
} else if (__DEV__) {
|
|
73
|
-
console.warn('Failed to save language preference:', error);
|
|
74
|
-
}
|
|
75
|
-
throw error instanceof Error ? error : new Error(message);
|
|
76
|
-
}
|
|
77
|
-
}, [languageKey, logger, onError, storage]);
|
|
78
|
-
const applyLanguagePreference = (0, _react.useCallback)(async user => {
|
|
79
|
-
if (!storage || !user) {
|
|
80
|
-
return;
|
|
81
|
-
}
|
|
82
|
-
const userLanguage = user?.language;
|
|
83
|
-
if (!userLanguage) {
|
|
84
|
-
return;
|
|
85
|
-
}
|
|
86
|
-
try {
|
|
87
|
-
const normalized = (0, _core.normalizeLanguageCode)(userLanguage) || userLanguage;
|
|
88
|
-
await storage.setItem(languageKey, normalized);
|
|
89
|
-
setCurrentLanguage(normalized);
|
|
90
|
-
} catch (error) {
|
|
91
|
-
if (logger) {
|
|
92
|
-
logger('Failed to apply server language preference', error);
|
|
93
|
-
} else if (__DEV__) {
|
|
94
|
-
console.warn('Failed to apply server language preference', error);
|
|
95
|
-
}
|
|
96
|
-
}
|
|
97
|
-
}, [languageKey, logger, storage]);
|
|
98
|
-
const metadata = (0, _react.useMemo)(() => (0, _core.getLanguageMetadata)(currentLanguage), [currentLanguage]);
|
|
99
|
-
const languageName = (0, _react.useMemo)(() => (0, _core.getLanguageName)(currentLanguage), [currentLanguage]);
|
|
100
|
-
const nativeLanguageName = (0, _react.useMemo)(() => (0, _core.getNativeLanguageName)(currentLanguage), [currentLanguage]);
|
|
101
|
-
return {
|
|
102
|
-
currentLanguage,
|
|
103
|
-
metadata,
|
|
104
|
-
languageName,
|
|
105
|
-
nativeLanguageName,
|
|
106
|
-
setLanguage,
|
|
107
|
-
applyLanguagePreference,
|
|
108
|
-
hydrateLanguage: loadLanguageFromStorage
|
|
109
|
-
};
|
|
110
|
-
};
|
|
111
|
-
exports.useLanguageManagement = useLanguageManagement;
|
|
112
|
-
//# sourceMappingURL=useLanguageManagement.js.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"names":["_react","require","_core","_errorHandlers","DEFAULT_LANGUAGE","useLanguageManagement","storage","languageKey","onError","logger","currentLanguage","setCurrentLanguage","useState","loadLanguageFromStorage","useCallback","savedLanguageRaw","getItem","normalized","normalizeLanguageCode","error","message","extractErrorMessage","code","status","__DEV__","console","warn","useEffect","catch","setLanguage","languageId","Error","setItem","applyLanguagePreference","user","userLanguage","language","metadata","useMemo","getLanguageMetadata","languageName","getLanguageName","nativeLanguageName","getNativeLanguageName","hydrateLanguage","exports"],"sourceRoot":"../../../../../src","sources":["ui/context/hooks/useLanguageManagement.ts"],"mappings":"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","ignoreList":[]}
|
|
@@ -1,279 +0,0 @@
|
|
|
1
|
-
"use strict";
|
|
2
|
-
|
|
3
|
-
Object.defineProperty(exports, "__esModule", {
|
|
4
|
-
value: true
|
|
5
|
-
});
|
|
6
|
-
exports.useSessionManagement = void 0;
|
|
7
|
-
var _react = require("react");
|
|
8
|
-
var _core = require("@oxyhq/core");
|
|
9
|
-
var _sessionHelpers = require("../../utils/sessionHelpers.js");
|
|
10
|
-
var _storageHelpers = require("../../utils/storageHelpers.js");
|
|
11
|
-
var _errorHandlers = require("../../utils/errorHandlers.js");
|
|
12
|
-
var _queryClient = require("../../hooks/queryClient.js");
|
|
13
|
-
const DEFAULT_SAVE_ERROR_MESSAGE = 'Failed to save session data';
|
|
14
|
-
const CLEAR_STORAGE_ERROR = 'Failed to clear storage';
|
|
15
|
-
|
|
16
|
-
/**
|
|
17
|
-
* Manage session state, persistence, and high-level multi-session operations.
|
|
18
|
-
*
|
|
19
|
-
* @param options - Session management configuration
|
|
20
|
-
*/
|
|
21
|
-
const useSessionManagement = ({
|
|
22
|
-
oxyServices,
|
|
23
|
-
storage,
|
|
24
|
-
storageKeyPrefix,
|
|
25
|
-
loginSuccess,
|
|
26
|
-
logoutStore,
|
|
27
|
-
applyLanguagePreference,
|
|
28
|
-
onAuthStateChange,
|
|
29
|
-
onError,
|
|
30
|
-
setAuthError,
|
|
31
|
-
logger,
|
|
32
|
-
setTokenReady,
|
|
33
|
-
queryClient
|
|
34
|
-
}) => {
|
|
35
|
-
const [sessions, setSessions] = (0, _react.useState)([]);
|
|
36
|
-
const [activeSessionId, setActiveSessionId] = (0, _react.useState)(null);
|
|
37
|
-
const refreshInFlightRef = (0, _react.useRef)(null);
|
|
38
|
-
const removedSessionsRef = (0, _react.useRef)(new Set());
|
|
39
|
-
const lastRefreshRef = (0, _react.useRef)(0);
|
|
40
|
-
const storageKeys = (0, _react.useMemo)(() => (0, _storageHelpers.getStorageKeys)(storageKeyPrefix), [storageKeyPrefix]);
|
|
41
|
-
const saveSessionIds = (0, _react.useCallback)(async sessionIds => {
|
|
42
|
-
if (!storage) return;
|
|
43
|
-
try {
|
|
44
|
-
const uniqueIds = Array.from(new Set(sessionIds));
|
|
45
|
-
await storage.setItem(storageKeys.sessionIds, JSON.stringify(uniqueIds));
|
|
46
|
-
} catch (error) {
|
|
47
|
-
if (logger) {
|
|
48
|
-
logger(DEFAULT_SAVE_ERROR_MESSAGE, error);
|
|
49
|
-
} else if (__DEV__) {
|
|
50
|
-
console.warn('Failed to save session IDs:', error);
|
|
51
|
-
}
|
|
52
|
-
}
|
|
53
|
-
}, [logger, storage, storageKeys.sessionIds]);
|
|
54
|
-
const updateSessions = (0, _react.useCallback)((incoming, options = {}) => {
|
|
55
|
-
setSessions(prevSessions => {
|
|
56
|
-
const processed = options.merge ? (0, _core.mergeSessions)(prevSessions, incoming, activeSessionId, false) : (0, _core.normalizeAndSortSessions)(incoming, activeSessionId, false);
|
|
57
|
-
if (storage) {
|
|
58
|
-
void saveSessionIds(processed.map(session => session.sessionId));
|
|
59
|
-
}
|
|
60
|
-
if ((0, _core.sessionsArraysEqual)(prevSessions, processed)) {
|
|
61
|
-
return prevSessions;
|
|
62
|
-
}
|
|
63
|
-
return processed;
|
|
64
|
-
});
|
|
65
|
-
}, [activeSessionId, saveSessionIds, storage]);
|
|
66
|
-
const saveActiveSessionId = (0, _react.useCallback)(async sessionId => {
|
|
67
|
-
if (!storage) return;
|
|
68
|
-
try {
|
|
69
|
-
await storage.setItem(storageKeys.activeSessionId, sessionId);
|
|
70
|
-
} catch (error) {
|
|
71
|
-
(0, _errorHandlers.handleAuthError)(error, {
|
|
72
|
-
defaultMessage: DEFAULT_SAVE_ERROR_MESSAGE,
|
|
73
|
-
code: 'SESSION_PERSISTENCE_ERROR',
|
|
74
|
-
onError,
|
|
75
|
-
setAuthError,
|
|
76
|
-
logger
|
|
77
|
-
});
|
|
78
|
-
}
|
|
79
|
-
}, [logger, onError, setAuthError, storage, storageKeys.activeSessionId]);
|
|
80
|
-
const removeActiveSessionId = (0, _react.useCallback)(async () => {
|
|
81
|
-
if (!storage) return;
|
|
82
|
-
try {
|
|
83
|
-
await storage.removeItem(storageKeys.activeSessionId);
|
|
84
|
-
} catch (error) {
|
|
85
|
-
(0, _errorHandlers.handleAuthError)(error, {
|
|
86
|
-
defaultMessage: DEFAULT_SAVE_ERROR_MESSAGE,
|
|
87
|
-
code: 'SESSION_PERSISTENCE_ERROR',
|
|
88
|
-
onError,
|
|
89
|
-
setAuthError,
|
|
90
|
-
logger
|
|
91
|
-
});
|
|
92
|
-
}
|
|
93
|
-
}, [logger, onError, setAuthError, storage, storageKeys.activeSessionId]);
|
|
94
|
-
const clearSessionStorage = (0, _react.useCallback)(async () => {
|
|
95
|
-
if (!storage) return;
|
|
96
|
-
try {
|
|
97
|
-
await storage.removeItem(storageKeys.activeSessionId);
|
|
98
|
-
await storage.removeItem(storageKeys.sessionIds);
|
|
99
|
-
} catch (error) {
|
|
100
|
-
(0, _errorHandlers.handleAuthError)(error, {
|
|
101
|
-
defaultMessage: CLEAR_STORAGE_ERROR,
|
|
102
|
-
code: 'STORAGE_ERROR',
|
|
103
|
-
onError,
|
|
104
|
-
setAuthError,
|
|
105
|
-
logger
|
|
106
|
-
});
|
|
107
|
-
}
|
|
108
|
-
}, [logger, onError, setAuthError, storage, storageKeys.activeSessionId, storageKeys.sessionIds]);
|
|
109
|
-
const clearSessionState = (0, _react.useCallback)(async () => {
|
|
110
|
-
setSessions([]);
|
|
111
|
-
setActiveSessionId(null);
|
|
112
|
-
logoutStore();
|
|
113
|
-
|
|
114
|
-
// Clear TanStack Query cache (in-memory)
|
|
115
|
-
if (queryClient) {
|
|
116
|
-
queryClient.clear();
|
|
117
|
-
}
|
|
118
|
-
|
|
119
|
-
// Clear persisted query cache
|
|
120
|
-
if (storage) {
|
|
121
|
-
try {
|
|
122
|
-
await (0, _queryClient.clearQueryCache)(storage);
|
|
123
|
-
} catch (error) {
|
|
124
|
-
if (logger) {
|
|
125
|
-
logger('Failed to clear persisted query cache', error);
|
|
126
|
-
}
|
|
127
|
-
}
|
|
128
|
-
}
|
|
129
|
-
await clearSessionStorage();
|
|
130
|
-
onAuthStateChange?.(null);
|
|
131
|
-
}, [clearSessionStorage, logoutStore, onAuthStateChange, queryClient, storage, logger]);
|
|
132
|
-
const activateSession = (0, _react.useCallback)(async (sessionId, user) => {
|
|
133
|
-
await oxyServices.getTokenBySession(sessionId);
|
|
134
|
-
setTokenReady?.(true);
|
|
135
|
-
setActiveSessionId(sessionId);
|
|
136
|
-
loginSuccess(user);
|
|
137
|
-
await saveActiveSessionId(sessionId);
|
|
138
|
-
await applyLanguagePreference(user);
|
|
139
|
-
onAuthStateChange?.(user);
|
|
140
|
-
}, [applyLanguagePreference, loginSuccess, onAuthStateChange, oxyServices, saveActiveSessionId, setTokenReady]);
|
|
141
|
-
const trackRemovedSession = (0, _react.useCallback)(sessionId => {
|
|
142
|
-
removedSessionsRef.current.add(sessionId);
|
|
143
|
-
setTimeout(() => {
|
|
144
|
-
removedSessionsRef.current.delete(sessionId);
|
|
145
|
-
}, 5000);
|
|
146
|
-
}, []);
|
|
147
|
-
const findReplacementSession = (0, _react.useCallback)(async sessionIds => {
|
|
148
|
-
if (!sessionIds.length) {
|
|
149
|
-
return null;
|
|
150
|
-
}
|
|
151
|
-
const validationResults = await (0, _sessionHelpers.validateSessionBatch)(oxyServices, sessionIds, {
|
|
152
|
-
maxConcurrency: 3
|
|
153
|
-
});
|
|
154
|
-
const validSession = validationResults.find(result => result.valid);
|
|
155
|
-
if (!validSession) {
|
|
156
|
-
return null;
|
|
157
|
-
}
|
|
158
|
-
const validation = await oxyServices.validateSession(validSession.sessionId, {
|
|
159
|
-
useHeaderValidation: true
|
|
160
|
-
});
|
|
161
|
-
if (!validation?.valid || !validation.user) {
|
|
162
|
-
return null;
|
|
163
|
-
}
|
|
164
|
-
const user = validation.user;
|
|
165
|
-
await activateSession(validSession.sessionId, user);
|
|
166
|
-
return user;
|
|
167
|
-
}, [activateSession, oxyServices]);
|
|
168
|
-
const switchSession = (0, _react.useCallback)(async sessionId => {
|
|
169
|
-
try {
|
|
170
|
-
const validation = await oxyServices.validateSession(sessionId, {
|
|
171
|
-
useHeaderValidation: true
|
|
172
|
-
});
|
|
173
|
-
if (!validation?.valid) {
|
|
174
|
-
throw new Error('Session is invalid or expired');
|
|
175
|
-
}
|
|
176
|
-
if (!validation.user) {
|
|
177
|
-
throw new Error('User data not available from session validation');
|
|
178
|
-
}
|
|
179
|
-
const user = validation.user;
|
|
180
|
-
await activateSession(sessionId, user);
|
|
181
|
-
try {
|
|
182
|
-
const deviceSessions = await (0, _sessionHelpers.fetchSessionsWithFallback)(oxyServices, sessionId, {
|
|
183
|
-
fallbackUserId: user.id,
|
|
184
|
-
logger
|
|
185
|
-
});
|
|
186
|
-
updateSessions(deviceSessions, {
|
|
187
|
-
merge: true
|
|
188
|
-
});
|
|
189
|
-
} catch (error) {
|
|
190
|
-
if (__DEV__) {
|
|
191
|
-
console.warn('Failed to synchronize sessions after switch:', error);
|
|
192
|
-
}
|
|
193
|
-
}
|
|
194
|
-
return user;
|
|
195
|
-
} catch (error) {
|
|
196
|
-
const invalidSession = (0, _errorHandlers.isInvalidSessionError)(error);
|
|
197
|
-
if (invalidSession) {
|
|
198
|
-
updateSessions(sessions.filter(session => session.sessionId !== sessionId), {
|
|
199
|
-
merge: false
|
|
200
|
-
});
|
|
201
|
-
if (sessionId === activeSessionId) {
|
|
202
|
-
const otherSessionIds = sessions.filter(session => session.sessionId !== sessionId && !removedSessionsRef.current.has(session.sessionId)).map(session => session.sessionId);
|
|
203
|
-
const replacementUser = await findReplacementSession(otherSessionIds);
|
|
204
|
-
if (replacementUser) {
|
|
205
|
-
return replacementUser;
|
|
206
|
-
}
|
|
207
|
-
}
|
|
208
|
-
}
|
|
209
|
-
(0, _errorHandlers.handleAuthError)(error, {
|
|
210
|
-
defaultMessage: 'Failed to switch session',
|
|
211
|
-
code: invalidSession ? 'INVALID_SESSION' : 'SESSION_SWITCH_ERROR',
|
|
212
|
-
onError,
|
|
213
|
-
setAuthError,
|
|
214
|
-
logger
|
|
215
|
-
});
|
|
216
|
-
throw error instanceof Error ? error : new Error('Failed to switch session');
|
|
217
|
-
}
|
|
218
|
-
}, [activateSession, activeSessionId, findReplacementSession, logger, loginSuccess, onError, oxyServices, sessions, setAuthError, updateSessions]);
|
|
219
|
-
const refreshSessions = (0, _react.useCallback)(async activeUserId => {
|
|
220
|
-
if (!activeSessionId) return;
|
|
221
|
-
if (refreshInFlightRef.current) {
|
|
222
|
-
await refreshInFlightRef.current;
|
|
223
|
-
return;
|
|
224
|
-
}
|
|
225
|
-
const now = Date.now();
|
|
226
|
-
if (now - lastRefreshRef.current < 500) {
|
|
227
|
-
return;
|
|
228
|
-
}
|
|
229
|
-
lastRefreshRef.current = now;
|
|
230
|
-
const refreshPromise = (async () => {
|
|
231
|
-
try {
|
|
232
|
-
const deviceSessions = await (0, _sessionHelpers.fetchSessionsWithFallback)(oxyServices, activeSessionId, {
|
|
233
|
-
fallbackUserId: activeUserId,
|
|
234
|
-
logger
|
|
235
|
-
});
|
|
236
|
-
updateSessions(deviceSessions, {
|
|
237
|
-
merge: true
|
|
238
|
-
});
|
|
239
|
-
} catch (error) {
|
|
240
|
-
if ((0, _errorHandlers.isInvalidSessionError)(error)) {
|
|
241
|
-
const otherSessions = sessions.filter(session => session.sessionId !== activeSessionId && !removedSessionsRef.current.has(session.sessionId)).map(session => session.sessionId);
|
|
242
|
-
const replacementUser = await findReplacementSession(otherSessions);
|
|
243
|
-
if (!replacementUser) {
|
|
244
|
-
await clearSessionState();
|
|
245
|
-
}
|
|
246
|
-
return;
|
|
247
|
-
}
|
|
248
|
-
(0, _errorHandlers.handleAuthError)(error, {
|
|
249
|
-
defaultMessage: 'Failed to refresh sessions',
|
|
250
|
-
code: 'SESSION_REFRESH_ERROR',
|
|
251
|
-
onError,
|
|
252
|
-
setAuthError,
|
|
253
|
-
logger
|
|
254
|
-
});
|
|
255
|
-
} finally {
|
|
256
|
-
refreshInFlightRef.current = null;
|
|
257
|
-
lastRefreshRef.current = Date.now();
|
|
258
|
-
}
|
|
259
|
-
})();
|
|
260
|
-
refreshInFlightRef.current = refreshPromise;
|
|
261
|
-
await refreshPromise;
|
|
262
|
-
}, [activeSessionId, clearSessionState, findReplacementSession, logger, onError, oxyServices, sessions, setAuthError, updateSessions]);
|
|
263
|
-
const isRefreshInFlight = Boolean(refreshInFlightRef.current);
|
|
264
|
-
return {
|
|
265
|
-
sessions,
|
|
266
|
-
activeSessionId,
|
|
267
|
-
setActiveSessionId,
|
|
268
|
-
updateSessions,
|
|
269
|
-
switchSession,
|
|
270
|
-
refreshSessions,
|
|
271
|
-
clearSessionState,
|
|
272
|
-
saveActiveSessionId,
|
|
273
|
-
trackRemovedSession,
|
|
274
|
-
storageKeys,
|
|
275
|
-
isRefreshInFlight
|
|
276
|
-
};
|
|
277
|
-
};
|
|
278
|
-
exports.useSessionManagement = useSessionManagement;
|
|
279
|
-
//# sourceMappingURL=useSessionManagement.js.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"names":["_react","require","_core","_sessionHelpers","_storageHelpers","_errorHandlers","_queryClient","DEFAULT_SAVE_ERROR_MESSAGE","CLEAR_STORAGE_ERROR","useSessionManagement","oxyServices","storage","storageKeyPrefix","loginSuccess","logoutStore","applyLanguagePreference","onAuthStateChange","onError","setAuthError","logger","setTokenReady","queryClient","sessions","setSessions","useState","activeSessionId","setActiveSessionId","refreshInFlightRef","useRef","removedSessionsRef","Set","lastRefreshRef","storageKeys","useMemo","getStorageKeys","saveSessionIds","useCallback","sessionIds","uniqueIds","Array","from","setItem","JSON","stringify","error","__DEV__","console","warn","updateSessions","incoming","options","prevSessions","processed","merge","mergeSessions","normalizeAndSortSessions","map","session","sessionId","sessionsArraysEqual","saveActiveSessionId","handleAuthError","defaultMessage","code","removeActiveSessionId","removeItem","clearSessionStorage","clearSessionState","clear","clearQueryCache","activateSession","user","getTokenBySession","trackRemovedSession","current","add","setTimeout","delete","findReplacementSession","length","validationResults","validateSessionBatch","maxConcurrency","validSession","find","result","valid","validation","validateSession","useHeaderValidation","switchSession","Error","deviceSessions","fetchSessionsWithFallback","fallbackUserId","id","invalidSession","isInvalidSessionError","filter","otherSessionIds","has","replacementUser","refreshSessions","activeUserId","now","Date","refreshPromise","otherSessions","isRefreshInFlight","Boolean","exports"],"sourceRoot":"../../../../../src","sources":["ui/context/hooks/useSessionManagement.ts"],"mappings":"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","ignoreList":[]}
|
|
@@ -1,68 +0,0 @@
|
|
|
1
|
-
"use strict";
|
|
2
|
-
|
|
3
|
-
import { useCallback } from 'react';
|
|
4
|
-
import { DeviceManager } from '@oxyhq/core';
|
|
5
|
-
import { handleAuthError } from "../../utils/errorHandlers.js";
|
|
6
|
-
/**
|
|
7
|
-
* Provide device session management helpers tied to the current active session.
|
|
8
|
-
*
|
|
9
|
-
* @param options - Device management configuration
|
|
10
|
-
*/
|
|
11
|
-
export const useDeviceManagement = ({
|
|
12
|
-
oxyServices,
|
|
13
|
-
activeSessionId,
|
|
14
|
-
onError,
|
|
15
|
-
clearSessionState,
|
|
16
|
-
logger
|
|
17
|
-
}) => {
|
|
18
|
-
const getDeviceSessions = useCallback(async () => {
|
|
19
|
-
if (!activeSessionId) throw new Error('No active session');
|
|
20
|
-
try {
|
|
21
|
-
return await oxyServices.getDeviceSessions(activeSessionId);
|
|
22
|
-
} catch (error) {
|
|
23
|
-
handleAuthError(error, {
|
|
24
|
-
defaultMessage: 'Failed to get device sessions',
|
|
25
|
-
code: 'GET_DEVICE_SESSIONS_ERROR',
|
|
26
|
-
onError,
|
|
27
|
-
logger
|
|
28
|
-
});
|
|
29
|
-
throw error instanceof Error ? error : new Error('Failed to get device sessions');
|
|
30
|
-
}
|
|
31
|
-
}, [activeSessionId, logger, onError, oxyServices]);
|
|
32
|
-
const logoutAllDeviceSessions = useCallback(async () => {
|
|
33
|
-
if (!activeSessionId) throw new Error('No active session');
|
|
34
|
-
try {
|
|
35
|
-
await oxyServices.logoutAllDeviceSessions(activeSessionId);
|
|
36
|
-
await clearSessionState();
|
|
37
|
-
} catch (error) {
|
|
38
|
-
handleAuthError(error, {
|
|
39
|
-
defaultMessage: 'Failed to logout all device sessions',
|
|
40
|
-
code: 'LOGOUT_ALL_DEVICES_ERROR',
|
|
41
|
-
onError,
|
|
42
|
-
logger
|
|
43
|
-
});
|
|
44
|
-
throw error instanceof Error ? error : new Error('Failed to logout all device sessions');
|
|
45
|
-
}
|
|
46
|
-
}, [activeSessionId, clearSessionState, logger, onError, oxyServices]);
|
|
47
|
-
const updateDeviceName = useCallback(async deviceName => {
|
|
48
|
-
if (!activeSessionId) throw new Error('No active session');
|
|
49
|
-
try {
|
|
50
|
-
await oxyServices.updateDeviceName(activeSessionId, deviceName);
|
|
51
|
-
await DeviceManager.updateDeviceName(deviceName);
|
|
52
|
-
} catch (error) {
|
|
53
|
-
handleAuthError(error, {
|
|
54
|
-
defaultMessage: 'Failed to update device name',
|
|
55
|
-
code: 'UPDATE_DEVICE_NAME_ERROR',
|
|
56
|
-
onError,
|
|
57
|
-
logger
|
|
58
|
-
});
|
|
59
|
-
throw error instanceof Error ? error : new Error('Failed to update device name');
|
|
60
|
-
}
|
|
61
|
-
}, [activeSessionId, logger, onError, oxyServices]);
|
|
62
|
-
return {
|
|
63
|
-
getDeviceSessions,
|
|
64
|
-
logoutAllDeviceSessions,
|
|
65
|
-
updateDeviceName
|
|
66
|
-
};
|
|
67
|
-
};
|
|
68
|
-
//# sourceMappingURL=useDeviceManagement.js.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"names":["useCallback","DeviceManager","handleAuthError","useDeviceManagement","oxyServices","activeSessionId","onError","clearSessionState","logger","getDeviceSessions","Error","error","defaultMessage","code","logoutAllDeviceSessions","updateDeviceName","deviceName"],"sourceRoot":"../../../../../src","sources":["ui/context/hooks/useDeviceManagement.ts"],"mappings":";;AAAA,SAASA,WAAW,QAAQ,OAAO;AAEnC,SAASC,aAAa,QAAQ,aAAa;AAE3C,SAASC,eAAe,QAAQ,8BAA2B;AAwB3D;AACA;AACA;AACA;AACA;AACA,OAAO,MAAMC,mBAAmB,GAAGA,CAAC;EAClCC,WAAW;EACXC,eAAe;EACfC,OAAO;EACPC,iBAAiB;EACjBC;AAC0B,CAAC,KAAgC;EAC3D,MAAMC,iBAAiB,GAAGT,WAAW,CAAC,YAQjC;IACH,IAAI,CAACK,eAAe,EAAE,MAAM,IAAIK,KAAK,CAAC,mBAAmB,CAAC;IAC1D,IAAI;MACF,OAAO,MAAMN,WAAW,CAACK,iBAAiB,CAACJ,eAAe,CAAC;IAC7D,CAAC,CAAC,OAAOM,KAAK,EAAE;MACdT,eAAe,CAACS,KAAK,EAAE;QACrBC,cAAc,EAAE,+BAA+B;QAC/CC,IAAI,EAAE,2BAA2B;QACjCP,OAAO;QACPE;MACF,CAAC,CAAC;MACF,MAAMG,KAAK,YAAYD,KAAK,GAAGC,KAAK,GAAG,IAAID,KAAK,CAAC,+BAA+B,CAAC;IACnF;EACF,CAAC,EAAE,CAACL,eAAe,EAAEG,MAAM,EAAEF,OAAO,EAAEF,WAAW,CAAC,CAAC;EAEnD,MAAMU,uBAAuB,GAAGd,WAAW,CAAC,YAA2B;IACrE,IAAI,CAACK,eAAe,EAAE,MAAM,IAAIK,KAAK,CAAC,mBAAmB,CAAC;IAE1D,IAAI;MACF,MAAMN,WAAW,CAACU,uBAAuB,CAACT,eAAe,CAAC;MAC1D,MAAME,iBAAiB,CAAC,CAAC;IAC3B,CAAC,CAAC,OAAOI,KAAK,EAAE;MACdT,eAAe,CAACS,KAAK,EAAE;QACrBC,cAAc,EAAE,sCAAsC;QACtDC,IAAI,EAAE,0BAA0B;QAChCP,OAAO;QACPE;MACF,CAAC,CAAC;MACF,MAAMG,KAAK,YAAYD,KAAK,GAAGC,KAAK,GAAG,IAAID,KAAK,CAAC,sCAAsC,CAAC;IAC1F;EACF,CAAC,EAAE,CAACL,eAAe,EAAEE,iBAAiB,EAAEC,MAAM,EAAEF,OAAO,EAAEF,WAAW,CAAC,CAAC;EAEtE,MAAMW,gBAAgB,GAAGf,WAAW,CAClC,MAAOgB,UAAkB,IAAoB;IAC3C,IAAI,CAACX,eAAe,EAAE,MAAM,IAAIK,KAAK,CAAC,mBAAmB,CAAC;IAE1D,IAAI;MACF,MAAMN,WAAW,CAACW,gBAAgB,CAACV,eAAe,EAAEW,UAAU,CAAC;MAC/D,MAAMf,aAAa,CAACc,gBAAgB,CAACC,UAAU,CAAC;IAClD,CAAC,CAAC,OAAOL,KAAK,EAAE;MACdT,eAAe,CAACS,KAAK,EAAE;QACrBC,cAAc,EAAE,8BAA8B;QAC9CC,IAAI,EAAE,0BAA0B;QAChCP,OAAO;QACPE;MACF,CAAC,CAAC;MACF,MAAMG,KAAK,YAAYD,KAAK,GAAGC,KAAK,GAAG,IAAID,KAAK,CAAC,8BAA8B,CAAC;IAClF;EACF,CAAC,EACD,CAACL,eAAe,EAAEG,MAAM,EAAEF,OAAO,EAAEF,WAAW,CAChD,CAAC;EAED,OAAO;IACLK,iBAAiB;IACjBK,uBAAuB;IACvBC;EACF,CAAC;AACH,CAAC","ignoreList":[]}
|
|
@@ -1,107 +0,0 @@
|
|
|
1
|
-
"use strict";
|
|
2
|
-
|
|
3
|
-
import { useCallback, useEffect, useMemo, useState } from 'react';
|
|
4
|
-
import { getLanguageMetadata, getLanguageName, getNativeLanguageName, normalizeLanguageCode } from '@oxyhq/core';
|
|
5
|
-
import { extractErrorMessage } from "../../utils/errorHandlers.js";
|
|
6
|
-
const DEFAULT_LANGUAGE = 'en-US';
|
|
7
|
-
|
|
8
|
-
/**
|
|
9
|
-
* Manage UI language state, persistence, and metadata derivation.
|
|
10
|
-
*
|
|
11
|
-
* @param options - Configuration for storage access and error reporting
|
|
12
|
-
*/
|
|
13
|
-
export const useLanguageManagement = ({
|
|
14
|
-
storage,
|
|
15
|
-
languageKey,
|
|
16
|
-
onError,
|
|
17
|
-
logger
|
|
18
|
-
}) => {
|
|
19
|
-
const [currentLanguage, setCurrentLanguage] = useState(DEFAULT_LANGUAGE);
|
|
20
|
-
const loadLanguageFromStorage = useCallback(async () => {
|
|
21
|
-
if (!storage) {
|
|
22
|
-
return;
|
|
23
|
-
}
|
|
24
|
-
try {
|
|
25
|
-
const savedLanguageRaw = await storage.getItem(languageKey);
|
|
26
|
-
const normalized = normalizeLanguageCode(savedLanguageRaw) || savedLanguageRaw;
|
|
27
|
-
if (normalized) {
|
|
28
|
-
setCurrentLanguage(normalized);
|
|
29
|
-
}
|
|
30
|
-
} catch (error) {
|
|
31
|
-
const message = extractErrorMessage(error, 'Failed to load language preference');
|
|
32
|
-
onError?.({
|
|
33
|
-
message,
|
|
34
|
-
code: 'LANGUAGE_LOAD_ERROR',
|
|
35
|
-
status: 500
|
|
36
|
-
});
|
|
37
|
-
if (logger) {
|
|
38
|
-
logger(message, error);
|
|
39
|
-
} else if (__DEV__) {
|
|
40
|
-
console.warn('Failed to load language preference:', error);
|
|
41
|
-
}
|
|
42
|
-
}
|
|
43
|
-
}, [languageKey, logger, onError, storage]);
|
|
44
|
-
useEffect(() => {
|
|
45
|
-
loadLanguageFromStorage().catch(error => {
|
|
46
|
-
if (logger) {
|
|
47
|
-
logger('Unexpected error loading language', error);
|
|
48
|
-
}
|
|
49
|
-
});
|
|
50
|
-
}, [loadLanguageFromStorage, logger]);
|
|
51
|
-
const setLanguage = useCallback(async languageId => {
|
|
52
|
-
if (!storage) {
|
|
53
|
-
throw new Error('Storage not initialized');
|
|
54
|
-
}
|
|
55
|
-
const normalized = normalizeLanguageCode(languageId) || languageId;
|
|
56
|
-
try {
|
|
57
|
-
await storage.setItem(languageKey, normalized);
|
|
58
|
-
setCurrentLanguage(normalized);
|
|
59
|
-
} catch (error) {
|
|
60
|
-
const message = extractErrorMessage(error, 'Failed to save language preference');
|
|
61
|
-
onError?.({
|
|
62
|
-
message,
|
|
63
|
-
code: 'LANGUAGE_SAVE_ERROR',
|
|
64
|
-
status: 500
|
|
65
|
-
});
|
|
66
|
-
if (logger) {
|
|
67
|
-
logger(message, error);
|
|
68
|
-
} else if (__DEV__) {
|
|
69
|
-
console.warn('Failed to save language preference:', error);
|
|
70
|
-
}
|
|
71
|
-
throw error instanceof Error ? error : new Error(message);
|
|
72
|
-
}
|
|
73
|
-
}, [languageKey, logger, onError, storage]);
|
|
74
|
-
const applyLanguagePreference = useCallback(async user => {
|
|
75
|
-
if (!storage || !user) {
|
|
76
|
-
return;
|
|
77
|
-
}
|
|
78
|
-
const userLanguage = user?.language;
|
|
79
|
-
if (!userLanguage) {
|
|
80
|
-
return;
|
|
81
|
-
}
|
|
82
|
-
try {
|
|
83
|
-
const normalized = normalizeLanguageCode(userLanguage) || userLanguage;
|
|
84
|
-
await storage.setItem(languageKey, normalized);
|
|
85
|
-
setCurrentLanguage(normalized);
|
|
86
|
-
} catch (error) {
|
|
87
|
-
if (logger) {
|
|
88
|
-
logger('Failed to apply server language preference', error);
|
|
89
|
-
} else if (__DEV__) {
|
|
90
|
-
console.warn('Failed to apply server language preference', error);
|
|
91
|
-
}
|
|
92
|
-
}
|
|
93
|
-
}, [languageKey, logger, storage]);
|
|
94
|
-
const metadata = useMemo(() => getLanguageMetadata(currentLanguage), [currentLanguage]);
|
|
95
|
-
const languageName = useMemo(() => getLanguageName(currentLanguage), [currentLanguage]);
|
|
96
|
-
const nativeLanguageName = useMemo(() => getNativeLanguageName(currentLanguage), [currentLanguage]);
|
|
97
|
-
return {
|
|
98
|
-
currentLanguage,
|
|
99
|
-
metadata,
|
|
100
|
-
languageName,
|
|
101
|
-
nativeLanguageName,
|
|
102
|
-
setLanguage,
|
|
103
|
-
applyLanguagePreference,
|
|
104
|
-
hydrateLanguage: loadLanguageFromStorage
|
|
105
|
-
};
|
|
106
|
-
};
|
|
107
|
-
//# sourceMappingURL=useLanguageManagement.js.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"names":["useCallback","useEffect","useMemo","useState","getLanguageMetadata","getLanguageName","getNativeLanguageName","normalizeLanguageCode","extractErrorMessage","DEFAULT_LANGUAGE","useLanguageManagement","storage","languageKey","onError","logger","currentLanguage","setCurrentLanguage","loadLanguageFromStorage","savedLanguageRaw","getItem","normalized","error","message","code","status","__DEV__","console","warn","catch","setLanguage","languageId","Error","setItem","applyLanguagePreference","user","userLanguage","language","metadata","languageName","nativeLanguageName","hydrateLanguage"],"sourceRoot":"../../../../../src","sources":["ui/context/hooks/useLanguageManagement.ts"],"mappings":";;AAAA,SAASA,WAAW,EAAEC,SAAS,EAAEC,OAAO,EAAEC,QAAQ,QAAQ,OAAO;AAEjE,SACEC,mBAAmB,EACnBC,eAAe,EACfC,qBAAqB,EACrBC,qBAAqB,QAEhB,aAAa;AAEpB,SAASC,mBAAmB,QAAQ,8BAA2B;AAmB/D,MAAMC,gBAAgB,GAAG,OAAO;;AAEhC;AACA;AACA;AACA;AACA;AACA,OAAO,MAAMC,qBAAqB,GAAGA,CAAC;EACpCC,OAAO;EACPC,WAAW;EACXC,OAAO;EACPC;AAC4B,CAAC,KAAkC;EAC/D,MAAM,CAACC,eAAe,EAAEC,kBAAkB,CAAC,GAAGb,QAAQ,CAASM,gBAAgB,CAAC;EAEhF,MAAMQ,uBAAuB,GAAGjB,WAAW,CAAC,YAA2B;IACrE,IAAI,CAACW,OAAO,EAAE;MACZ;IACF;IAEA,IAAI;MACF,MAAMO,gBAAgB,GAAG,MAAMP,OAAO,CAACQ,OAAO,CAACP,WAAW,CAAC;MAC3D,MAAMQ,UAAU,GAAGb,qBAAqB,CAACW,gBAAgB,CAAC,IAAIA,gBAAgB;MAC9E,IAAIE,UAAU,EAAE;QACdJ,kBAAkB,CAACI,UAAU,CAAC;MAChC;IACF,CAAC,CAAC,OAAOC,KAAK,EAAE;MACd,MAAMC,OAAO,GAAGd,mBAAmB,CAACa,KAAK,EAAE,oCAAoC,CAAC;MAChFR,OAAO,GAAG;QACRS,OAAO;QACPC,IAAI,EAAE,qBAAqB;QAC3BC,MAAM,EAAE;MACV,CAAC,CAAC;MACF,IAAIV,MAAM,EAAE;QACVA,MAAM,CAACQ,OAAO,EAAED,KAAK,CAAC;MACxB,CAAC,MAAM,IAAII,OAAO,EAAE;QAClBC,OAAO,CAACC,IAAI,CAAC,qCAAqC,EAAEN,KAAK,CAAC;MAC5D;IACF;EACF,CAAC,EAAE,CAACT,WAAW,EAAEE,MAAM,EAAED,OAAO,EAAEF,OAAO,CAAC,CAAC;EAE3CV,SAAS,CAAC,MAAM;IACdgB,uBAAuB,CAAC,CAAC,CAACW,KAAK,CAAEP,KAAK,IAAK;MACzC,IAAIP,MAAM,EAAE;QACVA,MAAM,CAAC,mCAAmC,EAAEO,KAAK,CAAC;MACpD;IACF,CAAC,CAAC;EACJ,CAAC,EAAE,CAACJ,uBAAuB,EAAEH,MAAM,CAAC,CAAC;EAErC,MAAMe,WAAW,GAAG7B,WAAW,CAC7B,MAAO8B,UAAkB,IAAoB;IAC3C,IAAI,CAACnB,OAAO,EAAE;MACZ,MAAM,IAAIoB,KAAK,CAAC,yBAAyB,CAAC;IAC5C;IAEA,MAAMX,UAAU,GAAGb,qBAAqB,CAACuB,UAAU,CAAC,IAAIA,UAAU;IAElE,IAAI;MACF,MAAMnB,OAAO,CAACqB,OAAO,CAACpB,WAAW,EAAEQ,UAAU,CAAC;MAC9CJ,kBAAkB,CAACI,UAAU,CAAC;IAChC,CAAC,CAAC,OAAOC,KAAK,EAAE;MACd,MAAMC,OAAO,GAAGd,mBAAmB,CAACa,KAAK,EAAE,oCAAoC,CAAC;MAChFR,OAAO,GAAG;QACRS,OAAO;QACPC,IAAI,EAAE,qBAAqB;QAC3BC,MAAM,EAAE;MACV,CAAC,CAAC;MACF,IAAIV,MAAM,EAAE;QACVA,MAAM,CAACQ,OAAO,EAAED,KAAK,CAAC;MACxB,CAAC,MAAM,IAAII,OAAO,EAAE;QAClBC,OAAO,CAACC,IAAI,CAAC,qCAAqC,EAAEN,KAAK,CAAC;MAC5D;MACA,MAAMA,KAAK,YAAYU,KAAK,GAAGV,KAAK,GAAG,IAAIU,KAAK,CAACT,OAAO,CAAC;IAC3D;EACF,CAAC,EACD,CAACV,WAAW,EAAEE,MAAM,EAAED,OAAO,EAAEF,OAAO,CACxC,CAAC;EAED,MAAMsB,uBAAuB,GAAGjC,WAAW,CACzC,MAAOkC,IAAiB,IAAoB;IAC1C,IAAI,CAACvB,OAAO,IAAI,CAACuB,IAAI,EAAE;MACrB;IACF;IAEA,MAAMC,YAAY,GAAID,IAAI,EAA8BE,QAA8B;IACtF,IAAI,CAACD,YAAY,EAAE;MACjB;IACF;IAEA,IAAI;MACF,MAAMf,UAAU,GAAGb,qBAAqB,CAAC4B,YAAY,CAAC,IAAIA,YAAY;MACtE,MAAMxB,OAAO,CAACqB,OAAO,CAACpB,WAAW,EAAEQ,UAAU,CAAC;MAC9CJ,kBAAkB,CAACI,UAAU,CAAC;IAChC,CAAC,CAAC,OAAOC,KAAK,EAAE;MACd,IAAIP,MAAM,EAAE;QACVA,MAAM,CAAC,4CAA4C,EAAEO,KAAK,CAAC;MAC7D,CAAC,MAAM,IAAII,OAAO,EAAE;QAClBC,OAAO,CAACC,IAAI,CAAC,4CAA4C,EAAEN,KAAK,CAAC;MACnE;IACF;EACF,CAAC,EACD,CAACT,WAAW,EAAEE,MAAM,EAAEH,OAAO,CAC/B,CAAC;EAED,MAAM0B,QAAQ,GAAGnC,OAAO,CAAC,MAAME,mBAAmB,CAACW,eAAe,CAAC,EAAE,CAACA,eAAe,CAAC,CAAC;EACvF,MAAMuB,YAAY,GAAGpC,OAAO,CAAC,MAAMG,eAAe,CAACU,eAAe,CAAC,EAAE,CAACA,eAAe,CAAC,CAAC;EACvF,MAAMwB,kBAAkB,GAAGrC,OAAO,CAChC,MAAMI,qBAAqB,CAACS,eAAe,CAAC,EAC5C,CAACA,eAAe,CAClB,CAAC;EAED,OAAO;IACLA,eAAe;IACfsB,QAAQ;IACRC,YAAY;IACZC,kBAAkB;IAClBV,WAAW;IACXI,uBAAuB;IACvBO,eAAe,EAAEvB;EACnB,CAAC;AACH,CAAC","ignoreList":[]}
|