@oxyhq/services 5.11.12 → 5.12.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 (322) hide show
  1. package/README.md +48 -7
  2. package/lib/commonjs/core/OxyServices.js +162 -12
  3. package/lib/commonjs/core/OxyServices.js.map +1 -1
  4. package/lib/commonjs/i18n/index.js +40 -0
  5. package/lib/commonjs/i18n/index.js.map +1 -0
  6. package/lib/commonjs/i18n/locales/en-US.json +681 -0
  7. package/lib/commonjs/i18n/locales/es-ES.json +689 -0
  8. package/lib/commonjs/ui/components/GroupedItem.js +2 -1
  9. package/lib/commonjs/ui/components/GroupedItem.js.map +1 -1
  10. package/lib/commonjs/ui/components/Header.js +4 -3
  11. package/lib/commonjs/ui/components/Header.js.map +1 -1
  12. package/lib/commonjs/ui/components/OxyProvider.js +110 -103
  13. package/lib/commonjs/ui/components/OxyProvider.js.map +1 -1
  14. package/lib/commonjs/ui/components/ProfileCard.js +5 -1
  15. package/lib/commonjs/ui/components/ProfileCard.js.map +1 -1
  16. package/lib/commonjs/ui/components/Section.js +1 -1
  17. package/lib/commonjs/ui/components/StepBasedScreen.js +16 -16
  18. package/lib/commonjs/ui/components/StepBasedScreen.js.map +1 -1
  19. package/lib/commonjs/ui/components/internal/GroupedPillButtons.js +15 -3
  20. package/lib/commonjs/ui/components/internal/GroupedPillButtons.js.map +1 -1
  21. package/lib/commonjs/ui/components/internal/PinInput.js +10 -4
  22. package/lib/commonjs/ui/components/internal/PinInput.js.map +1 -1
  23. package/lib/commonjs/ui/context/OxyContext.js +128 -12
  24. package/lib/commonjs/ui/context/OxyContext.js.map +1 -1
  25. package/lib/commonjs/ui/hooks/useI18n.js +22 -0
  26. package/lib/commonjs/ui/hooks/useI18n.js.map +1 -0
  27. package/lib/commonjs/ui/navigation/OxyRouter.js +11 -131
  28. package/lib/commonjs/ui/navigation/OxyRouter.js.map +1 -1
  29. package/lib/commonjs/ui/navigation/routes.js +127 -0
  30. package/lib/commonjs/ui/navigation/routes.js.map +1 -0
  31. package/lib/commonjs/ui/navigation/types.js +7 -0
  32. package/lib/commonjs/ui/navigation/types.js.map +1 -1
  33. package/lib/commonjs/ui/screens/AccountCenterScreen.js +55 -47
  34. package/lib/commonjs/ui/screens/AccountCenterScreen.js.map +1 -1
  35. package/lib/commonjs/ui/screens/AccountOverviewScreen.js +69 -61
  36. package/lib/commonjs/ui/screens/AccountOverviewScreen.js.map +1 -1
  37. package/lib/commonjs/ui/screens/AccountSettingsScreen.js +378 -37
  38. package/lib/commonjs/ui/screens/AccountSettingsScreen.js.map +1 -1
  39. package/lib/commonjs/ui/screens/AccountSwitcherScreen.js +52 -34
  40. package/lib/commonjs/ui/screens/AccountSwitcherScreen.js.map +1 -1
  41. package/lib/commonjs/ui/screens/FeedbackScreen.js +40 -36
  42. package/lib/commonjs/ui/screens/FeedbackScreen.js.map +1 -1
  43. package/lib/commonjs/ui/screens/LanguageSelectorScreen.js +105 -78
  44. package/lib/commonjs/ui/screens/LanguageSelectorScreen.js.map +1 -1
  45. package/lib/commonjs/ui/screens/PaymentGatewayScreen.js +1 -1
  46. package/lib/commonjs/ui/screens/PaymentGatewayScreen.js.map +1 -1
  47. package/lib/commonjs/ui/screens/PremiumSubscriptionScreen.js +92 -60
  48. package/lib/commonjs/ui/screens/PremiumSubscriptionScreen.js.map +1 -1
  49. package/lib/commonjs/ui/screens/ProfileScreen.js +21 -11
  50. package/lib/commonjs/ui/screens/ProfileScreen.js.map +1 -1
  51. package/lib/commonjs/ui/screens/RecoverAccountScreen.js +30 -8
  52. package/lib/commonjs/ui/screens/RecoverAccountScreen.js.map +1 -1
  53. package/lib/commonjs/ui/screens/SignInScreen.js +47 -26
  54. package/lib/commonjs/ui/screens/SignInScreen.js.map +1 -1
  55. package/lib/commonjs/ui/screens/WelcomeNewUserScreen.js +31 -24
  56. package/lib/commonjs/ui/screens/WelcomeNewUserScreen.js.map +1 -1
  57. package/lib/commonjs/ui/screens/internal/SignInPasswordStep.js +11 -7
  58. package/lib/commonjs/ui/screens/internal/SignInPasswordStep.js.map +1 -1
  59. package/lib/commonjs/ui/screens/internal/SignInUsernameStep.js +12 -6
  60. package/lib/commonjs/ui/screens/internal/SignInUsernameStep.js.map +1 -1
  61. package/lib/commonjs/ui/screens/karma/KarmaAboutScreen.js +11 -7
  62. package/lib/commonjs/ui/screens/karma/KarmaAboutScreen.js.map +1 -1
  63. package/lib/commonjs/ui/screens/karma/KarmaCenterScreen.js +15 -11
  64. package/lib/commonjs/ui/screens/karma/KarmaCenterScreen.js.map +1 -1
  65. package/lib/commonjs/ui/screens/karma/KarmaFAQScreen.js +19 -27
  66. package/lib/commonjs/ui/screens/karma/KarmaFAQScreen.js.map +1 -1
  67. package/lib/commonjs/ui/screens/karma/KarmaLeaderboardScreen.js +8 -4
  68. package/lib/commonjs/ui/screens/karma/KarmaLeaderboardScreen.js.map +1 -1
  69. package/lib/commonjs/ui/screens/karma/KarmaRewardsScreen.js +14 -10
  70. package/lib/commonjs/ui/screens/karma/KarmaRewardsScreen.js.map +1 -1
  71. package/lib/commonjs/ui/screens/karma/KarmaRulesScreen.js +7 -3
  72. package/lib/commonjs/ui/screens/karma/KarmaRulesScreen.js.map +1 -1
  73. package/lib/commonjs/ui/screens/steps/RecoverRequestStep.js +19 -14
  74. package/lib/commonjs/ui/screens/steps/RecoverRequestStep.js.map +1 -1
  75. package/lib/commonjs/ui/screens/steps/RecoverResetPasswordStep.js +130 -0
  76. package/lib/commonjs/ui/screens/steps/RecoverResetPasswordStep.js.map +1 -0
  77. package/lib/commonjs/ui/screens/steps/RecoverSuccessStep.js +13 -13
  78. package/lib/commonjs/ui/screens/steps/RecoverSuccessStep.js.map +1 -1
  79. package/lib/commonjs/ui/screens/steps/RecoverVerifyStep.js +14 -20
  80. package/lib/commonjs/ui/screens/steps/RecoverVerifyStep.js.map +1 -1
  81. package/lib/commonjs/ui/screens/steps/SignInPasswordStep.js +22 -8
  82. package/lib/commonjs/ui/screens/steps/SignInPasswordStep.js.map +1 -1
  83. package/lib/commonjs/ui/screens/steps/SignInTotpStep.js +161 -0
  84. package/lib/commonjs/ui/screens/steps/SignInTotpStep.js.map +1 -0
  85. package/lib/commonjs/ui/screens/steps/SignInUsernameStep.js +12 -6
  86. package/lib/commonjs/ui/screens/steps/SignInUsernameStep.js.map +1 -1
  87. package/lib/commonjs/ui/screens/steps/SignUpIdentityStep.js +10 -6
  88. package/lib/commonjs/ui/screens/steps/SignUpIdentityStep.js.map +1 -1
  89. package/lib/commonjs/ui/screens/steps/SignUpSecurityStep.js +10 -6
  90. package/lib/commonjs/ui/screens/steps/SignUpSecurityStep.js.map +1 -1
  91. package/lib/commonjs/ui/screens/steps/SignUpSummaryStep.js +34 -4
  92. package/lib/commonjs/ui/screens/steps/SignUpSummaryStep.js.map +1 -1
  93. package/lib/commonjs/ui/screens/steps/SignUpWelcomeStep.js +9 -10
  94. package/lib/commonjs/ui/screens/steps/SignUpWelcomeStep.js.map +1 -1
  95. package/lib/commonjs/ui/styles/authStyles.js +1 -2
  96. package/lib/commonjs/ui/styles/authStyles.js.map +1 -1
  97. package/lib/commonjs/utils/deviceManager.js +1 -1
  98. package/lib/commonjs/utils/deviceManager.js.map +1 -1
  99. package/lib/commonjs/utils/validationUtils.js +4 -2
  100. package/lib/commonjs/utils/validationUtils.js.map +1 -1
  101. package/lib/module/core/OxyServices.js +162 -12
  102. package/lib/module/core/OxyServices.js.map +1 -1
  103. package/lib/module/i18n/index.js +35 -0
  104. package/lib/module/i18n/index.js.map +1 -0
  105. package/lib/module/i18n/locales/en-US.json +681 -0
  106. package/lib/module/i18n/locales/es-ES.json +689 -0
  107. package/lib/module/ui/components/GroupedItem.js +2 -1
  108. package/lib/module/ui/components/GroupedItem.js.map +1 -1
  109. package/lib/module/ui/components/Header.js +4 -3
  110. package/lib/module/ui/components/Header.js.map +1 -1
  111. package/lib/module/ui/components/OxyProvider.js +109 -103
  112. package/lib/module/ui/components/OxyProvider.js.map +1 -1
  113. package/lib/module/ui/components/ProfileCard.js +5 -1
  114. package/lib/module/ui/components/ProfileCard.js.map +1 -1
  115. package/lib/module/ui/components/Section.js +1 -1
  116. package/lib/module/ui/components/StepBasedScreen.js +16 -16
  117. package/lib/module/ui/components/StepBasedScreen.js.map +1 -1
  118. package/lib/module/ui/components/internal/GroupedPillButtons.js +15 -3
  119. package/lib/module/ui/components/internal/GroupedPillButtons.js.map +1 -1
  120. package/lib/module/ui/components/internal/PinInput.js +9 -4
  121. package/lib/module/ui/components/internal/PinInput.js.map +1 -1
  122. package/lib/module/ui/context/OxyContext.js +128 -12
  123. package/lib/module/ui/context/OxyContext.js.map +1 -1
  124. package/lib/module/ui/hooks/useI18n.js +18 -0
  125. package/lib/module/ui/hooks/useI18n.js.map +1 -0
  126. package/lib/module/ui/navigation/OxyRouter.js +7 -124
  127. package/lib/module/ui/navigation/OxyRouter.js.map +1 -1
  128. package/lib/module/ui/navigation/routes.js +122 -0
  129. package/lib/module/ui/navigation/routes.js.map +1 -0
  130. package/lib/module/ui/navigation/types.js +19 -1
  131. package/lib/module/ui/navigation/types.js.map +1 -1
  132. package/lib/module/ui/screens/AccountCenterScreen.js +55 -47
  133. package/lib/module/ui/screens/AccountCenterScreen.js.map +1 -1
  134. package/lib/module/ui/screens/AccountOverviewScreen.js +69 -61
  135. package/lib/module/ui/screens/AccountOverviewScreen.js.map +1 -1
  136. package/lib/module/ui/screens/AccountSettingsScreen.js +378 -37
  137. package/lib/module/ui/screens/AccountSettingsScreen.js.map +1 -1
  138. package/lib/module/ui/screens/AccountSwitcherScreen.js +52 -34
  139. package/lib/module/ui/screens/AccountSwitcherScreen.js.map +1 -1
  140. package/lib/module/ui/screens/FeedbackScreen.js +40 -36
  141. package/lib/module/ui/screens/FeedbackScreen.js.map +1 -1
  142. package/lib/module/ui/screens/LanguageSelectorScreen.js +107 -80
  143. package/lib/module/ui/screens/LanguageSelectorScreen.js.map +1 -1
  144. package/lib/module/ui/screens/PaymentGatewayScreen.js +1 -1
  145. package/lib/module/ui/screens/PaymentGatewayScreen.js.map +1 -1
  146. package/lib/module/ui/screens/PremiumSubscriptionScreen.js +92 -60
  147. package/lib/module/ui/screens/PremiumSubscriptionScreen.js.map +1 -1
  148. package/lib/module/ui/screens/ProfileScreen.js +21 -11
  149. package/lib/module/ui/screens/ProfileScreen.js.map +1 -1
  150. package/lib/module/ui/screens/RecoverAccountScreen.js +30 -8
  151. package/lib/module/ui/screens/RecoverAccountScreen.js.map +1 -1
  152. package/lib/module/ui/screens/SignInScreen.js +47 -26
  153. package/lib/module/ui/screens/SignInScreen.js.map +1 -1
  154. package/lib/module/ui/screens/WelcomeNewUserScreen.js +31 -24
  155. package/lib/module/ui/screens/WelcomeNewUserScreen.js.map +1 -1
  156. package/lib/module/ui/screens/internal/SignInPasswordStep.js +11 -7
  157. package/lib/module/ui/screens/internal/SignInPasswordStep.js.map +1 -1
  158. package/lib/module/ui/screens/internal/SignInUsernameStep.js +12 -6
  159. package/lib/module/ui/screens/internal/SignInUsernameStep.js.map +1 -1
  160. package/lib/module/ui/screens/karma/KarmaAboutScreen.js +11 -7
  161. package/lib/module/ui/screens/karma/KarmaAboutScreen.js.map +1 -1
  162. package/lib/module/ui/screens/karma/KarmaCenterScreen.js +15 -11
  163. package/lib/module/ui/screens/karma/KarmaCenterScreen.js.map +1 -1
  164. package/lib/module/ui/screens/karma/KarmaFAQScreen.js +19 -27
  165. package/lib/module/ui/screens/karma/KarmaFAQScreen.js.map +1 -1
  166. package/lib/module/ui/screens/karma/KarmaLeaderboardScreen.js +8 -4
  167. package/lib/module/ui/screens/karma/KarmaLeaderboardScreen.js.map +1 -1
  168. package/lib/module/ui/screens/karma/KarmaRewardsScreen.js +14 -10
  169. package/lib/module/ui/screens/karma/KarmaRewardsScreen.js.map +1 -1
  170. package/lib/module/ui/screens/karma/KarmaRulesScreen.js +7 -3
  171. package/lib/module/ui/screens/karma/KarmaRulesScreen.js.map +1 -1
  172. package/lib/module/ui/screens/steps/RecoverRequestStep.js +19 -14
  173. package/lib/module/ui/screens/steps/RecoverRequestStep.js.map +1 -1
  174. package/lib/module/ui/screens/steps/RecoverResetPasswordStep.js +125 -0
  175. package/lib/module/ui/screens/steps/RecoverResetPasswordStep.js.map +1 -0
  176. package/lib/module/ui/screens/steps/RecoverSuccessStep.js +13 -13
  177. package/lib/module/ui/screens/steps/RecoverSuccessStep.js.map +1 -1
  178. package/lib/module/ui/screens/steps/RecoverVerifyStep.js +14 -20
  179. package/lib/module/ui/screens/steps/RecoverVerifyStep.js.map +1 -1
  180. package/lib/module/ui/screens/steps/SignInPasswordStep.js +22 -8
  181. package/lib/module/ui/screens/steps/SignInPasswordStep.js.map +1 -1
  182. package/lib/module/ui/screens/steps/SignInTotpStep.js +156 -0
  183. package/lib/module/ui/screens/steps/SignInTotpStep.js.map +1 -0
  184. package/lib/module/ui/screens/steps/SignInUsernameStep.js +12 -6
  185. package/lib/module/ui/screens/steps/SignInUsernameStep.js.map +1 -1
  186. package/lib/module/ui/screens/steps/SignUpIdentityStep.js +10 -6
  187. package/lib/module/ui/screens/steps/SignUpIdentityStep.js.map +1 -1
  188. package/lib/module/ui/screens/steps/SignUpSecurityStep.js +10 -6
  189. package/lib/module/ui/screens/steps/SignUpSecurityStep.js.map +1 -1
  190. package/lib/module/ui/screens/steps/SignUpSummaryStep.js +34 -4
  191. package/lib/module/ui/screens/steps/SignUpSummaryStep.js.map +1 -1
  192. package/lib/module/ui/screens/steps/SignUpWelcomeStep.js +9 -10
  193. package/lib/module/ui/screens/steps/SignUpWelcomeStep.js.map +1 -1
  194. package/lib/module/ui/styles/authStyles.js +1 -2
  195. package/lib/module/ui/styles/authStyles.js.map +1 -1
  196. package/lib/module/utils/deviceManager.js +1 -1
  197. package/lib/module/utils/deviceManager.js.map +1 -1
  198. package/lib/module/utils/validationUtils.js +4 -2
  199. package/lib/module/utils/validationUtils.js.map +1 -1
  200. package/lib/typescript/core/OxyServices.d.ts +57 -3
  201. package/lib/typescript/core/OxyServices.d.ts.map +1 -1
  202. package/lib/typescript/i18n/index.d.ts +4 -0
  203. package/lib/typescript/i18n/index.d.ts.map +1 -0
  204. package/lib/typescript/models/interfaces.d.ts +4 -0
  205. package/lib/typescript/models/interfaces.d.ts.map +1 -1
  206. package/lib/typescript/ui/components/GroupedItem.d.ts.map +1 -1
  207. package/lib/typescript/ui/components/Header.d.ts.map +1 -1
  208. package/lib/typescript/ui/components/OxyProvider.d.ts +1 -1
  209. package/lib/typescript/ui/components/OxyProvider.d.ts.map +1 -1
  210. package/lib/typescript/ui/components/ProfileCard.d.ts.map +1 -1
  211. package/lib/typescript/ui/components/StepBasedScreen.d.ts +2 -1
  212. package/lib/typescript/ui/components/StepBasedScreen.d.ts.map +1 -1
  213. package/lib/typescript/ui/components/internal/GroupedPillButtons.d.ts.map +1 -1
  214. package/lib/typescript/ui/components/internal/PinInput.d.ts +6 -3
  215. package/lib/typescript/ui/components/internal/PinInput.d.ts.map +1 -1
  216. package/lib/typescript/ui/context/OxyContext.d.ts +7 -4
  217. package/lib/typescript/ui/context/OxyContext.d.ts.map +1 -1
  218. package/lib/typescript/ui/hooks/useI18n.d.ts +5 -0
  219. package/lib/typescript/ui/hooks/useI18n.d.ts.map +1 -0
  220. package/lib/typescript/ui/navigation/OxyRouter.d.ts.map +1 -1
  221. package/lib/typescript/ui/navigation/routes.d.ts +9 -0
  222. package/lib/typescript/ui/navigation/routes.d.ts.map +1 -0
  223. package/lib/typescript/ui/navigation/types.d.ts +24 -10
  224. package/lib/typescript/ui/navigation/types.d.ts.map +1 -1
  225. package/lib/typescript/ui/screens/AccountCenterScreen.d.ts.map +1 -1
  226. package/lib/typescript/ui/screens/AccountOverviewScreen.d.ts.map +1 -1
  227. package/lib/typescript/ui/screens/AccountSettingsScreen.d.ts.map +1 -1
  228. package/lib/typescript/ui/screens/AccountSwitcherScreen.d.ts.map +1 -1
  229. package/lib/typescript/ui/screens/FeedbackScreen.d.ts.map +1 -1
  230. package/lib/typescript/ui/screens/LanguageSelectorScreen.d.ts.map +1 -1
  231. package/lib/typescript/ui/screens/PremiumSubscriptionScreen.d.ts.map +1 -1
  232. package/lib/typescript/ui/screens/ProfileScreen.d.ts.map +1 -1
  233. package/lib/typescript/ui/screens/RecoverAccountScreen.d.ts.map +1 -1
  234. package/lib/typescript/ui/screens/SignInScreen.d.ts.map +1 -1
  235. package/lib/typescript/ui/screens/WelcomeNewUserScreen.d.ts.map +1 -1
  236. package/lib/typescript/ui/screens/internal/SignInPasswordStep.d.ts +2 -1
  237. package/lib/typescript/ui/screens/internal/SignInPasswordStep.d.ts.map +1 -1
  238. package/lib/typescript/ui/screens/internal/SignInUsernameStep.d.ts.map +1 -1
  239. package/lib/typescript/ui/screens/karma/KarmaAboutScreen.d.ts.map +1 -1
  240. package/lib/typescript/ui/screens/karma/KarmaCenterScreen.d.ts.map +1 -1
  241. package/lib/typescript/ui/screens/karma/KarmaFAQScreen.d.ts.map +1 -1
  242. package/lib/typescript/ui/screens/karma/KarmaLeaderboardScreen.d.ts.map +1 -1
  243. package/lib/typescript/ui/screens/karma/KarmaRewardsScreen.d.ts.map +1 -1
  244. package/lib/typescript/ui/screens/karma/KarmaRulesScreen.d.ts.map +1 -1
  245. package/lib/typescript/ui/screens/steps/RecoverRequestStep.d.ts +4 -1
  246. package/lib/typescript/ui/screens/steps/RecoverRequestStep.d.ts.map +1 -1
  247. package/lib/typescript/ui/screens/steps/RecoverResetPasswordStep.d.ts +24 -0
  248. package/lib/typescript/ui/screens/steps/RecoverResetPasswordStep.d.ts.map +1 -0
  249. package/lib/typescript/ui/screens/steps/RecoverSuccessStep.d.ts +2 -1
  250. package/lib/typescript/ui/screens/steps/RecoverSuccessStep.d.ts.map +1 -1
  251. package/lib/typescript/ui/screens/steps/RecoverVerifyStep.d.ts +3 -1
  252. package/lib/typescript/ui/screens/steps/RecoverVerifyStep.d.ts.map +1 -1
  253. package/lib/typescript/ui/screens/steps/SignInPasswordStep.d.ts +1 -0
  254. package/lib/typescript/ui/screens/steps/SignInPasswordStep.d.ts.map +1 -1
  255. package/lib/typescript/ui/screens/steps/SignInTotpStep.d.ts +19 -0
  256. package/lib/typescript/ui/screens/steps/SignInTotpStep.d.ts.map +1 -0
  257. package/lib/typescript/ui/screens/steps/SignInUsernameStep.d.ts +2 -1
  258. package/lib/typescript/ui/screens/steps/SignInUsernameStep.d.ts.map +1 -1
  259. package/lib/typescript/ui/screens/steps/SignUpIdentityStep.d.ts +2 -1
  260. package/lib/typescript/ui/screens/steps/SignUpIdentityStep.d.ts.map +1 -1
  261. package/lib/typescript/ui/screens/steps/SignUpSecurityStep.d.ts +2 -1
  262. package/lib/typescript/ui/screens/steps/SignUpSecurityStep.d.ts.map +1 -1
  263. package/lib/typescript/ui/screens/steps/SignUpSummaryStep.d.ts +2 -1
  264. package/lib/typescript/ui/screens/steps/SignUpSummaryStep.d.ts.map +1 -1
  265. package/lib/typescript/ui/screens/steps/SignUpWelcomeStep.d.ts +2 -1
  266. package/lib/typescript/ui/screens/steps/SignUpWelcomeStep.d.ts.map +1 -1
  267. package/lib/typescript/ui/styles/authStyles.d.ts +0 -1
  268. package/lib/typescript/ui/styles/authStyles.d.ts.map +1 -1
  269. package/lib/typescript/utils/validationUtils.d.ts.map +1 -1
  270. package/package.json +49 -15
  271. package/src/core/OxyServices.ts +138 -19
  272. package/src/i18n/index.ts +39 -0
  273. package/src/i18n/locales/en-US.json +681 -0
  274. package/src/i18n/locales/es-ES.json +689 -0
  275. package/src/models/interfaces.ts +6 -1
  276. package/src/ui/components/GroupedItem.tsx +2 -1
  277. package/src/ui/components/Header.tsx +4 -3
  278. package/src/ui/components/OxyProvider.tsx +105 -112
  279. package/src/ui/components/ProfileCard.tsx +5 -1
  280. package/src/ui/components/Section.tsx +1 -1
  281. package/src/ui/components/StepBasedScreen.tsx +16 -13
  282. package/src/ui/components/internal/GroupedPillButtons.tsx +10 -6
  283. package/src/ui/components/internal/PinInput.tsx +15 -6
  284. package/src/ui/context/OxyContext.tsx +123 -20
  285. package/src/ui/hooks/useI18n.ts +12 -0
  286. package/src/ui/navigation/OxyRouter.tsx +15 -134
  287. package/src/ui/navigation/routes.ts +153 -0
  288. package/src/ui/navigation/types.ts +28 -10
  289. package/src/ui/screens/AccountCenterScreen.tsx +47 -45
  290. package/src/ui/screens/AccountOverviewScreen.tsx +68 -70
  291. package/src/ui/screens/AccountSettingsScreen.tsx +265 -41
  292. package/src/ui/screens/AccountSwitcherScreen.tsx +35 -33
  293. package/src/ui/screens/FeedbackScreen.tsx +39 -37
  294. package/src/ui/screens/LanguageSelectorScreen.tsx +99 -70
  295. package/src/ui/screens/PaymentGatewayScreen.tsx +5 -5
  296. package/src/ui/screens/PremiumSubscriptionScreen.tsx +56 -54
  297. package/src/ui/screens/ProfileScreen.tsx +14 -8
  298. package/src/ui/screens/RecoverAccountScreen.tsx +29 -8
  299. package/src/ui/screens/SignInScreen.tsx +39 -30
  300. package/src/ui/screens/WelcomeNewUserScreen.tsx +31 -17
  301. package/src/ui/screens/internal/SignInPasswordStep.tsx +11 -8
  302. package/src/ui/screens/internal/SignInUsernameStep.tsx +10 -8
  303. package/src/ui/screens/karma/KarmaAboutScreen.tsx +23 -11
  304. package/src/ui/screens/karma/KarmaCenterScreen.tsx +21 -11
  305. package/src/ui/screens/karma/KarmaFAQScreen.tsx +15 -33
  306. package/src/ui/screens/karma/KarmaLeaderboardScreen.tsx +6 -4
  307. package/src/ui/screens/karma/KarmaRewardsScreen.tsx +28 -10
  308. package/src/ui/screens/karma/KarmaRulesScreen.tsx +5 -3
  309. package/src/ui/screens/steps/RecoverRequestStep.tsx +20 -17
  310. package/src/ui/screens/steps/RecoverResetPasswordStep.tsx +133 -0
  311. package/src/ui/screens/steps/RecoverSuccessStep.tsx +12 -19
  312. package/src/ui/screens/steps/RecoverVerifyStep.tsx +15 -24
  313. package/src/ui/screens/steps/SignInPasswordStep.tsx +19 -6
  314. package/src/ui/screens/steps/SignInTotpStep.tsx +129 -0
  315. package/src/ui/screens/steps/SignInUsernameStep.tsx +11 -10
  316. package/src/ui/screens/steps/SignUpIdentityStep.tsx +10 -11
  317. package/src/ui/screens/steps/SignUpSecurityStep.tsx +10 -11
  318. package/src/ui/screens/steps/SignUpSummaryStep.tsx +24 -9
  319. package/src/ui/screens/steps/SignUpWelcomeStep.tsx +8 -14
  320. package/src/ui/styles/authStyles.ts +0 -1
  321. package/src/utils/deviceManager.ts +1 -1
  322. package/src/utils/validationUtils.ts +5 -3
