@oxyhq/services 5.13.0 → 5.13.2

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 (353) hide show
  1. package/README.md +71 -0
  2. package/lib/commonjs/core/HttpClient.js +238 -0
  3. package/lib/commonjs/core/HttpClient.js.map +1 -0
  4. package/lib/commonjs/core/OxyServices.js +530 -332
  5. package/lib/commonjs/core/OxyServices.js.map +1 -1
  6. package/lib/commonjs/core/RequestManager.js +199 -0
  7. package/lib/commonjs/core/RequestManager.js.map +1 -0
  8. package/lib/commonjs/core/index.js +38 -1
  9. package/lib/commonjs/core/index.js.map +1 -1
  10. package/lib/commonjs/i18n/index.js +37 -1
  11. package/lib/commonjs/i18n/index.js.map +1 -1
  12. package/lib/commonjs/i18n/locales/ar-SA.json +128 -0
  13. package/lib/commonjs/i18n/locales/ca-ES.json +128 -0
  14. package/lib/commonjs/i18n/locales/de-DE.json +128 -0
  15. package/lib/commonjs/i18n/locales/en-US.json +85 -12
  16. package/lib/commonjs/i18n/locales/es-ES.json +58 -6
  17. package/lib/commonjs/i18n/locales/fr-FR.json +128 -0
  18. package/lib/commonjs/i18n/locales/it-IT.json +128 -0
  19. package/lib/commonjs/i18n/locales/ja-JP.json +127 -0
  20. package/lib/commonjs/i18n/locales/ko-KR.json +128 -0
  21. package/lib/commonjs/i18n/locales/pt-PT.json +128 -0
  22. package/lib/commonjs/i18n/locales/zh-CN.json +128 -0
  23. package/lib/commonjs/index.js +36 -0
  24. package/lib/commonjs/index.js.map +1 -1
  25. package/lib/commonjs/ui/components/Avatar.js +94 -27
  26. package/lib/commonjs/ui/components/Avatar.js.map +1 -1
  27. package/lib/commonjs/ui/components/FollowButton.js +1 -0
  28. package/lib/commonjs/ui/components/FollowButton.js.map +1 -1
  29. package/lib/commonjs/ui/components/FontLoader.js +22 -42
  30. package/lib/commonjs/ui/components/FontLoader.js.map +1 -1
  31. package/lib/commonjs/ui/components/OxyProvider.js +5 -8
  32. package/lib/commonjs/ui/components/OxyProvider.js.map +1 -1
  33. package/lib/commonjs/ui/components/StepBasedScreen.js +64 -44
  34. package/lib/commonjs/ui/components/StepBasedScreen.js.map +1 -1
  35. package/lib/commonjs/ui/components/internal/GroupedPillButtons.js +14 -35
  36. package/lib/commonjs/ui/components/internal/GroupedPillButtons.js.map +1 -1
  37. package/lib/commonjs/ui/components/internal/PinInput.js +2 -2
  38. package/lib/commonjs/ui/components/internal/PinInput.js.map +1 -1
  39. package/lib/commonjs/ui/components/internal/TextField.js +13 -8
  40. package/lib/commonjs/ui/components/internal/TextField.js.map +1 -1
  41. package/lib/commonjs/ui/context/OxyContext.js +443 -371
  42. package/lib/commonjs/ui/context/OxyContext.js.map +1 -1
  43. package/lib/commonjs/ui/hooks/useSessionSocket.js +80 -22
  44. package/lib/commonjs/ui/hooks/useSessionSocket.js.map +1 -1
  45. package/lib/commonjs/ui/index.js +4 -1
  46. package/lib/commonjs/ui/index.js.map +1 -1
  47. package/lib/commonjs/ui/screens/AccountSettingsScreen.js +32 -2
  48. package/lib/commonjs/ui/screens/AccountSettingsScreen.js.map +1 -1
  49. package/lib/commonjs/ui/screens/AccountSwitcherScreen.js +101 -59
  50. package/lib/commonjs/ui/screens/AccountSwitcherScreen.js.map +1 -1
  51. package/lib/commonjs/ui/screens/FileManagementScreen.js +3 -2
  52. package/lib/commonjs/ui/screens/FileManagementScreen.js.map +1 -1
  53. package/lib/commonjs/ui/screens/LanguageSelectorScreen.js +75 -117
  54. package/lib/commonjs/ui/screens/LanguageSelectorScreen.js.map +1 -1
  55. package/lib/commonjs/ui/screens/SignInScreen.js +43 -50
  56. package/lib/commonjs/ui/screens/SignInScreen.js.map +1 -1
  57. package/lib/commonjs/ui/screens/SignUpScreen.js +14 -16
  58. package/lib/commonjs/ui/screens/SignUpScreen.js.map +1 -1
  59. package/lib/commonjs/ui/screens/WelcomeNewUserScreen.js +188 -142
  60. package/lib/commonjs/ui/screens/WelcomeNewUserScreen.js.map +1 -1
  61. package/lib/commonjs/ui/screens/internal/SignInPasswordStep.js +10 -10
  62. package/lib/commonjs/ui/screens/internal/SignInPasswordStep.js.map +1 -1
  63. package/lib/commonjs/ui/screens/internal/SignInUsernameStep.js +2 -4
  64. package/lib/commonjs/ui/screens/internal/SignInUsernameStep.js.map +1 -1
  65. package/lib/commonjs/ui/screens/steps/RecoverRequestStep.js +45 -25
  66. package/lib/commonjs/ui/screens/steps/RecoverRequestStep.js.map +1 -1
  67. package/lib/commonjs/ui/screens/steps/RecoverResetPasswordStep.js +88 -53
  68. package/lib/commonjs/ui/screens/steps/RecoverResetPasswordStep.js.map +1 -1
  69. package/lib/commonjs/ui/screens/steps/RecoverSuccessStep.js +79 -58
  70. package/lib/commonjs/ui/screens/steps/RecoverSuccessStep.js.map +1 -1
  71. package/lib/commonjs/ui/screens/steps/RecoverVerifyStep.js +61 -52
  72. package/lib/commonjs/ui/screens/steps/RecoverVerifyStep.js.map +1 -1
  73. package/lib/commonjs/ui/screens/steps/SignInPasswordStep.js +218 -39
  74. package/lib/commonjs/ui/screens/steps/SignInPasswordStep.js.map +1 -1
  75. package/lib/commonjs/ui/screens/steps/SignInTotpStep.js +77 -50
  76. package/lib/commonjs/ui/screens/steps/SignInTotpStep.js.map +1 -1
  77. package/lib/commonjs/ui/screens/steps/SignInUsernameStep.js +424 -71
  78. package/lib/commonjs/ui/screens/steps/SignInUsernameStep.js.map +1 -1
  79. package/lib/commonjs/ui/screens/steps/SignUpIdentityStep.js +55 -30
  80. package/lib/commonjs/ui/screens/steps/SignUpIdentityStep.js.map +1 -1
  81. package/lib/commonjs/ui/screens/steps/SignUpSecurityStep.js +64 -46
  82. package/lib/commonjs/ui/screens/steps/SignUpSecurityStep.js.map +1 -1
  83. package/lib/commonjs/ui/screens/steps/SignUpSummaryStep.js +84 -146
  84. package/lib/commonjs/ui/screens/steps/SignUpSummaryStep.js.map +1 -1
  85. package/lib/commonjs/ui/screens/steps/SignUpWelcomeStep.js +113 -34
  86. package/lib/commonjs/ui/screens/steps/SignUpWelcomeStep.js.map +1 -1
  87. package/lib/commonjs/ui/stores/accountStore.js +237 -0
  88. package/lib/commonjs/ui/stores/accountStore.js.map +1 -0
  89. package/lib/commonjs/ui/stores/authStore.js +17 -20
  90. package/lib/commonjs/ui/stores/authStore.js.map +1 -1
  91. package/lib/commonjs/ui/styles/authStyles.js +16 -8
  92. package/lib/commonjs/ui/styles/authStyles.js.map +1 -1
  93. package/lib/commonjs/ui/styles/index.js +11 -0
  94. package/lib/commonjs/ui/styles/index.js.map +1 -1
  95. package/lib/commonjs/ui/styles/spacing.js +51 -0
  96. package/lib/commonjs/ui/styles/spacing.js.map +1 -0
  97. package/lib/commonjs/utils/asyncUtils.js +9 -22
  98. package/lib/commonjs/utils/asyncUtils.js.map +1 -1
  99. package/lib/commonjs/utils/cache.js +259 -0
  100. package/lib/commonjs/utils/cache.js.map +1 -0
  101. package/lib/commonjs/utils/index.js +99 -0
  102. package/lib/commonjs/utils/index.js.map +1 -1
  103. package/lib/commonjs/utils/languageUtils.js +159 -0
  104. package/lib/commonjs/utils/languageUtils.js.map +1 -0
  105. package/lib/commonjs/utils/requestUtils.js +217 -0
  106. package/lib/commonjs/utils/requestUtils.js.map +1 -0
  107. package/lib/commonjs/utils/sessionUtils.js +191 -0
  108. package/lib/commonjs/utils/sessionUtils.js.map +1 -0
  109. package/lib/commonjs/utils/validationUtils.js +1 -1
  110. package/lib/module/core/HttpClient.js +232 -0
  111. package/lib/module/core/HttpClient.js.map +1 -0
  112. package/lib/module/core/OxyServices.js +528 -326
  113. package/lib/module/core/OxyServices.js.map +1 -1
  114. package/lib/module/core/RequestManager.js +194 -0
  115. package/lib/module/core/RequestManager.js.map +1 -0
  116. package/lib/module/core/index.js +2 -0
  117. package/lib/module/core/index.js.map +1 -1
  118. package/lib/module/i18n/index.js +37 -1
  119. package/lib/module/i18n/index.js.map +1 -1
  120. package/lib/module/i18n/locales/ar-SA.json +128 -0
  121. package/lib/module/i18n/locales/ca-ES.json +128 -0
  122. package/lib/module/i18n/locales/de-DE.json +128 -0
  123. package/lib/module/i18n/locales/en-US.json +85 -12
  124. package/lib/module/i18n/locales/es-ES.json +58 -6
  125. package/lib/module/i18n/locales/fr-FR.json +128 -0
  126. package/lib/module/i18n/locales/it-IT.json +128 -0
  127. package/lib/module/i18n/locales/ja-JP.json +127 -0
  128. package/lib/module/i18n/locales/ko-KR.json +128 -0
  129. package/lib/module/i18n/locales/pt-PT.json +128 -0
  130. package/lib/module/i18n/locales/zh-CN.json +128 -0
  131. package/lib/module/index.js +2 -0
  132. package/lib/module/index.js.map +1 -1
  133. package/lib/module/ui/components/Avatar.js +94 -27
  134. package/lib/module/ui/components/Avatar.js.map +1 -1
  135. package/lib/module/ui/components/FollowButton.js +1 -0
  136. package/lib/module/ui/components/FollowButton.js.map +1 -1
  137. package/lib/module/ui/components/FontLoader.js +23 -43
  138. package/lib/module/ui/components/FontLoader.js.map +1 -1
  139. package/lib/module/ui/components/OxyProvider.js +6 -8
  140. package/lib/module/ui/components/OxyProvider.js.map +1 -1
  141. package/lib/module/ui/components/StepBasedScreen.js +65 -45
  142. package/lib/module/ui/components/StepBasedScreen.js.map +1 -1
  143. package/lib/module/ui/components/internal/GroupedPillButtons.js +14 -35
  144. package/lib/module/ui/components/internal/GroupedPillButtons.js.map +1 -1
  145. package/lib/module/ui/components/internal/PinInput.js +2 -2
  146. package/lib/module/ui/components/internal/PinInput.js.map +1 -1
  147. package/lib/module/ui/components/internal/TextField.js +13 -8
  148. package/lib/module/ui/components/internal/TextField.js.map +1 -1
  149. package/lib/module/ui/context/OxyContext.js +442 -370
  150. package/lib/module/ui/context/OxyContext.js.map +1 -1
  151. package/lib/module/ui/hooks/useSessionSocket.js +80 -22
  152. package/lib/module/ui/hooks/useSessionSocket.js.map +1 -1
  153. package/lib/module/ui/index.js +4 -2
  154. package/lib/module/ui/index.js.map +1 -1
  155. package/lib/module/ui/screens/AccountSettingsScreen.js +33 -2
  156. package/lib/module/ui/screens/AccountSettingsScreen.js.map +1 -1
  157. package/lib/module/ui/screens/AccountSwitcherScreen.js +102 -60
  158. package/lib/module/ui/screens/AccountSwitcherScreen.js.map +1 -1
  159. package/lib/module/ui/screens/FileManagementScreen.js +3 -2
  160. package/lib/module/ui/screens/FileManagementScreen.js.map +1 -1
  161. package/lib/module/ui/screens/LanguageSelectorScreen.js +73 -117
  162. package/lib/module/ui/screens/LanguageSelectorScreen.js.map +1 -1
  163. package/lib/module/ui/screens/SignInScreen.js +44 -51
  164. package/lib/module/ui/screens/SignInScreen.js.map +1 -1
  165. package/lib/module/ui/screens/SignUpScreen.js +14 -16
  166. package/lib/module/ui/screens/SignUpScreen.js.map +1 -1
  167. package/lib/module/ui/screens/WelcomeNewUserScreen.js +187 -143
  168. package/lib/module/ui/screens/WelcomeNewUserScreen.js.map +1 -1
  169. package/lib/module/ui/screens/internal/SignInPasswordStep.js +10 -10
  170. package/lib/module/ui/screens/internal/SignInPasswordStep.js.map +1 -1
  171. package/lib/module/ui/screens/internal/SignInUsernameStep.js +2 -4
  172. package/lib/module/ui/screens/internal/SignInUsernameStep.js.map +1 -1
  173. package/lib/module/ui/screens/steps/RecoverRequestStep.js +45 -25
  174. package/lib/module/ui/screens/steps/RecoverRequestStep.js.map +1 -1
  175. package/lib/module/ui/screens/steps/RecoverResetPasswordStep.js +89 -54
  176. package/lib/module/ui/screens/steps/RecoverResetPasswordStep.js.map +1 -1
  177. package/lib/module/ui/screens/steps/RecoverSuccessStep.js +80 -59
  178. package/lib/module/ui/screens/steps/RecoverSuccessStep.js.map +1 -1
  179. package/lib/module/ui/screens/steps/RecoverVerifyStep.js +62 -53
  180. package/lib/module/ui/screens/steps/RecoverVerifyStep.js.map +1 -1
  181. package/lib/module/ui/screens/steps/SignInPasswordStep.js +219 -40
  182. package/lib/module/ui/screens/steps/SignInPasswordStep.js.map +1 -1
  183. package/lib/module/ui/screens/steps/SignInTotpStep.js +78 -51
  184. package/lib/module/ui/screens/steps/SignInTotpStep.js.map +1 -1
  185. package/lib/module/ui/screens/steps/SignInUsernameStep.js +426 -73
  186. package/lib/module/ui/screens/steps/SignInUsernameStep.js.map +1 -1
  187. package/lib/module/ui/screens/steps/SignUpIdentityStep.js +55 -30
  188. package/lib/module/ui/screens/steps/SignUpIdentityStep.js.map +1 -1
  189. package/lib/module/ui/screens/steps/SignUpSecurityStep.js +65 -47
  190. package/lib/module/ui/screens/steps/SignUpSecurityStep.js.map +1 -1
  191. package/lib/module/ui/screens/steps/SignUpSummaryStep.js +84 -146
  192. package/lib/module/ui/screens/steps/SignUpSummaryStep.js.map +1 -1
  193. package/lib/module/ui/screens/steps/SignUpWelcomeStep.js +114 -35
  194. package/lib/module/ui/screens/steps/SignUpWelcomeStep.js.map +1 -1
  195. package/lib/module/ui/stores/accountStore.js +229 -0
  196. package/lib/module/ui/stores/accountStore.js.map +1 -0
  197. package/lib/module/ui/stores/authStore.js +17 -20
  198. package/lib/module/ui/stores/authStore.js.map +1 -1
  199. package/lib/module/ui/styles/authStyles.js +16 -8
  200. package/lib/module/ui/styles/authStyles.js.map +1 -1
  201. package/lib/module/ui/styles/index.js +1 -0
  202. package/lib/module/ui/styles/index.js.map +1 -1
  203. package/lib/module/ui/styles/spacing.js +48 -0
  204. package/lib/module/ui/styles/spacing.js.map +1 -0
  205. package/lib/module/utils/asyncUtils.js +10 -22
  206. package/lib/module/utils/asyncUtils.js.map +1 -1
  207. package/lib/module/utils/cache.js +250 -0
  208. package/lib/module/utils/cache.js.map +1 -0
  209. package/lib/module/utils/index.js +7 -0
  210. package/lib/module/utils/index.js.map +1 -1
  211. package/lib/module/utils/languageUtils.js +151 -0
  212. package/lib/module/utils/languageUtils.js.map +1 -0
  213. package/lib/module/utils/requestUtils.js +210 -0
  214. package/lib/module/utils/requestUtils.js.map +1 -0
  215. package/lib/module/utils/sessionUtils.js +180 -0
  216. package/lib/module/utils/sessionUtils.js.map +1 -0
  217. package/lib/module/utils/validationUtils.js +1 -1
  218. package/lib/typescript/core/HttpClient.d.ts +64 -0
  219. package/lib/typescript/core/HttpClient.d.ts.map +1 -0
  220. package/lib/typescript/core/OxyServices.d.ts +86 -73
  221. package/lib/typescript/core/OxyServices.d.ts.map +1 -1
  222. package/lib/typescript/core/RequestManager.d.ts +67 -0
  223. package/lib/typescript/core/RequestManager.d.ts.map +1 -0
  224. package/lib/typescript/core/index.d.ts +2 -0
  225. package/lib/typescript/core/index.d.ts.map +1 -1
  226. package/lib/typescript/i18n/index.d.ts.map +1 -1
  227. package/lib/typescript/index.d.ts +2 -0
  228. package/lib/typescript/index.d.ts.map +1 -1
  229. package/lib/typescript/models/interfaces.d.ts +15 -0
  230. package/lib/typescript/models/interfaces.d.ts.map +1 -1
  231. package/lib/typescript/models/session.d.ts +1 -0
  232. package/lib/typescript/models/session.d.ts.map +1 -1
  233. package/lib/typescript/ui/components/Avatar.d.ts +6 -7
  234. package/lib/typescript/ui/components/Avatar.d.ts.map +1 -1
  235. package/lib/typescript/ui/components/FollowButton.d.ts.map +1 -1
  236. package/lib/typescript/ui/components/FontLoader.d.ts +3 -3
  237. package/lib/typescript/ui/components/FontLoader.d.ts.map +1 -1
  238. package/lib/typescript/ui/components/OxyProvider.d.ts +2 -2
  239. package/lib/typescript/ui/components/OxyProvider.d.ts.map +1 -1
  240. package/lib/typescript/ui/components/StepBasedScreen.d.ts.map +1 -1
  241. package/lib/typescript/ui/components/internal/GroupedPillButtons.d.ts.map +1 -1
  242. package/lib/typescript/ui/components/internal/TextField.d.ts.map +1 -1
  243. package/lib/typescript/ui/context/OxyContext.d.ts +5 -0
  244. package/lib/typescript/ui/context/OxyContext.d.ts.map +1 -1
  245. package/lib/typescript/ui/hooks/useSessionSocket.d.ts.map +1 -1
  246. package/lib/typescript/ui/index.d.ts +2 -2
  247. package/lib/typescript/ui/index.d.ts.map +1 -1
  248. package/lib/typescript/ui/screens/AccountSettingsScreen.d.ts.map +1 -1
  249. package/lib/typescript/ui/screens/AccountSwitcherScreen.d.ts.map +1 -1
  250. package/lib/typescript/ui/screens/LanguageSelectorScreen.d.ts +3 -3
  251. package/lib/typescript/ui/screens/LanguageSelectorScreen.d.ts.map +1 -1
  252. package/lib/typescript/ui/screens/SignInScreen.d.ts.map +1 -1
  253. package/lib/typescript/ui/screens/SignUpScreen.d.ts.map +1 -1
  254. package/lib/typescript/ui/screens/WelcomeNewUserScreen.d.ts.map +1 -1
  255. package/lib/typescript/ui/screens/internal/SignInPasswordStep.d.ts.map +1 -1
  256. package/lib/typescript/ui/screens/steps/RecoverRequestStep.d.ts.map +1 -1
  257. package/lib/typescript/ui/screens/steps/RecoverResetPasswordStep.d.ts.map +1 -1
  258. package/lib/typescript/ui/screens/steps/RecoverSuccessStep.d.ts.map +1 -1
  259. package/lib/typescript/ui/screens/steps/RecoverVerifyStep.d.ts.map +1 -1
  260. package/lib/typescript/ui/screens/steps/SignInPasswordStep.d.ts +2 -0
  261. package/lib/typescript/ui/screens/steps/SignInPasswordStep.d.ts.map +1 -1
  262. package/lib/typescript/ui/screens/steps/SignInTotpStep.d.ts.map +1 -1
  263. package/lib/typescript/ui/screens/steps/SignInUsernameStep.d.ts.map +1 -1
  264. package/lib/typescript/ui/screens/steps/SignUpIdentityStep.d.ts.map +1 -1
  265. package/lib/typescript/ui/screens/steps/SignUpSecurityStep.d.ts.map +1 -1
  266. package/lib/typescript/ui/screens/steps/SignUpSummaryStep.d.ts.map +1 -1
  267. package/lib/typescript/ui/screens/steps/SignUpWelcomeStep.d.ts.map +1 -1
  268. package/lib/typescript/ui/stores/accountStore.d.ts +34 -0
  269. package/lib/typescript/ui/stores/accountStore.d.ts.map +1 -0
  270. package/lib/typescript/ui/stores/authStore.d.ts +7 -3
  271. package/lib/typescript/ui/stores/authStore.d.ts.map +1 -1
  272. package/lib/typescript/ui/styles/authStyles.d.ts +19 -2
  273. package/lib/typescript/ui/styles/authStyles.d.ts.map +1 -1
  274. package/lib/typescript/ui/styles/index.d.ts +1 -0
  275. package/lib/typescript/ui/styles/index.d.ts.map +1 -1
  276. package/lib/typescript/ui/styles/spacing.d.ts +43 -0
  277. package/lib/typescript/ui/styles/spacing.d.ts.map +1 -0
  278. package/lib/typescript/utils/asyncUtils.d.ts +2 -0
  279. package/lib/typescript/utils/asyncUtils.d.ts.map +1 -1
  280. package/lib/typescript/utils/cache.d.ts +128 -0
  281. package/lib/typescript/utils/cache.d.ts.map +1 -0
  282. package/lib/typescript/utils/index.d.ts +4 -0
  283. package/lib/typescript/utils/index.d.ts.map +1 -1
  284. package/lib/typescript/utils/languageUtils.d.ts +38 -0
  285. package/lib/typescript/utils/languageUtils.d.ts.map +1 -0
  286. package/lib/typescript/utils/requestUtils.d.ts +122 -0
  287. package/lib/typescript/utils/requestUtils.d.ts.map +1 -0
  288. package/lib/typescript/utils/sessionUtils.d.ts +55 -0
  289. package/lib/typescript/utils/sessionUtils.d.ts.map +1 -0
  290. package/lib/typescript/utils/validationUtils.d.ts +1 -1
  291. package/package.json +1 -1
  292. package/src/core/HttpClient.ts +277 -0
  293. package/src/core/OxyServices.ts +461 -352
  294. package/src/core/RequestManager.ts +240 -0
  295. package/src/core/index.ts +10 -0
  296. package/src/i18n/index.ts +36 -0
  297. package/src/i18n/locales/ar-SA.json +128 -0
  298. package/src/i18n/locales/ca-ES.json +128 -0
  299. package/src/i18n/locales/de-DE.json +128 -0
  300. package/src/i18n/locales/en-US.json +85 -12
  301. package/src/i18n/locales/es-ES.json +58 -6
  302. package/src/i18n/locales/fr-FR.json +128 -0
  303. package/src/i18n/locales/it-IT.json +128 -0
  304. package/src/i18n/locales/ja-JP.json +127 -0
  305. package/src/i18n/locales/ko-KR.json +128 -0
  306. package/src/i18n/locales/pt-PT.json +128 -0
  307. package/src/i18n/locales/zh-CN.json +128 -0
  308. package/src/index.ts +10 -0
  309. package/src/models/interfaces.ts +19 -0
  310. package/src/models/session.ts +1 -1
  311. package/src/ui/components/Avatar.tsx +151 -35
  312. package/src/ui/components/FollowButton.tsx +1 -0
  313. package/src/ui/components/FontLoader.tsx +17 -37
  314. package/src/ui/components/OxyProvider.tsx +14 -13
  315. package/src/ui/components/StepBasedScreen.tsx +66 -43
  316. package/src/ui/components/internal/GroupedPillButtons.tsx +15 -31
  317. package/src/ui/components/internal/PinInput.tsx +2 -2
  318. package/src/ui/components/internal/TextField.tsx +7 -6
  319. package/src/ui/context/OxyContext.tsx +441 -326
  320. package/src/ui/hooks/useSessionSocket.ts +72 -18
  321. package/src/ui/index.ts +4 -1
  322. package/src/ui/screens/AccountSettingsScreen.tsx +34 -2
  323. package/src/ui/screens/AccountSwitcherScreen.tsx +102 -68
  324. package/src/ui/screens/FileManagementScreen.tsx +16 -16
  325. package/src/ui/screens/LanguageSelectorScreen.tsx +86 -143
  326. package/src/ui/screens/SignInScreen.tsx +59 -43
  327. package/src/ui/screens/SignUpScreen.tsx +14 -15
  328. package/src/ui/screens/WelcomeNewUserScreen.tsx +153 -105
  329. package/src/ui/screens/internal/SignInPasswordStep.tsx +4 -6
  330. package/src/ui/screens/internal/SignInUsernameStep.tsx +1 -1
  331. package/src/ui/screens/steps/RecoverRequestStep.tsx +34 -24
  332. package/src/ui/screens/steps/RecoverResetPasswordStep.tsx +65 -36
  333. package/src/ui/screens/steps/RecoverSuccessStep.tsx +71 -47
  334. package/src/ui/screens/steps/RecoverVerifyStep.tsx +60 -50
  335. package/src/ui/screens/steps/SignInPasswordStep.tsx +190 -32
  336. package/src/ui/screens/steps/SignInTotpStep.tsx +68 -34
  337. package/src/ui/screens/steps/SignInUsernameStep.tsx +446 -63
  338. package/src/ui/screens/steps/SignUpIdentityStep.tsx +49 -35
  339. package/src/ui/screens/steps/SignUpSecurityStep.tsx +56 -39
  340. package/src/ui/screens/steps/SignUpSummaryStep.tsx +99 -89
  341. package/src/ui/screens/steps/SignUpWelcomeStep.tsx +88 -20
  342. package/src/ui/stores/accountStore.ts +285 -0
  343. package/src/ui/stores/authStore.ts +16 -19
  344. package/src/ui/styles/authStyles.ts +16 -8
  345. package/src/ui/styles/index.ts +1 -0
  346. package/src/ui/styles/spacing.ts +46 -0
  347. package/src/utils/asyncUtils.ts +10 -24
  348. package/src/utils/cache.ts +264 -0
  349. package/src/utils/index.ts +19 -0
  350. package/src/utils/languageUtils.ts +174 -0
  351. package/src/utils/requestUtils.ts +234 -0
  352. package/src/utils/sessionUtils.ts +206 -0
  353. package/src/utils/validationUtils.ts +1 -1
