@oxyhq/services 5.14.0 → 5.15.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 (1157) hide show
  1. package/README.md +130 -54
  2. package/lib/commonjs/assets/assets/lottie/welcomeheader_background_op1.json +1 -0
  3. package/lib/commonjs/assets/lottie/welcomeheader_background_op1.json +1 -0
  4. package/lib/commonjs/core/HttpService.js +94 -4
  5. package/lib/commonjs/core/HttpService.js.map +1 -1
  6. package/lib/commonjs/core/OxyServices.base.js +3 -1
  7. package/lib/commonjs/core/OxyServices.base.js.map +1 -1
  8. package/lib/commonjs/core/mixins/OxyServices.assets.js +213 -22
  9. package/lib/commonjs/core/mixins/OxyServices.assets.js.map +1 -1
  10. package/lib/commonjs/core/mixins/OxyServices.auth.js +70 -99
  11. package/lib/commonjs/core/mixins/OxyServices.auth.js.map +1 -1
  12. package/lib/commonjs/crypto/index.js +33 -0
  13. package/lib/commonjs/crypto/index.js.map +1 -0
  14. package/lib/commonjs/crypto/keyManager.js +208 -0
  15. package/lib/commonjs/crypto/keyManager.js.map +1 -0
  16. package/lib/commonjs/crypto/recoveryPhrase.js +137 -0
  17. package/lib/commonjs/crypto/recoveryPhrase.js.map +1 -0
  18. package/lib/commonjs/crypto/signatureService.js +230 -0
  19. package/lib/commonjs/crypto/signatureService.js.map +1 -0
  20. package/lib/commonjs/i18n/locales/en-US.json +4 -0
  21. package/lib/commonjs/index.js +22 -0
  22. package/lib/commonjs/index.js.map +1 -1
  23. package/lib/commonjs/ui/components/ActivityIndicator.js +203 -0
  24. package/lib/commonjs/ui/components/ActivityIndicator.js.map +1 -0
  25. package/lib/commonjs/ui/components/AutoHeightScrollView.js +46 -0
  26. package/lib/commonjs/ui/components/AutoHeightScrollView.js.map +1 -0
  27. package/lib/commonjs/ui/components/BottomSheet.js +407 -0
  28. package/lib/commonjs/ui/components/BottomSheet.js.map +1 -0
  29. package/lib/commonjs/ui/components/BottomSheetRouter.js +366 -0
  30. package/lib/commonjs/ui/components/BottomSheetRouter.js.map +1 -0
  31. package/lib/commonjs/ui/components/CrossFadeIcon.js +106 -0
  32. package/lib/commonjs/ui/components/CrossFadeIcon.js.map +1 -0
  33. package/lib/commonjs/ui/components/EmptyState.js +41 -0
  34. package/lib/commonjs/ui/components/EmptyState.js.map +1 -0
  35. package/lib/commonjs/ui/components/GroupedItem.js +87 -82
  36. package/lib/commonjs/ui/components/GroupedItem.js.map +1 -1
  37. package/lib/commonjs/ui/components/GroupedSection.js +25 -25
  38. package/lib/commonjs/ui/components/GroupedSection.js.map +1 -1
  39. package/lib/commonjs/ui/components/Header.js +111 -47
  40. package/lib/commonjs/ui/components/Header.js.map +1 -1
  41. package/lib/commonjs/ui/components/HelperText.js +103 -0
  42. package/lib/commonjs/ui/components/HelperText.js.map +1 -0
  43. package/lib/commonjs/ui/components/Icon.js +109 -0
  44. package/lib/commonjs/ui/components/Icon.js.map +1 -0
  45. package/lib/commonjs/ui/components/IconButton/IconButton.js +159 -0
  46. package/lib/commonjs/ui/components/IconButton/IconButton.js.map +1 -0
  47. package/lib/commonjs/ui/components/IconButton/utils.js +155 -0
  48. package/lib/commonjs/ui/components/IconButton/utils.js.map +1 -0
  49. package/lib/commonjs/ui/components/LoadingState.js +47 -0
  50. package/lib/commonjs/ui/components/LoadingState.js.map +1 -0
  51. package/lib/commonjs/ui/components/OxyPayButton.js +1 -14
  52. package/lib/commonjs/ui/components/OxyPayButton.js.map +1 -1
  53. package/lib/commonjs/ui/components/OxyProvider.js +41 -391
  54. package/lib/commonjs/ui/components/OxyProvider.js.map +1 -1
  55. package/lib/commonjs/ui/components/OxySignInButton.js +9 -13
  56. package/lib/commonjs/ui/components/OxySignInButton.js.map +1 -1
  57. package/lib/commonjs/ui/components/ProfileCard.js +7 -4
  58. package/lib/commonjs/ui/components/ProfileCard.js.map +1 -1
  59. package/lib/commonjs/ui/components/QuickActions.js +7 -4
  60. package/lib/commonjs/ui/components/QuickActions.js.map +1 -1
  61. package/lib/commonjs/ui/components/Section.js +4 -1
  62. package/lib/commonjs/ui/components/Section.js.map +1 -1
  63. package/lib/commonjs/ui/components/SectionTitle.js +6 -3
  64. package/lib/commonjs/ui/components/SectionTitle.js.map +1 -1
  65. package/lib/commonjs/ui/components/SettingRow.js +77 -0
  66. package/lib/commonjs/ui/components/SettingRow.js.map +1 -0
  67. package/lib/commonjs/ui/components/StepBasedScreen.js +188 -172
  68. package/lib/commonjs/ui/components/StepBasedScreen.js.map +1 -1
  69. package/lib/commonjs/ui/components/Surface.js +258 -0
  70. package/lib/commonjs/ui/components/Surface.js.map +1 -0
  71. package/lib/commonjs/ui/components/TextField/Addons/Outline.js +46 -0
  72. package/lib/commonjs/ui/components/TextField/Addons/Outline.js.map +1 -0
  73. package/lib/commonjs/ui/components/TextField/Addons/Underline.js +53 -0
  74. package/lib/commonjs/ui/components/TextField/Addons/Underline.js.map +1 -0
  75. package/lib/commonjs/ui/components/TextField/Adornment/TextFieldAdornment.js +155 -0
  76. package/lib/commonjs/ui/components/TextField/Adornment/TextFieldAdornment.js.map +1 -0
  77. package/lib/commonjs/ui/components/TextField/Adornment/TextFieldAffix.js +144 -0
  78. package/lib/commonjs/ui/components/TextField/Adornment/TextFieldAffix.js.map +1 -0
  79. package/lib/commonjs/ui/components/TextField/Adornment/TextFieldIcon.js +137 -0
  80. package/lib/commonjs/ui/components/TextField/Adornment/TextFieldIcon.js.map +1 -0
  81. package/lib/commonjs/ui/components/TextField/Adornment/enums.js +22 -0
  82. package/lib/commonjs/ui/components/TextField/Adornment/enums.js.map +1 -0
  83. package/lib/commonjs/ui/components/TextField/Adornment/types.js +6 -0
  84. package/lib/commonjs/ui/components/TextField/Adornment/types.js.map +1 -0
  85. package/lib/commonjs/ui/components/TextField/Adornment/utils.js +62 -0
  86. package/lib/commonjs/ui/components/TextField/Adornment/utils.js.map +1 -0
  87. package/lib/commonjs/ui/components/TextField/Label/InputLabel.js +176 -0
  88. package/lib/commonjs/ui/components/TextField/Label/InputLabel.js.map +1 -0
  89. package/lib/commonjs/ui/components/TextField/Label/LabelBackground.js +84 -0
  90. package/lib/commonjs/ui/components/TextField/Label/LabelBackground.js.map +1 -0
  91. package/lib/commonjs/ui/components/TextField/TextFieldFlat.js +377 -0
  92. package/lib/commonjs/ui/components/TextField/TextFieldFlat.js.map +1 -0
  93. package/lib/commonjs/ui/components/TextField/TextFieldOutlined.js +361 -0
  94. package/lib/commonjs/ui/components/TextField/TextFieldOutlined.js.map +1 -0
  95. package/lib/commonjs/ui/components/TextField/constants.js +50 -0
  96. package/lib/commonjs/ui/components/TextField/constants.js.map +1 -0
  97. package/lib/commonjs/ui/components/TextField/helpers.js +490 -0
  98. package/lib/commonjs/ui/components/TextField/helpers.js.map +1 -0
  99. package/lib/commonjs/ui/components/TextField/types.js +6 -0
  100. package/lib/commonjs/ui/components/TextField/types.js.map +1 -0
  101. package/lib/commonjs/ui/components/TextField.js +339 -0
  102. package/lib/commonjs/ui/components/TextField.js.map +1 -0
  103. package/lib/commonjs/ui/components/TouchableRipple/Pressable.js +12 -0
  104. package/lib/commonjs/ui/components/TouchableRipple/Pressable.js.map +1 -0
  105. package/lib/commonjs/ui/components/TouchableRipple/TouchableRipple.js +258 -0
  106. package/lib/commonjs/ui/components/TouchableRipple/TouchableRipple.js.map +1 -0
  107. package/lib/commonjs/ui/components/TouchableRipple/TouchableRipple.native.js +107 -0
  108. package/lib/commonjs/ui/components/TouchableRipple/TouchableRipple.native.js.map +1 -0
  109. package/lib/commonjs/ui/components/TouchableRipple/utils.js +56 -0
  110. package/lib/commonjs/ui/components/TouchableRipple/utils.js.map +1 -0
  111. package/lib/commonjs/ui/components/Typography/AnimatedText.js +62 -0
  112. package/lib/commonjs/ui/components/Typography/AnimatedText.js.map +1 -0
  113. package/lib/commonjs/ui/components/Typography/types.js +26 -0
  114. package/lib/commonjs/ui/components/Typography/types.js.map +1 -0
  115. package/lib/commonjs/ui/components/fileManagement/FileDetailsModal.js +171 -0
  116. package/lib/commonjs/ui/components/fileManagement/FileDetailsModal.js.map +1 -0
  117. package/lib/commonjs/ui/components/fileManagement/FileViewer.js +409 -0
  118. package/lib/commonjs/ui/components/fileManagement/FileViewer.js.map +1 -0
  119. package/lib/commonjs/ui/components/fileManagement/UploadPreview.js +181 -0
  120. package/lib/commonjs/ui/components/fileManagement/UploadPreview.js.map +1 -0
  121. package/lib/commonjs/ui/components/fileManagement/styles.js +868 -0
  122. package/lib/commonjs/ui/components/fileManagement/styles.js.map +1 -0
  123. package/lib/commonjs/ui/components/index.js +29 -1
  124. package/lib/commonjs/ui/components/index.js.map +1 -1
  125. package/lib/commonjs/ui/components/profile/EditBioModal.js +181 -0
  126. package/lib/commonjs/ui/components/profile/EditBioModal.js.map +1 -0
  127. package/lib/commonjs/ui/components/profile/EditDisplayNameModal.js +207 -0
  128. package/lib/commonjs/ui/components/profile/EditDisplayNameModal.js.map +1 -0
  129. package/lib/commonjs/ui/components/profile/EditEmailModal.js +184 -0
  130. package/lib/commonjs/ui/components/profile/EditEmailModal.js.map +1 -0
  131. package/lib/commonjs/ui/components/profile/EditLinksModal.js +315 -0
  132. package/lib/commonjs/ui/components/profile/EditLinksModal.js.map +1 -0
  133. package/lib/commonjs/ui/components/profile/EditLocationModal.js +273 -0
  134. package/lib/commonjs/ui/components/profile/EditLocationModal.js.map +1 -0
  135. package/lib/commonjs/ui/components/profile/EditUsernameModal.js +180 -0
  136. package/lib/commonjs/ui/components/profile/EditUsernameModal.js.map +1 -0
  137. package/lib/commonjs/ui/components/profile/TwoFactorSetupModal.js +467 -0
  138. package/lib/commonjs/ui/components/profile/TwoFactorSetupModal.js.map +1 -0
  139. package/lib/commonjs/ui/components/styles/overlay.js +85 -0
  140. package/lib/commonjs/ui/components/styles/overlay.js.map +1 -0
  141. package/lib/commonjs/ui/components/styles/shadow.js +132 -0
  142. package/lib/commonjs/ui/components/styles/shadow.js.map +1 -0
  143. package/lib/commonjs/ui/components/theming.js +116 -0
  144. package/lib/commonjs/ui/components/theming.js.map +1 -0
  145. package/lib/commonjs/ui/components/types.js +2 -0
  146. package/lib/commonjs/ui/components/types.js.map +1 -0
  147. package/lib/commonjs/ui/components/utils/forwardRef.js +18 -0
  148. package/lib/commonjs/ui/components/utils/forwardRef.js.map +1 -0
  149. package/lib/commonjs/ui/components/utils/hasTouchHandler.js +13 -0
  150. package/lib/commonjs/ui/components/utils/hasTouchHandler.js.map +1 -0
  151. package/lib/commonjs/ui/components/utils/roundLayoutSize.js +9 -0
  152. package/lib/commonjs/ui/components/utils/roundLayoutSize.js.map +1 -0
  153. package/lib/commonjs/ui/components/utils/splitStyles.js +50 -0
  154. package/lib/commonjs/ui/components/utils/splitStyles.js.map +1 -0
  155. package/lib/commonjs/ui/constants/iconColors.js +84 -0
  156. package/lib/commonjs/ui/constants/iconColors.js.map +1 -0
  157. package/lib/commonjs/ui/constants/spacing.js +50 -0
  158. package/lib/commonjs/ui/constants/spacing.js.map +1 -0
  159. package/lib/commonjs/ui/constants/theme.js +123 -0
  160. package/lib/commonjs/ui/constants/theme.js.map +1 -0
  161. package/lib/commonjs/ui/context/OxyContext.js +198 -853
  162. package/lib/commonjs/ui/context/OxyContext.js.map +1 -1
  163. package/lib/commonjs/ui/context/ThemeContext.js +36 -0
  164. package/lib/commonjs/ui/context/ThemeContext.js.map +1 -0
  165. package/lib/commonjs/ui/context/hooks/useAuthOperations.js +349 -0
  166. package/lib/commonjs/ui/context/hooks/useAuthOperations.js.map +1 -0
  167. package/lib/commonjs/ui/context/hooks/useDeviceManagement.js +73 -0
  168. package/lib/commonjs/ui/context/hooks/useDeviceManagement.js.map +1 -0
  169. package/lib/commonjs/ui/context/hooks/useLanguageManagement.js +112 -0
  170. package/lib/commonjs/ui/context/hooks/useLanguageManagement.js.map +1 -0
  171. package/lib/commonjs/ui/context/hooks/useSessionManagement.js +261 -0
  172. package/lib/commonjs/ui/context/hooks/useSessionManagement.js.map +1 -0
  173. package/lib/commonjs/ui/context/hooks/useStorage.js +79 -0
  174. package/lib/commonjs/ui/context/hooks/useStorage.js.map +1 -0
  175. package/lib/commonjs/ui/context/utils/errorHandlers.js +90 -0
  176. package/lib/commonjs/ui/context/utils/errorHandlers.js.map +1 -0
  177. package/lib/commonjs/ui/context/utils/sessionHelpers.js +103 -0
  178. package/lib/commonjs/ui/context/utils/sessionHelpers.js.map +1 -0
  179. package/lib/commonjs/ui/context/utils/storageHelpers.js +119 -0
  180. package/lib/commonjs/ui/context/utils/storageHelpers.js.map +1 -0
  181. package/lib/commonjs/ui/hooks/index.js +14 -0
  182. package/lib/commonjs/ui/hooks/index.js.map +1 -1
  183. package/lib/commonjs/ui/hooks/use-color-scheme.js +29 -0
  184. package/lib/commonjs/ui/hooks/use-color-scheme.js.map +1 -0
  185. package/lib/commonjs/ui/hooks/use-haptic-press.js +21 -0
  186. package/lib/commonjs/ui/hooks/use-haptic-press.js.map +1 -0
  187. package/lib/commonjs/ui/hooks/useAssets.js.map +1 -1
  188. package/lib/commonjs/ui/hooks/useDeviceManagement.js +73 -0
  189. package/lib/commonjs/ui/hooks/useDeviceManagement.js.map +1 -0
  190. package/lib/commonjs/ui/hooks/useLanguageManagement.js +112 -0
  191. package/lib/commonjs/ui/hooks/useLanguageManagement.js.map +1 -0
  192. package/lib/commonjs/ui/hooks/useProfileEditing.js +123 -0
  193. package/lib/commonjs/ui/hooks/useProfileEditing.js.map +1 -0
  194. package/lib/commonjs/ui/hooks/useSessionManagement.js +261 -0
  195. package/lib/commonjs/ui/hooks/useSessionManagement.js.map +1 -0
  196. package/lib/commonjs/ui/hooks/useStorage.js +79 -0
  197. package/lib/commonjs/ui/hooks/useStorage.js.map +1 -0
  198. package/lib/commonjs/ui/hooks/useThemeColors.js +31 -0
  199. package/lib/commonjs/ui/hooks/useThemeColors.js.map +1 -0
  200. package/lib/commonjs/ui/hooks/useThemeStyles.js +69 -0
  201. package/lib/commonjs/ui/hooks/useThemeStyles.js.map +1 -0
  202. package/lib/commonjs/ui/index.js +1 -4
  203. package/lib/commonjs/ui/index.js.map +1 -1
  204. package/lib/commonjs/ui/navigation/bottomSheetManager.js +180 -0
  205. package/lib/commonjs/ui/navigation/bottomSheetManager.js.map +1 -0
  206. package/lib/commonjs/ui/navigation/routes.js +80 -154
  207. package/lib/commonjs/ui/navigation/routes.js.map +1 -1
  208. package/lib/commonjs/ui/screens/AccountCenterScreen.js +67 -67
  209. package/lib/commonjs/ui/screens/AccountCenterScreen.js.map +1 -1
  210. package/lib/commonjs/ui/screens/AccountOverviewScreen.js +217 -98
  211. package/lib/commonjs/ui/screens/AccountOverviewScreen.js.map +1 -1
  212. package/lib/commonjs/ui/screens/AccountSettingsScreen.js +514 -429
  213. package/lib/commonjs/ui/screens/AccountSettingsScreen.js.map +1 -1
  214. package/lib/commonjs/ui/screens/AccountSwitcherScreen.js +44 -59
  215. package/lib/commonjs/ui/screens/AccountSwitcherScreen.js.map +1 -1
  216. package/lib/commonjs/ui/screens/AccountVerificationScreen.js +12 -19
  217. package/lib/commonjs/ui/screens/AccountVerificationScreen.js.map +1 -1
  218. package/lib/commonjs/ui/screens/AppInfoScreen.js +36 -43
  219. package/lib/commonjs/ui/screens/AppInfoScreen.js.map +1 -1
  220. package/lib/commonjs/ui/screens/FeedbackScreen.js +14 -14
  221. package/lib/commonjs/ui/screens/FeedbackScreen.js.map +1 -1
  222. package/lib/commonjs/ui/screens/FileManagementScreen.js +674 -1968
  223. package/lib/commonjs/ui/screens/FileManagementScreen.js.map +1 -1
  224. package/lib/commonjs/ui/screens/HelpSupportScreen.js +26 -23
  225. package/lib/commonjs/ui/screens/HelpSupportScreen.js.map +1 -1
  226. package/lib/commonjs/ui/screens/HistoryViewScreen.js +19 -59
  227. package/lib/commonjs/ui/screens/HistoryViewScreen.js.map +1 -1
  228. package/lib/commonjs/ui/screens/LanguageSelectorScreen.js +79 -170
  229. package/lib/commonjs/ui/screens/LanguageSelectorScreen.js.map +1 -1
  230. package/lib/commonjs/ui/screens/LegalDocumentsScreen.js +13 -40
  231. package/lib/commonjs/ui/screens/LegalDocumentsScreen.js.map +1 -1
  232. package/lib/commonjs/ui/screens/OxyAuthScreen.js +436 -0
  233. package/lib/commonjs/ui/screens/OxyAuthScreen.js.map +1 -0
  234. package/lib/commonjs/ui/screens/PaymentGatewayScreen.js +18 -24
  235. package/lib/commonjs/ui/screens/PaymentGatewayScreen.js.map +1 -1
  236. package/lib/commonjs/ui/screens/PremiumSubscriptionScreen.js +21 -9
  237. package/lib/commonjs/ui/screens/PremiumSubscriptionScreen.js.map +1 -1
  238. package/lib/commonjs/ui/screens/PrivacySettingsScreen.js +180 -252
  239. package/lib/commonjs/ui/screens/PrivacySettingsScreen.js.map +1 -1
  240. package/lib/commonjs/ui/screens/ProfileScreen.js +7 -5
  241. package/lib/commonjs/ui/screens/ProfileScreen.js.map +1 -1
  242. package/lib/commonjs/ui/screens/SavesCollectionsScreen.js +32 -70
  243. package/lib/commonjs/ui/screens/SavesCollectionsScreen.js.map +1 -1
  244. package/lib/commonjs/ui/screens/SearchSettingsScreen.js +26 -99
  245. package/lib/commonjs/ui/screens/SearchSettingsScreen.js.map +1 -1
  246. package/lib/commonjs/ui/screens/SessionManagementScreen.js +24 -16
  247. package/lib/commonjs/ui/screens/SessionManagementScreen.js.map +1 -1
  248. package/lib/commonjs/ui/screens/UserLinksScreen.js +8 -10
  249. package/lib/commonjs/ui/screens/UserLinksScreen.js.map +1 -1
  250. package/lib/commonjs/ui/screens/WelcomeNewUserScreen.js +64 -67
  251. package/lib/commonjs/ui/screens/WelcomeNewUserScreen.js.map +1 -1
  252. package/lib/commonjs/ui/screens/karma/KarmaAboutScreen.js +11 -8
  253. package/lib/commonjs/ui/screens/karma/KarmaAboutScreen.js.map +1 -1
  254. package/lib/commonjs/ui/screens/karma/KarmaCenterScreen.js +124 -122
  255. package/lib/commonjs/ui/screens/karma/KarmaCenterScreen.js.map +1 -1
  256. package/lib/commonjs/ui/screens/karma/KarmaFAQScreen.js +99 -112
  257. package/lib/commonjs/ui/screens/karma/KarmaFAQScreen.js.map +1 -1
  258. package/lib/commonjs/ui/screens/karma/KarmaLeaderboardScreen.js +12 -9
  259. package/lib/commonjs/ui/screens/karma/KarmaLeaderboardScreen.js.map +1 -1
  260. package/lib/commonjs/ui/screens/karma/KarmaRewardsScreen.js +552 -79
  261. package/lib/commonjs/ui/screens/karma/KarmaRewardsScreen.js.map +1 -1
  262. package/lib/commonjs/ui/screens/karma/KarmaRulesScreen.js +12 -8
  263. package/lib/commonjs/ui/screens/karma/KarmaRulesScreen.js.map +1 -1
  264. package/lib/commonjs/ui/styles/authStyles.js +5 -11
  265. package/lib/commonjs/ui/styles/authStyles.js.map +1 -1
  266. package/lib/commonjs/ui/styles/spacing.js +60 -2
  267. package/lib/commonjs/ui/styles/spacing.js.map +1 -1
  268. package/lib/commonjs/ui/styles/theme.js +1 -1
  269. package/lib/commonjs/ui/types/fileManagement.js +6 -0
  270. package/lib/commonjs/ui/types/fileManagement.js.map +1 -0
  271. package/lib/commonjs/ui/types/navigation.js +6 -0
  272. package/lib/commonjs/ui/types/navigation.js.map +1 -0
  273. package/lib/commonjs/ui/utils/colorUtils.js +52 -0
  274. package/lib/commonjs/ui/utils/colorUtils.js.map +1 -0
  275. package/lib/commonjs/ui/utils/errorHandlers.js +90 -0
  276. package/lib/commonjs/ui/utils/errorHandlers.js.map +1 -0
  277. package/lib/commonjs/ui/utils/fileManagement.js +181 -0
  278. package/lib/commonjs/ui/utils/fileManagement.js.map +1 -0
  279. package/lib/commonjs/ui/utils/sessionHelpers.js +103 -0
  280. package/lib/commonjs/ui/utils/sessionHelpers.js.map +1 -0
  281. package/lib/commonjs/ui/utils/storageHelpers.js +119 -0
  282. package/lib/commonjs/ui/utils/storageHelpers.js.map +1 -0
  283. package/lib/commonjs/ui/utils/themeUtils.js +47 -0
  284. package/lib/commonjs/ui/utils/themeUtils.js.map +1 -0
  285. package/lib/commonjs/ui/utils/user-utils.js +53 -0
  286. package/lib/commonjs/ui/utils/user-utils.js.map +1 -0
  287. package/lib/commonjs/utils/errorUtils.js +14 -4
  288. package/lib/commonjs/utils/errorUtils.js.map +1 -1
  289. package/lib/module/assets/assets/lottie/welcomeheader_background_op1.json +1 -0
  290. package/lib/module/assets/lottie/welcomeheader_background_op1.json +1 -0
  291. package/lib/module/core/HttpService.js +94 -4
  292. package/lib/module/core/HttpService.js.map +1 -1
  293. package/lib/module/core/OxyServices.base.js +3 -1
  294. package/lib/module/core/OxyServices.base.js.map +1 -1
  295. package/lib/module/core/mixins/OxyServices.assets.js +212 -20
  296. package/lib/module/core/mixins/OxyServices.assets.js.map +1 -1
  297. package/lib/module/core/mixins/OxyServices.auth.js +70 -99
  298. package/lib/module/core/mixins/OxyServices.auth.js.map +1 -1
  299. package/lib/module/crypto/index.js +16 -0
  300. package/lib/module/crypto/index.js.map +1 -0
  301. package/lib/module/crypto/keyManager.js +204 -0
  302. package/lib/module/crypto/keyManager.js.map +1 -0
  303. package/lib/module/crypto/recoveryPhrase.js +131 -0
  304. package/lib/module/crypto/recoveryPhrase.js.map +1 -0
  305. package/lib/module/crypto/signatureService.js +227 -0
  306. package/lib/module/crypto/signatureService.js.map +1 -0
  307. package/lib/module/i18n/locales/en-US.json +4 -0
  308. package/lib/module/index.js +2 -0
  309. package/lib/module/index.js.map +1 -1
  310. package/lib/module/ui/components/ActivityIndicator.js +198 -0
  311. package/lib/module/ui/components/ActivityIndicator.js.map +1 -0
  312. package/lib/module/ui/components/AutoHeightScrollView.js +41 -0
  313. package/lib/module/ui/components/AutoHeightScrollView.js.map +1 -0
  314. package/lib/module/ui/components/BottomSheet.js +402 -0
  315. package/lib/module/ui/components/BottomSheet.js.map +1 -0
  316. package/lib/module/ui/components/BottomSheetRouter.js +356 -0
  317. package/lib/module/ui/components/BottomSheetRouter.js.map +1 -0
  318. package/lib/module/ui/components/CrossFadeIcon.js +101 -0
  319. package/lib/module/ui/components/CrossFadeIcon.js.map +1 -0
  320. package/lib/module/ui/components/EmptyState.js +36 -0
  321. package/lib/module/ui/components/EmptyState.js.map +1 -0
  322. package/lib/module/ui/components/GroupedItem.js +88 -82
  323. package/lib/module/ui/components/GroupedItem.js.map +1 -1
  324. package/lib/module/ui/components/GroupedSection.js +23 -23
  325. package/lib/module/ui/components/GroupedSection.js.map +1 -1
  326. package/lib/module/ui/components/Header.js +109 -46
  327. package/lib/module/ui/components/Header.js.map +1 -1
  328. package/lib/module/ui/components/HelperText.js +99 -0
  329. package/lib/module/ui/components/HelperText.js.map +1 -0
  330. package/lib/module/ui/components/Icon.js +102 -0
  331. package/lib/module/ui/components/Icon.js.map +1 -0
  332. package/lib/module/ui/components/IconButton/IconButton.js +153 -0
  333. package/lib/module/ui/components/IconButton/IconButton.js.map +1 -0
  334. package/lib/module/ui/components/IconButton/utils.js +149 -0
  335. package/lib/module/ui/components/IconButton/utils.js.map +1 -0
  336. package/lib/module/ui/components/LoadingState.js +42 -0
  337. package/lib/module/ui/components/LoadingState.js.map +1 -0
  338. package/lib/module/ui/components/OxyPayButton.js +1 -14
  339. package/lib/module/ui/components/OxyPayButton.js.map +1 -1
  340. package/lib/module/ui/components/OxyProvider.js +45 -396
  341. package/lib/module/ui/components/OxyProvider.js.map +1 -1
  342. package/lib/module/ui/components/OxySignInButton.js +9 -13
  343. package/lib/module/ui/components/OxySignInButton.js.map +1 -1
  344. package/lib/module/ui/components/ProfileCard.js +7 -4
  345. package/lib/module/ui/components/ProfileCard.js.map +1 -1
  346. package/lib/module/ui/components/QuickActions.js +7 -4
  347. package/lib/module/ui/components/QuickActions.js.map +1 -1
  348. package/lib/module/ui/components/Section.js +4 -1
  349. package/lib/module/ui/components/Section.js.map +1 -1
  350. package/lib/module/ui/components/SectionTitle.js +6 -3
  351. package/lib/module/ui/components/SectionTitle.js.map +1 -1
  352. package/lib/module/ui/components/SettingRow.js +72 -0
  353. package/lib/module/ui/components/SettingRow.js.map +1 -0
  354. package/lib/module/ui/components/StepBasedScreen.js +190 -174
  355. package/lib/module/ui/components/StepBasedScreen.js.map +1 -1
  356. package/lib/module/ui/components/Surface.js +252 -0
  357. package/lib/module/ui/components/Surface.js.map +1 -0
  358. package/lib/module/ui/components/TextField/Addons/Outline.js +40 -0
  359. package/lib/module/ui/components/TextField/Addons/Outline.js.map +1 -0
  360. package/lib/module/ui/components/TextField/Addons/Underline.js +47 -0
  361. package/lib/module/ui/components/TextField/Addons/Underline.js.map +1 -0
  362. package/lib/module/ui/components/TextField/Adornment/TextFieldAdornment.js +148 -0
  363. package/lib/module/ui/components/TextField/Adornment/TextFieldAdornment.js.map +1 -0
  364. package/lib/module/ui/components/TextField/Adornment/TextFieldAffix.js +141 -0
  365. package/lib/module/ui/components/TextField/Adornment/TextFieldAffix.js.map +1 -0
  366. package/lib/module/ui/components/TextField/Adornment/TextFieldIcon.js +135 -0
  367. package/lib/module/ui/components/TextField/Adornment/TextFieldIcon.js.map +1 -0
  368. package/lib/module/ui/components/TextField/Adornment/enums.js +18 -0
  369. package/lib/module/ui/components/TextField/Adornment/enums.js.map +1 -0
  370. package/lib/module/ui/components/TextField/Adornment/types.js +4 -0
  371. package/lib/module/ui/components/TextField/Adornment/types.js.map +1 -0
  372. package/lib/module/ui/components/TextField/Adornment/utils.js +57 -0
  373. package/lib/module/ui/components/TextField/Adornment/utils.js.map +1 -0
  374. package/lib/module/ui/components/TextField/Label/InputLabel.js +171 -0
  375. package/lib/module/ui/components/TextField/Label/InputLabel.js.map +1 -0
  376. package/lib/module/ui/components/TextField/Label/LabelBackground.js +78 -0
  377. package/lib/module/ui/components/TextField/Label/LabelBackground.js.map +1 -0
  378. package/lib/module/ui/components/TextField/TextFieldFlat.js +372 -0
  379. package/lib/module/ui/components/TextField/TextFieldFlat.js.map +1 -0
  380. package/lib/module/ui/components/TextField/TextFieldOutlined.js +355 -0
  381. package/lib/module/ui/components/TextField/TextFieldOutlined.js.map +1 -0
  382. package/lib/module/ui/components/TextField/constants.js +46 -0
  383. package/lib/module/ui/components/TextField/constants.js.map +1 -0
  384. package/lib/module/ui/components/TextField/helpers.js +472 -0
  385. package/lib/module/ui/components/TextField/helpers.js.map +1 -0
  386. package/lib/module/ui/components/TextField/types.js +4 -0
  387. package/lib/module/ui/components/TextField/types.js.map +1 -0
  388. package/lib/module/ui/components/TextField.js +333 -0
  389. package/lib/module/ui/components/TextField.js.map +1 -0
  390. package/lib/module/ui/components/TouchableRipple/Pressable.js +9 -0
  391. package/lib/module/ui/components/TouchableRipple/Pressable.js.map +1 -0
  392. package/lib/module/ui/components/TouchableRipple/TouchableRipple.js +253 -0
  393. package/lib/module/ui/components/TouchableRipple/TouchableRipple.js.map +1 -0
  394. package/lib/module/ui/components/TouchableRipple/TouchableRipple.native.js +101 -0
  395. package/lib/module/ui/components/TouchableRipple/TouchableRipple.native.js.map +1 -0
  396. package/lib/module/ui/components/TouchableRipple/utils.js +50 -0
  397. package/lib/module/ui/components/TouchableRipple/utils.js.map +1 -0
  398. package/lib/module/ui/components/Typography/AnimatedText.js +56 -0
  399. package/lib/module/ui/components/Typography/AnimatedText.js.map +1 -0
  400. package/lib/module/ui/components/Typography/types.js +22 -0
  401. package/lib/module/ui/components/Typography/types.js.map +1 -0
  402. package/lib/module/ui/components/fileManagement/FileDetailsModal.js +165 -0
  403. package/lib/module/ui/components/fileManagement/FileDetailsModal.js.map +1 -0
  404. package/lib/module/ui/components/fileManagement/FileViewer.js +402 -0
  405. package/lib/module/ui/components/fileManagement/FileViewer.js.map +1 -0
  406. package/lib/module/ui/components/fileManagement/UploadPreview.js +175 -0
  407. package/lib/module/ui/components/fileManagement/UploadPreview.js.map +1 -0
  408. package/lib/module/ui/components/fileManagement/styles.js +864 -0
  409. package/lib/module/ui/components/fileManagement/styles.js.map +1 -0
  410. package/lib/module/ui/components/index.js +4 -1
  411. package/lib/module/ui/components/index.js.map +1 -1
  412. package/lib/module/ui/components/profile/EditBioModal.js +175 -0
  413. package/lib/module/ui/components/profile/EditBioModal.js.map +1 -0
  414. package/lib/module/ui/components/profile/EditDisplayNameModal.js +201 -0
  415. package/lib/module/ui/components/profile/EditDisplayNameModal.js.map +1 -0
  416. package/lib/module/ui/components/profile/EditEmailModal.js +178 -0
  417. package/lib/module/ui/components/profile/EditEmailModal.js.map +1 -0
  418. package/lib/module/ui/components/profile/EditLinksModal.js +309 -0
  419. package/lib/module/ui/components/profile/EditLinksModal.js.map +1 -0
  420. package/lib/module/ui/components/profile/EditLocationModal.js +267 -0
  421. package/lib/module/ui/components/profile/EditLocationModal.js.map +1 -0
  422. package/lib/module/ui/components/profile/EditUsernameModal.js +174 -0
  423. package/lib/module/ui/components/profile/EditUsernameModal.js.map +1 -0
  424. package/lib/module/ui/components/profile/TwoFactorSetupModal.js +460 -0
  425. package/lib/module/ui/components/profile/TwoFactorSetupModal.js.map +1 -0
  426. package/lib/module/ui/components/styles/overlay.js +80 -0
  427. package/lib/module/ui/components/styles/overlay.js.map +1 -0
  428. package/lib/module/ui/components/styles/shadow.js +128 -0
  429. package/lib/module/ui/components/styles/shadow.js.map +1 -0
  430. package/lib/module/ui/components/theming.js +111 -0
  431. package/lib/module/ui/components/theming.js.map +1 -0
  432. package/lib/module/ui/components/types.js +2 -0
  433. package/lib/module/ui/components/types.js.map +1 -0
  434. package/lib/module/ui/components/utils/forwardRef.js +13 -0
  435. package/lib/module/ui/components/utils/forwardRef.js.map +1 -0
  436. package/lib/module/ui/components/utils/hasTouchHandler.js +9 -0
  437. package/lib/module/ui/components/utils/hasTouchHandler.js.map +1 -0
  438. package/lib/module/ui/components/utils/roundLayoutSize.js +4 -0
  439. package/lib/module/ui/components/utils/roundLayoutSize.js.map +1 -0
  440. package/lib/module/ui/components/utils/splitStyles.js +46 -0
  441. package/lib/module/ui/components/utils/splitStyles.js.map +1 -0
  442. package/lib/module/ui/constants/iconColors.js +78 -0
  443. package/lib/module/ui/constants/iconColors.js.map +1 -0
  444. package/lib/module/ui/constants/spacing.js +45 -0
  445. package/lib/module/ui/constants/spacing.js.map +1 -0
  446. package/lib/module/ui/constants/theme.js +119 -0
  447. package/lib/module/ui/constants/theme.js.map +1 -0
  448. package/lib/module/ui/context/OxyContext.js +199 -855
  449. package/lib/module/ui/context/OxyContext.js.map +1 -1
  450. package/lib/module/ui/context/ThemeContext.js +29 -0
  451. package/lib/module/ui/context/ThemeContext.js.map +1 -0
  452. package/lib/module/ui/context/hooks/useAuthOperations.js +344 -0
  453. package/lib/module/ui/context/hooks/useAuthOperations.js.map +1 -0
  454. package/lib/module/ui/context/hooks/useDeviceManagement.js +68 -0
  455. package/lib/module/ui/context/hooks/useDeviceManagement.js.map +1 -0
  456. package/lib/module/ui/context/hooks/useLanguageManagement.js +107 -0
  457. package/lib/module/ui/context/hooks/useLanguageManagement.js.map +1 -0
  458. package/lib/module/ui/context/hooks/useSessionManagement.js +256 -0
  459. package/lib/module/ui/context/hooks/useSessionManagement.js.map +1 -0
  460. package/lib/module/ui/context/hooks/useStorage.js +74 -0
  461. package/lib/module/ui/context/hooks/useStorage.js.map +1 -0
  462. package/lib/module/ui/context/utils/errorHandlers.js +83 -0
  463. package/lib/module/ui/context/utils/errorHandlers.js.map +1 -0
  464. package/lib/module/ui/context/utils/sessionHelpers.js +96 -0
  465. package/lib/module/ui/context/utils/sessionHelpers.js.map +1 -0
  466. package/lib/module/ui/context/utils/storageHelpers.js +111 -0
  467. package/lib/module/ui/context/utils/storageHelpers.js.map +1 -0
  468. package/lib/module/ui/hooks/index.js +2 -0
  469. package/lib/module/ui/hooks/index.js.map +1 -1
  470. package/lib/module/ui/hooks/use-color-scheme.js +26 -0
  471. package/lib/module/ui/hooks/use-color-scheme.js.map +1 -0
  472. package/lib/module/ui/hooks/use-haptic-press.js +17 -0
  473. package/lib/module/ui/hooks/use-haptic-press.js.map +1 -0
  474. package/lib/module/ui/hooks/useAssets.js.map +1 -1
  475. package/lib/module/ui/hooks/useDeviceManagement.js +68 -0
  476. package/lib/module/ui/hooks/useDeviceManagement.js.map +1 -0
  477. package/lib/module/ui/hooks/useLanguageManagement.js +107 -0
  478. package/lib/module/ui/hooks/useLanguageManagement.js.map +1 -0
  479. package/lib/module/ui/hooks/useProfileEditing.js +118 -0
  480. package/lib/module/ui/hooks/useProfileEditing.js.map +1 -0
  481. package/lib/module/ui/hooks/useSessionManagement.js +256 -0
  482. package/lib/module/ui/hooks/useSessionManagement.js.map +1 -0
  483. package/lib/module/ui/hooks/useStorage.js +74 -0
  484. package/lib/module/ui/hooks/useStorage.js.map +1 -0
  485. package/lib/module/ui/hooks/useThemeColors.js +27 -0
  486. package/lib/module/ui/hooks/useThemeColors.js.map +1 -0
  487. package/lib/module/ui/hooks/useThemeStyles.js +64 -0
  488. package/lib/module/ui/hooks/useThemeStyles.js.map +1 -0
  489. package/lib/module/ui/index.js +2 -4
  490. package/lib/module/ui/index.js.map +1 -1
  491. package/lib/module/ui/navigation/bottomSheetManager.js +168 -0
  492. package/lib/module/ui/navigation/bottomSheetManager.js.map +1 -0
  493. package/lib/module/ui/navigation/routes.js +77 -152
  494. package/lib/module/ui/navigation/routes.js.map +1 -1
  495. package/lib/module/ui/screens/AccountCenterScreen.js +67 -67
  496. package/lib/module/ui/screens/AccountCenterScreen.js.map +1 -1
  497. package/lib/module/ui/screens/AccountOverviewScreen.js +218 -100
  498. package/lib/module/ui/screens/AccountOverviewScreen.js.map +1 -1
  499. package/lib/module/ui/screens/AccountSettingsScreen.js +515 -430
  500. package/lib/module/ui/screens/AccountSettingsScreen.js.map +1 -1
  501. package/lib/module/ui/screens/AccountSwitcherScreen.js +45 -60
  502. package/lib/module/ui/screens/AccountSwitcherScreen.js.map +1 -1
  503. package/lib/module/ui/screens/AccountVerificationScreen.js +12 -19
  504. package/lib/module/ui/screens/AccountVerificationScreen.js.map +1 -1
  505. package/lib/module/ui/screens/AppInfoScreen.js +36 -43
  506. package/lib/module/ui/screens/AppInfoScreen.js.map +1 -1
  507. package/lib/module/ui/screens/FeedbackScreen.js +14 -14
  508. package/lib/module/ui/screens/FeedbackScreen.js.map +1 -1
  509. package/lib/module/ui/screens/FileManagementScreen.js +670 -1965
  510. package/lib/module/ui/screens/FileManagementScreen.js.map +1 -1
  511. package/lib/module/ui/screens/HelpSupportScreen.js +26 -23
  512. package/lib/module/ui/screens/HelpSupportScreen.js.map +1 -1
  513. package/lib/module/ui/screens/HistoryViewScreen.js +22 -62
  514. package/lib/module/ui/screens/HistoryViewScreen.js.map +1 -1
  515. package/lib/module/ui/screens/LanguageSelectorScreen.js +80 -171
  516. package/lib/module/ui/screens/LanguageSelectorScreen.js.map +1 -1
  517. package/lib/module/ui/screens/LegalDocumentsScreen.js +16 -43
  518. package/lib/module/ui/screens/LegalDocumentsScreen.js.map +1 -1
  519. package/lib/module/ui/screens/OxyAuthScreen.js +432 -0
  520. package/lib/module/ui/screens/OxyAuthScreen.js.map +1 -0
  521. package/lib/module/ui/screens/PaymentGatewayScreen.js +18 -24
  522. package/lib/module/ui/screens/PaymentGatewayScreen.js.map +1 -1
  523. package/lib/module/ui/screens/PremiumSubscriptionScreen.js +21 -9
  524. package/lib/module/ui/screens/PremiumSubscriptionScreen.js.map +1 -1
  525. package/lib/module/ui/screens/PrivacySettingsScreen.js +167 -239
  526. package/lib/module/ui/screens/PrivacySettingsScreen.js.map +1 -1
  527. package/lib/module/ui/screens/ProfileScreen.js +7 -5
  528. package/lib/module/ui/screens/ProfileScreen.js.map +1 -1
  529. package/lib/module/ui/screens/SavesCollectionsScreen.js +35 -73
  530. package/lib/module/ui/screens/SavesCollectionsScreen.js.map +1 -1
  531. package/lib/module/ui/screens/SearchSettingsScreen.js +29 -102
  532. package/lib/module/ui/screens/SearchSettingsScreen.js.map +1 -1
  533. package/lib/module/ui/screens/SessionManagementScreen.js +24 -16
  534. package/lib/module/ui/screens/SessionManagementScreen.js.map +1 -1
  535. package/lib/module/ui/screens/UserLinksScreen.js +8 -10
  536. package/lib/module/ui/screens/UserLinksScreen.js.map +1 -1
  537. package/lib/module/ui/screens/WelcomeNewUserScreen.js +65 -68
  538. package/lib/module/ui/screens/WelcomeNewUserScreen.js.map +1 -1
  539. package/lib/module/ui/screens/karma/KarmaAboutScreen.js +11 -8
  540. package/lib/module/ui/screens/karma/KarmaAboutScreen.js.map +1 -1
  541. package/lib/module/ui/screens/karma/KarmaCenterScreen.js +124 -121
  542. package/lib/module/ui/screens/karma/KarmaCenterScreen.js.map +1 -1
  543. package/lib/module/ui/screens/karma/KarmaFAQScreen.js +101 -114
  544. package/lib/module/ui/screens/karma/KarmaFAQScreen.js.map +1 -1
  545. package/lib/module/ui/screens/karma/KarmaLeaderboardScreen.js +12 -9
  546. package/lib/module/ui/screens/karma/KarmaLeaderboardScreen.js.map +1 -1
  547. package/lib/module/ui/screens/karma/KarmaRewardsScreen.js +554 -81
  548. package/lib/module/ui/screens/karma/KarmaRewardsScreen.js.map +1 -1
  549. package/lib/module/ui/screens/karma/KarmaRulesScreen.js +12 -8
  550. package/lib/module/ui/screens/karma/KarmaRulesScreen.js.map +1 -1
  551. package/lib/module/ui/styles/authStyles.js +5 -11
  552. package/lib/module/ui/styles/authStyles.js.map +1 -1
  553. package/lib/module/ui/styles/spacing.js +12 -2
  554. package/lib/module/ui/styles/spacing.js.map +1 -1
  555. package/lib/module/ui/styles/theme.js +1 -1
  556. package/lib/module/ui/types/fileManagement.js +4 -0
  557. package/lib/module/ui/types/fileManagement.js.map +1 -0
  558. package/lib/module/ui/types/navigation.js +4 -0
  559. package/lib/module/ui/types/navigation.js.map +1 -0
  560. package/lib/module/ui/utils/colorUtils.js +46 -0
  561. package/lib/module/ui/utils/colorUtils.js.map +1 -0
  562. package/lib/module/ui/utils/errorHandlers.js +83 -0
  563. package/lib/module/ui/utils/errorHandlers.js.map +1 -0
  564. package/lib/module/ui/utils/fileManagement.js +172 -0
  565. package/lib/module/ui/utils/fileManagement.js.map +1 -0
  566. package/lib/module/ui/utils/sessionHelpers.js +96 -0
  567. package/lib/module/ui/utils/sessionHelpers.js.map +1 -0
  568. package/lib/module/ui/utils/storageHelpers.js +111 -0
  569. package/lib/module/ui/utils/storageHelpers.js.map +1 -0
  570. package/lib/module/ui/utils/themeUtils.js +41 -0
  571. package/lib/module/ui/utils/themeUtils.js.map +1 -0
  572. package/lib/module/ui/utils/user-utils.js +46 -0
  573. package/lib/module/ui/utils/user-utils.js.map +1 -0
  574. package/lib/module/utils/errorUtils.js +14 -4
  575. package/lib/module/utils/errorUtils.js.map +1 -1
  576. package/lib/typescript/core/HttpService.d.ts +48 -0
  577. package/lib/typescript/core/HttpService.d.ts.map +1 -1
  578. package/lib/typescript/core/OxyServices.base.d.ts.map +1 -1
  579. package/lib/typescript/core/mixins/OxyServices.analytics.d.ts.map +1 -1
  580. package/lib/typescript/core/mixins/OxyServices.assets.d.ts +23 -1
  581. package/lib/typescript/core/mixins/OxyServices.assets.d.ts.map +1 -1
  582. package/lib/typescript/core/mixins/OxyServices.auth.d.ts +70 -42
  583. package/lib/typescript/core/mixins/OxyServices.auth.d.ts.map +1 -1
  584. package/lib/typescript/core/mixins/OxyServices.developer.d.ts.map +1 -1
  585. package/lib/typescript/core/mixins/OxyServices.devices.d.ts.map +1 -1
  586. package/lib/typescript/core/mixins/OxyServices.karma.d.ts.map +1 -1
  587. package/lib/typescript/core/mixins/OxyServices.language.d.ts.map +1 -1
  588. package/lib/typescript/core/mixins/OxyServices.location.d.ts.map +1 -1
  589. package/lib/typescript/core/mixins/OxyServices.payment.d.ts.map +1 -1
  590. package/lib/typescript/core/mixins/OxyServices.privacy.d.ts.map +1 -1
  591. package/lib/typescript/core/mixins/OxyServices.totp.d.ts.map +1 -1
  592. package/lib/typescript/core/mixins/OxyServices.user.d.ts.map +1 -1
  593. package/lib/typescript/core/mixins/OxyServices.utility.d.ts.map +1 -1
  594. package/lib/typescript/core/mixins/index.d.ts +26 -34
  595. package/lib/typescript/core/mixins/index.d.ts.map +1 -1
  596. package/lib/typescript/crypto/index.d.ts +11 -0
  597. package/lib/typescript/crypto/index.d.ts.map +1 -0
  598. package/lib/typescript/crypto/keyManager.d.ts +73 -0
  599. package/lib/typescript/crypto/keyManager.d.ts.map +1 -0
  600. package/lib/typescript/crypto/recoveryPhrase.d.ts +57 -0
  601. package/lib/typescript/crypto/recoveryPhrase.d.ts.map +1 -0
  602. package/lib/typescript/crypto/signatureService.d.ts +80 -0
  603. package/lib/typescript/crypto/signatureService.d.ts.map +1 -0
  604. package/lib/typescript/index.d.ts +2 -0
  605. package/lib/typescript/index.d.ts.map +1 -1
  606. package/lib/typescript/models/interfaces.d.ts +1 -0
  607. package/lib/typescript/models/interfaces.d.ts.map +1 -1
  608. package/lib/typescript/types/bip39.d.ts +28 -0
  609. package/lib/typescript/types/color.d.ts +18 -0
  610. package/lib/typescript/types/elliptic.d.ts +60 -0
  611. package/lib/typescript/types/expo-crypto.d.ts +28 -0
  612. package/lib/typescript/types/expo-random.d.ts +8 -0
  613. package/lib/typescript/types/expo-secure-store.d.ts +20 -0
  614. package/lib/typescript/types/expo-vector-icons.d.ts +9 -0
  615. package/lib/typescript/ui/components/ActivityIndicator.d.ts +45 -0
  616. package/lib/typescript/ui/components/ActivityIndicator.d.ts.map +1 -0
  617. package/lib/typescript/ui/components/AutoHeightScrollView.d.ts +23 -0
  618. package/lib/typescript/ui/components/AutoHeightScrollView.d.ts.map +1 -0
  619. package/lib/typescript/ui/components/BottomSheet.d.ts +29 -0
  620. package/lib/typescript/ui/components/BottomSheet.d.ts.map +1 -0
  621. package/lib/typescript/ui/components/BottomSheetRouter.d.ts +14 -0
  622. package/lib/typescript/ui/components/BottomSheetRouter.d.ts.map +1 -0
  623. package/lib/typescript/ui/components/CrossFadeIcon.d.ts +27 -0
  624. package/lib/typescript/ui/components/CrossFadeIcon.d.ts.map +1 -0
  625. package/lib/typescript/ui/components/EmptyState.d.ts +8 -0
  626. package/lib/typescript/ui/components/EmptyState.d.ts.map +1 -0
  627. package/lib/typescript/ui/components/GroupedItem.d.ts +5 -9
  628. package/lib/typescript/ui/components/GroupedItem.d.ts.map +1 -1
  629. package/lib/typescript/ui/components/GroupedSection.d.ts +6 -7
  630. package/lib/typescript/ui/components/GroupedSection.d.ts.map +1 -1
  631. package/lib/typescript/ui/components/Header.d.ts +6 -1
  632. package/lib/typescript/ui/components/Header.d.ts.map +1 -1
  633. package/lib/typescript/ui/components/HelperText.d.ts +47 -0
  634. package/lib/typescript/ui/components/HelperText.d.ts.map +1 -0
  635. package/lib/typescript/ui/components/Icon.d.ts +60 -0
  636. package/lib/typescript/ui/components/Icon.d.ts.map +1 -0
  637. package/lib/typescript/ui/components/IconButton/IconButton.d.ts +99 -0
  638. package/lib/typescript/ui/components/IconButton/IconButton.d.ts.map +1 -0
  639. package/lib/typescript/ui/components/IconButton/utils.d.ts +19 -0
  640. package/lib/typescript/ui/components/IconButton/utils.d.ts.map +1 -0
  641. package/lib/typescript/ui/components/LoadingState.d.ts +9 -0
  642. package/lib/typescript/ui/components/LoadingState.d.ts.map +1 -0
  643. package/lib/typescript/ui/components/OxyPayButton.d.ts.map +1 -1
  644. package/lib/typescript/ui/components/OxyProvider.d.ts +4 -5
  645. package/lib/typescript/ui/components/OxyProvider.d.ts.map +1 -1
  646. package/lib/typescript/ui/components/OxySignInButton.d.ts +3 -8
  647. package/lib/typescript/ui/components/OxySignInButton.d.ts.map +1 -1
  648. package/lib/typescript/ui/components/ProfileCard.d.ts.map +1 -1
  649. package/lib/typescript/ui/components/QuickActions.d.ts.map +1 -1
  650. package/lib/typescript/ui/components/Section.d.ts +1 -1
  651. package/lib/typescript/ui/components/Section.d.ts.map +1 -1
  652. package/lib/typescript/ui/components/SectionTitle.d.ts +1 -1
  653. package/lib/typescript/ui/components/SectionTitle.d.ts.map +1 -1
  654. package/lib/typescript/ui/components/SettingRow.d.ts +14 -0
  655. package/lib/typescript/ui/components/SettingRow.d.ts.map +1 -0
  656. package/lib/typescript/ui/components/StepBasedScreen.d.ts +3 -2
  657. package/lib/typescript/ui/components/StepBasedScreen.d.ts.map +1 -1
  658. package/lib/typescript/ui/components/Surface.d.ts +76 -0
  659. package/lib/typescript/ui/components/Surface.d.ts.map +1 -0
  660. package/lib/typescript/ui/components/TextField/Addons/Outline.d.ts +16 -0
  661. package/lib/typescript/ui/components/TextField/Addons/Outline.d.ts.map +1 -0
  662. package/lib/typescript/ui/components/TextField/Addons/Underline.d.ts +19 -0
  663. package/lib/typescript/ui/components/TextField/Addons/Underline.d.ts.map +1 -0
  664. package/lib/typescript/ui/components/TextField/Adornment/TextFieldAdornment.d.ts +45 -0
  665. package/lib/typescript/ui/components/TextField/Adornment/TextFieldAdornment.d.ts.map +1 -0
  666. package/lib/typescript/ui/components/TextField/Adornment/TextFieldAffix.d.ts +73 -0
  667. package/lib/typescript/ui/components/TextField/Adornment/TextFieldAffix.d.ts.map +1 -0
  668. package/lib/typescript/ui/components/TextField/Adornment/TextFieldIcon.d.ts +78 -0
  669. package/lib/typescript/ui/components/TextField/Adornment/TextFieldIcon.d.ts.map +1 -0
  670. package/lib/typescript/ui/components/TextField/Adornment/enums.d.ts +13 -0
  671. package/lib/typescript/ui/components/TextField/Adornment/enums.d.ts.map +1 -0
  672. package/lib/typescript/ui/components/TextField/Adornment/types.d.ts +12 -0
  673. package/lib/typescript/ui/components/TextField/Adornment/types.d.ts.map +1 -0
  674. package/lib/typescript/ui/components/TextField/Adornment/utils.d.ts +12 -0
  675. package/lib/typescript/ui/components/TextField/Adornment/utils.d.ts.map +1 -0
  676. package/lib/typescript/ui/components/TextField/Label/InputLabel.d.ts +5 -0
  677. package/lib/typescript/ui/components/TextField/Label/InputLabel.d.ts.map +1 -0
  678. package/lib/typescript/ui/components/TextField/Label/LabelBackground.d.ts +4 -0
  679. package/lib/typescript/ui/components/TextField/Label/LabelBackground.d.ts.map +1 -0
  680. package/lib/typescript/ui/components/TextField/TextFieldFlat.d.ts +4 -0
  681. package/lib/typescript/ui/components/TextField/TextFieldFlat.d.ts.map +1 -0
  682. package/lib/typescript/ui/components/TextField/TextFieldOutlined.d.ts +4 -0
  683. package/lib/typescript/ui/components/TextField/TextFieldOutlined.d.ts.map +1 -0
  684. package/lib/typescript/ui/components/TextField/constants.d.ts +32 -0
  685. package/lib/typescript/ui/components/TextField/constants.d.ts.map +1 -0
  686. package/lib/typescript/ui/components/TextField/helpers.d.ts +97 -0
  687. package/lib/typescript/ui/components/TextField/helpers.d.ts.map +1 -0
  688. package/lib/typescript/ui/components/TextField/types.d.ts +156 -0
  689. package/lib/typescript/ui/components/TextField/types.d.ts.map +1 -0
  690. package/lib/typescript/ui/components/TextField.d.ts +192 -0
  691. package/lib/typescript/ui/components/TextField.d.ts.map +1 -0
  692. package/lib/typescript/ui/components/TouchableRipple/Pressable.d.ts +13 -0
  693. package/lib/typescript/ui/components/TouchableRipple/Pressable.d.ts.map +1 -0
  694. package/lib/typescript/ui/components/TouchableRipple/TouchableRipple.d.ts +62 -0
  695. package/lib/typescript/ui/components/TouchableRipple/TouchableRipple.d.ts.map +1 -0
  696. package/lib/typescript/ui/components/TouchableRipple/TouchableRipple.native.d.ts +25 -0
  697. package/lib/typescript/ui/components/TouchableRipple/TouchableRipple.native.d.ts.map +1 -0
  698. package/lib/typescript/ui/components/TouchableRipple/utils.d.ts +11 -0
  699. package/lib/typescript/ui/components/TouchableRipple/utils.d.ts.map +1 -0
  700. package/lib/typescript/ui/components/Typography/AnimatedText.d.ts +35 -0
  701. package/lib/typescript/ui/components/Typography/AnimatedText.d.ts.map +1 -0
  702. package/lib/typescript/ui/components/Typography/types.d.ts +19 -0
  703. package/lib/typescript/ui/components/Typography/types.d.ts.map +1 -0
  704. package/lib/typescript/ui/components/fileManagement/FileDetailsModal.d.ts +15 -0
  705. package/lib/typescript/ui/components/fileManagement/FileDetailsModal.d.ts.map +1 -0
  706. package/lib/typescript/ui/components/fileManagement/FileViewer.d.ts +18 -0
  707. package/lib/typescript/ui/components/fileManagement/FileViewer.d.ts.map +1 -0
  708. package/lib/typescript/ui/components/fileManagement/UploadPreview.d.ts +21 -0
  709. package/lib/typescript/ui/components/fileManagement/UploadPreview.d.ts.map +1 -0
  710. package/lib/typescript/ui/components/fileManagement/styles.d.ts +860 -0
  711. package/lib/typescript/ui/components/fileManagement/styles.d.ts.map +1 -0
  712. package/lib/typescript/ui/components/index.d.ts +4 -1
  713. package/lib/typescript/ui/components/index.d.ts.map +1 -1
  714. package/lib/typescript/ui/components/profile/EditBioModal.d.ts +11 -0
  715. package/lib/typescript/ui/components/profile/EditBioModal.d.ts.map +1 -0
  716. package/lib/typescript/ui/components/profile/EditDisplayNameModal.d.ts +12 -0
  717. package/lib/typescript/ui/components/profile/EditDisplayNameModal.d.ts.map +1 -0
  718. package/lib/typescript/ui/components/profile/EditEmailModal.d.ts +11 -0
  719. package/lib/typescript/ui/components/profile/EditEmailModal.d.ts.map +1 -0
  720. package/lib/typescript/ui/components/profile/EditLinksModal.d.ts +18 -0
  721. package/lib/typescript/ui/components/profile/EditLinksModal.d.ts.map +1 -0
  722. package/lib/typescript/ui/components/profile/EditLocationModal.d.ts +20 -0
  723. package/lib/typescript/ui/components/profile/EditLocationModal.d.ts.map +1 -0
  724. package/lib/typescript/ui/components/profile/EditUsernameModal.d.ts +11 -0
  725. package/lib/typescript/ui/components/profile/EditUsernameModal.d.ts.map +1 -0
  726. package/lib/typescript/ui/components/profile/TwoFactorSetupModal.d.ts +11 -0
  727. package/lib/typescript/ui/components/profile/TwoFactorSetupModal.d.ts.map +1 -0
  728. package/lib/typescript/ui/components/styles/overlay.d.ts +4 -0
  729. package/lib/typescript/ui/components/styles/overlay.d.ts.map +1 -0
  730. package/lib/typescript/ui/components/styles/shadow.d.ts +3 -0
  731. package/lib/typescript/ui/components/styles/shadow.d.ts.map +1 -0
  732. package/lib/typescript/ui/components/theming.d.ts +8 -0
  733. package/lib/typescript/ui/components/theming.d.ts.map +1 -0
  734. package/lib/typescript/ui/components/types.d.ts +80 -0
  735. package/lib/typescript/ui/components/types.d.ts.map +1 -0
  736. package/lib/typescript/ui/components/utils/forwardRef.d.ts +12 -0
  737. package/lib/typescript/ui/components/utils/forwardRef.d.ts.map +1 -0
  738. package/lib/typescript/ui/components/utils/hasTouchHandler.d.ts +6 -0
  739. package/lib/typescript/ui/components/utils/hasTouchHandler.d.ts.map +1 -0
  740. package/lib/typescript/ui/components/utils/roundLayoutSize.d.ts +2 -0
  741. package/lib/typescript/ui/components/utils/roundLayoutSize.d.ts.map +1 -0
  742. package/lib/typescript/ui/components/utils/splitStyles.d.ts +20 -0
  743. package/lib/typescript/ui/components/utils/splitStyles.d.ts.map +1 -0
  744. package/lib/typescript/ui/constants/iconColors.d.ts +130 -0
  745. package/lib/typescript/ui/constants/iconColors.d.ts.map +1 -0
  746. package/lib/typescript/ui/constants/spacing.d.ts +33 -0
  747. package/lib/typescript/ui/constants/spacing.d.ts.map +1 -0
  748. package/lib/typescript/ui/constants/theme.d.ts +97 -0
  749. package/lib/typescript/ui/constants/theme.d.ts.map +1 -0
  750. package/lib/typescript/ui/context/OxyContext.d.ts +23 -17
  751. package/lib/typescript/ui/context/OxyContext.d.ts.map +1 -1
  752. package/lib/typescript/ui/context/ThemeContext.d.ts +19 -0
  753. package/lib/typescript/ui/context/ThemeContext.d.ts.map +1 -0
  754. package/lib/typescript/ui/context/hooks/useAuthOperations.d.ts +51 -0
  755. package/lib/typescript/ui/context/hooks/useAuthOperations.d.ts.map +1 -0
  756. package/lib/typescript/ui/context/hooks/useDeviceManagement.d.ts +27 -0
  757. package/lib/typescript/ui/context/hooks/useDeviceManagement.d.ts.map +1 -0
  758. package/lib/typescript/ui/context/hooks/useLanguageManagement.d.ts +25 -0
  759. package/lib/typescript/ui/context/hooks/useLanguageManagement.d.ts.map +1 -0
  760. package/lib/typescript/ui/context/hooks/useSessionManagement.d.ts +39 -0
  761. package/lib/typescript/ui/context/hooks/useSessionManagement.d.ts.map +1 -0
  762. package/lib/typescript/ui/context/hooks/useStorage.d.ts +22 -0
  763. package/lib/typescript/ui/context/hooks/useStorage.d.ts.map +1 -0
  764. package/lib/typescript/ui/context/utils/errorHandlers.d.ts +30 -0
  765. package/lib/typescript/ui/context/utils/errorHandlers.d.ts.map +1 -0
  766. package/lib/typescript/ui/context/utils/sessionHelpers.d.ts +59 -0
  767. package/lib/typescript/ui/context/utils/sessionHelpers.d.ts.map +1 -0
  768. package/lib/typescript/ui/context/utils/storageHelpers.d.ts +31 -0
  769. package/lib/typescript/ui/context/utils/storageHelpers.d.ts.map +1 -0
  770. package/lib/typescript/ui/hooks/index.d.ts +2 -0
  771. package/lib/typescript/ui/hooks/index.d.ts.map +1 -1
  772. package/lib/typescript/ui/hooks/use-color-scheme.d.ts +8 -0
  773. package/lib/typescript/ui/hooks/use-color-scheme.d.ts.map +1 -0
  774. package/lib/typescript/ui/hooks/use-haptic-press.d.ts +8 -0
  775. package/lib/typescript/ui/hooks/use-haptic-press.d.ts.map +1 -0
  776. package/lib/typescript/ui/hooks/useDeviceManagement.d.ts +27 -0
  777. package/lib/typescript/ui/hooks/useDeviceManagement.d.ts.map +1 -0
  778. package/lib/typescript/ui/hooks/useLanguageManagement.d.ts +25 -0
  779. package/lib/typescript/ui/hooks/useLanguageManagement.d.ts.map +1 -0
  780. package/lib/typescript/ui/hooks/useProfileEditing.d.ts +36 -0
  781. package/lib/typescript/ui/hooks/useProfileEditing.d.ts.map +1 -0
  782. package/lib/typescript/ui/hooks/useSessionManagement.d.ts +39 -0
  783. package/lib/typescript/ui/hooks/useSessionManagement.d.ts.map +1 -0
  784. package/lib/typescript/ui/hooks/useStorage.d.ts +22 -0
  785. package/lib/typescript/ui/hooks/useStorage.d.ts.map +1 -0
  786. package/lib/typescript/ui/hooks/useThemeColors.d.ts +94 -0
  787. package/lib/typescript/ui/hooks/useThemeColors.d.ts.map +1 -0
  788. package/lib/typescript/ui/hooks/useThemeStyles.d.ts +45 -0
  789. package/lib/typescript/ui/hooks/useThemeStyles.d.ts.map +1 -0
  790. package/lib/typescript/ui/index.d.ts +2 -2
  791. package/lib/typescript/ui/index.d.ts.map +1 -1
  792. package/lib/typescript/ui/navigation/bottomSheetManager.d.ts +74 -0
  793. package/lib/typescript/ui/navigation/bottomSheetManager.d.ts.map +1 -0
  794. package/lib/typescript/ui/navigation/routes.d.ts +4 -7
  795. package/lib/typescript/ui/navigation/routes.d.ts.map +1 -1
  796. package/lib/typescript/ui/screens/AccountCenterScreen.d.ts +1 -1
  797. package/lib/typescript/ui/screens/AccountCenterScreen.d.ts.map +1 -1
  798. package/lib/typescript/ui/screens/AccountOverviewScreen.d.ts +1 -1
  799. package/lib/typescript/ui/screens/AccountOverviewScreen.d.ts.map +1 -1
  800. package/lib/typescript/ui/screens/AccountSettingsScreen.d.ts +1 -1
  801. package/lib/typescript/ui/screens/AccountSettingsScreen.d.ts.map +1 -1
  802. package/lib/typescript/ui/screens/AccountSwitcherScreen.d.ts +1 -1
  803. package/lib/typescript/ui/screens/AccountSwitcherScreen.d.ts.map +1 -1
  804. package/lib/typescript/ui/screens/AccountVerificationScreen.d.ts +1 -1
  805. package/lib/typescript/ui/screens/AccountVerificationScreen.d.ts.map +1 -1
  806. package/lib/typescript/ui/screens/AppInfoScreen.d.ts +1 -1
  807. package/lib/typescript/ui/screens/AppInfoScreen.d.ts.map +1 -1
  808. package/lib/typescript/ui/screens/FeedbackScreen.d.ts +1 -1
  809. package/lib/typescript/ui/screens/FeedbackScreen.d.ts.map +1 -1
  810. package/lib/typescript/ui/screens/FileManagementScreen.d.ts +1 -36
  811. package/lib/typescript/ui/screens/FileManagementScreen.d.ts.map +1 -1
  812. package/lib/typescript/ui/screens/HelpSupportScreen.d.ts +1 -1
  813. package/lib/typescript/ui/screens/HelpSupportScreen.d.ts.map +1 -1
  814. package/lib/typescript/ui/screens/HistoryViewScreen.d.ts +1 -1
  815. package/lib/typescript/ui/screens/HistoryViewScreen.d.ts.map +1 -1
  816. package/lib/typescript/ui/screens/LanguageSelectorScreen.d.ts +1 -1
  817. package/lib/typescript/ui/screens/LanguageSelectorScreen.d.ts.map +1 -1
  818. package/lib/typescript/ui/screens/LegalDocumentsScreen.d.ts +1 -1
  819. package/lib/typescript/ui/screens/LegalDocumentsScreen.d.ts.map +1 -1
  820. package/lib/typescript/ui/screens/OxyAuthScreen.d.ts +16 -0
  821. package/lib/typescript/ui/screens/OxyAuthScreen.d.ts.map +1 -0
  822. package/lib/typescript/ui/screens/PaymentGatewayScreen.d.ts +1 -1
  823. package/lib/typescript/ui/screens/PaymentGatewayScreen.d.ts.map +1 -1
  824. package/lib/typescript/ui/screens/PremiumSubscriptionScreen.d.ts +1 -1
  825. package/lib/typescript/ui/screens/PremiumSubscriptionScreen.d.ts.map +1 -1
  826. package/lib/typescript/ui/screens/PrivacySettingsScreen.d.ts +1 -1
  827. package/lib/typescript/ui/screens/PrivacySettingsScreen.d.ts.map +1 -1
  828. package/lib/typescript/ui/screens/ProfileScreen.d.ts +1 -1
  829. package/lib/typescript/ui/screens/ProfileScreen.d.ts.map +1 -1
  830. package/lib/typescript/ui/screens/SavesCollectionsScreen.d.ts +1 -1
  831. package/lib/typescript/ui/screens/SavesCollectionsScreen.d.ts.map +1 -1
  832. package/lib/typescript/ui/screens/SearchSettingsScreen.d.ts +1 -1
  833. package/lib/typescript/ui/screens/SearchSettingsScreen.d.ts.map +1 -1
  834. package/lib/typescript/ui/screens/SessionManagementScreen.d.ts +1 -1
  835. package/lib/typescript/ui/screens/SessionManagementScreen.d.ts.map +1 -1
  836. package/lib/typescript/ui/screens/UserLinksScreen.d.ts +2 -2
  837. package/lib/typescript/ui/screens/UserLinksScreen.d.ts.map +1 -1
  838. package/lib/typescript/ui/screens/WelcomeNewUserScreen.d.ts +1 -1
  839. package/lib/typescript/ui/screens/WelcomeNewUserScreen.d.ts.map +1 -1
  840. package/lib/typescript/ui/screens/karma/KarmaAboutScreen.d.ts +1 -1
  841. package/lib/typescript/ui/screens/karma/KarmaAboutScreen.d.ts.map +1 -1
  842. package/lib/typescript/ui/screens/karma/KarmaCenterScreen.d.ts +1 -1
  843. package/lib/typescript/ui/screens/karma/KarmaCenterScreen.d.ts.map +1 -1
  844. package/lib/typescript/ui/screens/karma/KarmaFAQScreen.d.ts +1 -1
  845. package/lib/typescript/ui/screens/karma/KarmaLeaderboardScreen.d.ts +1 -1
  846. package/lib/typescript/ui/screens/karma/KarmaLeaderboardScreen.d.ts.map +1 -1
  847. package/lib/typescript/ui/screens/karma/KarmaRewardsScreen.d.ts +1 -1
  848. package/lib/typescript/ui/screens/karma/KarmaRewardsScreen.d.ts.map +1 -1
  849. package/lib/typescript/ui/screens/karma/KarmaRulesScreen.d.ts +1 -1
  850. package/lib/typescript/ui/screens/karma/KarmaRulesScreen.d.ts.map +1 -1
  851. package/lib/typescript/ui/stores/authStore.d.ts +1 -2
  852. package/lib/typescript/ui/stores/authStore.d.ts.map +1 -1
  853. package/lib/typescript/ui/styles/authStyles.d.ts +0 -10
  854. package/lib/typescript/ui/styles/authStyles.d.ts.map +1 -1
  855. package/lib/typescript/ui/styles/spacing.d.ts +7 -1
  856. package/lib/typescript/ui/styles/spacing.d.ts.map +1 -1
  857. package/lib/typescript/ui/types/fileManagement.d.ts +41 -0
  858. package/lib/typescript/ui/types/fileManagement.d.ts.map +1 -0
  859. package/lib/typescript/ui/types/navigation.d.ts +36 -0
  860. package/lib/typescript/ui/types/navigation.d.ts.map +1 -0
  861. package/lib/typescript/ui/utils/colorUtils.d.ts +14 -0
  862. package/lib/typescript/ui/utils/colorUtils.d.ts.map +1 -0
  863. package/lib/typescript/ui/utils/errorHandlers.d.ts +30 -0
  864. package/lib/typescript/ui/utils/errorHandlers.d.ts.map +1 -0
  865. package/lib/typescript/ui/utils/fileManagement.d.ts +39 -0
  866. package/lib/typescript/ui/utils/fileManagement.d.ts.map +1 -0
  867. package/lib/typescript/ui/utils/sessionHelpers.d.ts +59 -0
  868. package/lib/typescript/ui/utils/sessionHelpers.d.ts.map +1 -0
  869. package/lib/typescript/ui/utils/storageHelpers.d.ts +31 -0
  870. package/lib/typescript/ui/utils/storageHelpers.d.ts.map +1 -0
  871. package/lib/typescript/ui/utils/themeUtils.d.ts +24 -0
  872. package/lib/typescript/ui/utils/themeUtils.d.ts.map +1 -0
  873. package/lib/typescript/ui/utils/user-utils.d.ts +29 -0
  874. package/lib/typescript/ui/utils/user-utils.d.ts.map +1 -0
  875. package/lib/typescript/utils/errorUtils.d.ts.map +1 -1
  876. package/package.json +26 -15
  877. package/src/assets/lottie/welcomeheader_background_op1.json +1 -0
  878. package/src/core/HttpService.ts +97 -4
  879. package/src/core/OxyServices.base.ts +3 -1
  880. package/src/core/mixins/OxyServices.assets.ts +225 -27
  881. package/src/core/mixins/OxyServices.auth.ts +144 -80
  882. package/src/crypto/index.ts +20 -0
  883. package/src/crypto/keyManager.ts +213 -0
  884. package/src/crypto/recoveryPhrase.ts +146 -0
  885. package/src/crypto/signatureService.ts +258 -0
  886. package/src/i18n/locales/en-US.json +4 -0
  887. package/src/index.ts +13 -0
  888. package/src/models/interfaces.ts +1 -0
  889. package/src/types/bip39.d.ts +28 -0
  890. package/src/types/color.d.ts +18 -0
  891. package/src/types/elliptic.d.ts +60 -0
  892. package/src/types/expo-crypto.d.ts +28 -0
  893. package/src/types/expo-random.d.ts +8 -0
  894. package/src/types/expo-secure-store.d.ts +20 -0
  895. package/src/types/expo-vector-icons.d.ts +9 -0
  896. package/src/ui/components/ActivityIndicator.tsx +254 -0
  897. package/src/ui/components/AutoHeightScrollView.tsx +50 -0
  898. package/src/ui/components/BottomSheet.tsx +443 -0
  899. package/src/ui/components/BottomSheetRouter.tsx +407 -0
  900. package/src/ui/components/CrossFadeIcon.tsx +140 -0
  901. package/src/ui/components/EmptyState.tsx +39 -0
  902. package/src/ui/components/GroupedItem.tsx +98 -96
  903. package/src/ui/components/GroupedSection.tsx +24 -29
  904. package/src/ui/components/Header.tsx +129 -49
  905. package/src/ui/components/HelperText.tsx +160 -0
  906. package/src/ui/components/Icon.tsx +181 -0
  907. package/src/ui/components/IconButton/IconButton.tsx +235 -0
  908. package/src/ui/components/IconButton/utils.ts +190 -0
  909. package/src/ui/components/LoadingState.tsx +46 -0
  910. package/src/ui/components/OxyPayButton.tsx +1 -12
  911. package/src/ui/components/OxyProvider.tsx +49 -409
  912. package/src/ui/components/OxySignInButton.tsx +11 -18
  913. package/src/ui/components/ProfileCard.tsx +7 -4
  914. package/src/ui/components/QuickActions.tsx +7 -4
  915. package/src/ui/components/Section.tsx +6 -2
  916. package/src/ui/components/SectionTitle.tsx +7 -4
  917. package/src/ui/components/SettingRow.tsx +76 -0
  918. package/src/ui/components/StepBasedScreen.tsx +205 -187
  919. package/src/ui/components/Surface.tsx +384 -0
  920. package/src/ui/components/TextField/Addons/Outline.tsx +64 -0
  921. package/src/ui/components/TextField/Addons/Underline.tsx +78 -0
  922. package/src/ui/components/TextField/Adornment/TextFieldAdornment.tsx +208 -0
  923. package/src/ui/components/TextField/Adornment/TextFieldAffix.tsx +212 -0
  924. package/src/ui/components/TextField/Adornment/TextFieldIcon.tsx +195 -0
  925. package/src/ui/components/TextField/Adornment/enums.tsx +12 -0
  926. package/src/ui/components/TextField/Adornment/types.tsx +11 -0
  927. package/src/ui/components/TextField/Adornment/utils.ts +66 -0
  928. package/src/ui/components/TextField/Label/InputLabel.tsx +219 -0
  929. package/src/ui/components/TextField/Label/LabelBackground.tsx +100 -0
  930. package/src/ui/components/TextField/TextFieldFlat.tsx +488 -0
  931. package/src/ui/components/TextField/TextFieldOutlined.tsx +464 -0
  932. package/src/ui/components/TextField/constants.tsx +48 -0
  933. package/src/ui/components/TextField/helpers.tsx +612 -0
  934. package/src/ui/components/TextField/types.tsx +156 -0
  935. package/src/ui/components/TextField.tsx +578 -0
  936. package/src/ui/components/TouchableRipple/Pressable.tsx +41 -0
  937. package/src/ui/components/TouchableRipple/TouchableRipple.native.tsx +146 -0
  938. package/src/ui/components/TouchableRipple/TouchableRipple.tsx +347 -0
  939. package/src/ui/components/TouchableRipple/utils.ts +66 -0
  940. package/src/ui/components/Typography/AnimatedText.tsx +107 -0
  941. package/src/ui/components/Typography/types.tsx +22 -0
  942. package/src/ui/components/fileManagement/FileDetailsModal.tsx +137 -0
  943. package/src/ui/components/fileManagement/FileViewer.tsx +380 -0
  944. package/src/ui/components/fileManagement/UploadPreview.tsx +175 -0
  945. package/src/ui/components/fileManagement/styles.ts +860 -0
  946. package/src/ui/components/index.ts +4 -1
  947. package/src/ui/components/profile/EditBioModal.tsx +184 -0
  948. package/src/ui/components/profile/EditDisplayNameModal.tsx +205 -0
  949. package/src/ui/components/profile/EditEmailModal.tsx +188 -0
  950. package/src/ui/components/profile/EditLinksModal.tsx +316 -0
  951. package/src/ui/components/profile/EditLocationModal.tsx +278 -0
  952. package/src/ui/components/profile/EditUsernameModal.tsx +183 -0
  953. package/src/ui/components/profile/TwoFactorSetupModal.tsx +442 -0
  954. package/src/ui/components/styles/overlay.tsx +88 -0
  955. package/src/ui/components/styles/shadow.tsx +136 -0
  956. package/src/ui/components/theming.tsx +114 -0
  957. package/src/ui/components/types.tsx +90 -0
  958. package/src/ui/components/utils/forwardRef.tsx +23 -0
  959. package/src/ui/components/utils/hasTouchHandler.tsx +23 -0
  960. package/src/ui/components/utils/roundLayoutSize.ts +2 -0
  961. package/src/ui/components/utils/splitStyles.ts +60 -0
  962. package/src/ui/constants/iconColors.ts +88 -0
  963. package/src/ui/constants/spacing.ts +45 -0
  964. package/src/ui/constants/theme.ts +120 -0
  965. package/src/ui/context/OxyContext.tsx +276 -894
  966. package/src/ui/context/ThemeContext.tsx +41 -0
  967. package/src/ui/context/hooks/useAuthOperations.ts +400 -0
  968. package/src/ui/context/hooks/useDeviceManagement.ts +108 -0
  969. package/src/ui/context/hooks/useLanguageManagement.ts +152 -0
  970. package/src/ui/context/hooks/useSessionManagement.ts +378 -0
  971. package/src/ui/context/hooks/useStorage.ts +104 -0
  972. package/src/ui/context/utils/errorHandlers.ts +136 -0
  973. package/src/ui/context/utils/sessionHelpers.ts +146 -0
  974. package/src/ui/context/utils/storageHelpers.ts +134 -0
  975. package/src/ui/hooks/index.ts +3 -1
  976. package/src/ui/hooks/use-color-scheme.ts +24 -0
  977. package/src/ui/hooks/use-haptic-press.ts +15 -0
  978. package/src/ui/hooks/useAssets.ts +1 -1
  979. package/src/ui/hooks/useDeviceManagement.ts +108 -0
  980. package/src/ui/hooks/useLanguageManagement.ts +152 -0
  981. package/src/ui/hooks/useProfileEditing.ts +151 -0
  982. package/src/ui/hooks/useSessionManagement.ts +378 -0
  983. package/src/ui/hooks/useStorage.ts +104 -0
  984. package/src/ui/hooks/useThemeColors.ts +26 -0
  985. package/src/ui/hooks/useThemeStyles.ts +85 -0
  986. package/src/ui/index.ts +1 -4
  987. package/src/ui/navigation/bottomSheetManager.ts +191 -0
  988. package/src/ui/navigation/routes.ts +107 -189
  989. package/src/ui/screens/AccountCenterScreen.tsx +67 -63
  990. package/src/ui/screens/AccountOverviewScreen.tsx +237 -95
  991. package/src/ui/screens/AccountSettingsScreen.tsx +546 -474
  992. package/src/ui/screens/AccountSwitcherScreen.tsx +113 -116
  993. package/src/ui/screens/AccountVerificationScreen.tsx +18 -20
  994. package/src/ui/screens/AppInfoScreen.tsx +37 -38
  995. package/src/ui/screens/FeedbackScreen.tsx +15 -12
  996. package/src/ui/screens/FileManagementScreen.tsx +764 -2026
  997. package/src/ui/screens/HelpSupportScreen.tsx +30 -23
  998. package/src/ui/screens/HistoryViewScreen.tsx +25 -56
  999. package/src/ui/screens/LanguageSelectorScreen.tsx +84 -170
  1000. package/src/ui/screens/LegalDocumentsScreen.tsx +18 -41
  1001. package/src/ui/screens/OxyAuthScreen.tsx +402 -0
  1002. package/src/ui/screens/PaymentGatewayScreen.tsx +20 -22
  1003. package/src/ui/screens/PremiumSubscriptionScreen.tsx +13 -10
  1004. package/src/ui/screens/PrivacySettingsScreen.tsx +150 -198
  1005. package/src/ui/screens/ProfileScreen.tsx +7 -6
  1006. package/src/ui/screens/SavesCollectionsScreen.tsx +39 -62
  1007. package/src/ui/screens/SearchSettingsScreen.tsx +36 -86
  1008. package/src/ui/screens/SessionManagementScreen.tsx +25 -17
  1009. package/src/ui/screens/UserLinksScreen.tsx +10 -11
  1010. package/src/ui/screens/WelcomeNewUserScreen.tsx +41 -41
  1011. package/src/ui/screens/karma/KarmaAboutScreen.tsx +13 -9
  1012. package/src/ui/screens/karma/KarmaCenterScreen.tsx +70 -70
  1013. package/src/ui/screens/karma/KarmaFAQScreen.tsx +96 -96
  1014. package/src/ui/screens/karma/KarmaLeaderboardScreen.tsx +15 -10
  1015. package/src/ui/screens/karma/KarmaRewardsScreen.tsx +605 -60
  1016. package/src/ui/screens/karma/KarmaRulesScreen.tsx +14 -9
  1017. package/src/ui/stores/authStore.ts +1 -1
  1018. package/src/ui/styles/authStyles.ts +5 -11
  1019. package/src/ui/styles/spacing.ts +21 -2
  1020. package/src/ui/styles/theme.ts +1 -1
  1021. package/src/ui/types/fileManagement.ts +51 -0
  1022. package/src/ui/types/navigation.ts +61 -0
  1023. package/src/ui/utils/colorUtils.ts +46 -0
  1024. package/src/ui/utils/errorHandlers.ts +136 -0
  1025. package/src/ui/utils/fileManagement.ts +190 -0
  1026. package/src/ui/utils/sessionHelpers.ts +146 -0
  1027. package/src/ui/utils/storageHelpers.ts +134 -0
  1028. package/src/ui/utils/themeUtils.ts +43 -0
  1029. package/src/ui/utils/user-utils.ts +58 -0
  1030. package/src/utils/errorUtils.ts +14 -4
  1031. package/lib/commonjs/ui/components/internal/TextField.js +0 -665
  1032. package/lib/commonjs/ui/components/internal/TextField.js.map +0 -1
  1033. package/lib/commonjs/ui/navigation/OxyRouter.js +0 -213
  1034. package/lib/commonjs/ui/navigation/OxyRouter.js.map +0 -1
  1035. package/lib/commonjs/ui/navigation/types.js +0 -13
  1036. package/lib/commonjs/ui/navigation/types.js.map +0 -1
  1037. package/lib/commonjs/ui/screens/AccountManagementDemo.js +0 -298
  1038. package/lib/commonjs/ui/screens/AccountManagementDemo.js.map +0 -1
  1039. package/lib/commonjs/ui/screens/RecoverAccountScreen.js +0 -137
  1040. package/lib/commonjs/ui/screens/RecoverAccountScreen.js.map +0 -1
  1041. package/lib/commonjs/ui/screens/SignInScreen.js +0 -270
  1042. package/lib/commonjs/ui/screens/SignInScreen.js.map +0 -1
  1043. package/lib/commonjs/ui/screens/SignUpScreen.js +0 -229
  1044. package/lib/commonjs/ui/screens/SignUpScreen.js.map +0 -1
  1045. package/lib/commonjs/ui/screens/steps/RecoverRequestStep.js +0 -135
  1046. package/lib/commonjs/ui/screens/steps/RecoverRequestStep.js.map +0 -1
  1047. package/lib/commonjs/ui/screens/steps/RecoverResetPasswordStep.js +0 -165
  1048. package/lib/commonjs/ui/screens/steps/RecoverResetPasswordStep.js.map +0 -1
  1049. package/lib/commonjs/ui/screens/steps/RecoverSuccessStep.js +0 -159
  1050. package/lib/commonjs/ui/screens/steps/RecoverSuccessStep.js.map +0 -1
  1051. package/lib/commonjs/ui/screens/steps/RecoverVerifyStep.js +0 -144
  1052. package/lib/commonjs/ui/screens/steps/RecoverVerifyStep.js.map +0 -1
  1053. package/lib/commonjs/ui/screens/steps/SignInPasswordStep.js +0 -358
  1054. package/lib/commonjs/ui/screens/steps/SignInPasswordStep.js.map +0 -1
  1055. package/lib/commonjs/ui/screens/steps/SignInTotpStep.js +0 -188
  1056. package/lib/commonjs/ui/screens/steps/SignInTotpStep.js.map +0 -1
  1057. package/lib/commonjs/ui/screens/steps/SignInUsernameStep.js +0 -509
  1058. package/lib/commonjs/ui/screens/steps/SignInUsernameStep.js.map +0 -1
  1059. package/lib/commonjs/ui/screens/steps/SignUpIdentityStep.js +0 -200
  1060. package/lib/commonjs/ui/screens/steps/SignUpIdentityStep.js.map +0 -1
  1061. package/lib/commonjs/ui/screens/steps/SignUpSecurityStep.js +0 -185
  1062. package/lib/commonjs/ui/screens/steps/SignUpSecurityStep.js.map +0 -1
  1063. package/lib/commonjs/ui/screens/steps/SignUpSummaryStep.js +0 -138
  1064. package/lib/commonjs/ui/screens/steps/SignUpSummaryStep.js.map +0 -1
  1065. package/lib/commonjs/ui/screens/steps/SignUpWelcomeStep.js +0 -150
  1066. package/lib/commonjs/ui/screens/steps/SignUpWelcomeStep.js.map +0 -1
  1067. package/lib/module/package.json +0 -1
  1068. package/lib/module/ui/components/internal/TextField.js +0 -660
  1069. package/lib/module/ui/components/internal/TextField.js.map +0 -1
  1070. package/lib/module/ui/navigation/OxyRouter.js +0 -209
  1071. package/lib/module/ui/navigation/OxyRouter.js.map +0 -1
  1072. package/lib/module/ui/navigation/types.js +0 -22
  1073. package/lib/module/ui/navigation/types.js.map +0 -1
  1074. package/lib/module/ui/screens/AccountManagementDemo.js +0 -295
  1075. package/lib/module/ui/screens/AccountManagementDemo.js.map +0 -1
  1076. package/lib/module/ui/screens/RecoverAccountScreen.js +0 -133
  1077. package/lib/module/ui/screens/RecoverAccountScreen.js.map +0 -1
  1078. package/lib/module/ui/screens/SignInScreen.js +0 -265
  1079. package/lib/module/ui/screens/SignInScreen.js.map +0 -1
  1080. package/lib/module/ui/screens/SignUpScreen.js +0 -224
  1081. package/lib/module/ui/screens/SignUpScreen.js.map +0 -1
  1082. package/lib/module/ui/screens/steps/RecoverRequestStep.js +0 -130
  1083. package/lib/module/ui/screens/steps/RecoverRequestStep.js.map +0 -1
  1084. package/lib/module/ui/screens/steps/RecoverResetPasswordStep.js +0 -160
  1085. package/lib/module/ui/screens/steps/RecoverResetPasswordStep.js.map +0 -1
  1086. package/lib/module/ui/screens/steps/RecoverSuccessStep.js +0 -154
  1087. package/lib/module/ui/screens/steps/RecoverSuccessStep.js.map +0 -1
  1088. package/lib/module/ui/screens/steps/RecoverVerifyStep.js +0 -139
  1089. package/lib/module/ui/screens/steps/RecoverVerifyStep.js.map +0 -1
  1090. package/lib/module/ui/screens/steps/SignInPasswordStep.js +0 -353
  1091. package/lib/module/ui/screens/steps/SignInPasswordStep.js.map +0 -1
  1092. package/lib/module/ui/screens/steps/SignInTotpStep.js +0 -183
  1093. package/lib/module/ui/screens/steps/SignInTotpStep.js.map +0 -1
  1094. package/lib/module/ui/screens/steps/SignInUsernameStep.js +0 -504
  1095. package/lib/module/ui/screens/steps/SignInUsernameStep.js.map +0 -1
  1096. package/lib/module/ui/screens/steps/SignUpIdentityStep.js +0 -195
  1097. package/lib/module/ui/screens/steps/SignUpIdentityStep.js.map +0 -1
  1098. package/lib/module/ui/screens/steps/SignUpSecurityStep.js +0 -180
  1099. package/lib/module/ui/screens/steps/SignUpSecurityStep.js.map +0 -1
  1100. package/lib/module/ui/screens/steps/SignUpSummaryStep.js +0 -133
  1101. package/lib/module/ui/screens/steps/SignUpSummaryStep.js.map +0 -1
  1102. package/lib/module/ui/screens/steps/SignUpWelcomeStep.js +0 -145
  1103. package/lib/module/ui/screens/steps/SignUpWelcomeStep.js.map +0 -1
  1104. package/lib/typescript/ui/components/internal/TextField.d.ts +0 -41
  1105. package/lib/typescript/ui/components/internal/TextField.d.ts.map +0 -1
  1106. package/lib/typescript/ui/navigation/OxyRouter.d.ts +0 -7
  1107. package/lib/typescript/ui/navigation/OxyRouter.d.ts.map +0 -1
  1108. package/lib/typescript/ui/navigation/types.d.ts +0 -141
  1109. package/lib/typescript/ui/navigation/types.d.ts.map +0 -1
  1110. package/lib/typescript/ui/screens/AccountManagementDemo.d.ts +0 -8
  1111. package/lib/typescript/ui/screens/AccountManagementDemo.d.ts.map +0 -1
  1112. package/lib/typescript/ui/screens/RecoverAccountScreen.d.ts +0 -5
  1113. package/lib/typescript/ui/screens/RecoverAccountScreen.d.ts.map +0 -1
  1114. package/lib/typescript/ui/screens/SignInScreen.d.ts +0 -5
  1115. package/lib/typescript/ui/screens/SignInScreen.d.ts.map +0 -1
  1116. package/lib/typescript/ui/screens/SignUpScreen.d.ts +0 -5
  1117. package/lib/typescript/ui/screens/SignUpScreen.d.ts.map +0 -1
  1118. package/lib/typescript/ui/screens/steps/RecoverRequestStep.d.ts +0 -24
  1119. package/lib/typescript/ui/screens/steps/RecoverRequestStep.d.ts.map +0 -1
  1120. package/lib/typescript/ui/screens/steps/RecoverResetPasswordStep.d.ts +0 -24
  1121. package/lib/typescript/ui/screens/steps/RecoverResetPasswordStep.d.ts.map +0 -1
  1122. package/lib/typescript/ui/screens/steps/RecoverSuccessStep.d.ts +0 -19
  1123. package/lib/typescript/ui/screens/steps/RecoverSuccessStep.d.ts.map +0 -1
  1124. package/lib/typescript/ui/screens/steps/RecoverVerifyStep.d.ts +0 -26
  1125. package/lib/typescript/ui/screens/steps/RecoverVerifyStep.d.ts.map +0 -1
  1126. package/lib/typescript/ui/screens/steps/SignInPasswordStep.d.ts +0 -30
  1127. package/lib/typescript/ui/screens/steps/SignInPasswordStep.d.ts.map +0 -1
  1128. package/lib/typescript/ui/screens/steps/SignInTotpStep.d.ts +0 -19
  1129. package/lib/typescript/ui/screens/steps/SignInTotpStep.d.ts.map +0 -1
  1130. package/lib/typescript/ui/screens/steps/SignInUsernameStep.d.ts +0 -28
  1131. package/lib/typescript/ui/screens/steps/SignInUsernameStep.d.ts.map +0 -1
  1132. package/lib/typescript/ui/screens/steps/SignUpIdentityStep.d.ts +0 -26
  1133. package/lib/typescript/ui/screens/steps/SignUpIdentityStep.d.ts.map +0 -1
  1134. package/lib/typescript/ui/screens/steps/SignUpSecurityStep.d.ts +0 -27
  1135. package/lib/typescript/ui/screens/steps/SignUpSecurityStep.d.ts.map +0 -1
  1136. package/lib/typescript/ui/screens/steps/SignUpSummaryStep.d.ts +0 -17
  1137. package/lib/typescript/ui/screens/steps/SignUpSummaryStep.d.ts.map +0 -1
  1138. package/lib/typescript/ui/screens/steps/SignUpWelcomeStep.d.ts +0 -14
  1139. package/lib/typescript/ui/screens/steps/SignUpWelcomeStep.d.ts.map +0 -1
  1140. package/src/ui/components/internal/TextField.tsx +0 -808
  1141. package/src/ui/navigation/OxyRouter.tsx +0 -216
  1142. package/src/ui/navigation/types.ts +0 -164
  1143. package/src/ui/screens/AccountManagementDemo.tsx +0 -297
  1144. package/src/ui/screens/RecoverAccountScreen.tsx +0 -141
  1145. package/src/ui/screens/SignInScreen.tsx +0 -297
  1146. package/src/ui/screens/SignUpScreen.tsx +0 -239
  1147. package/src/ui/screens/steps/RecoverRequestStep.tsx +0 -143
  1148. package/src/ui/screens/steps/RecoverResetPasswordStep.tsx +0 -162
  1149. package/src/ui/screens/steps/RecoverSuccessStep.tsx +0 -148
  1150. package/src/ui/screens/steps/RecoverVerifyStep.tsx +0 -154
  1151. package/src/ui/screens/steps/SignInPasswordStep.tsx +0 -343
  1152. package/src/ui/screens/steps/SignInTotpStep.tsx +0 -163
  1153. package/src/ui/screens/steps/SignInUsernameStep.tsx +0 -560
  1154. package/src/ui/screens/steps/SignUpIdentityStep.tsx +0 -217
  1155. package/src/ui/screens/steps/SignUpSecurityStep.tsx +0 -207
  1156. package/src/ui/screens/steps/SignUpSummaryStep.tsx +0 -155
  1157. package/src/ui/screens/steps/SignUpWelcomeStep.tsx +0 -127
