@oxyhq/services 5.17.17 → 5.18.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 (618) hide show
  1. package/README.md +32 -38
  2. package/lib/commonjs/core/CrossDomainAuth.js +277 -0
  3. package/lib/commonjs/core/CrossDomainAuth.js.map +1 -0
  4. package/lib/commonjs/core/HttpService.js +82 -15
  5. package/lib/commonjs/core/HttpService.js.map +1 -1
  6. package/lib/commonjs/core/OxyServices.base.js +11 -3
  7. package/lib/commonjs/core/OxyServices.base.js.map +1 -1
  8. package/lib/commonjs/core/OxyServices.js +4 -1
  9. package/lib/commonjs/core/OxyServices.js.map +1 -1
  10. package/lib/commonjs/core/index.js +30 -0
  11. package/lib/commonjs/core/index.js.map +1 -1
  12. package/lib/commonjs/core/mixins/OxyServices.assets.js +16 -3
  13. package/lib/commonjs/core/mixins/OxyServices.assets.js.map +1 -1
  14. package/lib/commonjs/core/mixins/OxyServices.auth.js +73 -32
  15. package/lib/commonjs/core/mixins/OxyServices.auth.js.map +1 -1
  16. package/lib/commonjs/core/mixins/OxyServices.features.js +372 -0
  17. package/lib/commonjs/core/mixins/OxyServices.features.js.map +1 -0
  18. package/lib/commonjs/core/mixins/OxyServices.fedcm.js +289 -0
  19. package/lib/commonjs/core/mixins/OxyServices.fedcm.js.map +1 -0
  20. package/lib/commonjs/core/mixins/OxyServices.popup.js +352 -0
  21. package/lib/commonjs/core/mixins/OxyServices.popup.js.map +1 -0
  22. package/lib/commonjs/core/mixins/OxyServices.redirect.js +378 -0
  23. package/lib/commonjs/core/mixins/OxyServices.redirect.js.map +1 -0
  24. package/lib/commonjs/core/mixins/OxyServices.user.js +35 -24
  25. package/lib/commonjs/core/mixins/OxyServices.user.js.map +1 -1
  26. package/lib/commonjs/core/mixins/index.js +28 -15
  27. package/lib/commonjs/core/mixins/index.js.map +1 -1
  28. package/lib/commonjs/crypto/index.js +30 -0
  29. package/lib/commonjs/crypto/index.js.map +1 -1
  30. package/lib/commonjs/crypto/keyManager.js +902 -0
  31. package/lib/commonjs/crypto/keyManager.js.map +1 -0
  32. package/lib/commonjs/crypto/polyfill.js +14 -5
  33. package/lib/commonjs/crypto/polyfill.js.map +1 -1
  34. package/lib/commonjs/crypto/recoveryPhrase.js +152 -0
  35. package/lib/commonjs/crypto/recoveryPhrase.js.map +1 -0
  36. package/lib/commonjs/crypto/signatureService.js +289 -0
  37. package/lib/commonjs/crypto/signatureService.js.map +1 -0
  38. package/lib/commonjs/i18n/locales/en-US.json +1 -1
  39. package/lib/commonjs/index.js +40 -26
  40. package/lib/commonjs/index.js.map +1 -1
  41. package/lib/commonjs/models/interfaces.js +0 -15
  42. package/lib/commonjs/models/interfaces.js.map +1 -1
  43. package/lib/commonjs/ui/components/BottomSheetRouter.js +9 -1
  44. package/lib/commonjs/ui/components/BottomSheetRouter.js.map +1 -1
  45. package/lib/commonjs/ui/components/GroupedItem.js +11 -1
  46. package/lib/commonjs/ui/components/GroupedItem.js.map +1 -1
  47. package/lib/commonjs/ui/components/Icon.js.map +1 -1
  48. package/lib/commonjs/ui/components/IconButton/utils.js.map +1 -1
  49. package/lib/commonjs/ui/components/OxyProvider.js +41 -11
  50. package/lib/commonjs/ui/components/OxyProvider.js.map +1 -1
  51. package/lib/commonjs/ui/components/SettingRow.js +17 -4
  52. package/lib/commonjs/ui/components/SettingRow.js.map +1 -1
  53. package/lib/commonjs/ui/components/TextField/Adornment/utils.js.map +1 -1
  54. package/lib/commonjs/ui/components/TextField/helpers.js.map +1 -1
  55. package/lib/commonjs/ui/components/TouchableRipple/utils.js.map +1 -1
  56. package/lib/commonjs/ui/components/Typography/AnimatedText.js.map +1 -1
  57. package/lib/commonjs/ui/components/feedback/FormInput.js +72 -0
  58. package/lib/commonjs/ui/components/feedback/FormInput.js.map +1 -0
  59. package/lib/commonjs/ui/components/feedback/ProgressIndicator.js +33 -0
  60. package/lib/commonjs/ui/components/feedback/ProgressIndicator.js.map +1 -0
  61. package/lib/commonjs/ui/components/feedback/constants.js +59 -0
  62. package/lib/commonjs/ui/components/feedback/constants.js.map +1 -0
  63. package/lib/commonjs/ui/components/feedback/feedbackStyles.js +262 -0
  64. package/lib/commonjs/ui/components/feedback/feedbackStyles.js.map +1 -0
  65. package/lib/commonjs/ui/components/feedback/index.js +54 -0
  66. package/lib/commonjs/ui/components/feedback/index.js.map +1 -0
  67. package/lib/commonjs/ui/components/feedback/types.js +6 -0
  68. package/lib/commonjs/ui/components/feedback/types.js.map +1 -0
  69. package/lib/commonjs/ui/components/feedback/useFeedbackForm.js +52 -0
  70. package/lib/commonjs/ui/components/feedback/useFeedbackForm.js.map +1 -0
  71. package/lib/commonjs/ui/components/modals/DeleteAccountModal.js +282 -0
  72. package/lib/commonjs/ui/components/modals/DeleteAccountModal.js.map +1 -0
  73. package/lib/commonjs/ui/components/modals/index.js +14 -0
  74. package/lib/commonjs/ui/components/modals/index.js.map +1 -0
  75. package/lib/commonjs/ui/components/payment/PaymentDetailsStep.js +309 -0
  76. package/lib/commonjs/ui/components/payment/PaymentDetailsStep.js.map +1 -0
  77. package/lib/commonjs/ui/components/payment/PaymentMethodStep.js +79 -0
  78. package/lib/commonjs/ui/components/payment/PaymentMethodStep.js.map +1 -0
  79. package/lib/commonjs/ui/components/payment/PaymentReviewStep.js +108 -0
  80. package/lib/commonjs/ui/components/payment/PaymentReviewStep.js.map +1 -0
  81. package/lib/commonjs/ui/components/payment/PaymentSuccessStep.js +79 -0
  82. package/lib/commonjs/ui/components/payment/PaymentSuccessStep.js.map +1 -0
  83. package/lib/commonjs/ui/components/payment/PaymentSummaryStep.js +176 -0
  84. package/lib/commonjs/ui/components/payment/PaymentSummaryStep.js.map +1 -0
  85. package/lib/commonjs/ui/components/payment/constants.js +53 -0
  86. package/lib/commonjs/ui/components/payment/constants.js.map +1 -0
  87. package/lib/commonjs/ui/components/payment/index.js +80 -0
  88. package/lib/commonjs/ui/components/payment/index.js.map +1 -0
  89. package/lib/commonjs/ui/components/payment/paymentStyles.js +409 -0
  90. package/lib/commonjs/ui/components/payment/paymentStyles.js.map +1 -0
  91. package/lib/commonjs/ui/components/payment/types.js +6 -0
  92. package/lib/commonjs/ui/components/payment/types.js.map +1 -0
  93. package/lib/commonjs/ui/context/OxyContext.js +110 -199
  94. package/lib/commonjs/ui/context/OxyContext.js.map +1 -1
  95. package/lib/commonjs/ui/context/hooks/useAuthOperations.js +150 -19
  96. package/lib/commonjs/ui/context/hooks/useAuthOperations.js.map +1 -1
  97. package/lib/commonjs/ui/context/hooks/useSessionManagement.js +279 -0
  98. package/lib/commonjs/ui/context/hooks/useSessionManagement.js.map +1 -0
  99. package/lib/commonjs/ui/hooks/index.js +26 -0
  100. package/lib/commonjs/ui/hooks/index.js.map +1 -1
  101. package/lib/commonjs/ui/hooks/mutations/useAccountMutations.js +79 -72
  102. package/lib/commonjs/ui/hooks/mutations/useAccountMutations.js.map +1 -1
  103. package/lib/commonjs/ui/hooks/queries/useAccountQueries.js +38 -51
  104. package/lib/commonjs/ui/hooks/queries/useAccountQueries.js.map +1 -1
  105. package/lib/commonjs/ui/hooks/queries/useSecurityQueries.js +3 -3
  106. package/lib/commonjs/ui/hooks/queries/useSecurityQueries.js.map +1 -1
  107. package/lib/commonjs/ui/hooks/queries/useServicesQueries.js +18 -12
  108. package/lib/commonjs/ui/hooks/queries/useServicesQueries.js.map +1 -1
  109. package/lib/commonjs/ui/hooks/useAsyncAction.js +95 -0
  110. package/lib/commonjs/ui/hooks/useAsyncAction.js.map +1 -0
  111. package/lib/commonjs/ui/hooks/useProfileEditing.js +3 -5
  112. package/lib/commonjs/ui/hooks/useProfileEditing.js.map +1 -1
  113. package/lib/commonjs/ui/hooks/useSessionManagement.js +4 -8
  114. package/lib/commonjs/ui/hooks/useSessionManagement.js.map +1 -1
  115. package/lib/commonjs/ui/hooks/useSessionSocket.js +162 -315
  116. package/lib/commonjs/ui/hooks/useSessionSocket.js.map +1 -1
  117. package/lib/commonjs/ui/hooks/useSettingToggle.js +126 -0
  118. package/lib/commonjs/ui/hooks/useSettingToggle.js.map +1 -0
  119. package/lib/commonjs/ui/hooks/useStorage.js +24 -58
  120. package/lib/commonjs/ui/hooks/useStorage.js.map +1 -1
  121. package/lib/commonjs/ui/index.js +50 -21
  122. package/lib/commonjs/ui/index.js.map +1 -1
  123. package/lib/commonjs/ui/navigation/routes.js +6 -1
  124. package/lib/commonjs/ui/navigation/routes.js.map +1 -1
  125. package/lib/commonjs/ui/screens/AccountCenterScreen.js +6 -4
  126. package/lib/commonjs/ui/screens/AccountCenterScreen.js.map +1 -1
  127. package/lib/commonjs/ui/screens/AccountOverviewScreen.js +33 -30
  128. package/lib/commonjs/ui/screens/AccountOverviewScreen.js.map +1 -1
  129. package/lib/commonjs/ui/screens/AccountSettingsScreen.js +29 -24
  130. package/lib/commonjs/ui/screens/AccountSettingsScreen.js.map +1 -1
  131. package/lib/commonjs/ui/screens/AccountSwitcherScreen.js +3 -3
  132. package/lib/commonjs/ui/screens/AccountSwitcherScreen.js.map +1 -1
  133. package/lib/commonjs/ui/screens/FAQScreen.js +315 -0
  134. package/lib/commonjs/ui/screens/FAQScreen.js.map +1 -0
  135. package/lib/commonjs/ui/screens/FeedbackScreen.js +73 -590
  136. package/lib/commonjs/ui/screens/FeedbackScreen.js.map +1 -1
  137. package/lib/commonjs/ui/screens/HelpSupportScreen.js +8 -7
  138. package/lib/commonjs/ui/screens/HelpSupportScreen.js.map +1 -1
  139. package/lib/commonjs/ui/screens/OxyAuthScreen.js +134 -66
  140. package/lib/commonjs/ui/screens/OxyAuthScreen.js.map +1 -1
  141. package/lib/commonjs/ui/screens/PaymentGatewayScreen.js +67 -1395
  142. package/lib/commonjs/ui/screens/PaymentGatewayScreen.js.map +1 -1
  143. package/lib/commonjs/ui/screens/PrivacySettingsScreen.js +6 -13
  144. package/lib/commonjs/ui/screens/PrivacySettingsScreen.js.map +1 -1
  145. package/lib/commonjs/ui/screens/ProfileScreen.js +13 -5
  146. package/lib/commonjs/ui/screens/ProfileScreen.js.map +1 -1
  147. package/lib/commonjs/ui/screens/SavesCollectionsScreen.js +16 -10
  148. package/lib/commonjs/ui/screens/SavesCollectionsScreen.js.map +1 -1
  149. package/lib/commonjs/ui/screens/karma/KarmaCenterScreen.js +23 -11
  150. package/lib/commonjs/ui/screens/karma/KarmaCenterScreen.js.map +1 -1
  151. package/lib/commonjs/ui/stores/accountStore.js +2 -4
  152. package/lib/commonjs/ui/stores/accountStore.js.map +1 -1
  153. package/lib/commonjs/ui/stores/authStore.js +45 -32
  154. package/lib/commonjs/ui/stores/authStore.js.map +1 -1
  155. package/lib/commonjs/ui/styles/spacing.js +54 -2
  156. package/lib/commonjs/ui/styles/spacing.js.map +1 -1
  157. package/lib/commonjs/ui/utils/avatarUtils.js +37 -41
  158. package/lib/commonjs/ui/utils/avatarUtils.js.map +1 -1
  159. package/lib/commonjs/ui/utils/storageHelpers.js.map +1 -1
  160. package/lib/commonjs/utils/errorUtils.js +13 -0
  161. package/lib/commonjs/utils/errorUtils.js.map +1 -1
  162. package/lib/commonjs/utils/validationUtils.js +15 -1
  163. package/lib/commonjs/utils/validationUtils.js.map +1 -1
  164. package/lib/module/core/CrossDomainAuth.js +271 -0
  165. package/lib/module/core/CrossDomainAuth.js.map +1 -0
  166. package/lib/module/core/HttpService.js +82 -15
  167. package/lib/module/core/HttpService.js.map +1 -1
  168. package/lib/module/core/OxyServices.base.js +11 -4
  169. package/lib/module/core/OxyServices.base.js.map +1 -1
  170. package/lib/module/core/OxyServices.js +4 -1
  171. package/lib/module/core/OxyServices.js.map +1 -1
  172. package/lib/module/core/index.js +6 -1
  173. package/lib/module/core/index.js.map +1 -1
  174. package/lib/module/core/mixins/OxyServices.assets.js +16 -3
  175. package/lib/module/core/mixins/OxyServices.assets.js.map +1 -1
  176. package/lib/module/core/mixins/OxyServices.auth.js +73 -32
  177. package/lib/module/core/mixins/OxyServices.auth.js.map +1 -1
  178. package/lib/module/core/mixins/OxyServices.features.js +369 -0
  179. package/lib/module/core/mixins/OxyServices.features.js.map +1 -0
  180. package/lib/module/core/mixins/OxyServices.fedcm.js +286 -0
  181. package/lib/module/core/mixins/OxyServices.fedcm.js.map +1 -0
  182. package/lib/module/core/mixins/OxyServices.popup.js +349 -0
  183. package/lib/module/core/mixins/OxyServices.popup.js.map +1 -0
  184. package/lib/module/core/mixins/OxyServices.redirect.js +375 -0
  185. package/lib/module/core/mixins/OxyServices.redirect.js.map +1 -0
  186. package/lib/module/core/mixins/OxyServices.user.js +35 -24
  187. package/lib/module/core/mixins/OxyServices.user.js.map +1 -1
  188. package/lib/module/core/mixins/index.js +16 -3
  189. package/lib/module/core/mixins/index.js.map +1 -1
  190. package/lib/module/crypto/index.js +8 -4
  191. package/lib/module/crypto/index.js.map +1 -1
  192. package/lib/module/crypto/keyManager.js +899 -0
  193. package/lib/module/crypto/keyManager.js.map +1 -0
  194. package/lib/module/crypto/polyfill.js +6 -5
  195. package/lib/module/crypto/polyfill.js.map +1 -1
  196. package/lib/module/crypto/recoveryPhrase.js +147 -0
  197. package/lib/module/crypto/recoveryPhrase.js.map +1 -0
  198. package/lib/module/crypto/signatureService.js +286 -0
  199. package/lib/module/crypto/signatureService.js.map +1 -0
  200. package/lib/module/i18n/locales/en-US.json +1 -1
  201. package/lib/module/index.js +6 -9
  202. package/lib/module/index.js.map +1 -1
  203. package/lib/module/models/interfaces.js +0 -15
  204. package/lib/module/models/interfaces.js.map +1 -1
  205. package/lib/module/ui/components/BottomSheetRouter.js +6 -2
  206. package/lib/module/ui/components/BottomSheetRouter.js.map +1 -1
  207. package/lib/module/ui/components/GroupedItem.js +11 -1
  208. package/lib/module/ui/components/GroupedItem.js.map +1 -1
  209. package/lib/module/ui/components/Icon.js.map +1 -1
  210. package/lib/module/ui/components/IconButton/utils.js.map +1 -1
  211. package/lib/module/ui/components/OxyProvider.js +41 -11
  212. package/lib/module/ui/components/OxyProvider.js.map +1 -1
  213. package/lib/module/ui/components/SettingRow.js +17 -4
  214. package/lib/module/ui/components/SettingRow.js.map +1 -1
  215. package/lib/module/ui/components/TextField/Adornment/utils.js.map +1 -1
  216. package/lib/module/ui/components/TextField/helpers.js.map +1 -1
  217. package/lib/module/ui/components/TouchableRipple/utils.js.map +1 -1
  218. package/lib/module/ui/components/Typography/AnimatedText.js.map +1 -1
  219. package/lib/module/ui/components/feedback/FormInput.js +67 -0
  220. package/lib/module/ui/components/feedback/FormInput.js.map +1 -0
  221. package/lib/module/ui/components/feedback/ProgressIndicator.js +28 -0
  222. package/lib/module/ui/components/feedback/ProgressIndicator.js.map +1 -0
  223. package/lib/module/ui/components/feedback/constants.js +55 -0
  224. package/lib/module/ui/components/feedback/constants.js.map +1 -0
  225. package/lib/module/ui/components/feedback/feedbackStyles.js +257 -0
  226. package/lib/module/ui/components/feedback/feedbackStyles.js.map +1 -0
  227. package/lib/module/ui/components/feedback/index.js +8 -0
  228. package/lib/module/ui/components/feedback/index.js.map +1 -0
  229. package/lib/module/ui/components/feedback/types.js +4 -0
  230. package/lib/module/ui/components/feedback/types.js.map +1 -0
  231. package/lib/module/ui/components/feedback/useFeedbackForm.js +47 -0
  232. package/lib/module/ui/components/feedback/useFeedbackForm.js.map +1 -0
  233. package/lib/module/ui/components/modals/DeleteAccountModal.js +276 -0
  234. package/lib/module/ui/components/modals/DeleteAccountModal.js.map +1 -0
  235. package/lib/module/ui/components/modals/index.js +4 -0
  236. package/lib/module/ui/components/modals/index.js.map +1 -0
  237. package/lib/module/ui/components/payment/PaymentDetailsStep.js +303 -0
  238. package/lib/module/ui/components/payment/PaymentDetailsStep.js.map +1 -0
  239. package/lib/module/ui/components/payment/PaymentMethodStep.js +73 -0
  240. package/lib/module/ui/components/payment/PaymentMethodStep.js.map +1 -0
  241. package/lib/module/ui/components/payment/PaymentReviewStep.js +102 -0
  242. package/lib/module/ui/components/payment/PaymentReviewStep.js.map +1 -0
  243. package/lib/module/ui/components/payment/PaymentSuccessStep.js +73 -0
  244. package/lib/module/ui/components/payment/PaymentSuccessStep.js.map +1 -0
  245. package/lib/module/ui/components/payment/PaymentSummaryStep.js +170 -0
  246. package/lib/module/ui/components/payment/PaymentSummaryStep.js.map +1 -0
  247. package/lib/module/ui/components/payment/constants.js +47 -0
  248. package/lib/module/ui/components/payment/constants.js.map +1 -0
  249. package/lib/module/ui/components/payment/index.js +10 -0
  250. package/lib/module/ui/components/payment/index.js.map +1 -0
  251. package/lib/module/ui/components/payment/paymentStyles.js +404 -0
  252. package/lib/module/ui/components/payment/paymentStyles.js.map +1 -0
  253. package/lib/module/ui/components/payment/types.js +4 -0
  254. package/lib/module/ui/components/payment/types.js.map +1 -0
  255. package/lib/module/ui/context/OxyContext.js +112 -191
  256. package/lib/module/ui/context/OxyContext.js.map +1 -1
  257. package/lib/module/ui/context/hooks/useAuthOperations.js +150 -19
  258. package/lib/module/ui/context/hooks/useAuthOperations.js.map +1 -1
  259. package/lib/module/ui/context/hooks/useSessionManagement.js +274 -0
  260. package/lib/module/ui/context/hooks/useSessionManagement.js.map +1 -0
  261. package/lib/module/ui/hooks/index.js +2 -0
  262. package/lib/module/ui/hooks/index.js.map +1 -1
  263. package/lib/module/ui/hooks/mutations/useAccountMutations.js +80 -72
  264. package/lib/module/ui/hooks/mutations/useAccountMutations.js.map +1 -1
  265. package/lib/module/ui/hooks/queries/useAccountQueries.js +31 -44
  266. package/lib/module/ui/hooks/queries/useAccountQueries.js.map +1 -1
  267. package/lib/module/ui/hooks/queries/useSecurityQueries.js +1 -1
  268. package/lib/module/ui/hooks/queries/useSecurityQueries.js.map +1 -1
  269. package/lib/module/ui/hooks/queries/useServicesQueries.js +13 -7
  270. package/lib/module/ui/hooks/queries/useServicesQueries.js.map +1 -1
  271. package/lib/module/ui/hooks/useAsyncAction.js +89 -0
  272. package/lib/module/ui/hooks/useAsyncAction.js.map +1 -0
  273. package/lib/module/ui/hooks/useProfileEditing.js +3 -5
  274. package/lib/module/ui/hooks/useProfileEditing.js.map +1 -1
  275. package/lib/module/ui/hooks/useSessionManagement.js +4 -8
  276. package/lib/module/ui/hooks/useSessionManagement.js.map +1 -1
  277. package/lib/module/ui/hooks/useSessionSocket.js +162 -315
  278. package/lib/module/ui/hooks/useSessionSocket.js.map +1 -1
  279. package/lib/module/ui/hooks/useSettingToggle.js +120 -0
  280. package/lib/module/ui/hooks/useSettingToggle.js.map +1 -0
  281. package/lib/module/ui/hooks/useStorage.js +25 -59
  282. package/lib/module/ui/hooks/useStorage.js.map +1 -1
  283. package/lib/module/ui/index.js +15 -10
  284. package/lib/module/ui/index.js.map +1 -1
  285. package/lib/module/ui/navigation/routes.js +6 -1
  286. package/lib/module/ui/navigation/routes.js.map +1 -1
  287. package/lib/module/ui/screens/AccountCenterScreen.js +6 -4
  288. package/lib/module/ui/screens/AccountCenterScreen.js.map +1 -1
  289. package/lib/module/ui/screens/AccountOverviewScreen.js +33 -30
  290. package/lib/module/ui/screens/AccountOverviewScreen.js.map +1 -1
  291. package/lib/module/ui/screens/AccountSettingsScreen.js +29 -24
  292. package/lib/module/ui/screens/AccountSettingsScreen.js.map +1 -1
  293. package/lib/module/ui/screens/AccountSwitcherScreen.js +3 -3
  294. package/lib/module/ui/screens/AccountSwitcherScreen.js.map +1 -1
  295. package/lib/module/ui/screens/FAQScreen.js +310 -0
  296. package/lib/module/ui/screens/FAQScreen.js.map +1 -0
  297. package/lib/module/ui/screens/FeedbackScreen.js +64 -581
  298. package/lib/module/ui/screens/FeedbackScreen.js.map +1 -1
  299. package/lib/module/ui/screens/HelpSupportScreen.js +8 -7
  300. package/lib/module/ui/screens/HelpSupportScreen.js.map +1 -1
  301. package/lib/module/ui/screens/OxyAuthScreen.js +135 -68
  302. package/lib/module/ui/screens/OxyAuthScreen.js.map +1 -1
  303. package/lib/module/ui/screens/PaymentGatewayScreen.js +67 -1397
  304. package/lib/module/ui/screens/PaymentGatewayScreen.js.map +1 -1
  305. package/lib/module/ui/screens/PrivacySettingsScreen.js +6 -13
  306. package/lib/module/ui/screens/PrivacySettingsScreen.js.map +1 -1
  307. package/lib/module/ui/screens/ProfileScreen.js +13 -5
  308. package/lib/module/ui/screens/ProfileScreen.js.map +1 -1
  309. package/lib/module/ui/screens/SavesCollectionsScreen.js +16 -10
  310. package/lib/module/ui/screens/SavesCollectionsScreen.js.map +1 -1
  311. package/lib/module/ui/screens/karma/KarmaCenterScreen.js +23 -11
  312. package/lib/module/ui/screens/karma/KarmaCenterScreen.js.map +1 -1
  313. package/lib/module/ui/stores/accountStore.js +2 -4
  314. package/lib/module/ui/stores/accountStore.js.map +1 -1
  315. package/lib/module/ui/stores/authStore.js +45 -32
  316. package/lib/module/ui/stores/authStore.js.map +1 -1
  317. package/lib/module/ui/styles/spacing.js +6 -2
  318. package/lib/module/ui/styles/spacing.js.map +1 -1
  319. package/lib/module/ui/utils/avatarUtils.js +37 -40
  320. package/lib/module/ui/utils/avatarUtils.js.map +1 -1
  321. package/lib/module/ui/utils/storageHelpers.js.map +1 -1
  322. package/lib/module/utils/errorUtils.js +7 -0
  323. package/lib/module/utils/errorUtils.js.map +1 -1
  324. package/lib/module/utils/validationUtils.js +13 -0
  325. package/lib/module/utils/validationUtils.js.map +1 -1
  326. package/lib/typescript/core/CrossDomainAuth.d.ts +161 -0
  327. package/lib/typescript/core/CrossDomainAuth.d.ts.map +1 -0
  328. package/lib/typescript/core/HttpService.d.ts +1 -1
  329. package/lib/typescript/core/HttpService.d.ts.map +1 -1
  330. package/lib/typescript/core/OxyServices.base.d.ts +0 -6
  331. package/lib/typescript/core/OxyServices.base.d.ts.map +1 -1
  332. package/lib/typescript/core/OxyServices.d.ts +5 -36
  333. package/lib/typescript/core/OxyServices.d.ts.map +1 -1
  334. package/lib/typescript/core/index.d.ts +4 -0
  335. package/lib/typescript/core/index.d.ts.map +1 -1
  336. package/lib/typescript/core/mixins/OxyServices.analytics.d.ts.map +1 -1
  337. package/lib/typescript/core/mixins/OxyServices.assets.d.ts.map +1 -1
  338. package/lib/typescript/core/mixins/OxyServices.auth.d.ts +40 -20
  339. package/lib/typescript/core/mixins/OxyServices.auth.d.ts.map +1 -1
  340. package/lib/typescript/core/mixins/OxyServices.developer.d.ts.map +1 -1
  341. package/lib/typescript/core/mixins/OxyServices.devices.d.ts.map +1 -1
  342. package/lib/typescript/core/mixins/OxyServices.features.d.ts +229 -0
  343. package/lib/typescript/core/mixins/OxyServices.features.d.ts.map +1 -0
  344. package/lib/typescript/core/mixins/OxyServices.fedcm.d.ts +195 -0
  345. package/lib/typescript/core/mixins/OxyServices.fedcm.d.ts.map +1 -0
  346. package/lib/typescript/core/mixins/OxyServices.karma.d.ts.map +1 -1
  347. package/lib/typescript/core/mixins/OxyServices.language.d.ts.map +1 -1
  348. package/lib/typescript/core/mixins/OxyServices.location.d.ts.map +1 -1
  349. package/lib/typescript/core/mixins/OxyServices.payment.d.ts.map +1 -1
  350. package/lib/typescript/core/mixins/OxyServices.popup.d.ts +206 -0
  351. package/lib/typescript/core/mixins/OxyServices.popup.d.ts.map +1 -0
  352. package/lib/typescript/core/mixins/OxyServices.privacy.d.ts.map +1 -1
  353. package/lib/typescript/core/mixins/OxyServices.redirect.d.ts +246 -0
  354. package/lib/typescript/core/mixins/OxyServices.redirect.d.ts.map +1 -0
  355. package/lib/typescript/core/mixins/OxyServices.security.d.ts.map +1 -1
  356. package/lib/typescript/core/mixins/OxyServices.user.d.ts +6 -4
  357. package/lib/typescript/core/mixins/OxyServices.user.d.ts.map +1 -1
  358. package/lib/typescript/core/mixins/OxyServices.utility.d.ts.map +1 -1
  359. package/lib/typescript/core/mixins/index.d.ts +291 -9
  360. package/lib/typescript/core/mixins/index.d.ts.map +1 -1
  361. package/lib/typescript/crypto/index.d.ts +6 -3
  362. package/lib/typescript/crypto/index.d.ts.map +1 -1
  363. package/lib/typescript/crypto/keyManager.d.ts +190 -0
  364. package/lib/typescript/crypto/keyManager.d.ts.map +1 -0
  365. package/lib/typescript/crypto/polyfill.d.ts +4 -3
  366. package/lib/typescript/crypto/polyfill.d.ts.map +1 -1
  367. package/lib/typescript/crypto/recoveryPhrase.d.ts +59 -0
  368. package/lib/typescript/crypto/recoveryPhrase.d.ts.map +1 -0
  369. package/lib/typescript/crypto/signatureService.d.ts +87 -0
  370. package/lib/typescript/crypto/signatureService.d.ts.map +1 -0
  371. package/lib/typescript/index.d.ts +5 -6
  372. package/lib/typescript/index.d.ts.map +1 -1
  373. package/lib/typescript/models/interfaces.d.ts +2 -14
  374. package/lib/typescript/models/interfaces.d.ts.map +1 -1
  375. package/lib/typescript/models/session.d.ts +0 -9
  376. package/lib/typescript/models/session.d.ts.map +1 -1
  377. package/lib/typescript/types/bip39.d.ts +32 -0
  378. package/lib/typescript/ui/components/BottomSheetRouter.d.ts +5 -0
  379. package/lib/typescript/ui/components/BottomSheetRouter.d.ts.map +1 -1
  380. package/lib/typescript/ui/components/GroupedItem.d.ts +5 -1
  381. package/lib/typescript/ui/components/GroupedItem.d.ts.map +1 -1
  382. package/lib/typescript/ui/components/IconButton/utils.d.ts +1 -1
  383. package/lib/typescript/ui/components/OxyProvider.d.ts.map +1 -1
  384. package/lib/typescript/ui/components/SettingRow.d.ts +6 -0
  385. package/lib/typescript/ui/components/SettingRow.d.ts.map +1 -1
  386. package/lib/typescript/ui/components/TextField/Addons/Outline.d.ts +2 -2
  387. package/lib/typescript/ui/components/TextField/Adornment/utils.d.ts +1 -1
  388. package/lib/typescript/ui/components/TextField/Adornment/utils.d.ts.map +1 -1
  389. package/lib/typescript/ui/components/TextField/helpers.d.ts +8 -8
  390. package/lib/typescript/ui/components/TextField/types.d.ts +1 -0
  391. package/lib/typescript/ui/components/TextField/types.d.ts.map +1 -1
  392. package/lib/typescript/ui/components/feedback/FormInput.d.ts +20 -0
  393. package/lib/typescript/ui/components/feedback/FormInput.d.ts.map +1 -0
  394. package/lib/typescript/ui/components/feedback/ProgressIndicator.d.ts +11 -0
  395. package/lib/typescript/ui/components/feedback/ProgressIndicator.d.ts.map +1 -0
  396. package/lib/typescript/ui/components/feedback/constants.d.ts +5 -0
  397. package/lib/typescript/ui/components/feedback/constants.d.ts.map +1 -0
  398. package/lib/typescript/ui/components/feedback/feedbackStyles.d.ts +280 -0
  399. package/lib/typescript/ui/components/feedback/feedbackStyles.d.ts.map +1 -0
  400. package/lib/typescript/ui/components/feedback/index.d.ts +7 -0
  401. package/lib/typescript/ui/components/feedback/index.d.ts.map +1 -0
  402. package/lib/typescript/ui/components/feedback/types.d.ts +46 -0
  403. package/lib/typescript/ui/components/feedback/types.d.ts.map +1 -0
  404. package/lib/typescript/ui/components/feedback/useFeedbackForm.d.ts +9 -0
  405. package/lib/typescript/ui/components/feedback/useFeedbackForm.d.ts.map +1 -0
  406. package/lib/typescript/ui/components/modals/DeleteAccountModal.d.ts +19 -0
  407. package/lib/typescript/ui/components/modals/DeleteAccountModal.d.ts.map +1 -0
  408. package/lib/typescript/ui/components/modals/index.d.ts +2 -0
  409. package/lib/typescript/ui/components/modals/index.d.ts.map +1 -0
  410. package/lib/typescript/ui/components/payment/PaymentDetailsStep.d.ts +21 -0
  411. package/lib/typescript/ui/components/payment/PaymentDetailsStep.d.ts.map +1 -0
  412. package/lib/typescript/ui/components/payment/PaymentMethodStep.d.ts +14 -0
  413. package/lib/typescript/ui/components/payment/PaymentMethodStep.d.ts.map +1 -0
  414. package/lib/typescript/ui/components/payment/PaymentReviewStep.d.ts +16 -0
  415. package/lib/typescript/ui/components/payment/PaymentReviewStep.d.ts.map +1 -0
  416. package/lib/typescript/ui/components/payment/PaymentSuccessStep.d.ts +10 -0
  417. package/lib/typescript/ui/components/payment/PaymentSuccessStep.d.ts.map +1 -0
  418. package/lib/typescript/ui/components/payment/PaymentSummaryStep.d.ts +15 -0
  419. package/lib/typescript/ui/components/payment/PaymentSummaryStep.d.ts.map +1 -0
  420. package/lib/typescript/ui/components/payment/constants.d.ts +7 -0
  421. package/lib/typescript/ui/components/payment/constants.d.ts.map +1 -0
  422. package/lib/typescript/ui/components/payment/index.d.ts +9 -0
  423. package/lib/typescript/ui/components/payment/index.d.ts.map +1 -0
  424. package/lib/typescript/ui/components/payment/paymentStyles.d.ts +396 -0
  425. package/lib/typescript/ui/components/payment/paymentStyles.d.ts.map +1 -0
  426. package/lib/typescript/ui/components/payment/types.d.ts +40 -0
  427. package/lib/typescript/ui/components/payment/types.d.ts.map +1 -0
  428. package/lib/typescript/ui/components/types.d.ts +4 -0
  429. package/lib/typescript/ui/components/types.d.ts.map +1 -1
  430. package/lib/typescript/ui/context/OxyContext.d.ts +57 -3
  431. package/lib/typescript/ui/context/OxyContext.d.ts.map +1 -1
  432. package/lib/typescript/ui/context/hooks/useAuthOperations.d.ts +10 -3
  433. package/lib/typescript/ui/context/hooks/useAuthOperations.d.ts.map +1 -1
  434. package/lib/typescript/ui/context/hooks/useSessionManagement.d.ts +41 -0
  435. package/lib/typescript/ui/context/hooks/useSessionManagement.d.ts.map +1 -0
  436. package/lib/typescript/ui/hooks/index.d.ts +2 -0
  437. package/lib/typescript/ui/hooks/index.d.ts.map +1 -1
  438. package/lib/typescript/ui/hooks/mutations/useAccountMutations.d.ts.map +1 -1
  439. package/lib/typescript/ui/hooks/queries/useAccountQueries.d.ts.map +1 -1
  440. package/lib/typescript/ui/hooks/queries/useServicesQueries.d.ts.map +1 -1
  441. package/lib/typescript/ui/hooks/useAsyncAction.d.ts +51 -0
  442. package/lib/typescript/ui/hooks/useAsyncAction.d.ts.map +1 -0
  443. package/lib/typescript/ui/hooks/useProfileEditing.d.ts.map +1 -1
  444. package/lib/typescript/ui/hooks/useSessionManagement.d.ts.map +1 -1
  445. package/lib/typescript/ui/hooks/useSessionSocket.d.ts +1 -2
  446. package/lib/typescript/ui/hooks/useSessionSocket.d.ts.map +1 -1
  447. package/lib/typescript/ui/hooks/useSettingToggle.d.ts +55 -0
  448. package/lib/typescript/ui/hooks/useSettingToggle.d.ts.map +1 -0
  449. package/lib/typescript/ui/hooks/useStorage.d.ts +3 -9
  450. package/lib/typescript/ui/hooks/useStorage.d.ts.map +1 -1
  451. package/lib/typescript/ui/index.d.ts +6 -2
  452. package/lib/typescript/ui/index.d.ts.map +1 -1
  453. package/lib/typescript/ui/navigation/routes.d.ts +1 -1
  454. package/lib/typescript/ui/navigation/routes.d.ts.map +1 -1
  455. package/lib/typescript/ui/screens/AccountOverviewScreen.d.ts.map +1 -1
  456. package/lib/typescript/ui/screens/AccountSettingsScreen.d.ts.map +1 -1
  457. package/lib/typescript/ui/screens/FAQScreen.d.ts +5 -0
  458. package/lib/typescript/ui/screens/FAQScreen.d.ts.map +1 -0
  459. package/lib/typescript/ui/screens/FeedbackScreen.d.ts.map +1 -1
  460. package/lib/typescript/ui/screens/HelpSupportScreen.d.ts.map +1 -1
  461. package/lib/typescript/ui/screens/OxyAuthScreen.d.ts +1 -1
  462. package/lib/typescript/ui/screens/OxyAuthScreen.d.ts.map +1 -1
  463. package/lib/typescript/ui/screens/PaymentGatewayScreen.d.ts +3 -15
  464. package/lib/typescript/ui/screens/PaymentGatewayScreen.d.ts.map +1 -1
  465. package/lib/typescript/ui/screens/PrivacySettingsScreen.d.ts.map +1 -1
  466. package/lib/typescript/ui/screens/ProfileScreen.d.ts.map +1 -1
  467. package/lib/typescript/ui/screens/SavesCollectionsScreen.d.ts.map +1 -1
  468. package/lib/typescript/ui/screens/karma/KarmaCenterScreen.d.ts.map +1 -1
  469. package/lib/typescript/ui/stores/accountStore.d.ts.map +1 -1
  470. package/lib/typescript/ui/stores/authStore.d.ts +8 -7
  471. package/lib/typescript/ui/stores/authStore.d.ts.map +1 -1
  472. package/lib/typescript/ui/styles/spacing.d.ts +5 -0
  473. package/lib/typescript/ui/styles/spacing.d.ts.map +1 -1
  474. package/lib/typescript/ui/types/navigation.d.ts +2 -1
  475. package/lib/typescript/ui/types/navigation.d.ts.map +1 -1
  476. package/lib/typescript/ui/utils/avatarUtils.d.ts +2 -13
  477. package/lib/typescript/ui/utils/avatarUtils.d.ts.map +1 -1
  478. package/lib/typescript/ui/utils/storageHelpers.d.ts +0 -3
  479. package/lib/typescript/ui/utils/storageHelpers.d.ts.map +1 -1
  480. package/lib/typescript/utils/errorUtils.d.ts +6 -0
  481. package/lib/typescript/utils/errorUtils.d.ts.map +1 -1
  482. package/lib/typescript/utils/validationUtils.d.ts +8 -0
  483. package/lib/typescript/utils/validationUtils.d.ts.map +1 -1
  484. package/package.json +8 -7
  485. package/src/core/CrossDomainAuth.ts +307 -0
  486. package/src/core/HttpService.ts +99 -16
  487. package/src/core/OxyServices.base.ts +20 -3
  488. package/src/core/OxyServices.ts +7 -3
  489. package/src/core/index.ts +9 -1
  490. package/src/core/mixins/OxyServices.assets.ts +14 -3
  491. package/src/core/mixins/OxyServices.auth.ts +105 -36
  492. package/src/core/mixins/OxyServices.features.ts +428 -0
  493. package/src/core/mixins/OxyServices.fedcm.ts +315 -0
  494. package/src/core/mixins/OxyServices.popup.ts +402 -0
  495. package/src/core/mixins/OxyServices.redirect.ts +397 -0
  496. package/src/core/mixins/OxyServices.user.ts +39 -24
  497. package/src/core/mixins/index.ts +33 -14
  498. package/src/crypto/index.ts +16 -5
  499. package/src/crypto/keyManager.ts +966 -0
  500. package/src/crypto/polyfill.ts +6 -5
  501. package/src/crypto/recoveryPhrase.ts +166 -0
  502. package/src/crypto/signatureService.ts +323 -0
  503. package/src/i18n/locales/en-US.json +1 -1
  504. package/src/index.ts +19 -15
  505. package/src/models/interfaces.ts +4 -16
  506. package/src/models/session.ts +2 -11
  507. package/src/types/bip39.d.ts +32 -0
  508. package/src/ui/components/BottomSheetRouter.tsx +6 -1
  509. package/src/ui/components/GroupedItem.tsx +19 -1
  510. package/src/ui/components/Icon.tsx +1 -1
  511. package/src/ui/components/IconButton/utils.ts +1 -1
  512. package/src/ui/components/OxyProvider.tsx +44 -12
  513. package/src/ui/components/SettingRow.tsx +26 -4
  514. package/src/ui/components/TextField/Addons/Outline.tsx +2 -2
  515. package/src/ui/components/TextField/Adornment/utils.ts +2 -2
  516. package/src/ui/components/TextField/helpers.tsx +10 -10
  517. package/src/ui/components/TextField/types.tsx +1 -1
  518. package/src/ui/components/TouchableRipple/utils.ts +2 -2
  519. package/src/ui/components/Typography/AnimatedText.tsx +2 -2
  520. package/src/ui/components/feedback/FormInput.tsx +84 -0
  521. package/src/ui/components/feedback/ProgressIndicator.tsx +35 -0
  522. package/src/ui/components/feedback/constants.ts +22 -0
  523. package/src/ui/components/feedback/feedbackStyles.ts +247 -0
  524. package/src/ui/components/feedback/index.ts +6 -0
  525. package/src/ui/components/feedback/types.ts +52 -0
  526. package/src/ui/components/feedback/useFeedbackForm.ts +44 -0
  527. package/src/ui/components/modals/DeleteAccountModal.tsx +294 -0
  528. package/src/ui/components/modals/index.ts +1 -0
  529. package/src/ui/components/payment/PaymentDetailsStep.tsx +222 -0
  530. package/src/ui/components/payment/PaymentMethodStep.tsx +89 -0
  531. package/src/ui/components/payment/PaymentReviewStep.tsx +126 -0
  532. package/src/ui/components/payment/PaymentSuccessStep.tsx +71 -0
  533. package/src/ui/components/payment/PaymentSummaryStep.tsx +159 -0
  534. package/src/ui/components/payment/constants.ts +39 -0
  535. package/src/ui/components/payment/index.ts +9 -0
  536. package/src/ui/components/payment/paymentStyles.ts +397 -0
  537. package/src/ui/components/payment/types.ts +45 -0
  538. package/src/ui/components/types.tsx +6 -0
  539. package/src/ui/context/OxyContext.tsx +173 -195
  540. package/src/ui/context/hooks/useAuthOperations.ts +177 -36
  541. package/src/ui/context/hooks/useSessionManagement.ts +399 -0
  542. package/src/ui/hooks/index.ts +3 -1
  543. package/src/ui/hooks/mutations/useAccountMutations.ts +83 -76
  544. package/src/ui/hooks/queries/useAccountQueries.ts +29 -35
  545. package/src/ui/hooks/queries/useSecurityQueries.ts +1 -1
  546. package/src/ui/hooks/queries/useServicesQueries.ts +14 -6
  547. package/src/ui/hooks/useAsyncAction.ts +129 -0
  548. package/src/ui/hooks/useProfileEditing.ts +3 -3
  549. package/src/ui/hooks/useSessionManagement.ts +5 -10
  550. package/src/ui/hooks/useSessionSocket.ts +46 -175
  551. package/src/ui/hooks/useSettingToggle.ts +147 -0
  552. package/src/ui/hooks/useStorage.ts +24 -76
  553. package/src/ui/index.ts +22 -13
  554. package/src/ui/navigation/routes.ts +8 -2
  555. package/src/ui/screens/AccountCenterScreen.tsx +4 -4
  556. package/src/ui/screens/AccountOverviewScreen.tsx +36 -38
  557. package/src/ui/screens/AccountSettingsScreen.tsx +34 -37
  558. package/src/ui/screens/AccountSwitcherScreen.tsx +4 -4
  559. package/src/ui/screens/FAQScreen.tsx +332 -0
  560. package/src/ui/screens/FeedbackScreen.tsx +91 -626
  561. package/src/ui/screens/HelpSupportScreen.tsx +7 -5
  562. package/src/ui/screens/OxyAuthScreen.tsx +138 -64
  563. package/src/ui/screens/PaymentGatewayScreen.tsx +96 -1275
  564. package/src/ui/screens/PrivacySettingsScreen.tsx +6 -12
  565. package/src/ui/screens/ProfileScreen.tsx +11 -6
  566. package/src/ui/screens/SavesCollectionsScreen.tsx +19 -10
  567. package/src/ui/screens/karma/KarmaCenterScreen.tsx +10 -10
  568. package/src/ui/stores/accountStore.ts +1 -11
  569. package/src/ui/stores/authStore.ts +43 -44
  570. package/src/ui/styles/spacing.ts +15 -2
  571. package/src/ui/types/navigation.ts +2 -2
  572. package/src/ui/utils/avatarUtils.ts +39 -46
  573. package/src/ui/utils/storageHelpers.ts +0 -4
  574. package/src/utils/__tests__/validationUtils.test.ts +16 -1
  575. package/src/utils/errorUtils.ts +8 -1
  576. package/src/utils/validationUtils.ts +12 -0
  577. package/lib/commonjs/core/services/SessionService.js +0 -163
  578. package/lib/commonjs/core/services/SessionService.js.map +0 -1
  579. package/lib/commonjs/core/services/TokenService.js +0 -220
  580. package/lib/commonjs/core/services/TokenService.js.map +0 -1
  581. package/lib/commonjs/crypto/types.js +0 -2
  582. package/lib/commonjs/crypto/types.js.map +0 -1
  583. package/lib/commonjs/ui/context/OxyContextBase.js +0 -21
  584. package/lib/commonjs/ui/context/OxyContextBase.js.map +0 -1
  585. package/lib/commonjs/ui/context/hooks/useStorage.js +0 -79
  586. package/lib/commonjs/ui/context/hooks/useStorage.js.map +0 -1
  587. package/lib/commonjs/ui/hooks/useAvatarPicker.js +0 -56
  588. package/lib/commonjs/ui/hooks/useAvatarPicker.js.map +0 -1
  589. package/lib/module/core/services/SessionService.js +0 -159
  590. package/lib/module/core/services/SessionService.js.map +0 -1
  591. package/lib/module/core/services/TokenService.js +0 -217
  592. package/lib/module/core/services/TokenService.js.map +0 -1
  593. package/lib/module/crypto/types.js +0 -2
  594. package/lib/module/crypto/types.js.map +0 -1
  595. package/lib/module/ui/context/OxyContextBase.js +0 -16
  596. package/lib/module/ui/context/OxyContextBase.js.map +0 -1
  597. package/lib/module/ui/context/hooks/useStorage.js +0 -74
  598. package/lib/module/ui/context/hooks/useStorage.js.map +0 -1
  599. package/lib/module/ui/hooks/useAvatarPicker.js +0 -50
  600. package/lib/module/ui/hooks/useAvatarPicker.js.map +0 -1
  601. package/lib/typescript/core/services/SessionService.d.ts +0 -78
  602. package/lib/typescript/core/services/SessionService.d.ts.map +0 -1
  603. package/lib/typescript/core/services/TokenService.d.ts +0 -72
  604. package/lib/typescript/core/services/TokenService.d.ts.map +0 -1
  605. package/lib/typescript/crypto/types.d.ts +0 -22
  606. package/lib/typescript/crypto/types.d.ts.map +0 -1
  607. package/lib/typescript/ui/context/OxyContextBase.d.ts +0 -63
  608. package/lib/typescript/ui/context/OxyContextBase.d.ts.map +0 -1
  609. package/lib/typescript/ui/context/hooks/useStorage.d.ts +0 -22
  610. package/lib/typescript/ui/context/hooks/useStorage.d.ts.map +0 -1
  611. package/lib/typescript/ui/hooks/useAvatarPicker.d.ts +0 -19
  612. package/lib/typescript/ui/hooks/useAvatarPicker.d.ts.map +0 -1
  613. package/src/core/services/SessionService.ts +0 -173
  614. package/src/core/services/TokenService.ts +0 -237
  615. package/src/crypto/types.ts +0 -23
  616. package/src/ui/context/OxyContextBase.tsx +0 -78
  617. package/src/ui/context/hooks/useStorage.ts +0 -104
  618. package/src/ui/hooks/useAvatarPicker.ts +0 -61