@@ -0,0 +1,128 @@
1
+ {
2
+ "signin": {
3
+ "title": "登录",
4
+ "subtitle": "登录以继续",
5
+ "addAccountTitle": "添加另一个账户",
6
+ "addAccountSubtitle": "使用另一个账户登录",
7
+ "username": {
8
+ "label": "用户名",
9
+ "placeholder": "输入您的用户名",
10
+ "helper": "3-30个字符,仅字母和数字",
11
+ "required": "请输入您的用户名。",
12
+ "minLength": "用户名必须至少包含3个字符。"
13
+ },
14
+ "password": {
15
+ "label": "密码",
16
+ "placeholder": "输入您的密码",
17
+ "required": "请输入您的密码。",
18
+ "hint": "输入您的密码以登录"
19
+ },
20
+ "actions": {
21
+ "continue": "继续",
22
+ "back": "返回",
23
+ "signIn": "登录",
24
+ "verify": "验证",
25
+ "openAccountSwitcher": "切换到另一个账户",
26
+ "openAccountSwitcherSubtitle": "{{count}}个其他账户可用",
27
+ "openAccountSwitcherSubtitle_singular": "1个其他账户可用",
28
+ "openAccountSwitcherSubtitle_zero": "查看您保存的账户",
29
+ "manageAccounts": "管理保存的账户",
30
+ "manageAccountsSubtitle": "查看会话、删除或登出",
31
+ "loadingOtherAccounts": "加载其他账户中…",
32
+ "switchAccountFailed": "无法切换账户。请重试。"
33
+ },
34
+ "forgotPrompt": "忘记密码?",
35
+ "security": {
36
+ "dataSecure": "您的数据已加密且安全"
37
+ },
38
+ "currentlySignedInAs": "当前登录为",
39
+ "alreadySignedInWith": "已登录",
40
+ "alreadySignedIn": "已登录",
41
+ "alreadySignedInMessage": "此账户已登录。继续使用此账户?",
42
+ "continueWithAccount": "继续",
43
+ "currentAccount": "当前",
44
+ "or": "或",
45
+ "viewAllAccounts": "查看更多{{count}}个",
46
+ "status": {
47
+ "accountSwitched": "正在使用{{name}}"
48
+ },
49
+ "totp": {
50
+ "title": "双因素验证码",
51
+ "subtitle": "输入@{{username}}的验证器应用中的6位数字代码",
52
+ "invalidCode": "无效的代码。请重试。",
53
+ "noAccess": "无法访问您的验证器?",
54
+ "useBackupCode": "使用备份代码",
55
+ "useRecoveryKey": "使用恢复密钥"
56
+ }
57
+ },
58
+ "signup": {
59
+ "welcome": {
60
+ "title": "欢迎使用Oxy!",
61
+ "subtitle": "只需几步即可创建您的账户",
62
+ "haveAccount": "已有账户?",
63
+ "signInCta": "登录"
64
+ },
65
+ "identity": {
66
+ "title": "您是谁?",
67
+ "subtitle": "选择您的用户名并输入您的电子邮件"
68
+ },
69
+ "username": {
70
+ "helper": "3-30个字符,仅字母和数字",
71
+ "required": "请输入用户名",
72
+ "minLength": "用户名必须至少包含3个字符"
73
+ },
74
+ "email": {
75
+ "required": "请输入电子邮件地址",
76
+ "invalid": "请输入有效的电子邮件地址",
77
+ "helper": "我们绝不会分享您的电子邮件"
78
+ },
79
+ "security": {
80
+ "title": "保护您的账户",
81
+ "subtitle": "创建强密码以保护您的账户"
82
+ },
83
+ "password": {
84
+ "helper": "至少8个字符",
85
+ "required": "请输入密码",
86
+ "minLength": "密码必须至少包含8个字符",
87
+ "confirmRequired": "请确认您的密码",
88
+ "mismatch": "密码不匹配",
89
+ "confirmHint": "重新输入您的密码以确认"
90
+ },
91
+ "summary": {
92
+ "title": "快完成了!",
93
+ "subtitle": "查看您的信息并创建账户",
94
+ "sectionTitle": "账户信息",
95
+ "fields": {
96
+ "username": "用户名",
97
+ "email": "电子邮件",
98
+ "password": "密码"
99
+ },
100
+ "notSet": "未设置",
101
+ "securityTip": "为了更强的安全性,创建账户后,请在账户设置中启用双因素身份验证(TOTP)。",
102
+ "legalReminder": "创建账户即表示您同意我们的服务条款和隐私政策。"
103
+ }
104
+ },
105
+ "common": {
106
+ "actions": {
107
+ "back": "返回",
108
+ "continue": "继续",
109
+ "next": "下一步",
110
+ "getStarted": "开始",
111
+ "createAccount": "创建账户",
112
+ "signIn": "登录",
113
+ "verify": "验证",
114
+ "resetPassword": "重置密码"
115
+ },
116
+ "links": {
117
+ "recoverAccount": "恢复您的账户",
118
+ "signUp": "注册"
119
+ },
120
+ "labels": {
121
+ "username": "用户名",
122
+ "email": "电子邮件",
123
+ "password": "密码",
124
+ "confirmPassword": "确认密码"
125
+ }
126
+ }
127
+ }
128
+
@@ -22,6 +22,8 @@ export { default as OxyProvider } from './ui/components/OxyProvider';
22
22
 
