@oxyhq/services 5.25.0 → 5.26.0
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/index.js +321 -18
- package/lib/commonjs/index.js.map +1 -1
- 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/components/BottomSheetRouter.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 +9 -1
- 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/context/OxyContext.js +2 -1
- package/lib/commonjs/ui/context/OxyContext.js.map +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 +6 -12
- package/lib/commonjs/ui/hooks/useSessionSocket.js.map +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 +7 -7
- package/lib/commonjs/ui/screens/AccountCenterScreen.js.map +1 -1
- package/lib/commonjs/ui/screens/AccountOverviewScreen.js +6 -6
- package/lib/commonjs/ui/screens/AccountOverviewScreen.js.map +1 -1
- package/lib/commonjs/ui/screens/AccountSettingsScreen.js +2 -2
- package/lib/commonjs/ui/screens/AccountSwitcherScreen.js +4 -4
- package/lib/commonjs/ui/screens/AccountSwitcherScreen.js.map +1 -1
- package/lib/commonjs/ui/screens/AppInfoScreen.js +1 -1
- package/lib/commonjs/ui/screens/EditProfileFieldScreen.js +1 -1
- package/lib/commonjs/ui/screens/FileManagementScreen.js +1 -1
- 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 +1 -1
- package/lib/commonjs/ui/screens/HelpSupportScreen.js.map +1 -1
- package/lib/commonjs/ui/screens/HistoryViewScreen.js +1 -1
- package/lib/commonjs/ui/screens/LanguageSelectorScreen.js +1 -1
- 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 +1 -1
- 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 +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 +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/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/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/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/index.js +27 -2
- package/lib/module/index.js.map +1 -1
- 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/components/BottomSheetRouter.js +1 -1
- package/lib/module/ui/components/BottomSheetRouter.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 +9 -1
- 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/context/OxyContext.js +1 -1
- package/lib/module/ui/context/OxyContext.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 +6 -12
- package/lib/module/ui/hooks/useSessionSocket.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 +7 -7
- package/lib/module/ui/screens/AccountCenterScreen.js.map +1 -1
- package/lib/module/ui/screens/AccountOverviewScreen.js +6 -6
- package/lib/module/ui/screens/AccountOverviewScreen.js.map +1 -1
- package/lib/module/ui/screens/AccountSettingsScreen.js +2 -2
- package/lib/module/ui/screens/AccountSettingsScreen.js.map +1 -1
- package/lib/module/ui/screens/AccountSwitcherScreen.js +4 -4
- package/lib/module/ui/screens/AccountSwitcherScreen.js.map +1 -1
- package/lib/module/ui/screens/AppInfoScreen.js +1 -1
- package/lib/module/ui/screens/AppInfoScreen.js.map +1 -1
- package/lib/module/ui/screens/EditProfileFieldScreen.js +1 -1
- package/lib/module/ui/screens/EditProfileFieldScreen.js.map +1 -1
- package/lib/module/ui/screens/FileManagementScreen.js +1 -1
- 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 +1 -1
- package/lib/module/ui/screens/HelpSupportScreen.js.map +1 -1
- package/lib/module/ui/screens/HistoryViewScreen.js +1 -1
- package/lib/module/ui/screens/HistoryViewScreen.js.map +1 -1
- package/lib/module/ui/screens/LanguageSelectorScreen.js +1 -1
- 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 +1 -1
- 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 +1 -1
- 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/SavesCollectionsScreen.js +1 -1
- package/lib/module/ui/screens/SavesCollectionsScreen.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/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/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/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/index.d.ts +16 -2
- package/lib/typescript/commonjs/index.d.ts.map +1 -1
- 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/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/index.d.ts +16 -2
- package/lib/typescript/module/index.d.ts.map +1 -1
- 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/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/index.ts +76 -11
- 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/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
|
@@ -4,55 +4,161 @@ Object.defineProperty(exports, "__esModule", {
|
|
|
4
4
|
value: true
|
|
5
5
|
});
|
|
6
6
|
exports.WebOxyProvider = WebOxyProvider;
|
|
7
|
+
exports.default = void 0;
|
|
7
8
|
exports.useAuth = useAuth;
|
|
8
9
|
exports.useWebOxy = useWebOxy;
|
|
9
10
|
var _react = require("react");
|
|
10
|
-
var
|
|
11
|
+
var _OxyServices = require("../core/OxyServices.js");
|
|
12
|
+
var _CrossDomainAuth = require("../core/CrossDomainAuth.js");
|
|
13
|
+
var _AuthManager = require("../core/AuthManager.js");
|
|
11
14
|
var _reactQuery = require("@tanstack/react-query");
|
|
12
15
|
var _queryClient = require("../ui/hooks/queryClient.js");
|
|
13
16
|
var _jsxRuntime = require("react/jsx-runtime");
|
|
14
17
|
/**
|
|
15
18
|
* Web-Only Oxy Context
|
|
16
|
-
*
|
|
17
|
-
*
|
|
19
|
+
*
|
|
20
|
+
* Clean implementation with ZERO React Native dependencies.
|
|
21
|
+
* Provides FedCM, popup, and redirect authentication methods.
|
|
22
|
+
* Uses centralized AuthManager for token and session management.
|
|
23
|
+
*
|
|
24
|
+
* @module web/WebOxyContext
|
|
18
25
|
*/
|
|
19
26
|
|
|
20
27
|
const WebOxyContext = /*#__PURE__*/(0, _react.createContext)(null);
|
|
21
28
|
/**
|
|
22
29
|
* Web-only Oxy Provider
|
|
23
|
-
*
|
|
30
|
+
*
|
|
31
|
+
* Provides authentication context for pure web applications (React, Next.js, Vite).
|
|
32
|
+
* Supports FedCM, popup, and redirect authentication methods.
|
|
33
|
+
*
|
|
34
|
+
* @example
|
|
35
|
+
* ```tsx
|
|
36
|
+
* import { WebOxyProvider, useAuth } from '@oxyhq/services/web';
|
|
37
|
+
*
|
|
38
|
+
* function App() {
|
|
39
|
+
* return (
|
|
40
|
+
* <WebOxyProvider baseURL="https://api.oxy.so">
|
|
41
|
+
* <YourApp />
|
|
42
|
+
* </WebOxyProvider>
|
|
43
|
+
* );
|
|
44
|
+
* }
|
|
45
|
+
*
|
|
46
|
+
* function LoginButton() {
|
|
47
|
+
* const { signIn, isLoading, isFedCMSupported } = useAuth();
|
|
48
|
+
* return (
|
|
49
|
+
* <button onClick={signIn} disabled={isLoading}>
|
|
50
|
+
* {isFedCMSupported() ? 'Sign in with Oxy' : 'Sign in'}
|
|
51
|
+
* </button>
|
|
52
|
+
* );
|
|
53
|
+
* }
|
|
54
|
+
* ```
|
|
24
55
|
*/
|
|
25
56
|
function WebOxyProvider({
|
|
26
57
|
children,
|
|
27
58
|
baseURL,
|
|
28
59
|
authWebUrl,
|
|
29
|
-
onAuthStateChange
|
|
60
|
+
onAuthStateChange,
|
|
61
|
+
onError,
|
|
62
|
+
preferredAuthMethod = 'auto',
|
|
63
|
+
skipAutoCheck = false
|
|
30
64
|
}) {
|
|
31
|
-
|
|
65
|
+
// Initialize services with centralized AuthManager
|
|
66
|
+
const [oxyServices] = (0, _react.useState)(() => new _OxyServices.OxyServices({
|
|
32
67
|
baseURL,
|
|
33
68
|
authWebUrl
|
|
34
69
|
}));
|
|
35
|
-
const [crossDomainAuth] = (0, _react.useState)(() =>
|
|
70
|
+
const [crossDomainAuth] = (0, _react.useState)(() => new _CrossDomainAuth.CrossDomainAuth(oxyServices));
|
|
71
|
+
const [authManager] = (0, _react.useState)(() => (0, _AuthManager.createAuthManager)(oxyServices, {
|
|
72
|
+
autoRefresh: true
|
|
73
|
+
}));
|
|
74
|
+
const [queryClient] = (0, _react.useState)(() => (0, _queryClient.createQueryClient)());
|
|
75
|
+
|
|
76
|
+
// Auth state
|
|
36
77
|
const [user, setUser] = (0, _react.useState)(null);
|
|
37
|
-
const [isLoading, setIsLoading] = (0, _react.useState)(
|
|
78
|
+
const [isLoading, setIsLoading] = (0, _react.useState)(!skipAutoCheck);
|
|
38
79
|
const [error, setError] = (0, _react.useState)(null);
|
|
39
|
-
const [queryClient] = (0, _react.useState)(() => (0, _queryClient.createQueryClient)());
|
|
40
80
|
const isAuthenticated = !!user;
|
|
41
81
|
|
|
42
|
-
|
|
82
|
+
/**
|
|
83
|
+
* Handles successful authentication via AuthManager
|
|
84
|
+
*/
|
|
85
|
+
const handleAuthSuccess = (0, _react.useCallback)(async (session, method = 'credentials') => {
|
|
86
|
+
// Use centralized AuthManager for token/session storage
|
|
87
|
+
await authManager.handleAuthSuccess(session, method);
|
|
88
|
+
|
|
89
|
+
// Fetch full user profile (session.user only contains MinimalUserData)
|
|
90
|
+
try {
|
|
91
|
+
const fullUser = await oxyServices.getCurrentUser();
|
|
92
|
+
if (fullUser) {
|
|
93
|
+
setUser(fullUser);
|
|
94
|
+
} else {
|
|
95
|
+
// Fallback to minimal data if full profile unavailable
|
|
96
|
+
setUser(session.user);
|
|
97
|
+
}
|
|
98
|
+
} catch {
|
|
99
|
+
// Fallback to minimal data on error
|
|
100
|
+
setUser(session.user);
|
|
101
|
+
}
|
|
102
|
+
setError(null);
|
|
103
|
+
setIsLoading(false);
|
|
104
|
+
}, [authManager, oxyServices]);
|
|
105
|
+
|
|
106
|
+
/**
|
|
107
|
+
* Handles authentication errors
|
|
108
|
+
*/
|
|
109
|
+
const handleAuthError = (0, _react.useCallback)(err => {
|
|
110
|
+
const errorMessage = err instanceof Error ? err.message : 'Authentication failed';
|
|
111
|
+
setError(errorMessage);
|
|
112
|
+
setIsLoading(false);
|
|
113
|
+
onError?.(err instanceof Error ? err : new Error(errorMessage));
|
|
114
|
+
}, [onError]);
|
|
115
|
+
|
|
116
|
+
// Initialize - check for existing session or redirect callback
|
|
43
117
|
(0, _react.useEffect)(() => {
|
|
118
|
+
if (skipAutoCheck) return;
|
|
44
119
|
let mounted = true;
|
|
45
120
|
const initAuth = async () => {
|
|
46
121
|
try {
|
|
47
|
-
//
|
|
48
|
-
const
|
|
49
|
-
if (
|
|
50
|
-
|
|
122
|
+
// 1. Check for redirect callback (user returning from auth.oxy.so)
|
|
123
|
+
const callbackSession = crossDomainAuth.handleRedirectCallback();
|
|
124
|
+
if (callbackSession && mounted) {
|
|
125
|
+
await handleAuthSuccess(callbackSession, 'redirect');
|
|
126
|
+
return;
|
|
127
|
+
}
|
|
128
|
+
|
|
129
|
+
// 2. Try to restore session from AuthManager (handles token refresh automatically)
|
|
130
|
+
const restoredUser = await authManager.initialize();
|
|
131
|
+
if (restoredUser && mounted) {
|
|
132
|
+
// Verify token is still valid by fetching current user
|
|
133
|
+
try {
|
|
134
|
+
const currentUser = await oxyServices.getCurrentUser();
|
|
135
|
+
if (mounted && currentUser) {
|
|
136
|
+
setUser(currentUser);
|
|
137
|
+
setIsLoading(false);
|
|
138
|
+
return;
|
|
139
|
+
}
|
|
140
|
+
} catch {
|
|
141
|
+
// Token invalid, AuthManager will handle clearing
|
|
142
|
+
await authManager.signOut();
|
|
143
|
+
}
|
|
144
|
+
}
|
|
145
|
+
|
|
146
|
+
// 3. Try silent sign-in (FedCM or iframe-based SSO)
|
|
147
|
+
try {
|
|
148
|
+
const session = await crossDomainAuth.silentSignIn();
|
|
149
|
+
if (mounted && session?.user) {
|
|
150
|
+
await handleAuthSuccess(session, 'fedcm');
|
|
151
|
+
return;
|
|
152
|
+
}
|
|
153
|
+
} catch {
|
|
154
|
+
// Silent sign-in failed, that's fine
|
|
155
|
+
}
|
|
156
|
+
|
|
157
|
+
// No session found
|
|
158
|
+
if (mounted) {
|
|
159
|
+
setIsLoading(false);
|
|
51
160
|
}
|
|
52
161
|
} catch (err) {
|
|
53
|
-
// No active session - this is fine
|
|
54
|
-
console.log('[WebOxy] No active session');
|
|
55
|
-
} finally {
|
|
56
162
|
if (mounted) {
|
|
57
163
|
setIsLoading(false);
|
|
58
164
|
}
|
|
@@ -62,57 +168,127 @@ function WebOxyProvider({
|
|
|
62
168
|
return () => {
|
|
63
169
|
mounted = false;
|
|
64
170
|
};
|
|
65
|
-
}, [crossDomainAuth]);
|
|
171
|
+
}, [oxyServices, crossDomainAuth, authManager, skipAutoCheck, handleAuthSuccess]);
|
|
66
172
|
|
|
67
173
|
// Notify parent of auth state changes
|
|
68
174
|
(0, _react.useEffect)(() => {
|
|
69
175
|
onAuthStateChange?.(user);
|
|
70
176
|
}, [user, onAuthStateChange]);
|
|
177
|
+
|
|
178
|
+
/**
|
|
179
|
+
* Sign in with automatic method selection
|
|
180
|
+
*/
|
|
71
181
|
const signIn = (0, _react.useCallback)(async () => {
|
|
72
182
|
setError(null);
|
|
73
183
|
setIsLoading(true);
|
|
184
|
+
let selectedMethod = 'popup';
|
|
74
185
|
try {
|
|
75
|
-
// Sign in with automatic method selection (FedCM → Popup → Redirect)
|
|
76
186
|
const session = await crossDomainAuth.signIn({
|
|
77
|
-
method:
|
|
78
|
-
// Automatic fallback
|
|
187
|
+
method: preferredAuthMethod,
|
|
79
188
|
onMethodSelected: method => {
|
|
80
|
-
|
|
189
|
+
selectedMethod = method;
|
|
81
190
|
}
|
|
82
191
|
});
|
|
83
|
-
if (session
|
|
84
|
-
|
|
192
|
+
if (session) {
|
|
193
|
+
await handleAuthSuccess(session, selectedMethod);
|
|
194
|
+
} else {
|
|
195
|
+
// Redirect method - page will reload
|
|
196
|
+
setIsLoading(false);
|
|
85
197
|
}
|
|
86
198
|
} catch (err) {
|
|
87
|
-
|
|
88
|
-
setError(err instanceof Error ? err.message : 'Sign in failed');
|
|
89
|
-
} finally {
|
|
90
|
-
setIsLoading(false);
|
|
199
|
+
handleAuthError(err);
|
|
91
200
|
}
|
|
201
|
+
}, [crossDomainAuth, preferredAuthMethod, handleAuthSuccess, handleAuthError]);
|
|
202
|
+
|
|
203
|
+
/**
|
|
204
|
+
* Sign in with FedCM specifically
|
|
205
|
+
*/
|
|
206
|
+
const signInWithFedCM = (0, _react.useCallback)(async () => {
|
|
207
|
+
setError(null);
|
|
208
|
+
setIsLoading(true);
|
|
209
|
+
try {
|
|
210
|
+
const session = await crossDomainAuth.signInWithFedCM();
|
|
211
|
+
await handleAuthSuccess(session, 'fedcm');
|
|
212
|
+
} catch (err) {
|
|
213
|
+
handleAuthError(err);
|
|
214
|
+
}
|
|
215
|
+
}, [crossDomainAuth, handleAuthSuccess, handleAuthError]);
|
|
216
|
+
|
|
217
|
+
/**
|
|
218
|
+
* Sign in with popup specifically
|
|
219
|
+
*/
|
|
220
|
+
const signInWithPopup = (0, _react.useCallback)(async () => {
|
|
221
|
+
setError(null);
|
|
222
|
+
setIsLoading(true);
|
|
223
|
+
try {
|
|
224
|
+
const session = await crossDomainAuth.signInWithPopup();
|
|
225
|
+
await handleAuthSuccess(session, 'popup');
|
|
226
|
+
} catch (err) {
|
|
227
|
+
handleAuthError(err);
|
|
228
|
+
}
|
|
229
|
+
}, [crossDomainAuth, handleAuthSuccess, handleAuthError]);
|
|
230
|
+
|
|
231
|
+
/**
|
|
232
|
+
* Sign in with redirect specifically
|
|
233
|
+
*/
|
|
234
|
+
const signInWithRedirect = (0, _react.useCallback)(() => {
|
|
235
|
+
setError(null);
|
|
236
|
+
crossDomainAuth.signInWithRedirect({
|
|
237
|
+
redirectUri: typeof window !== 'undefined' ? window.location.href : undefined
|
|
238
|
+
});
|
|
239
|
+
}, [crossDomainAuth]);
|
|
240
|
+
|
|
241
|
+
/**
|
|
242
|
+
* Check if FedCM is supported
|
|
243
|
+
*/
|
|
244
|
+
const isFedCMSupported = (0, _react.useCallback)(() => {
|
|
245
|
+
return crossDomainAuth.isFedCMSupported();
|
|
92
246
|
}, [crossDomainAuth]);
|
|
247
|
+
|
|
248
|
+
/**
|
|
249
|
+
* Sign out via AuthManager (handles FedCM revocation and storage cleanup)
|
|
250
|
+
*/
|
|
93
251
|
const signOut = (0, _react.useCallback)(async () => {
|
|
94
252
|
setError(null);
|
|
95
253
|
try {
|
|
96
|
-
//
|
|
97
|
-
|
|
98
|
-
|
|
99
|
-
|
|
100
|
-
}
|
|
254
|
+
// Use centralized AuthManager for sign out (handles FedCM, storage cleanup)
|
|
255
|
+
await authManager.signOut();
|
|
256
|
+
|
|
257
|
+
// Clear user state
|
|
101
258
|
setUser(null);
|
|
102
259
|
} catch (err) {
|
|
103
|
-
|
|
104
|
-
setError(
|
|
260
|
+
const errorMessage = err instanceof Error ? err.message : 'Sign out failed';
|
|
261
|
+
setError(errorMessage);
|
|
262
|
+
onError?.(err instanceof Error ? err : new Error(errorMessage));
|
|
105
263
|
}
|
|
106
|
-
}, []);
|
|
107
|
-
|
|
264
|
+
}, [authManager, onError]);
|
|
265
|
+
|
|
266
|
+
// Cleanup on unmount
|
|
267
|
+
(0, _react.useEffect)(() => {
|
|
268
|
+
return () => {
|
|
269
|
+
authManager.destroy();
|
|
270
|
+
};
|
|
271
|
+
}, [authManager]);
|
|
272
|
+
|
|
273
|
+
// Memoize context value to prevent unnecessary re-renders
|
|
274
|
+
const contextValue = (0, _react.useMemo)(() => ({
|
|
275
|
+
// State
|
|
108
276
|
user,
|
|
109
277
|
isAuthenticated,
|
|
110
278
|
isLoading,
|
|
111
279
|
error,
|
|
280
|
+
// Services
|
|
281
|
+
oxyServices,
|
|
282
|
+
crossDomainAuth,
|
|
283
|
+
authManager,
|
|
284
|
+
// Actions
|
|
112
285
|
signIn,
|
|
286
|
+
signInWithFedCM,
|
|
287
|
+
signInWithPopup,
|
|
288
|
+
signInWithRedirect,
|
|
113
289
|
signOut,
|
|
114
|
-
|
|
115
|
-
};
|
|
290
|
+
isFedCMSupported
|
|
291
|
+
}), [user, isAuthenticated, isLoading, error, oxyServices, crossDomainAuth, authManager, signIn, signInWithFedCM, signInWithPopup, signInWithRedirect, signOut, isFedCMSupported]);
|
|
116
292
|
return /*#__PURE__*/(0, _jsxRuntime.jsx)(_reactQuery.QueryClientProvider, {
|
|
117
293
|
client: queryClient,
|
|
118
294
|
children: /*#__PURE__*/(0, _jsxRuntime.jsx)(WebOxyContext.Provider, {
|
|
@@ -121,6 +297,13 @@ function WebOxyProvider({
|
|
|
121
297
|
})
|
|
122
298
|
});
|
|
123
299
|
}
|
|
300
|
+
|
|
301
|
+
/**
|
|
302
|
+
* Hook to access the full Web Oxy context.
|
|
303
|
+
*
|
|
304
|
+
* @returns Full context value including oxyServices and crossDomainAuth
|
|
305
|
+
* @throws Error if used outside WebOxyProvider
|
|
306
|
+
*/
|
|
124
307
|
function useWebOxy() {
|
|
125
308
|
const context = (0, _react.useContext)(WebOxyContext);
|
|
126
309
|
if (!context) {
|
|
@@ -128,6 +311,39 @@ function useWebOxy() {
|
|
|
128
311
|
}
|
|
129
312
|
return context;
|
|
130
313
|
}
|
|
314
|
+
|
|
315
|
+
/**
|
|
316
|
+
* Hook for authentication in web apps.
|
|
317
|
+
*
|
|
318
|
+
* Provides a simplified interface for common auth operations.
|
|
319
|
+
*
|
|
320
|
+
* @returns Auth state and actions
|
|
321
|
+
* @throws Error if used outside WebOxyProvider
|
|
322
|
+
*
|
|
323
|
+
* @example
|
|
324
|
+
* ```tsx
|
|
325
|
+
* function LoginPage() {
|
|
326
|
+
* const { user, isAuthenticated, isLoading, signIn, signOut, isFedCMSupported } = useAuth();
|
|
327
|
+
*
|
|
328
|
+
* if (isLoading) return <Spinner />;
|
|
329
|
+
*
|
|
330
|
+
* if (isAuthenticated) {
|
|
331
|
+
* return (
|
|
332
|
+
* <div>
|
|
333
|
+
* <p>Welcome, {user.username}!</p>
|
|
334
|
+
* <button onClick={signOut}>Sign Out</button>
|
|
335
|
+
* </div>
|
|
336
|
+
* );
|
|
337
|
+
* }
|
|
338
|
+
*
|
|
339
|
+
* return (
|
|
340
|
+
* <button onClick={signIn}>
|
|
341
|
+
* {isFedCMSupported() ? 'Sign in with Oxy' : 'Sign in'}
|
|
342
|
+
* </button>
|
|
343
|
+
* );
|
|
344
|
+
* }
|
|
345
|
+
* ```
|
|
346
|
+
*/
|
|
131
347
|
function useAuth() {
|
|
132
348
|
const {
|
|
133
349
|
user,
|
|
@@ -135,18 +351,34 @@ function useAuth() {
|
|
|
135
351
|
isLoading,
|
|
136
352
|
error,
|
|
137
353
|
signIn,
|
|
354
|
+
signInWithFedCM,
|
|
355
|
+
signInWithPopup,
|
|
356
|
+
signInWithRedirect,
|
|
138
357
|
signOut,
|
|
139
|
-
|
|
358
|
+
isFedCMSupported,
|
|
359
|
+
oxyServices,
|
|
360
|
+
authManager
|
|
140
361
|
} = useWebOxy();
|
|
141
362
|
return {
|
|
363
|
+
// State
|
|
142
364
|
user,
|
|
143
365
|
isAuthenticated,
|
|
144
366
|
isLoading,
|
|
145
367
|
isReady: !isLoading,
|
|
146
368
|
error,
|
|
369
|
+
// Actions
|
|
147
370
|
signIn,
|
|
371
|
+
signInWithFedCM,
|
|
372
|
+
signInWithPopup,
|
|
373
|
+
signInWithRedirect,
|
|
148
374
|
signOut,
|
|
149
|
-
|
|
375
|
+
// Utilities
|
|
376
|
+
isFedCMSupported,
|
|
377
|
+
oxyServices,
|
|
378
|
+
authManager
|
|
150
379
|
};
|
|
151
380
|
}
|
|
381
|
+
|
|
382
|
+
// Default export for convenience
|
|
383
|
+
var _default = exports.default = WebOxyProvider;
|
|
152
384
|
//# sourceMappingURL=WebOxyContext.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"names":["_react","require","
|
|
1
|
+
{"version":3,"names":["_react","require","_OxyServices","_CrossDomainAuth","_AuthManager","_reactQuery","_queryClient","_jsxRuntime","WebOxyContext","createContext","WebOxyProvider","children","baseURL","authWebUrl","onAuthStateChange","onError","preferredAuthMethod","skipAutoCheck","oxyServices","useState","OxyServices","crossDomainAuth","CrossDomainAuth","authManager","createAuthManager","autoRefresh","queryClient","createQueryClient","user","setUser","isLoading","setIsLoading","error","setError","isAuthenticated","handleAuthSuccess","useCallback","session","method","fullUser","getCurrentUser","handleAuthError","err","errorMessage","Error","message","useEffect","mounted","initAuth","callbackSession","handleRedirectCallback","restoredUser","initialize","currentUser","signOut","silentSignIn","signIn","selectedMethod","onMethodSelected","signInWithFedCM","signInWithPopup","signInWithRedirect","redirectUri","window","location","href","undefined","isFedCMSupported","destroy","contextValue","useMemo","jsx","QueryClientProvider","client","Provider","value","useWebOxy","context","useContext","useAuth","isReady","_default","exports","default"],"sourceRoot":"../../../src","sources":["web/WebOxyContext.tsx"],"mappings":"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","ignoreList":[]}
|