package/src/ui/index.ts CHANGED
@@ -6,8 +6,8 @@
6
6
  */
7
7
  import isFrontend from './isFrontend';
8
8
 
9
- // Real UI exports
10
- let OxyProvider, OxySignInButton, OxyLogo, Avatar, FollowButton, OxyPayButton, FontLoader, setupFonts, OxyIcon, useOxy, useOxyAuth, useOxyUser, useOxyKarma, useOxyPayments, useOxyDevices, useOxyNotifications, useOxySocket, useOxyQR, OxyContextProvider, OxyContextState, OxyContextProviderProps, useFollow, ProfileScreen, useAuthStore, useAccountStore, fontFamilies, fontStyles, toast;
9
+ // UI exports
10
+ let OxyProvider, OxySignInButton, OxyLogo, Avatar, FollowButton, OxyPayButton, FontLoader, setupFonts, OxyIcon, useOxy, useFollow, ProfileScreen, useAuthStore, useAccountStore, fontFamilies, fontStyles, toast, useStorage;
11
11
 
12
12
  if (isFrontend) {
13
13
  OxyProvider = require('./components/OxyProvider').default;
@@ -20,9 +20,6 @@ if (isFrontend) {
20
20
  setupFonts = require('./components/FontLoader').setupFonts;
21
21
  OxyIcon = require('./components/icon').OxyIcon;
22
22
  useOxy = require('./context/OxyContext').useOxy;
23
- OxyContextProvider = require('./context/OxyContext').OxyContextProvider;
24
- OxyContextState = require('./context/OxyContext').OxyContextState;
25
- OxyContextProviderProps = require('./context/OxyContext').OxyContextProviderProps;
26
23
  useFollow = require('./hooks').useFollow;
27
24
  ProfileScreen = require('./screens/ProfileScreen').default;
28
25
  useAuthStore = require('./stores/authStore').useAuthStore;
@@ -30,10 +27,13 @@ if (isFrontend) {
30
27
  fontFamilies = require('./styles/fonts').fontFamilies;
31
28
  fontStyles = require('./styles/fonts').fontStyles;
32
29
  toast = require('../lib/sonner').toast;
30
+ useStorage = require('./hooks/useStorage').useStorage;
33
31
  } else {
34
32
  // Backend: no-op fallbacks
35
33
  const noopComponent = () => null;
36
34
  const noopHook = () => ({});
35
+ const noopStorageResult = { storage: null, isReady: false };
36
+
37
37
  OxyProvider = noopComponent;
38
38
  OxySignInButton = noopComponent;
39
39
  OxyLogo = noopComponent;
@@ -44,9 +44,6 @@ if (isFrontend) {
44
44
  setupFonts = () => {};
45
45
  OxyIcon = noopComponent;
46
46
  useOxy = noopHook;
47
- OxyContextProvider = noopComponent;
48
- OxyContextState = {};
49
- OxyContextProviderProps = {};
50
47
  useFollow = noopHook;
51
48
  ProfileScreen = noopComponent;
52
49
  useAuthStore = noopHook;
@@ -54,6 +51,7 @@ if (isFrontend) {
54
51
  fontFamilies = {};
55
52
  fontStyles = {};
56
53
  toast = () => {};
54
+ useStorage = () => noopStorageResult;
57
55
  }
58
56
 
59
57
  export {
@@ -67,17 +65,28 @@ export {
67
65
  setupFonts,
68
66
  OxyIcon,
69
67
  useOxy,
70
- OxyContextProvider,
71
- OxyContextState,
72
- OxyContextProviderProps,
73
68
  useFollow,
74
69
  ProfileScreen,
75
70
  useAuthStore,
76
71
  useAccountStore,
77
72
  fontFamilies,
78
73
  fontStyles,
79
- toast
74
+ toast,
75
+ useStorage,
80
76
  };
81
77
 
82
- // Removed convenience re-export of core services from UI context.
78
+ // Re-export core services for convenience in UI context
79
+ export { OxyServices } from '../core';
83
80
  export type { User, LoginResponse, ApiError } from '../models/interfaces';
81
+
82
+ // Export error handler utilities (pure functions, no conditional needed)
83
+ export {
84
+ handleAuthError,
85
+ isInvalidSessionError,
86
+ isTimeoutOrNetworkError,
87
+ extractErrorMessage,
88
+ } from './utils/errorHandlers';
89
+ export type { HandleAuthErrorOptions } from './utils/errorHandlers';
90
+
91
+ // Export useStorage hook and types (kept for external consumers)
92
+ export type { UseStorageOptions, UseStorageResult } from './hooks/useStorage';
@@ -22,6 +22,7 @@ export type RouteName =
22
22
  | 'SearchSettings'
23
23
  | 'FileManagement'
24
24
  | 'HelpSupport'
25
+ | 'FAQ'
25
26
  | 'Feedback'
26
27
  | 'LegalDocuments'
27
28
  | 'AppInfo'
@@ -30,18 +31,22 @@ export type RouteName =
30
31
  | 'UserLinks'
31
32
  | 'HistoryView'
32
33
  | 'SavesCollections'
34
+ | 'EditProfile' // For backward compatibility, maps to AccountSettings
33
35
  | 'KarmaCenter'
34
36
  | 'KarmaLeaderboard'
35
37
  | 'KarmaRewards'
36
38
  | 'KarmaRules'
37
39
  | 'AboutKarma'
38
40
  | 'KarmaFAQ'
39
- | 'EditProfile'
41
+ // Legacy aliases for backward compatibility
42
+ | 'SignIn'; // Maps to OxyAuth
40
43
 
41
44
  // Lazy screen loaders - functions that return screen components on-demand
42
45
  // This breaks the require cycle by deferring imports until screens are actually needed
43
46
  const screenLoaders: Record<RouteName, () => ComponentType<BaseScreenProps>> = {
44
47
  OxyAuth: () => require('../screens/OxyAuthScreen').default,
48
+ // Legacy alias - SignIn now maps to OxyAuth
49
+ SignIn: () => require('../screens/OxyAuthScreen').default,
45
50
  AccountOverview: () => require('../screens/AccountOverviewScreen').default,
46
51
  AccountSettings: () => require('../screens/AccountSettingsScreen').default,
47
52
  AccountCenter: () => require('../screens/AccountCenterScreen').default,
@@ -55,6 +60,7 @@ const screenLoaders: Record<RouteName, () => ComponentType<BaseScreenProps>> = {
55
60
  SearchSettings: () => require('../screens/SearchSettingsScreen').default,
56
61
  FileManagement: () => require('../screens/FileManagementScreen').default,
57
62
  HelpSupport: () => require('../screens/HelpSupportScreen').default,
63
+ FAQ: () => require('../screens/FAQScreen').default,
58
64
  Feedback: () => require('../screens/FeedbackScreen').default,
59
65
  LegalDocuments: () => require('../screens/LegalDocumentsScreen').default,
60
66
  AppInfo: () => require('../screens/AppInfoScreen').default,
@@ -63,7 +69,7 @@ const screenLoaders: Record<RouteName, () => ComponentType<BaseScreenProps>> = {
63
69
  UserLinks: () => require('../screens/UserLinksScreen').default,
64
70
  HistoryView: () => require('../screens/HistoryViewScreen').default,
65
71
  SavesCollections: () => require('../screens/SavesCollectionsScreen').default,
66
- // EditProfile kept for historical references
72
+ // Backward compatibility - EditProfile maps to AccountSettings
67
73
  EditProfile: () => require('../screens/AccountSettingsScreen').default,
68
74
  // Karma screens
69
75
  KarmaCenter: () => require('../screens/karma/KarmaCenterScreen').default,
@@ -189,7 +189,7 @@ const AccountCenterScreen: React.FC<BaseScreenProps> = ({
189
189
  iconColor: colors.iconPersonalInfo,
190
190
  title: t('accountCenter.items.addAccount.title') || 'Add Another Account',
191
191
  subtitle: t('accountCenter.items.addAccount.subtitle') || 'Sign in with a different account',
192
- onPress: () => navigate?.('OxyAuth'),
192
+ onPress: () => navigate?.('SignIn'),
193
193
  },
194
194
  ], [sessions.length, navigate, t, colors])}
195
195
 
@@ -208,7 +208,7 @@ const AccountCenterScreen: React.FC<BaseScreenProps> = ({
208
208
  iconColor: colors.iconPersonalInfo,
209
209
  title: t('accountCenter.items.addAccount.title') || 'Add Another Account',
210
210
  subtitle: t('accountCenter.items.addAccount.subtitle') || 'Sign in with a different account',
211
- onPress: () => navigate?.('OxyAuth'),
211
+ onPress: () => navigate?.('SignIn'),
212
212
  },
213
213
  ], [navigate, t, colors])}
214
214
 
@@ -226,7 +226,7 @@ const AccountCenterScreen: React.FC<BaseScreenProps> = ({
226
226
  iconColor: colors.iconStorage,
227
227
  title: t('accountCenter.items.notifications.title') || 'Notifications',
228
228
  subtitle: t('accountCenter.items.notifications.subtitle') || 'Manage notification settings',
229
- onPress: () => toast.info(t('accountCenter.items.notifications.coming') || 'Notifications feature coming soon!'),
229
+ onPress: () => navigate?.('EditProfile', { activeTab: 'notifications' }),
230
230
  }] : []),
231
231
  {
232
232
  id: 'language',
@@ -242,7 +242,7 @@ const AccountCenterScreen: React.FC<BaseScreenProps> = ({
242
242
  iconColor: colors.iconSecurity,
243
243
  title: t('accountOverview.items.help.title') || 'Help & Support',
244
244
  subtitle: t('accountOverview.items.help.subtitle') || 'Get help and contact support',
245
- onPress: () => toast.info(t('accountOverview.items.help.coming') || 'Help & Support feature coming soon!'),
245
+ onPress: () => navigate?.('HelpSupport'),
246
246
  },
247
247
  {
248
248
  id: 'appinfo',
@@ -34,6 +34,7 @@ import {
34
34
  HEADER_PADDING_TOP_OVERVIEW,
35
35
  createScreenContentStyle,
36
36
  } from '../constants/spacing';
37
+ import { DeleteAccountModal } from '../components/modals';
37
38
 
38
39
  // Optional Lottie import - gracefully handle if not available
39
40
  let LottieView: any = null;
@@ -83,6 +84,7 @@ const AccountOverviewScreen: React.FC<BaseScreenProps> = ({
83
84
  const [showMoreAccounts, setShowMoreAccounts] = useState(false);
84
85
  const [additionalAccountsData, setAdditionalAccountsData] = useState<any[]>([]);
85
86
  const [loadingAdditionalAccounts, setLoadingAdditionalAccounts] = useState(false);
87
+ const [showDeleteModal, setShowDeleteModal] = useState(false);
86
88
  const lottieRef = useRef<any>(null);
87
89
  const hasPlayedRef = useRef(false);
88
90
  const insets = useSafeAreaInsets();
@@ -143,7 +145,7 @@ const AccountOverviewScreen: React.FC<BaseScreenProps> = ({
143
145
 
144
146
  React.useEffect(() => {
145
147
  if (usersData && usersData.length > 0) {
146
- const accountsData = usersData.map(({ sessionId, user: userProfile }) => {
148
+ const accountsData = usersData.map(({ sessionId, user: userProfile }: { sessionId: string; user: any }) => {
147
149
  if (!userProfile) {
148
150
  return {
149
151
  id: sessionId,
@@ -289,45 +291,22 @@ const AccountOverviewScreen: React.FC<BaseScreenProps> = ({
289
291
  toast.error(t('accountOverview.items.deleteAccount.error') || 'User not available');
290
292
  return;
291
293
  }
294
+ setShowDeleteModal(true);
295
+ }, [user, t]);
292
296
 
293
- confirmAction(
294
- t('accountOverview.items.deleteAccount.confirmMessage') || `This action cannot be undone. This will permanently delete your account and all associated data.\n\nAre you sure you want to delete your account?`,
295
- async () => {
296
- // For React Native, we'd need a separate modal for password/confirmation input
297
- // For now, we'll use a simplified confirmation
298
- // In production, you'd want to create a modal with password and username confirmation fields
299
- if (!oxyServices) {
300
- toast.error(t('accountOverview.items.deleteAccount.error') || 'Service not available');
301
- return;
302
- }
297
+ const handleConfirmDelete = useCallback(async (password: string) => {
298
+ if (!oxyServices || !user) {
299
+ throw new Error(t('accountOverview.items.deleteAccount.error') || 'Service not available');
300
+ }
303
301
 
304
- Alert.alert(
305
- t('accountOverview.items.deleteAccount.confirmTitle') || 'Delete Account',
306
- t('accountOverview.items.deleteAccount.finalConfirm') || `This is your final warning. Your account will be permanently deleted and cannot be recovered. Type "${user.username}" to confirm.`,
307
- [
308
- {
309
- text: t('common.cancel') || 'Cancel',
310
- style: 'cancel',
311
- },
312
- {
313
- text: t('accountOverview.items.deleteAccount.confirm') || 'Delete Forever',
314
- style: 'destructive',
315
- onPress: async () => {
316
- try {
317
- // Note: In a production app, you'd want to show a modal with password and username confirmation fields
318
- // For now, we'll require the user to enter these via a custom modal or prompt
319
- toast.error(t('accountOverview.items.deleteAccount.passwordRequired') || 'Password confirmation required. This feature needs a modal with password input.');
320
- } catch (error: any) {
321
- console.error('Failed to delete account:', error);
322
- toast.error(error?.message || t('accountOverview.items.deleteAccount.error') || 'Failed to delete account');
323
- }
324
- },
325
- },
326
- ]
327
- );
328
- }
329
- );
330
- }, [user, oxyServices, logout, onClose, t]);
302
+ await oxyServices.deleteAccount(password);
303
+ toast.success(t('accountOverview.items.deleteAccount.success') || 'Account deleted successfully');
304
+ setShowDeleteModal(false);
305
+ await logout();
306
+ if (onClose) {
307
+ onClose();
308
+ }
309
+ }, [oxyServices, user, logout, onClose, t]);
331
310
 
332
311
  if (!isAuthenticated) {
333
312
  return (
@@ -703,6 +682,25 @@ const AccountOverviewScreen: React.FC<BaseScreenProps> = ({
703
682
  />
704
683
  </Section>
705
684
  </ScrollView>
685
+
686
+ {/* Delete Account Modal */}
687
+ {user && (
688
+ <DeleteAccountModal
689
+ visible={showDeleteModal}
690
+ username={user.username || ''}
691
+ onClose={() => setShowDeleteModal(false)}
692
+ onDelete={handleConfirmDelete}
693
+ colors={{
694
+ background: themeStyles.backgroundColor,
695
+ text: themeStyles.textColor,
696
+ secondaryText: themeStyles.isDarkTheme ? '#888888' : '#666666',
697
+ border: themeStyles.borderColor,
698
+ danger: '#FF3B30',
699
+ inputBackground: themeStyles.isDarkTheme ? '#333333' : '#F5F5F5',
700
+ }}
701
+ t={t}
702
+ />
703
+ )}
706
704
  </View>
707
705
  );
708
706
  };
@@ -22,6 +22,7 @@ import { MaterialCommunityIcons } from '@expo/vector-icons';
22
22
  import { toast } from '../../lib/sonner';
23
23
  import { fontFamilies } from '../styles/fonts';
24
24
  import { confirmAction } from '../utils/confirmAction';
25
+ import { useAuthStore } from '../stores/authStore';
25
26
  import { Header, GroupedSection, Section } from '../components';
26
27
  import { useI18n } from '../hooks/useI18n';
27
28
  import { useThemeStyles } from '../hooks/useThemeStyles';
@@ -76,9 +77,13 @@ const AccountSettingsScreen: React.FC<BaseScreenProps & { initialField?: string;
76
77
  const normalizedTheme = normalizeTheme(theme);
77
78
 
78
79
  // Use TanStack Query for user data
79
- const { data: finalUser, isLoading: userLoading } = useCurrentUser({ enabled: isAuthenticated });
80
+ const { data: user, isLoading: userLoading } = useCurrentUser({ enabled: isAuthenticated });
80
81
  const updateProfileMutation = useUpdateProfile();
81
82
  const uploadAvatarMutation = useUploadAvatar();
83
+
84
+ // Fallback to store for backward compatibility
85
+ const userFromStore = useAuthStore((state) => state.user);
86
+ const finalUser = user || userFromStore;
82
87
  const [isLoading, setIsLoading] = useState(false);
83
88
  const isSaving = updateProfileMutation.isPending;
84
89
  const isUpdatingAvatar = uploadAvatarMutation.isPending;
@@ -215,10 +220,9 @@ const AccountSettingsScreen: React.FC<BaseScreenProps & { initialField?: string;
215
220
  // Only reset all fields if it's a new user or first load
216
221
  // Skip reset if it's just an avatar update
217
222
  if (shouldInitialize && !isAvatarOnlyUpdate) {
218
- // Prioritize name.full over name.first for display name
219
223
  const userDisplayName = typeof finalUser.name === 'string'
220
224
  ? finalUser.name
221
- : finalUser.name?.full || finalUser.name?.first || '';
225
+ : finalUser.name?.first || finalUser.name?.full || '';
222
226
  const userLastName = typeof finalUser.name === 'object' ? finalUser.name?.last || '' : '';
223
227
  setDisplayName(userDisplayName);
224
228
  setLastName(userLastName);
@@ -363,15 +367,7 @@ const AccountSettingsScreen: React.FC<BaseScreenProps & { initialField?: string;
363
367
  try {
364
368
  switch (field) {
365
369
  case 'displayName':
366
- // Send both first/last AND full name for proper synchronization
367
- const fullName = [tempDisplayName, tempLastName].filter(Boolean).join(' ').trim() || tempDisplayName;
368
- await updateProfileMutation.mutateAsync({
369
- name: {
370
- first: tempDisplayName,
371
- last: tempLastName,
372
- full: fullName
373
- }
374
- });
370
+ await updateProfileMutation.mutateAsync({ name: { first: tempDisplayName, last: tempLastName } });
375
371
  setDisplayName(tempDisplayName);
376
372
  setLastName(tempLastName);
377
373
  break;
@@ -476,12 +472,7 @@ const AccountSettingsScreen: React.FC<BaseScreenProps & { initialField?: string;
476
472
 
477
473
  // Handle name field
478
474
  if (displayName || lastName) {
479
- const fullName = [displayName, lastName].filter(Boolean).join(' ').trim() || displayName;
480
- updates.name = {
481
- first: displayName,
482
- last: lastName,
483
- full: fullName
484
- };
475
+ updates.name = { first: displayName, last: lastName };
485
476
  }
486
477
 
487
478
  // Handle avatar
@@ -523,40 +514,46 @@ const AccountSettingsScreen: React.FC<BaseScreenProps & { initialField?: string;
523
514
  const handleOpenLinksModal = useCallback(() => setShowEditLinksModal(true), []);
524
515
 
525
516
  // Handler to refresh data after modal saves
526
- // Note: Query will automatically refetch after mutations invalidate it
517
+ // Note: Access user directly from store when invoked to get latest value,
518
+ // not from closure which may be stale after modal saves update the backend
527
519
  const handleModalSave = useCallback(() => {
520
+ // Get fresh user data from store to ensure we have the latest values
521
+ // after the modal's save operation updates the backend
522
+ // Read from store directly (not from closure) to avoid stale data
523
+ const currentUser = useAuthStore.getState().user;
524
+
528
525
  // Reload user data to reflect changes
529
- if (finalUser) {
530
- const userDisplayName = typeof finalUser.name === 'string'
531
- ? finalUser.name
532
- : finalUser.name?.first || finalUser.name?.full || '';
533
- const userLastName = typeof finalUser.name === 'object' ? finalUser.name?.last || '' : '';
526
+ if (currentUser) {
527
+ const userDisplayName = typeof currentUser.name === 'string'
528
+ ? currentUser.name
529
+ : currentUser.name?.first || currentUser.name?.full || '';
530
+ const userLastName = typeof currentUser.name === 'object' ? currentUser.name?.last || '' : '';
534
531
  setDisplayName(userDisplayName);
535
532
  setLastName(userLastName);
536
- setUsername(finalUser.username || '');
537
- setEmail(finalUser.email || '');
538
- setBio(finalUser.bio || '');
533
+ setUsername(currentUser.username || '');
534
+ setEmail(currentUser.email || '');
535
+ setBio(currentUser.bio || '');
539
536
 
540
537
  // Reload locations and links
541
- if (finalUser.locations && Array.isArray(finalUser.locations)) {
542
- setLocations(finalUser.locations.map((loc: any, index: number) => ({
538
+ if (currentUser.locations && Array.isArray(currentUser.locations)) {
539
+ setLocations(currentUser.locations.map((loc, index) => ({
543
540
  id: loc.id || `existing-${index}`,
544
541
  name: loc.name,
545
542
  label: loc.label,
546
543
  coordinates: loc.coordinates
547
544
  })));
548
- } else if (finalUser.location) {
545
+ } else if (currentUser.location) {
549
546
  setLocations([{
550
547
  id: 'existing-0',
551
- name: finalUser.location,
548
+ name: currentUser.location,
552
549
  label: 'Location'
553
550
  }]);
554
551
  } else {
555
552
  setLocations([]);
556
553
  }
557
554
 
558
- if (finalUser.linksMetadata && Array.isArray(finalUser.linksMetadata)) {
559
- setLinksMetadata(finalUser.linksMetadata.map((link: any, index: number) => ({
555
+ if (currentUser.linksMetadata && Array.isArray(currentUser.linksMetadata)) {
556
+ setLinksMetadata(currentUser.linksMetadata.map((link, index) => ({
560
557
  ...link,
561
558
  id: link.id || `existing-${index}`
562
559
  })));
@@ -564,7 +561,7 @@ const AccountSettingsScreen: React.FC<BaseScreenProps & { initialField?: string;
564
561
  setLinksMetadata([]);
565
562
  }
566
563
  }
567
- }, [finalUser]); // Query will automatically refetch after mutations
564
+ }, []); // Empty dependency array - callback reads fresh data from store at call time
568
565
 
569
566
  // Handle initialField prop - open appropriate modal
570
567
  useEffect(() => {
@@ -832,7 +829,7 @@ const AccountSettingsScreen: React.FC<BaseScreenProps & { initialField?: string;
832
829
  {/* Search results */}
833
830
  {locationSearchResults.length > 0 && (
834
831
  <View style={styles.searchResults}>
835
- {locationSearchResults.map((result: any) => (
832
+ {locationSearchResults.map((result) => (
836
833
  <TouchableOpacity
837
834
  key={result.place_id}
838
835
  style={styles.searchResultItem}
@@ -863,7 +860,7 @@ const AccountSettingsScreen: React.FC<BaseScreenProps & { initialField?: string;
863
860
  {tempLocations.length > 0 && (
864
861
  <View style={styles.locationsList}>
865
862
  <Text style={styles.locationsListTitle}>Your Locations ({tempLocations.length})</Text>
866
- {tempLocations.map((location: any, index: number) => (
863
+ {tempLocations.map((location, index) => (
867
864
  <View key={location.id} style={styles.locationItem}>
868
865
  <View style={styles.locationItemContent}>
869
866
  <View style={styles.locationItemDragHandle}>
@@ -991,7 +988,7 @@ const AccountSettingsScreen: React.FC<BaseScreenProps & { initialField?: string;
991
988
  onPress: () => setIsAddingLink(true),
992
989
  }]),
993
990
  // Existing links
994
- ...tempLinksWithMetadata.map((link: any, index: number) => ({
991
+ ...tempLinksWithMetadata.map((link, index) => ({
995
992
  id: link.id,
996
993
  customIcon: link.image ? (
997
994
  <Image source={{ uri: link.image }} style={{ width: 36, height: 36, borderRadius: 18 }} />
@@ -130,7 +130,7 @@ const ModernAccountSwitcherScreen: React.FC<BaseScreenProps> = ({
130
130
 
131
131
  // Create a map for O(1) lookup
132
132
  const userProfileMap = new Map<string, User | null>();
133
- batchResults.forEach(({ sessionId, user }) => {
133
+ batchResults.forEach(({ sessionId, user }: { sessionId: string; user: any }) => {
134
134
  userProfileMap.set(sessionId, user);
135
135
  });
136
136
 
@@ -460,7 +460,7 @@ const ModernAccountSwitcherScreen: React.FC<BaseScreenProps> = ({
460
460
  iconColor: '#007AFF',
461
461
  title: 'Add Another Account',
462
462
  subtitle: 'Sign in with a different account',
463
- onPress: () => navigate?.('OxyAuth'),
463
+ onPress: () => navigate?.('SignIn'),
464
464
  },
465
465
  {
466
466
  id: 'device-management',
@@ -561,7 +561,7 @@ const ModernAccountSwitcherScreen: React.FC<BaseScreenProps> = ({
561
561
  iconColor: '#ccc',
562
562
  title: t('accountSwitcher.empty.title') || 'No saved accounts',
563
563
  subtitle: t('accountSwitcher.empty.subtitle') || 'Add another account to switch between them quickly',
564
- onPress: () => navigate?.('OxyAuth'),
564
+ onPress: () => navigate?.('SignIn'),
565
565
  customContent: (
566
566
  <View style={styles.emptyStateContainer}>
567
567
  <OxyIcon name="person-outline" size={48} color="#ccc" />
@@ -571,7 +571,7 @@ const ModernAccountSwitcherScreen: React.FC<BaseScreenProps> = ({
571
571
  </Text>
572
572
  <TouchableOpacity
573
573
  style={styles.addAccountButton}
574
- onPress={() => navigate?.('OxyAuth')}
574
+ onPress={() => navigate?.('SignIn')}
575
575
  >
576
576
  <Text style={styles.addAccountButtonText}>{t('accountCenter.sections.addAccount') || 'Add Account'}</Text>
577
577
  </TouchableOpacity>