@@ -6,70 +6,20 @@ Object.defineProperty(exports, "__esModule", {
6
6
  exports.useOxy = exports.default = exports.OxyProvider = exports.OxyContextProvider = void 0;
7
7
  var _react = require("react");
8
8
  var _core = require("../../core");
9
- var _sessionUtils = require("../../utils/sessionUtils");
10
- var _deviceManager = require("../../utils/deviceManager");
11
- var _useSessionSocket = require("../hooks/useSessionSocket");
12
9
  var _sonner = require("../../lib/sonner");
13
10
  var _authStore = require("../stores/authStore");
14
- var _languageUtils = require("../../utils/languageUtils");
11
+ var _shallow = require("zustand/react/shallow");
12
+ var _useSessionSocket = require("../hooks/useSessionSocket");
13
+ var _useStorage = require("../hooks/useStorage");
14
+ var _useLanguageManagement = require("../hooks/useLanguageManagement");
15
+ var _useSessionManagement = require("../hooks/useSessionManagement");
16
+ var _useAuthOperations = require("./hooks/useAuthOperations");
17
+ var _useDeviceManagement = require("../hooks/useDeviceManagement");
18
+ var _storageHelpers = require("../utils/storageHelpers");
19
+ var _errorHandlers = require("../utils/errorHandlers");
20
+ var _bottomSheetManager = require("../navigation/bottomSheetManager");
15
21
  var _jsxRuntime = require("react/jsx-runtime");
16
- function _interopRequireWildcard(e, t) { if ("function" == typeof WeakMap) var r = new WeakMap(), n = new WeakMap(); return (_interopRequireWildcard = function (e, t) { if (!t && e && e.__esModule) return e; var o, i, f = { __proto__: null, default: e }; if (null === e || "object" != typeof e && "function" != typeof e) return f; if (o = t ? n : r) { if (o.has(e)) return o.get(e); o.set(e, f); } for (const t in e) "default" !== t && {}.hasOwnProperty.call(e, t) && ((i = (o = Object.defineProperty) && Object.getOwnPropertyDescriptor(e, t)) && (i.get || i.set) ? o(f, t, i) : f[t] = e[t]); return f; })(e, t); } // Define the context shape
17
- // Create the context with default values
18
22
  const OxyContext = /*#__PURE__*/(0, _react.createContext)(null);
19
-
20
- // Props for the OxyContextProvider
21
-
22
- // Platform storage implementation
23
-
24
- // Web localStorage implementation
25
- class WebStorage {
26
- async getItem(key) {
27
- return localStorage.getItem(key);
28
- }
29
- async setItem(key, value) {
30
- localStorage.setItem(key, value);
31
- }
32
- async removeItem(key) {
33
- localStorage.removeItem(key);
34
- }
35
- async clear() {
36
- localStorage.clear();
37
- }
38
- }
39
-
40
- // React Native AsyncStorage implementation
41
- let AsyncStorage;
42
-
43
- // Determine the platform and set up storage
44
- const isReactNative = () => {
45
- return typeof navigator !== 'undefined' && navigator.product === 'ReactNative';
46
- };
47
-
48
- // Get appropriate storage for the platform
49
- const getStorage = async () => {
50
- if (isReactNative()) {
51
- if (!AsyncStorage) {
52
- try {
53
- const asyncStorageModule = await Promise.resolve().then(() => _interopRequireWildcard(require('@react-native-async-storage/async-storage')));
54
- AsyncStorage = asyncStorageModule.default;
55
- } catch (error) {
56
- console.error('Failed to import AsyncStorage:', error);
57
- throw new Error('AsyncStorage is required in React Native environment');
58
- }
59
- }
60
- return AsyncStorage;
61
- }
62
- return new WebStorage();
63
- };
64
-
65
- // Storage keys for sessions
66
- const getStorageKeys = (prefix = 'oxy_session') => ({
67
- activeSessionId: `${prefix}_active_session_id`,
68
- // Only store the active session ID
69
- sessionIds: `${prefix}_session_ids`,
70
- // Store all session IDs for quick account loading
71
- language: `${prefix}_language` // Store the selected language
72
- });
73
23
  let cachedUseFollowHook = null;
74
24
  const loadUseFollowHook = () => {
75
25
  if (cachedUseFollowHook) {
@@ -99,10 +49,8 @@ const OxyProvider = ({
99
49
  baseURL,
100
50
  storageKeyPrefix = 'oxy_session',
101
51
  onAuthStateChange,
102
- onError,
103
- bottomSheetRef
52
+ onError
104
53
  }) => {
105
- // Create oxyServices automatically if not provided
106
54
  const oxyServicesRef = (0, _react.useRef)(null);
107
55
  if (!oxyServicesRef.current) {
108
56
  if (providedOxyServices) {
@@ -116,807 +64,214 @@ const OxyProvider = ({
116
64
  }
117
65
  }
118
66
  const oxyServices = oxyServicesRef.current;
119
-
120
- // Zustand state
121
- const user = (0, _authStore.useAuthStore)(state => state.user);
122
- const isAuthenticated = (0, _authStore.useAuthStore)(state => state.isAuthenticated);
123
- const isLoading = (0, _authStore.useAuthStore)(state => state.isLoading);
124
- const error = (0, _authStore.useAuthStore)(state => state.error);
125
- const loginSuccess = (0, _authStore.useAuthStore)(state => state.loginSuccess);
126
- const loginFailure = (0, _authStore.useAuthStore)(state => state.loginFailure);
127
- const logoutStore = (0, _authStore.useAuthStore)(state => state.logout);
128
-
129
- // Local state for non-auth fields
130
- const [minimalUser, setMinimalUser] = (0, _react.useState)(null);
131
- const [sessions, setSessions] = (0, _react.useState)([]);
132
- const [activeSessionId, setActiveSessionId] = (0, _react.useState)(null);
133
-
134
- // Track in-flight refresh to prevent duplicate calls
135
- const refreshInFlightRef = (0, _react.useRef)(null);
136
-
137
- // Track recently removed session IDs to avoid validating them (cleared after 5 seconds)
138
- const removedSessionsRef = (0, _react.useRef)(new Set());
139
- const [storage, setStorage] = (0, _react.useState)(null);
140
- const [currentLanguage, setCurrentLanguage] = (0, _react.useState)('en-US');
141
- const useFollowHook = (0, _react.useMemo)(() => loadUseFollowHook(), []);
142
-
143
- // Storage keys (memoized to prevent infinite loops) - declared early for use in helpers
144
- const keys = (0, _react.useMemo)(() => getStorageKeys(storageKeyPrefix), [storageKeyPrefix]);
145
-
146
- // Helper to apply language preference from user/server
147
- const applyLanguagePreference = (0, _react.useCallback)(async user => {
148
- const userLanguage = user?.language;
149
- if (!userLanguage || !storage) return;
150
- try {
151
- const serverLang = (0, _languageUtils.normalizeLanguageCode)(userLanguage);
152
- await storage.setItem(keys.language, serverLang);
153
- setCurrentLanguage(serverLang);
154
- } catch (e) {
155
- if (__DEV__) {
156
- console.warn('Failed to apply server language preference', e);
157
- }
67
+ const {
68
+ user,
69
+ isAuthenticated,
70
+ isLoading,
71
+ error,
72
+ loginSuccess,
73
+ loginFailure,
74
+ logoutStore
75
+ } = (0, _authStore.useAuthStore)((0, _shallow.useShallow)(state => ({
76
+ user: state.user,
77
+ isAuthenticated: state.isAuthenticated,
78
+ isLoading: state.isLoading,
79
+ error: state.error,
80
+ loginSuccess: state.loginSuccess,
81
+ loginFailure: state.loginFailure,
82
+ logoutStore: state.logout
83
+ })));
84
+ const [tokenReady, setTokenReady] = (0, _react.useState)(true);
85
+ const initializedRef = (0, _react.useRef)(false);
86
+ const setAuthState = _authStore.useAuthStore.setState;
87
+ const logger = (0, _react.useCallback)((message, err) => {
88
+ if (__DEV__) {
89
+ console.warn(`[OxyContext] ${message}`, err);
158
90
  }
159
- }, [storage, keys.language]);
160
- const mapSessionsToClient = (0, _react.useCallback)((sessions, fallbackDeviceId, fallbackUserId) => {
161
- return sessions.map(s => ({
162
- sessionId: s.sessionId,
163
- deviceId: s.deviceId || fallbackDeviceId || '',
164
- expiresAt: s.expiresAt || new Date(Date.now() + 7 * 24 * 60 * 60 * 1000).toISOString(),
165
- lastActive: s.lastActive || new Date().toISOString(),
166
- userId: s.user?.id || s.userId || s.user?._id?.toString() || fallbackUserId || '',
167
- isCurrent: Boolean(s.isCurrent)
168
- }));
169
91
  }, []);
170
-
171
- // Save all session IDs to storage for quick loading on initialization
172
- const saveSessionIds = (0, _react.useCallback)(async sessionIds => {
173
- if (!storage) return;
174
- try {
175
- const uniqueIds = Array.from(new Set(sessionIds));
176
- await storage.setItem(keys.sessionIds, JSON.stringify(uniqueIds));
177
- } catch (err) {
178
- if (__DEV__) {
179
- console.warn('Failed to save session IDs:', err);
180
- }
92
+ const storageKeys = (0, _react.useMemo)(() => (0, _storageHelpers.getStorageKeys)(storageKeyPrefix), [storageKeyPrefix]);
93
+ const {
94
+ storage
95
+ } = (0, _useStorage.useStorage)({
96
+ onError,
97
+ logger
98
+ });
99
+ const {
100
+ currentLanguage,
101
+ metadata: currentLanguageMetadata,
102
+ languageName: currentLanguageName,
103
+ nativeLanguageName: currentNativeLanguageName,
104
+ setLanguage,
105
+ applyLanguagePreference
106
+ } = (0, _useLanguageManagement.useLanguageManagement)({
107
+ storage,
108
+ languageKey: storageKeys.language,
109
+ onError,
110
+ logger
111
+ });
112
+ const {
113
+ sessions,
114
+ activeSessionId,
115
+ setActiveSessionId,
116
+ updateSessions,
117
+ switchSession,
118
+ refreshSessions,
119
+ clearSessionState,
120
+ saveActiveSessionId,
121
+ trackRemovedSession
122
+ } = (0, _useSessionManagement.useSessionManagement)({
123
+ oxyServices,
124
+ storage,
125
+ storageKeyPrefix,
126
+ loginSuccess,
127
+ logoutStore,
128
+ applyLanguagePreference,
129
+ onAuthStateChange,
130
+ onError,
131
+ setAuthError: message => setAuthState({
132
+ error: message
133
+ }),
134
+ logger,
135
+ setTokenReady
136
+ });
137
+ const {
138
+ createIdentity,
139
+ importIdentity,
140
+ signIn,
141
+ logout,
142
+ logoutAll,
143
+ hasIdentity,
144
+ getPublicKey
145
+ } = (0, _useAuthOperations.useAuthOperations)({
146
+ oxyServices,
147
+ storage,
148
+ sessions,
149
+ activeSessionId,
150
+ setActiveSessionId,
151
+ updateSessions,
152
+ saveActiveSessionId,
153
+ clearSessionState,
154
+ switchSession,
155
+ applyLanguagePreference,
156
+ onAuthStateChange,
157
+ onError,
158
+ loginSuccess,
159
+ loginFailure,
160
+ logoutStore,
161
+ setAuthState,
162
+ logger
163
+ });
164
+ const {
165
+ getDeviceSessions,
166
+ logoutAllDeviceSessions,
167
+ updateDeviceName
168
+ } = (0, _useDeviceManagement.useDeviceManagement)({
169
+ oxyServices,
170
+ activeSessionId,
171
+ onError,
172
+ clearSessionState,
173
+ logger
174
+ });
175
+ const useFollowHook = loadUseFollowHook();
176
+ const restoreSessionsFromStorage = (0, _react.useCallback)(async () => {
177
+ if (!storage) {
178
+ return;
181
179
  }
182
- }, [storage, keys.sessionIds]);
183
- const updateSessions = (0, _react.useCallback)((newSessions, mergeWithExisting = false) => {
184
- setSessions(prevSessions => {
185
- const sessionsToProcess = mergeWithExisting ? (0, _sessionUtils.mergeSessions)(prevSessions, newSessions, activeSessionId, false) : (0, _sessionUtils.normalizeAndSortSessions)(newSessions, activeSessionId, false);
186
-
187
- // Save all session IDs to storage
188
- if (storage) {
189
- const allSessionIds = sessionsToProcess.map(s => s.sessionId);
190
- saveSessionIds(allSessionIds).catch(() => {
191
- // Ignore errors - non-critical
192
- });
193
- }
194
- return (0, _sessionUtils.sessionsArraysEqual)(prevSessions, sessionsToProcess) ? prevSessions : sessionsToProcess;
195
- });
196
- }, [activeSessionId, storage, saveSessionIds]);
197
-
198
- // Token ready state - start optimistically so children render immediately
199
- const [tokenReady, setTokenReady] = (0, _react.useState)(true);
200
-
201
- // Clear all storage
202
- const clearAllStorage = (0, _react.useCallback)(async () => {
203
- if (!storage) return;
180
+ setTokenReady(false);
204
181
  try {
205
- await storage.removeItem(keys.activeSessionId);
206
- await storage.removeItem(keys.sessionIds);
207
- } catch (err) {
208
- if (__DEV__) {
209
- console.error('Clear storage error:', err);
210
- }
211
- onError?.({
212
- message: 'Failed to clear storage',
213
- code: 'STORAGE_ERROR',
214
- status: 500
215
- });
216
- }
217
- }, [storage, keys, onError]);
218
-
219
- // Initialize storage
220
- (0, _react.useEffect)(() => {
221
- const initStorage = async () => {
222
- try {
223
- const platformStorage = await getStorage();
224
- setStorage(platformStorage);
225
- } catch (error) {
226
- const errorMessage = error instanceof Error ? error.message : 'Failed to initialize storage';
227
- _authStore.useAuthStore.setState({
228
- error: errorMessage
229
- });
230
- onError?.({
231
- message: errorMessage,
232
- code: 'STORAGE_INIT_ERROR',
233
- status: 500
234
- });
235
- }
236
- };
237
- initStorage();
238
- }, [onError]);
239
-
240
- // Initialize authentication state
241
- // Note: We don't set isLoading during initialization to avoid showing spinners
242
- // Children render immediately and can check isTokenReady/isAuthenticated themselves
243
- (0, _react.useEffect)(() => {
244
- const initAuth = async () => {
245
- if (!storage) return;
246
- // Don't set isLoading during initialization - let it happen in background
247
- try {
248
- // Load saved language preference
249
- const savedLanguageRaw = await storage.getItem(keys.language);
250
- const savedLanguage = (0, _languageUtils.normalizeLanguageCode)(savedLanguageRaw) || savedLanguageRaw;
251
- if (savedLanguage) {
252
- setCurrentLanguage(savedLanguage);
253
- }
254
-
255
- // Load all stored session IDs and validate them
256
- const storedSessionIdsJson = await storage.getItem(keys.sessionIds);
257
- const storedSessionIds = storedSessionIdsJson ? JSON.parse(storedSessionIdsJson) : [];
258
-
259
- // Try to restore active session from storage
260
- const storedActiveSessionId = await storage.getItem(keys.activeSessionId);
261
- const validSessions = [];
262
-
263
- // If we have stored session IDs, validate them (even without active session)
264
- if (storedSessionIds.length > 0) {
265
- if (__DEV__) {
266
- console.log('Loading stored sessions on init:', storedSessionIds.length);
267
- }
268
-
269
- // Validate each stored session ID and build session list
270
- for (const sessionId of storedSessionIds) {
271
- try {
272
- const validation = await oxyServices.validateSession(sessionId, {
273
- useHeaderValidation: true
274
- });
275
- if (validation.valid && validation.user) {
276
- validSessions.push({
277
- sessionId,
278
- userId: validation.user.id?.toString() || '',
279
- deviceId: '',
280
- expiresAt: new Date(Date.now() + 7 * 24 * 60 * 60 * 1000).toISOString(),
281
- lastActive: new Date().toISOString(),
282
- isCurrent: sessionId === storedActiveSessionId
283
- });
284
- }
285
- } catch (e) {
286
- // Session invalid, skip it
287
- if (__DEV__) {
288
- console.warn('Session validation failed for:', sessionId, e);
289
- }
290
- }
291
- }
292
-
293
- // Update sessions list with validated sessions (even if no active session)
294
- if (validSessions.length > 0) {
295
- updateSessions(validSessions, false);
296
- }
297
- }
298
-
299
- // If we have an active session, authenticate with it
300
- if (storedActiveSessionId) {
182
+ const storedSessionIdsJson = await storage.getItem(storageKeys.sessionIds);
183
+ const storedSessionIds = storedSessionIdsJson ? JSON.parse(storedSessionIdsJson) : [];
184
+ const storedActiveSessionId = await storage.getItem(storageKeys.activeSessionId);
185
+ const validSessions = [];
186
+ if (storedSessionIds.length > 0) {
187
+ for (const sessionId of storedSessionIds) {
301
188
  try {
302
- const validation = await oxyServices.validateSession(storedActiveSessionId, {
189
+ const validation = await oxyServices.validateSession(sessionId, {
303
190
  useHeaderValidation: true
304
191
  });
305
- if (validation.valid) {
306
- setActiveSessionId(storedActiveSessionId);
307
- await oxyServices.getTokenBySession(storedActiveSessionId);
308
- const fullUser = await oxyServices.getUserBySession(storedActiveSessionId);
309
- loginSuccess(fullUser);
310
- setMinimalUser({
311
- id: fullUser.id,
312
- username: fullUser.username,
313
- avatar: fullUser.avatar
192
+ if (validation?.valid && validation.user) {
193
+ const now = new Date();
194
+ validSessions.push({
195
+ sessionId,
196
+ deviceId: '',
197
+ expiresAt: new Date(now.getTime() + 7 * 24 * 60 * 60 * 1000).toISOString(),
198
+ lastActive: now.toISOString(),
199
+ userId: validation.user.id?.toString() ?? '',
200
+ isCurrent: sessionId === storedActiveSessionId
314
201
  });
315
- await applyLanguagePreference(fullUser);
316
- try {
317
- const deviceSessions = await oxyServices.getDeviceSessions(storedActiveSessionId);
318
- const allDeviceSessions = mapSessionsToClient(deviceSessions, undefined, fullUser.id);
319
- updateSessions(allDeviceSessions, true);
320
- } catch (e) {
321
- if (__DEV__) {
322
- console.warn('Failed to get device sessions on init, falling back to user sessions:', e);
323
- }
324
- const serverSessions = await oxyServices.getSessionsBySessionId(storedActiveSessionId);
325
- updateSessions(mapSessionsToClient(serverSessions, undefined, fullUser.id), false);
326
- }
327
- onAuthStateChange?.(fullUser);
328
- } else {
329
- // Active session invalid, remove it but keep other sessions
330
- await storage.removeItem(keys.activeSessionId);
331
- // Update session list to remove invalid active session
332
- updateSessions(validSessions.filter(s => s.sessionId !== storedActiveSessionId), false);
333
- }
334
- } catch (e) {
335
- if (__DEV__) {
336
- console.error('Active session validation error', e);
337
202
  }
338
- // Remove invalid active session but keep other sessions
339
- await storage.removeItem(keys.activeSessionId);
340
- updateSessions(validSessions.filter(s => s.sessionId !== storedActiveSessionId), false);
203
+ } catch (validationError) {
204
+ logger('Session validation failed during init', validationError);
341
205
  }
342
206
  }
343
- setTokenReady(true);
344
- } catch (e) {
345
- if (__DEV__) {
346
- console.error('Auth init error', e);
207
+ if (validSessions.length > 0) {
208
+ updateSessions(validSessions, {
209
+ merge: false
210
+ });
347
211
  }
348
- await clearAllStorage();
349
- setTokenReady(true);
350
212
  }
351
- };
352
- initAuth();
353
- }, [storage, oxyServices, keys, onAuthStateChange, loginSuccess, clearAllStorage, applyLanguagePreference, mapSessionsToClient, updateSessions]);
354
-
355
- // Save active session ID to storage (only session ID, no user data)
356
- const saveActiveSessionId = (0, _react.useCallback)(async sessionId => {
357
- if (!storage) return;
358
- await storage.setItem(keys.activeSessionId, sessionId);
359
- }, [storage, keys.activeSessionId]);
360
- const switchToSession = (0, _react.useCallback)(async sessionId => {
361
- try {
362
- const validation = await oxyServices.validateSession(sessionId, {
363
- useHeaderValidation: true
364
- });
365
- if (!validation.valid) {
366
- updateSessions(sessions.filter(s => s.sessionId !== sessionId), false);
367
- throw new Error('Session is invalid or expired');
368
- }
369
- if (!validation.user) {
370
- throw new Error('User data not available from session validation');
371
- }
372
- const fullUser = validation.user;
373
- await oxyServices.getTokenBySession(sessionId);
374
- setTokenReady(true);
375
- setActiveSessionId(sessionId);
376
- loginSuccess(fullUser);
377
- setMinimalUser({
378
- id: fullUser.id,
379
- username: fullUser.username,
380
- avatar: fullUser.avatar
381
- });
382
- await saveActiveSessionId(sessionId);
383
- await applyLanguagePreference(fullUser);
384
- oxyServices.getDeviceSessions(sessionId).then(deviceSessions => {
385
- const allDeviceSessions = mapSessionsToClient(deviceSessions, undefined, fullUser.id);
386
- updateSessions(allDeviceSessions, true);
387
- }).catch(error => {
388
- if (__DEV__) console.warn('Failed to get device sessions after switch:', error);
389
- });
390
- onAuthStateChange?.(fullUser);
391
- } catch (error) {
392
- const isInvalidSession = error?.response?.status === 401 || error?.message?.includes('Invalid or expired session') || error?.message?.includes('Session is invalid');
393
- if (isInvalidSession) {
394
- updateSessions(sessions.filter(s => s.sessionId !== sessionId), false);
395
- if (sessionId === activeSessionId && sessions.length > 1) {
396
- const otherSessions = sessions.filter(s => s.sessionId !== sessionId);
397
- for (const otherSession of otherSessions) {
398
- try {
399
- const otherValidation = await oxyServices.validateSession(otherSession.sessionId, {
400
- useHeaderValidation: true
401
- });
402
- if (otherValidation.valid) {
403
- await switchToSession(otherSession.sessionId);
404
- return;
405
- }
406
- } catch {
407
- // Continue to next session
408
- continue;
409
- }
410
- }
411
- }
412
- }
413
- const errorMessage = error instanceof Error ? error.message : 'Failed to switch session';
414
- if (__DEV__) {
415
- console.error('Switch session error:', error);
416
- }
417
- _authStore.useAuthStore.setState({
418
- error: errorMessage
419
- });
420
- onError?.({
421
- message: errorMessage,
422
- code: isInvalidSession ? 'INVALID_SESSION' : 'SESSION_SWITCH_ERROR',
423
- status: isInvalidSession ? 401 : 500
424
- });
425
- setTokenReady(false);
426
- throw error; // Re-throw so calling code can handle it
427
- }
428
- }, [oxyServices, onAuthStateChange, loginSuccess, saveActiveSessionId, applyLanguagePreference, mapSessionsToClient, onError, activeSessionId, sessions]);
429
- const login = (0, _react.useCallback)(async (username, password, deviceName) => {
430
- if (!storage) throw new Error('Storage not initialized');
431
- _authStore.useAuthStore.setState({
432
- isLoading: true,
433
- error: null
434
- });
435
- try {
436
- const deviceFingerprint = _deviceManager.DeviceManager.getDeviceFingerprint();
437
- const deviceInfo = await _deviceManager.DeviceManager.getDeviceInfo();
438
- const response = await oxyServices.signIn(username, password, deviceName || deviceInfo.deviceName || _deviceManager.DeviceManager.getDefaultDeviceName(), deviceFingerprint);
439
-
440
- // Handle MFA requirement
441
- if (response && 'mfaRequired' in response && response.mfaRequired) {
442
- const mfaError = new Error('Multi-factor authentication required');
443
- mfaError.code = 'MFA_REQUIRED';
444
- mfaError.mfaToken = response.mfaToken;
445
- mfaError.expiresAt = response.expiresAt;
446
- throw mfaError;
447
- }
448
- const sessionResponse = response;
449
- await oxyServices.getTokenBySession(sessionResponse.sessionId);
450
- const fullUser = await oxyServices.getUserBySession(sessionResponse.sessionId);
451
- let allDeviceSessions = [];
452
- try {
453
- const deviceSessions = await oxyServices.getDeviceSessions(sessionResponse.sessionId);
454
- allDeviceSessions = mapSessionsToClient(deviceSessions, sessionResponse.deviceId, fullUser.id);
455
- } catch (error) {
456
- if (__DEV__) {
457
- console.warn('Failed to get device sessions, falling back to user sessions:', error);
458
- }
459
- const serverSessions = await oxyServices.getSessionsBySessionId(sessionResponse.sessionId);
460
- allDeviceSessions = mapSessionsToClient(serverSessions, undefined, fullUser.id);
461
- }
462
- const userUserId = fullUser.id?.toString();
463
- const existingSession = allDeviceSessions.find(s => s.userId?.toString() === userUserId && s.sessionId !== sessionResponse.sessionId);
464
- if (existingSession) {
213
+ if (storedActiveSessionId) {
465
214
  try {
466
- await oxyServices.logoutSession(sessionResponse.sessionId, sessionResponse.sessionId);
467
- } catch (logoutError) {
468
- if (__DEV__) {
469
- console.warn('Failed to logout duplicate session:', logoutError);
470
- }
471
- }
472
- await switchToSession(existingSession.sessionId);
473
- loginSuccess(fullUser);
474
- setMinimalUser(sessionResponse.user);
475
- updateSessions(allDeviceSessions.filter(s => s.sessionId !== sessionResponse.sessionId), false);
476
- onAuthStateChange?.(fullUser);
477
- return fullUser;
478
- }
479
- setActiveSessionId(sessionResponse.sessionId);
480
- await saveActiveSessionId(sessionResponse.sessionId);
481
- loginSuccess(fullUser);
482
- setMinimalUser(sessionResponse.user);
483
- updateSessions(allDeviceSessions, true);
484
- onAuthStateChange?.(fullUser);
485
- return fullUser;
486
- } catch (error) {
487
- const errorMessage = error instanceof Error ? error.message : 'Login failed';
488
- loginFailure(errorMessage);
489
- onError?.({
490
- message: errorMessage,
491
- code: 'LOGIN_ERROR',
492
- status: 401
493
- });
494
- throw error;
495
- } finally {
496
- _authStore.useAuthStore.setState({
497
- isLoading: false
498
- });
499
- }
500
- }, [storage, oxyServices, saveActiveSessionId, loginSuccess, onAuthStateChange, loginFailure, mapSessionsToClient, onError, sessions, switchToSession]);
501
-
502
- // Clear session state without calling API (for remote removals)
503
- const clearSessionState = (0, _react.useCallback)(async () => {
504
- updateSessions([], false);
505
- setActiveSessionId(null);
506
- logoutStore();
507
- setMinimalUser(null);
508
- await clearAllStorage();
509
- onAuthStateChange?.(null);
510
- }, [updateSessions, logoutStore, clearAllStorage, onAuthStateChange]);
511
-
512
- // Logout method
513
- const logout = (0, _react.useCallback)(async targetSessionId => {
514
- if (!activeSessionId) return;
515
- try {
516
- const sessionToLogout = targetSessionId || activeSessionId;
517
- await oxyServices.logoutSession(activeSessionId, sessionToLogout);
518
- const filteredSessions = sessions.filter(s => s.sessionId !== sessionToLogout);
519
- updateSessions(filteredSessions, false);
520
- if (sessionToLogout === activeSessionId) {
521
- if (filteredSessions.length > 0) {
522
- await switchToSession(filteredSessions[0].sessionId);
523
- } else {
524
- setActiveSessionId(null);
525
- logoutStore();
526
- setMinimalUser(null);
527
- await storage?.removeItem(keys.activeSessionId);
528
- if (onAuthStateChange) {
529
- onAuthStateChange(null);
215
+ await switchSession(storedActiveSessionId);
216
+ } catch (switchError) {
217
+ if ((0, _errorHandlers.isInvalidSessionError)(switchError)) {
218
+ await storage.removeItem(storageKeys.activeSessionId);
219
+ updateSessions(validSessions.filter(session => session.sessionId !== storedActiveSessionId), {
220
+ merge: false
221
+ });
222
+ } else {
223
+ logger('Active session validation error', switchError);
530
224
  }
531
225
  }
532
226
  }
533
227
  } catch (error) {
534
- // Check if error is 401 (session already removed remotely)
535
- const is401Error = error?.response?.status === 401 || error?.message?.includes('Invalid or expired session') || error?.message?.includes('Session is invalid');
536
- if (is401Error && targetSessionId === activeSessionId) {
537
- // Session was already removed remotely, clear state without API call
538
- await clearSessionState();
539
- return;
540
- }
541
- const errorMessage = error instanceof Error ? error.message : 'Logout failed';
542
228
  if (__DEV__) {
543
- console.error('Logout error:', error);
544
- }
545
- _authStore.useAuthStore.setState({
546
- error: errorMessage
547
- });
548
- onError?.({
549
- message: errorMessage,
550
- code: 'LOGOUT_ERROR',
551
- status: 500
552
- });
553
- }
554
- }, [activeSessionId, oxyServices, sessions, switchToSession, logoutStore, storage, keys.activeSessionId, onAuthStateChange, onError, clearSessionState]);
555
- const logoutAll = (0, _react.useCallback)(async () => {
556
- if (!activeSessionId) {
557
- const error = new Error('No active session found');
558
- _authStore.useAuthStore.setState({
559
- error: error.message
560
- });
561
- onError?.({
562
- message: error.message,
563
- code: 'NO_SESSION_ERROR',
564
- status: 404
565
- });
566
- throw error;
567
- }
568
- try {
569
- await oxyServices.logoutAllSessions(activeSessionId);
570
- updateSessions([], false);
571
- setActiveSessionId(null);
572
- logoutStore();
573
- setMinimalUser(null);
574
- await clearAllStorage();
575
- onAuthStateChange?.(null);
576
- } catch (error) {
577
- const errorMessage = error instanceof Error ? error.message : 'Logout all failed';
578
- _authStore.useAuthStore.setState({
579
- error: errorMessage
580
- });
581
- onError?.({
582
- message: errorMessage,
583
- code: 'LOGOUT_ALL_ERROR',
584
- status: 500
585
- });
586
- throw error;
587
- }
588
- }, [activeSessionId, oxyServices, logoutStore, clearAllStorage, onAuthStateChange, onError]);
589
-
590
- // Token restoration is handled in initAuth and switchToSession
591
- // No separate effect needed - children render immediately with isTokenReady available
592
-
593
- // Sign up method
594
- const signUp = (0, _react.useCallback)(async (username, email, password) => {
595
- if (!storage) throw new Error('Storage not initialized');
596
- _authStore.useAuthStore.setState({
597
- isLoading: true,
598
- error: null
599
- });
600
- try {
601
- await oxyServices.signUp(username, email, password);
602
- const user = await login(username, password);
603
- return user;
604
- } catch (error) {
605
- const errorMessage = error instanceof Error ? error.message : 'Sign up failed';
606
- loginFailure(errorMessage);
607
- onError?.({
608
- message: errorMessage,
609
- code: 'SIGNUP_ERROR',
610
- status: 400
611
- });
612
- throw error;
613
- } finally {
614
- _authStore.useAuthStore.setState({
615
- isLoading: false
616
- });
617
- }
618
- }, [storage, oxyServices, login, loginFailure, onError]);
619
-
620
- // Complete MFA login by verifying TOTP
621
- const completeMfaLogin = (0, _react.useCallback)(async (mfaToken, code) => {
622
- if (!storage) throw new Error('Storage not initialized');
623
- _authStore.useAuthStore.setState({
624
- isLoading: true,
625
- error: null
626
- });
627
- try {
628
- const response = await oxyServices.verifyTotpLogin(mfaToken, code);
629
-
630
- // Set as active session
631
- setActiveSessionId(response.sessionId);
632
- await saveActiveSessionId(response.sessionId);
633
-
634
- // Fetch access token and user data
635
- await oxyServices.getTokenBySession(response.sessionId);
636
- const fullUser = await oxyServices.getUserBySession(response.sessionId);
637
- loginSuccess(fullUser);
638
- setMinimalUser({
639
- id: fullUser.id,
640
- username: fullUser.username,
641
- avatar: fullUser.avatar
642
- });
643
- await applyLanguagePreference(fullUser);
644
-
645
- // Get all device sessions to support multiple accounts
646
- try {
647
- const deviceSessions = await oxyServices.getDeviceSessions(response.sessionId);
648
- const allDeviceSessions = mapSessionsToClient(deviceSessions, undefined, fullUser.id);
649
- updateSessions(allDeviceSessions, true);
650
- } catch (error) {
651
- // Fallback to user sessions if device sessions fail
652
- if (__DEV__) {
653
- console.warn('Failed to get device sessions for MFA, falling back to user sessions:', error);
654
- }
655
- const serverSessions = await oxyServices.getSessionsBySessionId(response.sessionId);
656
- const userSessions = mapSessionsToClient(serverSessions, undefined, fullUser.id);
657
- updateSessions(userSessions, true);
229
+ console.error('Auth init error', error);
658
230
  }
659
- onAuthStateChange?.(fullUser);
660
- return fullUser;
661
- } catch (error) {
662
- const errorMessage = error instanceof Error ? error.message : 'MFA verification failed';
663
- loginFailure(errorMessage);
664
- onError?.({
665
- message: errorMessage,
666
- code: 'MFA_ERROR',
667
- status: 401
668
- });
669
- throw error;
231
+ await clearSessionState();
670
232
  } finally {
671
- _authStore.useAuthStore.setState({
672
- isLoading: false
673
- });
674
- }
675
- }, [storage, oxyServices, loginSuccess, loginFailure, saveActiveSessionId, onAuthStateChange, applyLanguagePreference, onError]);
676
- const switchSession = (0, _react.useCallback)(async sessionId => {
677
- await switchToSession(sessionId);
678
- }, [switchToSession]);
679
- const removeSession = (0, _react.useCallback)(async sessionId => {
680
- await logout(sessionId);
681
- }, [logout]);
682
- const refreshSessions = (0, _react.useCallback)(async () => {
683
- if (!activeSessionId) return;
684
-
685
- // If a refresh is already in progress, return the existing promise
686
- if (refreshInFlightRef.current) {
687
- return refreshInFlightRef.current;
688
- }
689
-
690
- // Create the refresh promise
691
- const refreshPromise = (async () => {
692
- try {
693
- const deviceSessions = await oxyServices.getDeviceSessions(activeSessionId);
694
- const allDeviceSessions = mapSessionsToClient(deviceSessions, undefined, user?.id);
695
- updateSessions(allDeviceSessions, true);
696
- } catch (error) {
697
- if (__DEV__) {
698
- console.warn('Failed to refresh device sessions, falling back to user sessions:', error);
699
- }
700
- try {
701
- const serverSessions = await oxyServices.getSessionsBySessionId(activeSessionId);
702
- const userSessions = mapSessionsToClient(serverSessions, undefined, user?.id);
703
- updateSessions(userSessions, true);
704
- } catch (fallbackError) {
705
- if (__DEV__) {
706
- console.error('Refresh sessions error:', fallbackError);
707
- }
708
-
709
- // Check if the error is a 401 (session removed/invalid)
710
- const is401Error = fallbackError?.response?.status === 401 || fallbackError?.message?.includes('Invalid or expired session') || fallbackError?.message?.includes('Session is invalid');
711
-
712
- // If 401 error, don't try to validate other sessions - they may have been removed too
713
- // Instead, check if current session is in removed sessions list
714
- if (is401Error && removedSessionsRef.current.has(activeSessionId || '')) {
715
- // Current session was removed, clear all and logout
716
- updateSessions([], false);
717
- setActiveSessionId(null);
718
- logoutStore();
719
- setMinimalUser(null);
720
- await clearAllStorage();
721
- onAuthStateChange?.(null);
722
- return;
723
- }
724
-
725
- // If the current session is invalid, try to find another valid session
726
- // But skip sessions that were recently removed
727
- if (sessions.length > 1) {
728
- const otherSessions = sessions.filter(s => s.sessionId !== activeSessionId && !removedSessionsRef.current.has(s.sessionId));
729
- for (const session of otherSessions) {
730
- try {
731
- const validation = await oxyServices.validateSession(session.sessionId, {
732
- useHeaderValidation: true
733
- });
734
- if (validation.valid) {
735
- await switchToSession(session.sessionId);
736
- return;
737
- }
738
- } catch (validationError) {
739
- // If validation returns 401, mark this session as removed
740
- const isValidation401 = validationError?.response?.status === 401 || validationError?.message?.includes('Invalid or expired session');
741
- if (isValidation401) {
742
- removedSessionsRef.current.add(session.sessionId);
743
- // Clear from tracking after 5 seconds
744
- setTimeout(() => {
745
- removedSessionsRef.current.delete(session.sessionId);
746
- }, 5000);
747
- }
748
- continue;
749
- }
750
- }
751
- }
752
-
753
- // No valid sessions found, clear all
754
- updateSessions([], false);
755
- setActiveSessionId(null);
756
- logoutStore();
757
- setMinimalUser(null);
758
- await clearAllStorage();
759
- onAuthStateChange?.(null);
760
- }
761
- } finally {
762
- // Clear the in-flight ref when done
763
- refreshInFlightRef.current = null;
764
- }
765
- })();
766
- refreshInFlightRef.current = refreshPromise;
767
- return refreshPromise;
768
- }, [activeSessionId, oxyServices, user?.id, updateSessions, sessions, switchToSession, logoutStore, clearAllStorage, onAuthStateChange, mapSessionsToClient]);
769
-
770
- // Device management methods
771
- const getDeviceSessions = (0, _react.useCallback)(async () => {
772
- if (!activeSessionId) throw new Error('No active session');
773
- try {
774
- return await oxyServices.getDeviceSessions(activeSessionId);
775
- } catch (error) {
776
- const errorMessage = error instanceof Error ? error.message : 'Failed to get device sessions';
777
- onError?.({
778
- message: errorMessage,
779
- code: 'GET_DEVICE_SESSIONS_ERROR',
780
- status: 500
781
- });
782
- throw error;
783
- }
784
- }, [activeSessionId, oxyServices, onError]);
785
- const logoutAllDeviceSessions = (0, _react.useCallback)(async () => {
786
- if (!activeSessionId) throw new Error('No active session');
787
- try {
788
- await oxyServices.logoutAllDeviceSessions(activeSessionId);
789
- updateSessions([], false);
790
- setActiveSessionId(null);
791
- logoutStore();
792
- setMinimalUser(null);
793
- await clearAllStorage();
794
- onAuthStateChange?.(null);
795
- } catch (error) {
796
- const errorMessage = error instanceof Error ? error.message : 'Failed to logout all device sessions';
797
- onError?.({
798
- message: errorMessage,
799
- code: 'LOGOUT_ALL_DEVICES_ERROR',
800
- status: 500
801
- });
802
- throw error;
803
- }
804
- }, [activeSessionId, oxyServices, logoutStore, clearAllStorage, onAuthStateChange, onError]);
805
- const updateDeviceName = (0, _react.useCallback)(async deviceName => {
806
- if (!activeSessionId) throw new Error('No active session');
807
- try {
808
- await oxyServices.updateDeviceName(activeSessionId, deviceName);
809
- await _deviceManager.DeviceManager.updateDeviceName(deviceName);
810
- } catch (error) {
811
- const errorMessage = error instanceof Error ? error.message : 'Failed to update device name';
812
- onError?.({
813
- message: errorMessage,
814
- code: 'UPDATE_DEVICE_NAME_ERROR',
815
- status: 500
816
- });
817
- throw error;
818
- }
819
- }, [activeSessionId, oxyServices, onError]);
820
-
821
- // Language management method
822
- const setLanguage = (0, _react.useCallback)(async languageId => {
823
- if (!storage) throw new Error('Storage not initialized');
824
- try {
825
- await storage.setItem(keys.language, languageId);
826
- setCurrentLanguage(languageId);
827
- } catch (error) {
828
- const errorMessage = error instanceof Error ? error.message : 'Failed to save language preference';
829
- onError?.({
830
- message: errorMessage,
831
- code: 'LANGUAGE_SAVE_ERROR',
832
- status: 500
833
- });
834
- throw error;
835
- }
836
- }, [storage, keys.language, onError]);
837
-
838
- // Bottom sheet control methods
839
- const showBottomSheet = (0, _react.useCallback)(screenOrConfig => {
840
- if (__DEV__) console.log('showBottomSheet called with:', screenOrConfig);
841
- if (bottomSheetRef?.current) {
842
- if (__DEV__) console.log('bottomSheetRef is available');
843
-
844
- // First, show the bottom sheet
845
- if (bottomSheetRef.current.expand) {
846
- if (__DEV__) console.log('Expanding bottom sheet');
847
- bottomSheetRef.current.expand();
848
- } else if (bottomSheetRef.current.present) {
849
- if (__DEV__) console.log('Presenting bottom sheet');
850
- bottomSheetRef.current.present();
851
- } else if (__DEV__) {
852
- console.warn('No expand or present method available on bottomSheetRef');
853
- }
854
-
855
- // Then navigate to the specified screen if provided
856
- if (screenOrConfig) {
857
- // Add a small delay to ensure the bottom sheet is opened first
858
- setTimeout(() => {
859
- if (typeof screenOrConfig === 'string') {
860
- // Simple screen name
861
- if (__DEV__) console.log('Navigating to screen:', screenOrConfig);
862
- bottomSheetRef.current?.navigate?.(screenOrConfig);
863
- } else {
864
- // Screen with props
865
- if (__DEV__) console.log('Navigating to screen with props:', screenOrConfig.screen, screenOrConfig.props);
866
- bottomSheetRef.current?.navigate?.(screenOrConfig.screen, screenOrConfig.props);
867
- }
868
- }, 100);
869
- }
870
- } else if (__DEV__) {
871
- console.warn('bottomSheetRef is not available. Pass a bottomSheetRef to OxyProvider.');
233
+ setTokenReady(true);
872
234
  }
873
- }, [bottomSheetRef]);
874
- const hideBottomSheet = (0, _react.useCallback)(() => {
875
- if (bottomSheetRef?.current) {
876
- bottomSheetRef.current.dismiss?.();
235
+ }, [clearSessionState, logger, oxyServices, storage, storageKeys.activeSessionId, storageKeys.sessionIds, switchSession, updateSessions]);
236
+ (0, _react.useEffect)(() => {
237
+ if (!storage || initializedRef.current) {
238
+ return;
877
239
  }
878
- }, [bottomSheetRef]);
879
-
880
- // Get current deviceId from active session
881
- const currentDeviceId = (0, _react.useMemo)(() => {
882
- if (!activeSessionId || !sessions.length) return null;
883
- const activeSession = sessions.find(s => s.sessionId === activeSessionId);
884
- return activeSession?.deviceId || null;
885
- }, [activeSessionId, sessions]);
886
-
887
- // Callback to track removed sessions
240
+ initializedRef.current = true;
241
+ void restoreSessionsFromStorage();
242
+ }, [restoreSessionsFromStorage, storage]);
243
+ const activeSession = activeSessionId ? sessions.find(session => session.sessionId === activeSessionId) : undefined;
244
+ const currentDeviceId = activeSession?.deviceId ?? null;
245
+ const userId = user?.id;
246
+ const refreshSessionsWithUser = (0, _react.useCallback)(() => refreshSessions(userId), [refreshSessions, userId]);
888
247
  const handleSessionRemoved = (0, _react.useCallback)(sessionId => {
889
- // Add to removed sessions tracking
890
- removedSessionsRef.current.add(sessionId);
891
- // Clear from tracking after 5 seconds
892
- setTimeout(() => {
893
- removedSessionsRef.current.delete(sessionId);
894
- }, 5000);
895
- }, []);
896
-
897
- // Integrate socket for real-time session updates
248
+ trackRemovedSession(sessionId);
249
+ }, [trackRemovedSession]);
250
+ const handleRemoteSignOut = (0, _react.useCallback)(() => {
251
+ _sonner.toast.info('You have been signed out remotely.');
252
+ logout().catch(remoteError => logger('Failed to process remote sign out', remoteError));
253
+ }, [logger, logout]);
898
254
  (0, _useSessionSocket.useSessionSocket)({
899
- userId: user?.id,
255
+ userId,
900
256
  activeSessionId,
901
257
  currentDeviceId,
902
- refreshSessions,
258
+ refreshSessions: refreshSessionsWithUser,
903
259
  logout,
904
260
  clearSessionState,
905
261
  baseURL: oxyServices.getBaseURL(),
906
- onRemoteSignOut: (0, _react.useCallback)(() => {
907
- _sonner.toast.info('You have been signed out remotely.');
908
- logout();
909
- }, [logout]),
262
+ onRemoteSignOut: handleRemoteSignOut,
910
263
  onSessionRemoved: handleSessionRemoved
911
264
  });
265
+ const switchSessionForContext = (0, _react.useCallback)(async sessionId => {
266
+ await switchSession(sessionId);
267
+ }, [switchSession]);
912
268
 
913
- // Compute language metadata from currentLanguage
914
- const languageMetadata = (0, _react.useMemo)(() => (0, _languageUtils.getLanguageMetadata)(currentLanguage), [currentLanguage]);
915
- const languageName = (0, _react.useMemo)(() => (0, _languageUtils.getLanguageName)(currentLanguage), [currentLanguage]);
916
- const nativeLanguageName = (0, _react.useMemo)(() => (0, _languageUtils.getNativeLanguageName)(currentLanguage), [currentLanguage]);
269
+ // Create showBottomSheet function that uses the global function
270
+ const showBottomSheetForContext = (0, _react.useCallback)(screenOrConfig => {
271
+ (0, _bottomSheetManager.showBottomSheet)(screenOrConfig);
272
+ }, []);
917
273
  const contextValue = (0, _react.useMemo)(() => ({
918
274
  user,
919
- minimalUser,
920
275
  sessions,
921
276
  activeSessionId,
922
277
  isAuthenticated,
@@ -924,44 +279,34 @@ const OxyProvider = ({
924
279
  isTokenReady: tokenReady,
925
280
  error,
926
281
  currentLanguage,
927
- currentLanguageMetadata: languageMetadata,
928
- currentLanguageName: languageName,
929
- currentNativeLanguageName: nativeLanguageName,
930
- login,
282
+ currentLanguageMetadata,
283
+ currentLanguageName,
284
+ currentNativeLanguageName,
285
+ createIdentity,
286
+ importIdentity,
287
+ signIn,
288
+ hasIdentity,
289
+ getPublicKey,
931
290
  logout,
932
291
  logoutAll,
933
- signUp,
934
- completeMfaLogin,
935
- switchSession,
936
- removeSession,
937
- refreshSessions,
292
+ switchSession: switchSessionForContext,
293
+ removeSession: logout,
294
+ refreshSessions: refreshSessionsWithUser,
938
295
  setLanguage,
939
296
  getDeviceSessions,
940
297
  logoutAllDeviceSessions,
941
298
  updateDeviceName,
942
299
  oxyServices,
943
- bottomSheetRef,
944
- showBottomSheet,
945
- hideBottomSheet,
946
- useFollow: useFollowHook
947
- }), [user?.id,
948
- // Only depend on user ID, not the entire user object
949
- minimalUser?.id, sessions.length,
950
- // Only depend on sessions count, not the entire array
951
- activeSessionId, isAuthenticated, isLoading, tokenReady, error, currentLanguage, languageMetadata, languageName, nativeLanguageName, login, logout, logoutAll, signUp, completeMfaLogin, switchSession, removeSession, refreshSessions, setLanguage, getDeviceSessions, logoutAllDeviceSessions, updateDeviceName, oxyServices, bottomSheetRef, showBottomSheet, hideBottomSheet, useFollowHook]);
952
-
953
- // Always render children - let the consuming app decide how to handle token loading state
300
+ useFollow: useFollowHook,
301
+ showBottomSheet: showBottomSheetForContext
302
+ }), [activeSessionId, createIdentity, importIdentity, signIn, hasIdentity, getPublicKey, currentLanguage, currentLanguageMetadata, currentLanguageName, currentNativeLanguageName, error, getDeviceSessions, isAuthenticated, isLoading, logout, logoutAll, logoutAllDeviceSessions, oxyServices, refreshSessionsWithUser, sessions, setLanguage, switchSessionForContext, tokenReady, updateDeviceName, useFollowHook, user, showBottomSheetForContext]);
954
303
  return /*#__PURE__*/(0, _jsxRuntime.jsx)(OxyContext.Provider, {
955
304
  value: contextValue,
956
305
  children: children
957
306
  });
958
307
  };
959
-
960
- // Alias for backward compatibility
961
308
  exports.OxyProvider = OxyProvider;
962
309
  const OxyContextProvider = exports.OxyContextProvider = OxyProvider;
963
-
964
- // Hook to use the context
965
310
  const useOxy = () => {
966
311
  const context = (0, _react.useContext)(OxyContext);
967
312
  if (!context) {