@oxyhq/services 5.25.0 → 5.26.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/README.md +60 -8
- package/lib/commonjs/core/AuthManager.js +405 -0
- package/lib/commonjs/core/AuthManager.js.map +1 -0
- package/lib/commonjs/core/HttpService.js +39 -1
- package/lib/commonjs/core/HttpService.js.map +1 -1
- package/lib/commonjs/core/index.js +16 -0
- package/lib/commonjs/core/index.js.map +1 -1
- package/lib/commonjs/core/mixins/OxyServices.fedcm.js +38 -44
- package/lib/commonjs/core/mixins/OxyServices.fedcm.js.map +1 -1
- package/lib/commonjs/core/mixins/OxyServices.popup.js +9 -7
- package/lib/commonjs/core/mixins/OxyServices.popup.js.map +1 -1
- package/lib/commonjs/crypto/keyManager.js +16 -21
- package/lib/commonjs/crypto/keyManager.js.map +1 -1
- package/lib/commonjs/index.js +386 -18
- package/lib/commonjs/index.js.map +1 -1
- package/lib/commonjs/lib/sonner.js +13 -17
- package/lib/commonjs/lib/sonner.js.map +1 -1
- package/lib/commonjs/lib/sonner.native.js +24 -0
- package/lib/commonjs/lib/sonner.native.js.map +1 -0
- package/lib/commonjs/lib/sonner.web.js +24 -0
- package/lib/commonjs/lib/sonner.web.js.map +1 -0
- package/lib/commonjs/shared/index.js +227 -0
- package/lib/commonjs/shared/index.js.map +1 -0
- package/lib/commonjs/shared/utils/colorUtils.js +161 -0
- package/lib/commonjs/shared/utils/colorUtils.js.map +1 -0
- package/lib/commonjs/shared/utils/debugUtils.js +84 -0
- package/lib/commonjs/shared/utils/debugUtils.js.map +1 -0
- package/lib/commonjs/shared/utils/errorUtils.js +190 -0
- package/lib/commonjs/shared/utils/errorUtils.js.map +1 -0
- package/lib/commonjs/shared/utils/index.js +196 -0
- package/lib/commonjs/shared/utils/index.js.map +1 -0
- package/lib/commonjs/shared/utils/networkUtils.js +213 -0
- package/lib/commonjs/shared/utils/networkUtils.js.map +1 -0
- package/lib/commonjs/shared/utils/themeUtils.js +118 -0
- package/lib/commonjs/shared/utils/themeUtils.js.map +1 -0
- package/lib/commonjs/ui/client.js +1 -1
- package/lib/commonjs/ui/components/BottomSheetRouter.js +1 -1
- package/lib/commonjs/ui/components/FollowButton.js +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 -1
- package/lib/commonjs/ui/components/Header.js +1 -1
- package/lib/commonjs/ui/components/OxyProvider.js +10 -2
- package/lib/commonjs/ui/components/OxyProvider.js.map +1 -1
- package/lib/commonjs/ui/components/OxySignInButton.js +19 -20
- package/lib/commonjs/ui/components/OxySignInButton.js.map +1 -1
- package/lib/commonjs/ui/components/ProfileCard.js +1 -1
- package/lib/commonjs/ui/components/ProfileCard.js.map +1 -1
- package/lib/commonjs/ui/components/QuickActions.js +1 -1
- package/lib/commonjs/ui/components/QuickActions.js.map +1 -1
- package/lib/commonjs/ui/components/Section.js +1 -1
- package/lib/commonjs/ui/components/SectionTitle.js +1 -1
- package/lib/commonjs/ui/components/SignInModal.js +546 -0
- package/lib/commonjs/ui/components/SignInModal.js.map +1 -0
- package/lib/commonjs/ui/components/payment/PaymentDetailsStep.js +1 -1
- package/lib/commonjs/ui/context/OxyContext.js +3 -2
- package/lib/commonjs/ui/context/OxyContext.js.map +1 -1
- package/lib/commonjs/ui/hooks/mutations/mutationFactory.js +1 -1
- package/lib/commonjs/ui/hooks/mutations/useAccountMutations.js +1 -1
- package/lib/commonjs/ui/hooks/mutations/useServicesMutations.js +1 -1
- package/lib/commonjs/ui/hooks/useAsyncAction.js +1 -1
- package/lib/commonjs/ui/hooks/{use-color-scheme.js → useColorScheme.js} +1 -1
- package/lib/commonjs/ui/hooks/useColorScheme.js.map +1 -0
- package/lib/commonjs/ui/hooks/useSessionSocket.js +7 -13
- package/lib/commonjs/ui/hooks/useSessionSocket.js.map +1 -1
- package/lib/commonjs/ui/hooks/useSettingToggle.js +1 -1
- package/lib/commonjs/ui/hooks/useThemeColors.js +1 -1
- package/lib/commonjs/ui/hooks/useThemeStyles.js +1 -1
- package/lib/commonjs/ui/navigation/bottomSheetManager.js +5 -2
- package/lib/commonjs/ui/navigation/bottomSheetManager.js.map +1 -1
- package/lib/commonjs/ui/navigation/routes.js +7 -8
- package/lib/commonjs/ui/navigation/routes.js.map +1 -1
- package/lib/commonjs/ui/screens/AccountCenterScreen.js +8 -8
- package/lib/commonjs/ui/screens/AccountCenterScreen.js.map +1 -1
- package/lib/commonjs/ui/screens/AccountOverviewScreen.js +7 -7
- package/lib/commonjs/ui/screens/AccountOverviewScreen.js.map +1 -1
- package/lib/commonjs/ui/screens/AccountSettingsScreen.js +3 -3
- package/lib/commonjs/ui/screens/AccountSwitcherScreen.js +5 -5
- package/lib/commonjs/ui/screens/AccountSwitcherScreen.js.map +1 -1
- package/lib/commonjs/ui/screens/AccountVerificationScreen.js +1 -1
- package/lib/commonjs/ui/screens/AppInfoScreen.js +2 -2
- package/lib/commonjs/ui/screens/EditProfileFieldScreen.js +2 -2
- package/lib/commonjs/ui/screens/FAQScreen.js +1 -1
- package/lib/commonjs/ui/screens/FeedbackScreen.js +1 -1
- package/lib/commonjs/ui/screens/FileManagementScreen.js +2 -2
- package/lib/commonjs/ui/screens/FollowersListScreen.js +18 -0
- package/lib/commonjs/ui/screens/FollowersListScreen.js.map +1 -0
- package/lib/commonjs/ui/screens/FollowingListScreen.js +18 -0
- package/lib/commonjs/ui/screens/FollowingListScreen.js.map +1 -0
- package/lib/commonjs/ui/screens/HelpSupportScreen.js +2 -2
- package/lib/commonjs/ui/screens/HelpSupportScreen.js.map +1 -1
- package/lib/commonjs/ui/screens/HistoryViewScreen.js +2 -2
- package/lib/commonjs/ui/screens/LanguageSelectorScreen.js +2 -2
- package/lib/commonjs/ui/screens/LearnMoreUsernamesScreen.js +229 -0
- package/lib/commonjs/ui/screens/LearnMoreUsernamesScreen.js.map +1 -0
- package/lib/commonjs/ui/screens/LegalDocumentsScreen.js +2 -2
- package/lib/commonjs/ui/screens/LegalDocumentsScreen.js.map +1 -1
- package/lib/commonjs/ui/screens/OxyAuthScreen.js +9 -21
- package/lib/commonjs/ui/screens/OxyAuthScreen.js.map +1 -1
- package/lib/commonjs/ui/screens/PremiumSubscriptionScreen.js +2 -2
- package/lib/commonjs/ui/screens/PrivacySettingsScreen.js +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/SavesCollectionsScreen.js +2 -2
- package/lib/commonjs/ui/screens/SessionManagementScreen.js +1 -1
- package/lib/commonjs/ui/screens/UserListScreen.js +411 -0
- package/lib/commonjs/ui/screens/UserListScreen.js.map +1 -0
- package/lib/commonjs/ui/screens/WelcomeNewUserScreen.js +1 -1
- package/lib/commonjs/ui/screens/karma/KarmaAboutScreen.js +1 -1
- package/lib/commonjs/ui/screens/karma/KarmaCenterScreen.js +1 -1
- package/lib/commonjs/ui/screens/karma/KarmaFAQScreen.js +1 -1
- package/lib/commonjs/ui/screens/karma/KarmaLeaderboardScreen.js +1 -1
- package/lib/commonjs/ui/screens/karma/KarmaRewardsScreen.js +1 -1
- package/lib/commonjs/ui/screens/karma/KarmaRulesScreen.js +1 -1
- package/lib/commonjs/ui/stores/authStore.js +4 -6
- package/lib/commonjs/ui/stores/authStore.js.map +1 -1
- package/lib/commonjs/ui/utils/colorUtils.js +43 -46
- package/lib/commonjs/ui/utils/colorUtils.js.map +1 -1
- package/lib/commonjs/ui/utils/fileManagement.js +1 -1
- package/lib/commonjs/ui/utils/themeUtils.js +29 -39
- package/lib/commonjs/ui/utils/themeUtils.js.map +1 -1
- package/lib/commonjs/ui/utils/{user-utils.js → userUtils.js} +1 -1
- package/lib/commonjs/ui/utils/userUtils.js.map +1 -0
- package/lib/commonjs/utils/errorUtils.js +0 -13
- package/lib/commonjs/utils/errorUtils.js.map +1 -1
- package/lib/commonjs/utils/hookUtils.js +8 -8
- package/lib/commonjs/utils/hookUtils.js.map +1 -1
- package/lib/commonjs/utils/platform.js +129 -0
- package/lib/commonjs/utils/platform.js.map +1 -0
- package/lib/commonjs/web/WebOxyContext.js +273 -41
- package/lib/commonjs/web/WebOxyContext.js.map +1 -1
- package/lib/commonjs/web/index.js +177 -4
- package/lib/commonjs/web/index.js.map +1 -1
- package/lib/commonjs/web.js +12 -12
- package/lib/commonjs/web.js.map +1 -1
- package/lib/module/core/AuthManager.js +399 -0
- package/lib/module/core/AuthManager.js.map +1 -0
- package/lib/module/core/HttpService.js +39 -1
- package/lib/module/core/HttpService.js.map +1 -1
- package/lib/module/core/index.js +2 -0
- package/lib/module/core/index.js.map +1 -1
- package/lib/module/core/mixins/OxyServices.fedcm.js +38 -44
- package/lib/module/core/mixins/OxyServices.fedcm.js.map +1 -1
- package/lib/module/core/mixins/OxyServices.popup.js +9 -7
- package/lib/module/core/mixins/OxyServices.popup.js.map +1 -1
- package/lib/module/crypto/keyManager.js +16 -21
- package/lib/module/crypto/keyManager.js.map +1 -1
- package/lib/module/index.js +34 -3
- package/lib/module/index.js.map +1 -1
- package/lib/module/lib/sonner.js +11 -16
- package/lib/module/lib/sonner.js.map +1 -1
- package/lib/module/lib/sonner.native.js +19 -0
- package/lib/module/lib/sonner.native.js.map +1 -0
- package/lib/module/lib/sonner.web.js +19 -0
- package/lib/module/lib/sonner.web.js.map +1 -0
- package/lib/module/shared/index.js +37 -0
- package/lib/module/shared/index.js.map +1 -0
- package/lib/module/shared/utils/colorUtils.js +150 -0
- package/lib/module/shared/utils/colorUtils.js.map +1 -0
- package/lib/module/shared/utils/debugUtils.js +75 -0
- package/lib/module/shared/utils/debugUtils.js.map +1 -0
- package/lib/module/shared/utils/errorUtils.js +176 -0
- package/lib/module/shared/utils/errorUtils.js.map +1 -0
- package/lib/module/shared/utils/index.js +21 -0
- package/lib/module/shared/utils/index.js.map +1 -0
- package/lib/module/shared/utils/networkUtils.js +202 -0
- package/lib/module/shared/utils/networkUtils.js.map +1 -0
- package/lib/module/shared/utils/themeUtils.js +109 -0
- package/lib/module/shared/utils/themeUtils.js.map +1 -0
- package/lib/module/ui/client.js +1 -1
- package/lib/module/ui/client.js.map +1 -1
- package/lib/module/ui/components/BottomSheetRouter.js +1 -1
- package/lib/module/ui/components/BottomSheetRouter.js.map +1 -1
- package/lib/module/ui/components/FollowButton.js +1 -1
- 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 -1
- package/lib/module/ui/components/GroupedItem.js.map +1 -1
- package/lib/module/ui/components/Header.js +1 -1
- package/lib/module/ui/components/Header.js.map +1 -1
- package/lib/module/ui/components/OxyProvider.js +10 -2
- package/lib/module/ui/components/OxyProvider.js.map +1 -1
- package/lib/module/ui/components/OxySignInButton.js +20 -21
- package/lib/module/ui/components/OxySignInButton.js.map +1 -1
- package/lib/module/ui/components/ProfileCard.js +1 -1
- package/lib/module/ui/components/ProfileCard.js.map +1 -1
- package/lib/module/ui/components/QuickActions.js +1 -1
- package/lib/module/ui/components/QuickActions.js.map +1 -1
- package/lib/module/ui/components/Section.js +1 -1
- package/lib/module/ui/components/Section.js.map +1 -1
- package/lib/module/ui/components/SectionTitle.js +1 -1
- package/lib/module/ui/components/SectionTitle.js.map +1 -1
- package/lib/module/ui/components/SignInModal.js +536 -0
- package/lib/module/ui/components/SignInModal.js.map +1 -0
- 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/context/OxyContext.js +2 -2
- package/lib/module/ui/context/OxyContext.js.map +1 -1
- package/lib/module/ui/hooks/mutations/mutationFactory.js +1 -1
- package/lib/module/ui/hooks/mutations/mutationFactory.js.map +1 -1
- package/lib/module/ui/hooks/mutations/useAccountMutations.js +1 -1
- package/lib/module/ui/hooks/mutations/useAccountMutations.js.map +1 -1
- package/lib/module/ui/hooks/mutations/useServicesMutations.js +1 -1
- package/lib/module/ui/hooks/mutations/useServicesMutations.js.map +1 -1
- package/lib/module/ui/hooks/useAsyncAction.js +1 -1
- package/lib/module/ui/hooks/useAsyncAction.js.map +1 -1
- package/lib/module/ui/hooks/{use-color-scheme.js → useColorScheme.js} +1 -1
- package/lib/module/ui/hooks/useColorScheme.js.map +1 -0
- package/lib/module/ui/hooks/useSessionSocket.js +7 -13
- package/lib/module/ui/hooks/useSessionSocket.js.map +1 -1
- package/lib/module/ui/hooks/useSettingToggle.js +1 -1
- package/lib/module/ui/hooks/useSettingToggle.js.map +1 -1
- package/lib/module/ui/hooks/useThemeColors.js +1 -1
- package/lib/module/ui/hooks/useThemeColors.js.map +1 -1
- package/lib/module/ui/hooks/useThemeStyles.js +1 -1
- package/lib/module/ui/hooks/useThemeStyles.js.map +1 -1
- package/lib/module/ui/navigation/bottomSheetManager.js +5 -2
- package/lib/module/ui/navigation/bottomSheetManager.js.map +1 -1
- package/lib/module/ui/navigation/routes.js +7 -8
- package/lib/module/ui/navigation/routes.js.map +1 -1
- package/lib/module/ui/screens/AccountCenterScreen.js +8 -8
- package/lib/module/ui/screens/AccountCenterScreen.js.map +1 -1
- package/lib/module/ui/screens/AccountOverviewScreen.js +7 -7
- package/lib/module/ui/screens/AccountOverviewScreen.js.map +1 -1
- package/lib/module/ui/screens/AccountSettingsScreen.js +3 -3
- package/lib/module/ui/screens/AccountSettingsScreen.js.map +1 -1
- package/lib/module/ui/screens/AccountSwitcherScreen.js +5 -5
- package/lib/module/ui/screens/AccountSwitcherScreen.js.map +1 -1
- package/lib/module/ui/screens/AccountVerificationScreen.js +1 -1
- package/lib/module/ui/screens/AccountVerificationScreen.js.map +1 -1
- package/lib/module/ui/screens/AppInfoScreen.js +2 -2
- package/lib/module/ui/screens/AppInfoScreen.js.map +1 -1
- package/lib/module/ui/screens/EditProfileFieldScreen.js +2 -2
- package/lib/module/ui/screens/EditProfileFieldScreen.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 +1 -1
- package/lib/module/ui/screens/FeedbackScreen.js.map +1 -1
- package/lib/module/ui/screens/FileManagementScreen.js +2 -2
- package/lib/module/ui/screens/FileManagementScreen.js.map +1 -1
- package/lib/module/ui/screens/FollowersListScreen.js +13 -0
- package/lib/module/ui/screens/FollowersListScreen.js.map +1 -0
- package/lib/module/ui/screens/FollowingListScreen.js +13 -0
- package/lib/module/ui/screens/FollowingListScreen.js.map +1 -0
- package/lib/module/ui/screens/HelpSupportScreen.js +2 -2
- package/lib/module/ui/screens/HelpSupportScreen.js.map +1 -1
- package/lib/module/ui/screens/HistoryViewScreen.js +2 -2
- package/lib/module/ui/screens/HistoryViewScreen.js.map +1 -1
- package/lib/module/ui/screens/LanguageSelectorScreen.js +2 -2
- package/lib/module/ui/screens/LanguageSelectorScreen.js.map +1 -1
- package/lib/module/ui/screens/LearnMoreUsernamesScreen.js +224 -0
- package/lib/module/ui/screens/LearnMoreUsernamesScreen.js.map +1 -0
- package/lib/module/ui/screens/LegalDocumentsScreen.js +2 -2
- package/lib/module/ui/screens/LegalDocumentsScreen.js.map +1 -1
- package/lib/module/ui/screens/OxyAuthScreen.js +9 -21
- package/lib/module/ui/screens/OxyAuthScreen.js.map +1 -1
- package/lib/module/ui/screens/PremiumSubscriptionScreen.js +2 -2
- package/lib/module/ui/screens/PremiumSubscriptionScreen.js.map +1 -1
- package/lib/module/ui/screens/PrivacySettingsScreen.js +1 -1
- package/lib/module/ui/screens/PrivacySettingsScreen.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/SavesCollectionsScreen.js +2 -2
- package/lib/module/ui/screens/SavesCollectionsScreen.js.map +1 -1
- package/lib/module/ui/screens/SessionManagementScreen.js +1 -1
- package/lib/module/ui/screens/SessionManagementScreen.js.map +1 -1
- package/lib/module/ui/screens/UserListScreen.js +405 -0
- package/lib/module/ui/screens/UserListScreen.js.map +1 -0
- package/lib/module/ui/screens/WelcomeNewUserScreen.js +1 -1
- package/lib/module/ui/screens/WelcomeNewUserScreen.js.map +1 -1
- package/lib/module/ui/screens/karma/KarmaAboutScreen.js +1 -1
- package/lib/module/ui/screens/karma/KarmaAboutScreen.js.map +1 -1
- package/lib/module/ui/screens/karma/KarmaCenterScreen.js +1 -1
- package/lib/module/ui/screens/karma/KarmaCenterScreen.js.map +1 -1
- package/lib/module/ui/screens/karma/KarmaFAQScreen.js +1 -1
- package/lib/module/ui/screens/karma/KarmaFAQScreen.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/screens/karma/KarmaRewardsScreen.js +1 -1
- package/lib/module/ui/screens/karma/KarmaRewardsScreen.js.map +1 -1
- package/lib/module/ui/screens/karma/KarmaRulesScreen.js +1 -1
- package/lib/module/ui/screens/karma/KarmaRulesScreen.js.map +1 -1
- package/lib/module/ui/stores/authStore.js +4 -6
- package/lib/module/ui/stores/authStore.js.map +1 -1
- package/lib/module/ui/utils/colorUtils.js +7 -40
- package/lib/module/ui/utils/colorUtils.js.map +1 -1
- package/lib/module/ui/utils/fileManagement.js +1 -1
- package/lib/module/ui/utils/fileManagement.js.map +1 -1
- package/lib/module/ui/utils/themeUtils.js +7 -35
- package/lib/module/ui/utils/themeUtils.js.map +1 -1
- package/lib/module/ui/utils/{user-utils.js → userUtils.js} +1 -1
- package/lib/module/ui/utils/userUtils.js.map +1 -0
- package/lib/module/utils/errorUtils.js +0 -7
- package/lib/module/utils/errorUtils.js.map +1 -1
- package/lib/module/utils/hookUtils.js +8 -8
- package/lib/module/utils/hookUtils.js.map +1 -1
- package/lib/module/utils/platform.js +118 -0
- package/lib/module/utils/platform.js.map +1 -0
- package/lib/module/web/WebOxyContext.js +272 -41
- package/lib/module/web/WebOxyContext.js.map +1 -1
- package/lib/module/web/index.js +26 -5
- package/lib/module/web/index.js.map +1 -1
- package/lib/module/web.js +2 -1
- package/lib/module/web.js.map +1 -1
- package/lib/typescript/commonjs/core/AuthManager.d.ts +144 -0
- package/lib/typescript/commonjs/core/AuthManager.d.ts.map +1 -0
- package/lib/typescript/commonjs/core/HttpService.d.ts.map +1 -1
- package/lib/typescript/commonjs/core/index.d.ts +2 -0
- package/lib/typescript/commonjs/core/index.d.ts.map +1 -1
- package/lib/typescript/commonjs/core/mixins/OxyServices.fedcm.d.ts.map +1 -1
- package/lib/typescript/commonjs/core/mixins/OxyServices.popup.d.ts.map +1 -1
- package/lib/typescript/commonjs/crypto/keyManager.d.ts.map +1 -1
- package/lib/typescript/commonjs/index.d.ts +16 -2
- package/lib/typescript/commonjs/index.d.ts.map +1 -1
- package/lib/typescript/commonjs/lib/sonner.d.ts +11 -14
- package/lib/typescript/commonjs/lib/sonner.d.ts.map +1 -1
- package/lib/typescript/commonjs/lib/sonner.native.d.ts +15 -0
- package/lib/typescript/commonjs/lib/sonner.native.d.ts.map +1 -0
- package/lib/typescript/commonjs/lib/sonner.web.d.ts +15 -0
- package/lib/typescript/commonjs/lib/sonner.web.d.ts.map +1 -0
- package/lib/typescript/commonjs/models/session.d.ts +4 -0
- package/lib/typescript/commonjs/models/session.d.ts.map +1 -1
- package/lib/typescript/commonjs/shared/index.d.ts +29 -0
- package/lib/typescript/commonjs/shared/index.d.ts.map +1 -0
- package/lib/typescript/commonjs/shared/utils/colorUtils.d.ts +105 -0
- package/lib/typescript/commonjs/shared/utils/colorUtils.d.ts.map +1 -0
- package/lib/typescript/commonjs/shared/utils/debugUtils.d.ts +49 -0
- package/lib/typescript/commonjs/shared/utils/debugUtils.d.ts.map +1 -0
- package/lib/typescript/commonjs/shared/utils/errorUtils.d.ts +98 -0
- package/lib/typescript/commonjs/shared/utils/errorUtils.d.ts.map +1 -0
- package/lib/typescript/commonjs/shared/utils/index.d.ts +14 -0
- package/lib/typescript/commonjs/shared/utils/index.d.ts.map +1 -0
- package/lib/typescript/commonjs/shared/utils/networkUtils.d.ts +140 -0
- package/lib/typescript/commonjs/shared/utils/networkUtils.d.ts.map +1 -0
- package/lib/typescript/commonjs/shared/utils/themeUtils.d.ts +91 -0
- package/lib/typescript/commonjs/shared/utils/themeUtils.d.ts.map +1 -0
- 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/OxyProvider.d.ts.map +1 -1
- package/lib/typescript/commonjs/ui/components/OxySignInButton.d.ts.map +1 -1
- package/lib/typescript/commonjs/ui/components/SignInModal.d.ts +18 -0
- package/lib/typescript/commonjs/ui/components/SignInModal.d.ts.map +1 -0
- package/lib/typescript/commonjs/ui/context/OxyContext.d.ts +1 -2
- package/lib/typescript/commonjs/ui/context/OxyContext.d.ts.map +1 -1
- package/lib/typescript/commonjs/ui/hooks/{use-color-scheme.d.ts → useColorScheme.d.ts} +1 -1
- package/lib/typescript/commonjs/ui/hooks/useColorScheme.d.ts.map +1 -0
- package/lib/typescript/commonjs/ui/hooks/useSessionSocket.d.ts.map +1 -1
- package/lib/typescript/commonjs/ui/navigation/bottomSheetManager.d.ts +2 -0
- package/lib/typescript/commonjs/ui/navigation/bottomSheetManager.d.ts.map +1 -1
- package/lib/typescript/commonjs/ui/navigation/routes.d.ts +1 -1
- package/lib/typescript/commonjs/ui/navigation/routes.d.ts.map +1 -1
- package/lib/typescript/commonjs/ui/screens/FollowersListScreen.d.ts +9 -0
- package/lib/typescript/commonjs/ui/screens/FollowersListScreen.d.ts.map +1 -0
- package/lib/typescript/commonjs/ui/screens/FollowingListScreen.d.ts +9 -0
- package/lib/typescript/commonjs/ui/screens/FollowingListScreen.d.ts.map +1 -0
- package/lib/typescript/commonjs/ui/screens/LearnMoreUsernamesScreen.d.ts +5 -0
- package/lib/typescript/commonjs/ui/screens/LearnMoreUsernamesScreen.d.ts.map +1 -0
- package/lib/typescript/commonjs/ui/screens/OxyAuthScreen.d.ts.map +1 -1
- package/lib/typescript/commonjs/ui/screens/UserListScreen.d.ts +11 -0
- package/lib/typescript/commonjs/ui/screens/UserListScreen.d.ts.map +1 -0
- package/lib/typescript/commonjs/ui/stores/authStore.d.ts.map +1 -1
- package/lib/typescript/commonjs/ui/utils/colorUtils.d.ts +7 -11
- package/lib/typescript/commonjs/ui/utils/colorUtils.d.ts.map +1 -1
- package/lib/typescript/commonjs/ui/utils/themeUtils.d.ts +6 -19
- package/lib/typescript/commonjs/ui/utils/themeUtils.d.ts.map +1 -1
- package/lib/typescript/commonjs/ui/utils/{user-utils.d.ts → userUtils.d.ts} +1 -1
- package/lib/typescript/commonjs/ui/utils/userUtils.d.ts.map +1 -0
- package/lib/typescript/commonjs/utils/errorUtils.d.ts +0 -6
- package/lib/typescript/commonjs/utils/errorUtils.d.ts.map +1 -1
- package/lib/typescript/commonjs/utils/platform.d.ts +41 -0
- package/lib/typescript/commonjs/utils/platform.d.ts.map +1 -0
- package/lib/typescript/commonjs/web/WebOxyContext.d.ts +117 -9
- package/lib/typescript/commonjs/web/WebOxyContext.d.ts.map +1 -1
- package/lib/typescript/commonjs/web/index.d.ts +19 -8
- package/lib/typescript/commonjs/web/index.d.ts.map +1 -1
- package/lib/typescript/commonjs/web.d.ts +2 -1
- package/lib/typescript/commonjs/web.d.ts.map +1 -1
- package/lib/typescript/module/core/AuthManager.d.ts +144 -0
- package/lib/typescript/module/core/AuthManager.d.ts.map +1 -0
- package/lib/typescript/module/core/HttpService.d.ts.map +1 -1
- package/lib/typescript/module/core/index.d.ts +2 -0
- package/lib/typescript/module/core/index.d.ts.map +1 -1
- package/lib/typescript/module/core/mixins/OxyServices.fedcm.d.ts.map +1 -1
- package/lib/typescript/module/core/mixins/OxyServices.popup.d.ts.map +1 -1
- package/lib/typescript/module/crypto/keyManager.d.ts.map +1 -1
- package/lib/typescript/module/index.d.ts +16 -2
- package/lib/typescript/module/index.d.ts.map +1 -1
- package/lib/typescript/module/lib/sonner.d.ts +11 -14
- package/lib/typescript/module/lib/sonner.d.ts.map +1 -1
- package/lib/typescript/module/lib/sonner.native.d.ts +15 -0
- package/lib/typescript/module/lib/sonner.native.d.ts.map +1 -0
- package/lib/typescript/module/lib/sonner.web.d.ts +15 -0
- package/lib/typescript/module/lib/sonner.web.d.ts.map +1 -0
- package/lib/typescript/module/models/session.d.ts +4 -0
- package/lib/typescript/module/models/session.d.ts.map +1 -1
- package/lib/typescript/module/shared/index.d.ts +29 -0
- package/lib/typescript/module/shared/index.d.ts.map +1 -0
- package/lib/typescript/module/shared/utils/colorUtils.d.ts +105 -0
- package/lib/typescript/module/shared/utils/colorUtils.d.ts.map +1 -0
- package/lib/typescript/module/shared/utils/debugUtils.d.ts +49 -0
- package/lib/typescript/module/shared/utils/debugUtils.d.ts.map +1 -0
- package/lib/typescript/module/shared/utils/errorUtils.d.ts +98 -0
- package/lib/typescript/module/shared/utils/errorUtils.d.ts.map +1 -0
- package/lib/typescript/module/shared/utils/index.d.ts +14 -0
- package/lib/typescript/module/shared/utils/index.d.ts.map +1 -0
- package/lib/typescript/module/shared/utils/networkUtils.d.ts +140 -0
- package/lib/typescript/module/shared/utils/networkUtils.d.ts.map +1 -0
- package/lib/typescript/module/shared/utils/themeUtils.d.ts +91 -0
- package/lib/typescript/module/shared/utils/themeUtils.d.ts.map +1 -0
- 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/OxyProvider.d.ts.map +1 -1
- package/lib/typescript/module/ui/components/OxySignInButton.d.ts.map +1 -1
- package/lib/typescript/module/ui/components/SignInModal.d.ts +18 -0
- package/lib/typescript/module/ui/components/SignInModal.d.ts.map +1 -0
- package/lib/typescript/module/ui/context/OxyContext.d.ts +1 -2
- package/lib/typescript/module/ui/context/OxyContext.d.ts.map +1 -1
- package/lib/typescript/module/ui/hooks/{use-color-scheme.d.ts → useColorScheme.d.ts} +1 -1
- package/lib/typescript/module/ui/hooks/useColorScheme.d.ts.map +1 -0
- package/lib/typescript/module/ui/hooks/useSessionSocket.d.ts.map +1 -1
- package/lib/typescript/module/ui/navigation/bottomSheetManager.d.ts +2 -0
- package/lib/typescript/module/ui/navigation/bottomSheetManager.d.ts.map +1 -1
- package/lib/typescript/module/ui/navigation/routes.d.ts +1 -1
- package/lib/typescript/module/ui/navigation/routes.d.ts.map +1 -1
- package/lib/typescript/module/ui/screens/FollowersListScreen.d.ts +9 -0
- package/lib/typescript/module/ui/screens/FollowersListScreen.d.ts.map +1 -0
- package/lib/typescript/module/ui/screens/FollowingListScreen.d.ts +9 -0
- package/lib/typescript/module/ui/screens/FollowingListScreen.d.ts.map +1 -0
- package/lib/typescript/module/ui/screens/LearnMoreUsernamesScreen.d.ts +5 -0
- package/lib/typescript/module/ui/screens/LearnMoreUsernamesScreen.d.ts.map +1 -0
- package/lib/typescript/module/ui/screens/OxyAuthScreen.d.ts.map +1 -1
- package/lib/typescript/module/ui/screens/UserListScreen.d.ts +11 -0
- package/lib/typescript/module/ui/screens/UserListScreen.d.ts.map +1 -0
- package/lib/typescript/module/ui/stores/authStore.d.ts.map +1 -1
- package/lib/typescript/module/ui/utils/colorUtils.d.ts +7 -11
- package/lib/typescript/module/ui/utils/colorUtils.d.ts.map +1 -1
- package/lib/typescript/module/ui/utils/themeUtils.d.ts +6 -19
- package/lib/typescript/module/ui/utils/themeUtils.d.ts.map +1 -1
- package/lib/typescript/module/ui/utils/{user-utils.d.ts → userUtils.d.ts} +1 -1
- package/lib/typescript/module/ui/utils/userUtils.d.ts.map +1 -0
- package/lib/typescript/module/utils/errorUtils.d.ts +0 -6
- package/lib/typescript/module/utils/errorUtils.d.ts.map +1 -1
- package/lib/typescript/module/utils/platform.d.ts +41 -0
- package/lib/typescript/module/utils/platform.d.ts.map +1 -0
- package/lib/typescript/module/web/WebOxyContext.d.ts +117 -9
- package/lib/typescript/module/web/WebOxyContext.d.ts.map +1 -1
- package/lib/typescript/module/web/index.d.ts +19 -8
- package/lib/typescript/module/web/index.d.ts.map +1 -1
- package/lib/typescript/module/web.d.ts +2 -1
- package/lib/typescript/module/web.d.ts.map +1 -1
- package/package.json +8 -2
- package/src/core/AuthManager.ts +436 -0
- package/src/core/HttpService.ts +43 -1
- package/src/core/index.ts +4 -0
- package/src/core/mixins/OxyServices.fedcm.ts +37 -42
- package/src/core/mixins/OxyServices.popup.ts +10 -7
- package/src/crypto/keyManager.ts +16 -21
- package/src/index.ts +83 -12
- package/src/lib/sonner.native.ts +28 -0
- package/src/lib/sonner.ts +11 -28
- package/src/lib/sonner.web.ts +28 -0
- package/src/models/session.ts +4 -0
- package/src/shared/index.ts +82 -0
- package/src/shared/utils/colorUtils.ts +155 -0
- package/src/shared/utils/debugUtils.ts +73 -0
- package/src/shared/utils/errorUtils.ts +181 -0
- package/src/shared/utils/index.ts +59 -0
- package/src/shared/utils/networkUtils.ts +248 -0
- package/src/shared/utils/themeUtils.ts +115 -0
- package/src/ui/components/BottomSheetRouter.tsx +1 -1
- package/src/ui/components/FontLoader.tsx +1 -2
- package/src/ui/components/GroupedItem.tsx +1 -1
- package/src/ui/components/Header.tsx +1 -1
- package/src/ui/components/OxyProvider.tsx +10 -0
- package/src/ui/components/OxySignInButton.tsx +20 -22
- package/src/ui/components/ProfileCard.tsx +1 -1
- package/src/ui/components/QuickActions.tsx +1 -1
- package/src/ui/components/Section.tsx +1 -1
- package/src/ui/components/SectionTitle.tsx +1 -1
- package/src/ui/components/SignInModal.tsx +534 -0
- package/src/ui/context/OxyContext.tsx +1 -2
- package/src/ui/hooks/queries/queryKeys.ts +2 -2
- package/src/ui/hooks/useSessionSocket.ts +12 -17
- package/src/ui/hooks/useThemeColors.ts +1 -1
- package/src/ui/hooks/useThemeStyles.ts +1 -1
- package/src/ui/navigation/bottomSheetManager.ts +5 -1
- package/src/ui/navigation/routes.ts +8 -9
- package/src/ui/screens/AccountCenterScreen.tsx +7 -7
- package/src/ui/screens/AccountOverviewScreen.tsx +6 -6
- package/src/ui/screens/AccountSettingsScreen.tsx +2 -2
- package/src/ui/screens/AccountSwitcherScreen.tsx +4 -4
- package/src/ui/screens/AppInfoScreen.tsx +1 -1
- package/src/ui/screens/EditProfileFieldScreen.tsx +1 -1
- package/src/ui/screens/FileManagementScreen.tsx +1 -1
- package/src/ui/screens/FollowersListScreen.tsx +14 -0
- package/src/ui/screens/FollowingListScreen.tsx +14 -0
- package/src/ui/screens/HelpSupportScreen.tsx +1 -1
- package/src/ui/screens/HistoryViewScreen.tsx +1 -1
- package/src/ui/screens/LanguageSelectorScreen.tsx +1 -1
- package/src/ui/screens/LearnMoreUsernamesScreen.tsx +231 -0
- package/src/ui/screens/LegalDocumentsScreen.tsx +1 -1
- package/src/ui/screens/OxyAuthScreen.tsx +10 -21
- package/src/ui/screens/PremiumSubscriptionScreen.tsx +1 -1
- package/src/ui/screens/ProfileScreen.tsx +1 -1
- package/src/ui/screens/SavesCollectionsScreen.tsx +1 -1
- package/src/ui/screens/UserListScreen.tsx +416 -0
- package/src/ui/screens/karma/KarmaAboutScreen.tsx +1 -1
- package/src/ui/screens/karma/KarmaCenterScreen.tsx +1 -1
- package/src/ui/screens/karma/KarmaFAQScreen.tsx +1 -1
- package/src/ui/screens/karma/KarmaLeaderboardScreen.tsx +1 -1
- package/src/ui/screens/karma/KarmaRewardsScreen.tsx +1 -1
- package/src/ui/screens/karma/KarmaRulesScreen.tsx +1 -1
- package/src/ui/stores/authStore.ts +5 -6
- package/src/ui/utils/colorUtils.ts +15 -43
- package/src/ui/utils/themeUtils.ts +14 -39
- package/src/utils/errorUtils.ts +1 -6
- package/src/utils/hookUtils.ts +8 -8
- package/src/utils/platform.ts +117 -0
- package/src/web/WebOxyContext.tsx +331 -41
- package/src/web/index.ts +76 -6
- package/src/web.ts +1 -1
- package/lib/commonjs/ui/hooks/use-color-scheme.js.map +0 -1
- package/lib/commonjs/ui/utils/user-utils.js.map +0 -1
- package/lib/module/ui/hooks/use-color-scheme.js.map +0 -1
- package/lib/module/ui/utils/user-utils.js.map +0 -1
- package/lib/typescript/commonjs/ui/hooks/use-color-scheme.d.ts.map +0 -1
- package/lib/typescript/commonjs/ui/utils/user-utils.d.ts.map +0 -1
- package/lib/typescript/module/ui/hooks/use-color-scheme.d.ts.map +0 -1
- package/lib/typescript/module/ui/utils/user-utils.d.ts.map +0 -1
- /package/src/ui/hooks/{use-color-scheme.ts → useColorScheme.ts} +0 -0
- /package/src/ui/utils/{user-utils.ts → userUtils.ts} +0 -0
|
@@ -6,7 +6,6 @@ import type { BaseScreenProps } from '../types/navigation';
|
|
|
6
6
|
// before OxyContext is fully initialized
|
|
7
7
|
|
|
8
8
|
// Define all available route names
|
|
9
|
-
// Note: SignIn has been replaced with OxyAuth for cross-app authentication via Oxy Accounts
|
|
10
9
|
export type RouteName =
|
|
11
10
|
| 'OxyAuth' // Sign in with Oxy (QR code / deep link to Accounts app)
|
|
12
11
|
| 'AccountOverview'
|
|
@@ -31,23 +30,21 @@ export type RouteName =
|
|
|
31
30
|
| 'UserLinks'
|
|
32
31
|
| 'HistoryView'
|
|
33
32
|
| 'SavesCollections'
|
|
34
|
-
| 'EditProfile' // For backward compatibility, maps to AccountSettings
|
|
35
33
|
| 'EditProfileField' // Dedicated screen for editing a single profile field
|
|
34
|
+
| 'LearnMoreUsernames' // Informational screen about usernames
|
|
36
35
|
| 'KarmaCenter'
|
|
37
36
|
| 'KarmaLeaderboard'
|
|
38
37
|
| 'KarmaRewards'
|
|
39
38
|
| 'KarmaRules'
|
|
40
39
|
| 'AboutKarma'
|
|
41
40
|
| 'KarmaFAQ'
|
|
42
|
-
//
|
|
43
|
-
| '
|
|
41
|
+
| 'FollowersList' // List of user's followers
|
|
42
|
+
| 'FollowingList'; // List of users being followed
|
|
44
43
|
|
|
45
44
|
// Lazy screen loaders - functions that return screen components on-demand
|
|
46
45
|
// This breaks the require cycle by deferring imports until screens are actually needed
|
|
47
46
|
const screenLoaders: Record<RouteName, () => ComponentType<BaseScreenProps>> = {
|
|
48
47
|
OxyAuth: () => require('../screens/OxyAuthScreen').default,
|
|
49
|
-
// Legacy alias - SignIn now maps to OxyAuth
|
|
50
|
-
SignIn: () => require('../screens/OxyAuthScreen').default,
|
|
51
48
|
AccountOverview: () => require('../screens/AccountOverviewScreen').default,
|
|
52
49
|
AccountSettings: () => require('../screens/AccountSettingsScreen').default,
|
|
53
50
|
AccountCenter: () => require('../screens/AccountCenterScreen').default,
|
|
@@ -70,10 +67,9 @@ const screenLoaders: Record<RouteName, () => ComponentType<BaseScreenProps>> = {
|
|
|
70
67
|
UserLinks: () => require('../screens/UserLinksScreen').default,
|
|
71
68
|
HistoryView: () => require('../screens/HistoryViewScreen').default,
|
|
72
69
|
SavesCollections: () => require('../screens/SavesCollectionsScreen').default,
|
|
73
|
-
// Backward compatibility - EditProfile maps to AccountSettings
|
|
74
|
-
EditProfile: () => require('../screens/AccountSettingsScreen').default,
|
|
75
|
-
// Dedicated screen for editing a single profile field
|
|
76
70
|
EditProfileField: () => require('../screens/EditProfileFieldScreen').default,
|
|
71
|
+
// Informational screens
|
|
72
|
+
LearnMoreUsernames: () => require('../screens/LearnMoreUsernamesScreen').default,
|
|
77
73
|
// Karma screens
|
|
78
74
|
KarmaCenter: () => require('../screens/karma/KarmaCenterScreen').default,
|
|
79
75
|
KarmaLeaderboard: () => require('../screens/karma/KarmaLeaderboardScreen').default,
|
|
@@ -81,6 +77,9 @@ const screenLoaders: Record<RouteName, () => ComponentType<BaseScreenProps>> = {
|
|
|
81
77
|
KarmaRules: () => require('../screens/karma/KarmaRulesScreen').default,
|
|
82
78
|
AboutKarma: () => require('../screens/karma/KarmaAboutScreen').default,
|
|
83
79
|
KarmaFAQ: () => require('../screens/karma/KarmaFAQScreen').default,
|
|
80
|
+
// User list screens (followers/following)
|
|
81
|
+
FollowersList: () => require('../screens/FollowersListScreen').default,
|
|
82
|
+
FollowingList: () => require('../screens/FollowingListScreen').default,
|
|
84
83
|
};
|
|
85
84
|
|
|
86
85
|
// Cache loaded components to avoid re-requiring
|
|
@@ -23,7 +23,7 @@ import GroupedSection from '../components/GroupedSection';
|
|
|
23
23
|
import GroupedItem from '../components/GroupedItem';
|
|
24
24
|
import { useI18n } from '../hooks/useI18n';
|
|
25
25
|
import { useThemeStyles } from '../hooks/useThemeStyles';
|
|
26
|
-
import { useColorScheme } from '../hooks/
|
|
26
|
+
import { useColorScheme } from '../hooks/useColorScheme';
|
|
27
27
|
import { Colors } from '../constants/theme';
|
|
28
28
|
import { normalizeColorScheme, normalizeTheme } from '../utils/themeUtils';
|
|
29
29
|
import { useOxy } from '../context/OxyContext';
|
|
@@ -92,7 +92,7 @@ const AccountCenterScreen: React.FC<BaseScreenProps> = ({
|
|
|
92
92
|
<ProfileCard
|
|
93
93
|
user={user}
|
|
94
94
|
theme={normalizedTheme}
|
|
95
|
-
onEditPress={() => navigate?.('
|
|
95
|
+
onEditPress={() => navigate?.('AccountSettings', { activeTab: 'profile' })}
|
|
96
96
|
onClosePress={onClose}
|
|
97
97
|
showCloseButton={!!onClose}
|
|
98
98
|
/>
|
|
@@ -105,7 +105,7 @@ const AccountCenterScreen: React.FC<BaseScreenProps> = ({
|
|
|
105
105
|
theme={normalizedTheme}
|
|
106
106
|
actions={useMemo(() => [
|
|
107
107
|
{ id: 'overview', icon: 'account-circle', iconColor: colors.iconSecurity, title: t('accountCenter.quickActions.overview') || 'Overview', onPress: () => navigate?.('AccountOverview') },
|
|
108
|
-
{ id: 'settings', icon: 'cog', iconColor: colors.iconData, title: t('accountCenter.quickActions.editProfile') || 'Edit Profile', onPress: () => navigate?.('
|
|
108
|
+
{ id: 'settings', icon: 'cog', iconColor: colors.iconData, title: t('accountCenter.quickActions.editProfile') || 'Edit Profile', onPress: () => navigate?.('AccountSettings') },
|
|
109
109
|
{ id: 'sessions', icon: 'shield-check', iconColor: colors.iconSecurity, title: t('accountCenter.quickActions.sessions') || 'Sessions', onPress: () => navigate?.('SessionManagement') },
|
|
110
110
|
{ id: 'premium', icon: 'star', iconColor: colors.iconPayments, title: t('accountCenter.quickActions.premium') || 'Premium', onPress: () => navigate?.('PremiumSubscription') },
|
|
111
111
|
...(user?.isPremium ? [{ id: 'billing', icon: 'card', iconColor: colors.iconPersonalInfo, title: t('accountCenter.quickActions.billing') || 'Billing', onPress: () => navigate?.('PaymentGateway') }] : []),
|
|
@@ -133,7 +133,7 @@ const AccountCenterScreen: React.FC<BaseScreenProps> = ({
|
|
|
133
133
|
iconColor: colors.iconData,
|
|
134
134
|
title: t('accountCenter.items.editProfile.title') || 'Edit Profile',
|
|
135
135
|
subtitle: t('accountCenter.items.editProfile.subtitle') || 'Manage your profile and preferences',
|
|
136
|
-
onPress: () => navigate?.('
|
|
136
|
+
onPress: () => navigate?.('AccountSettings'),
|
|
137
137
|
},
|
|
138
138
|
{
|
|
139
139
|
id: 'sessions',
|
|
@@ -191,7 +191,7 @@ const AccountCenterScreen: React.FC<BaseScreenProps> = ({
|
|
|
191
191
|
iconColor: colors.iconPersonalInfo,
|
|
192
192
|
title: t('accountCenter.items.addAccount.title') || 'Add Another Account',
|
|
193
193
|
subtitle: t('accountCenter.items.addAccount.subtitle') || 'Sign in with a different account',
|
|
194
|
-
onPress: () => navigate?.('
|
|
194
|
+
onPress: () => navigate?.('OxyAuth'),
|
|
195
195
|
},
|
|
196
196
|
], [sessions.length, navigate, t, colors])}
|
|
197
197
|
|
|
@@ -210,7 +210,7 @@ const AccountCenterScreen: React.FC<BaseScreenProps> = ({
|
|
|
210
210
|
iconColor: colors.iconPersonalInfo,
|
|
211
211
|
title: t('accountCenter.items.addAccount.title') || 'Add Another Account',
|
|
212
212
|
subtitle: t('accountCenter.items.addAccount.subtitle') || 'Sign in with a different account',
|
|
213
|
-
onPress: () => navigate?.('
|
|
213
|
+
onPress: () => navigate?.('OxyAuth'),
|
|
214
214
|
},
|
|
215
215
|
], [navigate, t, colors])}
|
|
216
216
|
|
|
@@ -228,7 +228,7 @@ const AccountCenterScreen: React.FC<BaseScreenProps> = ({
|
|
|
228
228
|
iconColor: colors.iconStorage,
|
|
229
229
|
title: t('accountCenter.items.notifications.title') || 'Notifications',
|
|
230
230
|
subtitle: t('accountCenter.items.notifications.subtitle') || 'Manage notification settings',
|
|
231
|
-
onPress: () => navigate?.('
|
|
231
|
+
onPress: () => navigate?.('AccountSettings', { activeTab: 'notifications' }),
|
|
232
232
|
}] : []),
|
|
233
233
|
{
|
|
234
234
|
id: 'language',
|
|
@@ -23,8 +23,8 @@ import { Ionicons } from '@expo/vector-icons';
|
|
|
23
23
|
import { Section, GroupedSection, GroupedItem } from '../components';
|
|
24
24
|
import { useI18n } from '../hooks/useI18n';
|
|
25
25
|
import { useThemeStyles } from '../hooks/useThemeStyles';
|
|
26
|
-
import { getDisplayName, getShortDisplayName } from '../utils/
|
|
27
|
-
import { useColorScheme } from '../hooks/
|
|
26
|
+
import { getDisplayName, getShortDisplayName } from '../utils/userUtils';
|
|
27
|
+
import { useColorScheme } from '../hooks/useColorScheme';
|
|
28
28
|
import { normalizeTheme } from '../utils/themeUtils';
|
|
29
29
|
import { useOxy } from '../context/OxyContext';
|
|
30
30
|
import { useUsersBySessions } from '../hooks/queries/useAccountQueries';
|
|
@@ -389,7 +389,7 @@ const AccountOverviewScreen: React.FC<BaseScreenProps> = ({
|
|
|
389
389
|
iconColor: baseThemeStyles.colors.iconSecurity,
|
|
390
390
|
title: displayName,
|
|
391
391
|
subtitle: user ? (user.email || user.username) : (t('common.status.loading') || 'Loading...'),
|
|
392
|
-
onPress: () => navigate?.('
|
|
392
|
+
onPress: () => navigate?.('AccountSettings', { activeTab: 'profile' }),
|
|
393
393
|
},
|
|
394
394
|
]}
|
|
395
395
|
/>
|
|
@@ -405,7 +405,7 @@ const AccountOverviewScreen: React.FC<BaseScreenProps> = ({
|
|
|
405
405
|
iconColor: baseThemeStyles.colors.iconPersonalInfo,
|
|
406
406
|
title: t('accountOverview.items.editProfile.title'),
|
|
407
407
|
subtitle: t('accountOverview.items.editProfile.subtitle'),
|
|
408
|
-
onPress: () => navigate?.('
|
|
408
|
+
onPress: () => navigate?.('AccountSettings', { activeTab: 'profile' }),
|
|
409
409
|
},
|
|
410
410
|
{
|
|
411
411
|
id: 'security-privacy',
|
|
@@ -413,7 +413,7 @@ const AccountOverviewScreen: React.FC<BaseScreenProps> = ({
|
|
|
413
413
|
iconColor: baseThemeStyles.colors.iconSecurity,
|
|
414
414
|
title: t('accountOverview.items.security.title'),
|
|
415
415
|
subtitle: t('accountOverview.items.security.subtitle'),
|
|
416
|
-
onPress: () => navigate?.('
|
|
416
|
+
onPress: () => navigate?.('AccountSettings', { activeTab: 'password' }),
|
|
417
417
|
},
|
|
418
418
|
{
|
|
419
419
|
id: 'notifications',
|
|
@@ -421,7 +421,7 @@ const AccountOverviewScreen: React.FC<BaseScreenProps> = ({
|
|
|
421
421
|
iconColor: baseThemeStyles.colors.iconStorage,
|
|
422
422
|
title: t('accountOverview.items.notifications.title'),
|
|
423
423
|
subtitle: t('accountOverview.items.notifications.subtitle'),
|
|
424
|
-
onPress: () => navigate?.('
|
|
424
|
+
onPress: () => navigate?.('AccountSettings', { activeTab: 'notifications' }),
|
|
425
425
|
},
|
|
426
426
|
{
|
|
427
427
|
id: 'premium-subscription',
|
|
@@ -17,11 +17,11 @@ import { useAuthStore } from '../stores/authStore';
|
|
|
17
17
|
import { GroupedSection } from '../components';
|
|
18
18
|
import { useI18n } from '../hooks/useI18n';
|
|
19
19
|
import { useThemeStyles } from '../hooks/useThemeStyles';
|
|
20
|
-
import { useColorScheme } from '../hooks/
|
|
20
|
+
import { useColorScheme } from '../hooks/useColorScheme';
|
|
21
21
|
import { Colors } from '../constants/theme';
|
|
22
22
|
import { normalizeColorScheme } from '../utils/themeUtils';
|
|
23
23
|
import type { ProfileFieldType } from './EditProfileFieldScreen';
|
|
24
|
-
import { getDisplayName } from '../utils/
|
|
24
|
+
import { getDisplayName } from '../utils/userUtils';
|
|
25
25
|
import { useOxy } from '../context/OxyContext';
|
|
26
26
|
import { useCurrentUser } from '../hooks/queries/useAccountQueries';
|
|
27
27
|
import { useUploadAvatar } from '../hooks/mutations/useAccountMutations';
|
|
@@ -24,7 +24,7 @@ import Avatar from '../components/Avatar';
|
|
|
24
24
|
import { Header, GroupedSection, LoadingState } from '../components';
|
|
25
25
|
import { useI18n } from '../hooks/useI18n';
|
|
26
26
|
import { useThemeStyles } from '../hooks/useThemeStyles';
|
|
27
|
-
import { useColorScheme } from '../hooks/
|
|
27
|
+
import { useColorScheme } from '../hooks/useColorScheme';
|
|
28
28
|
import { normalizeTheme } from '../utils/themeUtils';
|
|
29
29
|
import { useOxy } from '../context/OxyContext';
|
|
30
30
|
|
|
@@ -460,7 +460,7 @@ const ModernAccountSwitcherScreen: React.FC<BaseScreenProps> = ({
|
|
|
460
460
|
iconColor: '#007AFF',
|
|
461
461
|
title: 'Add Another Account',
|
|
462
462
|
subtitle: 'Sign in with a different account',
|
|
463
|
-
onPress: () => navigate?.('
|
|
463
|
+
onPress: () => navigate?.('OxyAuth'),
|
|
464
464
|
},
|
|
465
465
|
{
|
|
466
466
|
id: 'device-management',
|
|
@@ -561,7 +561,7 @@ const ModernAccountSwitcherScreen: React.FC<BaseScreenProps> = ({
|
|
|
561
561
|
iconColor: '#ccc',
|
|
562
562
|
title: t('accountSwitcher.empty.title') || 'No saved accounts',
|
|
563
563
|
subtitle: t('accountSwitcher.empty.subtitle') || 'Add another account to switch between them quickly',
|
|
564
|
-
onPress: () => navigate?.('
|
|
564
|
+
onPress: () => navigate?.('OxyAuth'),
|
|
565
565
|
customContent: (
|
|
566
566
|
<View style={styles.emptyStateContainer}>
|
|
567
567
|
<OxyIcon name="person-outline" size={48} color="#ccc" />
|
|
@@ -571,7 +571,7 @@ const ModernAccountSwitcherScreen: React.FC<BaseScreenProps> = ({
|
|
|
571
571
|
</Text>
|
|
572
572
|
<TouchableOpacity
|
|
573
573
|
style={styles.addAccountButton}
|
|
574
|
-
onPress={() => navigate?.('
|
|
574
|
+
onPress={() => navigate?.('OxyAuth')}
|
|
575
575
|
>
|
|
576
576
|
<Text style={styles.addAccountButtonText}>{t('accountCenter.sections.addAccount') || 'Add Account'}</Text>
|
|
577
577
|
</TouchableOpacity>
|
|
@@ -23,7 +23,7 @@ import { Ionicons } from '@expo/vector-icons';
|
|
|
23
23
|
import OxyServicesLogo from '../../assets/icons/OxyServices';
|
|
24
24
|
import { Section, GroupedSection } from '../components';
|
|
25
25
|
import { useThemeStyles } from '../hooks/useThemeStyles';
|
|
26
|
-
import { useColorScheme } from '../hooks/
|
|
26
|
+
import { useColorScheme } from '../hooks/useColorScheme';
|
|
27
27
|
import { useOxy } from '../context/OxyContext';
|
|
28
28
|
|
|
29
29
|
|
|
@@ -14,7 +14,7 @@ import {
|
|
|
14
14
|
import { Ionicons } from '@expo/vector-icons';
|
|
15
15
|
import type { BaseScreenProps } from '../types/navigation';
|
|
16
16
|
import { useThemeStyles } from '../hooks/useThemeStyles';
|
|
17
|
-
import { useColorScheme } from '../hooks/
|
|
17
|
+
import { useColorScheme } from '../hooks/useColorScheme';
|
|
18
18
|
import { normalizeTheme } from '../utils/themeUtils';
|
|
19
19
|
import { Header } from '../components';
|
|
20
20
|
import { useI18n } from '../hooks/useI18n';
|
|
@@ -38,7 +38,7 @@ import Header from '../components/Header';
|
|
|
38
38
|
import JustifiedPhotoGrid from '../components/photogrid/JustifiedPhotoGrid';
|
|
39
39
|
import { GroupedSection } from '../components';
|
|
40
40
|
import { useThemeStyles } from '../hooks/useThemeStyles';
|
|
41
|
-
import { useColorScheme } from '../hooks/
|
|
41
|
+
import { useColorScheme } from '../hooks/useColorScheme';
|
|
42
42
|
import { normalizeTheme } from '../utils/themeUtils';
|
|
43
43
|
import { useOxy } from '../context/OxyContext';
|
|
44
44
|
import { useUploadFile } from '../hooks/mutations/useAccountMutations';
|
|
@@ -0,0 +1,14 @@
|
|
|
1
|
+
import React from 'react';
|
|
2
|
+
import type { BaseScreenProps } from '../types/navigation';
|
|
3
|
+
import UserListScreen from './UserListScreen';
|
|
4
|
+
|
|
5
|
+
interface FollowersListScreenProps extends BaseScreenProps {
|
|
6
|
+
userId: string;
|
|
7
|
+
initialCount?: number;
|
|
8
|
+
}
|
|
9
|
+
|
|
10
|
+
const FollowersListScreen: React.FC<FollowersListScreenProps> = (props) => {
|
|
11
|
+
return <UserListScreen {...props} mode="followers" />;
|
|
12
|
+
};
|
|
13
|
+
|
|
14
|
+
export default FollowersListScreen;
|
|
@@ -0,0 +1,14 @@
|
|
|
1
|
+
import React from 'react';
|
|
2
|
+
import type { BaseScreenProps } from '../types/navigation';
|
|
3
|
+
import UserListScreen from './UserListScreen';
|
|
4
|
+
|
|
5
|
+
interface FollowingListScreenProps extends BaseScreenProps {
|
|
6
|
+
userId: string;
|
|
7
|
+
initialCount?: number;
|
|
8
|
+
}
|
|
9
|
+
|
|
10
|
+
const FollowingListScreen: React.FC<FollowingListScreenProps> = (props) => {
|
|
11
|
+
return <UserListScreen {...props} mode="following" />;
|
|
12
|
+
};
|
|
13
|
+
|
|
14
|
+
export default FollowingListScreen;
|
|
@@ -12,7 +12,7 @@ import { toast } from '../../lib/sonner';
|
|
|
12
12
|
import { Header, Section, GroupedSection } from '../components';
|
|
13
13
|
import { useI18n } from '../hooks/useI18n';
|
|
14
14
|
import { useThemeStyles } from '../hooks/useThemeStyles';
|
|
15
|
-
import { useColorScheme } from '../hooks/
|
|
15
|
+
import { useColorScheme } from '../hooks/useColorScheme';
|
|
16
16
|
|
|
17
17
|
const HelpSupportScreen: React.FC<BaseScreenProps> = ({
|
|
18
18
|
onClose,
|
|
@@ -10,7 +10,7 @@ import { confirmAction } from '../utils/confirmAction';
|
|
|
10
10
|
import { Header, Section, GroupedSection, LoadingState, EmptyState } from '../components';
|
|
11
11
|
import { useI18n } from '../hooks/useI18n';
|
|
12
12
|
import { useThemeStyles } from '../hooks/useThemeStyles';
|
|
13
|
-
import { useColorScheme } from '../hooks/
|
|
13
|
+
import { useColorScheme } from '../hooks/useColorScheme';
|
|
14
14
|
import { useOxy } from '../context/OxyContext';
|
|
15
15
|
|
|
16
16
|
interface HistoryItem {
|
|
@@ -9,7 +9,7 @@ import {
|
|
|
9
9
|
} from 'react-native';
|
|
10
10
|
import type { BaseScreenProps } from '../types/navigation';
|
|
11
11
|
import { useThemeStyles } from '../hooks/useThemeStyles';
|
|
12
|
-
import { useColorScheme } from '../hooks/
|
|
12
|
+
import { useColorScheme } from '../hooks/useColorScheme';
|
|
13
13
|
import { normalizeTheme } from '../utils/themeUtils';
|
|
14
14
|
import { Ionicons } from '@expo/vector-icons';
|
|
15
15
|
import { toast } from '../../lib/sonner';
|
|
@@ -0,0 +1,231 @@
|
|
|
1
|
+
import React, { useState, useCallback, useMemo } from 'react';
|
|
2
|
+
import {
|
|
3
|
+
View,
|
|
4
|
+
Text,
|
|
5
|
+
TouchableOpacity,
|
|
6
|
+
StyleSheet,
|
|
7
|
+
ScrollView,
|
|
8
|
+
} from 'react-native';
|
|
9
|
+
import { Ionicons } from '@expo/vector-icons';
|
|
10
|
+
import type { BaseScreenProps } from '../types/navigation';
|
|
11
|
+
import { useThemeStyles } from '../hooks/useThemeStyles';
|
|
12
|
+
|
|
13
|
+
interface InfoSection {
|
|
14
|
+
id: string;
|
|
15
|
+
title: string;
|
|
16
|
+
content: string;
|
|
17
|
+
icon: string;
|
|
18
|
+
}
|
|
19
|
+
|
|
20
|
+
const INFO_SECTIONS: InfoSection[] = [
|
|
21
|
+
{
|
|
22
|
+
id: 'what',
|
|
23
|
+
title: 'What is a username?',
|
|
24
|
+
content: 'Your username is your unique identifier on Oxy. It\'s how other people find and mention you. Think of it like your handle on social media - it\'s public and represents your identity across all Oxy apps.',
|
|
25
|
+
icon: 'at-outline',
|
|
26
|
+
},
|
|
27
|
+
{
|
|
28
|
+
id: 'rules',
|
|
29
|
+
title: 'Username rules',
|
|
30
|
+
content: 'Usernames can only contain lowercase letters (a-z) and numbers (0-9). They must be at least 4 characters long. Special characters, spaces, and uppercase letters are not allowed to keep usernames simple and easy to remember.',
|
|
31
|
+
icon: 'list-outline',
|
|
32
|
+
},
|
|
33
|
+
{
|
|
34
|
+
id: 'unique',
|
|
35
|
+
title: 'Why must it be unique?',
|
|
36
|
+
content: 'Each username can only belong to one person. This ensures that when someone searches for you or mentions you, they find the right person. It also prevents confusion and impersonation.',
|
|
37
|
+
icon: 'finger-print-outline',
|
|
38
|
+
},
|
|
39
|
+
{
|
|
40
|
+
id: 'change',
|
|
41
|
+
title: 'Can I change it later?',
|
|
42
|
+
content: 'Yes! You can change your username anytime in your account settings. Keep in mind that your old username will become available for others to use, and people who knew your old username will need to find you with the new one.',
|
|
43
|
+
icon: 'refresh-outline',
|
|
44
|
+
},
|
|
45
|
+
{
|
|
46
|
+
id: 'tips',
|
|
47
|
+
title: 'Tips for choosing a username',
|
|
48
|
+
content: 'Choose something memorable and easy to spell. Avoid using personal information like your birth year or phone number. Consider using a name that represents you across all contexts - professional and personal.',
|
|
49
|
+
icon: 'bulb-outline',
|
|
50
|
+
},
|
|
51
|
+
];
|
|
52
|
+
|
|
53
|
+
const LearnMoreUsernamesScreen: React.FC<BaseScreenProps> = ({
|
|
54
|
+
theme,
|
|
55
|
+
}) => {
|
|
56
|
+
const themeStyles = useThemeStyles(theme || 'light');
|
|
57
|
+
const [expandedIds, setExpandedIds] = useState<Set<string>>(new Set(['what'])); // Start with first section expanded
|
|
58
|
+
|
|
59
|
+
const toggleExpanded = useCallback((id: string) => {
|
|
60
|
+
setExpandedIds(prev => {
|
|
61
|
+
const next = new Set(prev);
|
|
62
|
+
if (next.has(id)) {
|
|
63
|
+
next.delete(id);
|
|
64
|
+
} else {
|
|
65
|
+
next.add(id);
|
|
66
|
+
}
|
|
67
|
+
return next;
|
|
68
|
+
});
|
|
69
|
+
}, []);
|
|
70
|
+
|
|
71
|
+
const styles = useMemo(() => createStyles(themeStyles), [themeStyles]);
|
|
72
|
+
|
|
73
|
+
return (
|
|
74
|
+
<View style={[styles.container, { backgroundColor: themeStyles.backgroundColor }]}>
|
|
75
|
+
<ScrollView
|
|
76
|
+
style={styles.content}
|
|
77
|
+
showsVerticalScrollIndicator={false}
|
|
78
|
+
contentContainerStyle={styles.contentContainer}
|
|
79
|
+
>
|
|
80
|
+
<View style={styles.introSection}>
|
|
81
|
+
<View style={[styles.introIcon, { backgroundColor: themeStyles.primaryColor + '15' }]}>
|
|
82
|
+
<Ionicons name="at" size={32} color={themeStyles.primaryColor} />
|
|
83
|
+
</View>
|
|
84
|
+
<Text style={[styles.introTitle, { color: themeStyles.textColor }]}>
|
|
85
|
+
Your unique identity
|
|
86
|
+
</Text>
|
|
87
|
+
<Text style={[styles.introText, { color: themeStyles.mutedTextColor }]}>
|
|
88
|
+
Your username is how people find and recognize you across all Oxy apps.
|
|
89
|
+
</Text>
|
|
90
|
+
</View>
|
|
91
|
+
|
|
92
|
+
{INFO_SECTIONS.map((section, index) => {
|
|
93
|
+
const isExpanded = expandedIds.has(section.id);
|
|
94
|
+
return (
|
|
95
|
+
<View
|
|
96
|
+
key={section.id}
|
|
97
|
+
style={[
|
|
98
|
+
styles.section,
|
|
99
|
+
{ backgroundColor: themeStyles.secondaryBackgroundColor, borderColor: themeStyles.borderColor },
|
|
100
|
+
index === 0 && styles.sectionFirst,
|
|
101
|
+
]}
|
|
102
|
+
>
|
|
103
|
+
<TouchableOpacity
|
|
104
|
+
style={styles.sectionHeader}
|
|
105
|
+
onPress={() => toggleExpanded(section.id)}
|
|
106
|
+
accessibilityRole="button"
|
|
107
|
+
accessibilityLabel={section.title}
|
|
108
|
+
accessibilityHint={isExpanded ? 'Collapse section' : 'Expand section'}
|
|
109
|
+
accessibilityState={{ expanded: isExpanded }}
|
|
110
|
+
>
|
|
111
|
+
<View style={[styles.sectionIconContainer, { backgroundColor: themeStyles.primaryColor + '15' }]}>
|
|
112
|
+
<Ionicons
|
|
113
|
+
name={section.icon}
|
|
114
|
+
size={20}
|
|
115
|
+
color={themeStyles.primaryColor}
|
|
116
|
+
/>
|
|
117
|
+
</View>
|
|
118
|
+
<Text style={[styles.sectionTitle, { color: themeStyles.textColor }]}>
|
|
119
|
+
{section.title}
|
|
120
|
+
</Text>
|
|
121
|
+
<Ionicons
|
|
122
|
+
name={isExpanded ? 'chevron-up' : 'chevron-down'}
|
|
123
|
+
size={20}
|
|
124
|
+
color={themeStyles.mutedTextColor}
|
|
125
|
+
/>
|
|
126
|
+
</TouchableOpacity>
|
|
127
|
+
{isExpanded && (
|
|
128
|
+
<View style={[styles.sectionContent, { borderTopColor: themeStyles.borderColor }]}>
|
|
129
|
+
<Text style={[styles.sectionText, { color: themeStyles.mutedTextColor }]}>
|
|
130
|
+
{section.content}
|
|
131
|
+
</Text>
|
|
132
|
+
</View>
|
|
133
|
+
)}
|
|
134
|
+
</View>
|
|
135
|
+
);
|
|
136
|
+
})}
|
|
137
|
+
|
|
138
|
+
<View style={styles.footer}>
|
|
139
|
+
<Text style={[styles.footerText, { color: themeStyles.mutedTextColor }]}>
|
|
140
|
+
Need more help? Visit our Help Center for additional information.
|
|
141
|
+
</Text>
|
|
142
|
+
</View>
|
|
143
|
+
</ScrollView>
|
|
144
|
+
</View>
|
|
145
|
+
);
|
|
146
|
+
};
|
|
147
|
+
|
|
148
|
+
const createStyles = (themeStyles: ReturnType<typeof useThemeStyles>) => StyleSheet.create({
|
|
149
|
+
container: {
|
|
150
|
+
flex: 1,
|
|
151
|
+
},
|
|
152
|
+
content: {
|
|
153
|
+
flex: 1,
|
|
154
|
+
},
|
|
155
|
+
contentContainer: {
|
|
156
|
+
padding: 16,
|
|
157
|
+
paddingBottom: 32,
|
|
158
|
+
},
|
|
159
|
+
introSection: {
|
|
160
|
+
alignItems: 'center',
|
|
161
|
+
paddingVertical: 24,
|
|
162
|
+
paddingHorizontal: 16,
|
|
163
|
+
},
|
|
164
|
+
introIcon: {
|
|
165
|
+
width: 64,
|
|
166
|
+
height: 64,
|
|
167
|
+
borderRadius: 32,
|
|
168
|
+
alignItems: 'center',
|
|
169
|
+
justifyContent: 'center',
|
|
170
|
+
marginBottom: 16,
|
|
171
|
+
},
|
|
172
|
+
introTitle: {
|
|
173
|
+
fontSize: 24,
|
|
174
|
+
fontWeight: '700',
|
|
175
|
+
marginBottom: 8,
|
|
176
|
+
textAlign: 'center',
|
|
177
|
+
},
|
|
178
|
+
introText: {
|
|
179
|
+
fontSize: 16,
|
|
180
|
+
lineHeight: 24,
|
|
181
|
+
textAlign: 'center',
|
|
182
|
+
},
|
|
183
|
+
section: {
|
|
184
|
+
borderRadius: 12,
|
|
185
|
+
borderWidth: 1,
|
|
186
|
+
marginBottom: 12,
|
|
187
|
+
overflow: 'hidden',
|
|
188
|
+
},
|
|
189
|
+
sectionFirst: {
|
|
190
|
+
marginTop: 8,
|
|
191
|
+
},
|
|
192
|
+
sectionHeader: {
|
|
193
|
+
flexDirection: 'row',
|
|
194
|
+
alignItems: 'center',
|
|
195
|
+
padding: 16,
|
|
196
|
+
},
|
|
197
|
+
sectionIconContainer: {
|
|
198
|
+
width: 36,
|
|
199
|
+
height: 36,
|
|
200
|
+
borderRadius: 18,
|
|
201
|
+
alignItems: 'center',
|
|
202
|
+
justifyContent: 'center',
|
|
203
|
+
marginRight: 12,
|
|
204
|
+
},
|
|
205
|
+
sectionTitle: {
|
|
206
|
+
flex: 1,
|
|
207
|
+
fontSize: 16,
|
|
208
|
+
fontWeight: '600',
|
|
209
|
+
marginRight: 12,
|
|
210
|
+
},
|
|
211
|
+
sectionContent: {
|
|
212
|
+
padding: 16,
|
|
213
|
+
paddingTop: 12,
|
|
214
|
+
borderTopWidth: 1,
|
|
215
|
+
},
|
|
216
|
+
sectionText: {
|
|
217
|
+
fontSize: 14,
|
|
218
|
+
lineHeight: 22,
|
|
219
|
+
},
|
|
220
|
+
footer: {
|
|
221
|
+
marginTop: 16,
|
|
222
|
+
paddingHorizontal: 16,
|
|
223
|
+
},
|
|
224
|
+
footerText: {
|
|
225
|
+
fontSize: 14,
|
|
226
|
+
textAlign: 'center',
|
|
227
|
+
lineHeight: 20,
|
|
228
|
+
},
|
|
229
|
+
});
|
|
230
|
+
|
|
231
|
+
export default LearnMoreUsernamesScreen;
|
|
@@ -10,7 +10,7 @@ import { toast } from '../../lib/sonner';
|
|
|
10
10
|
import { Header, Section, GroupedSection, LoadingState } from '../components';
|
|
11
11
|
import { useI18n } from '../hooks/useI18n';
|
|
12
12
|
import { useThemeStyles } from '../hooks/useThemeStyles';
|
|
13
|
-
import { useColorScheme } from '../hooks/
|
|
13
|
+
import { useColorScheme } from '../hooks/useColorScheme';
|
|
14
14
|
|
|
15
15
|
const LegalDocumentsScreen: React.FC<BaseScreenProps> = ({
|
|
16
16
|
onClose,
|
|
@@ -28,6 +28,9 @@ import { useThemeColors } from '../styles';
|
|
|
28
28
|
import { useOxy } from '../context/OxyContext';
|
|
29
29
|
import QRCode from 'react-native-qrcode-svg';
|
|
30
30
|
import OxyLogo from '../components/OxyLogo';
|
|
31
|
+
import { createDebugLogger } from '../../shared/utils/debugUtils';
|
|
32
|
+
|
|
33
|
+
const debug = createDebugLogger('OxyAuthScreen');
|
|
31
34
|
|
|
32
35
|
const OXY_ACCOUNTS_WEB_URL = 'https://accounts.oxy.so';
|
|
33
36
|
const OXY_AUTH_WEB_URL = 'https://auth.oxy.so';
|
|
@@ -150,9 +153,7 @@ const OxyAuthScreen: React.FC<BaseScreenProps> = ({
|
|
|
150
153
|
}
|
|
151
154
|
}
|
|
152
155
|
} catch (err) {
|
|
153
|
-
|
|
154
|
-
console.error('Error completing auth:', err);
|
|
155
|
-
}
|
|
156
|
+
debug.error('Error completing auth:', err);
|
|
156
157
|
setError('Authorization successful but failed to complete sign in. Please try again.');
|
|
157
158
|
isProcessingRef.current = false;
|
|
158
159
|
}
|
|
@@ -173,24 +174,18 @@ const OxyAuthScreen: React.FC<BaseScreenProps> = ({
|
|
|
173
174
|
socketRef.current = socket;
|
|
174
175
|
|
|
175
176
|
socket.on('connect', () => {
|
|
176
|
-
|
|
177
|
-
console.log('Auth socket connected');
|
|
178
|
-
}
|
|
177
|
+
debug.log('Auth socket connected');
|
|
179
178
|
// Join the room for this session token
|
|
180
179
|
socket.emit('join', sessionToken);
|
|
181
180
|
setConnectionType('socket');
|
|
182
181
|
});
|
|
183
182
|
|
|
184
183
|
socket.on('joined', () => {
|
|
185
|
-
|
|
186
|
-
console.log('Joined auth session room');
|
|
187
|
-
}
|
|
184
|
+
debug.log('Joined auth session room');
|
|
188
185
|
});
|
|
189
186
|
|
|
190
187
|
socket.on('auth_update', (payload: AuthUpdatePayload) => {
|
|
191
|
-
|
|
192
|
-
console.log('Auth update received:', payload);
|
|
193
|
-
}
|
|
188
|
+
debug.log('Auth update received:', payload);
|
|
194
189
|
|
|
195
190
|
if (payload.status === 'authorized' && payload.sessionId) {
|
|
196
191
|
cleanup();
|
|
@@ -205,18 +200,14 @@ const OxyAuthScreen: React.FC<BaseScreenProps> = ({
|
|
|
205
200
|
});
|
|
206
201
|
|
|
207
202
|
socket.on('connect_error', (err) => {
|
|
208
|
-
|
|
209
|
-
console.log('Socket connection error, falling back to polling:', err.message);
|
|
210
|
-
}
|
|
203
|
+
debug.log('Socket connection error, falling back to polling:', err.message);
|
|
211
204
|
// Fall back to polling if socket fails
|
|
212
205
|
socket.disconnect();
|
|
213
206
|
startPolling(sessionToken);
|
|
214
207
|
});
|
|
215
208
|
|
|
216
209
|
socket.on('disconnect', () => {
|
|
217
|
-
|
|
218
|
-
console.log('Auth socket disconnected');
|
|
219
|
-
}
|
|
210
|
+
debug.log('Auth socket disconnected');
|
|
220
211
|
});
|
|
221
212
|
}, [oxyServices, handleAuthSuccess]);
|
|
222
213
|
|
|
@@ -247,9 +238,7 @@ const OxyAuthScreen: React.FC<BaseScreenProps> = ({
|
|
|
247
238
|
}
|
|
248
239
|
} catch (err) {
|
|
249
240
|
// Silent fail for polling - will retry
|
|
250
|
-
|
|
251
|
-
console.log('Auth polling error:', err);
|
|
252
|
-
}
|
|
241
|
+
debug.log('Auth polling error:', err);
|
|
253
242
|
}
|
|
254
243
|
}, POLLING_INTERVAL_MS);
|
|
255
244
|
}, [oxyServices, handleAuthSuccess]);
|
|
@@ -21,7 +21,7 @@ import Avatar from '../components/Avatar';
|
|
|
21
21
|
import { useI18n } from '../hooks/useI18n';
|
|
22
22
|
import { useThemeStyles } from '../hooks/useThemeStyles';
|
|
23
23
|
import { normalizeTheme } from '../utils/themeUtils';
|
|
24
|
-
import { useColorScheme } from '../hooks/
|
|
24
|
+
import { useColorScheme } from '../hooks/useColorScheme';
|
|
25
25
|
import { useOxy } from '../context/OxyContext';
|
|
26
26
|
|
|
27
27
|
interface SubscriptionPlan {
|