23
23
  // Device management
24
24
  export { DeviceManager } from './utils/deviceManager';
25
+ // Language utilities
26
+ export { SUPPORTED_LANGUAGES, getLanguageMetadata, getLanguageName, getNativeLanguageName, normalizeLanguageCode } from './utils/languageUtils';
25
27
 
26
28
  // Type exports
27
29
 
@@ -1 +1 @@
1
- {"version":3,"names":["OxyServices","OxyAuthenticationError","OxyAuthenticationTimeoutError","OXY_CLOUD_URL","oxyClient","OxyContextProvider","useOxy","default","OxyProvider","DeviceManager","useAuthStore","useAssetStore","useAssets","useAssetsStore","useAsset","useUploadProgress","useAssetLoading","useAssetErrors","useAssetsByApp","useAssetsByEntity","useAssetUsageCount","useIsAssetLinked","useSessionSocket","setOxyAssetInstance","OxySignInButton","OxyLogo","FollowButton","ErrorCodes","createApiError","handleHttpError","validateRequiredFields","retryWithBackoff","logger","LogLevel","LogContext","logAuth","logApi","logSession","logUser","logDevice","logPayment","logPerformance"],"sourceRoot":"../../src","sources":["index.ts"],"mappings":";;AAAA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA,SAASA,WAAW,EAAEC,sBAAsB,EAAEC,6BAA6B,QAAQ,QAAQ;AAC3F,SAASC,aAAa,EAAEC,SAAS,QAAQ,QAAQ;;AAEjD;AACA,SACEC,kBAAkB;AAAE;AACpBC,MAAM,QACD,yBAAyB;;AAEhC;AACA,SAASC,OAAO,IAAIC,WAAW,QAAQ,6BAA6B;;AAEpE;AACA,SAASC,aAAa,QAAQ,uBAAuB;;AAGrD;;AAuDA;AACA,SAASC,YAAY,QAAQ,uBAAuB;AACpD,SAASC,aAAa,EAAEC,SAAS,IAAIC,cAAc,EAAEC,QAAQ,EAAEC,iBAAiB,EAAEC,eAAe,EAAEC,cAAc,EAAEC,cAAc,EAAEC,iBAAiB,EAAEC,kBAAkB,EAAEC,gBAAgB,QAAQ,wBAAwB;AAC1N,SAASC,gBAAgB,QAAQ,6BAA6B;AAC9D,SAASV,SAAS,EAAEW,mBAAmB,QAAQ,sBAAsB;;AAErE;AACA,SAASC,eAAe,QAAQ,iCAAiC;AACjE,SAASC,OAAO,EAAEC,YAAY,QAAQ,MAAM;;AAE5C;AACA,cAAc,kBAAkB;AAChC,SACEC,UAAU,EACVC,cAAc,EACdC,eAAe,EACfC,sBAAsB,EACtBC,gBAAgB,QACX,oBAAoB;AAC3B,cAAc,yBAAyB;AACvC,SACEC,MAAM,EACNC,QAAQ,EACRC,UAAU,EACVC,OAAO,EACPC,MAAM,EACNC,UAAU,EACVC,OAAO,EACPC,SAAS,EACTC,UAAU,EACVC,cAAc,QACT,qBAAqB;AAC5B,cAAc,oBAAoB;AAClC,cAAc,mBAAmB","ignoreList":[]}
1
+ {"version":3,"names":["OxyServices","OxyAuthenticationError","OxyAuthenticationTimeoutError","OXY_CLOUD_URL","oxyClient","OxyContextProvider","useOxy","default","OxyProvider","DeviceManager","SUPPORTED_LANGUAGES","getLanguageMetadata","getLanguageName","getNativeLanguageName","normalizeLanguageCode","useAuthStore","useAssetStore","useAssets","useAssetsStore","useAsset","useUploadProgress","useAssetLoading","useAssetErrors","useAssetsByApp","useAssetsByEntity","useAssetUsageCount","useIsAssetLinked","useSessionSocket","setOxyAssetInstance","OxySignInButton","OxyLogo","FollowButton","ErrorCodes","createApiError","handleHttpError","validateRequiredFields","retryWithBackoff","logger","LogLevel","LogContext","logAuth","logApi","logSession","logUser","logDevice","logPayment","logPerformance"],"sourceRoot":"../../src","sources":["index.ts"],"mappings":";;AAAA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA,SAASA,WAAW,EAAEC,sBAAsB,EAAEC,6BAA6B,QAAQ,QAAQ;AAC3F,SAASC,aAAa,EAAEC,SAAS,QAAQ,QAAQ;;AAEjD;AACA,SACEC,kBAAkB;AAAE;AACpBC,MAAM,QACD,yBAAyB;;AAEhC;AACA,SAASC,OAAO,IAAIC,WAAW,QAAQ,6BAA6B;;AAEpE;AACA,SAASC,aAAa,QAAQ,uBAAuB;AAGrD;AACA,SACEC,mBAAmB,EACnBC,mBAAmB,EACnBC,eAAe,EACfC,qBAAqB,EACrBC,qBAAqB,QAChB,uBAAuB;;AAG9B;;AAuDA;AACA,SAASC,YAAY,QAAQ,uBAAuB;AACpD,SAASC,aAAa,EAAEC,SAAS,IAAIC,cAAc,EAAEC,QAAQ,EAAEC,iBAAiB,EAAEC,eAAe,EAAEC,cAAc,EAAEC,cAAc,EAAEC,iBAAiB,EAAEC,kBAAkB,EAAEC,gBAAgB,QAAQ,wBAAwB;AAC1N,SAASC,gBAAgB,QAAQ,6BAA6B;AAC9D,SAASV,SAAS,EAAEW,mBAAmB,QAAQ,sBAAsB;;AAErE;AACA,SAASC,eAAe,QAAQ,iCAAiC;AACjE,SAASC,OAAO,EAAEC,YAAY,QAAQ,MAAM;;AAE5C;AACA,cAAc,kBAAkB;AAChC,SACEC,UAAU,EACVC,cAAc,EACdC,eAAe,EACfC,sBAAsB,EACtBC,gBAAgB,QACX,oBAAoB;AAC3B,cAAc,yBAAyB;AACvC,SACEC,MAAM,EACNC,QAAQ,EACRC,UAAU,EACVC,OAAO,EACPC,MAAM,EACNC,UAAU,EACVC,OAAO,EACPC,SAAS,EACTC,UAAU,EACVC,cAAc,QACT,qBAAqB;AAC5B,cAAc,oBAAoB;AAClC,cAAc,mBAAmB","ignoreList":[]}
@@ -1,12 +1,67 @@
1
1
  "use strict";
