@oxyhq/services 5.11.9 → 5.11.11

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 (305) hide show
  1. package/lib/commonjs/ui/components/AnimationExample.js +213 -0
  2. package/lib/commonjs/ui/components/AnimationExample.js.map +1 -0
  3. package/lib/commonjs/ui/components/FollowButton.js +58 -47
  4. package/lib/commonjs/ui/components/FollowButton.js.map +1 -1
  5. package/lib/commonjs/ui/components/GroupedItem.js +2 -1
  6. package/lib/commonjs/ui/components/GroupedItem.js.map +1 -1
  7. package/lib/commonjs/ui/components/GroupedSection.js +3 -0
  8. package/lib/commonjs/ui/components/GroupedSection.js.map +1 -1
  9. package/lib/commonjs/ui/components/Header.js +26 -12
  10. package/lib/commonjs/ui/components/Header.js.map +1 -1
  11. package/lib/commonjs/ui/components/OxyProvider.js +69 -33
  12. package/lib/commonjs/ui/components/OxyProvider.js.map +1 -1
  13. package/lib/commonjs/ui/components/ProfileCard.js +5 -1
  14. package/lib/commonjs/ui/components/ProfileCard.js.map +1 -1
  15. package/lib/commonjs/ui/components/StepBasedScreen.README.md +337 -0
  16. package/lib/commonjs/ui/components/StepBasedScreen.js +361 -0
  17. package/lib/commonjs/ui/components/StepBasedScreen.js.map +1 -0
  18. package/lib/commonjs/ui/components/icon/OxyIcon.js +3 -3
  19. package/lib/commonjs/ui/components/icon/OxyIcon.js.map +1 -1
  20. package/lib/commonjs/ui/components/index.js +0 -7
  21. package/lib/commonjs/ui/components/index.js.map +1 -1
  22. package/lib/commonjs/ui/components/internal/PinInput.js +1 -1
  23. package/lib/commonjs/ui/components/internal/PinInput.js.map +1 -1
  24. package/lib/commonjs/ui/components/internal/TextField.js +8 -4
  25. package/lib/commonjs/ui/components/internal/TextField.js.map +1 -1
  26. package/lib/commonjs/ui/components/photogrid/JustifiedPhotoGrid.js +161 -0
  27. package/lib/commonjs/ui/components/photogrid/JustifiedPhotoGrid.js.map +1 -0
  28. package/lib/commonjs/ui/context/OxyContext.js +103 -44
  29. package/lib/commonjs/ui/context/OxyContext.js.map +1 -1
  30. package/lib/commonjs/ui/hooks/useFollow.types.js +2 -0
  31. package/lib/commonjs/ui/hooks/useFollow.types.js.map +1 -0
  32. package/lib/commonjs/ui/navigation/OxyRouter.js +10 -0
  33. package/lib/commonjs/ui/navigation/OxyRouter.js.map +1 -1
  34. package/lib/commonjs/ui/screens/AccountCenterScreen.js +26 -14
  35. package/lib/commonjs/ui/screens/AccountCenterScreen.js.map +1 -1
  36. package/lib/commonjs/ui/screens/AccountOverviewScreen.js +3 -3
  37. package/lib/commonjs/ui/screens/AccountOverviewScreen.js.map +1 -1
  38. package/lib/commonjs/ui/screens/AccountSettingsScreen.js +64 -15
  39. package/lib/commonjs/ui/screens/AccountSettingsScreen.js.map +1 -1
  40. package/lib/commonjs/ui/screens/AccountSwitcherScreen.js +4 -4
  41. package/lib/commonjs/ui/screens/AccountSwitcherScreen.js.map +1 -1
  42. package/lib/commonjs/ui/screens/FeedbackScreen.js +72 -75
  43. package/lib/commonjs/ui/screens/FeedbackScreen.js.map +1 -1
  44. package/lib/commonjs/ui/screens/FileManagementScreen.js +286 -126
  45. package/lib/commonjs/ui/screens/FileManagementScreen.js.map +1 -1
  46. package/lib/commonjs/ui/screens/LanguageSelectorScreen.js +322 -0
  47. package/lib/commonjs/ui/screens/LanguageSelectorScreen.js.map +1 -0
  48. package/lib/commonjs/ui/screens/ProfileScreen.js +56 -56
  49. package/lib/commonjs/ui/screens/ProfileScreen.js.map +1 -1
  50. package/lib/commonjs/ui/screens/RecoverAccountScreen.js +87 -219
  51. package/lib/commonjs/ui/screens/RecoverAccountScreen.js.map +1 -1
  52. package/lib/commonjs/ui/screens/SessionManagementScreen.js +176 -174
  53. package/lib/commonjs/ui/screens/SessionManagementScreen.js.map +1 -1
  54. package/lib/commonjs/ui/screens/SignInScreen.js +138 -244
  55. package/lib/commonjs/ui/screens/SignInScreen.js.map +1 -1
  56. package/lib/commonjs/ui/screens/SignUpScreen.js +143 -744
  57. package/lib/commonjs/ui/screens/SignUpScreen.js.map +1 -1
  58. package/lib/commonjs/ui/screens/WelcomeNewUserScreen.js +386 -0
  59. package/lib/commonjs/ui/screens/WelcomeNewUserScreen.js.map +1 -0
  60. package/lib/commonjs/ui/screens/internal/SignInPasswordStep.js +25 -15
  61. package/lib/commonjs/ui/screens/internal/SignInPasswordStep.js.map +1 -1
  62. package/lib/commonjs/ui/screens/internal/SignInUsernameStep.js +16 -9
  63. package/lib/commonjs/ui/screens/internal/SignInUsernameStep.js.map +1 -1
  64. package/lib/commonjs/ui/screens/karma/KarmaCenterScreen.js +1 -1
  65. package/lib/commonjs/ui/screens/karma/KarmaCenterScreen.js.map +1 -1
  66. package/lib/commonjs/ui/screens/steps/RecoverRequestStep.js +110 -0
  67. package/lib/commonjs/ui/screens/steps/RecoverRequestStep.js.map +1 -0
  68. package/lib/commonjs/ui/screens/steps/RecoverSuccessStep.js +138 -0
  69. package/lib/commonjs/ui/screens/steps/RecoverSuccessStep.js.map +1 -0
  70. package/lib/commonjs/ui/screens/steps/RecoverVerifyStep.js +141 -0
  71. package/lib/commonjs/ui/screens/steps/RecoverVerifyStep.js.map +1 -0
  72. package/lib/commonjs/ui/screens/steps/SignInPasswordStep.js +165 -0
  73. package/lib/commonjs/ui/screens/steps/SignInPasswordStep.js.map +1 -0
  74. package/lib/commonjs/ui/screens/steps/SignInUsernameStep.js +150 -0
  75. package/lib/commonjs/ui/screens/steps/SignInUsernameStep.js.map +1 -0
  76. package/lib/commonjs/ui/screens/steps/SignUpIdentityStep.js +171 -0
  77. package/lib/commonjs/ui/screens/steps/SignUpIdentityStep.js.map +1 -0
  78. package/lib/commonjs/ui/screens/steps/SignUpSecurityStep.js +163 -0
  79. package/lib/commonjs/ui/screens/steps/SignUpSecurityStep.js.map +1 -0
  80. package/lib/commonjs/ui/screens/steps/SignUpSummaryStep.js +170 -0
  81. package/lib/commonjs/ui/screens/steps/SignUpSummaryStep.js.map +1 -0
  82. package/lib/commonjs/ui/screens/steps/SignUpWelcomeStep.js +72 -0
  83. package/lib/commonjs/ui/screens/steps/SignUpWelcomeStep.js.map +1 -0
  84. package/lib/commonjs/ui/styles/authStyles.js +1 -1
  85. package/lib/commonjs/ui/styles/authStyles.js.map +1 -1
  86. package/lib/module/ui/components/AnimationExample.js +209 -0
  87. package/lib/module/ui/components/AnimationExample.js.map +1 -0
  88. package/lib/module/ui/components/FollowButton.js +58 -47
  89. package/lib/module/ui/components/FollowButton.js.map +1 -1
  90. package/lib/module/ui/components/GroupedItem.js +2 -1
  91. package/lib/module/ui/components/GroupedItem.js.map +1 -1
  92. package/lib/module/ui/components/GroupedSection.js +3 -0
  93. package/lib/module/ui/components/GroupedSection.js.map +1 -1
  94. package/lib/module/ui/components/Header.js +26 -12
  95. package/lib/module/ui/components/Header.js.map +1 -1
  96. package/lib/module/ui/components/OxyProvider.js +70 -34
  97. package/lib/module/ui/components/OxyProvider.js.map +1 -1
  98. package/lib/module/ui/components/ProfileCard.js +5 -1
  99. package/lib/module/ui/components/ProfileCard.js.map +1 -1
  100. package/lib/module/ui/components/Section.js.map +1 -1
  101. package/lib/module/ui/components/SectionTitle.js.map +1 -1
  102. package/lib/module/ui/components/StepBasedScreen.README.md +337 -0
  103. package/lib/module/ui/components/StepBasedScreen.js +356 -0
  104. package/lib/module/ui/components/StepBasedScreen.js.map +1 -0
  105. package/lib/module/ui/components/icon/FAIRWalletIcon.js.map +1 -1
  106. package/lib/module/ui/components/icon/OxyIcon.js +3 -3
  107. package/lib/module/ui/components/icon/OxyIcon.js.map +1 -1
  108. package/lib/module/ui/components/index.js +0 -1
  109. package/lib/module/ui/components/index.js.map +1 -1
  110. package/lib/module/ui/components/internal/PinInput.js +1 -1
  111. package/lib/module/ui/components/internal/PinInput.js.map +1 -1
  112. package/lib/module/ui/components/internal/TextField.js +8 -4
  113. package/lib/module/ui/components/internal/TextField.js.map +1 -1
  114. package/lib/module/ui/components/photogrid/JustifiedPhotoGrid.js +156 -0
  115. package/lib/module/ui/components/photogrid/JustifiedPhotoGrid.js.map +1 -0
  116. package/lib/module/ui/context/OxyContext.js +103 -45
  117. package/lib/module/ui/context/OxyContext.js.map +1 -1
  118. package/lib/module/ui/hooks/useFollow.types.js +2 -0
  119. package/lib/module/ui/hooks/useFollow.types.js.map +1 -0
  120. package/lib/module/ui/navigation/OxyRouter.js +10 -0
  121. package/lib/module/ui/navigation/OxyRouter.js.map +1 -1
  122. package/lib/module/ui/screens/AccountCenterScreen.js +12 -1
  123. package/lib/module/ui/screens/AccountCenterScreen.js.map +1 -1
  124. package/lib/module/ui/screens/AccountOverviewScreen.js +3 -3
  125. package/lib/module/ui/screens/AccountOverviewScreen.js.map +1 -1
  126. package/lib/module/ui/screens/AccountSettingsScreen.js +64 -15
  127. package/lib/module/ui/screens/AccountSettingsScreen.js.map +1 -1
  128. package/lib/module/ui/screens/AccountSwitcherScreen.js +4 -4
  129. package/lib/module/ui/screens/AccountSwitcherScreen.js.map +1 -1
  130. package/lib/module/ui/screens/FeedbackScreen.js +72 -75
  131. package/lib/module/ui/screens/FeedbackScreen.js.map +1 -1
  132. package/lib/module/ui/screens/FileManagementScreen.js +285 -125
  133. package/lib/module/ui/screens/FileManagementScreen.js.map +1 -1
  134. package/lib/module/ui/screens/LanguageSelectorScreen.js +319 -0
  135. package/lib/module/ui/screens/LanguageSelectorScreen.js.map +1 -0
  136. package/lib/module/ui/screens/ProfileScreen.js +56 -56
  137. package/lib/module/ui/screens/ProfileScreen.js.map +1 -1
  138. package/lib/module/ui/screens/RecoverAccountScreen.js +91 -222
  139. package/lib/module/ui/screens/RecoverAccountScreen.js.map +1 -1
  140. package/lib/module/ui/screens/SessionManagementScreen.js +177 -175
  141. package/lib/module/ui/screens/SessionManagementScreen.js.map +1 -1
  142. package/lib/module/ui/screens/SignInScreen.js +140 -246
  143. package/lib/module/ui/screens/SignInScreen.js.map +1 -1
  144. package/lib/module/ui/screens/SignUpScreen.js +145 -745
  145. package/lib/module/ui/screens/SignUpScreen.js.map +1 -1
  146. package/lib/module/ui/screens/WelcomeNewUserScreen.js +382 -0
  147. package/lib/module/ui/screens/WelcomeNewUserScreen.js.map +1 -0
  148. package/lib/module/ui/screens/internal/SignInPasswordStep.js +23 -14
  149. package/lib/module/ui/screens/internal/SignInPasswordStep.js.map +1 -1
  150. package/lib/module/ui/screens/internal/SignInUsernameStep.js +15 -9
  151. package/lib/module/ui/screens/internal/SignInUsernameStep.js.map +1 -1
  152. package/lib/module/ui/screens/karma/KarmaCenterScreen.js +1 -1
  153. package/lib/module/ui/screens/karma/KarmaCenterScreen.js.map +1 -1
  154. package/lib/module/ui/screens/steps/RecoverRequestStep.js +105 -0
  155. package/lib/module/ui/screens/steps/RecoverRequestStep.js.map +1 -0
  156. package/lib/module/ui/screens/steps/RecoverSuccessStep.js +133 -0
  157. package/lib/module/ui/screens/steps/RecoverSuccessStep.js.map +1 -0
  158. package/lib/module/ui/screens/steps/RecoverVerifyStep.js +136 -0
  159. package/lib/module/ui/screens/steps/RecoverVerifyStep.js.map +1 -0
  160. package/lib/module/ui/screens/steps/SignInPasswordStep.js +160 -0
  161. package/lib/module/ui/screens/steps/SignInPasswordStep.js.map +1 -0
  162. package/lib/module/ui/screens/steps/SignInUsernameStep.js +145 -0
  163. package/lib/module/ui/screens/steps/SignInUsernameStep.js.map +1 -0
  164. package/lib/module/ui/screens/steps/SignUpIdentityStep.js +166 -0
  165. package/lib/module/ui/screens/steps/SignUpIdentityStep.js.map +1 -0
  166. package/lib/module/ui/screens/steps/SignUpSecurityStep.js +158 -0
  167. package/lib/module/ui/screens/steps/SignUpSecurityStep.js.map +1 -0
  168. package/lib/module/ui/screens/steps/SignUpSummaryStep.js +165 -0
  169. package/lib/module/ui/screens/steps/SignUpSummaryStep.js.map +1 -0
  170. package/lib/module/ui/screens/steps/SignUpWelcomeStep.js +67 -0
  171. package/lib/module/ui/screens/steps/SignUpWelcomeStep.js.map +1 -0
  172. package/lib/module/ui/styles/authStyles.js +1 -1
  173. package/lib/module/ui/styles/authStyles.js.map +1 -1
  174. package/lib/typescript/models/interfaces.d.ts +5 -8
  175. package/lib/typescript/models/interfaces.d.ts.map +1 -1
  176. package/lib/typescript/models/session.d.ts +1 -4
  177. package/lib/typescript/models/session.d.ts.map +1 -1
  178. package/lib/typescript/ui/components/AnimationExample.d.ts +4 -0
  179. package/lib/typescript/ui/components/AnimationExample.d.ts.map +1 -0
  180. package/lib/typescript/ui/components/FollowButton.d.ts.map +1 -1
  181. package/lib/typescript/ui/components/GroupedItem.d.ts.map +1 -1
  182. package/lib/typescript/ui/components/Header.d.ts +9 -0
  183. package/lib/typescript/ui/components/Header.d.ts.map +1 -1
  184. package/lib/typescript/ui/components/OxyPayButton.d.ts +2 -2
  185. package/lib/typescript/ui/components/OxyPayButton.d.ts.map +1 -1
  186. package/lib/typescript/ui/components/OxyProvider.d.ts.map +1 -1
  187. package/lib/typescript/ui/components/ProfileCard.d.ts +1 -3
  188. package/lib/typescript/ui/components/ProfileCard.d.ts.map +1 -1
  189. package/lib/typescript/ui/components/Section.d.ts +2 -1
  190. package/lib/typescript/ui/components/Section.d.ts.map +1 -1
  191. package/lib/typescript/ui/components/SectionTitle.d.ts +2 -1
  192. package/lib/typescript/ui/components/SectionTitle.d.ts.map +1 -1
  193. package/lib/typescript/ui/components/StepBasedScreen.d.ts +24 -0
  194. package/lib/typescript/ui/components/StepBasedScreen.d.ts.map +1 -0
  195. package/lib/typescript/ui/components/icon/FAIRWalletIcon.d.ts +2 -1
  196. package/lib/typescript/ui/components/icon/FAIRWalletIcon.d.ts.map +1 -1
  197. package/lib/typescript/ui/components/icon/OxyIcon.d.ts +1 -1
  198. package/lib/typescript/ui/components/icon/OxyIcon.d.ts.map +1 -1
  199. package/lib/typescript/ui/components/index.d.ts +0 -1
  200. package/lib/typescript/ui/components/index.d.ts.map +1 -1
  201. package/lib/typescript/ui/components/internal/PinInput.d.ts +9 -1
  202. package/lib/typescript/ui/components/internal/PinInput.d.ts.map +1 -1
  203. package/lib/typescript/ui/components/internal/TextField.d.ts.map +1 -1
  204. package/lib/typescript/ui/components/photogrid/JustifiedPhotoGrid.d.ts +27 -0
  205. package/lib/typescript/ui/components/photogrid/JustifiedPhotoGrid.d.ts.map +1 -0
  206. package/lib/typescript/ui/context/OxyContext.d.ts +8 -3
  207. package/lib/typescript/ui/context/OxyContext.d.ts.map +1 -1
  208. package/lib/typescript/ui/hooks/useFollow.types.d.ts +33 -0
  209. package/lib/typescript/ui/hooks/useFollow.types.d.ts.map +1 -0
  210. package/lib/typescript/ui/navigation/OxyRouter.d.ts.map +1 -1
  211. package/lib/typescript/ui/navigation/types.d.ts +5 -0
  212. package/lib/typescript/ui/navigation/types.d.ts.map +1 -1
  213. package/lib/typescript/ui/screens/AccountCenterScreen.d.ts.map +1 -1
  214. package/lib/typescript/ui/screens/AccountSettingsScreen.d.ts.map +1 -1
  215. package/lib/typescript/ui/screens/FeedbackScreen.d.ts.map +1 -1
  216. package/lib/typescript/ui/screens/FileManagementScreen.d.ts +18 -1
  217. package/lib/typescript/ui/screens/FileManagementScreen.d.ts.map +1 -1
  218. package/lib/typescript/ui/screens/LanguageSelectorScreen.d.ts +7 -0
  219. package/lib/typescript/ui/screens/LanguageSelectorScreen.d.ts.map +1 -0
  220. package/lib/typescript/ui/screens/PaymentGatewayScreen.d.ts +2 -2
  221. package/lib/typescript/ui/screens/PaymentGatewayScreen.d.ts.map +1 -1
  222. package/lib/typescript/ui/screens/ProfileScreen.d.ts.map +1 -1
  223. package/lib/typescript/ui/screens/RecoverAccountScreen.d.ts +2 -9
  224. package/lib/typescript/ui/screens/RecoverAccountScreen.d.ts.map +1 -1
  225. package/lib/typescript/ui/screens/SessionManagementScreen.d.ts.map +1 -1
  226. package/lib/typescript/ui/screens/SignInScreen.d.ts.map +1 -1
  227. package/lib/typescript/ui/screens/SignUpScreen.d.ts +1 -1
  228. package/lib/typescript/ui/screens/SignUpScreen.d.ts.map +1 -1
  229. package/lib/typescript/ui/screens/WelcomeNewUserScreen.d.ts +13 -0
  230. package/lib/typescript/ui/screens/WelcomeNewUserScreen.d.ts.map +1 -0
  231. package/lib/typescript/ui/screens/internal/SignInPasswordStep.d.ts +5 -5
  232. package/lib/typescript/ui/screens/internal/SignInPasswordStep.d.ts.map +1 -1
  233. package/lib/typescript/ui/screens/internal/SignInUsernameStep.d.ts +4 -4
  234. package/lib/typescript/ui/screens/internal/SignInUsernameStep.d.ts.map +1 -1
  235. package/lib/typescript/ui/screens/steps/RecoverRequestStep.d.ts +21 -0
  236. package/lib/typescript/ui/screens/steps/RecoverRequestStep.d.ts.map +1 -0
  237. package/lib/typescript/ui/screens/steps/RecoverSuccessStep.d.ts +18 -0
  238. package/lib/typescript/ui/screens/steps/RecoverSuccessStep.d.ts.map +1 -0
  239. package/lib/typescript/ui/screens/steps/RecoverVerifyStep.d.ts +24 -0
  240. package/lib/typescript/ui/screens/steps/RecoverVerifyStep.d.ts.map +1 -0
  241. package/lib/typescript/ui/screens/steps/SignInPasswordStep.d.ts +27 -0
  242. package/lib/typescript/ui/screens/steps/SignInPasswordStep.d.ts.map +1 -0
  243. package/lib/typescript/ui/screens/steps/SignInUsernameStep.d.ts +27 -0
  244. package/lib/typescript/ui/screens/steps/SignInUsernameStep.d.ts.map +1 -0
  245. package/lib/typescript/ui/screens/steps/SignUpIdentityStep.d.ts +25 -0
  246. package/lib/typescript/ui/screens/steps/SignUpIdentityStep.d.ts.map +1 -0
  247. package/lib/typescript/ui/screens/steps/SignUpSecurityStep.d.ts +26 -0
  248. package/lib/typescript/ui/screens/steps/SignUpSecurityStep.d.ts.map +1 -0
  249. package/lib/typescript/ui/screens/steps/SignUpSummaryStep.d.ts +16 -0
  250. package/lib/typescript/ui/screens/steps/SignUpSummaryStep.d.ts.map +1 -0
  251. package/lib/typescript/ui/screens/steps/SignUpWelcomeStep.d.ts +13 -0
  252. package/lib/typescript/ui/screens/steps/SignUpWelcomeStep.d.ts.map +1 -0
  253. package/lib/typescript/ui/styles/authStyles.d.ts +1 -1
  254. package/package.json +10 -3
  255. package/src/models/interfaces.ts +7 -8
  256. package/src/models/session.ts +1 -4
  257. package/src/ui/components/AnimationExample.tsx +195 -0
  258. package/src/ui/components/FollowButton.tsx +65 -45
  259. package/src/ui/components/GroupedItem.tsx +1 -0
  260. package/src/ui/components/GroupedSection.tsx +1 -1
  261. package/src/ui/components/Header.tsx +37 -13
  262. package/src/ui/components/OxyPayButton.tsx +2 -2
  263. package/src/ui/components/OxyProvider.tsx +67 -33
  264. package/src/ui/components/ProfileCard.tsx +6 -8
  265. package/src/ui/components/Section.tsx +7 -7
  266. package/src/ui/components/SectionTitle.tsx +2 -2
  267. package/src/ui/components/StepBasedScreen.README.md +337 -0
  268. package/src/ui/components/StepBasedScreen.tsx +417 -0
  269. package/src/ui/components/icon/FAIRWalletIcon.tsx +2 -2
  270. package/src/ui/components/icon/OxyIcon.tsx +10 -11
  271. package/src/ui/components/index.ts +0 -1
  272. package/src/ui/components/internal/PinInput.tsx +13 -4
  273. package/src/ui/components/internal/TextField.tsx +12 -6
  274. package/src/ui/components/photogrid/JustifiedPhotoGrid.tsx +158 -0
  275. package/src/ui/context/OxyContext.tsx +90 -59
  276. package/src/ui/hooks/useFollow.types.ts +33 -0
  277. package/src/ui/navigation/OxyRouter.tsx +10 -0
  278. package/src/ui/navigation/types.ts +6 -0
  279. package/src/ui/screens/AccountCenterScreen.tsx +13 -7
  280. package/src/ui/screens/AccountOverviewScreen.tsx +3 -3
  281. package/src/ui/screens/AccountSettingsScreen.tsx +65 -13
  282. package/src/ui/screens/AccountSwitcherScreen.tsx +4 -4
  283. package/src/ui/screens/FeedbackScreen.tsx +57 -80
  284. package/src/ui/screens/FileManagementScreen.tsx +278 -175
  285. package/src/ui/screens/LanguageSelectorScreen.tsx +322 -0
  286. package/src/ui/screens/PaymentGatewayScreen.tsx +2 -2
  287. package/src/ui/screens/ProfileScreen.tsx +60 -55
  288. package/src/ui/screens/RecoverAccountScreen.tsx +98 -211
  289. package/src/ui/screens/SessionManagementScreen.tsx +148 -151
  290. package/src/ui/screens/SignInScreen.tsx +148 -290
  291. package/src/ui/screens/SignUpScreen.tsx +147 -751
  292. package/src/ui/screens/WelcomeNewUserScreen.tsx +272 -0
  293. package/src/ui/screens/internal/SignInPasswordStep.tsx +28 -13
  294. package/src/ui/screens/internal/SignInUsernameStep.tsx +21 -11
  295. package/src/ui/screens/karma/KarmaCenterScreen.tsx +1 -1
  296. package/src/ui/screens/steps/RecoverRequestStep.tsx +130 -0
  297. package/src/ui/screens/steps/RecoverSuccessStep.tsx +131 -0
  298. package/src/ui/screens/steps/RecoverVerifyStep.tsx +153 -0
  299. package/src/ui/screens/steps/SignInPasswordStep.tsx +172 -0
  300. package/src/ui/screens/steps/SignInUsernameStep.tsx +176 -0
  301. package/src/ui/screens/steps/SignUpIdentityStep.tsx +204 -0
  302. package/src/ui/screens/steps/SignUpSecurityStep.tsx +191 -0
  303. package/src/ui/screens/steps/SignUpSummaryStep.tsx +130 -0
  304. package/src/ui/screens/steps/SignUpWelcomeStep.tsx +65 -0
  305. package/src/ui/styles/authStyles.ts +1 -1
