@oxyhq/services 5.4.2 → 5.4.3
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/lib/commonjs/assets/OxyLogo.svg +1 -0
- package/lib/commonjs/assets/assets/OxyLogo.svg +1 -0
- package/lib/commonjs/assets/assets/fonts/Phudu/Phudu-Black.ttf +0 -0
- package/lib/commonjs/assets/assets/fonts/Phudu/Phudu-Bold.ttf +0 -0
- package/lib/commonjs/assets/assets/fonts/Phudu/Phudu-ExtraBold.ttf +0 -0
- package/lib/commonjs/assets/assets/fonts/Phudu/Phudu-Light.ttf +0 -0
- package/lib/commonjs/assets/assets/fonts/Phudu/Phudu-Medium.ttf +0 -0
- package/lib/commonjs/assets/assets/fonts/Phudu/Phudu-Regular.ttf +0 -0
- package/lib/commonjs/assets/assets/fonts/Phudu/Phudu-SemiBold.ttf +0 -0
- package/lib/commonjs/assets/assets/icons/OxyServices.tsx +67 -0
- package/lib/commonjs/assets/assets/icons/logo_OxyServices.svg +1 -0
- package/lib/commonjs/assets/fonts/Phudu/Phudu-Black.ttf +0 -0
- package/lib/commonjs/assets/fonts/Phudu/Phudu-Bold.ttf +0 -0
- package/lib/commonjs/assets/fonts/Phudu/Phudu-ExtraBold.ttf +0 -0
- package/lib/commonjs/assets/fonts/Phudu/Phudu-Light.ttf +0 -0
- package/lib/commonjs/assets/fonts/Phudu/Phudu-Medium.ttf +0 -0
- package/lib/commonjs/assets/fonts/Phudu/Phudu-Regular.ttf +0 -0
- package/lib/commonjs/assets/fonts/Phudu/Phudu-SemiBold.ttf +0 -0
- package/lib/commonjs/assets/icons/OxyServices.js +53 -0
- package/lib/commonjs/assets/icons/OxyServices.js.map +1 -0
- package/lib/commonjs/assets/icons/logo_OxyServices.svg +1 -0
- package/lib/commonjs/constants/version.js +28 -0
- package/lib/commonjs/constants/version.js.map +1 -0
- package/lib/commonjs/core/index.js +1660 -0
- package/lib/commonjs/core/index.js.map +1 -0
- package/lib/commonjs/index.js +160 -0
- package/lib/commonjs/index.js.map +1 -0
- package/lib/commonjs/lib/sonner.js +21 -0
- package/lib/commonjs/lib/sonner.js.map +1 -0
- package/lib/commonjs/models/interfaces.js +2 -0
- package/lib/commonjs/models/interfaces.js.map +1 -0
- package/lib/commonjs/models/secureSession.js +2 -0
- package/lib/commonjs/models/secureSession.js.map +1 -0
- package/lib/commonjs/node/index.js +54 -0
- package/lib/commonjs/node/index.js.map +1 -0
- package/lib/commonjs/ui/components/Avatar.js +98 -0
- package/lib/commonjs/ui/components/Avatar.js.map +1 -0
- package/lib/commonjs/ui/components/FollowButton.js +246 -0
- package/lib/commonjs/ui/components/FollowButton.js.map +1 -0
- package/lib/commonjs/ui/components/FontLoader.js +181 -0
- package/lib/commonjs/ui/components/FontLoader.js.map +1 -0
- package/lib/commonjs/ui/components/GroupedItem.js +109 -0
- package/lib/commonjs/ui/components/GroupedItem.js.map +1 -0
- package/lib/commonjs/ui/components/GroupedSection.js +33 -0
- package/lib/commonjs/ui/components/GroupedSection.js.map +1 -0
- package/lib/commonjs/ui/components/OxyLogo.js +56 -0
- package/lib/commonjs/ui/components/OxyLogo.js.map +1 -0
- package/lib/commonjs/ui/components/OxyProvider.js +517 -0
- package/lib/commonjs/ui/components/OxyProvider.js.map +1 -0
- package/lib/commonjs/ui/components/OxySignInButton.js +178 -0
- package/lib/commonjs/ui/components/OxySignInButton.js.map +1 -0
- package/lib/commonjs/ui/components/ProfileCard.js +124 -0
- package/lib/commonjs/ui/components/ProfileCard.js.map +1 -0
- package/lib/commonjs/ui/components/QuickActions.js +87 -0
- package/lib/commonjs/ui/components/QuickActions.js.map +1 -0
- package/lib/commonjs/ui/components/Section.js +36 -0
- package/lib/commonjs/ui/components/Section.js.map +1 -0
- package/lib/commonjs/ui/components/SectionTitle.js +35 -0
- package/lib/commonjs/ui/components/SectionTitle.js.map +1 -0
- package/lib/commonjs/ui/components/bottomSheet/index.js +37 -0
- package/lib/commonjs/ui/components/bottomSheet/index.js.map +1 -0
- package/lib/commonjs/ui/components/icon/OxyIcon.js +27 -0
- package/lib/commonjs/ui/components/icon/OxyIcon.js.map +1 -0
- package/lib/commonjs/ui/components/icon/index.js +14 -0
- package/lib/commonjs/ui/components/icon/index.js.map +1 -0
- package/lib/commonjs/ui/components/index.js +97 -0
- package/lib/commonjs/ui/components/index.js.map +1 -0
- package/lib/commonjs/ui/context/OxyContext.js +584 -0
- package/lib/commonjs/ui/context/OxyContext.js.map +1 -0
- package/lib/commonjs/ui/index.js +128 -0
- package/lib/commonjs/ui/index.js.map +1 -0
- package/lib/commonjs/ui/navigation/OxyRouter.js +264 -0
- package/lib/commonjs/ui/navigation/OxyRouter.js.map +1 -0
- package/lib/commonjs/ui/navigation/types.js +6 -0
- package/lib/commonjs/ui/navigation/types.js.map +1 -0
- package/lib/commonjs/ui/screens/AccountCenterScreen.js +313 -0
- package/lib/commonjs/ui/screens/AccountCenterScreen.js.map +1 -0
- package/lib/commonjs/ui/screens/AccountManagementDemo.js +299 -0
- package/lib/commonjs/ui/screens/AccountManagementDemo.js.map +1 -0
- package/lib/commonjs/ui/screens/AccountOverviewScreen.js +855 -0
- package/lib/commonjs/ui/screens/AccountOverviewScreen.js.map +1 -0
- package/lib/commonjs/ui/screens/AccountSettingsScreen.js +843 -0
- package/lib/commonjs/ui/screens/AccountSettingsScreen.js.map +1 -0
- package/lib/commonjs/ui/screens/AccountSwitcherScreen.js +788 -0
- package/lib/commonjs/ui/screens/AccountSwitcherScreen.js.map +1 -0
- package/lib/commonjs/ui/screens/AppInfoScreen.js +664 -0
- package/lib/commonjs/ui/screens/AppInfoScreen.js.map +1 -0
- package/lib/commonjs/ui/screens/BillingManagementScreen.js +636 -0
- package/lib/commonjs/ui/screens/BillingManagementScreen.js.map +1 -0
- package/lib/commonjs/ui/screens/FileManagementScreen.js +2515 -0
- package/lib/commonjs/ui/screens/FileManagementScreen.js.map +1 -0
- package/lib/commonjs/ui/screens/PremiumSubscriptionScreen.js +1620 -0
- package/lib/commonjs/ui/screens/PremiumSubscriptionScreen.js.map +1 -0
- package/lib/commonjs/ui/screens/ProfileScreen.js +450 -0
- package/lib/commonjs/ui/screens/ProfileScreen.js.map +1 -0
- package/lib/commonjs/ui/screens/SessionManagementScreen.js +449 -0
- package/lib/commonjs/ui/screens/SessionManagementScreen.js.map +1 -0
- package/lib/commonjs/ui/screens/SignInScreen.js +1004 -0
- package/lib/commonjs/ui/screens/SignInScreen.js.map +1 -0
- package/lib/commonjs/ui/screens/SignUpScreen.js +937 -0
- package/lib/commonjs/ui/screens/SignUpScreen.js.map +1 -0
- package/lib/commonjs/ui/screens/karma/KarmaAboutScreen.js +88 -0
- package/lib/commonjs/ui/screens/karma/KarmaAboutScreen.js.map +1 -0
- package/lib/commonjs/ui/screens/karma/KarmaCenterScreen.js +364 -0
- package/lib/commonjs/ui/screens/karma/KarmaCenterScreen.js.map +1 -0
- package/lib/commonjs/ui/screens/karma/KarmaFAQScreen.js +227 -0
- package/lib/commonjs/ui/screens/karma/KarmaFAQScreen.js.map +1 -0
- package/lib/commonjs/ui/screens/karma/KarmaLeaderboardScreen.js +148 -0
- package/lib/commonjs/ui/screens/karma/KarmaLeaderboardScreen.js.map +1 -0
- package/lib/commonjs/ui/screens/karma/KarmaRewardsScreen.js +127 -0
- package/lib/commonjs/ui/screens/karma/KarmaRewardsScreen.js.map +1 -0
- package/lib/commonjs/ui/screens/karma/KarmaRulesScreen.js +105 -0
- package/lib/commonjs/ui/screens/karma/KarmaRulesScreen.js.map +1 -0
- package/lib/commonjs/ui/styles/FONTS.md +126 -0
- package/lib/commonjs/ui/styles/fonts.js +84 -0
- package/lib/commonjs/ui/styles/fonts.js.map +1 -0
- package/lib/commonjs/ui/styles/index.js +28 -0
- package/lib/commonjs/ui/styles/index.js.map +1 -0
- package/lib/commonjs/ui/styles/theme.js +121 -0
- package/lib/commonjs/ui/styles/theme.js.map +1 -0
- package/lib/commonjs/utils/deviceManager.js +173 -0
- package/lib/commonjs/utils/deviceManager.js.map +1 -0
- package/lib/commonjs/utils/index.js +13 -0
- package/lib/commonjs/utils/index.js.map +1 -0
- package/lib/commonjs/utils/polyfills.js +42 -0
- package/lib/commonjs/utils/polyfills.js.map +1 -0
- package/lib/module/assets/OxyLogo.svg +1 -0
- package/lib/module/assets/assets/OxyLogo.svg +1 -0
- package/lib/module/assets/assets/fonts/Phudu/Phudu-Black.ttf +0 -0
- package/lib/module/assets/assets/fonts/Phudu/Phudu-Bold.ttf +0 -0
- package/lib/module/assets/assets/fonts/Phudu/Phudu-ExtraBold.ttf +0 -0
- package/lib/module/assets/assets/fonts/Phudu/Phudu-Light.ttf +0 -0
- package/lib/module/assets/assets/fonts/Phudu/Phudu-Medium.ttf +0 -0
- package/lib/module/assets/assets/fonts/Phudu/Phudu-Regular.ttf +0 -0
- package/lib/module/assets/assets/fonts/Phudu/Phudu-SemiBold.ttf +0 -0
- package/lib/module/assets/assets/icons/OxyServices.tsx +67 -0
- package/lib/module/assets/assets/icons/logo_OxyServices.svg +1 -0
- package/lib/module/assets/fonts/Phudu/Phudu-Black.ttf +0 -0
- package/lib/module/assets/fonts/Phudu/Phudu-Bold.ttf +0 -0
- package/lib/module/assets/fonts/Phudu/Phudu-ExtraBold.ttf +0 -0
- package/lib/module/assets/fonts/Phudu/Phudu-Light.ttf +0 -0
- package/lib/module/assets/fonts/Phudu/Phudu-Medium.ttf +0 -0
- package/lib/module/assets/fonts/Phudu/Phudu-Regular.ttf +0 -0
- package/lib/module/assets/fonts/Phudu/Phudu-SemiBold.ttf +0 -0
- package/lib/module/assets/icons/OxyServices.js +46 -0
- package/lib/module/assets/icons/OxyServices.js.map +1 -0
- package/lib/module/assets/icons/logo_OxyServices.svg +1 -0
- package/lib/module/constants/version.js +21 -0
- package/lib/module/constants/version.js.map +1 -0
- package/lib/module/core/index.js +1634 -0
- package/lib/module/core/index.js.map +1 -0
- package/lib/module/index.js +48 -0
- package/lib/module/index.js.map +1 -0
- package/lib/module/lib/sonner.js +16 -0
- package/lib/module/lib/sonner.js.map +1 -0
- package/lib/module/models/interfaces.js +2 -0
- package/lib/module/models/interfaces.js.map +1 -0
- package/lib/module/models/secureSession.js +2 -0
- package/lib/module/models/secureSession.js.map +1 -0
- package/lib/module/node/index.js +23 -0
- package/lib/module/node/index.js.map +1 -0
- package/lib/module/ui/components/Avatar.js +93 -0
- package/lib/module/ui/components/Avatar.js.map +1 -0
- package/lib/module/ui/components/FollowButton.js +241 -0
- package/lib/module/ui/components/FollowButton.js.map +1 -0
- package/lib/module/ui/components/FontLoader.js +176 -0
- package/lib/module/ui/components/FontLoader.js.map +1 -0
- package/lib/module/ui/components/GroupedItem.js +104 -0
- package/lib/module/ui/components/GroupedItem.js.map +1 -0
- package/lib/module/ui/components/GroupedSection.js +28 -0
- package/lib/module/ui/components/GroupedSection.js.map +1 -0
- package/lib/module/ui/components/OxyLogo.js +49 -0
- package/lib/module/ui/components/OxyLogo.js.map +1 -0
- package/lib/module/ui/components/OxyProvider.js +511 -0
- package/lib/module/ui/components/OxyProvider.js.map +1 -0
- package/lib/module/ui/components/OxySignInButton.js +172 -0
- package/lib/module/ui/components/OxySignInButton.js.map +1 -0
- package/lib/module/ui/components/ProfileCard.js +119 -0
- package/lib/module/ui/components/ProfileCard.js.map +1 -0
- package/lib/module/ui/components/QuickActions.js +82 -0
- package/lib/module/ui/components/QuickActions.js.map +1 -0
- package/lib/module/ui/components/Section.js +31 -0
- package/lib/module/ui/components/Section.js.map +1 -0
- package/lib/module/ui/components/SectionTitle.js +30 -0
- package/lib/module/ui/components/SectionTitle.js.map +1 -0
- package/lib/module/ui/components/bottomSheet/index.js +5 -0
- package/lib/module/ui/components/bottomSheet/index.js.map +1 -0
- package/lib/module/ui/components/icon/OxyIcon.js +22 -0
- package/lib/module/ui/components/icon/OxyIcon.js.map +1 -0
- package/lib/module/ui/components/icon/index.js +4 -0
- package/lib/module/ui/components/icon/index.js.map +1 -0
- package/lib/module/ui/components/index.js +18 -0
- package/lib/module/ui/components/index.js.map +1 -0
- package/lib/module/ui/context/OxyContext.js +579 -0
- package/lib/module/ui/context/OxyContext.js.map +1 -0
- package/lib/module/ui/index.js +24 -0
- package/lib/module/ui/index.js.map +1 -0
- package/lib/module/ui/navigation/OxyRouter.js +257 -0
- package/lib/module/ui/navigation/OxyRouter.js.map +1 -0
- package/lib/module/ui/navigation/types.js +4 -0
- package/lib/module/ui/navigation/types.js.map +1 -0
- package/lib/module/ui/screens/AccountCenterScreen.js +308 -0
- package/lib/module/ui/screens/AccountCenterScreen.js.map +1 -0
- package/lib/module/ui/screens/AccountManagementDemo.js +296 -0
- package/lib/module/ui/screens/AccountManagementDemo.js.map +1 -0
- package/lib/module/ui/screens/AccountOverviewScreen.js +849 -0
- package/lib/module/ui/screens/AccountOverviewScreen.js.map +1 -0
- package/lib/module/ui/screens/AccountSettingsScreen.js +837 -0
- package/lib/module/ui/screens/AccountSettingsScreen.js.map +1 -0
- package/lib/module/ui/screens/AccountSwitcherScreen.js +782 -0
- package/lib/module/ui/screens/AccountSwitcherScreen.js.map +1 -0
- package/lib/module/ui/screens/AppInfoScreen.js +658 -0
- package/lib/module/ui/screens/AppInfoScreen.js.map +1 -0
- package/lib/module/ui/screens/BillingManagementScreen.js +631 -0
- package/lib/module/ui/screens/BillingManagementScreen.js.map +1 -0
- package/lib/module/ui/screens/FileManagementScreen.js +2510 -0
- package/lib/module/ui/screens/FileManagementScreen.js.map +1 -0
- package/lib/module/ui/screens/PremiumSubscriptionScreen.js +1615 -0
- package/lib/module/ui/screens/PremiumSubscriptionScreen.js.map +1 -0
- package/lib/module/ui/screens/ProfileScreen.js +444 -0
- package/lib/module/ui/screens/ProfileScreen.js.map +1 -0
- package/lib/module/ui/screens/SessionManagementScreen.js +444 -0
- package/lib/module/ui/screens/SessionManagementScreen.js.map +1 -0
- package/lib/module/ui/screens/SignInScreen.js +998 -0
- package/lib/module/ui/screens/SignInScreen.js.map +1 -0
- package/lib/module/ui/screens/SignUpScreen.js +932 -0
- package/lib/module/ui/screens/SignUpScreen.js.map +1 -0
- package/lib/module/ui/screens/karma/KarmaAboutScreen.js +83 -0
- package/lib/module/ui/screens/karma/KarmaAboutScreen.js.map +1 -0
- package/lib/module/ui/screens/karma/KarmaCenterScreen.js +358 -0
- package/lib/module/ui/screens/karma/KarmaCenterScreen.js.map +1 -0
- package/lib/module/ui/screens/karma/KarmaFAQScreen.js +222 -0
- package/lib/module/ui/screens/karma/KarmaFAQScreen.js.map +1 -0
- package/lib/module/ui/screens/karma/KarmaLeaderboardScreen.js +142 -0
- package/lib/module/ui/screens/karma/KarmaLeaderboardScreen.js.map +1 -0
- package/lib/module/ui/screens/karma/KarmaRewardsScreen.js +122 -0
- package/lib/module/ui/screens/karma/KarmaRewardsScreen.js.map +1 -0
- package/lib/module/ui/screens/karma/KarmaRulesScreen.js +100 -0
- package/lib/module/ui/screens/karma/KarmaRulesScreen.js.map +1 -0
- package/lib/module/ui/styles/FONTS.md +126 -0
- package/lib/module/ui/styles/fonts.js +81 -0
- package/lib/module/ui/styles/fonts.js.map +1 -0
- package/lib/module/ui/styles/index.js +5 -0
- package/lib/module/ui/styles/index.js.map +1 -0
- package/lib/module/ui/styles/theme.js +114 -0
- package/lib/module/ui/styles/theme.js.map +1 -0
- package/lib/module/utils/deviceManager.js +167 -0
- package/lib/module/utils/deviceManager.js.map +1 -0
- package/lib/module/utils/index.js +4 -0
- package/lib/module/utils/index.js.map +1 -0
- package/lib/module/utils/polyfills.js +36 -0
- package/lib/module/utils/polyfills.js.map +1 -0
- package/lib/typescript/assets/icons/OxyServices.d.ts +29 -0
- package/lib/typescript/assets/icons/OxyServices.d.ts.map +1 -0
- package/lib/typescript/constants/version.d.ts +14 -0
- package/lib/typescript/constants/version.d.ts.map +1 -0
- package/lib/typescript/core/index.d.ts +603 -0
- package/lib/typescript/core/index.d.ts.map +1 -0
- package/lib/typescript/index.d.ts +20 -0
- package/lib/typescript/index.d.ts.map +1 -0
- package/lib/typescript/lib/sonner.d.ts +6 -0
- package/lib/typescript/lib/sonner.d.ts.map +1 -0
- package/lib/typescript/models/interfaces.d.ts +179 -0
- package/lib/typescript/models/interfaces.d.ts.map +1 -0
- package/lib/typescript/models/secureSession.d.ts +27 -0
- package/lib/typescript/models/secureSession.d.ts.map +1 -0
- package/lib/typescript/node/index.d.ts +11 -0
- package/lib/typescript/node/index.d.ts.map +1 -0
- package/lib/typescript/ui/components/Avatar.d.ts +62 -0
- package/lib/typescript/ui/components/Avatar.d.ts.map +1 -0
- package/lib/typescript/ui/components/FollowButton.d.ts +92 -0
- package/lib/typescript/ui/components/FollowButton.d.ts.map +1 -0
- package/lib/typescript/ui/components/FontLoader.d.ts +15 -0
- package/lib/typescript/ui/components/FontLoader.d.ts.map +1 -0
- package/lib/typescript/ui/components/GroupedItem.d.ts +17 -0
- package/lib/typescript/ui/components/GroupedItem.d.ts.map +1 -0
- package/lib/typescript/ui/components/GroupedSection.d.ts +19 -0
- package/lib/typescript/ui/components/GroupedSection.d.ts.map +1 -0
- package/lib/typescript/ui/components/OxyLogo.d.ts +29 -0
- package/lib/typescript/ui/components/OxyLogo.d.ts.map +1 -0
- package/lib/typescript/ui/components/OxyProvider.d.ts +12 -0
- package/lib/typescript/ui/components/OxyProvider.d.ts.map +1 -0
- package/lib/typescript/ui/components/OxySignInButton.d.ts +70 -0
- package/lib/typescript/ui/components/OxySignInButton.d.ts.map +1 -0
- package/lib/typescript/ui/components/ProfileCard.d.ts +20 -0
- package/lib/typescript/ui/components/ProfileCard.d.ts.map +1 -0
- package/lib/typescript/ui/components/QuickActions.d.ts +15 -0
- package/lib/typescript/ui/components/QuickActions.d.ts.map +1 -0
- package/lib/typescript/ui/components/Section.d.ts +11 -0
- package/lib/typescript/ui/components/Section.d.ts.map +1 -0
- package/lib/typescript/ui/components/SectionTitle.d.ts +9 -0
- package/lib/typescript/ui/components/SectionTitle.d.ts.map +1 -0
- package/lib/typescript/ui/components/bottomSheet/index.d.ts +4 -0
- package/lib/typescript/ui/components/bottomSheet/index.d.ts.map +1 -0
- package/lib/typescript/ui/components/icon/OxyIcon.d.ts +10 -0
- package/lib/typescript/ui/components/icon/OxyIcon.d.ts.map +1 -0
- package/lib/typescript/ui/components/icon/index.d.ts +3 -0
- package/lib/typescript/ui/components/icon/index.d.ts.map +1 -0
- package/lib/typescript/ui/components/index.d.ts +13 -0
- package/lib/typescript/ui/components/index.d.ts.map +1 -0
- package/lib/typescript/ui/context/OxyContext.d.ts +42 -0
- package/lib/typescript/ui/context/OxyContext.d.ts.map +1 -0
- package/lib/typescript/ui/index.d.ts +15 -0
- package/lib/typescript/ui/index.d.ts.map +1 -0
- package/lib/typescript/ui/navigation/OxyRouter.d.ts +5 -0
- package/lib/typescript/ui/navigation/OxyRouter.d.ts.map +1 -0
- package/lib/typescript/ui/navigation/types.d.ts +116 -0
- package/lib/typescript/ui/navigation/types.d.ts.map +1 -0
- package/lib/typescript/ui/screens/AccountCenterScreen.d.ts +5 -0
- package/lib/typescript/ui/screens/AccountCenterScreen.d.ts.map +1 -0
- package/lib/typescript/ui/screens/AccountManagementDemo.d.ts +8 -0
- package/lib/typescript/ui/screens/AccountManagementDemo.d.ts.map +1 -0
- package/lib/typescript/ui/screens/AccountOverviewScreen.d.ts +5 -0
- package/lib/typescript/ui/screens/AccountOverviewScreen.d.ts.map +1 -0
- package/lib/typescript/ui/screens/AccountSettingsScreen.d.ts +5 -0
- package/lib/typescript/ui/screens/AccountSettingsScreen.d.ts.map +1 -0
- package/lib/typescript/ui/screens/AccountSwitcherScreen.d.ts +5 -0
- package/lib/typescript/ui/screens/AccountSwitcherScreen.d.ts.map +1 -0
- package/lib/typescript/ui/screens/AppInfoScreen.d.ts +5 -0
- package/lib/typescript/ui/screens/AppInfoScreen.d.ts.map +1 -0
- package/lib/typescript/ui/screens/BillingManagementScreen.d.ts +5 -0
- package/lib/typescript/ui/screens/BillingManagementScreen.d.ts.map +1 -0
- package/lib/typescript/ui/screens/FileManagementScreen.d.ts +8 -0
- package/lib/typescript/ui/screens/FileManagementScreen.d.ts.map +1 -0
- package/lib/typescript/ui/screens/PremiumSubscriptionScreen.d.ts +5 -0
- package/lib/typescript/ui/screens/PremiumSubscriptionScreen.d.ts.map +1 -0
- package/lib/typescript/ui/screens/ProfileScreen.d.ts +9 -0
- package/lib/typescript/ui/screens/ProfileScreen.d.ts.map +1 -0
- package/lib/typescript/ui/screens/SessionManagementScreen.d.ts +5 -0
- package/lib/typescript/ui/screens/SessionManagementScreen.d.ts.map +1 -0
- package/lib/typescript/ui/screens/SignInScreen.d.ts +5 -0
- package/lib/typescript/ui/screens/SignInScreen.d.ts.map +1 -0
- package/lib/typescript/ui/screens/SignUpScreen.d.ts +5 -0
- package/lib/typescript/ui/screens/SignUpScreen.d.ts.map +1 -0
- package/lib/typescript/ui/screens/karma/KarmaAboutScreen.d.ts +5 -0
- package/lib/typescript/ui/screens/karma/KarmaAboutScreen.d.ts.map +1 -0
- package/lib/typescript/ui/screens/karma/KarmaCenterScreen.d.ts +5 -0
- package/lib/typescript/ui/screens/karma/KarmaCenterScreen.d.ts.map +1 -0
- package/lib/typescript/ui/screens/karma/KarmaFAQScreen.d.ts +5 -0
- package/lib/typescript/ui/screens/karma/KarmaFAQScreen.d.ts.map +1 -0
- package/lib/typescript/ui/screens/karma/KarmaLeaderboardScreen.d.ts +5 -0
- package/lib/typescript/ui/screens/karma/KarmaLeaderboardScreen.d.ts.map +1 -0
- package/lib/typescript/ui/screens/karma/KarmaRewardsScreen.d.ts +5 -0
- package/lib/typescript/ui/screens/karma/KarmaRewardsScreen.d.ts.map +1 -0
- package/lib/typescript/ui/screens/karma/KarmaRulesScreen.d.ts +5 -0
- package/lib/typescript/ui/screens/karma/KarmaRulesScreen.d.ts.map +1 -0
- package/lib/typescript/ui/styles/fonts.d.ts +21 -0
- package/lib/typescript/ui/styles/fonts.d.ts.map +1 -0
- package/lib/typescript/ui/styles/index.d.ts +3 -0
- package/lib/typescript/ui/styles/index.d.ts.map +1 -0
- package/lib/typescript/ui/styles/theme.d.ts +68 -0
- package/lib/typescript/ui/styles/theme.d.ts.map +1 -0
- package/lib/typescript/utils/deviceManager.d.ts +66 -0
- package/lib/typescript/utils/deviceManager.d.ts.map +1 -0
- package/lib/typescript/utils/index.d.ts +3 -0
- package/lib/typescript/utils/index.d.ts.map +1 -0
- package/lib/typescript/utils/polyfills.d.ts +6 -0
- package/lib/typescript/utils/polyfills.d.ts.map +1 -0
- package/package.json +20 -4
|
@@ -0,0 +1,579 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
|
|
3
|
+
import React, { createContext, useContext, useState, useEffect, useCallback, useMemo } from 'react';
|
|
4
|
+
import { DeviceManager } from "../../utils/deviceManager.js";
|
|
5
|
+
|
|
6
|
+
// Define the context shape
|
|
7
|
+
import { jsx as _jsx } from "react/jsx-runtime";
|
|
8
|
+
// Create the context with default values
|
|
9
|
+
const OxyContext = /*#__PURE__*/createContext(null);
|
|
10
|
+
|
|
11
|
+
// Props for the OxyContextProvider
|
|
12
|
+
|
|
13
|
+
// Platform storage implementation
|
|
14
|
+
|
|
15
|
+
// Web localStorage implementation
|
|
16
|
+
class WebStorage {
|
|
17
|
+
async getItem(key) {
|
|
18
|
+
return localStorage.getItem(key);
|
|
19
|
+
}
|
|
20
|
+
async setItem(key, value) {
|
|
21
|
+
localStorage.setItem(key, value);
|
|
22
|
+
}
|
|
23
|
+
async removeItem(key) {
|
|
24
|
+
localStorage.removeItem(key);
|
|
25
|
+
}
|
|
26
|
+
async clear() {
|
|
27
|
+
localStorage.clear();
|
|
28
|
+
}
|
|
29
|
+
}
|
|
30
|
+
|
|
31
|
+
// React Native AsyncStorage implementation
|
|
32
|
+
let AsyncStorage;
|
|
33
|
+
|
|
34
|
+
// Determine the platform and set up storage
|
|
35
|
+
const isReactNative = () => {
|
|
36
|
+
return typeof navigator !== 'undefined' && navigator.product === 'ReactNative';
|
|
37
|
+
};
|
|
38
|
+
|
|
39
|
+
// Get appropriate storage for the platform
|
|
40
|
+
const getStorage = async () => {
|
|
41
|
+
if (isReactNative()) {
|
|
42
|
+
if (!AsyncStorage) {
|
|
43
|
+
try {
|
|
44
|
+
const asyncStorageModule = await import('@react-native-async-storage/async-storage');
|
|
45
|
+
AsyncStorage = asyncStorageModule.default;
|
|
46
|
+
} catch (error) {
|
|
47
|
+
console.error('Failed to import AsyncStorage:', error);
|
|
48
|
+
throw new Error('AsyncStorage is required in React Native environment');
|
|
49
|
+
}
|
|
50
|
+
}
|
|
51
|
+
return AsyncStorage;
|
|
52
|
+
}
|
|
53
|
+
return new WebStorage();
|
|
54
|
+
};
|
|
55
|
+
|
|
56
|
+
// Storage keys for secure sessions
|
|
57
|
+
const getSecureStorageKeys = (prefix = 'oxy_secure') => ({
|
|
58
|
+
sessions: `${prefix}_sessions`,
|
|
59
|
+
// Array of SecureClientSession objects
|
|
60
|
+
activeSessionId: `${prefix}_active_session_id` // ID of currently active session
|
|
61
|
+
});
|
|
62
|
+
export const OxyContextProvider = ({
|
|
63
|
+
children,
|
|
64
|
+
oxyServices,
|
|
65
|
+
storageKeyPrefix = 'oxy_secure',
|
|
66
|
+
onAuthStateChange,
|
|
67
|
+
bottomSheetRef
|
|
68
|
+
}) => {
|
|
69
|
+
// Authentication state
|
|
70
|
+
const [user, setUser] = useState(null);
|
|
71
|
+
const [minimalUser, setMinimalUser] = useState(null);
|
|
72
|
+
const [sessions, setSessions] = useState([]);
|
|
73
|
+
const [activeSessionId, setActiveSessionId] = useState(null);
|
|
74
|
+
const [isLoading, setIsLoading] = useState(true);
|
|
75
|
+
const [error, setError] = useState(null);
|
|
76
|
+
const [storage, setStorage] = useState(null);
|
|
77
|
+
|
|
78
|
+
// Storage keys (memoized to prevent infinite loops)
|
|
79
|
+
const keys = useMemo(() => getSecureStorageKeys(storageKeyPrefix), [storageKeyPrefix]);
|
|
80
|
+
|
|
81
|
+
// Initialize storage
|
|
82
|
+
useEffect(() => {
|
|
83
|
+
const initStorage = async () => {
|
|
84
|
+
try {
|
|
85
|
+
const platformStorage = await getStorage();
|
|
86
|
+
setStorage(platformStorage);
|
|
87
|
+
} catch (error) {
|
|
88
|
+
console.error('Failed to initialize storage:', error);
|
|
89
|
+
setError('Failed to initialize storage');
|
|
90
|
+
}
|
|
91
|
+
};
|
|
92
|
+
initStorage();
|
|
93
|
+
}, []);
|
|
94
|
+
|
|
95
|
+
// Effect to initialize authentication state
|
|
96
|
+
useEffect(() => {
|
|
97
|
+
const initAuth = async () => {
|
|
98
|
+
if (!storage) return;
|
|
99
|
+
setIsLoading(true);
|
|
100
|
+
try {
|
|
101
|
+
// Load stored sessions
|
|
102
|
+
const sessionsData = await storage.getItem(keys.sessions);
|
|
103
|
+
const storedActiveSessionId = await storage.getItem(keys.activeSessionId);
|
|
104
|
+
console.log('SecureAuth - sessionsData:', sessionsData);
|
|
105
|
+
console.log('SecureAuth - activeSessionId:', storedActiveSessionId);
|
|
106
|
+
if (sessionsData) {
|
|
107
|
+
const parsedSessions = JSON.parse(sessionsData);
|
|
108
|
+
|
|
109
|
+
// Migrate old session format to include user info
|
|
110
|
+
const migratedSessions = [];
|
|
111
|
+
let shouldUpdateStorage = false;
|
|
112
|
+
for (const session of parsedSessions) {
|
|
113
|
+
if (!session.userId || !session.username) {
|
|
114
|
+
// Session is missing user info, try to fetch it
|
|
115
|
+
try {
|
|
116
|
+
const sessionUser = await oxyServices.getUserBySession(session.sessionId);
|
|
117
|
+
migratedSessions.push({
|
|
118
|
+
...session,
|
|
119
|
+
userId: sessionUser.id,
|
|
120
|
+
username: sessionUser.username
|
|
121
|
+
});
|
|
122
|
+
shouldUpdateStorage = true;
|
|
123
|
+
console.log(`Migrated session ${session.sessionId} for user ${sessionUser.username}`);
|
|
124
|
+
} catch (error) {
|
|
125
|
+
// Session might be invalid, skip it
|
|
126
|
+
console.log(`Removing invalid session ${session.sessionId}:`, error);
|
|
127
|
+
shouldUpdateStorage = true;
|
|
128
|
+
}
|
|
129
|
+
} else {
|
|
130
|
+
// Session already has user info
|
|
131
|
+
migratedSessions.push(session);
|
|
132
|
+
}
|
|
133
|
+
}
|
|
134
|
+
|
|
135
|
+
// Update storage if we made changes
|
|
136
|
+
if (shouldUpdateStorage) {
|
|
137
|
+
await saveSessionsToStorage(migratedSessions);
|
|
138
|
+
}
|
|
139
|
+
setSessions(migratedSessions);
|
|
140
|
+
if (storedActiveSessionId && migratedSessions.length > 0) {
|
|
141
|
+
const activeSession = migratedSessions.find(s => s.sessionId === storedActiveSessionId);
|
|
142
|
+
if (activeSession) {
|
|
143
|
+
console.log('SecureAuth - activeSession found:', activeSession);
|
|
144
|
+
|
|
145
|
+
// Validate session
|
|
146
|
+
try {
|
|
147
|
+
const validation = await oxyServices.validateSession(activeSession.sessionId);
|
|
148
|
+
if (validation.valid) {
|
|
149
|
+
console.log('SecureAuth - session validated successfully');
|
|
150
|
+
setActiveSessionId(activeSession.sessionId);
|
|
151
|
+
|
|
152
|
+
// Get access token for API calls
|
|
153
|
+
await oxyServices.getTokenBySession(activeSession.sessionId);
|
|
154
|
+
|
|
155
|
+
// Load full user data
|
|
156
|
+
const fullUser = await oxyServices.getUserBySession(activeSession.sessionId);
|
|
157
|
+
setUser(fullUser);
|
|
158
|
+
setMinimalUser({
|
|
159
|
+
id: fullUser.id,
|
|
160
|
+
username: fullUser.username,
|
|
161
|
+
avatar: fullUser.avatar
|
|
162
|
+
});
|
|
163
|
+
if (onAuthStateChange) {
|
|
164
|
+
onAuthStateChange(fullUser);
|
|
165
|
+
}
|
|
166
|
+
} else {
|
|
167
|
+
console.log('SecureAuth - session invalid, removing');
|
|
168
|
+
await removeInvalidSession(activeSession.sessionId);
|
|
169
|
+
}
|
|
170
|
+
} catch (error) {
|
|
171
|
+
console.error('SecureAuth - session validation error:', error);
|
|
172
|
+
await removeInvalidSession(activeSession.sessionId);
|
|
173
|
+
}
|
|
174
|
+
}
|
|
175
|
+
}
|
|
176
|
+
}
|
|
177
|
+
} catch (err) {
|
|
178
|
+
console.error('Secure auth initialization error:', err);
|
|
179
|
+
await clearAllStorage();
|
|
180
|
+
} finally {
|
|
181
|
+
setIsLoading(false);
|
|
182
|
+
}
|
|
183
|
+
};
|
|
184
|
+
if (storage) {
|
|
185
|
+
initAuth();
|
|
186
|
+
}
|
|
187
|
+
}, [storage, oxyServices, keys, onAuthStateChange]);
|
|
188
|
+
|
|
189
|
+
// Remove invalid session
|
|
190
|
+
const removeInvalidSession = useCallback(async sessionId => {
|
|
191
|
+
const filteredSessions = sessions.filter(s => s.sessionId !== sessionId);
|
|
192
|
+
setSessions(filteredSessions);
|
|
193
|
+
await saveSessionsToStorage(filteredSessions);
|
|
194
|
+
|
|
195
|
+
// If there are other sessions, switch to the first one
|
|
196
|
+
if (filteredSessions.length > 0) {
|
|
197
|
+
await switchToSession(filteredSessions[0].sessionId);
|
|
198
|
+
} else {
|
|
199
|
+
// No valid sessions left
|
|
200
|
+
setActiveSessionId(null);
|
|
201
|
+
setUser(null);
|
|
202
|
+
setMinimalUser(null);
|
|
203
|
+
await storage?.removeItem(keys.activeSessionId);
|
|
204
|
+
if (onAuthStateChange) {
|
|
205
|
+
onAuthStateChange(null);
|
|
206
|
+
}
|
|
207
|
+
}
|
|
208
|
+
}, [sessions, storage, keys, onAuthStateChange]);
|
|
209
|
+
|
|
210
|
+
// Save sessions to storage
|
|
211
|
+
const saveSessionsToStorage = useCallback(async sessionsList => {
|
|
212
|
+
if (!storage) return;
|
|
213
|
+
await storage.setItem(keys.sessions, JSON.stringify(sessionsList));
|
|
214
|
+
}, [storage, keys.sessions]);
|
|
215
|
+
|
|
216
|
+
// Save active session ID to storage
|
|
217
|
+
const saveActiveSessionId = useCallback(async sessionId => {
|
|
218
|
+
if (!storage) return;
|
|
219
|
+
await storage.setItem(keys.activeSessionId, sessionId);
|
|
220
|
+
}, [storage, keys.activeSessionId]);
|
|
221
|
+
|
|
222
|
+
// Clear all storage
|
|
223
|
+
const clearAllStorage = useCallback(async () => {
|
|
224
|
+
if (!storage) return;
|
|
225
|
+
try {
|
|
226
|
+
await storage.removeItem(keys.sessions);
|
|
227
|
+
await storage.removeItem(keys.activeSessionId);
|
|
228
|
+
} catch (err) {
|
|
229
|
+
console.error('Clear secure storage error:', err);
|
|
230
|
+
}
|
|
231
|
+
}, [storage, keys]);
|
|
232
|
+
|
|
233
|
+
// Switch to a different session
|
|
234
|
+
const switchToSession = useCallback(async sessionId => {
|
|
235
|
+
try {
|
|
236
|
+
setIsLoading(true);
|
|
237
|
+
|
|
238
|
+
// Get access token for this session
|
|
239
|
+
await oxyServices.getTokenBySession(sessionId);
|
|
240
|
+
|
|
241
|
+
// Load full user data
|
|
242
|
+
const fullUser = await oxyServices.getUserBySession(sessionId);
|
|
243
|
+
setActiveSessionId(sessionId);
|
|
244
|
+
setUser(fullUser);
|
|
245
|
+
setMinimalUser({
|
|
246
|
+
id: fullUser.id,
|
|
247
|
+
username: fullUser.username,
|
|
248
|
+
avatar: fullUser.avatar
|
|
249
|
+
});
|
|
250
|
+
await saveActiveSessionId(sessionId);
|
|
251
|
+
if (onAuthStateChange) {
|
|
252
|
+
onAuthStateChange(fullUser);
|
|
253
|
+
}
|
|
254
|
+
} catch (error) {
|
|
255
|
+
console.error('Switch session error:', error);
|
|
256
|
+
setError('Failed to switch session');
|
|
257
|
+
} finally {
|
|
258
|
+
setIsLoading(false);
|
|
259
|
+
}
|
|
260
|
+
}, [oxyServices, onAuthStateChange, saveActiveSessionId]);
|
|
261
|
+
|
|
262
|
+
// Secure login method
|
|
263
|
+
const login = async (username, password, deviceName) => {
|
|
264
|
+
if (!storage) throw new Error('Storage not initialized');
|
|
265
|
+
setIsLoading(true);
|
|
266
|
+
setError(null);
|
|
267
|
+
try {
|
|
268
|
+
// Get device fingerprint for enhanced device identification
|
|
269
|
+
const deviceFingerprint = DeviceManager.getDeviceFingerprint();
|
|
270
|
+
|
|
271
|
+
// Get or generate persistent device info
|
|
272
|
+
const deviceInfo = await DeviceManager.getDeviceInfo();
|
|
273
|
+
console.log('SecureAuth - Using device fingerprint:', deviceFingerprint);
|
|
274
|
+
console.log('SecureAuth - Using device ID:', deviceInfo.deviceId);
|
|
275
|
+
const response = await oxyServices.secureLogin(username, password, deviceName || deviceInfo.deviceName || DeviceManager.getDefaultDeviceName(), deviceFingerprint);
|
|
276
|
+
|
|
277
|
+
// Create client session object with user info for duplicate detection
|
|
278
|
+
const clientSession = {
|
|
279
|
+
sessionId: response.sessionId,
|
|
280
|
+
deviceId: response.deviceId,
|
|
281
|
+
expiresAt: response.expiresAt,
|
|
282
|
+
lastActive: new Date().toISOString(),
|
|
283
|
+
userId: response.user.id,
|
|
284
|
+
username: response.user.username
|
|
285
|
+
};
|
|
286
|
+
|
|
287
|
+
// Check if this user already has a session (prevent duplicate accounts)
|
|
288
|
+
const existingUserSessionIndex = sessions.findIndex(s => s.userId === response.user.id || s.username === response.user.username);
|
|
289
|
+
let updatedSessions;
|
|
290
|
+
if (existingUserSessionIndex !== -1) {
|
|
291
|
+
// User already has a session - replace it with the new one (reused session scenario)
|
|
292
|
+
const existingSession = sessions[existingUserSessionIndex];
|
|
293
|
+
updatedSessions = [...sessions];
|
|
294
|
+
updatedSessions[existingUserSessionIndex] = clientSession;
|
|
295
|
+
console.log(`Reusing/updating existing session for user ${response.user.username}. Previous session: ${existingSession.sessionId}, New session: ${response.sessionId}`);
|
|
296
|
+
|
|
297
|
+
// If the replaced session was the active one, update active session
|
|
298
|
+
if (activeSessionId === existingSession.sessionId) {
|
|
299
|
+
setActiveSessionId(response.sessionId);
|
|
300
|
+
await saveActiveSessionId(response.sessionId);
|
|
301
|
+
}
|
|
302
|
+
} else {
|
|
303
|
+
// Add new session for new user
|
|
304
|
+
updatedSessions = [...sessions, clientSession];
|
|
305
|
+
console.log(`Added new session for user ${response.user.username} on device ${response.deviceId}`);
|
|
306
|
+
}
|
|
307
|
+
setSessions(updatedSessions);
|
|
308
|
+
await saveSessionsToStorage(updatedSessions);
|
|
309
|
+
|
|
310
|
+
// Set as active session
|
|
311
|
+
setActiveSessionId(response.sessionId);
|
|
312
|
+
await saveActiveSessionId(response.sessionId);
|
|
313
|
+
|
|
314
|
+
// Get access token for API calls
|
|
315
|
+
await oxyServices.getTokenBySession(response.sessionId);
|
|
316
|
+
|
|
317
|
+
// Load full user data
|
|
318
|
+
const fullUser = await oxyServices.getUserBySession(response.sessionId);
|
|
319
|
+
setUser(fullUser);
|
|
320
|
+
setMinimalUser(response.user);
|
|
321
|
+
if (onAuthStateChange) {
|
|
322
|
+
onAuthStateChange(fullUser);
|
|
323
|
+
}
|
|
324
|
+
return fullUser;
|
|
325
|
+
} catch (error) {
|
|
326
|
+
setError(error.message || 'Login failed');
|
|
327
|
+
throw error;
|
|
328
|
+
} finally {
|
|
329
|
+
setIsLoading(false);
|
|
330
|
+
}
|
|
331
|
+
};
|
|
332
|
+
|
|
333
|
+
// Logout method
|
|
334
|
+
const logout = async targetSessionId => {
|
|
335
|
+
if (!activeSessionId) return;
|
|
336
|
+
try {
|
|
337
|
+
const sessionToLogout = targetSessionId || activeSessionId;
|
|
338
|
+
await oxyServices.logoutSecureSession(activeSessionId, sessionToLogout);
|
|
339
|
+
|
|
340
|
+
// Remove session from local storage
|
|
341
|
+
const filteredSessions = sessions.filter(s => s.sessionId !== sessionToLogout);
|
|
342
|
+
setSessions(filteredSessions);
|
|
343
|
+
await saveSessionsToStorage(filteredSessions);
|
|
344
|
+
|
|
345
|
+
// If logging out active session
|
|
346
|
+
if (sessionToLogout === activeSessionId) {
|
|
347
|
+
if (filteredSessions.length > 0) {
|
|
348
|
+
// Switch to another session
|
|
349
|
+
await switchToSession(filteredSessions[0].sessionId);
|
|
350
|
+
} else {
|
|
351
|
+
// No sessions left
|
|
352
|
+
setActiveSessionId(null);
|
|
353
|
+
setUser(null);
|
|
354
|
+
setMinimalUser(null);
|
|
355
|
+
await storage?.removeItem(keys.activeSessionId);
|
|
356
|
+
if (onAuthStateChange) {
|
|
357
|
+
onAuthStateChange(null);
|
|
358
|
+
}
|
|
359
|
+
}
|
|
360
|
+
}
|
|
361
|
+
} catch (error) {
|
|
362
|
+
console.error('Logout error:', error);
|
|
363
|
+
setError('Logout failed');
|
|
364
|
+
}
|
|
365
|
+
};
|
|
366
|
+
|
|
367
|
+
// Logout all sessions
|
|
368
|
+
const logoutAll = async () => {
|
|
369
|
+
console.log('logoutAll called with activeSessionId:', activeSessionId);
|
|
370
|
+
if (!activeSessionId) {
|
|
371
|
+
console.error('No active session ID found, cannot logout all');
|
|
372
|
+
setError('No active session found');
|
|
373
|
+
throw new Error('No active session found');
|
|
374
|
+
}
|
|
375
|
+
if (!oxyServices) {
|
|
376
|
+
console.error('OxyServices not initialized');
|
|
377
|
+
setError('Service not available');
|
|
378
|
+
throw new Error('Service not available');
|
|
379
|
+
}
|
|
380
|
+
try {
|
|
381
|
+
console.log('Calling oxyServices.logoutAllSecureSessions with sessionId:', activeSessionId);
|
|
382
|
+
await oxyServices.logoutAllSecureSessions(activeSessionId);
|
|
383
|
+
console.log('logoutAllSecureSessions completed successfully');
|
|
384
|
+
|
|
385
|
+
// Clear all local data
|
|
386
|
+
setSessions([]);
|
|
387
|
+
setActiveSessionId(null);
|
|
388
|
+
setUser(null);
|
|
389
|
+
setMinimalUser(null);
|
|
390
|
+
await clearAllStorage();
|
|
391
|
+
console.log('Local storage cleared');
|
|
392
|
+
if (onAuthStateChange) {
|
|
393
|
+
onAuthStateChange(null);
|
|
394
|
+
console.log('Auth state change callback called');
|
|
395
|
+
}
|
|
396
|
+
} catch (error) {
|
|
397
|
+
console.error('Logout all error:', error);
|
|
398
|
+
setError(`Logout all failed: ${error instanceof Error ? error.message : 'Unknown error'}`);
|
|
399
|
+
throw error;
|
|
400
|
+
}
|
|
401
|
+
};
|
|
402
|
+
|
|
403
|
+
// Sign up method
|
|
404
|
+
const signUp = async (username, email, password) => {
|
|
405
|
+
if (!storage) throw new Error('Storage not initialized');
|
|
406
|
+
setIsLoading(true);
|
|
407
|
+
setError(null);
|
|
408
|
+
try {
|
|
409
|
+
// Create new account using the OxyServices signUp method
|
|
410
|
+
const response = await oxyServices.signUp(username, email, password);
|
|
411
|
+
console.log('SignUp successful:', response);
|
|
412
|
+
|
|
413
|
+
// Now log the user in securely to create a session
|
|
414
|
+
// This will handle the session creation and device registration
|
|
415
|
+
const user = await login(username, password);
|
|
416
|
+
return user;
|
|
417
|
+
} catch (error) {
|
|
418
|
+
setError(error.message || 'Sign up failed');
|
|
419
|
+
throw error;
|
|
420
|
+
} finally {
|
|
421
|
+
setIsLoading(false);
|
|
422
|
+
}
|
|
423
|
+
};
|
|
424
|
+
|
|
425
|
+
// Switch session method
|
|
426
|
+
const switchSession = async sessionId => {
|
|
427
|
+
await switchToSession(sessionId);
|
|
428
|
+
};
|
|
429
|
+
|
|
430
|
+
// Remove session method
|
|
431
|
+
const removeSession = async sessionId => {
|
|
432
|
+
await logout(sessionId);
|
|
433
|
+
};
|
|
434
|
+
|
|
435
|
+
// Refresh sessions method
|
|
436
|
+
const refreshSessions = async () => {
|
|
437
|
+
if (!activeSessionId) return;
|
|
438
|
+
try {
|
|
439
|
+
const serverSessions = await oxyServices.getSessionsBySessionId(activeSessionId);
|
|
440
|
+
|
|
441
|
+
// Update local sessions with server data
|
|
442
|
+
const updatedSessions = serverSessions.map(serverSession => ({
|
|
443
|
+
sessionId: serverSession.sessionId,
|
|
444
|
+
deviceId: serverSession.deviceId,
|
|
445
|
+
expiresAt: new Date().toISOString(),
|
|
446
|
+
// You might want to get this from server
|
|
447
|
+
lastActive: new Date().toISOString()
|
|
448
|
+
}));
|
|
449
|
+
setSessions(updatedSessions);
|
|
450
|
+
await saveSessionsToStorage(updatedSessions);
|
|
451
|
+
} catch (error) {
|
|
452
|
+
console.error('Refresh sessions error:', error);
|
|
453
|
+
}
|
|
454
|
+
};
|
|
455
|
+
|
|
456
|
+
// Device management methods
|
|
457
|
+
const getDeviceSessions = async () => {
|
|
458
|
+
if (!activeSessionId) throw new Error('No active session');
|
|
459
|
+
try {
|
|
460
|
+
return await oxyServices.getDeviceSessions(activeSessionId);
|
|
461
|
+
} catch (error) {
|
|
462
|
+
console.error('Get device sessions error:', error);
|
|
463
|
+
throw error;
|
|
464
|
+
}
|
|
465
|
+
};
|
|
466
|
+
const logoutAllDeviceSessions = async () => {
|
|
467
|
+
if (!activeSessionId) throw new Error('No active session');
|
|
468
|
+
try {
|
|
469
|
+
await oxyServices.logoutAllDeviceSessions(activeSessionId);
|
|
470
|
+
|
|
471
|
+
// Clear all local sessions since we logged out from all devices
|
|
472
|
+
setSessions([]);
|
|
473
|
+
setActiveSessionId(null);
|
|
474
|
+
setUser(null);
|
|
475
|
+
setMinimalUser(null);
|
|
476
|
+
await clearAllStorage();
|
|
477
|
+
if (onAuthStateChange) {
|
|
478
|
+
onAuthStateChange(null);
|
|
479
|
+
}
|
|
480
|
+
} catch (error) {
|
|
481
|
+
console.error('Logout all device sessions error:', error);
|
|
482
|
+
throw error;
|
|
483
|
+
}
|
|
484
|
+
};
|
|
485
|
+
const updateDeviceName = async deviceName => {
|
|
486
|
+
if (!activeSessionId) throw new Error('No active session');
|
|
487
|
+
try {
|
|
488
|
+
await oxyServices.updateDeviceName(activeSessionId, deviceName);
|
|
489
|
+
|
|
490
|
+
// Update local device info
|
|
491
|
+
await DeviceManager.updateDeviceName(deviceName);
|
|
492
|
+
} catch (error) {
|
|
493
|
+
console.error('Update device name error:', error);
|
|
494
|
+
throw error;
|
|
495
|
+
}
|
|
496
|
+
};
|
|
497
|
+
|
|
498
|
+
// Bottom sheet control methods
|
|
499
|
+
const showBottomSheet = useCallback(screenOrConfig => {
|
|
500
|
+
console.log('showBottomSheet called with:', screenOrConfig);
|
|
501
|
+
if (bottomSheetRef?.current) {
|
|
502
|
+
console.log('bottomSheetRef is available');
|
|
503
|
+
|
|
504
|
+
// First, show the bottom sheet
|
|
505
|
+
if (bottomSheetRef.current.expand) {
|
|
506
|
+
console.log('Expanding bottom sheet');
|
|
507
|
+
bottomSheetRef.current.expand();
|
|
508
|
+
} else if (bottomSheetRef.current.present) {
|
|
509
|
+
console.log('Presenting bottom sheet');
|
|
510
|
+
bottomSheetRef.current.present();
|
|
511
|
+
} else {
|
|
512
|
+
console.warn('No expand or present method available on bottomSheetRef');
|
|
513
|
+
}
|
|
514
|
+
|
|
515
|
+
// Then navigate to the specified screen if provided
|
|
516
|
+
if (screenOrConfig) {
|
|
517
|
+
// Add a small delay to ensure the bottom sheet is opened first
|
|
518
|
+
setTimeout(() => {
|
|
519
|
+
if (typeof screenOrConfig === 'string') {
|
|
520
|
+
// Simple screen name
|
|
521
|
+
console.log('Navigating to screen:', screenOrConfig);
|
|
522
|
+
bottomSheetRef.current?._navigateToScreen?.(screenOrConfig);
|
|
523
|
+
} else {
|
|
524
|
+
// Screen with props
|
|
525
|
+
console.log('Navigating to screen with props:', screenOrConfig.screen, screenOrConfig.props);
|
|
526
|
+
bottomSheetRef.current?._navigateToScreen?.(screenOrConfig.screen, screenOrConfig.props);
|
|
527
|
+
}
|
|
528
|
+
}, 100);
|
|
529
|
+
}
|
|
530
|
+
} else {
|
|
531
|
+
console.warn('bottomSheetRef is not available');
|
|
532
|
+
}
|
|
533
|
+
}, [bottomSheetRef]);
|
|
534
|
+
const hideBottomSheet = useCallback(() => {
|
|
535
|
+
if (bottomSheetRef?.current) {
|
|
536
|
+
bottomSheetRef.current.dismiss?.();
|
|
537
|
+
}
|
|
538
|
+
}, [bottomSheetRef]);
|
|
539
|
+
|
|
540
|
+
// Context value
|
|
541
|
+
const contextValue = {
|
|
542
|
+
user,
|
|
543
|
+
minimalUser,
|
|
544
|
+
sessions,
|
|
545
|
+
activeSessionId,
|
|
546
|
+
isAuthenticated: !!user,
|
|
547
|
+
isLoading,
|
|
548
|
+
error,
|
|
549
|
+
login,
|
|
550
|
+
logout,
|
|
551
|
+
logoutAll,
|
|
552
|
+
signUp,
|
|
553
|
+
switchSession,
|
|
554
|
+
removeSession,
|
|
555
|
+
refreshSessions,
|
|
556
|
+
getDeviceSessions,
|
|
557
|
+
logoutAllDeviceSessions,
|
|
558
|
+
updateDeviceName,
|
|
559
|
+
oxyServices,
|
|
560
|
+
bottomSheetRef,
|
|
561
|
+
showBottomSheet,
|
|
562
|
+
hideBottomSheet
|
|
563
|
+
};
|
|
564
|
+
return /*#__PURE__*/_jsx(OxyContext.Provider, {
|
|
565
|
+
value: contextValue,
|
|
566
|
+
children: children
|
|
567
|
+
});
|
|
568
|
+
};
|
|
569
|
+
|
|
570
|
+
// Hook to use the context
|
|
571
|
+
export const useOxy = () => {
|
|
572
|
+
const context = useContext(OxyContext);
|
|
573
|
+
if (!context) {
|
|
574
|
+
throw new Error('useOxy must be used within an OxyContextProvider');
|
|
575
|
+
}
|
|
576
|
+
return context;
|
|
577
|
+
};
|
|
578
|
+
export default OxyContext;
|
|
579
|
+
//# sourceMappingURL=OxyContext.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"names":["React","createContext","useContext","useState","useEffect","useCallback","useMemo","DeviceManager","jsx","_jsx","OxyContext","WebStorage","getItem","key","localStorage","setItem","value","removeItem","clear","AsyncStorage","isReactNative","navigator","product","getStorage","asyncStorageModule","default","error","console","Error","getSecureStorageKeys","prefix","sessions","activeSessionId","OxyContextProvider","children","oxyServices","storageKeyPrefix","onAuthStateChange","bottomSheetRef","user","setUser","minimalUser","setMinimalUser","setSessions","setActiveSessionId","isLoading","setIsLoading","setError","storage","setStorage","keys","initStorage","platformStorage","initAuth","sessionsData","storedActiveSessionId","log","parsedSessions","JSON","parse","migratedSessions","shouldUpdateStorage","session","userId","username","sessionUser","getUserBySession","sessionId","push","id","saveSessionsToStorage","length","activeSession","find","s","validation","validateSession","valid","getTokenBySession","fullUser","avatar","removeInvalidSession","err","clearAllStorage","filteredSessions","filter","switchToSession","sessionsList","stringify","saveActiveSessionId","login","password","deviceName","deviceFingerprint","getDeviceFingerprint","deviceInfo","getDeviceInfo","deviceId","response","secureLogin","getDefaultDeviceName","clientSession","expiresAt","lastActive","Date","toISOString","existingUserSessionIndex","findIndex","updatedSessions","existingSession","message","logout","targetSessionId","sessionToLogout","logoutSecureSession","logoutAll","logoutAllSecureSessions","signUp","email","switchSession","removeSession","refreshSessions","serverSessions","getSessionsBySessionId","map","serverSession","getDeviceSessions","logoutAllDeviceSessions","updateDeviceName","showBottomSheet","screenOrConfig","current","expand","present","warn","setTimeout","_navigateToScreen","screen","props","hideBottomSheet","dismiss","contextValue","isAuthenticated","Provider","useOxy","context"],"sourceRoot":"../../../../src","sources":["ui/context/OxyContext.tsx"],"mappings":"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","ignoreList":[]}
|
|
@@ -0,0 +1,24 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
|
|
3
|
+
/**
|
|
4
|
+
* UI Component exports
|
|
5
|
+
*/
|
|
6
|
+
|
|
7
|
+
// Export the main provider component and context
|
|
8
|
+
export { default as OxyProvider } from "./components/OxyProvider.js";
|
|
9
|
+
export { default as OxySignInButton } from "./components/OxySignInButton.js";
|
|
10
|
+
export { default as OxyLogo } from "./components/OxyLogo.js";
|
|
11
|
+
export { default as Avatar } from "./components/Avatar.js";
|
|
12
|
+
export { default as FollowButton } from "./components/FollowButton.js";
|
|
13
|
+
export { FontLoader, setupFonts } from "./components/FontLoader.js";
|
|
14
|
+
|
|
15
|
+
// Export icon components
|
|
16
|
+
export { OxyIcon } from "./components/icon/index.js";
|
|
17
|
+
export { OxyContextProvider, useOxy, OxyContextState, OxyContextProviderProps } from "./context/OxyContext.js";
|
|
18
|
+
|
|
19
|
+
// Export styles
|
|
20
|
+
export { fontFamilies, fontStyles } from "./styles/fonts.js";
|
|
21
|
+
|
|
22
|
+
// Export types for navigation (internal use)
|
|
23
|
+
export * from "./navigation/types.js";
|
|
24
|
+
//# sourceMappingURL=index.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"names":["default","OxyProvider","OxySignInButton","OxyLogo","Avatar","FollowButton","FontLoader","setupFonts","OxyIcon","OxyContextProvider","useOxy","OxyContextState","OxyContextProviderProps","fontFamilies","fontStyles"],"sourceRoot":"../../../src","sources":["ui/index.ts"],"mappings":";;AAAA;AACA;AACA;;AAEA;AACA,SAASA,OAAO,IAAIC,WAAW,QAAQ,6BAA0B;AACjE,SAASD,OAAO,IAAIE,eAAe,QAAQ,iCAA8B;AACzE,SAASF,OAAO,IAAIG,OAAO,QAAQ,yBAAsB;AACzD,SAASH,OAAO,IAAII,MAAM,QAAQ,wBAAqB;AACvD,SAASJ,OAAO,IAAIK,YAAY,QAAQ,8BAA2B;AACnE,SAASC,UAAU,EAAEC,UAAU,QAAQ,4BAAyB;;AAEhE;AACA,SAASC,OAAO,QAAQ,4BAAmB;AAG3C,SACEC,kBAAkB,EAClBC,MAAM,EACNC,eAAe,EACfC,uBAAuB,QAClB,yBAAsB;;AAE7B;AACA,SAASC,YAAY,EAAEC,UAAU,QAAQ,mBAAgB;;AAEzD;AACA,cAAc,uBAAoB","ignoreList":[]}
|