@oxyhq/services 6.9.41 → 6.9.43

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 (205) hide show
  1. package/lib/commonjs/ui/components/BottomSheet.js +3 -3
  2. package/lib/commonjs/ui/components/BottomSheet.js.map +1 -1
  3. package/lib/commonjs/ui/components/BottomSheetRouter.js +4 -3
  4. package/lib/commonjs/ui/components/BottomSheetRouter.js.map +1 -1
  5. package/lib/commonjs/ui/components/OxyProvider.js +48 -43
  6. package/lib/commonjs/ui/components/OxyProvider.js.map +1 -1
  7. package/lib/commonjs/ui/components/SignInModal.js +1 -1
  8. package/lib/commonjs/ui/components/fileManagement/FileDetailsModal.js +3 -2
  9. package/lib/commonjs/ui/components/fileManagement/FileDetailsModal.js.map +1 -1
  10. package/lib/commonjs/ui/components/fileManagement/UploadPreview.js +3 -2
  11. package/lib/commonjs/ui/components/fileManagement/UploadPreview.js.map +1 -1
  12. package/lib/commonjs/ui/components/modals/DeleteAccountModal.js +3 -2
  13. package/lib/commonjs/ui/components/modals/DeleteAccountModal.js.map +1 -1
  14. package/lib/commonjs/ui/context/OxyContext.js +17 -4
  15. package/lib/commonjs/ui/context/OxyContext.js.map +1 -1
  16. package/lib/commonjs/ui/context/hooks/useAuthOperations.js +2 -1
  17. package/lib/commonjs/ui/context/hooks/useAuthOperations.js.map +1 -1
  18. package/lib/commonjs/ui/screens/AccountCenterScreen.js +8 -6
  19. package/lib/commonjs/ui/screens/AccountCenterScreen.js.map +1 -1
  20. package/lib/commonjs/ui/screens/AccountOverviewScreen.js +8 -6
  21. package/lib/commonjs/ui/screens/AccountOverviewScreen.js.map +1 -1
  22. package/lib/commonjs/ui/screens/AccountSettingsScreen.js +5 -4
  23. package/lib/commonjs/ui/screens/AccountSettingsScreen.js.map +1 -1
  24. package/lib/commonjs/ui/screens/AccountSwitcherScreen.js +5 -2
  25. package/lib/commonjs/ui/screens/AccountSwitcherScreen.js.map +1 -1
  26. package/lib/commonjs/ui/screens/AccountVerificationScreen.js +3 -2
  27. package/lib/commonjs/ui/screens/AccountVerificationScreen.js.map +1 -1
  28. package/lib/commonjs/ui/screens/EditProfileFieldScreen.js +3 -2
  29. package/lib/commonjs/ui/screens/EditProfileFieldScreen.js.map +1 -1
  30. package/lib/commonjs/ui/screens/FAQScreen.js +3 -2
  31. package/lib/commonjs/ui/screens/FAQScreen.js.map +1 -1
  32. package/lib/commonjs/ui/screens/FeedbackScreen.js +3 -2
  33. package/lib/commonjs/ui/screens/FeedbackScreen.js.map +1 -1
  34. package/lib/commonjs/ui/screens/HelpSupportScreen.js +3 -2
  35. package/lib/commonjs/ui/screens/HelpSupportScreen.js.map +1 -1
  36. package/lib/commonjs/ui/screens/HistoryViewScreen.js +3 -2
  37. package/lib/commonjs/ui/screens/HistoryViewScreen.js.map +1 -1
  38. package/lib/commonjs/ui/screens/LanguageSelectorScreen.js +3 -2
  39. package/lib/commonjs/ui/screens/LanguageSelectorScreen.js.map +1 -1
  40. package/lib/commonjs/ui/screens/LearnMoreUsernamesScreen.js +3 -2
  41. package/lib/commonjs/ui/screens/LearnMoreUsernamesScreen.js.map +1 -1
  42. package/lib/commonjs/ui/screens/LegalDocumentsScreen.js +6 -4
  43. package/lib/commonjs/ui/screens/LegalDocumentsScreen.js.map +1 -1
  44. package/lib/commonjs/ui/screens/OxyAuthScreen.js +13 -9
  45. package/lib/commonjs/ui/screens/OxyAuthScreen.js.map +1 -1
  46. package/lib/commonjs/ui/screens/PaymentGatewayScreen.js +3 -2
  47. package/lib/commonjs/ui/screens/PaymentGatewayScreen.js.map +1 -1
  48. package/lib/commonjs/ui/screens/PrivacySettingsScreen.js +6 -4
  49. package/lib/commonjs/ui/screens/PrivacySettingsScreen.js.map +1 -1
  50. package/lib/commonjs/ui/screens/ProfileScreen.js +8 -6
  51. package/lib/commonjs/ui/screens/ProfileScreen.js.map +1 -1
  52. package/lib/commonjs/ui/screens/SavesCollectionsScreen.js +3 -2
  53. package/lib/commonjs/ui/screens/SavesCollectionsScreen.js.map +1 -1
  54. package/lib/commonjs/ui/screens/SearchSettingsScreen.js +6 -4
  55. package/lib/commonjs/ui/screens/SearchSettingsScreen.js.map +1 -1
  56. package/lib/commonjs/ui/screens/SessionManagementScreen.js +6 -4
  57. package/lib/commonjs/ui/screens/SessionManagementScreen.js.map +1 -1
  58. package/lib/commonjs/ui/screens/UserLinksScreen.js +3 -2
  59. package/lib/commonjs/ui/screens/UserLinksScreen.js.map +1 -1
  60. package/lib/commonjs/ui/screens/UserListScreen.js +9 -6
  61. package/lib/commonjs/ui/screens/UserListScreen.js.map +1 -1
  62. package/lib/commonjs/ui/screens/karma/KarmaAboutScreen.js +3 -2
  63. package/lib/commonjs/ui/screens/karma/KarmaAboutScreen.js.map +1 -1
  64. package/lib/commonjs/ui/screens/karma/KarmaCenterScreen.js +8 -6
  65. package/lib/commonjs/ui/screens/karma/KarmaCenterScreen.js.map +1 -1
  66. package/lib/commonjs/ui/screens/karma/KarmaFAQScreen.js +3 -2
  67. package/lib/commonjs/ui/screens/karma/KarmaFAQScreen.js.map +1 -1
  68. package/lib/commonjs/ui/screens/karma/KarmaLeaderboardScreen.js +3 -2
  69. package/lib/commonjs/ui/screens/karma/KarmaLeaderboardScreen.js.map +1 -1
  70. package/lib/commonjs/ui/screens/karma/KarmaRewardsScreen.js +6 -4
  71. package/lib/commonjs/ui/screens/karma/KarmaRewardsScreen.js.map +1 -1
  72. package/lib/commonjs/ui/screens/karma/KarmaRulesScreen.js +3 -2
  73. package/lib/commonjs/ui/screens/karma/KarmaRulesScreen.js.map +1 -1
  74. package/lib/module/ui/components/BottomSheet.js +3 -3
  75. package/lib/module/ui/components/BottomSheet.js.map +1 -1
  76. package/lib/module/ui/components/BottomSheetRouter.js +4 -3
  77. package/lib/module/ui/components/BottomSheetRouter.js.map +1 -1
  78. package/lib/module/ui/components/OxyProvider.js +49 -44
  79. package/lib/module/ui/components/OxyProvider.js.map +1 -1
  80. package/lib/module/ui/components/SignInModal.js +1 -1
  81. package/lib/module/ui/components/fileManagement/FileDetailsModal.js +3 -2
  82. package/lib/module/ui/components/fileManagement/FileDetailsModal.js.map +1 -1
  83. package/lib/module/ui/components/fileManagement/UploadPreview.js +3 -2
  84. package/lib/module/ui/components/fileManagement/UploadPreview.js.map +1 -1
  85. package/lib/module/ui/components/modals/DeleteAccountModal.js +3 -2
  86. package/lib/module/ui/components/modals/DeleteAccountModal.js.map +1 -1
  87. package/lib/module/ui/context/OxyContext.js +17 -4
  88. package/lib/module/ui/context/OxyContext.js.map +1 -1
  89. package/lib/module/ui/context/hooks/useAuthOperations.js +2 -1
  90. package/lib/module/ui/context/hooks/useAuthOperations.js.map +1 -1
  91. package/lib/module/ui/screens/AccountCenterScreen.js +8 -6
  92. package/lib/module/ui/screens/AccountCenterScreen.js.map +1 -1
  93. package/lib/module/ui/screens/AccountOverviewScreen.js +8 -6
  94. package/lib/module/ui/screens/AccountOverviewScreen.js.map +1 -1
  95. package/lib/module/ui/screens/AccountSettingsScreen.js +5 -4
  96. package/lib/module/ui/screens/AccountSettingsScreen.js.map +1 -1
  97. package/lib/module/ui/screens/AccountSwitcherScreen.js +5 -2
  98. package/lib/module/ui/screens/AccountSwitcherScreen.js.map +1 -1
  99. package/lib/module/ui/screens/AccountVerificationScreen.js +3 -2
  100. package/lib/module/ui/screens/AccountVerificationScreen.js.map +1 -1
  101. package/lib/module/ui/screens/EditProfileFieldScreen.js +3 -2
  102. package/lib/module/ui/screens/EditProfileFieldScreen.js.map +1 -1
  103. package/lib/module/ui/screens/FAQScreen.js +3 -2
  104. package/lib/module/ui/screens/FAQScreen.js.map +1 -1
  105. package/lib/module/ui/screens/FeedbackScreen.js +3 -2
  106. package/lib/module/ui/screens/FeedbackScreen.js.map +1 -1
  107. package/lib/module/ui/screens/HelpSupportScreen.js +3 -2
  108. package/lib/module/ui/screens/HelpSupportScreen.js.map +1 -1
  109. package/lib/module/ui/screens/HistoryViewScreen.js +3 -2
  110. package/lib/module/ui/screens/HistoryViewScreen.js.map +1 -1
  111. package/lib/module/ui/screens/LanguageSelectorScreen.js +3 -2
  112. package/lib/module/ui/screens/LanguageSelectorScreen.js.map +1 -1
  113. package/lib/module/ui/screens/LearnMoreUsernamesScreen.js +3 -2
  114. package/lib/module/ui/screens/LearnMoreUsernamesScreen.js.map +1 -1
  115. package/lib/module/ui/screens/LegalDocumentsScreen.js +6 -4
  116. package/lib/module/ui/screens/LegalDocumentsScreen.js.map +1 -1
  117. package/lib/module/ui/screens/OxyAuthScreen.js +13 -9
  118. package/lib/module/ui/screens/OxyAuthScreen.js.map +1 -1
  119. package/lib/module/ui/screens/PaymentGatewayScreen.js +3 -2
  120. package/lib/module/ui/screens/PaymentGatewayScreen.js.map +1 -1
  121. package/lib/module/ui/screens/PrivacySettingsScreen.js +6 -4
  122. package/lib/module/ui/screens/PrivacySettingsScreen.js.map +1 -1
  123. package/lib/module/ui/screens/ProfileScreen.js +8 -6
  124. package/lib/module/ui/screens/ProfileScreen.js.map +1 -1
  125. package/lib/module/ui/screens/SavesCollectionsScreen.js +3 -2
  126. package/lib/module/ui/screens/SavesCollectionsScreen.js.map +1 -1
  127. package/lib/module/ui/screens/SearchSettingsScreen.js +6 -4
  128. package/lib/module/ui/screens/SearchSettingsScreen.js.map +1 -1
  129. package/lib/module/ui/screens/SessionManagementScreen.js +6 -4
  130. package/lib/module/ui/screens/SessionManagementScreen.js.map +1 -1
  131. package/lib/module/ui/screens/UserLinksScreen.js +3 -2
  132. package/lib/module/ui/screens/UserLinksScreen.js.map +1 -1
  133. package/lib/module/ui/screens/UserListScreen.js +9 -6
  134. package/lib/module/ui/screens/UserListScreen.js.map +1 -1
  135. package/lib/module/ui/screens/karma/KarmaAboutScreen.js +3 -2
  136. package/lib/module/ui/screens/karma/KarmaAboutScreen.js.map +1 -1
  137. package/lib/module/ui/screens/karma/KarmaCenterScreen.js +8 -6
  138. package/lib/module/ui/screens/karma/KarmaCenterScreen.js.map +1 -1
  139. package/lib/module/ui/screens/karma/KarmaFAQScreen.js +3 -2
  140. package/lib/module/ui/screens/karma/KarmaFAQScreen.js.map +1 -1
  141. package/lib/module/ui/screens/karma/KarmaLeaderboardScreen.js +3 -2
  142. package/lib/module/ui/screens/karma/KarmaLeaderboardScreen.js.map +1 -1
  143. package/lib/module/ui/screens/karma/KarmaRewardsScreen.js +6 -4
  144. package/lib/module/ui/screens/karma/KarmaRewardsScreen.js.map +1 -1
  145. package/lib/module/ui/screens/karma/KarmaRulesScreen.js +3 -2
  146. package/lib/module/ui/screens/karma/KarmaRulesScreen.js.map +1 -1
  147. package/lib/typescript/commonjs/ui/components/BottomSheet.d.ts.map +1 -1
  148. package/lib/typescript/commonjs/ui/components/OxyProvider.d.ts.map +1 -1
  149. package/lib/typescript/commonjs/ui/context/OxyContext.d.ts +3 -8
  150. package/lib/typescript/commonjs/ui/context/OxyContext.d.ts.map +1 -1
  151. package/lib/typescript/commonjs/ui/context/hooks/useAuthOperations.d.ts.map +1 -1
  152. package/lib/typescript/commonjs/ui/screens/AccountSwitcherScreen.d.ts.map +1 -1
  153. package/lib/typescript/commonjs/ui/screens/EditProfileFieldScreen.d.ts.map +1 -1
  154. package/lib/typescript/commonjs/ui/screens/FeedbackScreen.d.ts.map +1 -1
  155. package/lib/typescript/commonjs/ui/types/navigation.d.ts +3 -0
  156. package/lib/typescript/commonjs/ui/types/navigation.d.ts.map +1 -1
  157. package/lib/typescript/module/ui/components/BottomSheet.d.ts.map +1 -1
  158. package/lib/typescript/module/ui/components/OxyProvider.d.ts.map +1 -1
  159. package/lib/typescript/module/ui/context/OxyContext.d.ts +3 -8
  160. package/lib/typescript/module/ui/context/OxyContext.d.ts.map +1 -1
  161. package/lib/typescript/module/ui/context/hooks/useAuthOperations.d.ts.map +1 -1
  162. package/lib/typescript/module/ui/screens/AccountSwitcherScreen.d.ts.map +1 -1
  163. package/lib/typescript/module/ui/screens/EditProfileFieldScreen.d.ts.map +1 -1
  164. package/lib/typescript/module/ui/screens/FeedbackScreen.d.ts.map +1 -1
  165. package/lib/typescript/module/ui/types/navigation.d.ts +3 -0
  166. package/lib/typescript/module/ui/types/navigation.d.ts.map +1 -1
  167. package/package.json +2 -3
  168. package/src/ui/components/BottomSheet.tsx +3 -2
  169. package/src/ui/components/BottomSheetRouter.tsx +2 -2
  170. package/src/ui/components/OxyProvider.tsx +55 -50
  171. package/src/ui/components/SignInModal.tsx +1 -1
  172. package/src/ui/components/fileManagement/FileDetailsModal.tsx +1 -1
  173. package/src/ui/components/fileManagement/UploadPreview.tsx +1 -1
  174. package/src/ui/components/modals/DeleteAccountModal.tsx +1 -1
  175. package/src/ui/context/OxyContext.tsx +21 -12
  176. package/src/ui/context/hooks/useAuthOperations.ts +2 -1
  177. package/src/ui/screens/AccountCenterScreen.tsx +3 -3
  178. package/src/ui/screens/AccountOverviewScreen.tsx +3 -3
  179. package/src/ui/screens/AccountSettingsScreen.tsx +2 -2
  180. package/src/ui/screens/AccountSwitcherScreen.tsx +3 -1
  181. package/src/ui/screens/AccountVerificationScreen.tsx +1 -1
  182. package/src/ui/screens/EditProfileFieldScreen.tsx +1 -2
  183. package/src/ui/screens/FAQScreen.tsx +1 -1
  184. package/src/ui/screens/FeedbackScreen.tsx +1 -2
  185. package/src/ui/screens/HelpSupportScreen.tsx +1 -1
  186. package/src/ui/screens/HistoryViewScreen.tsx +1 -1
  187. package/src/ui/screens/LanguageSelectorScreen.tsx +1 -1
  188. package/src/ui/screens/LearnMoreUsernamesScreen.tsx +1 -1
  189. package/src/ui/screens/LegalDocumentsScreen.tsx +2 -2
  190. package/src/ui/screens/OxyAuthScreen.tsx +6 -6
  191. package/src/ui/screens/PaymentGatewayScreen.tsx +1 -1
  192. package/src/ui/screens/PrivacySettingsScreen.tsx +2 -2
  193. package/src/ui/screens/ProfileScreen.tsx +3 -3
  194. package/src/ui/screens/SavesCollectionsScreen.tsx +1 -1
  195. package/src/ui/screens/SearchSettingsScreen.tsx +2 -2
  196. package/src/ui/screens/SessionManagementScreen.tsx +2 -2
  197. package/src/ui/screens/UserLinksScreen.tsx +1 -1
  198. package/src/ui/screens/UserListScreen.tsx +3 -3
  199. package/src/ui/screens/karma/KarmaAboutScreen.tsx +1 -1
  200. package/src/ui/screens/karma/KarmaCenterScreen.tsx +3 -3
  201. package/src/ui/screens/karma/KarmaFAQScreen.tsx +1 -1
  202. package/src/ui/screens/karma/KarmaLeaderboardScreen.tsx +1 -1
  203. package/src/ui/screens/karma/KarmaRewardsScreen.tsx +2 -2
  204. package/src/ui/screens/karma/KarmaRulesScreen.tsx +1 -1
  205. package/src/ui/types/navigation.ts +3 -0