@@ -0,0 +1,191 @@
1
+ import type React from 'react';
2
+ import { useRef, useState } from 'react';
3
+ import { View, Text, TouchableOpacity } 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
+
8
+ interface SignUpSecurityStepProps {
9
+ // Common props from StepBasedScreen
10
+ colors: any;
11
+ styles: any;
12
+ theme: string;
13
+ navigate: (screen: string, props?: Record<string, any>) => void;
14
+
15
+ // Step navigation
16
+ nextStep: () => void;
17
+ prevStep: () => void;
18
+ currentStep: number;
19
+ totalSteps: number;
20
+
21
+ // Data management
22
+ stepData?: any;
23
+ updateStepData: (data: any) => void;
24
+
25
+ // Form state
26
+ password: string;
27
+ confirmPassword: string;
28
+ setPassword: (password: string) => void;
29
+ setConfirmPassword: (confirmPassword: string) => void;
30
+ showPassword: boolean;
31
+ showConfirmPassword: boolean;
32
+ setShowPassword: (show: boolean) => void;
33
+ setShowConfirmPassword: (show: boolean) => void;
34
+ setErrorMessage: (message: string) => void;
35
+
36
+ // Validation
37
+ validatePassword: (password: string) => boolean;
38
+ }
39
+
40
+ const SignUpSecurityStep: React.FC<SignUpSecurityStepProps> = ({
41
+ colors,
42
+ styles,
43
+ nextStep,
44
+ prevStep,
45
+ password,
46
+ confirmPassword,
47
+ setPassword,
48
+ setConfirmPassword,
49
+ showPassword,
50
+ showConfirmPassword,
51
+ setShowPassword,
52
+ setShowConfirmPassword,
53
+ setErrorMessage,
54
+ validatePassword,
55
+ }) => {
56
+ const passwordRef = useRef<any>(null);
57
+
58
+ const handlePasswordChange = (text: string) => {
59
+ setPassword(text);
60
+ setErrorMessage('');
61
+ };
62
+
63
+ const handleConfirmPasswordChange = (text: string) => {
64
+ setConfirmPassword(text);
65
+ setErrorMessage('');
66
+ };
67
+
68
+ const handleNext = () => {
69
+ if (!password) {
70
+ setErrorMessage('Please enter a password');
71
+ setTimeout(() => passwordRef.current?.focus(), 0);
72
+ return;
73
+ }
74
+
75
+ if (!validatePassword(password)) {
76
+ setErrorMessage('Password must be at least 8 characters long');
77
+ return;
78
+ }
79
+
80
+ if (!confirmPassword) {
81
+ setErrorMessage('Please confirm your password');
82
+ return;
83
+ }
84
+
85
+ if (password !== confirmPassword) {
86
+ setErrorMessage('Passwords do not match');
87
+ return;
88
+ }
89
+
90
+ nextStep();
91
+ };
92
+
93
+ const passwordError = password && !validatePassword(password) ? 'Password must be at least 8 characters long' : undefined;
94
+ const confirmPasswordError = confirmPassword && password !== confirmPassword ? 'Passwords do not match' : undefined;
95
+
96
+ return (
97
+ <>
98
+ <View style={styles.modernHeader}>
99
+ <Text style={[styles.modernTitle, { color: colors.text }]}>
100
+ Secure Your Account
101
+ </Text>
102
+ <Text style={[styles.modernSubtitle, { color: colors.secondaryText }]}>
103
+ Create a strong password to protect your account
104
+ </Text>
105
+ </View>
106
+
107
+ <View style={styles.modernInputContainer}>
108
+ <TextField
109
+ ref={passwordRef}
110
+ label="Password"
111
+ leading={<Ionicons name="lock-closed-outline" size={24} color={colors.secondaryText} />}
112
+ trailing={
113
+ <TouchableOpacity
114
+ onPress={() => setShowPassword(!showPassword)}
115
+ style={{ padding: 4 }}
116
+ >
117
+ <Ionicons
118
+ name={showPassword ? "eye-off-outline" : "eye-outline"}
119
+ size={20}
120
+ color={colors.secondaryText}
121
+ />
122
+ </TouchableOpacity>
123
+ }
124
+ value={password}
125
+ onChangeText={handlePasswordChange}
126
+ secureTextEntry={!showPassword}
127
+ autoCapitalize="none"
128
+ autoCorrect={false}
129
+ testID="signup-password-input"
130
+ variant="filled"
131
+ error={passwordError}
132
+ onSubmitEditing={handleNext}
133
+ autoFocus
134
+ />
135
+
136
+ <TextField
137
+ label="Confirm Password"
138
+ leading={<Ionicons name="lock-closed-outline" size={24} color={colors.secondaryText} />}
139
+ trailing={
140
+ <TouchableOpacity
141
+ onPress={() => setShowConfirmPassword(!showConfirmPassword)}
142
+ style={{ padding: 4 }}
143
+ >
144
+ <Ionicons
145
+ name={showConfirmPassword ? "eye-off-outline" : "eye-outline"}
146
+ size={20}
147
+ color={colors.secondaryText}
148
+ />
149
+ </TouchableOpacity>
150
+ }
151
+ value={confirmPassword}
152
+ onChangeText={handleConfirmPasswordChange}
153
+ secureTextEntry={!showConfirmPassword}
154
+ autoCapitalize="none"
155
+ autoCorrect={false}
156
+ testID="signup-confirm-password-input"
157
+ variant="filled"
158
+ error={confirmPasswordError}
159
+ onSubmitEditing={handleNext}
160
+ />
161
+
162
+ <View style={{ marginTop: 16 }}>
163
+ <Text style={[styles.footerText, { color: colors.secondaryText, fontSize: 12 }]}>
164
+ Password must be at least 8 characters long
165
+ </Text>
166
+ </View>
167
+ </View>
168
+
169
+ <GroupedPillButtons
170
+ buttons={[
171
+ {
172
+ text: 'Back',
173
+ onPress: prevStep,
174
+ icon: 'arrow-back',
175
+ variant: 'transparent',
176
+ },
177
+ {
178
+ text: 'Next',
179
+ onPress: handleNext,
180
+ icon: 'arrow-forward',
181
+ variant: 'primary',
182
+ disabled: !password || !confirmPassword || password !== confirmPassword,
183
+ },
184
+ ]}
185
+ colors={colors}
186
+ />
187
+ </>
188
+ );
189
+ };
190
+
191
+ export default SignUpSecurityStep;
@@ -0,0 +1,130 @@
1
+ import type React from 'react';
2
+ import { View, Text } from 'react-native';
3
+ import { Ionicons } from '@expo/vector-icons';
4
+ import GroupedPillButtons from '../../components/internal/GroupedPillButtons';
5
+
6
+ interface SignUpSummaryStepProps {
7
+ // Common props from StepBasedScreen
8
+ colors: any;
9
+ styles: any;
10
+ theme: string;
11
+ navigate: (screen: string, props?: Record<string, any>) => void;
12
+
13
+ // Step navigation
14
+ nextStep: () => void;
15
+ prevStep: () => void;
16
+ currentStep: number;
17
+ totalSteps: number;
18
+
19
+ // Data management
20
+ allStepData: any[];
21
+
22
+ // Form state
23
+ isLoading: boolean;
24
+ }
25
+
26
+ const SignUpSummaryStep: React.FC<SignUpSummaryStepProps> = ({
27
+ colors,
28
+ styles,
29
+ nextStep,
30
+ prevStep,
31
+ allStepData,
32
+ isLoading,
33
+ }) => {
34
+ // Extract data from previous steps
35
+ const identityData = allStepData[1] || {}; // Step 2 (index 1)
36
+ const securityData = allStepData[2] || {}; // Step 3 (index 2)
37
+
38
+ const { username = '', email = '' } = identityData;
39
+ const { password = '' } = securityData;
40
+
41
+ // Check if all required data is available
42
+ const hasValidData = username && email && password;
43
+
44
+
45
+
46
+ return (
47
+ <>
48
+ <View style={styles.modernHeader}>
49
+ <Text style={[styles.modernTitle, { color: colors.text }]}>
50
+ Almost There!
51
+ </Text>
52
+ <Text style={[styles.modernSubtitle, { color: colors.secondaryText }]}>
53
+ Review your information and create your account
54
+ </Text>
55
+ </View>
56
+
57
+ <View style={[styles.modernInputContainer, { marginBottom: 32 }]}>
58
+ <View style={{
59
+ backgroundColor: colors.inputBackground,
60
+ borderRadius: 16,
61
+ padding: 20,
62
+ borderWidth: 1,
63
+ borderColor: colors.border,
64
+ }}>
65
+ <View style={{ flexDirection: 'row', alignItems: 'center', marginBottom: 16 }}>
66
+ <Ionicons name="person-outline" size={20} color={colors.secondaryText} style={{ marginRight: 12 }} />
67
+ <View style={{ flex: 1 }}>
68
+ <Text style={[styles.footerText, { color: colors.secondaryText, fontSize: 12, marginBottom: 4 }]}>
69
+ Username
70
+ </Text>
71
+ <Text style={[styles.modernInput, { color: colors.text, fontSize: 16 }]}>
72
+ @{username || 'Not set'}
73
+ </Text>
74
+ </View>
75
+ </View>
76
+
77
+ <View style={{ flexDirection: 'row', alignItems: 'center' }}>
78
+ <Ionicons name="mail-outline" size={20} color={colors.secondaryText} style={{ marginRight: 12 }} />
79
+ <View style={{ flex: 1 }}>
80
+ <Text style={[styles.footerText, { color: colors.secondaryText, fontSize: 12, marginBottom: 4 }]}>
81
+ Email
82
+ </Text>
83
+ <Text style={[styles.modernInput, { color: colors.text, fontSize: 16 }]}>
84
+ {email || 'Not set'}
85
+ </Text>
86
+ </View>
87
+ </View>
88
+ </View>
89
+
90
+ <View style={{
91
+ flexDirection: 'row',
92
+ alignItems: 'center',
93
+ marginTop: 16,
94
+ padding: 12,
95
+ backgroundColor: colors.success + '10',
96
+ borderRadius: 8,
97
+ borderWidth: 1,
98
+ borderColor: colors.success + '30',
99
+ }}>
100
+ <Ionicons name="checkmark-circle" size={20} color={colors.success} style={{ marginRight: 8 }} />
101
+ <Text style={[styles.footerText, { color: colors.success, fontSize: 14, flex: 1 }]}>
102
+ By creating an account, you agree to our Terms of Service and Privacy Policy
103
+ </Text>
104
+ </View>
105
+ </View>
106
+
107
+ <GroupedPillButtons
108
+ buttons={[
109
+ {
110
+ text: 'Back',
111
+ onPress: prevStep,
112
+ icon: 'arrow-back',
113
+ variant: 'transparent',
114
+ },
115
+ {
116
+ text: 'Create Account',
117
+ onPress: nextStep,
118
+ icon: 'checkmark-circle',
119
+ variant: 'primary',
120
+ loading: isLoading,
121
+ disabled: !hasValidData,
122
+ },
123
+ ]}
124
+ colors={colors}
125
+ />
126
+ </>
127
+ );
128
+ };
129
+
130
+ export default SignUpSummaryStep;
@@ -0,0 +1,65 @@
1
+ import type React from 'react';
2
+ import { View, Text, TouchableOpacity } from 'react-native';
3
+ import { Ionicons } from '@expo/vector-icons';
4
+ import HighFive from '../../../assets/illustrations/HighFive';
5
+
6
+ interface SignUpWelcomeStepProps {
7
+ // Common props from StepBasedScreen
8
+ colors: any;
9
+ styles: any;
10
+ theme: string;
11
+ navigate: (screen: string, props?: Record<string, any>) => void;
12
+
13
+ // Step navigation
14
+ nextStep: () => void;
15
+ currentStep: number;
16
+ totalSteps: number;
17
+ }
18
+
19
+ const SignUpWelcomeStep: React.FC<SignUpWelcomeStepProps> = ({
20
+ colors,
21
+ styles,
22
+ navigate,
23
+ nextStep,
24
+ }) => {
25
+ return (
26
+ <>
27
+ <HighFive width={120} height={120} />
28
+ <View style={styles.modernHeader}>
29
+ <Text style={[styles.modernTitle, { color: colors.text }]}>
30
+ Welcome to Oxy!
31
+ </Text>
32
+ <Text style={[styles.modernSubtitle, { color: colors.secondaryText }]}>
33
+ Let's create your account in just a few steps
34
+ </Text>
35
+ </View>
36
+
37
+ <View style={styles.modernInputContainer}>
38
+ <TouchableOpacity
39
+ style={[styles.button, { backgroundColor: colors.primary }]}
40
+ onPress={nextStep}
41
+ testID="get-started-button"
42
+ >
43
+ <Ionicons name="rocket-outline" size={20} color={colors.background} />
44
+ <Text style={[styles.buttonText, { color: colors.background }]}>
45
+ Get Started
46
+ </Text>
47
+ </TouchableOpacity>
48
+
49
+ <TouchableOpacity
50
+ style={[styles.footerTextContainer]}
51
+ onPress={() => navigate('SignIn')}
52
+ >
53
+ <Text style={[styles.footerText, { color: colors.secondaryText }]}>
54
+ Already have an account?{' '}
55
+ <Text style={[styles.linkText, { color: colors.primary }]}>
56
+ Sign In
57
+ </Text>
58
+ </Text>
59
+ </TouchableOpacity>
60
+ </View>
61
+ </>
62
+ );
63
+ };
64
+
65
+ export default SignUpWelcomeStep;
@@ -260,7 +260,7 @@ export const createAuthStyles = (colors: AuthThemeColors, theme: string) => Styl
260
260
  fontWeight: Platform.OS === 'web' ? 'bold' : undefined,
261
261
  fontSize: 42,
262
262
  marginBottom: 4,
263
- textAlign: 'center',
263
+ textAlign: 'left',
264
264
  letterSpacing: -0.5,
265
265
  },
266
266
  modernUsernameSubtext: {