@oxyhq/services 5.5.9 → 5.6.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 (393) hide show
  1. package/README.md +16 -2
  2. package/lib/commonjs/core/index.js +69 -82
  3. package/lib/commonjs/core/index.js.map +1 -1
  4. package/lib/commonjs/index.js +24 -183
  5. package/lib/commonjs/index.js.map +1 -1
  6. package/lib/commonjs/node/index.js +0 -2
  7. package/lib/commonjs/node/index.js.map +1 -1
  8. package/lib/commonjs/ui/components/FollowButton.js +100 -229
  9. package/lib/commonjs/ui/components/FollowButton.js.map +1 -1
  10. package/lib/commonjs/ui/components/OxyPayButton.js +131 -0
  11. package/lib/commonjs/ui/components/OxyPayButton.js.map +1 -0
  12. package/lib/commonjs/ui/components/OxyProvider.js +41 -198
  13. package/lib/commonjs/ui/components/OxyProvider.js.map +1 -1
  14. package/lib/commonjs/ui/components/OxySignInButton.js +15 -2
  15. package/lib/commonjs/ui/components/OxySignInButton.js.map +1 -1
  16. package/lib/commonjs/ui/components/icon/FAIRWalletIcon.js +66 -0
  17. package/lib/commonjs/ui/components/icon/FAIRWalletIcon.js.map +1 -0
  18. package/lib/commonjs/ui/components/icon/index.js +7 -0
  19. package/lib/commonjs/ui/components/icon/index.js.map +1 -1
  20. package/lib/commonjs/ui/components/index.js +7 -0
  21. package/lib/commonjs/ui/components/index.js.map +1 -1
  22. package/lib/commonjs/ui/components/internal/GroupedPillButtons.js +14 -7
  23. package/lib/commonjs/ui/components/internal/GroupedPillButtons.js.map +1 -1
  24. package/lib/commonjs/ui/components/internal/PinInput.js +108 -0
  25. package/lib/commonjs/ui/components/internal/PinInput.js.map +1 -0
  26. package/lib/commonjs/ui/components/internal/TextField.js +20 -0
  27. package/lib/commonjs/ui/components/internal/TextField.js.map +1 -1
  28. package/lib/commonjs/ui/context/OxyContext.js +26 -36
  29. package/lib/commonjs/ui/context/OxyContext.js.map +1 -1
  30. package/lib/commonjs/ui/hooks/index.js +2 -15
  31. package/lib/commonjs/ui/hooks/index.js.map +1 -1
  32. package/lib/commonjs/ui/hooks/useFollow.js +52 -136
  33. package/lib/commonjs/ui/hooks/useFollow.js.map +1 -1
  34. package/lib/commonjs/ui/hooks/useSessionSocket.js +52 -0
  35. package/lib/commonjs/ui/hooks/useSessionSocket.js.map +1 -0
  36. package/lib/commonjs/ui/index.js +8 -191
  37. package/lib/commonjs/ui/index.js.map +1 -1
  38. package/lib/commonjs/ui/navigation/OxyRouter.js +52 -60
  39. package/lib/commonjs/ui/navigation/OxyRouter.js.map +1 -1
  40. package/lib/commonjs/ui/screens/AccountCenterScreen.js +18 -30
  41. package/lib/commonjs/ui/screens/AccountCenterScreen.js.map +1 -1
  42. package/lib/commonjs/ui/screens/AccountOverviewScreen.js +4 -22
  43. package/lib/commonjs/ui/screens/AccountOverviewScreen.js.map +1 -1
  44. package/lib/commonjs/ui/screens/AccountSettingsScreen.js +6 -14
  45. package/lib/commonjs/ui/screens/AccountSettingsScreen.js.map +1 -1
  46. package/lib/commonjs/ui/screens/AccountSwitcherScreen.js +37 -66
  47. package/lib/commonjs/ui/screens/AccountSwitcherScreen.js.map +1 -1
  48. package/lib/commonjs/ui/screens/AppInfoScreen.js +21 -44
  49. package/lib/commonjs/ui/screens/AppInfoScreen.js.map +1 -1
  50. package/lib/commonjs/ui/screens/FeedbackScreen.js +44 -23
  51. package/lib/commonjs/ui/screens/FeedbackScreen.js.map +1 -1
  52. package/lib/commonjs/ui/screens/FileManagementScreen.js +59 -78
  53. package/lib/commonjs/ui/screens/FileManagementScreen.js.map +1 -1
  54. package/lib/commonjs/ui/screens/PaymentGatewayScreen.js +1588 -0
  55. package/lib/commonjs/ui/screens/PaymentGatewayScreen.js.map +1 -0
  56. package/lib/commonjs/ui/screens/PremiumSubscriptionScreen.js +22 -36
  57. package/lib/commonjs/ui/screens/PremiumSubscriptionScreen.js.map +1 -1
  58. package/lib/commonjs/ui/screens/RecoverAccountScreen.js +269 -0
  59. package/lib/commonjs/ui/screens/RecoverAccountScreen.js.map +1 -0
  60. package/lib/commonjs/ui/screens/SessionManagementScreen.js +47 -69
  61. package/lib/commonjs/ui/screens/SessionManagementScreen.js.map +1 -1
  62. package/lib/commonjs/ui/screens/SignInScreen.js +99 -333
  63. package/lib/commonjs/ui/screens/SignInScreen.js.map +1 -1
  64. package/lib/commonjs/ui/screens/SignUpScreen.js +136 -340
  65. package/lib/commonjs/ui/screens/SignUpScreen.js.map +1 -1
  66. package/lib/commonjs/ui/screens/internal/SignInPasswordStep.js +192 -0
  67. package/lib/commonjs/ui/screens/internal/SignInPasswordStep.js.map +1 -0
  68. package/lib/commonjs/ui/screens/internal/SignInUsernameStep.js +135 -0
  69. package/lib/commonjs/ui/screens/internal/SignInUsernameStep.js.map +1 -0
  70. package/lib/commonjs/ui/screens/internal/SignUpIdentityStep.js +108 -0
  71. package/lib/commonjs/ui/screens/internal/SignUpIdentityStep.js.map +1 -0
  72. package/lib/commonjs/ui/screens/internal/SignUpSecurityStep.js +126 -0
  73. package/lib/commonjs/ui/screens/internal/SignUpSecurityStep.js.map +1 -0
  74. package/lib/commonjs/ui/screens/internal/SignUpSummaryStep.js +84 -0
  75. package/lib/commonjs/ui/screens/internal/SignUpSummaryStep.js.map +1 -0
  76. package/lib/commonjs/ui/screens/internal/SignUpWelcomeStep.js +59 -0
  77. package/lib/commonjs/ui/screens/internal/SignUpWelcomeStep.js.map +1 -0
  78. package/lib/commonjs/ui/screens/karma/KarmaRewardsScreen.js +15 -2
  79. package/lib/commonjs/ui/screens/karma/KarmaRewardsScreen.js.map +1 -1
  80. package/lib/commonjs/ui/stores/authStore.js +31 -0
  81. package/lib/commonjs/ui/stores/authStore.js.map +1 -0
  82. package/lib/commonjs/ui/stores/followStore.js +124 -0
  83. package/lib/commonjs/ui/stores/followStore.js.map +1 -0
  84. package/lib/commonjs/ui/styles/index.js +0 -11
  85. package/lib/commonjs/ui/styles/index.js.map +1 -1
  86. package/lib/commonjs/ui/utils/confirmAction.js +28 -0
  87. package/lib/commonjs/ui/utils/confirmAction.js.map +1 -0
  88. package/lib/module/core/index.js +69 -81
  89. package/lib/module/core/index.js.map +1 -1
  90. package/lib/module/index.js +14 -17
  91. package/lib/module/index.js.map +1 -1
  92. package/lib/module/node/index.js +0 -3
  93. package/lib/module/node/index.js.map +1 -1
  94. package/lib/module/ui/components/FollowButton.js +100 -229
  95. package/lib/module/ui/components/FollowButton.js.map +1 -1
  96. package/lib/module/ui/components/OxyPayButton.js +125 -0
  97. package/lib/module/ui/components/OxyPayButton.js.map +1 -0
  98. package/lib/module/ui/components/OxyProvider.js +42 -199
  99. package/lib/module/ui/components/OxyProvider.js.map +1 -1
  100. package/lib/module/ui/components/OxySignInButton.js +15 -2
  101. package/lib/module/ui/components/OxySignInButton.js.map +1 -1
  102. package/lib/module/ui/components/icon/FAIRWalletIcon.js +60 -0
  103. package/lib/module/ui/components/icon/FAIRWalletIcon.js.map +1 -0
  104. package/lib/module/ui/components/icon/index.js +1 -0
  105. package/lib/module/ui/components/icon/index.js.map +1 -1
  106. package/lib/module/ui/components/index.js +1 -0
  107. package/lib/module/ui/components/index.js.map +1 -1
  108. package/lib/module/ui/components/internal/GroupedPillButtons.js +15 -8
  109. package/lib/module/ui/components/internal/GroupedPillButtons.js.map +1 -1
  110. package/lib/module/ui/components/internal/PinInput.js +103 -0
  111. package/lib/module/ui/components/internal/PinInput.js.map +1 -0
  112. package/lib/module/ui/components/internal/TextField.js +20 -0
  113. package/lib/module/ui/components/internal/TextField.js.map +1 -1
  114. package/lib/module/ui/context/OxyContext.js +26 -36
  115. package/lib/module/ui/context/OxyContext.js.map +1 -1
  116. package/lib/module/ui/hooks/index.js +1 -2
  117. package/lib/module/ui/hooks/index.js.map +1 -1
  118. package/lib/module/ui/hooks/useFollow.js +52 -137
  119. package/lib/module/ui/hooks/useFollow.js.map +1 -1
  120. package/lib/module/ui/hooks/useSessionSocket.js +47 -0
  121. package/lib/module/ui/hooks/useSessionSocket.js.map +1 -0
  122. package/lib/module/ui/index.js +2 -13
  123. package/lib/module/ui/index.js.map +1 -1
  124. package/lib/module/ui/navigation/OxyRouter.js +53 -61
  125. package/lib/module/ui/navigation/OxyRouter.js.map +1 -1
  126. package/lib/module/ui/screens/AccountCenterScreen.js +6 -18
  127. package/lib/module/ui/screens/AccountCenterScreen.js.map +1 -1
  128. package/lib/module/ui/screens/AccountOverviewScreen.js +5 -23
  129. package/lib/module/ui/screens/AccountOverviewScreen.js.map +1 -1
  130. package/lib/module/ui/screens/AccountSettingsScreen.js +7 -15
  131. package/lib/module/ui/screens/AccountSettingsScreen.js.map +1 -1
  132. package/lib/module/ui/screens/AccountSwitcherScreen.js +38 -67
  133. package/lib/module/ui/screens/AccountSwitcherScreen.js.map +1 -1
  134. package/lib/module/ui/screens/AppInfoScreen.js +22 -45
  135. package/lib/module/ui/screens/AppInfoScreen.js.map +1 -1
  136. package/lib/module/ui/screens/FeedbackScreen.js +44 -23
  137. package/lib/module/ui/screens/FeedbackScreen.js.map +1 -1
  138. package/lib/module/ui/screens/FileManagementScreen.js +59 -78
  139. package/lib/module/ui/screens/FileManagementScreen.js.map +1 -1
  140. package/lib/module/ui/screens/PaymentGatewayScreen.js +1583 -0
  141. package/lib/module/ui/screens/PaymentGatewayScreen.js.map +1 -0
  142. package/lib/module/ui/screens/PremiumSubscriptionScreen.js +23 -37
  143. package/lib/module/ui/screens/PremiumSubscriptionScreen.js.map +1 -1
  144. package/lib/module/ui/screens/RecoverAccountScreen.js +263 -0
  145. package/lib/module/ui/screens/RecoverAccountScreen.js.map +1 -0
  146. package/lib/module/ui/screens/SessionManagementScreen.js +47 -69
  147. package/lib/module/ui/screens/SessionManagementScreen.js.map +1 -1
  148. package/lib/module/ui/screens/SignInScreen.js +100 -334
  149. package/lib/module/ui/screens/SignInScreen.js.map +1 -1
  150. package/lib/module/ui/screens/SignUpScreen.js +137 -341
  151. package/lib/module/ui/screens/SignUpScreen.js.map +1 -1
  152. package/lib/module/ui/screens/internal/SignInPasswordStep.js +186 -0
  153. package/lib/module/ui/screens/internal/SignInPasswordStep.js.map +1 -0
  154. package/lib/module/ui/screens/internal/SignInUsernameStep.js +129 -0
  155. package/lib/module/ui/screens/internal/SignInUsernameStep.js.map +1 -0
  156. package/lib/module/ui/screens/internal/SignUpIdentityStep.js +102 -0
  157. package/lib/module/ui/screens/internal/SignUpIdentityStep.js.map +1 -0
  158. package/lib/module/ui/screens/internal/SignUpSecurityStep.js +120 -0
  159. package/lib/module/ui/screens/internal/SignUpSecurityStep.js.map +1 -0
  160. package/lib/module/ui/screens/internal/SignUpSummaryStep.js +79 -0
  161. package/lib/module/ui/screens/internal/SignUpSummaryStep.js.map +1 -0
  162. package/lib/module/ui/screens/internal/SignUpWelcomeStep.js +54 -0
  163. package/lib/module/ui/screens/internal/SignUpWelcomeStep.js.map +1 -0
  164. package/lib/module/ui/screens/karma/KarmaRewardsScreen.js +16 -3
  165. package/lib/module/ui/screens/karma/KarmaRewardsScreen.js.map +1 -1
  166. package/lib/module/ui/stores/authStore.js +27 -0
  167. package/lib/module/ui/stores/authStore.js.map +1 -0
  168. package/lib/module/ui/stores/followStore.js +120 -0
  169. package/lib/module/ui/stores/followStore.js.map +1 -0
  170. package/lib/module/ui/styles/index.js +0 -1
  171. package/lib/module/ui/styles/index.js.map +1 -1
  172. package/lib/module/ui/utils/confirmAction.js +25 -0
  173. package/lib/module/ui/utils/confirmAction.js.map +1 -0
  174. package/lib/typescript/core/index.d.ts +28 -10
  175. package/lib/typescript/core/index.d.ts.map +1 -1
  176. package/lib/typescript/index.d.ts +5 -4
  177. package/lib/typescript/index.d.ts.map +1 -1
  178. package/lib/typescript/models/secureSession.d.ts +0 -1
  179. package/lib/typescript/models/secureSession.d.ts.map +1 -1
  180. package/lib/typescript/node/index.d.ts +0 -1
  181. package/lib/typescript/node/index.d.ts.map +1 -1
  182. package/lib/typescript/ui/components/FollowButton.d.ts +1 -77
  183. package/lib/typescript/ui/components/FollowButton.d.ts.map +1 -1
  184. package/lib/typescript/ui/components/OxyPayButton.d.ts +29 -0
  185. package/lib/typescript/ui/components/OxyPayButton.d.ts.map +1 -0
  186. package/lib/typescript/ui/components/OxyProvider.d.ts.map +1 -1
  187. package/lib/typescript/ui/components/OxySignInButton.d.ts.map +1 -1
  188. package/lib/typescript/ui/components/icon/FAIRWalletIcon.d.ts +8 -0
  189. package/lib/typescript/ui/components/icon/FAIRWalletIcon.d.ts.map +1 -0
  190. package/lib/typescript/ui/components/icon/index.d.ts +1 -0
  191. package/lib/typescript/ui/components/icon/index.d.ts.map +1 -1
  192. package/lib/typescript/ui/components/index.d.ts +1 -0
  193. package/lib/typescript/ui/components/index.d.ts.map +1 -1
  194. package/lib/typescript/ui/components/internal/GroupedPillButtons.d.ts.map +1 -1
  195. package/lib/typescript/ui/components/internal/PinInput.d.ts +12 -0
  196. package/lib/typescript/ui/components/internal/PinInput.d.ts.map +1 -0
  197. package/lib/typescript/ui/components/internal/TextField.d.ts +1 -0
  198. package/lib/typescript/ui/components/internal/TextField.d.ts.map +1 -1
  199. package/lib/typescript/ui/context/OxyContext.d.ts +0 -2
  200. package/lib/typescript/ui/context/OxyContext.d.ts.map +1 -1
  201. package/lib/typescript/ui/hooks/index.d.ts +1 -2
  202. package/lib/typescript/ui/hooks/index.d.ts.map +1 -1
  203. package/lib/typescript/ui/hooks/useFollow.d.ts +14 -15
  204. package/lib/typescript/ui/hooks/useFollow.d.ts.map +1 -1
  205. package/lib/typescript/ui/hooks/useSessionSocket.d.ts +11 -0
  206. package/lib/typescript/ui/hooks/useSessionSocket.d.ts.map +1 -0
  207. package/lib/typescript/ui/index.d.ts +2 -5
  208. package/lib/typescript/ui/index.d.ts.map +1 -1
  209. package/lib/typescript/ui/navigation/OxyRouter.d.ts.map +1 -1
  210. package/lib/typescript/ui/navigation/types.d.ts +5 -23
  211. package/lib/typescript/ui/navigation/types.d.ts.map +1 -1
  212. package/lib/typescript/ui/screens/AccountCenterScreen.d.ts.map +1 -1
  213. package/lib/typescript/ui/screens/AccountOverviewScreen.d.ts.map +1 -1
  214. package/lib/typescript/ui/screens/AccountSettingsScreen.d.ts.map +1 -1
  215. package/lib/typescript/ui/screens/AccountSwitcherScreen.d.ts.map +1 -1
  216. package/lib/typescript/ui/screens/AppInfoScreen.d.ts.map +1 -1
  217. package/lib/typescript/ui/screens/FeedbackScreen.d.ts.map +1 -1
  218. package/lib/typescript/ui/screens/FileManagementScreen.d.ts.map +1 -1
  219. package/lib/typescript/ui/screens/PaymentGatewayScreen.d.ts +27 -0
  220. package/lib/typescript/ui/screens/PaymentGatewayScreen.d.ts.map +1 -0
  221. package/lib/typescript/ui/screens/PremiumSubscriptionScreen.d.ts.map +1 -1
  222. package/lib/typescript/ui/screens/RecoverAccountScreen.d.ts +8 -0
  223. package/lib/typescript/ui/screens/RecoverAccountScreen.d.ts.map +1 -0
  224. package/lib/typescript/ui/screens/SessionManagementScreen.d.ts.map +1 -1
  225. package/lib/typescript/ui/screens/SignInScreen.d.ts.map +1 -1
  226. package/lib/typescript/ui/screens/SignUpScreen.d.ts.map +1 -1
  227. package/lib/typescript/ui/screens/internal/SignInPasswordStep.d.ts +27 -0
  228. package/lib/typescript/ui/screens/internal/SignInPasswordStep.d.ts.map +1 -0
  229. package/lib/typescript/ui/screens/internal/SignInUsernameStep.d.ts +26 -0
  230. package/lib/typescript/ui/screens/internal/SignInUsernameStep.d.ts.map +1 -0
  231. package/lib/typescript/ui/screens/internal/SignUpIdentityStep.d.ts +20 -0
  232. package/lib/typescript/ui/screens/internal/SignUpIdentityStep.d.ts.map +1 -0
  233. package/lib/typescript/ui/screens/internal/SignUpSecurityStep.d.ts +24 -0
  234. package/lib/typescript/ui/screens/internal/SignUpSecurityStep.d.ts.map +1 -0
  235. package/lib/typescript/ui/screens/internal/SignUpSummaryStep.d.ts +15 -0
  236. package/lib/typescript/ui/screens/internal/SignUpSummaryStep.d.ts.map +1 -0
  237. package/lib/typescript/ui/screens/internal/SignUpWelcomeStep.d.ts +13 -0
  238. package/lib/typescript/ui/screens/internal/SignUpWelcomeStep.d.ts.map +1 -0
  239. package/lib/typescript/ui/screens/karma/KarmaRewardsScreen.d.ts.map +1 -1
  240. package/lib/typescript/ui/stores/authStore.d.ts +14 -0
  241. package/lib/typescript/ui/stores/authStore.d.ts.map +1 -0
  242. package/lib/typescript/ui/stores/followStore.d.ts +15 -0
  243. package/lib/typescript/ui/stores/followStore.d.ts.map +1 -0
  244. package/lib/typescript/ui/styles/index.d.ts +0 -1
  245. package/lib/typescript/ui/styles/index.d.ts.map +1 -1
  246. package/lib/typescript/ui/utils/confirmAction.d.ts +7 -0
  247. package/lib/typescript/ui/utils/confirmAction.d.ts.map +1 -0
  248. package/package.json +12 -7
  249. package/src/core/index.ts +78 -88
  250. package/src/index.ts +8 -45
  251. package/src/models/secureSession.ts +1 -2
  252. package/src/node/index.ts +0 -3
  253. package/src/ui/components/FollowButton.tsx +100 -322
  254. package/src/ui/components/OxyPayButton.tsx +133 -0
  255. package/src/ui/components/OxyProvider.tsx +39 -201
  256. package/src/ui/components/OxySignInButton.tsx +13 -2
  257. package/src/ui/components/icon/FAIRWalletIcon.tsx +49 -0
  258. package/src/ui/components/icon/index.ts +1 -0
  259. package/src/ui/components/index.ts +1 -0
  260. package/src/ui/components/internal/GroupedPillButtons.tsx +12 -8
  261. package/src/ui/components/internal/PinInput.tsx +102 -0
  262. package/src/ui/components/internal/TextField.tsx +9 -0
  263. package/src/ui/context/OxyContext.tsx +26 -40
  264. package/src/ui/hooks/index.ts +1 -2
  265. package/src/ui/hooks/useFollow.ts +58 -129
  266. package/src/ui/hooks/useSessionSocket.ts +50 -0
  267. package/src/ui/index.ts +2 -37
  268. package/src/ui/navigation/OxyRouter.tsx +47 -63
  269. package/src/ui/navigation/types.ts +5 -26
  270. package/src/ui/screens/AccountCenterScreen.tsx +12 -21
  271. package/src/ui/screens/AccountOverviewScreen.tsx +6 -30
  272. package/src/ui/screens/AccountSettingsScreen.tsx +7 -22
  273. package/src/ui/screens/AccountSwitcherScreen.tsx +46 -88
  274. package/src/ui/screens/AppInfoScreen.tsx +27 -47
  275. package/src/ui/screens/FeedbackScreen.tsx +34 -19
  276. package/src/ui/screens/FileManagementScreen.tsx +293 -321
  277. package/src/ui/screens/PaymentGatewayScreen.tsx +1315 -0
  278. package/src/ui/screens/PremiumSubscriptionScreen.tsx +109 -124
  279. package/src/ui/screens/RecoverAccountScreen.tsx +260 -0
  280. package/src/ui/screens/SessionManagementScreen.tsx +65 -137
  281. package/src/ui/screens/SignInScreen.tsx +89 -283
  282. package/src/ui/screens/SignUpScreen.tsx +138 -291
  283. package/src/ui/screens/internal/SignInPasswordStep.tsx +179 -0
  284. package/src/ui/screens/internal/SignInUsernameStep.tsx +139 -0
  285. package/src/ui/screens/internal/SignUpIdentityStep.tsx +114 -0
  286. package/src/ui/screens/internal/SignUpSecurityStep.tsx +132 -0
  287. package/src/ui/screens/internal/SignUpSummaryStep.tsx +66 -0
  288. package/src/ui/screens/internal/SignUpWelcomeStep.tsx +52 -0
  289. package/src/ui/screens/karma/KarmaRewardsScreen.tsx +13 -3
  290. package/src/ui/stores/authStore.ts +24 -0
  291. package/src/ui/stores/followStore.ts +80 -0
  292. package/src/ui/styles/index.ts +0 -1
  293. package/src/ui/utils/confirmAction.ts +23 -0
  294. package/lib/commonjs/ui/components/bottomSheet/index.js +0 -37
  295. package/lib/commonjs/ui/components/bottomSheet/index.js.map +0 -1
  296. package/lib/commonjs/ui/hooks/useAuthFetch.js +0 -217
  297. package/lib/commonjs/ui/hooks/useAuthFetch.js.map +0 -1
  298. package/lib/commonjs/ui/hooks/useOxyFollow.js +0 -190
  299. package/lib/commonjs/ui/hooks/useOxyFollow.js.map +0 -1
  300. package/lib/commonjs/ui/screens/BillingManagementScreen.js +0 -636
  301. package/lib/commonjs/ui/screens/BillingManagementScreen.js.map +0 -1
  302. package/lib/commonjs/ui/store/index.js +0 -67
  303. package/lib/commonjs/ui/store/index.js.map +0 -1
  304. package/lib/commonjs/ui/store/setupOxyStore.js +0 -63
  305. package/lib/commonjs/ui/store/setupOxyStore.js.map +0 -1
  306. package/lib/commonjs/ui/store/slices/authSlice.js +0 -56
  307. package/lib/commonjs/ui/store/slices/authSlice.js.map +0 -1
  308. package/lib/commonjs/ui/store/slices/followSlice.js +0 -238
  309. package/lib/commonjs/ui/store/slices/followSlice.js.map +0 -1
  310. package/lib/commonjs/ui/store/slices/index.js +0 -129
  311. package/lib/commonjs/ui/store/slices/index.js.map +0 -1
  312. package/lib/commonjs/ui/store/slices/types.js +0 -19
  313. package/lib/commonjs/ui/store/slices/types.js.map +0 -1
  314. package/lib/commonjs/ui/styles/shadows.js +0 -123
  315. package/lib/commonjs/ui/styles/shadows.js.map +0 -1
  316. package/lib/commonjs/utils/polyfills.js +0 -42
  317. package/lib/commonjs/utils/polyfills.js.map +0 -1
  318. package/lib/module/ui/components/bottomSheet/index.js +0 -5
  319. package/lib/module/ui/components/bottomSheet/index.js.map +0 -1
  320. package/lib/module/ui/hooks/useAuthFetch.js +0 -212
  321. package/lib/module/ui/hooks/useAuthFetch.js.map +0 -1
  322. package/lib/module/ui/hooks/useOxyFollow.js +0 -186
  323. package/lib/module/ui/hooks/useOxyFollow.js.map +0 -1
  324. package/lib/module/ui/screens/BillingManagementScreen.js +0 -631
  325. package/lib/module/ui/screens/BillingManagementScreen.js.map +0 -1
  326. package/lib/module/ui/store/index.js +0 -33
  327. package/lib/module/ui/store/index.js.map +0 -1
  328. package/lib/module/ui/store/setupOxyStore.js +0 -59
  329. package/lib/module/ui/store/setupOxyStore.js.map +0 -1
  330. package/lib/module/ui/store/slices/authSlice.js +0 -48
  331. package/lib/module/ui/store/slices/authSlice.js.map +0 -1
  332. package/lib/module/ui/store/slices/followSlice.js +0 -232
  333. package/lib/module/ui/store/slices/followSlice.js.map +0 -1
  334. package/lib/module/ui/store/slices/index.js +0 -11
  335. package/lib/module/ui/store/slices/index.js.map +0 -1
  336. package/lib/module/ui/store/slices/types.js +0 -15
  337. package/lib/module/ui/store/slices/types.js.map +0 -1
  338. package/lib/module/ui/styles/shadows.js +0 -119
  339. package/lib/module/ui/styles/shadows.js.map +0 -1
  340. package/lib/module/utils/polyfills.js +0 -36
  341. package/lib/module/utils/polyfills.js.map +0 -1
  342. package/lib/typescript/types/react-redux.d.ts +0 -5
  343. package/lib/typescript/ui/components/bottomSheet/index.d.ts +0 -4
  344. package/lib/typescript/ui/components/bottomSheet/index.d.ts.map +0 -1
  345. package/lib/typescript/ui/hooks/useAuthFetch.d.ts +0 -34
  346. package/lib/typescript/ui/hooks/useAuthFetch.d.ts.map +0 -1
  347. package/lib/typescript/ui/hooks/useOxyFollow.d.ts +0 -81
  348. package/lib/typescript/ui/hooks/useOxyFollow.d.ts.map +0 -1
  349. package/lib/typescript/ui/screens/BillingManagementScreen.d.ts +0 -5
  350. package/lib/typescript/ui/screens/BillingManagementScreen.d.ts.map +0 -1
  351. package/lib/typescript/ui/store/index.d.ts +0 -27
  352. package/lib/typescript/ui/store/index.d.ts.map +0 -1
  353. package/lib/typescript/ui/store/setupOxyStore.d.ts +0 -29
  354. package/lib/typescript/ui/store/setupOxyStore.d.ts.map +0 -1
  355. package/lib/typescript/ui/store/slices/authSlice.d.ts +0 -32
  356. package/lib/typescript/ui/store/slices/authSlice.d.ts.map +0 -1
  357. package/lib/typescript/ui/store/slices/followSlice.d.ts +0 -120
  358. package/lib/typescript/ui/store/slices/followSlice.d.ts.map +0 -1
  359. package/lib/typescript/ui/store/slices/index.d.ts +0 -9
  360. package/lib/typescript/ui/store/slices/index.d.ts.map +0 -1
  361. package/lib/typescript/ui/store/slices/types.d.ts +0 -16
  362. package/lib/typescript/ui/store/slices/types.d.ts.map +0 -1
  363. package/lib/typescript/ui/styles/shadows.d.ts +0 -233
  364. package/lib/typescript/ui/styles/shadows.d.ts.map +0 -1
  365. package/lib/typescript/utils/polyfills.d.ts +0 -6
  366. package/lib/typescript/utils/polyfills.d.ts.map +0 -1
  367. package/src/__tests__/backend-middleware.test.ts +0 -209
  368. package/src/__tests__/polyfills.test.ts +0 -30
  369. package/src/__tests__/setup.ts +0 -43
  370. package/src/__tests__/ui/hooks/authfetch-integration.test.ts +0 -197
  371. package/src/__tests__/ui/hooks/backward-compatibility.test.ts +0 -159
  372. package/src/__tests__/ui/hooks/real-world-scenarios.test.ts +0 -224
  373. package/src/__tests__/ui/hooks/url-resolution.test.ts +0 -129
  374. package/src/__tests__/ui/hooks/useAuthFetch-separation.test.ts +0 -69
  375. package/src/__tests__/ui/hooks/useAuthFetch.test.ts +0 -70
  376. package/src/__tests__/ui/hooks/useOxyFollow.test.tsx +0 -92
  377. package/src/__tests__/ui/screens/AccountSettingsScreen.test.tsx +0 -112
  378. package/src/__tests__/ui/store/setupOxyStore.test.ts +0 -50
  379. package/src/__tests__/validate-structure.js +0 -91
  380. package/src/__tests__/validation.js +0 -42
  381. package/src/types/react-redux.d.ts +0 -5
  382. package/src/ui/components/bottomSheet/index.tsx +0 -14
  383. package/src/ui/hooks/useAuthFetch.ts +0 -238
  384. package/src/ui/hooks/useOxyFollow.ts +0 -188
  385. package/src/ui/screens/BillingManagementScreen.tsx +0 -589
  386. package/src/ui/store/index.ts +0 -36
  387. package/src/ui/store/setupOxyStore.ts +0 -58
  388. package/src/ui/store/slices/authSlice.ts +0 -43
  389. package/src/ui/store/slices/followSlice.ts +0 -207
  390. package/src/ui/store/slices/index.ts +0 -31
  391. package/src/ui/store/slices/types.ts +0 -33
  392. package/src/ui/styles/shadows.ts +0 -112
  393. package/src/utils/polyfills.ts +0 -34