@@ -1 +1 @@
1
- {"version":3,"file":"AccountSwitcherScreen.d.ts","sourceRoot":"","sources":["../../../../../src/ui/screens/AccountSwitcherScreen.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAK,KAAK,MAAM,OAAO,CAAC;AAc/B,OAAO,KAAK,EAAE,eAAe,EAAE,MAAM,qBAAqB,CAAC;AA4B3D,QAAA,MAAM,2BAA2B,EAAE,KAAK,CAAC,EAAE,CAAC,eAAe,CA8gB1D,CAAC;AAmKF,eAAe,2BAA2B,CAAC"}
1
+ {"version":3,"file":"AccountSwitcherScreen.d.ts","sourceRoot":"","sources":["../../../../../src/ui/screens/AccountSwitcherScreen.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAK,KAAK,MAAM,OAAO,CAAC;AAc/B,OAAO,KAAK,EAAE,eAAe,EAAE,MAAM,qBAAqB,CAAC;AA6B3D,QAAA,MAAM,2BAA2B,EAAE,KAAK,CAAC,EAAE,CAAC,eAAe,CA+gB1D,CAAC;AAmKF,eAAe,2BAA2B,CAAC"}
@@ -1 +1 @@
1
- {"version":3,"file":"EditProfileFieldScreen.d.ts","sourceRoot":"","sources":["../../../../../src/ui/screens/EditProfileFieldScreen.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAoD,MAAM,OAAO,CAAC;AAczE,OAAO,KAAK,EAAE,eAAe,EAAE,MAAM,qBAAqB,CAAC;AAW3D;;GAEG;AACH,MAAM,MAAM,gBAAgB,GACtB,aAAa,GACb,UAAU,GACV,OAAO,GACP,KAAK,GACL,OAAO,GACP,SAAS,GACT,UAAU,GACV,UAAU,GACV,WAAW,GACX,OAAO,CAAC;AAmBd,UAAU,2BAA4B,SAAQ,eAAe;IACzD,6BAA6B;IAC7B,SAAS,CAAC,EAAE,gBAAgB,CAAC;CAChC;;AA0nBD,wBAAkD"}
1
+ {"version":3,"file":"EditProfileFieldScreen.d.ts","sourceRoot":"","sources":["../../../../../src/ui/screens/EditProfileFieldScreen.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAoD,MAAM,OAAO,CAAC;AAczE,OAAO,KAAK,EAAE,eAAe,EAAE,MAAM,qBAAqB,CAAC;AAW3D;;GAEG;AACH,MAAM,MAAM,gBAAgB,GACtB,aAAa,GACb,UAAU,GACV,OAAO,GACP,KAAK,GACL,OAAO,GACP,SAAS,GACT,UAAU,GACV,UAAU,GACV,WAAW,GACX,OAAO,CAAC;AAmBd,UAAU,2BAA4B,SAAQ,eAAe;IACzD,6BAA6B;IAC7B,SAAS,CAAC,EAAE,gBAAgB,CAAC;CAChC;;AAynBD,wBAAkD"}
@@ -1 +1 @@
1
- {"version":3,"file":"FeedbackScreen.d.ts","sourceRoot":"","sources":["../../../../../src/ui/screens/FeedbackScreen.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAK,KAAK,MAAM,OAAO,CAAC;AAa/B,OAAO,KAAK,EAAE,eAAe,EAAE,MAAM,qBAAqB,CAAC;AAoB3D,QAAA,MAAM,cAAc,EAAE,KAAK,CAAC,EAAE,CAAC,eAAe,CA8d7C,CAAC;AAEF,eAAe,cAAc,CAAC"}
1
+ {"version":3,"file":"FeedbackScreen.d.ts","sourceRoot":"","sources":["../../../../../src/ui/screens/FeedbackScreen.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAK,KAAK,MAAM,OAAO,CAAC;AAa/B,OAAO,KAAK,EAAE,eAAe,EAAE,MAAM,qBAAqB,CAAC;AAoB3D,QAAA,MAAM,cAAc,EAAE,KAAK,CAAC,EAAE,CAAC,eAAe,CA6d7C,CAAC;AAEF,eAAe,cAAc,CAAC"}
@@ -1,5 +1,6 @@
1
1
  import type { ReactNode, RefObject } from 'react';
2
2
  import type { QueryClient } from '@tanstack/react-query';
3
+ import type { ThemeMode, AppColorName } from '@oxyhq/bloom';
3
4
  import type { RouteName } from '../navigation/routes';
4
5
  export type { RouteName };
5
6
  export interface StepController {
@@ -33,5 +34,7 @@ export interface OxyProviderProps {
33
34
  authWebUrl?: string;
34
35
  authRedirectUri?: string;
35
36
  queryClient?: QueryClient;
37
+ themeMode?: ThemeMode;
38
+ colorPreset?: AppColorName;
36
39
  }
37
40
  //# sourceMappingURL=navigation.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"navigation.d.ts","sourceRoot":"","sources":["../../../../../src/ui/types/navigation.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,SAAS,EAAE,SAAS,EAAE,MAAM,OAAO,CAAC;AAClD,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,uBAAuB,CAAC;AACzD,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,sBAAsB,CAAC;AAKtD,YAAY,EAAE,SAAS,EAAE,CAAC;AAE1B,MAAM,WAAW,cAAc;IAC3B,SAAS,EAAE,MAAM,OAAO,CAAC;IACzB,MAAM,EAAE,MAAM,IAAI,CAAC;CACtB;AAED,MAAM,WAAW,eAAe;IAE5B,QAAQ,CAAC,EAAE,CAAC,MAAM,EAAE,SAAS,EAAE,KAAK,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,KAAK,IAAI,CAAC;IACxE,MAAM,CAAC,EAAE,MAAM,IAAI,CAAC;IACpB,OAAO,CAAC,EAAE,MAAM,IAAI,CAAC;IACrB,eAAe,CAAC,EAAE,CAAC,OAAO,CAAC,EAAE,OAAO,KAAK,IAAI,CAAC;IAG9C,KAAK,CAAC,EAAE,OAAO,GAAG,MAAM,GAAG,MAAM,CAAC;IAGlC,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB,iBAAiB,CAAC,EAAE,SAAS,CAAC,cAAc,GAAG,IAAI,CAAC,CAAC;IACrD,YAAY,CAAC,EAAE,CAAC,WAAW,EAAE,MAAM,EAAE,UAAU,EAAE,MAAM,KAAK,IAAI,CAAC;IAGjE,aAAa,CAAC,EAAE,SAAS,CAAC;IAG1B,QAAQ,CAAC,EAAE,CAAC,CAAC,EAAE,MAAM,EAAE,QAAQ,CAAC,EAAE,OAAO,KAAK,IAAI,CAAC;IAGnD,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB,eAAe,CAAC,EAAE,MAAM,CAAC;IACzB,WAAW,CAAC,EAAE,OAAO,CAAC;IAMtB,CAAC,GAAG,EAAE,MAAM,GAAG,OAAO,CAAC;CAC1B;AAED,MAAM,WAAW,gBAAgB;IAC7B,WAAW,CAAC,EAAE,OAAO,CAAC;IACtB,QAAQ,CAAC,EAAE,SAAS,CAAC;IACrB,iBAAiB,CAAC,EAAE,CAAC,IAAI,EAAE,OAAO,KAAK,IAAI,CAAC;IAC5C,gBAAgB,CAAC,EAAE,MAAM,CAAC;IAC1B,OAAO,CAAC,EAAE,MAAM,CAAC;IACjB,UAAU,CAAC,EAAE,MAAM,CAAC;IACpB,eAAe,CAAC,EAAE,MAAM,CAAC;IACzB,WAAW,CAAC,EAAE,WAAW,CAAC;CAC7B"}
1
+ {"version":3,"file":"navigation.d.ts","sourceRoot":"","sources":["../../../../../src/ui/types/navigation.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,SAAS,EAAE,SAAS,EAAE,MAAM,OAAO,CAAC;AAClD,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,uBAAuB,CAAC;AACzD,OAAO,KAAK,EAAE,SAAS,EAAE,YAAY,EAAE,MAAM,cAAc,CAAC;AAC5D,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,sBAAsB,CAAC;AAKtD,YAAY,EAAE,SAAS,EAAE,CAAC;AAE1B,MAAM,WAAW,cAAc;IAC3B,SAAS,EAAE,MAAM,OAAO,CAAC;IACzB,MAAM,EAAE,MAAM,IAAI,CAAC;CACtB;AAED,MAAM,WAAW,eAAe;IAE5B,QAAQ,CAAC,EAAE,CAAC,MAAM,EAAE,SAAS,EAAE,KAAK,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,KAAK,IAAI,CAAC;IACxE,MAAM,CAAC,EAAE,MAAM,IAAI,CAAC;IACpB,OAAO,CAAC,EAAE,MAAM,IAAI,CAAC;IACrB,eAAe,CAAC,EAAE,CAAC,OAAO,CAAC,EAAE,OAAO,KAAK,IAAI,CAAC;IAG9C,KAAK,CAAC,EAAE,OAAO,GAAG,MAAM,GAAG,MAAM,CAAC;IAGlC,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB,iBAAiB,CAAC,EAAE,SAAS,CAAC,cAAc,GAAG,IAAI,CAAC,CAAC;IACrD,YAAY,CAAC,EAAE,CAAC,WAAW,EAAE,MAAM,EAAE,UAAU,EAAE,MAAM,KAAK,IAAI,CAAC;IAGjE,aAAa,CAAC,EAAE,SAAS,CAAC;IAG1B,QAAQ,CAAC,EAAE,CAAC,CAAC,EAAE,MAAM,EAAE,QAAQ,CAAC,EAAE,OAAO,KAAK,IAAI,CAAC;IAGnD,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB,eAAe,CAAC,EAAE,MAAM,CAAC;IACzB,WAAW,CAAC,EAAE,OAAO,CAAC;IAMtB,CAAC,GAAG,EAAE,MAAM,GAAG,OAAO,CAAC;CAC1B;AAED,MAAM,WAAW,gBAAgB;IAC7B,WAAW,CAAC,EAAE,OAAO,CAAC;IACtB,QAAQ,CAAC,EAAE,SAAS,CAAC;IACrB,iBAAiB,CAAC,EAAE,CAAC,IAAI,EAAE,OAAO,KAAK,IAAI,CAAC;IAC5C,gBAAgB,CAAC,EAAE,MAAM,CAAC;IAC1B,OAAO,CAAC,EAAE,MAAM,CAAC;IACjB,UAAU,CAAC,EAAE,MAAM,CAAC;IACpB,eAAe,CAAC,EAAE,MAAM,CAAC;IACzB,WAAW,CAAC,EAAE,WAAW,CAAC;IAC1B,SAAS,CAAC,EAAE,SAAS,CAAC;IACtB,WAAW,CAAC,EAAE,YAAY,CAAC;CAC9B"}
@@ -1 +1 @@
1
- {"version":3,"file":"BottomSheet.d.ts","sourceRoot":"","sources":["../../../../../src/ui/components/BottomSheet.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAK,KAAK,MAAM,OAAO,CAAC;AAE/B,OAAO,EAOH,KAAK,SAAS,EACd,KAAK,SAAS,EACjB,MAAM,cAAc,CAAC;AAiCtB,MAAM,WAAW,cAAc;IAC3B,OAAO,EAAE,MAAM,IAAI,CAAC;IACpB,OAAO,EAAE,MAAM,IAAI,CAAC;IACpB,KAAK,EAAE,MAAM,IAAI,CAAC;IAClB,MAAM,EAAE,MAAM,IAAI,CAAC;IACnB,QAAQ,EAAE,MAAM,IAAI,CAAC;IACrB,QAAQ,EAAE,CAAC,CAAC,EAAE,MAAM,EAAE,QAAQ,CAAC,EAAE,OAAO,KAAK,IAAI,CAAC;CACrD;AAED,MAAM,WAAW,gBAAgB;IAC7B,QAAQ,EAAE,KAAK,CAAC,SAAS,CAAC;IAC1B,SAAS,CAAC,EAAE,MAAM,IAAI,CAAC;IACvB,oBAAoB,CAAC,EAAE,OAAO,CAAC;IAC/B,mBAAmB,CAAC,EAAE,CAAC,KAAK,EAAE;QAAE,KAAK,CAAC,EAAE,SAAS,CAAC,SAAS,CAAC,CAAA;KAAE,KAAK,KAAK,CAAC,YAAY,GAAG,IAAI,CAAC;IAC7F,iBAAiB,CAAC,EAAE,CAAC,KAAK,EAAE;QAAE,KAAK,CAAC,EAAE,SAAS,CAAC,SAAS,CAAC,CAAC;QAAC,OAAO,CAAC,EAAE,MAAM,IAAI,CAAA;KAAE,KAAK,KAAK,CAAC,YAAY,GAAG,IAAI,CAAC;IACjH,KAAK,CAAC,EAAE,SAAS,CAAC,SAAS,CAAC,CAAC;IAC7B,0BAA0B,CAAC,EAAE,OAAO,CAAC;IACrC,gBAAgB,CAAC,EAAE,MAAM,OAAO,CAAC;IACjC,QAAQ,CAAC,EAAE,OAAO,CAAC;CACtB;AAED,QAAA,MAAM,WAAW,yFA0Sf,CAAC;AAkFH,eAAe,WAAW,CAAC"}
1
+ {"version":3,"file":"BottomSheet.d.ts","sourceRoot":"","sources":["../../../../../src/ui/components/BottomSheet.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAK,KAAK,MAAM,OAAO,CAAC;AAE/B,OAAO,EAOH,KAAK,SAAS,EACd,KAAK,SAAS,EACjB,MAAM,cAAc,CAAC;AAiCtB,MAAM,WAAW,cAAc;IAC3B,OAAO,EAAE,MAAM,IAAI,CAAC;IACpB,OAAO,EAAE,MAAM,IAAI,CAAC;IACpB,KAAK,EAAE,MAAM,IAAI,CAAC;IAClB,MAAM,EAAE,MAAM,IAAI,CAAC;IACnB,QAAQ,EAAE,MAAM,IAAI,CAAC;IACrB,QAAQ,EAAE,CAAC,CAAC,EAAE,MAAM,EAAE,QAAQ,CAAC,EAAE,OAAO,KAAK,IAAI,CAAC;CACrD;AAED,MAAM,WAAW,gBAAgB;IAC7B,QAAQ,EAAE,KAAK,CAAC,SAAS,CAAC;IAC1B,SAAS,CAAC,EAAE,MAAM,IAAI,CAAC;IACvB,oBAAoB,CAAC,EAAE,OAAO,CAAC;IAC/B,mBAAmB,CAAC,EAAE,CAAC,KAAK,EAAE;QAAE,KAAK,CAAC,EAAE,SAAS,CAAC,SAAS,CAAC,CAAA;KAAE,KAAK,KAAK,CAAC,YAAY,GAAG,IAAI,CAAC;IAC7F,iBAAiB,CAAC,EAAE,CAAC,KAAK,EAAE;QAAE,KAAK,CAAC,EAAE,SAAS,CAAC,SAAS,CAAC,CAAC;QAAC,OAAO,CAAC,EAAE,MAAM,IAAI,CAAA;KAAE,KAAK,KAAK,CAAC,YAAY,GAAG,IAAI,CAAC;IACjH,KAAK,CAAC,EAAE,SAAS,CAAC,SAAS,CAAC,CAAC;IAC7B,0BAA0B,CAAC,EAAE,OAAO,CAAC;IACrC,gBAAgB,CAAC,EAAE,MAAM,OAAO,CAAC;IACjC,QAAQ,CAAC,EAAE,OAAO,CAAC;CACtB;AAED,QAAA,MAAM,WAAW,yFA2Sf,CAAC;AAkFH,eAAe,WAAW,CAAC"}
@@ -1 +1 @@
1
- {"version":3,"file":"OxyProvider.d.ts","sourceRoot":"","sources":["../../../../../src/ui/components/OxyProvider.tsx"],"names":[],"mappings":"AACA,OAAO,EAA+B,KAAK,EAAE,EAAE,MAAM,OAAO,CAAC;AAE7D,OAAO,KAAK,EAAE,gBAAgB,EAAE,MAAM,qBAAqB,CAAC;AAgD5D;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GAgCG;AACH,QAAA,MAAM,WAAW,EAAE,EAAE,CAAC,gBAAgB,CA6JrC,CAAC;AAEF,eAAe,WAAW,CAAC"}
1
+ {"version":3,"file":"OxyProvider.d.ts","sourceRoot":"","sources":["../../../../../src/ui/components/OxyProvider.tsx"],"names":[],"mappings":"AAAA,OAAO,EAAmE,KAAK,EAAE,EAAkB,MAAM,OAAO,CAAC;AAEjH,OAAO,KAAK,EAAE,gBAAgB,EAAE,MAAM,qBAAqB,CAAC;AAqC5D;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GAgCG;AACH,QAAA,MAAM,WAAW,EAAE,EAAE,CAAC,gBAAgB,CA8KrC,CAAC;AAEF,eAAe,WAAW,CAAC"}
@@ -1,7 +1,7 @@
1
1
  import type React from 'react';
2
2
  import { type ReactNode } from 'react';
3
3
  import { OxyServices } from '@oxyhq/core';
4
- import type { User, ApiError } from '@oxyhq/core';
4
+ import type { User, ApiError, SessionLoginResponse } from '@oxyhq/core';
5
5
  import type { ClientSession } from '@oxyhq/core';
6
6
  import type { UseFollowHook } from '../hooks/useFollow.types';
7
7
  import { useLanguageManagement } from '../hooks/useLanguageManagement';
@@ -26,13 +26,7 @@ export interface OxyContextState {
26
26
  * Handle session from popup authentication
27
27
  * Updates auth state, persists session to storage
28
28
  */
29
- handlePopupSession: (session: {
30
- sessionId: string;
31
- accessToken?: string;
32
- expiresAt?: string;
33
- user: User;
34
- deviceId?: string;
35
- }) => Promise<void>;
29
+ handlePopupSession: (session: SessionLoginResponse) => Promise<void>;
36
30
  logout: (targetSessionId?: string) => Promise<void>;
37
31
  logoutAll: () => Promise<void>;
38
32
  switchSession: (sessionId: string) => Promise<void>;
@@ -50,6 +44,7 @@ export interface OxyContextState {
50
44
  updateDeviceName: (deviceName: string) => Promise<void>;
51
45
  clearSessionState: () => Promise<void>;
52
46
  clearAllAccountData: () => Promise<void>;
47
+ storageKeyPrefix: string;
53
48
  oxyServices: OxyServices;
54
49
  useFollow?: UseFollowHook;
55
50
  showBottomSheet?: (screenOrConfig: RouteName | {
@@ -1 +1 @@
1
- {"version":3,"file":"OxyContext.d.ts","sourceRoot":"","sources":["../../../../../src/ui/context/OxyContext.tsx"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"OxyContext.d.ts","sourceRoot":"","sources":["../../../../../src/ui/context/OxyContext.tsx"],"names":[],"mappings":"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"}
@@ -1 +1 @@
1
- {"version":3,"file":"useAuthOperations.d.ts","sourceRoot":"","sources":["../../../../../../src/ui/context/hooks/useAuthOperations.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,QAAQ,EAAE,IAAI,EAAE,MAAM,aAAa,CAAC;AAClD,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,wBAAwB,CAAC;AACxD,OAAO,KAAK,EAAE,aAAa,EAAwB,MAAM,aAAa,CAAC;AAIvE,OAAO,KAAK,EAAE,gBAAgB,EAAE,MAAM,4BAA4B,CAAC;AACnE,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,aAAa,CAAC;AAS/C,MAAM,WAAW,wBAAwB;IACvC,WAAW,EAAE,WAAW,CAAC;IACzB,OAAO,EAAE,gBAAgB,GAAG,IAAI,CAAC;IACjC,QAAQ,EAAE,aAAa,EAAE,CAAC;IAC1B,eAAe,EAAE,MAAM,GAAG,IAAI,CAAC;IAC/B,kBAAkB,EAAE,CAAC,SAAS,EAAE,MAAM,GAAG,IAAI,KAAK,IAAI,CAAC;IACvD,cAAc,EAAE,CAAC,QAAQ,EAAE,aAAa,EAAE,EAAE,OAAO,CAAC,EAAE;QAAE,KAAK,CAAC,EAAE,OAAO,CAAA;KAAE,KAAK,IAAI,CAAC;IACnF,mBAAmB,EAAE,CAAC,SAAS,EAAE,MAAM,KAAK,OAAO,CAAC,IAAI,CAAC,CAAC;IAC1D,iBAAiB,EAAE,MAAM,OAAO,CAAC,IAAI,CAAC,CAAC;IACvC,aAAa,EAAE,CAAC,SAAS,EAAE,MAAM,KAAK,OAAO,CAAC,IAAI,CAAC,CAAC;IACpD,uBAAuB,EAAE,CAAC,IAAI,EAAE,IAAI,KAAK,OAAO,CAAC,IAAI,CAAC,CAAC;IACvD,iBAAiB,CAAC,EAAE,CAAC,IAAI,EAAE,IAAI,GAAG,IAAI,KAAK,IAAI,CAAC;IAChD,OAAO,CAAC,EAAE,CAAC,KAAK,EAAE,QAAQ,KAAK,IAAI,CAAC;IACpC,YAAY,EAAE,CAAC,IAAI,EAAE,IAAI,KAAK,IAAI,CAAC;IACnC,YAAY,EAAE,CAAC,OAAO,EAAE,MAAM,KAAK,IAAI,CAAC;IACxC,WAAW,EAAE,MAAM,IAAI,CAAC;IACxB,YAAY,EAAE,CAAC,KAAK,EAAE,OAAO,CAAC,SAAS,CAAC,KAAK,IAAI,CAAC;IAClD,MAAM,CAAC,EAAE,CAAC,OAAO,EAAE,MAAM,EAAE,KAAK,CAAC,EAAE,OAAO,KAAK,IAAI,CAAC;CACrD;AAED,MAAM,WAAW,uBAAuB;IACtC,uCAAuC;IACvC,MAAM,EAAE,CAAC,SAAS,EAAE,MAAM,EAAE,UAAU,CAAC,EAAE,MAAM,KAAK,OAAO,CAAC,IAAI,CAAC,CAAC;IAClE,kCAAkC;IAClC,MAAM,EAAE,CAAC,eAAe,CAAC,EAAE,MAAM,KAAK,OAAO,CAAC,IAAI,CAAC,CAAC;IACpD,+BAA+B;IAC/B,SAAS,EAAE,MAAM,OAAO,CAAC,IAAI,CAAC,CAAC;CAChC;AAMD;;;GAGG;AACH,eAAO,MAAM,iBAAiB,GAAI,qQAkB/B,wBAAwB,KAAG,uBAoT7B,CAAC"}
1
+ {"version":3,"file":"useAuthOperations.d.ts","sourceRoot":"","sources":["../../../../../../src/ui/context/hooks/useAuthOperations.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,QAAQ,EAAE,IAAI,EAAE,MAAM,aAAa,CAAC;AAClD,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,wBAAwB,CAAC;AACxD,OAAO,KAAK,EAAE,aAAa,EAAwB,MAAM,aAAa,CAAC;AAIvE,OAAO,KAAK,EAAE,gBAAgB,EAAE,MAAM,4BAA4B,CAAC;AACnE,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,aAAa,CAAC;AAQ/C,MAAM,WAAW,wBAAwB;IACvC,WAAW,EAAE,WAAW,CAAC;IACzB,OAAO,EAAE,gBAAgB,GAAG,IAAI,CAAC;IACjC,QAAQ,EAAE,aAAa,EAAE,CAAC;IAC1B,eAAe,EAAE,MAAM,GAAG,IAAI,CAAC;IAC/B,kBAAkB,EAAE,CAAC,SAAS,EAAE,MAAM,GAAG,IAAI,KAAK,IAAI,CAAC;IACvD,cAAc,EAAE,CAAC,QAAQ,EAAE,aAAa,EAAE,EAAE,OAAO,CAAC,EAAE;QAAE,KAAK,CAAC,EAAE,OAAO,CAAA;KAAE,KAAK,IAAI,CAAC;IACnF,mBAAmB,EAAE,CAAC,SAAS,EAAE,MAAM,KAAK,OAAO,CAAC,IAAI,CAAC,CAAC;IAC1D,iBAAiB,EAAE,MAAM,OAAO,CAAC,IAAI,CAAC,CAAC;IACvC,aAAa,EAAE,CAAC,SAAS,EAAE,MAAM,KAAK,OAAO,CAAC,IAAI,CAAC,CAAC;IACpD,uBAAuB,EAAE,CAAC,IAAI,EAAE,IAAI,KAAK,OAAO,CAAC,IAAI,CAAC,CAAC;IACvD,iBAAiB,CAAC,EAAE,CAAC,IAAI,EAAE,IAAI,GAAG,IAAI,KAAK,IAAI,CAAC;IAChD,OAAO,CAAC,EAAE,CAAC,KAAK,EAAE,QAAQ,KAAK,IAAI,CAAC;IACpC,YAAY,EAAE,CAAC,IAAI,EAAE,IAAI,KAAK,IAAI,CAAC;IACnC,YAAY,EAAE,CAAC,OAAO,EAAE,MAAM,KAAK,IAAI,CAAC;IACxC,WAAW,EAAE,MAAM,IAAI,CAAC;IACxB,YAAY,EAAE,CAAC,KAAK,EAAE,OAAO,CAAC,SAAS,CAAC,KAAK,IAAI,CAAC;IAClD,MAAM,CAAC,EAAE,CAAC,OAAO,EAAE,MAAM,EAAE,KAAK,CAAC,EAAE,OAAO,KAAK,IAAI,CAAC;CACrD;AAED,MAAM,WAAW,uBAAuB;IACtC,uCAAuC;IACvC,MAAM,EAAE,CAAC,SAAS,EAAE,MAAM,EAAE,UAAU,CAAC,EAAE,MAAM,KAAK,OAAO,CAAC,IAAI,CAAC,CAAC;IAClE,kCAAkC;IAClC,MAAM,EAAE,CAAC,eAAe,CAAC,EAAE,MAAM,KAAK,OAAO,CAAC,IAAI,CAAC,CAAC;IACpD,+BAA+B;IAC/B,SAAS,EAAE,MAAM,OAAO,CAAC,IAAI,CAAC,CAAC;CAChC;AAMD;;;GAGG;AACH,eAAO,MAAM,iBAAiB,GAAI,qQAkB/B,wBAAwB,KAAG,uBAsT7B,CAAC"}
@@ -1 +1 @@
1
- {"version":3,"file":"AccountSwitcherScreen.d.ts","sourceRoot":"","sources":["../../../../../src/ui/screens/AccountSwitcherScreen.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAK,KAAK,MAAM,OAAO,CAAC;AAc/B,OAAO,KAAK,EAAE,eAAe,EAAE,MAAM,qBAAqB,CAAC;AA4B3D,QAAA,MAAM,2BAA2B,EAAE,KAAK,CAAC,EAAE,CAAC,eAAe,CA8gB1D,CAAC;AAmKF,eAAe,2BAA2B,CAAC"}
1
+ {"version":3,"file":"AccountSwitcherScreen.d.ts","sourceRoot":"","sources":["../../../../../src/ui/screens/AccountSwitcherScreen.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAK,KAAK,MAAM,OAAO,CAAC;AAc/B,OAAO,KAAK,EAAE,eAAe,EAAE,MAAM,qBAAqB,CAAC;AA6B3D,QAAA,MAAM,2BAA2B,EAAE,KAAK,CAAC,EAAE,CAAC,eAAe,CA+gB1D,CAAC;AAmKF,eAAe,2BAA2B,CAAC"}
@@ -1 +1 @@
1
- {"version":3,"file":"EditProfileFieldScreen.d.ts","sourceRoot":"","sources":["../../../../../src/ui/screens/EditProfileFieldScreen.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAoD,MAAM,OAAO,CAAC;AAczE,OAAO,KAAK,EAAE,eAAe,EAAE,MAAM,qBAAqB,CAAC;AAW3D;;GAEG;AACH,MAAM,MAAM,gBAAgB,GACtB,aAAa,GACb,UAAU,GACV,OAAO,GACP,KAAK,GACL,OAAO,GACP,SAAS,GACT,UAAU,GACV,UAAU,GACV,WAAW,GACX,OAAO,CAAC;AAmBd,UAAU,2BAA4B,SAAQ,eAAe;IACzD,6BAA6B;IAC7B,SAAS,CAAC,EAAE,gBAAgB,CAAC;CAChC;;AA0nBD,wBAAkD"}
1
+ {"version":3,"file":"EditProfileFieldScreen.d.ts","sourceRoot":"","sources":["../../../../../src/ui/screens/EditProfileFieldScreen.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAoD,MAAM,OAAO,CAAC;AAczE,OAAO,KAAK,EAAE,eAAe,EAAE,MAAM,qBAAqB,CAAC;AAW3D;;GAEG;AACH,MAAM,MAAM,gBAAgB,GACtB,aAAa,GACb,UAAU,GACV,OAAO,GACP,KAAK,GACL,OAAO,GACP,SAAS,GACT,UAAU,GACV,UAAU,GACV,WAAW,GACX,OAAO,CAAC;AAmBd,UAAU,2BAA4B,SAAQ,eAAe;IACzD,6BAA6B;IAC7B,SAAS,CAAC,EAAE,gBAAgB,CAAC;CAChC;;AAynBD,wBAAkD"}
@@ -1 +1 @@
1
- {"version":3,"file":"FeedbackScreen.d.ts","sourceRoot":"","sources":["../../../../../src/ui/screens/FeedbackScreen.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAK,KAAK,MAAM,OAAO,CAAC;AAa/B,OAAO,KAAK,EAAE,eAAe,EAAE,MAAM,qBAAqB,CAAC;AAoB3D,QAAA,MAAM,cAAc,EAAE,KAAK,CAAC,EAAE,CAAC,eAAe,CA8d7C,CAAC;AAEF,eAAe,cAAc,CAAC"}
1
+ {"version":3,"file":"FeedbackScreen.d.ts","sourceRoot":"","sources":["../../../../../src/ui/screens/FeedbackScreen.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAK,KAAK,MAAM,OAAO,CAAC;AAa/B,OAAO,KAAK,EAAE,eAAe,EAAE,MAAM,qBAAqB,CAAC;AAoB3D,QAAA,MAAM,cAAc,EAAE,KAAK,CAAC,EAAE,CAAC,eAAe,CA6d7C,CAAC;AAEF,eAAe,cAAc,CAAC"}
@@ -1,5 +1,6 @@
1
1
  import type { ReactNode, RefObject } from 'react';
2
2
  import type { QueryClient } from '@tanstack/react-query';
3
+ import type { ThemeMode, AppColorName } from '@oxyhq/bloom';
3
4
  import type { RouteName } from '../navigation/routes';
4
5
  export type { RouteName };
5
6
  export interface StepController {
@@ -33,5 +34,7 @@ export interface OxyProviderProps {
33
34
  authWebUrl?: string;
34
35
  authRedirectUri?: string;
35
36
  queryClient?: QueryClient;
37
+ themeMode?: ThemeMode;
38
+ colorPreset?: AppColorName;
36
39
  }
37
40
  //# sourceMappingURL=navigation.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"navigation.d.ts","sourceRoot":"","sources":["../../../../../src/ui/types/navigation.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,SAAS,EAAE,SAAS,EAAE,MAAM,OAAO,CAAC;AAClD,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,uBAAuB,CAAC;AACzD,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,sBAAsB,CAAC;AAKtD,YAAY,EAAE,SAAS,EAAE,CAAC;AAE1B,MAAM,WAAW,cAAc;IAC3B,SAAS,EAAE,MAAM,OAAO,CAAC;IACzB,MAAM,EAAE,MAAM,IAAI,CAAC;CACtB;AAED,MAAM,WAAW,eAAe;IAE5B,QAAQ,CAAC,EAAE,CAAC,MAAM,EAAE,SAAS,EAAE,KAAK,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,KAAK,IAAI,CAAC;IACxE,MAAM,CAAC,EAAE,MAAM,IAAI,CAAC;IACpB,OAAO,CAAC,EAAE,MAAM,IAAI,CAAC;IACrB,eAAe,CAAC,EAAE,CAAC,OAAO,CAAC,EAAE,OAAO,KAAK,IAAI,CAAC;IAG9C,KAAK,CAAC,EAAE,OAAO,GAAG,MAAM,GAAG,MAAM,CAAC;IAGlC,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB,iBAAiB,CAAC,EAAE,SAAS,CAAC,cAAc,GAAG,IAAI,CAAC,CAAC;IACrD,YAAY,CAAC,EAAE,CAAC,WAAW,EAAE,MAAM,EAAE,UAAU,EAAE,MAAM,KAAK,IAAI,CAAC;IAGjE,aAAa,CAAC,EAAE,SAAS,CAAC;IAG1B,QAAQ,CAAC,EAAE,CAAC,CAAC,EAAE,MAAM,EAAE,QAAQ,CAAC,EAAE,OAAO,KAAK,IAAI,CAAC;IAGnD,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB,eAAe,CAAC,EAAE,MAAM,CAAC;IACzB,WAAW,CAAC,EAAE,OAAO,CAAC;IAMtB,CAAC,GAAG,EAAE,MAAM,GAAG,OAAO,CAAC;CAC1B;AAED,MAAM,WAAW,gBAAgB;IAC7B,WAAW,CAAC,EAAE,OAAO,CAAC;IACtB,QAAQ,CAAC,EAAE,SAAS,CAAC;IACrB,iBAAiB,CAAC,EAAE,CAAC,IAAI,EAAE,OAAO,KAAK,IAAI,CAAC;IAC5C,gBAAgB,CAAC,EAAE,MAAM,CAAC;IAC1B,OAAO,CAAC,EAAE,MAAM,CAAC;IACjB,UAAU,CAAC,EAAE,MAAM,CAAC;IACpB,eAAe,CAAC,EAAE,MAAM,CAAC;IACzB,WAAW,CAAC,EAAE,WAAW,CAAC;CAC7B"}
1
+ {"version":3,"file":"navigation.d.ts","sourceRoot":"","sources":["../../../../../src/ui/types/navigation.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,SAAS,EAAE,SAAS,EAAE,MAAM,OAAO,CAAC;AAClD,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,uBAAuB,CAAC;AACzD,OAAO,KAAK,EAAE,SAAS,EAAE,YAAY,EAAE,MAAM,cAAc,CAAC;AAC5D,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,sBAAsB,CAAC;AAKtD,YAAY,EAAE,SAAS,EAAE,CAAC;AAE1B,MAAM,WAAW,cAAc;IAC3B,SAAS,EAAE,MAAM,OAAO,CAAC;IACzB,MAAM,EAAE,MAAM,IAAI,CAAC;CACtB;AAED,MAAM,WAAW,eAAe;IAE5B,QAAQ,CAAC,EAAE,CAAC,MAAM,EAAE,SAAS,EAAE,KAAK,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,KAAK,IAAI,CAAC;IACxE,MAAM,CAAC,EAAE,MAAM,IAAI,CAAC;IACpB,OAAO,CAAC,EAAE,MAAM,IAAI,CAAC;IACrB,eAAe,CAAC,EAAE,CAAC,OAAO,CAAC,EAAE,OAAO,KAAK,IAAI,CAAC;IAG9C,KAAK,CAAC,EAAE,OAAO,GAAG,MAAM,GAAG,MAAM,CAAC;IAGlC,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB,iBAAiB,CAAC,EAAE,SAAS,CAAC,cAAc,GAAG,IAAI,CAAC,CAAC;IACrD,YAAY,CAAC,EAAE,CAAC,WAAW,EAAE,MAAM,EAAE,UAAU,EAAE,MAAM,KAAK,IAAI,CAAC;IAGjE,aAAa,CAAC,EAAE,SAAS,CAAC;IAG1B,QAAQ,CAAC,EAAE,CAAC,CAAC,EAAE,MAAM,EAAE,QAAQ,CAAC,EAAE,OAAO,KAAK,IAAI,CAAC;IAGnD,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB,eAAe,CAAC,EAAE,MAAM,CAAC;IACzB,WAAW,CAAC,EAAE,OAAO,CAAC;IAMtB,CAAC,GAAG,EAAE,MAAM,GAAG,OAAO,CAAC;CAC1B;AAED,MAAM,WAAW,gBAAgB;IAC7B,WAAW,CAAC,EAAE,OAAO,CAAC;IACtB,QAAQ,CAAC,EAAE,SAAS,CAAC;IACrB,iBAAiB,CAAC,EAAE,CAAC,IAAI,EAAE,OAAO,KAAK,IAAI,CAAC;IAC5C,gBAAgB,CAAC,EAAE,MAAM,CAAC;IAC1B,OAAO,CAAC,EAAE,MAAM,CAAC;IACjB,UAAU,CAAC,EAAE,MAAM,CAAC;IACpB,eAAe,CAAC,EAAE,MAAM,CAAC;IACzB,WAAW,CAAC,EAAE,WAAW,CAAC;IAC1B,SAAS,CAAC,EAAE,SAAS,CAAC;IACtB,WAAW,CAAC,EAAE,YAAY,CAAC;CAC9B"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@oxyhq/services",
3
- "version": "6.9.41",
3
+ "version": "6.9.43",
4
4
  "description": "OxyHQ Expo/React Native SDK — UI components, screens, and native features",
5
5
  "main": "lib/commonjs/index.js",
6
6
  "module": "lib/module/index.js",
@@ -71,7 +71,7 @@
71
71
  },
72
72
  "dependencies": {
73
73
  "@lottiefiles/dotlottie-react": "^0.13.5",
74
- "@oxyhq/bloom": "0.1.24",
74
+ "@oxyhq/bloom": "0.1.25",
75
75
  "@oxyhq/core": "*",
76
76
  "@react-native-async-storage/async-storage": "2.2.0",
77
77
  "@react-native-community/netinfo": "^11.4.1",
@@ -107,7 +107,6 @@
107
107
  "@types/node": "^20.19.9",
108
108
  "expo-file-system": "~55.0.10",
109
109
  "expo-font": "~55.0.4",
110
- "expo-haptics": "~55.0.8",
111
110
  "expo-image": "~55.0.6",
112
111
  "expo-linear-gradient": "~55.0.8",
113
112
  "husky": "^4.3.8",
@@ -301,6 +301,7 @@ const BottomSheet = forwardRef((props: BottomSheetProps, ref: React.ForwardedRef
301
301
  sheet: {
302
302
  ...styles.sheet,
303
303
  ...(detached ? styles.sheetDetached : styles.sheetNormal),
304
+ backgroundColor: theme.colors.background,
304
305
  },
305
306
  scrollContent: {
306
307
  ...styles.scrollContent,
@@ -308,7 +309,7 @@ const BottomSheet = forwardRef((props: BottomSheetProps, ref: React.ForwardedRef
308
309
  // The sheet extends behind safe area, and screens add padding as needed
309
310
  },
310
311
  });
311
- }, [theme.colors.border, theme.colors.borderLight, theme.isDark, detached]);
312
+ }, [theme.colors.background, theme.colors.border, theme.colors.borderLight, theme.isDark, detached]);
312
313
 
313
314
  if (!rendered) return null;
314
315
 
@@ -326,7 +327,7 @@ const BottomSheet = forwardRef((props: BottomSheetProps, ref: React.ForwardedRef
326
327
  </Animated.View>
327
328
 
328
329
  <GestureDetector gesture={panGesture}>
329
- <Animated.View className="bg-background" style={[dynamicStyles.sheet, sheetMarginStyle, sheetStyle, sheetHeightStyle]}>
330
+ <Animated.View style={[dynamicStyles.sheet, sheetMarginStyle, sheetStyle, sheetHeightStyle]}>
330
331
  {backgroundComponent?.({ style: styles.background })}
331
332
 
332
333
  <View style={dynamicStyles.handle} />
@@ -188,9 +188,9 @@ const BottomSheetRouter: React.FC<BottomSheetRouterProps> = ({ onScreenChange, o
188
188
 
189
189
  const renderBackground = useCallback(
190
190
  (props: { style?: StyleProp<ViewStyle> }) => (
191
- <View className="bg-background" style={[styles.background, props.style]} />
191
+ <View style={[styles.background, { backgroundColor: theme.colors.background }, props.style]} />
192
192
  ),
193
- []
193
+ [theme.colors.background]
194
194
  );
195
195
 
196
196
  const screenPropsValue = useMemo((): BaseScreenProps & { scrollTo: typeof scrollTo } => {
@@ -1,9 +1,9 @@
1
- import type React from 'react';
2
- import { useEffect, useRef, useState, type FC } from 'react';
1
+ import { lazy, Suspense, useEffect, useRef, useState, type ComponentType, type FC, type ReactNode } from 'react';
3
2
  import { AppState, Platform } from 'react-native';
4
3
  import type { OxyProviderProps } from '../types/navigation';
5
4
  import { OxyContextProvider, type OxyContextProviderProps } from '../context/OxyContext';
6
5
  import { QueryClientProvider, focusManager, onlineManager } from '@tanstack/react-query';
6
+ import { BloomThemeProvider } from '@oxyhq/bloom';
7
7
  import { setupFonts } from './FontLoader';
8
8
  import { Toaster } from '../../lib/sonner';
9
9
  import { createQueryClient } from '../hooks/queryClient';
@@ -15,39 +15,27 @@ setupFonts();
15
15
  // Detect if running on web
16
16
  const isWeb = Platform.OS === 'web';
17
17
 
18
- // Conditionally import components
19
- let KeyboardProvider: React.FC<{ children: React.ReactNode }> = ({ children }) => <>{children}</>;
20
- let BottomSheetRouter: React.ComponentType | null = null;
21
- let SignInModal: React.ComponentType | null = null;
22
-
23
- // KeyboardProvider only on native
24
- if (!isWeb) {
25
- try {
26
- KeyboardProvider = require('react-native-keyboard-controller').KeyboardProvider;
27
- } catch {
28
- // KeyboardProvider not available
29
- }
30
- }
31
-
32
- // BottomSheetRouter works on all platforms
33
- try {
34
- BottomSheetRouter = require('./BottomSheetRouter').default;
35
- } catch (error) {
36
- if (__DEV__) {
37
- console.error('[OxyProvider] Failed to load BottomSheetRouter:', error);
38
- }
39
- }
40
-
41
- // SignInModal works on all platforms
42
- try {
43
- SignInModal = require('./SignInModal').default;
44
- } catch {
45
- // SignInModal not available
46
- }
47
-
48
- if (__DEV__ && !BottomSheetRouter) {
49
- console.warn('[OxyProvider] BottomSheetRouter is null — bottom sheet navigation will not work. Check that BottomSheetRouter.tsx and its dependencies are importable.');
50
- }
18
+ // Lazy-load optional components (avoids require() for ESM compatibility).
19
+ // The .then() extracts + casts the default export so that `lazy()` sees
20
+ // `Promise<{ default: ComponentType }>` instead of the full module namespace.
21
+ const LazyBottomSheetRouter = lazy((): Promise<{ default: ComponentType }> =>
22
+ import('./BottomSheetRouter.js').then(
23
+ (mod) => ({ default: mod.default as unknown as ComponentType }),
24
+ (error) => {
25
+ if (__DEV__) {
26
+ console.error('[OxyProvider] Failed to load BottomSheetRouter:', error);
27
+ }
28
+ return { default: (() => null) as FC };
29
+ },
30
+ ),
31
+ );
32
+
33
+ const LazySignInModal = lazy((): Promise<{ default: ComponentType }> =>
34
+ import('./SignInModal.js').then(
35
+ (mod) => ({ default: mod.default as unknown as ComponentType }),
36
+ () => ({ default: (() => null) as FC }),
37
+ ),
38
+ );
51
39
 
52
40
  /**
53
41
  * OxyProvider - Universal provider for Expo apps (native + web)
@@ -91,8 +79,21 @@ const OxyProvider: FC<OxyProviderProps> = ({
91
79
  authWebUrl,
92
80
  authRedirectUri,
93
81
  queryClient: providedQueryClient,
82
+ themeMode = 'system',
83
+ colorPreset,
94
84
  }) => {
95
85
 
86
+ // Dynamic KeyboardProvider for native (avoids require() for ESM compatibility)
87
+ const [KBProvider, setKBProvider] = useState<FC<{ children: ReactNode }> | null>(null);
88
+ useEffect(() => {
89
+ if (isWeb) return;
90
+ const moduleName = 'react-native-keyboard-controller';
91
+ import(/* webpackIgnore: true */ moduleName)
92
+ .then((mod) => setKBProvider(() => mod.KeyboardProvider))
93
+ .catch(() => { /* KeyboardProvider not available */ });
94
+ }, []);
95
+ const KeyboardWrapper: FC<{ children: ReactNode }> = KBProvider ?? (({ children }) => <>{children}</>);
96
+
96
97
  // Simple storage initialization for query persistence
97
98
  const storageRef = useRef<StorageInterface | null>(null);
98
99
  const queryClientRef = useRef<ReturnType<typeof createQueryClient> | null>(null);
@@ -218,26 +219,30 @@ const OxyProvider: FC<OxyProviderProps> = ({
218
219
  // Core content: QueryClient + OxyContext + UI overlays
219
220
  const coreContent = (
220
221
  <QueryClientProvider client={queryClient}>
221
- <OxyContextProvider
222
- oxyServices={oxyServices as OxyContextProviderProps['oxyServices']}
223
- baseURL={baseURL}
224
- authWebUrl={authWebUrl}
225
- authRedirectUri={authRedirectUri}
226
- storageKeyPrefix={storageKeyPrefix}
227
- onAuthStateChange={onAuthStateChange as OxyContextProviderProps['onAuthStateChange']}
228
- >
229
- {children}
230
- {BottomSheetRouter && <BottomSheetRouter />}
231
- {SignInModal && <SignInModal />}
232
- <Toaster />
233
- </OxyContextProvider>
222
+ <BloomThemeProvider mode={themeMode} colorPreset={colorPreset}>
223
+ <OxyContextProvider
224
+ oxyServices={oxyServices as OxyContextProviderProps['oxyServices']}
225
+ baseURL={baseURL}
226
+ authWebUrl={authWebUrl}
227
+ authRedirectUri={authRedirectUri}
228
+ storageKeyPrefix={storageKeyPrefix}
229
+ onAuthStateChange={onAuthStateChange as OxyContextProviderProps['onAuthStateChange']}
230
+ >
231
+ {children}
232
+ <Suspense fallback={null}>
233
+ <LazyBottomSheetRouter />
234
+ <LazySignInModal />
235
+ </Suspense>
236
+ <Toaster />
237
+ </OxyContextProvider>
238
+ </BloomThemeProvider>
234
239
  </QueryClientProvider>
235
240
  );
236
241
 
237
242
  return (
238
- <KeyboardProvider>
243
+ <KeyboardWrapper>
239
244
  {coreContent}
240
- </KeyboardProvider>
245
+ </KeyboardWrapper>
241
246
  );
242
247
  };
243
248
 
@@ -288,7 +288,7 @@ const SignInModal: React.FC = () => {
288
288
  try {
289
289
  const url = new URL(baseURL);
290
290
  if (url.port === '3001') {
291
- url.port = '3000';
291
+ url.port = '3002';
292
292
  authWebUrl = url.origin;
293
293
  } else if (url.hostname.startsWith('api.')) {
294
294
  url.hostname = `auth.${url.hostname.slice(4)}`;
@@ -36,7 +36,7 @@ export const FileDetailsModal: React.FC<FileDetailsModalProps> = ({
36
36
  presentationStyle="pageSheet"
37
37
  onRequestClose={onClose}
38
38
  >
39
- <View className="bg-background" style={fileManagementStyles.modalContainer}>
39
+ <View style={[fileManagementStyles.modalContainer, { backgroundColor: colors.background }]}>
40
40
  <View className="border-b border-border" style={fileManagementStyles.modalHeader}>
41
41
  <TouchableOpacity
42
42
  style={fileManagementStyles.modalCloseButton}
@@ -40,7 +40,7 @@ const UploadPreviewContent: React.FC<{
40
40
  const totalSize = pendingFiles.reduce((sum, f) => sum + f.size, 0);
41
41
 
42
42
  return (
43
- <View className="bg-background" style={fileManagementStyles.uploadPreviewContainer}>
43
+ <View style={[fileManagementStyles.uploadPreviewContainer, { backgroundColor: colors.background }]}>
44
44
  <View className="border-b border-border" style={fileManagementStyles.uploadPreviewHeader}>
45
45
  <Text className="text-foreground" style={fileManagementStyles.uploadPreviewTitle}>
46
46
  Review Files ({pendingFiles.length})
@@ -78,7 +78,7 @@ const DeleteAccountModal: React.FC<DeleteAccountModalProps> = ({
78
78
  activeOpacity={1}
79
79
  onPress={handleClose}
80
80
  />
81
- <View className="bg-background" style={styles.modal}>
81
+ <View style={[styles.modal, { backgroundColor: theme.colors.background }]}>
82
82
  <View style={styles.header}>
83
83
  <OxyIcon name="alert" size={32} color={theme.colors.error} />
84
84
  <Text className="text-destructive" style={styles.title}>
@@ -10,7 +10,7 @@ import {
10
10
  type ReactNode,
11
11
  } from 'react';
12
12
  import { OxyServices } from '@oxyhq/core';
13
- import type { User, ApiError } from '@oxyhq/core';
13
+ import type { User, ApiError, SessionLoginResponse } from '@oxyhq/core';
14
14
  import { KeyManager } from '@oxyhq/core';
15
15
  import type { ClientSession } from '@oxyhq/core';
16
16
  import { toast } from '../../lib/sonner';
@@ -58,13 +58,7 @@ export interface OxyContextState {
58
58
  * Handle session from popup authentication
59
59
  * Updates auth state, persists session to storage
60
60
  */
61
- handlePopupSession: (session: {
62
- sessionId: string;
63
- accessToken?: string;
64
- expiresAt?: string;
65
- user: User;
66
- deviceId?: string;
67
- }) => Promise<void>;
61
+ handlePopupSession: (session: SessionLoginResponse) => Promise<void>;
68
62
 
69
63
  // Session management
70
64
  logout: (targetSessionId?: string) => Promise<void>;
@@ -86,6 +80,7 @@ export interface OxyContextState {
86
80
  updateDeviceName: (deviceName: string) => Promise<void>;
87
81
  clearSessionState: () => Promise<void>;
88
82
  clearAllAccountData: () => Promise<void>;
83
+ storageKeyPrefix: string;
89
84
  oxyServices: OxyServices;
90
85
  useFollow?: UseFollowHook;
91
86
  showBottomSheet?: (screenOrConfig: RouteName | { screen: RouteName; props?: Record<string, unknown> }) => void;
@@ -450,7 +445,7 @@ export const OxyProvider: React.FC<OxyContextProviderProps> = ({
450
445
 
451
446
  // Web SSO: Automatically check for cross-domain session on web platforms
452
447
  // Also used for popup auth - updates all state and persists session
453
- const handleWebSSOSession = useCallback(async (session: any) => {
448
+ const handleWebSSOSession = useCallback(async (session: SessionLoginResponse) => {
454
449
  if (!session?.user || !session?.sessionId) {
455
450
  if (__DEV__) {
456
451
  loggerUtil.warn('handleWebSSOSession: Invalid session', { component: 'OxyContext' });
@@ -476,8 +471,19 @@ export const OxyProvider: React.FC<OxyContextProviderProps> = ({
476
471
 
477
472
  updateSessions([clientSession], { merge: true });
478
473
  setActiveSessionId(session.sessionId);
479
- loginSuccess(session.user);
480
- onAuthStateChange?.(session.user);
474
+
475
+ // Fetch the full user profile now that we have a valid access token.
476
+ // The session only carries MinimalUserData; the store and callbacks expect a full User.
477
+ let fullUser: User;
478
+ try {
479
+ fullUser = await oxyServices.getCurrentUser();
480
+ } catch {
481
+ // If the profile fetch fails, fall back to the minimal data from the session
482
+ // so the user is still logged in (the store accepts User, but the shapes overlap at runtime).
483
+ fullUser = session.user as unknown as User;
484
+ }
485
+ loginSuccess(fullUser);
486
+ onAuthStateChange?.(fullUser);
481
487
 
482
488
  // Persist to storage
483
489
  if (storage) {
@@ -567,7 +573,7 @@ export const OxyProvider: React.FC<OxyContextProviderProps> = ({
567
573
  pendingIdPCleanupRef.current?.();
568
574
  pendingIdPCleanupRef.current = null;
569
575
  };
570
- }, [user, initialized, clearSessionState]);
576
+ }, [user, initialized, clearSessionState, authWebUrl]);
571
577
 
572
578
  const activeSession = activeSessionId
573
579
  ? sessions.find((session) => session.sessionId === activeSessionId)
@@ -667,6 +673,7 @@ export const OxyProvider: React.FC<OxyContextProviderProps> = ({
667
673
  updateDeviceName,
668
674
  clearSessionState,
669
675
  clearAllAccountData,
676
+ storageKeyPrefix,
670
677
  oxyServices,
671
678
  useFollow: useFollowHook,
672
679
  showBottomSheet: showBottomSheetForContext,
@@ -689,6 +696,7 @@ export const OxyProvider: React.FC<OxyContextProviderProps> = ({
689
696
  logoutAll,
690
697
  logoutAllDeviceSessions,
691
698
  oxyServices,
699
+ storageKeyPrefix,
692
700
  refreshSessionsWithUser,
693
701
  sessions,
694
702
  setLanguage,
@@ -742,6 +750,7 @@ const LOADING_STATE: OxyContextState = {
742
750
  updateDeviceName: noop,
743
751
  clearSessionState: noop,
744
752
  clearAllAccountData: noop,
753
+ storageKeyPrefix: 'oxy_session',
745
754
  oxyServices: null as any,
746
755
  openAvatarPicker: () => {},
747
756
  };
@@ -8,7 +8,6 @@ import { handleAuthError, isInvalidSessionError } from '../../utils/errorHandler
8
8
  import type { StorageInterface } from '../../utils/storageHelpers';
9
9
  import type { OxyServices } from '@oxyhq/core';
10
10
  import { SignatureService } from '@oxyhq/core';
11
- import * as Crypto from 'expo-crypto';
12
11
 
13
12
  /** Type guard for error objects with optional code and status properties */
14
13
  function isErrorWithCodeOrStatus(error: unknown): error is { code?: string; status?: number; message?: string } {
@@ -133,6 +132,8 @@ export const useAuthOperations = ({
133
132
  }
134
133
 
135
134
  // Generate a local session ID using cryptographically secure randomness
135
+ const cryptoModule = 'expo-crypto';
136
+ const Crypto = await import(/* webpackIgnore: true */ cryptoModule);
136
137
  const localSessionId = `offline_${Crypto.getRandomUUID()}`;
137
138
  const localDeviceId = `device_${Crypto.getRandomUUID()}`;
138
139
  const expiresAt = new Date(Date.now() + 7 * 24 * 60 * 60 * 1000).toISOString(); // 7 days
@@ -65,7 +65,7 @@ const AccountCenterScreen: React.FC<BaseScreenProps> = ({
65
65
 
66
66
  if (!isAuthenticated) {
67
67
  return (
68
- <View style={styles.container} className="bg-background">
68
+ <View style={[styles.container, { backgroundColor: bloomTheme.colors.background }]}>
69
69
  <Text style={styles.message} className="text-foreground">{t('common.status.notSignedIn') || 'Not signed in'}</Text>
70
70
  </View>
71
71
  );
@@ -73,14 +73,14 @@ const AccountCenterScreen: React.FC<BaseScreenProps> = ({
73
73
 
74
74
  if (isLoading) {
75
75
  return (
76
- <View style={[styles.container, { justifyContent: 'center' }]} className="bg-background">
76
+ <View style={[styles.container, { justifyContent: 'center', backgroundColor: bloomTheme.colors.background }]}>
77
77
  <ActivityIndicator size="large" color={bloomTheme.colors.primary} />
78
78
  </View>
79
79
  );
80
80
  }
81
81
 
82
82
  return (
83
- <View style={styles.container} className="bg-background">
83
+ <View style={[styles.container, { backgroundColor: bloomTheme.colors.background }]}>
84
84
  {/* Header with user profile */}
85
85
  {user && (
86
86
  <ProfileCard
@@ -320,7 +320,7 @@ const AccountOverviewScreen: React.FC<BaseScreenProps> = ({
320
320
 
321
321
  if (!isAuthenticated) {
322
322
  return (
323
- <View style={styles.container} className="bg-background">
323
+ <View style={[styles.container, { backgroundColor: bloomTheme.colors.background }]}>
324
324
  <Text style={styles.message} className="text-foreground">{t('common.status.notSignedIn')}</Text>
325
325
  </View>
326
326
  );
@@ -328,7 +328,7 @@ const AccountOverviewScreen: React.FC<BaseScreenProps> = ({
328
328
 
329
329
  if (isLoading) {
330
330
  return (
331
- <View style={[styles.container, { justifyContent: 'center' }]} className="bg-background">
331
+ <View style={[styles.container, { justifyContent: 'center', backgroundColor: bloomTheme.colors.background }]}>
332
332
  <ActivityIndicator size="large" color={themeColors.primaryColor} />
333
333
  </View>
334
334
  );
@@ -336,7 +336,7 @@ const AccountOverviewScreen: React.FC<BaseScreenProps> = ({
336
336
 
337
337
 
338
338
  return (
339
- <View style={styles.container} className="bg-background">
339
+ <View style={[styles.container, { backgroundColor: bloomTheme.colors.background }]}>
340
340
  <ScrollView
341
341
  style={styles.content}
342
342
  contentContainerStyle={styles.scrollContent}
@@ -316,14 +316,14 @@ const AccountSettingsScreen: React.FC<BaseScreenProps & { initialField?: string;
316
316
 
317
317
  if (userLoading || !isAuthenticated) {
318
318
  return (
319
- <View style={[styles.container, { justifyContent: 'center' }]} className="bg-background">
319
+ <View style={[styles.container, { justifyContent: 'center', backgroundColor: bloomTheme.colors.background }]}>
320
320
  <ActivityIndicator size="large" color={bloomTheme.colors.primary} />
321
321
  </View>
322
322
  );
323
323
  }
324
324
 
325
325
  return (
326
- <View style={styles.container} className="bg-background">
326
+ <View style={[styles.container, { backgroundColor: bloomTheme.colors.background }]}>
327
327
  <ScrollView
328
328
  ref={scrollViewRef}
329
329
  style={styles.content}
@@ -23,6 +23,7 @@ import { Ionicons } from '@expo/vector-icons';
23
23
  import Avatar from '../components/Avatar';
24
24
  import { Header, GroupedSection, LoadingState } from '../components';
25
25
  import { useI18n } from '../hooks/useI18n';
26
+ import { useTheme } from '@oxyhq/bloom/theme';
26
27
  import { useOxy } from '../context/OxyContext';
27
28
 
28
29
  interface SessionWithUser extends ClientSession {
@@ -46,6 +47,7 @@ const ModernAccountSwitcherScreen: React.FC<BaseScreenProps> = ({
46
47
  navigate,
47
48
  goBack,
48
49
  }) => {
50
+ const bloomTheme = useTheme();
49
51
  // Use useOxy() hook for OxyContext values
50
52
  const {
51
53
  oxyServices,
@@ -287,7 +289,7 @@ const ModernAccountSwitcherScreen: React.FC<BaseScreenProps> = ({
287
289
  );
288
290
 
289
291
  return (
290
- <View style={styles.container} className="bg-background">
292
+ <View style={[styles.container, { backgroundColor: bloomTheme.colors.background }]}>
291
293
  {/* Header */}
292
294
  <Header
293
295
  title={t('accountSwitcher.title') || 'Account Switcher'}