2
2
 
3
+ import { memo, useMemo } from 'react';
3
4
  import { View, Text, Image, StyleSheet, ActivityIndicator, Platform } from 'react-native';
4
5
  import { useThemeColors } from '../styles';
5
6
  import { fontFamilies } from '../styles/fonts';
6
7
  import { jsx as _jsx } from "react/jsx-runtime";
8
+ /**
9
+ * Extracts initials from a name string
10
+ * - Single word: first letter (e.g., "John" -> "J")
11
+ * - Multiple words: first letter of first and last word (e.g., "John Doe" -> "JD")
12
+ * - Username starting with @: first two letters after @ (e.g., "@johndoe" -> "JO")
13
+ */
14
+ const getInitials = nameStr => {
15
+ if (!nameStr?.trim()) return '';
16
+ const trimmed = nameStr.trim();
17
+ const parts = trimmed.split(/\s+/).filter(part => part.length > 0);
18
+ if (parts.length === 0) return '';
19
+ if (parts.length === 1) {
20
+ const firstPart = parts[0];
21
+ // Handle username format (@username)
22
+ if (firstPart.length >= 2 && firstPart.startsWith('@')) {
23
+ return firstPart.substring(1, 3).toUpperCase();
24
+ }
25
+ return firstPart.charAt(0).toUpperCase();
26
+ }
27
+
28
+ // Multiple words: first letter of first and last word
29
+ return (parts[0].charAt(0) + parts[parts.length - 1].charAt(0)).toUpperCase();
30
+ };
31
+
32
+ /**
33
+ * Generates a consistent color from a string (name)
34
+ * Uses a simple hash function to create a deterministic color
35
+ */
36
+ const generateColorFromString = str => {
37
+ let hash = 0;
38
+ for (let i = 0; i < str.length; i++) {
39
+ hash = str.charCodeAt(i) + ((hash << 5) - hash);
40
+ }
41
+
42
+ // Generate a vibrant color with good contrast
43
+ const hue = Math.abs(hash) % 360;
44
+ // Use high saturation and medium lightness for vibrant, readable colors
45
+ return `hsl(${hue}, 65%, 55%)`;
46
+ };
47
+
48
+ /**
49
+ * Calculates font size based on avatar size for letter avatars
50
+ * Uses a larger ratio for better visibility
51
+ */
52
+ const calculateFontSize = size => {
53
+ // Use larger font size for letter avatars (50-55% of size)
54
+ return size <= 40 ? Math.floor(size * 0.5) : Math.floor(size * 0.45);
55
+ };
56
+
7
57
  /**
8
58
  * Avatar component that displays either an image or text avatar
9
- * Falls back to displaying the first letter of the name if no image is provided
59
+ * Falls back to displaying initials (1-2 letters) derived from the name if no image is provided
60
+ * Supports flexible sizing via the size prop (default: 40px)
61
+ *
62
+ * @example
63
+ * <Avatar name="John Doe" size={100} theme="light" />
64
+ * <Avatar uri="https://example.com/avatar.jpg" size={50} />
10
65
  */