@@ -10,9 +10,10 @@ var _OxyContext = require("../context/OxyContext");
10
10
  var _styles = require("../styles");
11
11
  var _vectorIcons = require("@expo/vector-icons");
12
12
  var _sonner = require("../../lib/sonner");
13
- var _HighFive = _interopRequireDefault(require("../../assets/illustrations/HighFive"));
14
- var _GroupedPillButtons = _interopRequireDefault(require("../components/internal/GroupedPillButtons"));
15
- var _TextField = _interopRequireDefault(require("../components/internal/TextField"));
13
+ var _SignUpIdentityStep = _interopRequireDefault(require("./internal/SignUpIdentityStep"));
14
+ var _SignUpSecurityStep = _interopRequireDefault(require("./internal/SignUpSecurityStep"));
15
+ var _SignUpSummaryStep = _interopRequireDefault(require("./internal/SignUpSummaryStep"));
16
+ var _SignUpWelcomeStep = _interopRequireDefault(require("./internal/SignUpWelcomeStep"));
16
17
  var _jsxRuntime = require("react/jsx-runtime");
17
18
  function _interopRequireDefault(e) { return e && e.__esModule ? e : { default: e }; }
18
19
  function _interopRequireWildcard(e, t) { if ("function" == typeof WeakMap) var r = new WeakMap(), n = new WeakMap(); return (_interopRequireWildcard = function (e, t) { if (!t && e && e.__esModule) return e; var o, i, f = { __proto__: null, default: e }; if (null === e || "object" != typeof e && "function" != typeof e) return f; if (o = t ? n : r) { if (o.has(e)) return o.get(e); o.set(e, f); } for (const t in e) "default" !== t && {}.hasOwnProperty.call(e, t) && ((i = (o = Object.defineProperty) && Object.getOwnPropertyDescriptor(e, t)) && (i.get || i.set) ? o(f, t, i) : f[t] = e[t]); return f; })(e, t); }
