@oxyhq/services 5.24.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.
Files changed (444) hide show
  1. package/README.md +60 -8
  2. package/lib/commonjs/core/AuthManager.js +405 -0
  3. package/lib/commonjs/core/AuthManager.js.map +1 -0
  4. package/lib/commonjs/core/HttpService.js +39 -1
  5. package/lib/commonjs/core/HttpService.js.map +1 -1
  6. package/lib/commonjs/core/index.js +16 -0
  7. package/lib/commonjs/core/index.js.map +1 -1
  8. package/lib/commonjs/core/mixins/OxyServices.fedcm.js +38 -44
  9. package/lib/commonjs/core/mixins/OxyServices.fedcm.js.map +1 -1
  10. package/lib/commonjs/core/mixins/OxyServices.popup.js +9 -7
  11. package/lib/commonjs/core/mixins/OxyServices.popup.js.map +1 -1
  12. package/lib/commonjs/index.js +321 -18
  13. package/lib/commonjs/index.js.map +1 -1
  14. package/lib/commonjs/shared/index.js +227 -0
  15. package/lib/commonjs/shared/index.js.map +1 -0
  16. package/lib/commonjs/shared/utils/colorUtils.js +161 -0
  17. package/lib/commonjs/shared/utils/colorUtils.js.map +1 -0
  18. package/lib/commonjs/shared/utils/debugUtils.js +84 -0
  19. package/lib/commonjs/shared/utils/debugUtils.js.map +1 -0
  20. package/lib/commonjs/shared/utils/errorUtils.js +190 -0
  21. package/lib/commonjs/shared/utils/errorUtils.js.map +1 -0
  22. package/lib/commonjs/shared/utils/index.js +196 -0
  23. package/lib/commonjs/shared/utils/index.js.map +1 -0
  24. package/lib/commonjs/shared/utils/networkUtils.js +213 -0
  25. package/lib/commonjs/shared/utils/networkUtils.js.map +1 -0
  26. package/lib/commonjs/shared/utils/themeUtils.js +118 -0
  27. package/lib/commonjs/shared/utils/themeUtils.js.map +1 -0
  28. package/lib/commonjs/ui/components/BottomSheetRouter.js +1 -1
  29. package/lib/commonjs/ui/components/FontLoader.js +1 -1
  30. package/lib/commonjs/ui/components/FontLoader.js.map +1 -1
  31. package/lib/commonjs/ui/components/GroupedItem.js +1 -1
  32. package/lib/commonjs/ui/components/Header.js +1 -1
  33. package/lib/commonjs/ui/components/OxyProvider.js +9 -1
  34. package/lib/commonjs/ui/components/OxyProvider.js.map +1 -1
  35. package/lib/commonjs/ui/components/OxySignInButton.js +19 -20
  36. package/lib/commonjs/ui/components/OxySignInButton.js.map +1 -1
  37. package/lib/commonjs/ui/components/ProfileCard.js +1 -1
  38. package/lib/commonjs/ui/components/ProfileCard.js.map +1 -1
  39. package/lib/commonjs/ui/components/QuickActions.js +1 -1
  40. package/lib/commonjs/ui/components/QuickActions.js.map +1 -1
  41. package/lib/commonjs/ui/components/Section.js +1 -1
  42. package/lib/commonjs/ui/components/SectionTitle.js +1 -1
  43. package/lib/commonjs/ui/components/SignInModal.js +546 -0
  44. package/lib/commonjs/ui/components/SignInModal.js.map +1 -0
  45. package/lib/commonjs/ui/context/OxyContext.js +2 -1
  46. package/lib/commonjs/ui/context/OxyContext.js.map +1 -1
  47. package/lib/commonjs/ui/hooks/{use-color-scheme.js → useColorScheme.js} +1 -1
  48. package/lib/commonjs/ui/hooks/useColorScheme.js.map +1 -0
  49. package/lib/commonjs/ui/hooks/useSessionSocket.js +6 -12
  50. package/lib/commonjs/ui/hooks/useSessionSocket.js.map +1 -1
  51. package/lib/commonjs/ui/hooks/useThemeColors.js +1 -1
  52. package/lib/commonjs/ui/hooks/useThemeStyles.js +1 -1
  53. package/lib/commonjs/ui/navigation/bottomSheetManager.js +5 -2
  54. package/lib/commonjs/ui/navigation/bottomSheetManager.js.map +1 -1
  55. package/lib/commonjs/ui/navigation/routes.js +7 -8
  56. package/lib/commonjs/ui/navigation/routes.js.map +1 -1
  57. package/lib/commonjs/ui/screens/AccountCenterScreen.js +7 -7
  58. package/lib/commonjs/ui/screens/AccountCenterScreen.js.map +1 -1
  59. package/lib/commonjs/ui/screens/AccountOverviewScreen.js +6 -6
  60. package/lib/commonjs/ui/screens/AccountOverviewScreen.js.map +1 -1
  61. package/lib/commonjs/ui/screens/AccountSettingsScreen.js +2 -2
  62. package/lib/commonjs/ui/screens/AccountSwitcherScreen.js +4 -4
  63. package/lib/commonjs/ui/screens/AccountSwitcherScreen.js.map +1 -1
  64. package/lib/commonjs/ui/screens/AppInfoScreen.js +1 -1
  65. package/lib/commonjs/ui/screens/EditProfileFieldScreen.js +1 -1
  66. package/lib/commonjs/ui/screens/FileManagementScreen.js +1 -1
  67. package/lib/commonjs/ui/screens/FollowersListScreen.js +18 -0
  68. package/lib/commonjs/ui/screens/FollowersListScreen.js.map +1 -0
  69. package/lib/commonjs/ui/screens/FollowingListScreen.js +18 -0
  70. package/lib/commonjs/ui/screens/FollowingListScreen.js.map +1 -0
  71. package/lib/commonjs/ui/screens/HelpSupportScreen.js +1 -1
  72. package/lib/commonjs/ui/screens/HelpSupportScreen.js.map +1 -1
  73. package/lib/commonjs/ui/screens/HistoryViewScreen.js +1 -1
  74. package/lib/commonjs/ui/screens/LanguageSelectorScreen.js +1 -1
  75. package/lib/commonjs/ui/screens/LearnMoreUsernamesScreen.js +229 -0
  76. package/lib/commonjs/ui/screens/LearnMoreUsernamesScreen.js.map +1 -0
  77. package/lib/commonjs/ui/screens/LegalDocumentsScreen.js +1 -1
  78. package/lib/commonjs/ui/screens/LegalDocumentsScreen.js.map +1 -1
  79. package/lib/commonjs/ui/screens/OxyAuthScreen.js +9 -21
  80. package/lib/commonjs/ui/screens/OxyAuthScreen.js.map +1 -1
  81. package/lib/commonjs/ui/screens/PremiumSubscriptionScreen.js +1 -1
  82. package/lib/commonjs/ui/screens/ProfileScreen.js +1 -1
  83. package/lib/commonjs/ui/screens/ProfileScreen.js.map +1 -1
  84. package/lib/commonjs/ui/screens/SavesCollectionsScreen.js +1 -1
  85. package/lib/commonjs/ui/screens/UserListScreen.js +411 -0
  86. package/lib/commonjs/ui/screens/UserListScreen.js.map +1 -0
  87. package/lib/commonjs/ui/screens/karma/KarmaAboutScreen.js +1 -1
  88. package/lib/commonjs/ui/screens/karma/KarmaCenterScreen.js +1 -1
  89. package/lib/commonjs/ui/screens/karma/KarmaFAQScreen.js +1 -1
  90. package/lib/commonjs/ui/screens/karma/KarmaLeaderboardScreen.js +1 -1
  91. package/lib/commonjs/ui/screens/karma/KarmaRewardsScreen.js +1 -1
  92. package/lib/commonjs/ui/screens/karma/KarmaRulesScreen.js +1 -1
  93. package/lib/commonjs/ui/stores/authStore.js +4 -6
  94. package/lib/commonjs/ui/stores/authStore.js.map +1 -1
  95. package/lib/commonjs/ui/utils/colorUtils.js +43 -46
  96. package/lib/commonjs/ui/utils/colorUtils.js.map +1 -1
  97. package/lib/commonjs/ui/utils/themeUtils.js +29 -39
  98. package/lib/commonjs/ui/utils/themeUtils.js.map +1 -1
  99. package/lib/commonjs/ui/utils/{user-utils.js → userUtils.js} +1 -1
  100. package/lib/commonjs/ui/utils/userUtils.js.map +1 -0
  101. package/lib/commonjs/utils/errorUtils.js +0 -13
  102. package/lib/commonjs/utils/errorUtils.js.map +1 -1
  103. package/lib/commonjs/utils/hookUtils.js +8 -8
  104. package/lib/commonjs/utils/hookUtils.js.map +1 -1
  105. package/lib/commonjs/web/WebOxyContext.js +277 -72
  106. package/lib/commonjs/web/WebOxyContext.js.map +1 -1
  107. package/lib/commonjs/web/index.js +177 -4
  108. package/lib/commonjs/web/index.js.map +1 -1
  109. package/lib/commonjs/web.js +12 -12
  110. package/lib/commonjs/web.js.map +1 -1
  111. package/lib/module/core/AuthManager.js +399 -0
  112. package/lib/module/core/AuthManager.js.map +1 -0
  113. package/lib/module/core/HttpService.js +39 -1
  114. package/lib/module/core/HttpService.js.map +1 -1
  115. package/lib/module/core/index.js +2 -0
  116. package/lib/module/core/index.js.map +1 -1
  117. package/lib/module/core/mixins/OxyServices.fedcm.js +38 -44
  118. package/lib/module/core/mixins/OxyServices.fedcm.js.map +1 -1
  119. package/lib/module/core/mixins/OxyServices.popup.js +9 -7
  120. package/lib/module/core/mixins/OxyServices.popup.js.map +1 -1
  121. package/lib/module/index.js +27 -2
  122. package/lib/module/index.js.map +1 -1
  123. package/lib/module/shared/index.js +37 -0
  124. package/lib/module/shared/index.js.map +1 -0
  125. package/lib/module/shared/utils/colorUtils.js +150 -0
  126. package/lib/module/shared/utils/colorUtils.js.map +1 -0
  127. package/lib/module/shared/utils/debugUtils.js +75 -0
  128. package/lib/module/shared/utils/debugUtils.js.map +1 -0
  129. package/lib/module/shared/utils/errorUtils.js +176 -0
  130. package/lib/module/shared/utils/errorUtils.js.map +1 -0
  131. package/lib/module/shared/utils/index.js +21 -0
  132. package/lib/module/shared/utils/index.js.map +1 -0
  133. package/lib/module/shared/utils/networkUtils.js +202 -0
  134. package/lib/module/shared/utils/networkUtils.js.map +1 -0
  135. package/lib/module/shared/utils/themeUtils.js +109 -0
  136. package/lib/module/shared/utils/themeUtils.js.map +1 -0
  137. package/lib/module/ui/components/BottomSheetRouter.js +1 -1
  138. package/lib/module/ui/components/BottomSheetRouter.js.map +1 -1
  139. package/lib/module/ui/components/FontLoader.js +1 -1
  140. package/lib/module/ui/components/FontLoader.js.map +1 -1
  141. package/lib/module/ui/components/GroupedItem.js +1 -1
  142. package/lib/module/ui/components/GroupedItem.js.map +1 -1
  143. package/lib/module/ui/components/Header.js +1 -1
  144. package/lib/module/ui/components/Header.js.map +1 -1
  145. package/lib/module/ui/components/OxyProvider.js +9 -1
  146. package/lib/module/ui/components/OxyProvider.js.map +1 -1
  147. package/lib/module/ui/components/OxySignInButton.js +20 -21
  148. package/lib/module/ui/components/OxySignInButton.js.map +1 -1
  149. package/lib/module/ui/components/ProfileCard.js +1 -1
  150. package/lib/module/ui/components/ProfileCard.js.map +1 -1
  151. package/lib/module/ui/components/QuickActions.js +1 -1
  152. package/lib/module/ui/components/QuickActions.js.map +1 -1
  153. package/lib/module/ui/components/Section.js +1 -1
  154. package/lib/module/ui/components/Section.js.map +1 -1
  155. package/lib/module/ui/components/SectionTitle.js +1 -1
  156. package/lib/module/ui/components/SectionTitle.js.map +1 -1
  157. package/lib/module/ui/components/SignInModal.js +536 -0
  158. package/lib/module/ui/components/SignInModal.js.map +1 -0
  159. package/lib/module/ui/context/OxyContext.js +1 -1
  160. package/lib/module/ui/context/OxyContext.js.map +1 -1
  161. package/lib/module/ui/hooks/{use-color-scheme.js → useColorScheme.js} +1 -1
  162. package/lib/module/ui/hooks/useColorScheme.js.map +1 -0
  163. package/lib/module/ui/hooks/useSessionSocket.js +6 -12
  164. package/lib/module/ui/hooks/useSessionSocket.js.map +1 -1
  165. package/lib/module/ui/hooks/useThemeColors.js +1 -1
  166. package/lib/module/ui/hooks/useThemeColors.js.map +1 -1
  167. package/lib/module/ui/hooks/useThemeStyles.js +1 -1
  168. package/lib/module/ui/hooks/useThemeStyles.js.map +1 -1
  169. package/lib/module/ui/navigation/bottomSheetManager.js +5 -2
  170. package/lib/module/ui/navigation/bottomSheetManager.js.map +1 -1
  171. package/lib/module/ui/navigation/routes.js +7 -8
  172. package/lib/module/ui/navigation/routes.js.map +1 -1
  173. package/lib/module/ui/screens/AccountCenterScreen.js +7 -7
  174. package/lib/module/ui/screens/AccountCenterScreen.js.map +1 -1
  175. package/lib/module/ui/screens/AccountOverviewScreen.js +6 -6
  176. package/lib/module/ui/screens/AccountOverviewScreen.js.map +1 -1
  177. package/lib/module/ui/screens/AccountSettingsScreen.js +2 -2
  178. package/lib/module/ui/screens/AccountSettingsScreen.js.map +1 -1
  179. package/lib/module/ui/screens/AccountSwitcherScreen.js +4 -4
  180. package/lib/module/ui/screens/AccountSwitcherScreen.js.map +1 -1
  181. package/lib/module/ui/screens/AppInfoScreen.js +1 -1
  182. package/lib/module/ui/screens/AppInfoScreen.js.map +1 -1
  183. package/lib/module/ui/screens/EditProfileFieldScreen.js +1 -1
  184. package/lib/module/ui/screens/EditProfileFieldScreen.js.map +1 -1
  185. package/lib/module/ui/screens/FileManagementScreen.js +1 -1
  186. package/lib/module/ui/screens/FileManagementScreen.js.map +1 -1
  187. package/lib/module/ui/screens/FollowersListScreen.js +13 -0
  188. package/lib/module/ui/screens/FollowersListScreen.js.map +1 -0
  189. package/lib/module/ui/screens/FollowingListScreen.js +13 -0
  190. package/lib/module/ui/screens/FollowingListScreen.js.map +1 -0
  191. package/lib/module/ui/screens/HelpSupportScreen.js +1 -1
  192. package/lib/module/ui/screens/HelpSupportScreen.js.map +1 -1
  193. package/lib/module/ui/screens/HistoryViewScreen.js +1 -1
  194. package/lib/module/ui/screens/HistoryViewScreen.js.map +1 -1
  195. package/lib/module/ui/screens/LanguageSelectorScreen.js +1 -1
  196. package/lib/module/ui/screens/LanguageSelectorScreen.js.map +1 -1
  197. package/lib/module/ui/screens/LearnMoreUsernamesScreen.js +224 -0
  198. package/lib/module/ui/screens/LearnMoreUsernamesScreen.js.map +1 -0
  199. package/lib/module/ui/screens/LegalDocumentsScreen.js +1 -1
  200. package/lib/module/ui/screens/LegalDocumentsScreen.js.map +1 -1
  201. package/lib/module/ui/screens/OxyAuthScreen.js +9 -21
  202. package/lib/module/ui/screens/OxyAuthScreen.js.map +1 -1
  203. package/lib/module/ui/screens/PremiumSubscriptionScreen.js +1 -1
  204. package/lib/module/ui/screens/PremiumSubscriptionScreen.js.map +1 -1
  205. package/lib/module/ui/screens/ProfileScreen.js +1 -1
  206. package/lib/module/ui/screens/ProfileScreen.js.map +1 -1
  207. package/lib/module/ui/screens/SavesCollectionsScreen.js +1 -1
  208. package/lib/module/ui/screens/SavesCollectionsScreen.js.map +1 -1
  209. package/lib/module/ui/screens/UserListScreen.js +405 -0
  210. package/lib/module/ui/screens/UserListScreen.js.map +1 -0
  211. package/lib/module/ui/screens/karma/KarmaAboutScreen.js +1 -1
  212. package/lib/module/ui/screens/karma/KarmaAboutScreen.js.map +1 -1
  213. package/lib/module/ui/screens/karma/KarmaCenterScreen.js +1 -1
  214. package/lib/module/ui/screens/karma/KarmaCenterScreen.js.map +1 -1
  215. package/lib/module/ui/screens/karma/KarmaFAQScreen.js +1 -1
  216. package/lib/module/ui/screens/karma/KarmaFAQScreen.js.map +1 -1
  217. package/lib/module/ui/screens/karma/KarmaLeaderboardScreen.js +1 -1
  218. package/lib/module/ui/screens/karma/KarmaLeaderboardScreen.js.map +1 -1
  219. package/lib/module/ui/screens/karma/KarmaRewardsScreen.js +1 -1
  220. package/lib/module/ui/screens/karma/KarmaRewardsScreen.js.map +1 -1
  221. package/lib/module/ui/screens/karma/KarmaRulesScreen.js +1 -1
  222. package/lib/module/ui/screens/karma/KarmaRulesScreen.js.map +1 -1
  223. package/lib/module/ui/stores/authStore.js +4 -6
  224. package/lib/module/ui/stores/authStore.js.map +1 -1
  225. package/lib/module/ui/utils/colorUtils.js +7 -40
  226. package/lib/module/ui/utils/colorUtils.js.map +1 -1
  227. package/lib/module/ui/utils/themeUtils.js +7 -35
  228. package/lib/module/ui/utils/themeUtils.js.map +1 -1
  229. package/lib/module/ui/utils/{user-utils.js → userUtils.js} +1 -1
  230. package/lib/module/ui/utils/userUtils.js.map +1 -0
  231. package/lib/module/utils/errorUtils.js +0 -7
  232. package/lib/module/utils/errorUtils.js.map +1 -1
  233. package/lib/module/utils/hookUtils.js +8 -8
  234. package/lib/module/utils/hookUtils.js.map +1 -1
  235. package/lib/module/web/WebOxyContext.js +276 -72
  236. package/lib/module/web/WebOxyContext.js.map +1 -1
  237. package/lib/module/web/index.js +26 -5
  238. package/lib/module/web/index.js.map +1 -1
  239. package/lib/module/web.js +2 -1
  240. package/lib/module/web.js.map +1 -1
  241. package/lib/typescript/commonjs/core/AuthManager.d.ts +144 -0
  242. package/lib/typescript/commonjs/core/AuthManager.d.ts.map +1 -0
  243. package/lib/typescript/commonjs/core/HttpService.d.ts.map +1 -1
  244. package/lib/typescript/commonjs/core/index.d.ts +2 -0
  245. package/lib/typescript/commonjs/core/index.d.ts.map +1 -1
  246. package/lib/typescript/commonjs/core/mixins/OxyServices.fedcm.d.ts.map +1 -1
  247. package/lib/typescript/commonjs/core/mixins/OxyServices.popup.d.ts.map +1 -1
  248. package/lib/typescript/commonjs/index.d.ts +16 -2
  249. package/lib/typescript/commonjs/index.d.ts.map +1 -1
  250. package/lib/typescript/commonjs/models/session.d.ts +4 -0
  251. package/lib/typescript/commonjs/models/session.d.ts.map +1 -1
  252. package/lib/typescript/commonjs/shared/index.d.ts +29 -0
  253. package/lib/typescript/commonjs/shared/index.d.ts.map +1 -0
  254. package/lib/typescript/commonjs/shared/utils/colorUtils.d.ts +105 -0
  255. package/lib/typescript/commonjs/shared/utils/colorUtils.d.ts.map +1 -0
  256. package/lib/typescript/commonjs/shared/utils/debugUtils.d.ts +49 -0
  257. package/lib/typescript/commonjs/shared/utils/debugUtils.d.ts.map +1 -0
  258. package/lib/typescript/commonjs/shared/utils/errorUtils.d.ts +98 -0
  259. package/lib/typescript/commonjs/shared/utils/errorUtils.d.ts.map +1 -0
  260. package/lib/typescript/commonjs/shared/utils/index.d.ts +14 -0
  261. package/lib/typescript/commonjs/shared/utils/index.d.ts.map +1 -0
  262. package/lib/typescript/commonjs/shared/utils/networkUtils.d.ts +140 -0
  263. package/lib/typescript/commonjs/shared/utils/networkUtils.d.ts.map +1 -0
  264. package/lib/typescript/commonjs/shared/utils/themeUtils.d.ts +91 -0
  265. package/lib/typescript/commonjs/shared/utils/themeUtils.d.ts.map +1 -0
  266. package/lib/typescript/commonjs/ui/components/FontLoader.d.ts +1 -1
  267. package/lib/typescript/commonjs/ui/components/FontLoader.d.ts.map +1 -1
  268. package/lib/typescript/commonjs/ui/components/OxyProvider.d.ts.map +1 -1
  269. package/lib/typescript/commonjs/ui/components/OxySignInButton.d.ts.map +1 -1
  270. package/lib/typescript/commonjs/ui/components/SignInModal.d.ts +18 -0
  271. package/lib/typescript/commonjs/ui/components/SignInModal.d.ts.map +1 -0
  272. package/lib/typescript/commonjs/ui/context/OxyContext.d.ts +1 -2
  273. package/lib/typescript/commonjs/ui/context/OxyContext.d.ts.map +1 -1
  274. package/lib/typescript/commonjs/ui/hooks/{use-color-scheme.d.ts → useColorScheme.d.ts} +1 -1
  275. package/lib/typescript/commonjs/ui/hooks/useColorScheme.d.ts.map +1 -0
  276. package/lib/typescript/commonjs/ui/hooks/useSessionSocket.d.ts.map +1 -1
  277. package/lib/typescript/commonjs/ui/navigation/bottomSheetManager.d.ts +2 -0
  278. package/lib/typescript/commonjs/ui/navigation/bottomSheetManager.d.ts.map +1 -1
  279. package/lib/typescript/commonjs/ui/navigation/routes.d.ts +1 -1
  280. package/lib/typescript/commonjs/ui/navigation/routes.d.ts.map +1 -1
  281. package/lib/typescript/commonjs/ui/screens/FollowersListScreen.d.ts +9 -0
  282. package/lib/typescript/commonjs/ui/screens/FollowersListScreen.d.ts.map +1 -0
  283. package/lib/typescript/commonjs/ui/screens/FollowingListScreen.d.ts +9 -0
  284. package/lib/typescript/commonjs/ui/screens/FollowingListScreen.d.ts.map +1 -0
  285. package/lib/typescript/commonjs/ui/screens/LearnMoreUsernamesScreen.d.ts +5 -0
  286. package/lib/typescript/commonjs/ui/screens/LearnMoreUsernamesScreen.d.ts.map +1 -0
  287. package/lib/typescript/commonjs/ui/screens/OxyAuthScreen.d.ts.map +1 -1
  288. package/lib/typescript/commonjs/ui/screens/UserListScreen.d.ts +11 -0
  289. package/lib/typescript/commonjs/ui/screens/UserListScreen.d.ts.map +1 -0
  290. package/lib/typescript/commonjs/ui/stores/authStore.d.ts.map +1 -1
  291. package/lib/typescript/commonjs/ui/utils/colorUtils.d.ts +7 -11
  292. package/lib/typescript/commonjs/ui/utils/colorUtils.d.ts.map +1 -1
  293. package/lib/typescript/commonjs/ui/utils/themeUtils.d.ts +6 -19
  294. package/lib/typescript/commonjs/ui/utils/themeUtils.d.ts.map +1 -1
  295. package/lib/typescript/commonjs/ui/utils/{user-utils.d.ts → userUtils.d.ts} +1 -1
  296. package/lib/typescript/commonjs/ui/utils/userUtils.d.ts.map +1 -0
  297. package/lib/typescript/commonjs/utils/errorUtils.d.ts +0 -6
  298. package/lib/typescript/commonjs/utils/errorUtils.d.ts.map +1 -1
  299. package/lib/typescript/commonjs/web/WebOxyContext.d.ts +113 -4
  300. package/lib/typescript/commonjs/web/WebOxyContext.d.ts.map +1 -1
  301. package/lib/typescript/commonjs/web/index.d.ts +20 -9
  302. package/lib/typescript/commonjs/web/index.d.ts.map +1 -1
  303. package/lib/typescript/commonjs/web.d.ts +2 -1
  304. package/lib/typescript/commonjs/web.d.ts.map +1 -1
  305. package/lib/typescript/module/core/AuthManager.d.ts +144 -0
  306. package/lib/typescript/module/core/AuthManager.d.ts.map +1 -0
  307. package/lib/typescript/module/core/HttpService.d.ts.map +1 -1
  308. package/lib/typescript/module/core/index.d.ts +2 -0
  309. package/lib/typescript/module/core/index.d.ts.map +1 -1
  310. package/lib/typescript/module/core/mixins/OxyServices.fedcm.d.ts.map +1 -1
  311. package/lib/typescript/module/core/mixins/OxyServices.popup.d.ts.map +1 -1
  312. package/lib/typescript/module/index.d.ts +16 -2
  313. package/lib/typescript/module/index.d.ts.map +1 -1
  314. package/lib/typescript/module/models/session.d.ts +4 -0
  315. package/lib/typescript/module/models/session.d.ts.map +1 -1
  316. package/lib/typescript/module/shared/index.d.ts +29 -0
  317. package/lib/typescript/module/shared/index.d.ts.map +1 -0
  318. package/lib/typescript/module/shared/utils/colorUtils.d.ts +105 -0
  319. package/lib/typescript/module/shared/utils/colorUtils.d.ts.map +1 -0
  320. package/lib/typescript/module/shared/utils/debugUtils.d.ts +49 -0
  321. package/lib/typescript/module/shared/utils/debugUtils.d.ts.map +1 -0
  322. package/lib/typescript/module/shared/utils/errorUtils.d.ts +98 -0
  323. package/lib/typescript/module/shared/utils/errorUtils.d.ts.map +1 -0
  324. package/lib/typescript/module/shared/utils/index.d.ts +14 -0
  325. package/lib/typescript/module/shared/utils/index.d.ts.map +1 -0
  326. package/lib/typescript/module/shared/utils/networkUtils.d.ts +140 -0
  327. package/lib/typescript/module/shared/utils/networkUtils.d.ts.map +1 -0
  328. package/lib/typescript/module/shared/utils/themeUtils.d.ts +91 -0
  329. package/lib/typescript/module/shared/utils/themeUtils.d.ts.map +1 -0
  330. package/lib/typescript/module/ui/components/FontLoader.d.ts +1 -1
  331. package/lib/typescript/module/ui/components/FontLoader.d.ts.map +1 -1
  332. package/lib/typescript/module/ui/components/OxyProvider.d.ts.map +1 -1
  333. package/lib/typescript/module/ui/components/OxySignInButton.d.ts.map +1 -1
  334. package/lib/typescript/module/ui/components/SignInModal.d.ts +18 -0
  335. package/lib/typescript/module/ui/components/SignInModal.d.ts.map +1 -0
  336. package/lib/typescript/module/ui/context/OxyContext.d.ts +1 -2
  337. package/lib/typescript/module/ui/context/OxyContext.d.ts.map +1 -1
  338. package/lib/typescript/module/ui/hooks/{use-color-scheme.d.ts → useColorScheme.d.ts} +1 -1
  339. package/lib/typescript/module/ui/hooks/useColorScheme.d.ts.map +1 -0
  340. package/lib/typescript/module/ui/hooks/useSessionSocket.d.ts.map +1 -1
  341. package/lib/typescript/module/ui/navigation/bottomSheetManager.d.ts +2 -0
  342. package/lib/typescript/module/ui/navigation/bottomSheetManager.d.ts.map +1 -1
  343. package/lib/typescript/module/ui/navigation/routes.d.ts +1 -1
  344. package/lib/typescript/module/ui/navigation/routes.d.ts.map +1 -1
  345. package/lib/typescript/module/ui/screens/FollowersListScreen.d.ts +9 -0
  346. package/lib/typescript/module/ui/screens/FollowersListScreen.d.ts.map +1 -0
  347. package/lib/typescript/module/ui/screens/FollowingListScreen.d.ts +9 -0
  348. package/lib/typescript/module/ui/screens/FollowingListScreen.d.ts.map +1 -0
  349. package/lib/typescript/module/ui/screens/LearnMoreUsernamesScreen.d.ts +5 -0
  350. package/lib/typescript/module/ui/screens/LearnMoreUsernamesScreen.d.ts.map +1 -0
  351. package/lib/typescript/module/ui/screens/OxyAuthScreen.d.ts.map +1 -1
  352. package/lib/typescript/module/ui/screens/UserListScreen.d.ts +11 -0
  353. package/lib/typescript/module/ui/screens/UserListScreen.d.ts.map +1 -0
  354. package/lib/typescript/module/ui/stores/authStore.d.ts.map +1 -1
  355. package/lib/typescript/module/ui/utils/colorUtils.d.ts +7 -11
  356. package/lib/typescript/module/ui/utils/colorUtils.d.ts.map +1 -1
  357. package/lib/typescript/module/ui/utils/themeUtils.d.ts +6 -19
  358. package/lib/typescript/module/ui/utils/themeUtils.d.ts.map +1 -1
  359. package/lib/typescript/module/ui/utils/{user-utils.d.ts → userUtils.d.ts} +1 -1
  360. package/lib/typescript/module/ui/utils/userUtils.d.ts.map +1 -0
  361. package/lib/typescript/module/utils/errorUtils.d.ts +0 -6
  362. package/lib/typescript/module/utils/errorUtils.d.ts.map +1 -1
  363. package/lib/typescript/module/web/WebOxyContext.d.ts +113 -4
  364. package/lib/typescript/module/web/WebOxyContext.d.ts.map +1 -1
  365. package/lib/typescript/module/web/index.d.ts +20 -9
  366. package/lib/typescript/module/web/index.d.ts.map +1 -1
  367. package/lib/typescript/module/web.d.ts +2 -1
  368. package/lib/typescript/module/web.d.ts.map +1 -1
  369. package/package.json +8 -2
  370. package/src/core/AuthManager.ts +436 -0
  371. package/src/core/HttpService.ts +43 -1
  372. package/src/core/index.ts +4 -0
  373. package/src/core/mixins/OxyServices.fedcm.ts +37 -42
  374. package/src/core/mixins/OxyServices.popup.ts +10 -7
  375. package/src/index.ts +76 -11
  376. package/src/models/session.ts +4 -0
  377. package/src/shared/index.ts +82 -0
  378. package/src/shared/utils/colorUtils.ts +155 -0
  379. package/src/shared/utils/debugUtils.ts +73 -0
  380. package/src/shared/utils/errorUtils.ts +181 -0
  381. package/src/shared/utils/index.ts +59 -0
  382. package/src/shared/utils/networkUtils.ts +248 -0
  383. package/src/shared/utils/themeUtils.ts +115 -0
  384. package/src/ui/components/BottomSheetRouter.tsx +1 -1
  385. package/src/ui/components/FontLoader.tsx +1 -2
  386. package/src/ui/components/GroupedItem.tsx +1 -1
  387. package/src/ui/components/Header.tsx +1 -1
  388. package/src/ui/components/OxyProvider.tsx +10 -0
  389. package/src/ui/components/OxySignInButton.tsx +20 -22
  390. package/src/ui/components/ProfileCard.tsx +1 -1
  391. package/src/ui/components/QuickActions.tsx +1 -1
  392. package/src/ui/components/Section.tsx +1 -1
  393. package/src/ui/components/SectionTitle.tsx +1 -1
  394. package/src/ui/components/SignInModal.tsx +534 -0
  395. package/src/ui/context/OxyContext.tsx +1 -2
  396. package/src/ui/hooks/queries/queryKeys.ts +2 -2
  397. package/src/ui/hooks/useSessionSocket.ts +12 -17
  398. package/src/ui/hooks/useThemeColors.ts +1 -1
  399. package/src/ui/hooks/useThemeStyles.ts +1 -1
  400. package/src/ui/navigation/bottomSheetManager.ts +5 -1
  401. package/src/ui/navigation/routes.ts +8 -9
  402. package/src/ui/screens/AccountCenterScreen.tsx +7 -7
  403. package/src/ui/screens/AccountOverviewScreen.tsx +6 -6
  404. package/src/ui/screens/AccountSettingsScreen.tsx +2 -2
  405. package/src/ui/screens/AccountSwitcherScreen.tsx +4 -4
  406. package/src/ui/screens/AppInfoScreen.tsx +1 -1
  407. package/src/ui/screens/EditProfileFieldScreen.tsx +1 -1
  408. package/src/ui/screens/FileManagementScreen.tsx +1 -1
  409. package/src/ui/screens/FollowersListScreen.tsx +14 -0
  410. package/src/ui/screens/FollowingListScreen.tsx +14 -0
  411. package/src/ui/screens/HelpSupportScreen.tsx +1 -1
  412. package/src/ui/screens/HistoryViewScreen.tsx +1 -1
  413. package/src/ui/screens/LanguageSelectorScreen.tsx +1 -1
  414. package/src/ui/screens/LearnMoreUsernamesScreen.tsx +231 -0
  415. package/src/ui/screens/LegalDocumentsScreen.tsx +1 -1
  416. package/src/ui/screens/OxyAuthScreen.tsx +10 -21
  417. package/src/ui/screens/PremiumSubscriptionScreen.tsx +1 -1
  418. package/src/ui/screens/ProfileScreen.tsx +1 -1
  419. package/src/ui/screens/SavesCollectionsScreen.tsx +1 -1
  420. package/src/ui/screens/UserListScreen.tsx +416 -0
  421. package/src/ui/screens/karma/KarmaAboutScreen.tsx +1 -1
  422. package/src/ui/screens/karma/KarmaCenterScreen.tsx +1 -1
  423. package/src/ui/screens/karma/KarmaFAQScreen.tsx +1 -1
  424. package/src/ui/screens/karma/KarmaLeaderboardScreen.tsx +1 -1
  425. package/src/ui/screens/karma/KarmaRewardsScreen.tsx +1 -1
  426. package/src/ui/screens/karma/KarmaRulesScreen.tsx +1 -1
  427. package/src/ui/stores/authStore.ts +5 -6
  428. package/src/ui/utils/colorUtils.ts +15 -43
  429. package/src/ui/utils/themeUtils.ts +14 -39
  430. package/src/utils/errorUtils.ts +1 -6
  431. package/src/utils/hookUtils.ts +8 -8
  432. package/src/web/WebOxyContext.tsx +330 -72
  433. package/src/web/index.ts +77 -7
  434. package/src/web.ts +1 -1
  435. package/lib/commonjs/ui/hooks/use-color-scheme.js.map +0 -1
  436. package/lib/commonjs/ui/utils/user-utils.js.map +0 -1
  437. package/lib/module/ui/hooks/use-color-scheme.js.map +0 -1
  438. package/lib/module/ui/utils/user-utils.js.map +0 -1
  439. package/lib/typescript/commonjs/ui/hooks/use-color-scheme.d.ts.map +0 -1
  440. package/lib/typescript/commonjs/ui/utils/user-utils.d.ts.map +0 -1
  441. package/lib/typescript/module/ui/hooks/use-color-scheme.d.ts.map +0 -1
  442. package/lib/typescript/module/ui/utils/user-utils.d.ts.map +0 -1
  443. /package/src/ui/hooks/{use-color-scheme.ts → useColorScheme.ts} +0 -0
  444. /package/src/ui/utils/{user-utils.ts → userUtils.ts} +0 -0