11
66
  const Avatar = ({
12
67
  uri,
@@ -21,24 +76,39 @@ const Avatar = ({
21
76
  textStyle,
22
77
  isLoading = false
23
78
  }) => {
24
- // Get theme colors
25
79
  const colors = useThemeColors(theme);
80
+ const displayText = useMemo(() => text || (name ? getInitials(name) : ''), [text, name]);
26
81
 
27
- // Use the primary color from theme as default background if not specified
28
- const bgColor = backgroundColor || colors.primary;
29
-
30
- // Calculate font size based on avatar size
31
- const fontSize = Math.floor(size * 0.4);
32
-
33
- // Determine what text to display for fallback
34
- const displayText = text || (name ? name.charAt(0).toUpperCase() : '');
82
+ // Generate a color from the name for letter avatars (only when no backgroundColor is provided and no uri)
83
+ const generatedBgColor = useMemo(() => {
84
+ if (backgroundColor) return backgroundColor;
85
+ if (uri) return colors.primary; // Use primary for image avatars as fallback
86
+ // Generate color from name for letter avatars
87
+ const nameForColor = name || text || 'User';
88
+ return generateColorFromString(nameForColor);
89
+ }, [backgroundColor, uri, name, text, colors.primary]);
35
90
 
36
- // Style for container based on size
37
- const containerStyle = {
91
+ // Memoize computed values to avoid recalculation on every render
92
+ const bgColor = useMemo(() => generatedBgColor, [generatedBgColor]);
93
+ const fontSize = useMemo(() => calculateFontSize(size), [size]);
94
+ const containerStyle = useMemo(() => ({
38
95
  width: size,
39
96
  height: size,
40
- borderRadius: size / 2 // Make it circular
41
- };
97
+ borderRadius: size / 2
98
+ }), [size]);
99
+ const textStyleComputed = useMemo(() => [styles.text, {
100
+ fontSize,
101
+ fontFamily: fontFamilies.phuduBold,
102
+ color: textColor,
103
+ textAlign: 'center',
104
+ lineHeight: size,
105
+ // Match line height to size for perfect vertical centering
106
+ ...(Platform.OS === 'android' && {
107
+ includeFontPadding: false
108
+ }) // Remove extra padding for better centering (Android only)
109
+ }, textStyle], [fontSize, textColor, textStyle, size]);
110
+
111
+ // Early return for loading state
42
112
  if (isLoading) {
43
113
  return /*#__PURE__*/_jsx(View, {
44
114
  style: [styles.container, containerStyle, {
@@ -51,7 +121,7 @@ const Avatar = ({
51
121
  });
52
122
  }
53
123
 
54
- // If an image URL is provided, use Image component with optional background
124
+ // Image avatar
55
125
  if (uri) {
56
126
  return /*#__PURE__*/_jsx(View, {
57
127
  style: [styles.container, containerStyle, {
@@ -59,25 +129,21 @@ const Avatar = ({
59
129
  }, style],
60
130
  children: /*#__PURE__*/_jsx(Image, {
61
131
  source: {
62
- uri: uri
132
+ uri
63
133
  },
64
- style: [styles.image, containerStyle, imageStyle]
134
+ style: [styles.image, containerStyle, imageStyle],
135
+ resizeMode: "cover"
65
136
  })
66
137
  });
67
138
  }
68
139
 
69
- // Otherwise show text avatar
140
+ // Text avatar with initials
70
141
  return /*#__PURE__*/_jsx(View, {
71
142
  style: [styles.container, containerStyle, {
72
143
  backgroundColor: bgColor
73
144
  }, style],
74
145
  children: /*#__PURE__*/_jsx(Text, {
75
- style: [styles.text, {
76
- fontSize,
77
- fontFamily: fontFamilies.phuduBold
78
- }, {
79
- color: textColor
80
- }, textStyle],
146
+ style: textStyleComputed,
81
147
  children: displayText
82
148
  })
83
149
  });
@@ -93,9 +159,10 @@ const styles = StyleSheet.create({
93
159
  height: '100%'
94
160
  },
95
161
  text: {
96
- // Font family is applied directly in the component to use the constants
97
- fontWeight: Platform.OS === 'web' ? 'bold' : undefined // Only apply fontWeight on web
162
+ fontWeight: Platform.OS === 'web' ? 'bold' : undefined
98
163
  }
99
164
  });
100
- export default Avatar;
165
+
166
+ // Memoize component to prevent unnecessary re-renders when props haven't changed
167
+ export default /*#__PURE__*/memo(Avatar);
101
168
  //# sourceMappingURL=Avatar.js.map
@@ -1 +1 @@
1
- {"version":3,"names":["View","Text","Image","StyleSheet","ActivityIndicator","Platform","useThemeColors","fontFamilies","jsx","_jsx","Avatar","uri","text","name","size","theme","backgroundColor","textColor","style","imageStyle","textStyle","isLoading","colors","bgColor","primary","fontSize","Math","floor","displayText","charAt","toUpperCase","containerStyle","width","height","borderRadius","styles","container","inputBackground","children","color","source","image","fontFamily","phuduBold","create","overflow","justifyContent","alignItems","fontWeight","OS","undefined"],"sourceRoot":"../../../../src","sources":["ui/components/Avatar.tsx"],"mappings":";;AACA,SAASA,IAAI,EAAEC,IAAI,EAAEC,KAAK,EAAEC,UAAU,EAAmEC,iBAAiB,EAAEC,QAAQ,QAAQ,cAAc;AAC1J,SAASC,cAAc,QAAQ,WAAW;AAC1C,SAASC,YAAY,QAAQ,iBAAiB;AAAC,SAAAC,GAAA,IAAAC,IAAA;AAkE/C;AACA;AACA;AACA;AACA,MAAMC,MAA6B,GAAGA,CAAC;EACnCC,GAAG;EACHC,IAAI;EACJC,IAAI;EACJC,IAAI,GAAG,EAAE;EACTC,KAAK,GAAG,OAAO;EACfC,eAAe;EACfC,SAAS,GAAG,SAAS;EACrBC,KAAK;EACLC,UAAU;EACVC,SAAS;EACTC,SAAS,GAAG;AAChB,CAAC,KAAK;EACF;EACA,MAAMC,MAAM,GAAGhB,cAAc,CAACS,KAAK,CAAC;;EAEpC;EACA,MAAMQ,OAAO,GAAGP,eAAe,IAAIM,MAAM,CAACE,OAAO;;EAEjD;EACA,MAAMC,QAAQ,GAAGC,IAAI,CAACC,KAAK,CAACb,IAAI,GAAG,GAAG,CAAC;;EAEvC;EACA,MAAMc,WAAW,GAAGhB,IAAI,KACnBC,IAAI,GAAGA,IAAI,CAACgB,MAAM,CAAC,CAAC,CAAC,CAACC,WAAW,CAAC,CAAC,GAAG,EAAE,CAAC;;EAE9C;EACA,MAAMC,cAAc,GAAG;IACnBC,KAAK,EAAElB,IAAI;IACXmB,MAAM,EAAEnB,IAAI;IACZoB,YAAY,EAAEpB,IAAI,GAAG,CAAC,CAAE;EAC5B,CAAC;EAED,IAAIO,SAAS,EAAE;IACX,oBACIZ,IAAA,CAACT,IAAI;MAACkB,KAAK,EAAE,CAACiB,MAAM,CAACC,SAAS,EAAEL,cAAc,EAAE;QAAEf,eAAe,EAAEM,MAAM,CAACe;MAAgB,CAAC,EAAEnB,KAAK,CAAE;MAAAoB,QAAA,eAChG7B,IAAA,CAACL,iBAAiB;QAACmC,KAAK,EAAEjB,MAAM,CAACE,OAAQ;QAACV,IAAI,EAAEA,IAAI,GAAG,EAAE,GAAG,OAAO,GAAG;MAAQ,CAAE;IAAC,CAC/E,CAAC;EAEf;;EAEA;EACA,IAAIH,GAAG,EAAE;IACL,oBACIF,IAAA,CAACT,IAAI;MAACkB,KAAK,EAAE,CAACiB,MAAM,CAACC,SAAS,EAAEL,cAAc,EAAE;QAAEf,eAAe,EAAEO;MAAQ,CAAC,EAAEL,KAAK,CAAE;MAAAoB,QAAA,eACjF7B,IAAA,CAACP,KAAK;QACFsC,MAAM,EAAE;UAAE7B,GAAG,EAAEA;QAAI,CAAE;QACrBO,KAAK,EAAE,CAACiB,MAAM,CAACM,KAAK,EAAEV,cAAc,EAAEZ,UAAU;MAAE,CACrD;IAAC,CACA,CAAC;EAEf;;EAEA;EACA,oBACIV,IAAA,CAACT,IAAI;IAACkB,KAAK,EAAE,CAACiB,MAAM,CAACC,SAAS,EAAEL,cAAc,EAAE;MAAEf,eAAe,EAAEO;IAAQ,CAAC,EAAEL,KAAK,CAAE;IAAAoB,QAAA,eACjF7B,IAAA,CAACR,IAAI;MAACiB,KAAK,EAAE,CACTiB,MAAM,CAACvB,IAAI,EACX;QACIa,QAAQ;QACRiB,UAAU,EAAEnC,YAAY,CAACoC;MAC7B,CAAC,EACD;QAAEJ,KAAK,EAAEtB;MAAU,CAAC,EACpBG,SAAS,CACX;MAAAkB,QAAA,EACGV;IAAW,CACV;EAAC,CACL,CAAC;AAEf,CAAC;AAED,MAAMO,MAAM,GAAGhC,UAAU,CAACyC,MAAM,CAAC;EAC7BR,SAAS,EAAE;IACPS,QAAQ,EAAE,QAAQ;IAClBC,cAAc,EAAE,QAAQ;IACxBC,UAAU,EAAE;EAChB,CAAC;EACDN,KAAK,EAAE;IACHT,KAAK,EAAE,MAAM;IACbC,MAAM,EAAE;EACZ,CAAC;EACDrB,IAAI,EAAE;IACF;IACAoC,UAAU,EAAE3C,QAAQ,CAAC4C,EAAE,KAAK,KAAK,GAAG,MAAM,GAAGC,SAAS,CAAE;EAC5D;AACJ,CAAC,CAAC;AAEF,eAAexC,MAAM","ignoreList":[]}
1
+ {"version":3,"names":["memo","useMemo","View","Text","Image","StyleSheet","ActivityIndicator","Platform","useThemeColors","fontFamilies","jsx","_jsx","getInitials","nameStr","trim","trimmed","parts","split","filter","part","length","firstPart","startsWith","substring","toUpperCase","charAt","generateColorFromString","str","hash","i","charCodeAt","hue","Math","abs","calculateFontSize","size","floor","Avatar","uri","text","name","theme","backgroundColor","textColor","style","imageStyle","textStyle","isLoading","colors","displayText","generatedBgColor","primary","nameForColor","bgColor","fontSize","containerStyle","width","height","borderRadius","textStyleComputed","styles","fontFamily","phuduBold","color","textAlign","lineHeight","OS","includeFontPadding","container","inputBackground","children","source","image","resizeMode","create","overflow","justifyContent","alignItems","fontWeight","undefined"],"sourceRoot":"../../../../src","sources":["ui/components/Avatar.tsx"],"mappings":"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","ignoreList":[]}
@@ -124,6 +124,7 @@ const FollowButton = ({
124
124
  boxShadow: '0 2px 4px rgba(0,0,0,0.1)'
125
125
  },
126
126
  default: {
127
+ shadowColor: '#000',
127
128
  shadowOffset: {
128
129
  width: 0,
129
130
  height: 2
@@ -1 +1 @@
1
- {"version":3,"names":["useEffect","useCallback","TouchableOpacity","Text","StyleSheet","Platform","ActivityIndicator","Animated","useSharedValue","useAnimatedStyle","withSpring","interpolateColor","Easing","withTiming","useOxy","fontFamilies","toast","useFollow","useThemeColors","jsx","_jsx","AnimatedTouchableOpacity","createAnimatedComponent","AnimatedText","FollowButton","userId","initiallyFollowing","size","onFollowChange","style","textStyle","disabled","showLoadingState","preventParentActions","theme","oxyServices","isAuthenticated","colors","isFollowing","isLoading","error","toggleFollow","setFollowStatus","fetchStatus","clearError","animationProgress","scale","handlePress","event","preventDefault","stopPropagation","value","duration","finished","damping","stiffness","err","Error","String","message","easing","inOut","ease","animatedButtonStyle","transform","backgroundColor","background","primary","borderColor","border","animatedTextStyle","color","text","getBaseButtonStyle","baseStyle","flexDirection","alignItems","justifyContent","borderWidth","select","web","boxShadow","default","shadowOffset","width","height","shadowOpacity","shadowRadius","elevation","sizeStyle","paddingVertical","paddingHorizontal","minWidth","borderRadius","getBaseTextStyle","baseTextStyle","fontFamily","phuduSemiBold","fontWeight","sizeTextStyle","fontSize","onPress","activeOpacity","children","styles","create","buttonSmall","buttonMedium","buttonLarge","following","notFollowing","textSmall","phuduMedium","textMedium","textLarge","textFollowing","textNotFollowing"],"sourceRoot":"../../../../src","sources":["ui/components/FollowButton.tsx"],"mappings":"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","ignoreList":[]}
1
+ {"version":3,"names":["useEffect","useCallback","TouchableOpacity","Text","StyleSheet","Platform","ActivityIndicator","Animated","useSharedValue","useAnimatedStyle","withSpring","interpolateColor","Easing","withTiming","useOxy","fontFamilies","toast","useFollow","useThemeColors","jsx","_jsx","AnimatedTouchableOpacity","createAnimatedComponent","AnimatedText","FollowButton","userId","initiallyFollowing","size","onFollowChange","style","textStyle","disabled","showLoadingState","preventParentActions","theme","oxyServices","isAuthenticated","colors","isFollowing","isLoading","error","toggleFollow","setFollowStatus","fetchStatus","clearError","animationProgress","scale","handlePress","event","preventDefault","stopPropagation","value","duration","finished","damping","stiffness","err","Error","String","message","easing","inOut","ease","animatedButtonStyle","transform","backgroundColor","background","primary","borderColor","border","animatedTextStyle","color","text","getBaseButtonStyle","baseStyle","flexDirection","alignItems","justifyContent","borderWidth","select","web","boxShadow","default","shadowColor","shadowOffset","width","height","shadowOpacity","shadowRadius","elevation","sizeStyle","paddingVertical","paddingHorizontal","minWidth","borderRadius","getBaseTextStyle","baseTextStyle","fontFamily","phuduSemiBold","fontWeight","sizeTextStyle","fontSize","onPress","activeOpacity","children","styles","create","buttonSmall","buttonMedium","buttonLarge","following","notFollowing","textSmall","phuduMedium","textMedium","textLarge","textFollowing","textNotFollowing"],"sourceRoot":"../../../../src","sources":["ui/components/FollowButton.tsx"],"mappings":"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","ignoreList":[]}
@@ -1,7 +1,7 @@
1
1
  "use strict";
2
2
 
3
3
  import { useState, useEffect } from 'react';
4
- import { View, ActivityIndicator, StyleSheet, Platform } from 'react-native';
4
+ import { Platform } from 'react-native';
5
5
  import * as Font from 'expo-font';
6
6
 
7
7
  /**
@@ -23,18 +23,20 @@ const getPhuduFonts = () => {
23
23
  'Phudu-Black': require('../../assets/fonts/Phudu/Phudu-Black.ttf')
24
24
  };
25
25
  } catch (error) {
26
- console.warn('Failed to load Phudu fonts:', error);
26
+ if (__DEV__) {
27
+ console.warn('Failed to load Phudu fonts:', error);
28
+ }
27
29
  return null;
28
30
  }
29
31
  };
30
32
 
31
33
  /**
32
- * FontLoader component that loads custom fonts before rendering children
34
+ * FontLoader component that loads custom fonts in the background while rendering children immediately
33
35
  * This works in both the package development and when consumed as an npm package
36
+ * Children render immediately with system fonts as fallback until custom fonts are loaded
34
37
  */
35
38
  export const FontLoader = ({
36
- children,
37
- fallbackContent
39
+ children
38
40
  }) => {
39
41
  const [fontState, setFontState] = useState('loading');
40
42
  useEffect(() => {
@@ -50,33 +52,23 @@ export const FontLoader = ({
50
52
  await Font.loadAsync(phuduFonts);
51
53
  setFontState('loaded');
52
54
  } catch (error) {
53
- console.error('Error loading fonts:', error);
54
- // Fallback to render without custom fonts
55
+ if (__DEV__) {
56
+ console.error('Error loading fonts:', error);
57
+ }
55
58
  setFontState('error');
56
59
  }
57
60
  };
58
61
  loadFonts();
59
62
  }, []);
60
- if (fontState === 'loading') {
61
- // Render a loading placeholder while fonts are loading
62
- if (fallbackContent) {
63
- return /*#__PURE__*/_jsx(_Fragment, {
64
- children: fallbackContent
65
- });
66
- }
67
- return /*#__PURE__*/_jsx(View, {
68
- style: styles.loaderContainer,
69
- children: /*#__PURE__*/_jsx(ActivityIndicator, {
70
- size: "small",
71
- color: "#d169e5"
72
- })
73
- });
74
- }
75
- if (fontState === 'error') {
63
+
64
+ // Always render children immediately - fonts will load in background
65
+ // If fonts aren't loaded yet, the app will use system fonts as fallback
66
+ if (fontState === 'error' && __DEV__) {
76
67
  console.warn('Fonts failed to load. Using system fonts instead.');
77
68
  }
78
69
 
79
- // Return children even on error - the app will use system fonts as fallback
70
+ // Render children immediately, even while fonts are loading
71
+ // Fonts will apply when they're ready, otherwise system fonts are used
80
72
  return /*#__PURE__*/_jsx(_Fragment, {
81
73
  children: children
82
74
  });
@@ -144,34 +136,22 @@ export const setupFonts = async () => {
144
136
  }
145
137
  `;
146
138
  style.textContent = fontFaceRules;
147
- // Append to the document head
148
139
  document.head.appendChild(style);
149
- console.info('All Phudu web fonts have been dynamically loaded');
140
+ if (__DEV__) {
141
+ console.info('All Phudu web fonts have been dynamically loaded');
142
+ }
150
143
  }
151
144
  } else {
152
- // For native platforms, guidance for the package users
153
- console.info('Fonts should be linked in native projects to use Phudu fonts');
154
-
155
145
  // Attempt to load the fonts anyway (this works if the consumer has linked the assets)
156
146
  await Font.loadAsync(phuduFonts);
157
147
  }
158
148
  return true;
159
149
  } catch (error) {
160
- const errorMessage = error instanceof Error ? error.message : String(error);
161
- console.warn('Error setting up fonts:', errorMessage);
150
+ if (__DEV__) {
151
+ const errorMessage = error instanceof Error ? error.message : String(error);
152
+ console.warn('Error setting up fonts:', errorMessage);
153
+ }
162
154
  return false;
163
155
  }
164
156
  };
165
- const styles = StyleSheet.create({
166
- loaderContainer: {
167
- position: 'absolute',
168
- top: 0,
169
- left: 0,
170
- right: 0,
171
- bottom: 0,
172
- justifyContent: 'center',
173
- alignItems: 'center',
174
- backgroundColor: 'transparent'
175
- }
176
- });
177
157
  //# sourceMappingURL=FontLoader.js.map
@@ -1 +1 @@
1
- {"version":3,"names":["useState","useEffect","View","ActivityIndicator","StyleSheet","Platform","Font","Fragment","_Fragment","jsx","_jsx","getPhuduFonts","require","error","console","warn","FontLoader","children","fallbackContent","fontState","setFontState","loadFonts","phuduFonts","Error","loadAsync","style","styles","loaderContainer","size","color","setupFonts","OS","document","createElement","fontFaceRules","textContent","head","appendChild","info","errorMessage","message","String","create","position","top","left","right","bottom","justifyContent","alignItems","backgroundColor"],"sourceRoot":"../../../../src","sources":["ui/components/FontLoader.tsx"],"mappings":"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","ignoreList":[]}
1
+ {"version":3,"names":["useState","useEffect","Platform","Font","Fragment","_Fragment","jsx","_jsx","getPhuduFonts","require","error","__DEV__","console","warn","FontLoader","children","fontState","setFontState","loadFonts","phuduFonts","Error","loadAsync","setupFonts","OS","document","style","createElement","fontFaceRules","textContent","head","appendChild","info","errorMessage","message","String"],"sourceRoot":"../../../../src","sources":["ui/components/FontLoader.tsx"],"mappings":"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","ignoreList":[]}
@@ -1,6 +1,6 @@
1
1
  "use strict";
2
2
 
3
- import React, { useCallback, useRef, useState, useEffect, forwardRef, useImperativeHandle } from 'react';
3
+ import { useCallback, useRef, useState, useEffect, forwardRef, useImperativeHandle } from 'react';
4
4
  import { View, Text, StyleSheet, Platform, Animated, StatusBar, Keyboard, AppState } from 'react-native';
5
5
  import { SafeAreaProvider, useSafeAreaInsets } from 'react-native-safe-area-context';
6
6
  import { GestureHandlerRootView } from 'react-native-gesture-handler';
@@ -11,7 +11,7 @@ import { Toaster } from '../../lib/sonner';
11
11
  import { QueryClient, QueryClientProvider, focusManager } from '@tanstack/react-query';
12
12
 
13
13
  // Import bottom sheet components directly - no longer a peer dependency
14
- import { BottomSheetModal, BottomSheetBackdrop, BottomSheetModalProvider, BottomSheetScrollView } from '@gorhom/bottom-sheet';
14
+ import { BottomSheetModal, BottomSheetBackdrop, BottomSheetModalProvider, BottomSheetView } from '@gorhom/bottom-sheet';
15
15
  import { jsx as _jsx, jsxs as _jsxs } from "react/jsx-runtime";
16
16
  // Initialize fonts automatically
17
17
  setupFonts();
@@ -335,14 +335,12 @@ const OxyBottomSheet = /*#__PURE__*/forwardRef(({
335
335
  onDismiss: () => {
336
336
  isOpenRef.current = false;
337
337
  },
338
- children: [/*#__PURE__*/_jsx(BottomSheetScrollView, {
338
+ children: [/*#__PURE__*/_jsx(BottomSheetView, {
339
339
  style: [styles.contentContainer],
340
- keyboardShouldPersistTaps: "handled",
341
- contentContainerStyle: {
342
- paddingBottom: (insets?.bottom ?? 0) + (appInsets?.bottom ?? 0)
343
- },
344
340
  children: /*#__PURE__*/_jsx(View, {
345
- style: styles.centeredContentWrapper,
341
+ style: [styles.centeredContentWrapper, {
342
+ paddingBottom: (insets?.bottom ?? 0) + (appInsets?.bottom ?? 0)
343
+ }],
346
344
  children: /*#__PURE__*/_jsx(Animated.View, {
347
345
  style: [styles.animatedContent, Platform.OS === 'android' ? {
348
346
  opacity: 1