@@ -4,6 +4,7 @@ import { useEffect, useState } from 'react';
4
4
  import { View, Text, StyleSheet, ScrollView, ActivityIndicator } from 'react-native';
5
5
  import { useOxy } from '../../context/OxyContext';
6
6
  import { Header } from '../../components';
7
+ import { useI18n } from '../../hooks/useI18n';
7
8
  import { jsx as _jsx, jsxs as _jsxs } from "react/jsx-runtime";
8
9
  const KarmaRulesScreen = ({
9
10
  goBack,
@@ -12,6 +13,9 @@ const KarmaRulesScreen = ({
12
13
  const {
13
14
  oxyServices
14
15
  } = useOxy();
16
+ const {
17
+ t
18
+ } = useI18n();
15
19
  const [rules, setRules] = useState([]);
16
20
  const [isLoading, setIsLoading] = useState(true);
17
21
  const [error, setError] = useState(null);
@@ -29,8 +33,8 @@ const KarmaRulesScreen = ({
29
33
  backgroundColor
30
34
  }],
31
35
  children: [/*#__PURE__*/_jsx(Header, {
32
- title: "Karma Rules",
33
- subtitle: "How to earn karma points",
36
+ title: t('karma.rules.title') || 'Karma Rules',
37
+ subtitle: t('karma.rules.subtitle') || 'How to earn karma points',
34
38
  theme: theme,
35
39
  onBack: goBack,
36
40
  elevation: "subtle"
@@ -51,7 +55,7 @@ const KarmaRulesScreen = ({
51
55
  style: [styles.placeholder, {
52
56
  color: textColor
53
57
  }],
54
- children: "No rules found."
58
+ children: t('karma.rules.empty') || 'No rules found.'
55
59
  }) : rules.map((rule, idx) => /*#__PURE__*/_jsx(View, {
56
60
  style: styles.ruleRow,
57
61
  children: /*#__PURE__*/_jsx(Text, {
@@ -1 +1 @@
1
- {"version":3,"names":["useEffect","useState","View","Text","StyleSheet","ScrollView","ActivityIndicator","useOxy","Header","jsx","_jsx","jsxs","_jsxs","KarmaRulesScreen","goBack","theme","oxyServices","rules","setRules","isLoading","setIsLoading","error","setError","isDarkTheme","backgroundColor","textColor","primaryColor","getKarmaRules","then","data","Array","isArray","catch","err","message","finally","style","styles","container","children","title","subtitle","onBack","elevation","size","color","marginTop","contentContainerStyle","listContainer","length","placeholder","map","rule","idx","ruleRow","ruleDesc","description","id","create","flex","paddingBottom","paddingTop","paddingVertical","paddingHorizontal","borderBottomWidth","borderColor","fontSize","textAlign"],"sourceRoot":"../../../../../src","sources":["ui/screens/karma/KarmaRulesScreen.tsx"],"mappings":"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","ignoreList":[]}
1
+ {"version":3,"names":["useEffect","useState","View","Text","StyleSheet","ScrollView","ActivityIndicator","useOxy","Header","useI18n","jsx","_jsx","jsxs","_jsxs","KarmaRulesScreen","goBack","theme","oxyServices","t","rules","setRules","isLoading","setIsLoading","error","setError","isDarkTheme","backgroundColor","textColor","primaryColor","getKarmaRules","then","data","Array","isArray","catch","err","message","finally","style","styles","container","children","title","subtitle","onBack","elevation","size","color","marginTop","contentContainerStyle","listContainer","length","placeholder","map","rule","idx","ruleRow","ruleDesc","description","id","create","flex","paddingBottom","paddingTop","paddingVertical","paddingHorizontal","borderBottomWidth","borderColor","fontSize","textAlign"],"sourceRoot":"../../../../../src","sources":["ui/screens/karma/KarmaRulesScreen.tsx"],"mappings":"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","ignoreList":[]}
@@ -6,6 +6,8 @@ import { Ionicons } from '@expo/vector-icons';
6
6
  import HighFive from '../../../assets/illustrations/HighFive';
7
7
  import TextField from '../../components/internal/TextField';
8
8
  import GroupedPillButtons from '../../components/internal/GroupedPillButtons';
9
+ import { toast } from '../../../lib/sonner';
10
+ import { useI18n } from '../../hooks/useI18n';
9
11
  import { jsx as _jsx, jsxs as _jsxs, Fragment as _Fragment } from "react/jsx-runtime";
10
12
  const RecoverRequestStep = ({
11
13
  colors,
@@ -17,27 +19,30 @@ const RecoverRequestStep = ({
17
19
  errorMessage,
18
20
  setErrorMessage,
19
21
  isLoading,
20
- setIsLoading
22
+ setIsLoading,
23
+ oxyServices
21
24
  }) => {
22
25
  const inputRef = useRef(null);
26
+ const {
27
+ t
28
+ } = useI18n();
23
29
  const handleIdentifierChange = text => {
24
30
  setIdentifier(text);
25
31
  if (errorMessage) setErrorMessage('');
26
32
  };
27
- const handleRequest = () => {
33
+ const handleRequest = async () => {
28
34
  if (!identifier || identifier.length < 3) {
29
- setErrorMessage('Please enter your email or username.');
35
+ setErrorMessage(t('recover.username.errorRequired') || 'Please enter your username.');
30
36
  setTimeout(() => inputRef.current?.focus(), 0);
31
37
  return;
32
38
  }
33
39
  setErrorMessage('');
34
40
  setIsLoading(true);
35
-
36
- // Simulate API call
37
- setTimeout(() => {
41
+ try {
42
+ toast.info(t('recover.noEmail'));
43
+ } finally {
38
44
  setIsLoading(false);
39
- nextStep(); // Move to verification step
40
- }, 1200);
45
+ }
41
46
  };
42
47
  const handleRequestWithFocus = () => {
43
48
  if (!identifier) {
@@ -55,18 +60,18 @@ const RecoverRequestStep = ({
55
60
  style: [styles.modernTitle, {
56
61
  color: colors.text
57
62
  }],
58
- children: "Recover Account"
63
+ children: t('recover.title')
59
64
  }), /*#__PURE__*/_jsx(Text, {
60
65
  style: [styles.modernSubtitle, {
61
66
  color: colors.secondaryText
62
67
  }],
63
- children: "Enter your email or username to receive a 6-digit code."
68
+ children: t('recover.noEmail')
64
69
  })]
65
70
  }), /*#__PURE__*/_jsx(View, {
66
71
  style: styles.modernInputContainer,
67
72
  children: /*#__PURE__*/_jsx(TextField, {
68
73
  ref: inputRef,
69
- label: "Email or Username",
74
+ label: t('recover.username.label'),
70
75
  leading: /*#__PURE__*/_jsx(Ionicons, {
71
76
  name: "mail-outline",
72
77
  size: 24,
@@ -85,14 +90,14 @@ const RecoverRequestStep = ({
85
90
  })
86
91
  }), /*#__PURE__*/_jsx(GroupedPillButtons, {
87
92
  buttons: [{
88
- text: 'Back to Sign In',
93
+ text: t('common.actions.back'),
89
94
  onPress: () => navigate('SignIn'),
90
95
  icon: 'arrow-back',
91
96
  variant: 'transparent'
92
97
  }, {
93
- text: 'Send Code',
98
+ text: t('common.actions.continue'),
94
99
  onPress: handleRequest,
95
- icon: 'mail-open-outline',
100
+ icon: 'information-circle-outline',
96
101
  variant: 'primary',
97
102
  loading: isLoading,
98
103
  disabled: isLoading
@@ -1 +1 @@
1
- {"version":3,"names":["useRef","View","Text","Ionicons","HighFive","TextField","GroupedPillButtons","jsx","_jsx","jsxs","_jsxs","Fragment","_Fragment","RecoverRequestStep","colors","styles","navigate","nextStep","identifier","setIdentifier","errorMessage","setErrorMessage","isLoading","setIsLoading","inputRef","handleIdentifierChange","text","handleRequest","length","setTimeout","current","focus","handleRequestWithFocus","children","width","height","style","modernHeader","modernTitle","color","modernSubtitle","secondaryText","modernInputContainer","ref","label","leading","name","size","value","onChangeText","autoCapitalize","autoCorrect","testID","variant","error","undefined","editable","onSubmitEditing","autoFocus","buttons","onPress","icon","loading","disabled"],"sourceRoot":"../../../../../src","sources":["ui/screens/steps/RecoverRequestStep.tsx"],"mappings":"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","ignoreList":[]}
1
+ {"version":3,"names":["useRef","View","Text","Ionicons","HighFive","TextField","GroupedPillButtons","toast","useI18n","jsx","_jsx","jsxs","_jsxs","Fragment","_Fragment","RecoverRequestStep","colors","styles","navigate","nextStep","identifier","setIdentifier","errorMessage","setErrorMessage","isLoading","setIsLoading","oxyServices","inputRef","t","handleIdentifierChange","text","handleRequest","length","setTimeout","current","focus","info","handleRequestWithFocus","children","width","height","style","modernHeader","modernTitle","color","modernSubtitle","secondaryText","modernInputContainer","ref","label","leading","name","size","value","onChangeText","autoCapitalize","autoCorrect","testID","variant","error","undefined","editable","onSubmitEditing","autoFocus","buttons","onPress","icon","loading","disabled"],"sourceRoot":"../../../../../src","sources":["ui/screens/steps/RecoverRequestStep.tsx"],"mappings":"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","ignoreList":[]}
@@ -0,0 +1,125 @@
1
+ "use strict";
2
+
3
+ import { View, Text } from 'react-native';
4
+ import { Ionicons } from '@expo/vector-icons';
5
+ import GroupedPillButtons from '../../components/internal/GroupedPillButtons';
6
+ import TextField from '../../components/internal/TextField';
7
+ import { useI18n } from '../../hooks/useI18n';
8
+ import { jsx as _jsx, jsxs as _jsxs, Fragment as _Fragment } from "react/jsx-runtime";
9
+ const RecoverResetPasswordStep = ({
10
+ colors,
11
+ styles,
12
+ nextStep,
13
+ prevStep,
14
+ identifier,
15
+ verificationCode,
16
+ password,
17
+ confirmPassword,
18
+ setPassword,
19
+ setConfirmPassword,
20
+ errorMessage,
21
+ setErrorMessage,
22
+ isLoading,
23
+ setIsLoading,
24
+ oxyServices
25
+ }) => {
26
+ const {
27
+ t
28
+ } = useI18n();
29
+ const handleReset = async () => {
30
+ if (!password || password.length < 8) {
31
+ setErrorMessage(t('recover.password.minLength') || 'Password must be at least 8 characters long');
32
+ return;
33
+ }
34
+ if (password !== confirmPassword) {
35
+ setErrorMessage(t('recover.password.mismatch') || 'Passwords do not match');
36
+ return;
37
+ }
38
+ setErrorMessage('');
39
+ setIsLoading(true);
40
+ try {
41
+ const code = verificationCode?.trim();
42
+ if (!code) throw new Error(t('recover.missingCode') || 'Missing code');
43
+
44
+ // Heuristic: recovery key starts with 'oxy-' or longer strings, backup codes have dashes of short format, else assume TOTP
45
+ if (code.toLowerCase().startsWith('oxy-') || code.length >= 16) {
46
+ await oxyServices.resetPasswordWithRecoveryKey(identifier, code, password);
47
+ } else if (/[A-Za-z0-9]+-[A-Za-z0-9]+/.test(code)) {
48
+ await oxyServices.resetPasswordWithBackupCode(identifier, code, password);
49
+ } else {
50
+ await oxyServices.resetPasswordWithTotp(identifier, code, password);
51
+ }
52
+ nextStep();
53
+ } catch (e) {
54
+ setErrorMessage(e?.message || t('recover.password.resetFailed') || 'Failed to reset password');
55
+ } finally {
56
+ setIsLoading(false);
57
+ }
58
+ };
59
+ return /*#__PURE__*/_jsxs(_Fragment, {
60
+ children: [/*#__PURE__*/_jsxs(View, {
61
+ style: styles.modernHeader,
62
+ children: [/*#__PURE__*/_jsx(Text, {
63
+ style: [styles.modernTitle, {
64
+ color: colors.text
65
+ }],
66
+ children: t('recover.newPassword')
67
+ }), /*#__PURE__*/_jsxs(Text, {
68
+ style: [styles.modernSubtitle, {
69
+ color: colors.secondaryText
70
+ }],
71
+ children: [t('recover.title'), " @", identifier]
72
+ })]
73
+ }), /*#__PURE__*/_jsxs(View, {
74
+ style: styles.modernInputContainer,
75
+ children: [/*#__PURE__*/_jsx(TextField, {
76
+ label: t('common.labels.password'),
77
+ leading: /*#__PURE__*/_jsx(Ionicons, {
78
+ name: "lock-closed-outline",
79
+ size: 24,
80
+ color: colors.secondaryText
81
+ }),
82
+ value: password,
83
+ onChangeText: setPassword,
84
+ secureTextEntry: true,
85
+ autoCapitalize: "none",
86
+ autoCorrect: false,
87
+ variant: "filled",
88
+ error: errorMessage || undefined,
89
+ onSubmitEditing: handleReset,
90
+ autoFocus: true
91
+ }), /*#__PURE__*/_jsx(TextField, {
92
+ label: t('common.labels.confirmPassword'),
93
+ leading: /*#__PURE__*/_jsx(Ionicons, {
94
+ name: "lock-closed-outline",
95
+ size: 24,
96
+ color: colors.secondaryText
97
+ }),
98
+ value: confirmPassword,
99
+ onChangeText: setConfirmPassword,
100
+ secureTextEntry: true,
101
+ autoCapitalize: "none",
102
+ autoCorrect: false,
103
+ variant: "filled",
104
+ onSubmitEditing: handleReset
105
+ })]
106
+ }), /*#__PURE__*/_jsx(GroupedPillButtons, {
107
+ buttons: [{
108
+ text: t('common.actions.back'),
109
+ onPress: prevStep,
110
+ icon: 'arrow-back',
111
+ variant: 'transparent'
112
+ }, {
113
+ text: t('common.actions.resetPassword'),
114
+ onPress: handleReset,
115
+ icon: 'key-outline',
116
+ variant: 'primary',
117
+ loading: isLoading,
118
+ disabled: isLoading
119
+ }],
120
+ colors: colors
121
+ })]
122
+ });
123
+ };
124
+ export default RecoverResetPasswordStep;
125
+ //# sourceMappingURL=RecoverResetPasswordStep.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"names":["View","Text","Ionicons","GroupedPillButtons","TextField","useI18n","jsx","_jsx","jsxs","_jsxs","Fragment","_Fragment","RecoverResetPasswordStep","colors","styles","nextStep","prevStep","identifier","verificationCode","password","confirmPassword","setPassword","setConfirmPassword","errorMessage","setErrorMessage","isLoading","setIsLoading","oxyServices","t","handleReset","length","code","trim","Error","toLowerCase","startsWith","resetPasswordWithRecoveryKey","test","resetPasswordWithBackupCode","resetPasswordWithTotp","e","message","children","style","modernHeader","modernTitle","color","text","modernSubtitle","secondaryText","modernInputContainer","label","leading","name","size","value","onChangeText","secureTextEntry","autoCapitalize","autoCorrect","variant","error","undefined","onSubmitEditing","autoFocus","buttons","onPress","icon","loading","disabled"],"sourceRoot":"../../../../../src","sources":["ui/screens/steps/RecoverResetPasswordStep.tsx"],"mappings":"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","ignoreList":[]}
@@ -3,6 +3,7 @@
3
3
  import { View, Text } from 'react-native';
4
4
  import { Ionicons } from '@expo/vector-icons';
5
5
  import GroupedPillButtons from '../../components/internal/GroupedPillButtons';
6
+ import { useI18n } from '../../hooks/useI18n';
6
7
  import { jsx as _jsx, jsxs as _jsxs, Fragment as _Fragment } from "react/jsx-runtime";
7
8
  const RecoverSuccessStep = ({
8
9
  colors,
@@ -11,14 +12,18 @@ const RecoverSuccessStep = ({
11
12
  allStepData,
12
13
  successMessage
13
14
  }) => {
15
+ const {
16
+ t
17
+ } = useI18n();
14
18
  // Extract identifier from previous steps
15
19
  const requestData = allStepData[0] || {};
16
20
  const {
17
21
  identifier
18
22
  } = requestData;
19
23
  const handleContinueToReset = () => {
20
- // Navigate to password reset with the identifier
21
- navigate('ResetPassword', {
24
+ // Navigate back to SignIn and let host app open its reset flow
25
+ navigate('SignIn', {
26
+ showReset: true,
22
27
  identifier
23
28
  });
24
29
  };
@@ -54,12 +59,12 @@ const RecoverSuccessStep = ({
54
59
  style: [styles.modernTitle, {
55
60
  color: colors.text
56
61
  }],
57
- children: "Account Verified!"
62
+ children: t('recover.title')
58
63
  }), /*#__PURE__*/_jsx(Text, {
59
64
  style: [styles.modernSubtitle, {
60
65
  color: colors.secondaryText
61
66
  }],
62
- children: "Your account has been successfully verified."
67
+ children: successMessage || t('recover.resetSuccess')
63
68
  })]
64
69
  }), /*#__PURE__*/_jsxs(View, {
65
70
  style: styles.modernInputContainer,
@@ -78,14 +83,14 @@ const RecoverSuccessStep = ({
78
83
  fontSize: 16,
79
84
  marginBottom: 8
80
85
  }],
81
- children: "What's next?"
86
+ children: t('recover.whatsNextTitle') || "What's next?"
82
87
  }), /*#__PURE__*/_jsx(Text, {
83
88
  style: [styles.footerText, {
84
89
  color: colors.secondaryText,
85
90
  fontSize: 14,
86
91
  lineHeight: 20
87
92
  }],
88
- children: "You can now reset your password or return to sign in with your existing credentials."
93
+ children: t('recover.whatsNextBody') || 'You can now reset your password or return to sign in with your existing credentials.'
89
94
  })]
90
95
  }), /*#__PURE__*/_jsxs(View, {
91
96
  style: {
@@ -110,20 +115,15 @@ const RecoverSuccessStep = ({
110
115
  fontSize: 14,
111
116
  flex: 1
112
117
  }],
113
- children: successMessage || 'Your account recovery is complete and secure.'
118
+ children: successMessage || t('recover.completeSecure') || 'Your account recovery is complete and secure.'
114
119
  })]
115
120
  })]
116
121
  }), /*#__PURE__*/_jsx(GroupedPillButtons, {
117
122
  buttons: [{
118
- text: 'Back to Sign In',
123
+ text: t('common.actions.signIn'),
119
124
  onPress: handleBackToSignIn,
120
125
  icon: 'arrow-back',
121
126
  variant: 'transparent'
122
- }, {
123
- text: 'Reset Password',
124
- onPress: handleContinueToReset,
125
- icon: 'key-outline',
126
- variant: 'primary'
127
127
  }],
128
128
  colors: colors
129
129
  })]
@@ -1 +1 @@
1
- {"version":3,"names":["View","Text","Ionicons","GroupedPillButtons","jsx","_jsx","jsxs","_jsxs","Fragment","_Fragment","RecoverSuccessStep","colors","styles","navigate","allStepData","successMessage","requestData","identifier","handleContinueToReset","handleBackToSignIn","children","style","alignItems","justifyContent","marginBottom","width","height","borderRadius","backgroundColor","success","name","size","color","modernHeader","modernTitle","text","modernSubtitle","secondaryText","modernInputContainer","padding","inputBackground","borderWidth","borderColor","border","footerText","fontSize","lineHeight","flexDirection","marginRight","flex","buttons","onPress","icon","variant"],"sourceRoot":"../../../../../src","sources":["ui/screens/steps/RecoverSuccessStep.tsx"],"mappings":"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","ignoreList":[]}
1
+ {"version":3,"names":["View","Text","Ionicons","GroupedPillButtons","useI18n","jsx","_jsx","jsxs","_jsxs","Fragment","_Fragment","RecoverSuccessStep","colors","styles","navigate","allStepData","successMessage","t","requestData","identifier","handleContinueToReset","showReset","handleBackToSignIn","children","style","alignItems","justifyContent","marginBottom","width","height","borderRadius","backgroundColor","success","name","size","color","modernHeader","modernTitle","text","modernSubtitle","secondaryText","modernInputContainer","padding","inputBackground","borderWidth","borderColor","border","footerText","fontSize","lineHeight","flexDirection","marginRight","flex","buttons","onPress","icon","variant"],"sourceRoot":"../../../../../src","sources":["ui/screens/steps/RecoverSuccessStep.tsx"],"mappings":"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","ignoreList":[]}
@@ -4,6 +4,7 @@ import { View, Text } from 'react-native';
4
4
  import { Ionicons } from '@expo/vector-icons';
5
5
  import GroupedPillButtons from '../../components/internal/GroupedPillButtons';
6
6
  import PinInput from '../../components/internal/PinInput';
7
+ import { useI18n } from '../../hooks/useI18n';
7
8
  import { jsx as _jsx, jsxs as _jsxs, Fragment as _Fragment } from "react/jsx-runtime";
8
9
  const RecoverVerifyStep = ({
9
10
  colors,
@@ -17,28 +18,21 @@ const RecoverVerifyStep = ({
17
18
  successMessage,
18
19
  setSuccessMessage,
19
20
  isLoading,
20
- setIsLoading
21
+ setIsLoading,
22
+ identifier
21
23
  }) => {
22
- const handleVerifyCode = () => {
24
+ const {
25
+ t
26
+ } = useI18n();
27
+ const handleVerifyCode = async () => {
23
28
  setErrorMessage('');
24
29
  setSuccessMessage('');
25
30
  if (verificationCode.length !== 6) {
26
- setErrorMessage('Please enter the 6-digit code.');
31
+ setErrorMessage(t('recover.enterCode'));
27
32
  return;
28
33
  }
29
- setIsLoading(true);
30
-
31
- // Simulate verification
32
- setTimeout(() => {
33
- setIsLoading(false);
34
- if (verificationCode === '123456') {
35
- // Simulate correct code
36
- setSuccessMessage('Your account has been verified! You can now reset your password.');
37
- nextStep(); // Move to success step
38
- } else {
39
- setErrorMessage('Invalid code. Please try again.');
40
- }
41
- }, 1200);
34
+ // For recovery via TOTP, proceed to reset step; server will validate during reset
35
+ nextStep();
42
36
  };
43
37
  return /*#__PURE__*/_jsxs(_Fragment, {
44
38
  children: [/*#__PURE__*/_jsxs(View, {
@@ -47,12 +41,12 @@ const RecoverVerifyStep = ({
47
41
  style: [styles.modernTitle, {
48
42
  color: colors.text
49
43
  }],
50
- children: "Verify Code"
44
+ children: t('recover.verify.title')
51
45
  }), /*#__PURE__*/_jsx(Text, {
52
46
  style: [styles.modernSubtitle, {
53
47
  color: colors.secondaryText
54
48
  }],
55
- children: "Enter the 6-digit code sent to your email or phone."
49
+ children: t('recover.enterCode')
56
50
  })]
57
51
  }), /*#__PURE__*/_jsxs(View, {
58
52
  style: styles.modernInputContainer,
@@ -116,12 +110,12 @@ const RecoverVerifyStep = ({
116
110
  })]
117
111
  }), /*#__PURE__*/_jsx(GroupedPillButtons, {
118
112
  buttons: [{
119
- text: 'Back',
113
+ text: t('common.actions.back'),
120
114
  onPress: prevStep,
121
115
  icon: 'arrow-back',
122
116
  variant: 'transparent'
123
117
  }, {
124
- text: 'Verify Code',
118
+ text: t('recover.verify.action'),
125
119
  onPress: handleVerifyCode,
126
120
  icon: 'checkmark-circle-outline',
127
121
  variant: 'primary',
@@ -1 +1 @@
1
- {"version":3,"names":["View","Text","Ionicons","GroupedPillButtons","PinInput","jsx","_jsx","jsxs","_jsxs","Fragment","_Fragment","RecoverVerifyStep","colors","styles","nextStep","prevStep","verificationCode","setVerificationCode","errorMessage","setErrorMessage","successMessage","setSuccessMessage","isLoading","setIsLoading","handleVerifyCode","length","setTimeout","children","style","modernHeader","modernTitle","color","text","modernSubtitle","secondaryText","modernInputContainer","value","onChange","disabled","autoFocus","flexDirection","alignItems","marginTop","padding","backgroundColor","success","borderRadius","borderWidth","borderColor","name","size","marginRight","footerText","fontSize","error","buttons","onPress","icon","variant","loading"],"sourceRoot":"../../../../../src","sources":["ui/screens/steps/RecoverVerifyStep.tsx"],"mappings":";;AACA,SAASA,IAAI,EAAEC,IAAI,QAAQ,cAAc;AACzC,SAASC,QAAQ,QAAQ,oBAAoB;AAC7C,OAAOC,kBAAkB,MAAM,8CAA8C;AAC7E,OAAOC,QAAQ,MAAM,oCAAoC;AAAC,SAAAC,GAAA,IAAAC,IAAA,EAAAC,IAAA,IAAAC,KAAA,EAAAC,QAAA,IAAAC,SAAA;AA8B1D,MAAMC,iBAAmD,GAAGA,CAAC;EACzDC,MAAM;EACNC,MAAM;EACNC,QAAQ;EACRC,QAAQ;EACRC,gBAAgB;EAChBC,mBAAmB;EACnBC,YAAY;EACZC,eAAe;EACfC,cAAc;EACdC,iBAAiB;EACjBC,SAAS;EACTC;AACJ,CAAC,KAAK;EACF,MAAMC,gBAAgB,GAAGA,CAAA,KAAM;IAC3BL,eAAe,CAAC,EAAE,CAAC;IACnBE,iBAAiB,CAAC,EAAE,CAAC;IAErB,IAAIL,gBAAgB,CAACS,MAAM,KAAK,CAAC,EAAE;MAC/BN,eAAe,CAAC,gCAAgC,CAAC;MACjD;IACJ;IAEAI,YAAY,CAAC,IAAI,CAAC;;IAElB;IACAG,UAAU,CAAC,MAAM;MACbH,YAAY,CAAC,KAAK,CAAC;MACnB,IAAIP,gBAAgB,KAAK,QAAQ,EAAE;QAAE;QACjCK,iBAAiB,CAAC,kEAAkE,CAAC;QACrFP,QAAQ,CAAC,CAAC,CAAC,CAAC;MAChB,CAAC,MAAM;QACHK,eAAe,CAAC,iCAAiC,CAAC;MACtD;IACJ,CAAC,EAAE,IAAI,CAAC;EACZ,CAAC;EAED,oBACIX,KAAA,CAAAE,SAAA;IAAAiB,QAAA,gBACInB,KAAA,CAACR,IAAI;MAAC4B,KAAK,EAAEf,MAAM,CAACgB,YAAa;MAAAF,QAAA,gBAC7BrB,IAAA,CAACL,IAAI;QAAC2B,KAAK,EAAE,CAACf,MAAM,CAACiB,WAAW,EAAE;UAAEC,KAAK,EAAEnB,MAAM,CAACoB;QAAK,CAAC,CAAE;QAAAL,QAAA,EAAC;MAE3D,CAAM,CAAC,eACPrB,IAAA,CAACL,IAAI;QAAC2B,KAAK,EAAE,CAACf,MAAM,CAACoB,cAAc,EAAE;UAAEF,KAAK,EAAEnB,MAAM,CAACsB;QAAc,CAAC,CAAE;QAAAP,QAAA,EAAC;MAEvE,CAAM,CAAC;IAAA,CACL,CAAC,eAEPnB,KAAA,CAACR,IAAI;MAAC4B,KAAK,EAAEf,MAAM,CAACsB,oBAAqB;MAAAR,QAAA,gBACrCrB,IAAA,CAACF,QAAQ;QACLgC,KAAK,EAAEpB,gBAAiB;QACxBqB,QAAQ,EAAEpB,mBAAoB;QAC9BQ,MAAM,EAAE,CAAE;QACVa,QAAQ,EAAEhB,SAAU;QACpBiB,SAAS;QACT3B,MAAM,EAAEA;MAAO,CAClB,CAAC,EAEDQ,cAAc,iBACXZ,KAAA,CAACR,IAAI;QAAC4B,KAAK,EAAE;UACTY,aAAa,EAAE,KAAK;UACpBC,UAAU,EAAE,QAAQ;UACpBC,SAAS,EAAE,EAAE;UACbC,OAAO,EAAE,EAAE;UACXC,eAAe,EAAEhC,MAAM,CAACiC,OAAO,GAAG,IAAI;UACtCC,YAAY,EAAE,CAAC;UACfC,WAAW,EAAE,CAAC;UACdC,WAAW,EAAEpC,MAAM,CAACiC,OAAO,GAAG;QAClC,CAAE;QAAAlB,QAAA,gBACErB,IAAA,CAACJ,QAAQ;UAAC+C,IAAI,EAAC,kBAAkB;UAACC,IAAI,EAAE,EAAG;UAACnB,KAAK,EAAEnB,MAAM,CAACiC,OAAQ;UAACjB,KAAK,EAAE;YAAEuB,WAAW,EAAE;UAAE;QAAE,CAAE,CAAC,eAChG7C,IAAA,CAACL,IAAI;UAAC2B,KAAK,EAAE,CAACf,MAAM,CAACuC,UAAU,EAAE;YAAErB,KAAK,EAAEnB,MAAM,CAACiC,OAAO;YAAEQ,QAAQ,EAAE;UAAG,CAAC,CAAE;UAAA1B,QAAA,EACrEP;QAAc,CACb,CAAC;MAAA,CACL,CACT,EAEAF,YAAY,iBACTV,KAAA,CAACR,IAAI;QAAC4B,KAAK,EAAE;UACTY,aAAa,EAAE,KAAK;UACpBC,UAAU,EAAE,QAAQ;UACpBC,SAAS,EAAE,EAAE;UACbC,OAAO,EAAE,EAAE;UACXC,eAAe,EAAEhC,MAAM,CAAC0C,KAAK,GAAG,IAAI;UACpCR,YAAY,EAAE,CAAC;UACfC,WAAW,EAAE,CAAC;UACdC,WAAW,EAAEpC,MAAM,CAAC0C,KAAK,GAAG;QAChC,CAAE;QAAA3B,QAAA,gBACErB,IAAA,CAACJ,QAAQ;UAAC+C,IAAI,EAAC,cAAc;UAACC,IAAI,EAAE,EAAG;UAACnB,KAAK,EAAEnB,MAAM,CAAC0C,KAAM;UAAC1B,KAAK,EAAE;YAAEuB,WAAW,EAAE;UAAE;QAAE,CAAE,CAAC,eAC1F7C,IAAA,CAACL,IAAI;UAAC2B,KAAK,EAAE,CAACf,MAAM,CAACuC,UAAU,EAAE;YAAErB,KAAK,EAAEnB,MAAM,CAAC0C,KAAK;YAAED,QAAQ,EAAE;UAAG,CAAC,CAAE;UAAA1B,QAAA,EACnET;QAAY,CACX,CAAC;MAAA,CACL,CACT;IAAA,CACC,CAAC,eAEPZ,IAAA,CAACH,kBAAkB;MACfoD,OAAO,EAAE,CACL;QACIvB,IAAI,EAAE,MAAM;QACZwB,OAAO,EAAEzC,QAAQ;QACjB0C,IAAI,EAAE,YAAY;QAClBC,OAAO,EAAE;MACb,CAAC,EACD;QACI1B,IAAI,EAAE,aAAa;QACnBwB,OAAO,EAAEhC,gBAAgB;QACzBiC,IAAI,EAAE,0BAA0B;QAChCC,OAAO,EAAE,SAAS;QAClBC,OAAO,EAAErC,SAAS;QAClBgB,QAAQ,EAAEhB,SAAS,IAAIN,gBAAgB,CAACS,MAAM,KAAK;MACvD,CAAC,CACH;MACFb,MAAM,EAAEA;IAAO,CAClB,CAAC;EAAA,CACJ,CAAC;AAEX,CAAC;AAED,eAAeD,iBAAiB","ignoreList":[]}
1
+ {"version":3,"names":["View","Text","Ionicons","GroupedPillButtons","PinInput","useI18n","jsx","_jsx","jsxs","_jsxs","Fragment","_Fragment","RecoverVerifyStep","colors","styles","nextStep","prevStep","verificationCode","setVerificationCode","errorMessage","setErrorMessage","successMessage","setSuccessMessage","isLoading","setIsLoading","identifier","t","handleVerifyCode","length","children","style","modernHeader","modernTitle","color","text","modernSubtitle","secondaryText","modernInputContainer","value","onChange","disabled","autoFocus","flexDirection","alignItems","marginTop","padding","backgroundColor","success","borderRadius","borderWidth","borderColor","name","size","marginRight","footerText","fontSize","error","buttons","onPress","icon","variant","loading"],"sourceRoot":"../../../../../src","sources":["ui/screens/steps/RecoverVerifyStep.tsx"],"mappings":";;AAEA,SAASA,IAAI,EAAEC,IAAI,QAAQ,cAAc;AACzC,SAASC,QAAQ,QAAQ,oBAAoB;AAC7C,OAAOC,kBAAkB,MAAM,8CAA8C;AAC7E,OAAOC,QAAQ,MAAM,oCAAoC;AAEzD,SAASC,OAAO,QAAQ,qBAAqB;AAAC,SAAAC,GAAA,IAAAC,IAAA,EAAAC,IAAA,IAAAC,KAAA,EAAAC,QAAA,IAAAC,SAAA;AA+B9C,MAAMC,iBAAmD,GAAGA,CAAC;EACzDC,MAAM;EACNC,MAAM;EACNC,QAAQ;EACRC,QAAQ;EACRC,gBAAgB;EAChBC,mBAAmB;EACnBC,YAAY;EACZC,eAAe;EACfC,cAAc;EACdC,iBAAiB;EACjBC,SAAS;EACTC,YAAY;EACZC;AACJ,CAAC,KAAK;EACF,MAAM;IAAEC;EAAE,CAAC,GAAGrB,OAAO,CAAC,CAAC;EACvB,MAAMsB,gBAAgB,GAAG,MAAAA,CAAA,KAAY;IACjCP,eAAe,CAAC,EAAE,CAAC;IACnBE,iBAAiB,CAAC,EAAE,CAAC;IAErB,IAAIL,gBAAgB,CAACW,MAAM,KAAK,CAAC,EAAE;MAC/BR,eAAe,CAACM,CAAC,CAAC,mBAAmB,CAAC,CAAC;MACvC;IACJ;IACA;IACAX,QAAQ,CAAC,CAAC;EACd,CAAC;EAED,oBACIN,KAAA,CAAAE,SAAA;IAAAkB,QAAA,gBACIpB,KAAA,CAACT,IAAI;MAAC8B,KAAK,EAAEhB,MAAM,CAACiB,YAAa;MAAAF,QAAA,gBAC7BtB,IAAA,CAACN,IAAI;QAAC6B,KAAK,EAAE,CAAChB,MAAM,CAACkB,WAAW,EAAE;UAAEC,KAAK,EAAEpB,MAAM,CAACqB;QAAK,CAAC,CAAE;QAAAL,QAAA,EAAEH,CAAC,CAAC,sBAAsB;MAAC,CAAO,CAAC,eAC7FnB,IAAA,CAACN,IAAI;QAAC6B,KAAK,EAAE,CAAChB,MAAM,CAACqB,cAAc,EAAE;UAAEF,KAAK,EAAEpB,MAAM,CAACuB;QAAc,CAAC,CAAE;QAAAP,QAAA,EAAEH,CAAC,CAAC,mBAAmB;MAAC,CAAO,CAAC;IAAA,CACpG,CAAC,eAEPjB,KAAA,CAACT,IAAI;MAAC8B,KAAK,EAAEhB,MAAM,CAACuB,oBAAqB;MAAAR,QAAA,gBACrCtB,IAAA,CAACH,QAAQ;QACLkC,KAAK,EAAErB,gBAAiB;QACxBsB,QAAQ,EAAErB,mBAAoB;QAC9BU,MAAM,EAAE,CAAE;QACVY,QAAQ,EAAEjB,SAAU;QACpBkB,SAAS;QACT5B,MAAM,EAAEA;MAAO,CAClB,CAAC,EAEDQ,cAAc,iBACXZ,KAAA,CAACT,IAAI;QAAC8B,KAAK,EAAE;UACTY,aAAa,EAAE,KAAK;UACpBC,UAAU,EAAE,QAAQ;UACpBC,SAAS,EAAE,EAAE;UACbC,OAAO,EAAE,EAAE;UACXC,eAAe,EAAEjC,MAAM,CAACkC,OAAO,GAAG,IAAI;UACtCC,YAAY,EAAE,CAAC;UACfC,WAAW,EAAE,CAAC;UACdC,WAAW,EAAErC,MAAM,CAACkC,OAAO,GAAG;QAClC,CAAE;QAAAlB,QAAA,gBACEtB,IAAA,CAACL,QAAQ;UAACiD,IAAI,EAAC,kBAAkB;UAACC,IAAI,EAAE,EAAG;UAACnB,KAAK,EAAEpB,MAAM,CAACkC,OAAQ;UAACjB,KAAK,EAAE;YAAEuB,WAAW,EAAE;UAAE;QAAE,CAAE,CAAC,eAChG9C,IAAA,CAACN,IAAI;UAAC6B,KAAK,EAAE,CAAChB,MAAM,CAACwC,UAAU,EAAE;YAAErB,KAAK,EAAEpB,MAAM,CAACkC,OAAO;YAAEQ,QAAQ,EAAE;UAAG,CAAC,CAAE;UAAA1B,QAAA,EACrER;QAAc,CACb,CAAC;MAAA,CACL,CACT,EAEAF,YAAY,iBACTV,KAAA,CAACT,IAAI;QAAC8B,KAAK,EAAE;UACTY,aAAa,EAAE,KAAK;UACpBC,UAAU,EAAE,QAAQ;UACpBC,SAAS,EAAE,EAAE;UACbC,OAAO,EAAE,EAAE;UACXC,eAAe,EAAEjC,MAAM,CAAC2C,KAAK,GAAG,IAAI;UACpCR,YAAY,EAAE,CAAC;UACfC,WAAW,EAAE,CAAC;UACdC,WAAW,EAAErC,MAAM,CAAC2C,KAAK,GAAG;QAChC,CAAE;QAAA3B,QAAA,gBACEtB,IAAA,CAACL,QAAQ;UAACiD,IAAI,EAAC,cAAc;UAACC,IAAI,EAAE,EAAG;UAACnB,KAAK,EAAEpB,MAAM,CAAC2C,KAAM;UAAC1B,KAAK,EAAE;YAAEuB,WAAW,EAAE;UAAE;QAAE,CAAE,CAAC,eAC1F9C,IAAA,CAACN,IAAI;UAAC6B,KAAK,EAAE,CAAChB,MAAM,CAACwC,UAAU,EAAE;YAAErB,KAAK,EAAEpB,MAAM,CAAC2C,KAAK;YAAED,QAAQ,EAAE;UAAG,CAAC,CAAE;UAAA1B,QAAA,EACnEV;QAAY,CACX,CAAC;MAAA,CACL,CACT;IAAA,CACC,CAAC,eAEPZ,IAAA,CAACJ,kBAAkB;MACfsD,OAAO,EAAE,CACL;QACIvB,IAAI,EAAER,CAAC,CAAC,qBAAqB,CAAC;QAC9BgC,OAAO,EAAE1C,QAAQ;QACjB2C,IAAI,EAAE,YAAY;QAClBC,OAAO,EAAE;MACb,CAAC,EACD;QACI1B,IAAI,EAAER,CAAC,CAAC,uBAAuB,CAAC;QAChCgC,OAAO,EAAE/B,gBAAgB;QACzBgC,IAAI,EAAE,0BAA0B;QAChCC,OAAO,EAAE,SAAS;QAClBC,OAAO,EAAEtC,SAAS;QAClBiB,QAAQ,EAAEjB,SAAS,IAAIN,gBAAgB,CAACW,MAAM,KAAK;MACvD,CAAC,CACH;MACFf,MAAM,EAAEA;IAAO,CAClB,CAAC;EAAA,CACJ,CAAC;AAEX,CAAC;AAED,eAAeD,iBAAiB","ignoreList":[]}
@@ -6,12 +6,14 @@ import { Ionicons } from '@expo/vector-icons';
6
6
  import Avatar from '../../components/Avatar';
7
7
  import GroupedPillButtons from '../../components/internal/GroupedPillButtons';
8
8
  import TextField from '../../components/internal/TextField';
9
+ import { useI18n } from '../../hooks/useI18n';
9
10
  import { jsx as _jsx, jsxs as _jsxs, Fragment as _Fragment } from "react/jsx-runtime";
10
11
  const SignInPasswordStep = ({
11
12
  colors,
12
13
  styles,
13
14
  theme,
14
15
  navigate,
16
+ nextStep,
15
17
  prevStep,
16
18
  password,
17
19
  setPassword,
@@ -22,9 +24,13 @@ const SignInPasswordStep = ({
22
24
  isLoading,
23
25
  userProfile,
24
26
  username,
25
- handleSignIn
27
+ handleSignIn,
28
+ mfaToken
26
29
  }) => {
27
30
  const inputRef = useRef(null);
31
+ const {
32
+ t
33
+ } = useI18n();
28
34
  const handlePasswordChange = text => {
29
35
  setPassword(text);
30
36
  if (errorMessage) setErrorMessage('');
@@ -51,6 +57,14 @@ const SignInPasswordStep = ({
51
57
  }, 0);
52
58
  }
53
59
  }, [errorMessage]);
60
+
61
+ // Auto-advance when MFA is required
62
+ useEffect(() => {
63
+ if (mfaToken) {
64
+ // Move to TOTP step when token is available
65
+ nextStep();
66
+ }
67
+ }, [mfaToken, nextStep]);
54
68
  return /*#__PURE__*/_jsxs(_Fragment, {
55
69
  children: [/*#__PURE__*/_jsxs(View, {
56
70
  style: styles.modernUserProfileContainer,
@@ -82,7 +96,7 @@ const SignInPasswordStep = ({
82
96
  style: styles.modernInputContainer,
83
97
  children: [/*#__PURE__*/_jsx(TextField, {
84
98
  ref: inputRef,
85
- label: "Password",
99
+ label: t('common.labels.password'),
86
100
  leading: /*#__PURE__*/_jsx(Ionicons, {
87
101
  name: "lock-closed-outline",
88
102
  size: 24,
@@ -104,11 +118,11 @@ const SignInPasswordStep = ({
104
118
  alignItems: 'center',
105
119
  marginBottom: 16
106
120
  },
107
- children: [/*#__PURE__*/_jsx(Text, {
121
+ children: [/*#__PURE__*/_jsxs(Text, {
108
122
  style: [styles.footerText, {
109
123
  color: colors.text
110
124
  }],
111
- children: "Forgot your password? "
125
+ children: [t('signin.forgotPrompt') || 'Forgot your password?', " "]
112
126
  }), /*#__PURE__*/_jsx(TouchableOpacity, {
113
127
  onPress: () => navigate('RecoverAccount', {
114
128
  returnTo: 'SignIn',
@@ -122,18 +136,18 @@ const SignInPasswordStep = ({
122
136
  style: [styles.modernLinkText, {
123
137
  color: colors.primary
124
138
  }],
125
- children: "Recover your account"
139
+ children: t('common.links.recoverAccount')
126
140
  })
127
141
  })]
128
142
  })]
129
143
  }), /*#__PURE__*/_jsx(GroupedPillButtons, {
130
144
  buttons: [{
131
- text: 'Back',
145
+ text: t('common.actions.back') || 'Back',
132
146
  onPress: prevStep,
133
147
  icon: 'arrow-back',
134
148
  variant: 'transparent'
135
149
  }, {
136
- text: 'Sign In',
150
+ text: t('common.actions.signIn') || 'Sign In',
137
151
  onPress: handleSignInSubmit,
138
152
  icon: 'log-in',
139
153
  variant: 'primary',
@@ -151,7 +165,7 @@ const SignInPasswordStep = ({
151
165
  style: [styles.securityText, {
152
166
  color: colors.secondaryText
153
167
  }],
154
- children: "Your data is encrypted and secure"
168
+ children: t('signin.security.dataSecure') || 'Your data is encrypted and secure'
155
169
  })]
156
170
  })]
157
171
  });