@@ -4,53 +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 _index = require("../core/index.js");
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
- * Clean implementation with ZERO React Native dependencies
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
17
25
  */
18
26
 
19
27
  const WebOxyContext = /*#__PURE__*/(0, _react.createContext)(null);
20
28
  /**
21
29
  * Web-only Oxy Provider
22
- * Minimal, clean implementation for web apps
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
+ * ```
23
55
  */
24
56
  function WebOxyProvider({
25
57
  children,
26
58
  baseURL,
27
59
  authWebUrl,
28
- onAuthStateChange
60
+ onAuthStateChange,
61
+ onError,
62
+ preferredAuthMethod = 'auto',
63
+ skipAutoCheck = false
29
64
  }) {
30
- const [oxyServices] = (0, _react.useState)(() => new _index.OxyServices({
65
+ // Initialize services with centralized AuthManager
66
+ const [oxyServices] = (0, _react.useState)(() => new _OxyServices.OxyServices({
31
67
  baseURL,
32
68
  authWebUrl
33
69
  }));
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
34
77
  const [user, setUser] = (0, _react.useState)(null);
35
- const [isLoading, setIsLoading] = (0, _react.useState)(true);
78
+ const [isLoading, setIsLoading] = (0, _react.useState)(!skipAutoCheck);
36
79
  const [error, setError] = (0, _react.useState)(null);
37
- const [queryClient] = (0, _react.useState)(() => (0, _queryClient.createQueryClient)());
38
80
  const isAuthenticated = !!user;
39
81
 
40
- // Initialize - check for existing session
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
41
117
  (0, _react.useEffect)(() => {
118
+ if (skipAutoCheck) return;
42
119
  let mounted = true;
43
120
  const initAuth = async () => {
44
121
  try {
45
- // Try to get current user (will use existing auth token if available)
46
- const currentUser = await oxyServices.getCurrentUser();
47
- if (mounted && currentUser) {
48
- setUser(currentUser);
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);
49
160
  }
50
161
  } catch (err) {
51
- // No active session - this is fine
52
- console.log('[WebOxy] No active session');
53
- } finally {
54
162
  if (mounted) {
55
163
  setIsLoading(false);
56
164
  }
@@ -60,86 +168,127 @@ function WebOxyProvider({
60
168
  return () => {
61
169
  mounted = false;
62
170
  };
63
- }, [oxyServices]);
171
+ }, [oxyServices, crossDomainAuth, authManager, skipAutoCheck, handleAuthSuccess]);
64
172
 
65
173
  // Notify parent of auth state changes
66
174
  (0, _react.useEffect)(() => {
67
175
  onAuthStateChange?.(user);
68
176
  }, [user, onAuthStateChange]);
177
+
178
+ /**
179
+ * Sign in with automatic method selection
180
+ */
69
181
  const signIn = (0, _react.useCallback)(async () => {
70
182
  setError(null);
71
183
  setIsLoading(true);
184
+ let selectedMethod = 'popup';
72
185
  try {
73
- // Open popup to auth.oxy.so
74
- const popup = window.open(`${authWebUrl || 'https://auth.oxy.so'}/login?origin=${encodeURIComponent(window.location.origin)}`, 'oxy-auth', 'width=500,height=700,popup=yes');
75
- if (!popup) {
76
- throw new Error('Popup blocked. Please allow popups for this site.');
186
+ const session = await crossDomainAuth.signIn({
187
+ method: preferredAuthMethod,
188
+ onMethodSelected: method => {
189
+ selectedMethod = method;
190
+ }
191
+ });
192
+ if (session) {
193
+ await handleAuthSuccess(session, selectedMethod);
194
+ } else {
195
+ // Redirect method - page will reload
196
+ setIsLoading(false);
77
197
  }
198
+ } catch (err) {
199
+ handleAuthError(err);
200
+ }
201
+ }, [crossDomainAuth, preferredAuthMethod, handleAuthSuccess, handleAuthError]);
78
202
 
79
- // Listen for message from popup
80
- const handleMessage = async event => {
81
- if (event.origin !== (authWebUrl || 'https://auth.oxy.so')) {
82
- return;
83
- }
84
- if (event.data.type === 'oxy-auth-success') {
85
- const {
86
- accessToken,
87
- user: authUser
88
- } = event.data;
89
-
90
- // Store the access token for API requests
91
- if (typeof window !== 'undefined' && accessToken) {
92
- localStorage.setItem('oxy-access-token', accessToken);
93
- }
94
- setUser(authUser);
95
- setIsLoading(false);
96
- window.removeEventListener('message', handleMessage);
97
- popup.close();
98
- } else if (event.data.type === 'oxy-auth-error') {
99
- setError(event.data.error || 'Authentication failed');
100
- setIsLoading(false);
101
- window.removeEventListener('message', handleMessage);
102
- popup.close();
103
- }
104
- };
105
- window.addEventListener('message', handleMessage);
106
-
107
- // Check if popup was closed
108
- const checkClosed = setInterval(() => {
109
- if (popup.closed) {
110
- clearInterval(checkClosed);
111
- window.removeEventListener('message', handleMessage);
112
- setIsLoading(false);
113
- }
114
- }, 500);
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');
115
226
  } catch (err) {
116
- console.error('[WebOxy] Sign in error:', err);
117
- setError(err instanceof Error ? err.message : 'Sign in failed');
118
- setIsLoading(false);
227
+ handleAuthError(err);
119
228
  }
120
- }, [authWebUrl]);
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();
246
+ }, [crossDomainAuth]);
247
+
248
+ /**
249
+ * Sign out via AuthManager (handles FedCM revocation and storage cleanup)
250
+ */
121
251
  const signOut = (0, _react.useCallback)(async () => {
122
252
  setError(null);
123
253
  try {
124
- // Clear stored token
125
- if (typeof window !== 'undefined') {
126
- localStorage.removeItem('oxy-access-token');
127
- }
254
+ // Use centralized AuthManager for sign out (handles FedCM, storage cleanup)
255
+ await authManager.signOut();
256
+
257
+ // Clear user state
128
258
  setUser(null);
129
259
  } catch (err) {
130
- console.error('[WebOxy] Sign out error:', err);
131
- setError(err instanceof Error ? err.message : 'Sign out failed');
260
+ const errorMessage = err instanceof Error ? err.message : 'Sign out failed';
261
+ setError(errorMessage);
262
+ onError?.(err instanceof Error ? err : new Error(errorMessage));
132
263
  }
133
- }, []);
134
- const contextValue = {
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
135
276
  user,
136
277
  isAuthenticated,
137
278
  isLoading,
138
279
  error,
280
+ // Services
281
+ oxyServices,
282
+ crossDomainAuth,
283
+ authManager,
284
+ // Actions
139
285
  signIn,
286
+ signInWithFedCM,
287
+ signInWithPopup,
288
+ signInWithRedirect,
140
289
  signOut,
141
- oxyServices
142
- };
290
+ isFedCMSupported
291
+ }), [user, isAuthenticated, isLoading, error, oxyServices, crossDomainAuth, authManager, signIn, signInWithFedCM, signInWithPopup, signInWithRedirect, signOut, isFedCMSupported]);
143
292
  return /*#__PURE__*/(0, _jsxRuntime.jsx)(_reactQuery.QueryClientProvider, {
144
293
  client: queryClient,
145
294
  children: /*#__PURE__*/(0, _jsxRuntime.jsx)(WebOxyContext.Provider, {
@@ -148,6 +297,13 @@ function WebOxyProvider({
148
297
  })
149
298
  });
150
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
+ */
151
307
  function useWebOxy() {
152
308
  const context = (0, _react.useContext)(WebOxyContext);
153
309
  if (!context) {
@@ -155,6 +311,39 @@ function useWebOxy() {
155
311
  }
156
312
  return context;
157
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
+ */
158
347
  function useAuth() {
159
348
  const {
160
349
  user,
@@ -162,18 +351,34 @@ function useAuth() {
162
351
  isLoading,
163
352
  error,
164
353
  signIn,
354
+ signInWithFedCM,
355
+ signInWithPopup,
356
+ signInWithRedirect,
165
357
  signOut,
166
- oxyServices
358
+ isFedCMSupported,
359
+ oxyServices,
360
+ authManager
167
361
  } = useWebOxy();
168
362
  return {
363
+ // State
169
364
  user,
170
365
  isAuthenticated,
171
366
  isLoading,
172
367
  isReady: !isLoading,
173
368
  error,
369
+ // Actions
174
370
  signIn,
371
+ signInWithFedCM,
372
+ signInWithPopup,
373
+ signInWithRedirect,
175
374
  signOut,
176
- oxyServices
375
+ // Utilities
376
+ isFedCMSupported,
377
+ oxyServices,
378
+ authManager
177
379
  };
178
380
  }
381
+
382
+ // Default export for convenience
383
+ var _default = exports.default = WebOxyProvider;
179
384
  //# sourceMappingURL=WebOxyContext.js.map
@@ -1 +1 @@
1
- {"version":3,"names":["_react","require","_index","_reactQuery","_queryClient","_jsxRuntime","WebOxyContext","createContext","WebOxyProvider","children","baseURL","authWebUrl","onAuthStateChange","oxyServices","useState","OxyServices","user","setUser","isLoading","setIsLoading","error","setError","queryClient","createQueryClient","isAuthenticated","useEffect","mounted","initAuth","currentUser","getCurrentUser","err","console","log","signIn","useCallback","popup","window","open","encodeURIComponent","location","origin","Error","handleMessage","event","data","type","accessToken","authUser","localStorage","setItem","removeEventListener","close","addEventListener","checkClosed","setInterval","closed","clearInterval","message","signOut","removeItem","contextValue","jsx","QueryClientProvider","client","Provider","value","useWebOxy","context","useContext","useAuth","isReady"],"sourceRoot":"../../../src","sources":["web/WebOxyContext.tsx"],"mappings":"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","ignoreList":[]}
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":[]}