@@ -51,9 +52,9 @@ const createStyles = (colors, theme) => _reactNative.StyleSheet.create({
51
52
  modernTitle: {
52
53
  fontFamily: _reactNative.Platform.OS === 'web' ? 'Phudu' : 'Phudu-Bold',
53
54
  fontWeight: _reactNative.Platform.OS === 'web' ? 'bold' : undefined,
54
- fontSize: 42,
55
+ fontSize: 62,
55
56
  lineHeight: 48,
56
- marginBottom: 12,
57
+ marginBottom: 18,
57
58
  textAlign: 'left',
58
59
  letterSpacing: -1
59
60
  },
@@ -134,6 +135,17 @@ const createStyles = (colors, theme) => _reactNative.StyleSheet.create({
134
135
  marginTop: 8,
135
136
  gap: 8
136
137
  },
138
+ belowInputMessage: {
139
+ flexDirection: 'row',
140
+ alignItems: 'center',
141
+ marginTop: 4,
142
+ marginBottom: 0,
143
+ gap: 6
144
+ },
145
+ belowInputText: {
146
+ fontSize: 13,
147
+ fontWeight: '500'
148
+ },
137
149
  validationIconContainer: {
138
150
  width: 32,
139
151
  height: 32,
@@ -169,15 +181,22 @@ const createStyles = (colors, theme) => _reactNative.StyleSheet.create({
169
181
  paddingHorizontal: 32,
170
182
  borderRadius: 16,
171
183
  marginVertical: 8,
172
- shadowOffset: {
173
- width: 0,
174
- height: 4
175
- },
176
- shadowOpacity: 0.3,
177
- shadowRadius: 8,
178
- elevation: 6,
179
184
  gap: 8,
180
- width: '100%'
185
+ width: '100%',
186
+ ..._reactNative.Platform.select({
187
+ web: {
188
+ boxShadow: '0 4px 8px rgba(0,0,0,0.3)'
189
+ },
190
+ default: {
191
+ shadowOffset: {
192
+ width: 0,
193
+ height: 4
194
+ },
195
+ shadowOpacity: 0.3,
196
+ shadowRadius: 8,
197
+ elevation: 6
198
+ }
199
+ })
181
200
  },
182
201
  buttonText: {
183
202
  color: '#FFFFFF',
@@ -204,14 +223,21 @@ const createStyles = (colors, theme) => _reactNative.StyleSheet.create({
204
223
  marginVertical: 20,
205
224
  borderRadius: 24,
206
225
  alignItems: 'center',
207
- shadowColor: '#000',
208
- shadowOpacity: 0.04,
209
- shadowOffset: {
210
- width: 0,
211
- height: 1
212
- },
213
- shadowRadius: 4,
214
- elevation: 1
226
+ ..._reactNative.Platform.select({
227
+ web: {
228
+ boxShadow: '0 1px 4px rgba(0,0,0,0.04)'
229
+ },
230
+ default: {
231
+ shadowColor: '#000',
232
+ shadowOpacity: 0.04,
233
+ shadowOffset: {
234
+ width: 0,
235
+ height: 1
236
+ },
237
+ shadowRadius: 4,
238
+ elevation: 1
239
+ }
240
+ })
215
241
  },
216
242
  userInfoText: {
217
243
  fontSize: 16,
@@ -237,13 +263,20 @@ const createStyles = (colors, theme) => _reactNative.StyleSheet.create({
237
263
  gap: 6,
238
264
  minWidth: 70,
239
265
  borderWidth: 1,
240
- shadowOffset: {
241
- width: 0,
242
- height: 2
243
- },
244
- shadowOpacity: 0.1,
245
- shadowRadius: 4,
246
- elevation: 2
266
+ ..._reactNative.Platform.select({
267
+ web: {
268
+ boxShadow: '0 2px 4px rgba(0,0,0,0.1)'
269
+ },
270
+ default: {
271
+ shadowOffset: {
272
+ width: 0,
273
+ height: 2
274
+ },
275
+ shadowOpacity: 0.1,
276
+ shadowRadius: 4,
277
+ elevation: 2
278
+ }
279
+ })
247
280
  },
248
281
  backButton: {
249
282
  backgroundColor: 'transparent',
@@ -276,14 +309,21 @@ const createStyles = (colors, theme) => _reactNative.StyleSheet.create({
276
309
  marginHorizontal: 6,
277
310
  borderWidth: 2,
278
311
  borderColor: '#fff',
279
- shadowColor: colors.primary,
280
- shadowOpacity: 0.08,
281
- shadowOffset: {
282
- width: 0,
283
- height: 1
284
- },
285
- shadowRadius: 2,
286
- elevation: 1
312
+ ..._reactNative.Platform.select({
313
+ web: {
314
+ boxShadow: '0 1px 2px rgba(0,0,0,0.08)'
315
+ },
316
+ default: {
317
+ shadowColor: colors.primary,
318
+ shadowOpacity: 0.08,
319
+ shadowOffset: {
320
+ width: 0,
321
+ height: 1
322
+ },
323
+ shadowRadius: 2,
324
+ elevation: 1
325
+ }
326
+ })
287
327
  },
288
328
  summaryContainer: {
289
329
  padding: 0,
@@ -705,310 +745,71 @@ const SignUpScreen = ({
705
745
  }
706
746
  }, [formData, isIdentityStepValid, isSecurityStepValid, signUp, onAuthenticated, resetForm]);
707
747
 
708
- // Step components
709
- const renderWelcomeStep = (0, _react.useCallback)(() => /*#__PURE__*/(0, _jsxRuntime.jsxs)(_reactNative.Animated.View, {
710
- style: [styles.stepContainer, {
711
- opacity: fadeAnim,
712
- transform: [{
713
- translateX: slideAnim
714
- }]
715
- }],
716
- children: [/*#__PURE__*/(0, _jsxRuntime.jsx)(_HighFive.default, {
717
- width: 100,
718
- height: 100
719
- }), /*#__PURE__*/(0, _jsxRuntime.jsxs)(_reactNative.View, {
720
- style: styles.modernHeader,
721
- children: [/*#__PURE__*/(0, _jsxRuntime.jsx)(_reactNative.Text, {
722
- style: [styles.modernTitle, {
723
- color: colors.text
724
- }],
725
- children: "Welcome to Oxy"
726
- }), /*#__PURE__*/(0, _jsxRuntime.jsx)(_reactNative.Text, {
727
- style: [styles.modernSubtitle, {
728
- color: colors.secondaryText
729
- }],
730
- children: "We're excited to have you join us. Let's get your account set up in just a few easy steps."
731
- })]
732
- }), /*#__PURE__*/(0, _jsxRuntime.jsx)(_GroupedPillButtons.default, {
733
- buttons: [{
734
- text: 'Get Started',
735
- onPress: nextStep,
736
- icon: 'arrow-forward',
737
- variant: 'primary',
738
- testID: 'welcome-next-button'
739
- }],
740
- colors: colors
741
- }), /*#__PURE__*/(0, _jsxRuntime.jsxs)(_reactNative.View, {
742
- style: styles.footerTextContainer,
743
- children: [/*#__PURE__*/(0, _jsxRuntime.jsxs)(_reactNative.Text, {
744
- style: [styles.footerText, {
745
- color: colors.text
746
- }],
747
- children: ["Already have an account?", ' ']
748
- }), /*#__PURE__*/(0, _jsxRuntime.jsx)(_reactNative.TouchableOpacity, {
749
- onPress: () => navigate('SignIn'),
750
- children: /*#__PURE__*/(0, _jsxRuntime.jsx)(_reactNative.Text, {
751
- style: [styles.linkText, {
752
- color: colors.primary
753
- }],
754
- children: "Sign In"
755
- })
756
- })]
757
- })]
758
- }), [fadeAnim, slideAnim, colors, nextStep, navigate, styles]);
759
- const renderIdentityStep = (0, _react.useCallback)(() => /*#__PURE__*/(0, _jsxRuntime.jsxs)(_reactNative.Animated.View, {
760
- style: [styles.stepContainer, {
761
- opacity: fadeAnim,
762
- transform: [{
763
- translateX: slideAnim
764
- }]
765
- }],
766
- children: [/*#__PURE__*/(0, _jsxRuntime.jsx)(_reactNative.View, {
767
- style: styles.modernHeader,
768
- children: /*#__PURE__*/(0, _jsxRuntime.jsx)(_reactNative.Text, {
769
- style: [styles.stepTitle, {
770
- color: colors.text
771
- }],
772
- children: "Who are you?"
773
- })
774
- }), /*#__PURE__*/(0, _jsxRuntime.jsx)(_TextField.default, {
775
- icon: "person-outline",
776
- label: "Username",
777
- value: formData.username,
778
- onChangeText: text => {
779
- updateField('username', text);
780
- setErrorMessage('');
781
- },
782
- autoCapitalize: "none",
783
- autoCorrect: false,
784
- testID: "username-input",
785
- colors: colors,
786
- variant: "filled",
787
- error: validationState.status === 'invalid' ? validationState.message : undefined,
788
- loading: validationState.status === 'validating',
789
- success: validationState.status === 'valid'
790
- }), /*#__PURE__*/(0, _jsxRuntime.jsx)(ValidationMessage, {
791
- validationState: validationState,
792
- colors: colors,
793
- styles: styles
794
- }), /*#__PURE__*/(0, _jsxRuntime.jsx)(_TextField.default, {
795
- icon: "mail-outline",
796
- label: "Email",
797
- value: formData.email,
798
- onChangeText: text => {
799
- updateField('email', text);
800
- },
801
- keyboardType: "email-address",
802
- autoCapitalize: "none",
803
- autoCorrect: false,
804
- testID: "email-input",
805
- colors: colors,
806
- variant: "filled",
807
- error: formData.email && !validateEmail(formData.email) ? 'Please enter a valid email address' : undefined
808
- }), /*#__PURE__*/(0, _jsxRuntime.jsx)(_GroupedPillButtons.default, {
809
- buttons: [{
810
- text: 'Back',
811
- onPress: prevStep,
812
- icon: 'arrow-back',
813
- variant: 'transparent'
814
- }, {
815
- text: 'Next',
816
- onPress: handleIdentityNext,
817
- icon: 'arrow-forward',
818
- variant: 'primary'
819
- }],
820
- colors: colors
821
- })]
822
- }), [fadeAnim, slideAnim, colors, formData, validationState, updateField, setErrorMessage, prevStep, handleIdentityNext, styles]);
823
- const renderSecurityStep = (0, _react.useCallback)(() => /*#__PURE__*/(0, _jsxRuntime.jsxs)(_reactNative.Animated.View, {
824
- style: [styles.stepContainer, {
825
- opacity: fadeAnim,
826
- transform: [{
827
- translateX: slideAnim
828
- }]
829
- }],
830
- children: [/*#__PURE__*/(0, _jsxRuntime.jsx)(_reactNative.View, {
831
- style: styles.modernHeader,
832
- children: /*#__PURE__*/(0, _jsxRuntime.jsx)(_reactNative.Text, {
833
- style: [styles.stepTitle, {
834
- color: colors.text
835
- }],
836
- children: "Secure your account"
837
- })
838
- }), /*#__PURE__*/(0, _jsxRuntime.jsx)(_TextField.default, {
839
- icon: "lock-closed-outline",
840
- label: "Password",
841
- value: formData.password,
842
- onChangeText: text => {
843
- updateField('password', text);
844
- },
845
- secureTextEntry: !passwordVisibility.password,
846
- autoCapitalize: "none",
847
- autoCorrect: false,
848
- testID: "password-input",
849
- colors: colors,
850
- variant: "filled",
851
- error: formData.password && !validatePassword(formData.password) ? `Password must be at least ${PASSWORD_MIN_LENGTH} characters` : undefined
852
- }), /*#__PURE__*/(0, _jsxRuntime.jsxs)(_reactNative.Text, {
853
- style: [styles.passwordHint, {
854
- color: colors.secondaryText
855
- }],
856
- children: ["Password must be at least ", PASSWORD_MIN_LENGTH, " characters long"]
857
- }), /*#__PURE__*/(0, _jsxRuntime.jsx)(_TextField.default, {
858
- icon: "lock-closed-outline",
859
- label: "Confirm Password",
860
- value: formData.confirmPassword,
861
- onChangeText: text => {
862
- updateField('confirmPassword', text);
863
- },
864
- secureTextEntry: !passwordVisibility.confirmPassword,
865
- autoCapitalize: "none",
866
- autoCorrect: false,
867
- testID: "confirm-password-input",
868
- colors: colors,
869
- variant: "filled",
870
- error: formData.confirmPassword && !validatePasswordsMatch(formData.password, formData.confirmPassword) ? 'Passwords do not match' : undefined
871
- }), /*#__PURE__*/(0, _jsxRuntime.jsx)(_GroupedPillButtons.default, {
872
- buttons: [{
873
- text: 'Back',
874
- onPress: prevStep,
875
- icon: 'arrow-back',
876
- variant: 'transparent'
877
- }, {
878
- text: 'Next',
879
- onPress: handleSecurityNext,
880
- icon: 'arrow-forward',
881
- variant: 'primary'
882
- }],
883
- colors: colors
884
- })]
885
- }), [fadeAnim, slideAnim, colors, formData, passwordVisibility, updateField, setErrorMessage, togglePasswordVisibility, prevStep, handleSecurityNext, styles]);
886
- const renderSummaryStep = (0, _react.useCallback)(() => /*#__PURE__*/(0, _jsxRuntime.jsxs)(_reactNative.Animated.View, {
887
- style: [styles.stepContainer, {
888
- opacity: fadeAnim,
889
- transform: [{
890
- translateX: slideAnim
891
- }]
892
- }],
893
- children: [/*#__PURE__*/(0, _jsxRuntime.jsx)(_reactNative.View, {
894
- style: styles.modernHeader,
895
- children: /*#__PURE__*/(0, _jsxRuntime.jsx)(_reactNative.Text, {
896
- style: [styles.stepTitle, {
897
- color: colors.text
898
- }],
899
- children: "Ready to join"
900
- })
901
- }), /*#__PURE__*/(0, _jsxRuntime.jsxs)(_reactNative.View, {
902
- style: styles.summaryContainer,
903
- children: [/*#__PURE__*/(0, _jsxRuntime.jsxs)(_reactNative.View, {
904
- style: styles.summaryRow,
905
- children: [/*#__PURE__*/(0, _jsxRuntime.jsx)(_reactNative.Text, {
906
- style: [styles.summaryLabel, {
907
- color: colors.secondaryText
908
- }],
909
- children: "Username:"
910
- }), /*#__PURE__*/(0, _jsxRuntime.jsx)(_reactNative.Text, {
911
- style: [styles.summaryValue, {
912
- color: colors.text
913
- }],
914
- children: formData.username
915
- })]
916
- }), /*#__PURE__*/(0, _jsxRuntime.jsxs)(_reactNative.View, {
917
- style: styles.summaryRow,
918
- children: [/*#__PURE__*/(0, _jsxRuntime.jsx)(_reactNative.Text, {
919
- style: [styles.summaryLabel, {
920
- color: colors.secondaryText
921
- }],
922
- children: "Email:"
923
- }), /*#__PURE__*/(0, _jsxRuntime.jsx)(_reactNative.Text, {
924
- style: [styles.summaryValue, {
925
- color: colors.text
926
- }],
927
- children: formData.email
928
- })]
929
- })]
930
- }), /*#__PURE__*/(0, _jsxRuntime.jsx)(_GroupedPillButtons.default, {
931
- buttons: [{
932
- text: 'Back',
933
- onPress: prevStep,
934
- icon: 'arrow-back',
935
- variant: 'transparent'
936
- }, {
937
- text: 'Create Account',
938
- onPress: handleSignUp,
939
- icon: 'checkmark',
940
- variant: 'primary',
941
- disabled: isLoading,
942
- loading: isLoading,
943
- testID: 'signup-button'
944
- }],
945
- colors: colors
946
- })]
947
- }), [fadeAnim, slideAnim, colors, formData, isLoading, handleSignUp, prevStep, styles]);
948
-
949
- // If user is already authenticated, show user info
950
- if (user && isAuthenticated) {
951
- return /*#__PURE__*/(0, _jsxRuntime.jsxs)(_reactNative.KeyboardAvoidingView, {
952
- style: [styles.container, {
953
- backgroundColor: colors.background
954
- }],
955
- behavior: _reactNative.Platform.OS === 'ios' ? 'padding' : 'height',
956
- children: [/*#__PURE__*/(0, _jsxRuntime.jsx)(_reactNative.StatusBar, {
957
- barStyle: theme === 'dark' ? 'light-content' : 'dark-content',
958
- backgroundColor: colors.background
959
- }), /*#__PURE__*/(0, _jsxRuntime.jsxs)(_reactNative.ScrollView, {
960
- contentContainerStyle: styles.scrollContent,
961
- showsVerticalScrollIndicator: false,
962
- children: [/*#__PURE__*/(0, _jsxRuntime.jsxs)(_reactNative.Text, {
963
- style: [styles.welcomeTitle, {
964
- color: colors.text
965
- }],
966
- children: ["Welcome, ", user.username, "!"]
967
- }), /*#__PURE__*/(0, _jsxRuntime.jsxs)(_reactNative.View, {
968
- style: [styles.userInfoContainer, {
969
- backgroundColor: colors.inputBackground
970
- }],
971
- children: [/*#__PURE__*/(0, _jsxRuntime.jsx)(_reactNative.Text, {
972
- style: [styles.userInfoText, {
973
- color: colors.text
974
- }],
975
- children: "You are already signed in."
976
- }), user.email && /*#__PURE__*/(0, _jsxRuntime.jsxs)(_reactNative.Text, {
977
- style: [styles.userInfoText, {
978
- color: colors.secondaryText
979
- }],
980
- children: ["Email: ", user.email]
981
- })]
982
- }), /*#__PURE__*/(0, _jsxRuntime.jsx)(_reactNative.View, {
983
- style: styles.actionButtonsContainer,
984
- children: /*#__PURE__*/(0, _jsxRuntime.jsx)(_reactNative.TouchableOpacity, {
985
- style: [styles.button, {
986
- backgroundColor: colors.primary
987
- }],
988
- onPress: () => navigate('AccountCenter'),
989
- children: /*#__PURE__*/(0, _jsxRuntime.jsx)(_reactNative.Text, {
990
- style: styles.buttonText,
991
- children: "Go to Account Center"
992
- })
993
- })
994
- })]
995
- })]
996
- });
997
- }
998
-
999
- // Render current step
748
+ // Memoized step components
749
+ const updateFieldString = (field, value) => updateField(field, value);
750
+ const validatePasswordsMatchNoArgs = () => validatePasswordsMatch(formData.password, formData.confirmPassword);
751
+ const togglePasswordVisibilityNoArgs = () => togglePasswordVisibility('password');
752
+ const renderWelcomeStep = (0, _react.useMemo)(() => /*#__PURE__*/(0, _jsxRuntime.jsx)(_SignUpWelcomeStep.default, {
753
+ styles: styles,
754
+ fadeAnim: fadeAnim,
755
+ slideAnim: slideAnim,
756
+ colors: colors,
757
+ nextStep: nextStep,
758
+ navigate: navigate
759
+ }), [styles, fadeAnim, slideAnim, colors, nextStep, navigate]);
760
+ const renderIdentityStep = (0, _react.useMemo)(() => /*#__PURE__*/(0, _jsxRuntime.jsx)(_SignUpIdentityStep.default, {
761
+ styles: styles,
762
+ fadeAnim: fadeAnim,
763
+ slideAnim: slideAnim,
764
+ colors: colors,
765
+ formData: formData,
766
+ validationState: validationState,
767
+ updateField: updateFieldString,
768
+ setErrorMessage: setErrorMessage,
769
+ prevStep: prevStep,
770
+ handleIdentityNext: handleIdentityNext,
771
+ ValidationMessage: ValidationMessage,
772
+ validateEmail: validateEmail,
773
+ navigate: navigate
774
+ }), [styles, fadeAnim, slideAnim, colors, formData, validationState, updateFieldString, setErrorMessage, prevStep, handleIdentityNext, ValidationMessage, validateEmail, navigate]);
775
+ const renderSecurityStep = (0, _react.useMemo)(() => /*#__PURE__*/(0, _jsxRuntime.jsx)(_SignUpSecurityStep.default, {
776
+ styles: styles,
777
+ fadeAnim: fadeAnim,
778
+ slideAnim: slideAnim,
779
+ colors: colors,
780
+ formData: formData,
781
+ passwordVisibility: passwordVisibility,
782
+ updateField: updateFieldString,
783
+ validatePassword: validatePassword,
784
+ validatePasswordsMatch: validatePasswordsMatchNoArgs,
785
+ prevStep: prevStep,
786
+ handleSecurityNext: handleSecurityNext,
787
+ setErrorMessage: setErrorMessage,
788
+ togglePasswordVisibility: togglePasswordVisibilityNoArgs,
789
+ PASSWORD_MIN_LENGTH: PASSWORD_MIN_LENGTH
790
+ }), [styles, fadeAnim, slideAnim, colors, formData, passwordVisibility, updateFieldString, validatePassword, validatePasswordsMatchNoArgs, prevStep, handleSecurityNext, setErrorMessage, togglePasswordVisibilityNoArgs, PASSWORD_MIN_LENGTH]);
791
+ const renderSummaryStep = (0, _react.useMemo)(() => /*#__PURE__*/(0, _jsxRuntime.jsx)(_SignUpSummaryStep.default, {
792
+ styles: styles,
793
+ fadeAnim: fadeAnim,
794
+ slideAnim: slideAnim,
795
+ colors: colors,
796
+ formData: formData,
797
+ isLoading: isLoading,
798
+ handleSignUp: handleSignUp,
799
+ prevStep: prevStep
800
+ }), [styles, fadeAnim, slideAnim, colors, formData, isLoading, handleSignUp, prevStep]);
1000
801
  const renderCurrentStep = (0, _react.useCallback)(() => {
1001
802
  switch (currentStep) {
1002
803
  case 0:
1003
- return renderWelcomeStep();
804
+ return renderWelcomeStep;
1004
805
  case 1:
1005
- return renderIdentityStep();
806
+ return renderIdentityStep;
1006
807
  case 2:
1007
- return renderSecurityStep();
808
+ return renderSecurityStep;
1008
809
  case 3:
1009
- return renderSummaryStep();
810
+ return renderSummaryStep;
1010
811
  default:
1011
- return renderWelcomeStep();
812
+ return renderWelcomeStep;
1012
813
  }
1013
814
  }, [currentStep, renderWelcomeStep, renderIdentityStep, renderSecurityStep, renderSummaryStep]);
1014
815
  return /*#__PURE__*/(0, _jsxRuntime.jsxs)(_reactNative.KeyboardAvoidingView, {
@@ -1019,16 +820,11 @@ const SignUpScreen = ({
1019
820
  children: [/*#__PURE__*/(0, _jsxRuntime.jsx)(_reactNative.StatusBar, {
1020
821
  barStyle: theme === 'dark' ? 'light-content' : 'dark-content',
1021
822
  backgroundColor: colors.background
1022
- }), /*#__PURE__*/(0, _jsxRuntime.jsxs)(_reactNative.ScrollView, {
823
+ }), /*#__PURE__*/(0, _jsxRuntime.jsx)(_reactNative.ScrollView, {
1023
824
  contentContainerStyle: styles.scrollContent,
1024
825
  showsVerticalScrollIndicator: false,
1025
826
  keyboardShouldPersistTaps: "handled",
1026
- children: [/*#__PURE__*/(0, _jsxRuntime.jsx)(ProgressIndicator, {
1027
- currentStep: currentStep,
1028
- totalSteps: 4,
1029
- colors: colors,
1030
- styles: styles
1031
- }), renderCurrentStep()]
827
+ children: renderCurrentStep()
1032
828
  })]
1033
829
  });
1034
830
  };