@oxyhq/services 11.0.0 → 11.1.1

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 (434) hide show
  1. package/lib/commonjs/index.js +7 -0
  2. package/lib/commonjs/index.js.map +1 -1
  3. package/lib/commonjs/ui/components/AccountMenu.js +9 -5
  4. package/lib/commonjs/ui/components/AccountMenu.js.map +1 -1
  5. package/lib/commonjs/ui/components/AnotherDeviceQR.js +51 -56
  6. package/lib/commonjs/ui/components/AnotherDeviceQR.js.map +1 -1
  7. package/lib/commonjs/ui/components/BottomSheetRouter.js +1 -0
  8. package/lib/commonjs/ui/components/BottomSheetRouter.js.map +1 -1
  9. package/lib/commonjs/ui/components/FollowButton.js +18 -5
  10. package/lib/commonjs/ui/components/FollowButton.js.map +1 -1
  11. package/lib/commonjs/ui/components/OxyLogo.js +1 -1
  12. package/lib/commonjs/ui/components/OxyLogo.js.map +1 -1
  13. package/lib/commonjs/ui/components/OxyProvider.js +23 -7
  14. package/lib/commonjs/ui/components/OxyProvider.js.map +1 -1
  15. package/lib/commonjs/ui/components/SignInModal.js +20 -1
  16. package/lib/commonjs/ui/components/SignInModal.js.map +1 -1
  17. package/lib/commonjs/ui/components/fileManagement/FileViewer.js +19 -9
  18. package/lib/commonjs/ui/components/fileManagement/FileViewer.js.map +1 -1
  19. package/lib/commonjs/ui/components/fileManagement/UploadPreview.js +4 -2
  20. package/lib/commonjs/ui/components/fileManagement/UploadPreview.js.map +1 -1
  21. package/lib/commonjs/ui/context/OxyContext.js +153 -19
  22. package/lib/commonjs/ui/context/OxyContext.js.map +1 -1
  23. package/lib/commonjs/ui/context/hooks/useAuthOperations.js +6 -17
  24. package/lib/commonjs/ui/context/hooks/useAuthOperations.js.map +1 -1
  25. package/lib/commonjs/ui/hooks/mutations/mutationFactory.js +5 -5
  26. package/lib/commonjs/ui/hooks/mutations/mutationFactory.js.map +1 -1
  27. package/lib/commonjs/ui/hooks/mutations/useAccountMutations.js +38 -38
  28. package/lib/commonjs/ui/hooks/mutations/useAccountMutations.js.map +1 -1
  29. package/lib/commonjs/ui/hooks/mutations/useServicesMutations.js +2 -2
  30. package/lib/commonjs/ui/hooks/mutations/useServicesMutations.js.map +1 -1
  31. package/lib/commonjs/ui/hooks/queries/queryKeys.js +3 -3
  32. package/lib/commonjs/ui/hooks/queries/queryKeys.js.map +1 -1
  33. package/lib/commonjs/ui/hooks/queries/useAccountQueries.js +1 -1
  34. package/lib/commonjs/ui/hooks/queries/useAccountQueries.js.map +1 -1
  35. package/lib/commonjs/ui/hooks/queries/usePaymentQueries.js +16 -12
  36. package/lib/commonjs/ui/hooks/queries/usePaymentQueries.js.map +1 -1
  37. package/lib/commonjs/ui/hooks/queries/useServicesQueries.js +10 -6
  38. package/lib/commonjs/ui/hooks/queries/useServicesQueries.js.map +1 -1
  39. package/lib/commonjs/ui/hooks/queryClient.js +6 -5
  40. package/lib/commonjs/ui/hooks/queryClient.js.map +1 -1
  41. package/lib/commonjs/ui/hooks/useOxyAuthSession.js +40 -2
  42. package/lib/commonjs/ui/hooks/useOxyAuthSession.js.map +1 -1
  43. package/lib/commonjs/ui/hooks/useProfileEditing.js +21 -0
  44. package/lib/commonjs/ui/hooks/useProfileEditing.js.map +1 -1
  45. package/lib/commonjs/ui/hooks/useSessionManagement.js +3 -3
  46. package/lib/commonjs/ui/hooks/useSessionManagement.js.map +1 -1
  47. package/lib/commonjs/ui/screens/AccountVerificationScreen.js +100 -108
  48. package/lib/commonjs/ui/screens/AccountVerificationScreen.js.map +1 -1
  49. package/lib/commonjs/ui/screens/AppInfoScreen.js +227 -273
  50. package/lib/commonjs/ui/screens/AppInfoScreen.js.map +1 -1
  51. package/lib/commonjs/ui/screens/AvatarCropScreen.js +10 -4
  52. package/lib/commonjs/ui/screens/AvatarCropScreen.js.map +1 -1
  53. package/lib/commonjs/ui/screens/ConnectedAppsScreen.js +20 -37
  54. package/lib/commonjs/ui/screens/ConnectedAppsScreen.js.map +1 -1
  55. package/lib/commonjs/ui/screens/CreateManagedAccountScreen.js +89 -201
  56. package/lib/commonjs/ui/screens/CreateManagedAccountScreen.js.map +1 -1
  57. package/lib/commonjs/ui/screens/EditProfileFieldScreen.js +80 -208
  58. package/lib/commonjs/ui/screens/EditProfileFieldScreen.js.map +1 -1
  59. package/lib/commonjs/ui/screens/FAQScreen.js +56 -208
  60. package/lib/commonjs/ui/screens/FAQScreen.js.map +1 -1
  61. package/lib/commonjs/ui/screens/FeedbackScreen.js +303 -352
  62. package/lib/commonjs/ui/screens/FeedbackScreen.js.map +1 -1
  63. package/lib/commonjs/ui/screens/FileManagementScreen.js +20 -20
  64. package/lib/commonjs/ui/screens/FileManagementScreen.js.map +1 -1
  65. package/lib/commonjs/ui/screens/HelpSupportScreen.js +77 -89
  66. package/lib/commonjs/ui/screens/HelpSupportScreen.js.map +1 -1
  67. package/lib/commonjs/ui/screens/HistoryViewScreen.js +43 -58
  68. package/lib/commonjs/ui/screens/HistoryViewScreen.js.map +1 -1
  69. package/lib/commonjs/ui/screens/LanguageSelectorScreen.js +67 -90
  70. package/lib/commonjs/ui/screens/LanguageSelectorScreen.js.map +1 -1
  71. package/lib/commonjs/ui/screens/LearnMoreUsernamesScreen.js +77 -177
  72. package/lib/commonjs/ui/screens/LearnMoreUsernamesScreen.js.map +1 -1
  73. package/lib/commonjs/ui/screens/LegalDocumentsScreen.js +113 -107
  74. package/lib/commonjs/ui/screens/LegalDocumentsScreen.js.map +1 -1
  75. package/lib/commonjs/ui/screens/ManageAccountScreen.js +55 -114
  76. package/lib/commonjs/ui/screens/ManageAccountScreen.js.map +1 -1
  77. package/lib/commonjs/ui/screens/NotificationsScreen.js +67 -85
  78. package/lib/commonjs/ui/screens/NotificationsScreen.js.map +1 -1
  79. package/lib/commonjs/ui/screens/OxyAuthScreen.js +71 -135
  80. package/lib/commonjs/ui/screens/OxyAuthScreen.js.map +1 -1
  81. package/lib/commonjs/ui/screens/PaymentGatewayScreen.js +15 -9
  82. package/lib/commonjs/ui/screens/PaymentGatewayScreen.js.map +1 -1
  83. package/lib/commonjs/ui/screens/PreferencesScreen.js +65 -83
  84. package/lib/commonjs/ui/screens/PreferencesScreen.js.map +1 -1
  85. package/lib/commonjs/ui/screens/PremiumSubscriptionScreen.js +378 -1023
  86. package/lib/commonjs/ui/screens/PremiumSubscriptionScreen.js.map +1 -1
  87. package/lib/commonjs/ui/screens/PrivacySettingsScreen.js +294 -242
  88. package/lib/commonjs/ui/screens/PrivacySettingsScreen.js.map +1 -1
  89. package/lib/commonjs/ui/screens/ProfileScreen.js +194 -333
  90. package/lib/commonjs/ui/screens/ProfileScreen.js.map +1 -1
  91. package/lib/commonjs/ui/screens/SavesCollectionsScreen.js +57 -97
  92. package/lib/commonjs/ui/screens/SavesCollectionsScreen.js.map +1 -1
  93. package/lib/commonjs/ui/screens/SearchSettingsScreen.js +41 -41
  94. package/lib/commonjs/ui/screens/SearchSettingsScreen.js.map +1 -1
  95. package/lib/commonjs/ui/screens/UserLinksScreen.js +17 -24
  96. package/lib/commonjs/ui/screens/UserLinksScreen.js.map +1 -1
  97. package/lib/commonjs/ui/screens/UserListScreen.js +83 -214
  98. package/lib/commonjs/ui/screens/UserListScreen.js.map +1 -1
  99. package/lib/commonjs/ui/screens/WelcomeNewUserScreen.js +115 -77
  100. package/lib/commonjs/ui/screens/WelcomeNewUserScreen.js.map +1 -1
  101. package/lib/commonjs/ui/screens/trust/TrustAboutScreen.js +70 -57
  102. package/lib/commonjs/ui/screens/trust/TrustAboutScreen.js.map +1 -1
  103. package/lib/commonjs/ui/screens/trust/TrustCenterScreen.js +136 -332
  104. package/lib/commonjs/ui/screens/trust/TrustCenterScreen.js.map +1 -1
  105. package/lib/commonjs/ui/screens/trust/TrustFAQScreen.js +47 -137
  106. package/lib/commonjs/ui/screens/trust/TrustFAQScreen.js.map +1 -1
  107. package/lib/commonjs/ui/screens/trust/TrustLeaderboardScreen.js +182 -115
  108. package/lib/commonjs/ui/screens/trust/TrustLeaderboardScreen.js.map +1 -1
  109. package/lib/commonjs/ui/screens/trust/TrustRewardsScreen.js +138 -214
  110. package/lib/commonjs/ui/screens/trust/TrustRewardsScreen.js.map +1 -1
  111. package/lib/commonjs/ui/screens/trust/TrustRulesScreen.js +54 -92
  112. package/lib/commonjs/ui/screens/trust/TrustRulesScreen.js.map +1 -1
  113. package/lib/commonjs/ui/utils/activeAuthuser.js +15 -9
  114. package/lib/commonjs/ui/utils/activeAuthuser.js.map +1 -1
  115. package/lib/commonjs/ui/utils/avatarUtils.js +1 -1
  116. package/lib/commonjs/ui/utils/avatarUtils.js.map +1 -1
  117. package/lib/module/index.js +2 -0
  118. package/lib/module/index.js.map +1 -1
  119. package/lib/module/ui/components/AccountMenu.js +10 -6
  120. package/lib/module/ui/components/AccountMenu.js.map +1 -1
  121. package/lib/module/ui/components/AnotherDeviceQR.js +50 -56
  122. package/lib/module/ui/components/AnotherDeviceQR.js.map +1 -1
  123. package/lib/module/ui/components/BottomSheetRouter.js +2 -1
  124. package/lib/module/ui/components/BottomSheetRouter.js.map +1 -1
  125. package/lib/module/ui/components/FollowButton.js +18 -5
  126. package/lib/module/ui/components/FollowButton.js.map +1 -1
  127. package/lib/module/ui/components/OxyLogo.js +1 -1
  128. package/lib/module/ui/components/OxyLogo.js.map +1 -1
  129. package/lib/module/ui/components/OxyProvider.js +23 -7
  130. package/lib/module/ui/components/OxyProvider.js.map +1 -1
  131. package/lib/module/ui/components/SignInModal.js +20 -1
  132. package/lib/module/ui/components/SignInModal.js.map +1 -1
  133. package/lib/module/ui/components/fileManagement/FileViewer.js +19 -9
  134. package/lib/module/ui/components/fileManagement/FileViewer.js.map +1 -1
  135. package/lib/module/ui/components/fileManagement/UploadPreview.js +4 -2
  136. package/lib/module/ui/components/fileManagement/UploadPreview.js.map +1 -1
  137. package/lib/module/ui/context/OxyContext.js +154 -20
  138. package/lib/module/ui/context/OxyContext.js.map +1 -1
  139. package/lib/module/ui/context/hooks/useAuthOperations.js +6 -17
  140. package/lib/module/ui/context/hooks/useAuthOperations.js.map +1 -1
  141. package/lib/module/ui/hooks/mutations/mutationFactory.js +5 -5
  142. package/lib/module/ui/hooks/mutations/mutationFactory.js.map +1 -1
  143. package/lib/module/ui/hooks/mutations/useAccountMutations.js +38 -38
  144. package/lib/module/ui/hooks/mutations/useAccountMutations.js.map +1 -1
  145. package/lib/module/ui/hooks/mutations/useServicesMutations.js +2 -2
  146. package/lib/module/ui/hooks/mutations/useServicesMutations.js.map +1 -1
  147. package/lib/module/ui/hooks/queries/queryKeys.js +3 -3
  148. package/lib/module/ui/hooks/queries/queryKeys.js.map +1 -1
  149. package/lib/module/ui/hooks/queries/useAccountQueries.js +1 -1
  150. package/lib/module/ui/hooks/queries/useAccountQueries.js.map +1 -1
  151. package/lib/module/ui/hooks/queries/usePaymentQueries.js +16 -12
  152. package/lib/module/ui/hooks/queries/usePaymentQueries.js.map +1 -1
  153. package/lib/module/ui/hooks/queries/useServicesQueries.js +9 -6
  154. package/lib/module/ui/hooks/queries/useServicesQueries.js.map +1 -1
  155. package/lib/module/ui/hooks/queryClient.js +6 -5
  156. package/lib/module/ui/hooks/queryClient.js.map +1 -1
  157. package/lib/module/ui/hooks/useOxyAuthSession.js +40 -2
  158. package/lib/module/ui/hooks/useOxyAuthSession.js.map +1 -1
  159. package/lib/module/ui/hooks/useProfileEditing.js +21 -0
  160. package/lib/module/ui/hooks/useProfileEditing.js.map +1 -1
  161. package/lib/module/ui/hooks/useSessionManagement.js +4 -3
  162. package/lib/module/ui/hooks/useSessionManagement.js.map +1 -1
  163. package/lib/module/ui/screens/AccountVerificationScreen.js +101 -109
  164. package/lib/module/ui/screens/AccountVerificationScreen.js.map +1 -1
  165. package/lib/module/ui/screens/AppInfoScreen.js +228 -275
  166. package/lib/module/ui/screens/AppInfoScreen.js.map +1 -1
  167. package/lib/module/ui/screens/AvatarCropScreen.js +10 -4
  168. package/lib/module/ui/screens/AvatarCropScreen.js.map +1 -1
  169. package/lib/module/ui/screens/ConnectedAppsScreen.js +19 -39
  170. package/lib/module/ui/screens/ConnectedAppsScreen.js.map +1 -1
  171. package/lib/module/ui/screens/CreateManagedAccountScreen.js +90 -202
  172. package/lib/module/ui/screens/CreateManagedAccountScreen.js.map +1 -1
  173. package/lib/module/ui/screens/EditProfileFieldScreen.js +77 -205
  174. package/lib/module/ui/screens/EditProfileFieldScreen.js.map +1 -1
  175. package/lib/module/ui/screens/FAQScreen.js +55 -207
  176. package/lib/module/ui/screens/FAQScreen.js.map +1 -1
  177. package/lib/module/ui/screens/FeedbackScreen.js +301 -350
  178. package/lib/module/ui/screens/FeedbackScreen.js.map +1 -1
  179. package/lib/module/ui/screens/FileManagementScreen.js +20 -20
  180. package/lib/module/ui/screens/FileManagementScreen.js.map +1 -1
  181. package/lib/module/ui/screens/HelpSupportScreen.js +78 -90
  182. package/lib/module/ui/screens/HelpSupportScreen.js.map +1 -1
  183. package/lib/module/ui/screens/HistoryViewScreen.js +44 -59
  184. package/lib/module/ui/screens/HistoryViewScreen.js.map +1 -1
  185. package/lib/module/ui/screens/LanguageSelectorScreen.js +68 -91
  186. package/lib/module/ui/screens/LanguageSelectorScreen.js.map +1 -1
  187. package/lib/module/ui/screens/LearnMoreUsernamesScreen.js +75 -177
  188. package/lib/module/ui/screens/LearnMoreUsernamesScreen.js.map +1 -1
  189. package/lib/module/ui/screens/LegalDocumentsScreen.js +116 -108
  190. package/lib/module/ui/screens/LegalDocumentsScreen.js.map +1 -1
  191. package/lib/module/ui/screens/ManageAccountScreen.js +52 -112
  192. package/lib/module/ui/screens/ManageAccountScreen.js.map +1 -1
  193. package/lib/module/ui/screens/NotificationsScreen.js +68 -86
  194. package/lib/module/ui/screens/NotificationsScreen.js.map +1 -1
  195. package/lib/module/ui/screens/OxyAuthScreen.js +69 -134
  196. package/lib/module/ui/screens/OxyAuthScreen.js.map +1 -1
  197. package/lib/module/ui/screens/PaymentGatewayScreen.js +16 -10
  198. package/lib/module/ui/screens/PaymentGatewayScreen.js.map +1 -1
  199. package/lib/module/ui/screens/PreferencesScreen.js +66 -84
  200. package/lib/module/ui/screens/PreferencesScreen.js.map +1 -1
  201. package/lib/module/ui/screens/PremiumSubscriptionScreen.js +366 -1012
  202. package/lib/module/ui/screens/PremiumSubscriptionScreen.js.map +1 -1
  203. package/lib/module/ui/screens/PrivacySettingsScreen.js +295 -243
  204. package/lib/module/ui/screens/PrivacySettingsScreen.js.map +1 -1
  205. package/lib/module/ui/screens/ProfileScreen.js +192 -331
  206. package/lib/module/ui/screens/ProfileScreen.js.map +1 -1
  207. package/lib/module/ui/screens/SavesCollectionsScreen.js +58 -98
  208. package/lib/module/ui/screens/SavesCollectionsScreen.js.map +1 -1
  209. package/lib/module/ui/screens/SearchSettingsScreen.js +42 -42
  210. package/lib/module/ui/screens/SearchSettingsScreen.js.map +1 -1
  211. package/lib/module/ui/screens/UserLinksScreen.js +18 -25
  212. package/lib/module/ui/screens/UserLinksScreen.js.map +1 -1
  213. package/lib/module/ui/screens/UserListScreen.js +81 -212
  214. package/lib/module/ui/screens/UserListScreen.js.map +1 -1
  215. package/lib/module/ui/screens/WelcomeNewUserScreen.js +114 -76
  216. package/lib/module/ui/screens/WelcomeNewUserScreen.js.map +1 -1
  217. package/lib/module/ui/screens/trust/TrustAboutScreen.js +69 -57
  218. package/lib/module/ui/screens/trust/TrustAboutScreen.js.map +1 -1
  219. package/lib/module/ui/screens/trust/TrustCenterScreen.js +135 -332
  220. package/lib/module/ui/screens/trust/TrustCenterScreen.js.map +1 -1
  221. package/lib/module/ui/screens/trust/TrustFAQScreen.js +48 -138
  222. package/lib/module/ui/screens/trust/TrustFAQScreen.js.map +1 -1
  223. package/lib/module/ui/screens/trust/TrustLeaderboardScreen.js +184 -117
  224. package/lib/module/ui/screens/trust/TrustLeaderboardScreen.js.map +1 -1
  225. package/lib/module/ui/screens/trust/TrustRewardsScreen.js +132 -208
  226. package/lib/module/ui/screens/trust/TrustRewardsScreen.js.map +1 -1
  227. package/lib/module/ui/screens/trust/TrustRulesScreen.js +58 -94
  228. package/lib/module/ui/screens/trust/TrustRulesScreen.js.map +1 -1
  229. package/lib/module/ui/utils/activeAuthuser.js +15 -9
  230. package/lib/module/ui/utils/activeAuthuser.js.map +1 -1
  231. package/lib/module/ui/utils/avatarUtils.js +1 -1
  232. package/lib/module/ui/utils/avatarUtils.js.map +1 -1
  233. package/lib/typescript/commonjs/index.d.ts +2 -0
  234. package/lib/typescript/commonjs/index.d.ts.map +1 -1
  235. package/lib/typescript/commonjs/ui/components/AccountMenu.d.ts +2 -0
  236. package/lib/typescript/commonjs/ui/components/AccountMenu.d.ts.map +1 -1
  237. package/lib/typescript/commonjs/ui/components/AnotherDeviceQR.d.ts +12 -2
  238. package/lib/typescript/commonjs/ui/components/AnotherDeviceQR.d.ts.map +1 -1
  239. package/lib/typescript/commonjs/ui/components/BottomSheetRouter.d.ts.map +1 -1
  240. package/lib/typescript/commonjs/ui/components/FollowButton.d.ts.map +1 -1
  241. package/lib/typescript/commonjs/ui/components/OxyProvider.d.ts +3 -2
  242. package/lib/typescript/commonjs/ui/components/OxyProvider.d.ts.map +1 -1
  243. package/lib/typescript/commonjs/ui/components/SignInModal.d.ts.map +1 -1
  244. package/lib/typescript/commonjs/ui/components/TouchableRipple/TouchableRipple.native.d.ts +1 -1
  245. package/lib/typescript/commonjs/ui/components/TouchableRipple/TouchableRipple.native.d.ts.map +1 -1
  246. package/lib/typescript/commonjs/ui/context/OxyContext.d.ts +34 -0
  247. package/lib/typescript/commonjs/ui/context/OxyContext.d.ts.map +1 -1
  248. package/lib/typescript/commonjs/ui/context/hooks/useAuthOperations.d.ts.map +1 -1
  249. package/lib/typescript/commonjs/ui/hooks/mutations/useAccountMutations.d.ts +6 -0
  250. package/lib/typescript/commonjs/ui/hooks/mutations/useAccountMutations.d.ts.map +1 -1
  251. package/lib/typescript/commonjs/ui/hooks/queries/queryKeys.d.ts +3 -3
  252. package/lib/typescript/commonjs/ui/hooks/queries/queryKeys.d.ts.map +1 -1
  253. package/lib/typescript/commonjs/ui/hooks/queries/useServicesQueries.d.ts.map +1 -1
  254. package/lib/typescript/commonjs/ui/hooks/queryClient.d.ts.map +1 -1
  255. package/lib/typescript/commonjs/ui/hooks/useOxyAuthSession.d.ts +22 -0
  256. package/lib/typescript/commonjs/ui/hooks/useOxyAuthSession.d.ts.map +1 -1
  257. package/lib/typescript/commonjs/ui/hooks/useProfileEditing.d.ts +3 -0
  258. package/lib/typescript/commonjs/ui/hooks/useProfileEditing.d.ts.map +1 -1
  259. package/lib/typescript/commonjs/ui/hooks/useSessionManagement.d.ts +2 -1
  260. package/lib/typescript/commonjs/ui/hooks/useSessionManagement.d.ts.map +1 -1
  261. package/lib/typescript/commonjs/ui/screens/AccountVerificationScreen.d.ts.map +1 -1
  262. package/lib/typescript/commonjs/ui/screens/AppInfoScreen.d.ts.map +1 -1
  263. package/lib/typescript/commonjs/ui/screens/AvatarCropScreen.d.ts.map +1 -1
  264. package/lib/typescript/commonjs/ui/screens/ConnectedAppsScreen.d.ts.map +1 -1
  265. package/lib/typescript/commonjs/ui/screens/CreateManagedAccountScreen.d.ts.map +1 -1
  266. package/lib/typescript/commonjs/ui/screens/EditProfileFieldScreen.d.ts.map +1 -1
  267. package/lib/typescript/commonjs/ui/screens/FAQScreen.d.ts.map +1 -1
  268. package/lib/typescript/commonjs/ui/screens/FeedbackScreen.d.ts.map +1 -1
  269. package/lib/typescript/commonjs/ui/screens/HelpSupportScreen.d.ts.map +1 -1
  270. package/lib/typescript/commonjs/ui/screens/HistoryViewScreen.d.ts.map +1 -1
  271. package/lib/typescript/commonjs/ui/screens/LanguageSelectorScreen.d.ts.map +1 -1
  272. package/lib/typescript/commonjs/ui/screens/LearnMoreUsernamesScreen.d.ts.map +1 -1
  273. package/lib/typescript/commonjs/ui/screens/LegalDocumentsScreen.d.ts.map +1 -1
  274. package/lib/typescript/commonjs/ui/screens/ManageAccountScreen.d.ts.map +1 -1
  275. package/lib/typescript/commonjs/ui/screens/NotificationsScreen.d.ts.map +1 -1
  276. package/lib/typescript/commonjs/ui/screens/OxyAuthScreen.d.ts.map +1 -1
  277. package/lib/typescript/commonjs/ui/screens/PaymentGatewayScreen.d.ts.map +1 -1
  278. package/lib/typescript/commonjs/ui/screens/PreferencesScreen.d.ts.map +1 -1
  279. package/lib/typescript/commonjs/ui/screens/PremiumSubscriptionScreen.d.ts.map +1 -1
  280. package/lib/typescript/commonjs/ui/screens/PrivacySettingsScreen.d.ts.map +1 -1
  281. package/lib/typescript/commonjs/ui/screens/ProfileScreen.d.ts.map +1 -1
  282. package/lib/typescript/commonjs/ui/screens/SavesCollectionsScreen.d.ts.map +1 -1
  283. package/lib/typescript/commonjs/ui/screens/SearchSettingsScreen.d.ts.map +1 -1
  284. package/lib/typescript/commonjs/ui/screens/UserLinksScreen.d.ts.map +1 -1
  285. package/lib/typescript/commonjs/ui/screens/UserListScreen.d.ts.map +1 -1
  286. package/lib/typescript/commonjs/ui/screens/WelcomeNewUserScreen.d.ts.map +1 -1
  287. package/lib/typescript/commonjs/ui/screens/trust/TrustAboutScreen.d.ts.map +1 -1
  288. package/lib/typescript/commonjs/ui/screens/trust/TrustCenterScreen.d.ts.map +1 -1
  289. package/lib/typescript/commonjs/ui/screens/trust/TrustFAQScreen.d.ts.map +1 -1
  290. package/lib/typescript/commonjs/ui/screens/trust/TrustLeaderboardScreen.d.ts.map +1 -1
  291. package/lib/typescript/commonjs/ui/screens/trust/TrustRewardsScreen.d.ts.map +1 -1
  292. package/lib/typescript/commonjs/ui/screens/trust/TrustRulesScreen.d.ts.map +1 -1
  293. package/lib/typescript/commonjs/ui/utils/activeAuthuser.d.ts.map +1 -1
  294. package/lib/typescript/module/index.d.ts +2 -0
  295. package/lib/typescript/module/index.d.ts.map +1 -1
  296. package/lib/typescript/module/ui/components/AccountMenu.d.ts +2 -0
  297. package/lib/typescript/module/ui/components/AccountMenu.d.ts.map +1 -1
  298. package/lib/typescript/module/ui/components/AnotherDeviceQR.d.ts +12 -2
  299. package/lib/typescript/module/ui/components/AnotherDeviceQR.d.ts.map +1 -1
  300. package/lib/typescript/module/ui/components/BottomSheetRouter.d.ts.map +1 -1
  301. package/lib/typescript/module/ui/components/FollowButton.d.ts.map +1 -1
  302. package/lib/typescript/module/ui/components/OxyProvider.d.ts +3 -2
  303. package/lib/typescript/module/ui/components/OxyProvider.d.ts.map +1 -1
  304. package/lib/typescript/module/ui/components/SignInModal.d.ts.map +1 -1
  305. package/lib/typescript/module/ui/components/TouchableRipple/TouchableRipple.native.d.ts +1 -1
  306. package/lib/typescript/module/ui/components/TouchableRipple/TouchableRipple.native.d.ts.map +1 -1
  307. package/lib/typescript/module/ui/context/OxyContext.d.ts +34 -0
  308. package/lib/typescript/module/ui/context/OxyContext.d.ts.map +1 -1
  309. package/lib/typescript/module/ui/context/hooks/useAuthOperations.d.ts.map +1 -1
  310. package/lib/typescript/module/ui/hooks/mutations/useAccountMutations.d.ts +6 -0
  311. package/lib/typescript/module/ui/hooks/mutations/useAccountMutations.d.ts.map +1 -1
  312. package/lib/typescript/module/ui/hooks/queries/queryKeys.d.ts +3 -3
  313. package/lib/typescript/module/ui/hooks/queries/queryKeys.d.ts.map +1 -1
  314. package/lib/typescript/module/ui/hooks/queries/useServicesQueries.d.ts.map +1 -1
  315. package/lib/typescript/module/ui/hooks/queryClient.d.ts.map +1 -1
  316. package/lib/typescript/module/ui/hooks/useOxyAuthSession.d.ts +22 -0
  317. package/lib/typescript/module/ui/hooks/useOxyAuthSession.d.ts.map +1 -1
  318. package/lib/typescript/module/ui/hooks/useProfileEditing.d.ts +3 -0
  319. package/lib/typescript/module/ui/hooks/useProfileEditing.d.ts.map +1 -1
  320. package/lib/typescript/module/ui/hooks/useSessionManagement.d.ts +2 -1
  321. package/lib/typescript/module/ui/hooks/useSessionManagement.d.ts.map +1 -1
  322. package/lib/typescript/module/ui/screens/AccountVerificationScreen.d.ts.map +1 -1
  323. package/lib/typescript/module/ui/screens/AppInfoScreen.d.ts.map +1 -1
  324. package/lib/typescript/module/ui/screens/AvatarCropScreen.d.ts.map +1 -1
  325. package/lib/typescript/module/ui/screens/ConnectedAppsScreen.d.ts.map +1 -1
  326. package/lib/typescript/module/ui/screens/CreateManagedAccountScreen.d.ts.map +1 -1
  327. package/lib/typescript/module/ui/screens/EditProfileFieldScreen.d.ts.map +1 -1
  328. package/lib/typescript/module/ui/screens/FAQScreen.d.ts.map +1 -1
  329. package/lib/typescript/module/ui/screens/FeedbackScreen.d.ts.map +1 -1
  330. package/lib/typescript/module/ui/screens/HelpSupportScreen.d.ts.map +1 -1
  331. package/lib/typescript/module/ui/screens/HistoryViewScreen.d.ts.map +1 -1
  332. package/lib/typescript/module/ui/screens/LanguageSelectorScreen.d.ts.map +1 -1
  333. package/lib/typescript/module/ui/screens/LearnMoreUsernamesScreen.d.ts.map +1 -1
  334. package/lib/typescript/module/ui/screens/LegalDocumentsScreen.d.ts.map +1 -1
  335. package/lib/typescript/module/ui/screens/ManageAccountScreen.d.ts.map +1 -1
  336. package/lib/typescript/module/ui/screens/NotificationsScreen.d.ts.map +1 -1
  337. package/lib/typescript/module/ui/screens/OxyAuthScreen.d.ts.map +1 -1
  338. package/lib/typescript/module/ui/screens/PaymentGatewayScreen.d.ts.map +1 -1
  339. package/lib/typescript/module/ui/screens/PreferencesScreen.d.ts.map +1 -1
  340. package/lib/typescript/module/ui/screens/PremiumSubscriptionScreen.d.ts.map +1 -1
  341. package/lib/typescript/module/ui/screens/PrivacySettingsScreen.d.ts.map +1 -1
  342. package/lib/typescript/module/ui/screens/ProfileScreen.d.ts.map +1 -1
  343. package/lib/typescript/module/ui/screens/SavesCollectionsScreen.d.ts.map +1 -1
  344. package/lib/typescript/module/ui/screens/SearchSettingsScreen.d.ts.map +1 -1
  345. package/lib/typescript/module/ui/screens/UserLinksScreen.d.ts.map +1 -1
  346. package/lib/typescript/module/ui/screens/UserListScreen.d.ts.map +1 -1
  347. package/lib/typescript/module/ui/screens/WelcomeNewUserScreen.d.ts.map +1 -1
  348. package/lib/typescript/module/ui/screens/trust/TrustAboutScreen.d.ts.map +1 -1
  349. package/lib/typescript/module/ui/screens/trust/TrustCenterScreen.d.ts.map +1 -1
  350. package/lib/typescript/module/ui/screens/trust/TrustFAQScreen.d.ts.map +1 -1
  351. package/lib/typescript/module/ui/screens/trust/TrustLeaderboardScreen.d.ts.map +1 -1
  352. package/lib/typescript/module/ui/screens/trust/TrustRewardsScreen.d.ts.map +1 -1
  353. package/lib/typescript/module/ui/screens/trust/TrustRulesScreen.d.ts.map +1 -1
  354. package/lib/typescript/module/ui/utils/activeAuthuser.d.ts.map +1 -1
  355. package/lib/typescript/types/expo-haptics.d.ts +42 -0
  356. package/package.json +8 -3
  357. package/src/index.ts +2 -0
  358. package/src/types/expo-haptics.d.ts +42 -0
  359. package/src/ui/components/AccountMenu.tsx +11 -5
  360. package/src/ui/components/AnotherDeviceQR.tsx +53 -45
  361. package/src/ui/components/BottomSheetRouter.tsx +2 -1
  362. package/src/ui/components/FollowButton.tsx +24 -5
  363. package/src/ui/components/OxyLogo.tsx +1 -1
  364. package/src/ui/components/OxyProvider.tsx +22 -8
  365. package/src/ui/components/SignInModal.tsx +21 -2
  366. package/src/ui/components/TouchableRipple/TouchableRipple.native.tsx +1 -1
  367. package/src/ui/components/fileManagement/FileViewer.tsx +9 -9
  368. package/src/ui/components/fileManagement/UploadPreview.tsx +2 -2
  369. package/src/ui/context/OxyContext.tsx +178 -21
  370. package/src/ui/context/hooks/useAuthOperations.ts +6 -17
  371. package/src/ui/hooks/mutations/mutationFactory.ts +5 -5
  372. package/src/ui/hooks/mutations/useAccountMutations.ts +38 -38
  373. package/src/ui/hooks/mutations/useServicesMutations.ts +2 -2
  374. package/src/ui/hooks/queries/queryKeys.ts +6 -3
  375. package/src/ui/hooks/queries/useAccountQueries.ts +1 -1
  376. package/src/ui/hooks/queries/usePaymentQueries.ts +12 -12
  377. package/src/ui/hooks/queries/useServicesQueries.ts +9 -6
  378. package/src/ui/hooks/queryClient.ts +5 -5
  379. package/src/ui/hooks/useOxyAuthSession.ts +76 -2
  380. package/src/ui/hooks/useProfileEditing.ts +24 -0
  381. package/src/ui/hooks/useSessionManagement.ts +9 -6
  382. package/src/ui/screens/AccountVerificationScreen.tsx +101 -113
  383. package/src/ui/screens/AppInfoScreen.tsx +200 -238
  384. package/src/ui/screens/AvatarCropScreen.tsx +17 -4
  385. package/src/ui/screens/ConnectedAppsScreen.tsx +16 -34
  386. package/src/ui/screens/CreateManagedAccountScreen.tsx +94 -170
  387. package/src/ui/screens/EditProfileFieldScreen.tsx +77 -190
  388. package/src/ui/screens/FAQScreen.tsx +77 -208
  389. package/src/ui/screens/FeedbackScreen.tsx +330 -239
  390. package/src/ui/screens/FileManagementScreen.tsx +20 -20
  391. package/src/ui/screens/HelpSupportScreen.tsx +67 -82
  392. package/src/ui/screens/HistoryViewScreen.tsx +32 -38
  393. package/src/ui/screens/LanguageSelectorScreen.tsx +79 -93
  394. package/src/ui/screens/LearnMoreUsernamesScreen.tsx +81 -164
  395. package/src/ui/screens/LegalDocumentsScreen.tsx +184 -123
  396. package/src/ui/screens/ManageAccountScreen.tsx +48 -114
  397. package/src/ui/screens/NotificationsScreen.tsx +107 -106
  398. package/src/ui/screens/OxyAuthScreen.tsx +76 -109
  399. package/src/ui/screens/PaymentGatewayScreen.tsx +16 -7
  400. package/src/ui/screens/PreferencesScreen.tsx +96 -116
  401. package/src/ui/screens/PremiumSubscriptionScreen.tsx +419 -872
  402. package/src/ui/screens/PrivacySettingsScreen.tsx +203 -185
  403. package/src/ui/screens/ProfileScreen.tsx +162 -246
  404. package/src/ui/screens/SavesCollectionsScreen.tsx +78 -125
  405. package/src/ui/screens/SearchSettingsScreen.tsx +52 -41
  406. package/src/ui/screens/UserLinksScreen.tsx +18 -25
  407. package/src/ui/screens/UserListScreen.tsx +95 -188
  408. package/src/ui/screens/WelcomeNewUserScreen.tsx +109 -36
  409. package/src/ui/screens/trust/TrustAboutScreen.tsx +52 -41
  410. package/src/ui/screens/trust/TrustCenterScreen.tsx +184 -222
  411. package/src/ui/screens/trust/TrustFAQScreen.tsx +64 -124
  412. package/src/ui/screens/trust/TrustLeaderboardScreen.tsx +190 -67
  413. package/src/ui/screens/trust/TrustRewardsScreen.tsx +147 -182
  414. package/src/ui/screens/trust/TrustRulesScreen.tsx +77 -50
  415. package/src/ui/utils/activeAuthuser.ts +15 -9
  416. package/src/ui/utils/avatarUtils.ts +1 -1
  417. package/lib/commonjs/ui/components/feedback/FormInput.js +0 -72
  418. package/lib/commonjs/ui/components/feedback/FormInput.js.map +0 -1
  419. package/lib/commonjs/ui/components/feedback/feedbackStyles.js +0 -261
  420. package/lib/commonjs/ui/components/feedback/feedbackStyles.js.map +0 -1
  421. package/lib/module/ui/components/feedback/FormInput.js +0 -67
  422. package/lib/module/ui/components/feedback/FormInput.js.map +0 -1
  423. package/lib/module/ui/components/feedback/feedbackStyles.js +0 -256
  424. package/lib/module/ui/components/feedback/feedbackStyles.js.map +0 -1
  425. package/lib/typescript/commonjs/ui/components/feedback/FormInput.d.ts +0 -20
  426. package/lib/typescript/commonjs/ui/components/feedback/FormInput.d.ts.map +0 -1
  427. package/lib/typescript/commonjs/ui/components/feedback/feedbackStyles.d.ts +0 -279
  428. package/lib/typescript/commonjs/ui/components/feedback/feedbackStyles.d.ts.map +0 -1
  429. package/lib/typescript/module/ui/components/feedback/FormInput.d.ts +0 -20
  430. package/lib/typescript/module/ui/components/feedback/FormInput.d.ts.map +0 -1
  431. package/lib/typescript/module/ui/components/feedback/feedbackStyles.d.ts +0 -279
  432. package/lib/typescript/module/ui/components/feedback/feedbackStyles.d.ts.map +0 -1
  433. package/src/ui/components/feedback/FormInput.tsx +0 -84
  434. package/src/ui/components/feedback/feedbackStyles.ts +0 -246
@@ -1,30 +1,24 @@
1
1
  import type React from 'react';
2
2
  import { useEffect, useMemo, useState } from 'react';
3
- import {
4
- View,
5
- Text,
6
- TouchableOpacity,
7
- StyleSheet,
8
- ActivityIndicator,
9
- ScrollView,
10
- Platform,
11
- } from 'react-native';
3
+ import { View, ScrollView, StyleSheet } from 'react-native';
12
4
  import type { ReputationTransaction, TrustTier } from '@oxyhq/core';
13
- import type { BaseScreenProps } from '../../types/navigation';
14
5
  import { Ionicons } from '@expo/vector-icons';
15
- import { useI18n } from '../../hooks/useI18n';
6
+ import { Chip } from '@oxyhq/bloom/chip';
16
7
  import { useTheme } from '@oxyhq/bloom/theme';
17
- import { useColorScheme } from '../../hooks/useColorScheme';
18
- import { Colors } from '../../constants/theme';
19
- import { normalizeColorScheme } from '@oxyhq/core';
20
- import { darkenColor } from '../../utils/colorUtils';
8
+ import { H1, Text } from '@oxyhq/bloom/typography';
9
+ import { SettingsListGroup, SettingsListItem } from '@oxyhq/bloom/settings-list';
10
+ import type { BaseScreenProps } from '../../types/navigation';
11
+ import Header from '../../components/Header';
12
+ import { SettingsIcon } from '../../components/SettingsIcon';
13
+ import LoadingState from '../../components/LoadingState';
14
+ import { useI18n } from '../../hooks/useI18n';
21
15
  import { useOxy } from '../../context/OxyContext';
22
16
  import { getTrustTierLabel } from './trustTier';
23
17
 
24
18
  const TrustCenterScreen: React.FC<BaseScreenProps> = ({
25
- theme,
26
- navigate,
19
+ onClose,
27
20
  goBack,
21
+ navigate,
28
22
  }) => {
29
23
  // Use useOxy() hook for OxyContext values
30
24
  const { user, oxyServices, isAuthenticated } = useOxy();
@@ -36,20 +30,7 @@ const TrustCenterScreen: React.FC<BaseScreenProps> = ({
36
30
  const [error, setError] = useState<string | null>(null);
37
31
 
38
32
  const bloomTheme = useTheme();
39
- const colorScheme = useColorScheme();
40
- const normalizedColorScheme = normalizeColorScheme(colorScheme);
41
- const themeColors = Colors[normalizedColorScheme];
42
- // Override primaryColor for Oxy Trust screens (purple instead of blue)
43
- const primaryColor = '#d169e5';
44
- const dangerColor = bloomTheme.colors.error;
45
- const mutedTextColor = bloomTheme.colors.textTertiary;
46
-
47
- // Icon colors from theme
48
- const iconLeaderboard = themeColors.iconPayments;
49
- const iconRules = themeColors.iconSecurity;
50
- const iconAbout = themeColors.iconPayments;
51
- const iconRewards = themeColors.iconStorage;
52
- const iconFAQ = themeColors.iconPersonalInfo;
33
+ const primaryColor = bloomTheme.colors.primary;
53
34
 
54
35
  useEffect(() => {
55
36
  if (!user) return;
@@ -78,232 +59,213 @@ const TrustCenterScreen: React.FC<BaseScreenProps> = ({
78
59
  [trustTier, t],
79
60
  );
80
61
 
62
+ const title = t('trust.center.title') || 'Trust Center';
63
+
81
64
  if (!isAuthenticated) {
82
65
  return (
83
- <View style={[styles.container, { backgroundColor: bloomTheme.colors.background }]}>
84
- <Text style={[styles.message, { color: bloomTheme.colors.text }]}>{t('common.status.notSignedIn') || 'Not signed in'}</Text>
66
+ <View className="flex-1 bg-bg">
67
+ <Header title={title} onBack={goBack || onClose} elevation="subtle" />
68
+ <View style={styles.center}>
69
+ <Text className="text-text font-medium text-base">
70
+ {t('common.status.notSignedIn') || 'Not signed in'}
71
+ </Text>
72
+ </View>
85
73
  </View>
86
74
  );
87
75
  }
88
76
 
89
77
  if (isLoading) {
90
78
  return (
91
- <View style={[styles.container, { justifyContent: 'center', backgroundColor: bloomTheme.colors.background }]}>
92
- <ActivityIndicator size="large" color={primaryColor} />
79
+ <View className="flex-1 bg-bg">
80
+ <Header title={title} onBack={goBack || onClose} elevation="subtle" />
81
+ <View style={styles.center}>
82
+ <LoadingState color={primaryColor} />
83
+ </View>
93
84
  </View>
94
85
  );
95
86
  }
96
87
 
97
88
  return (
98
- <View style={[styles.container, { backgroundColor: bloomTheme.colors.background }]}>
99
- <ScrollView style={styles.scrollView} contentContainerStyle={styles.scrollContainer}>
100
- <View style={styles.walletHeader}>
101
- <Text style={[styles.reputationAmount, { color: primaryColor }]}>{reputationTotal ?? 0}</Text>
102
- <Text style={[styles.reputationLabel, { color: bloomTheme.colors.textTertiary }]}>
89
+ <View className="flex-1 bg-bg">
90
+ <Header title={title} onBack={goBack || onClose} elevation="subtle" />
91
+ <ScrollView
92
+ className="flex-1"
93
+ contentContainerClassName="px-screen-margin pb-space-24"
94
+ >
95
+ {/* Balance hero card */}
96
+ <View className="items-center bg-fill-secondary rounded-radius-20 px-space-20 py-space-24 mb-space-16">
97
+ <H1 style={{ color: primaryColor }}>{reputationTotal ?? 0}</H1>
98
+ <Text className="text-text-tertiary text-base mt-space-2 mb-space-12">
103
99
  {t('trust.center.balance') || 'Reputation Balance'}
104
100
  </Text>
105
- {trustTierLabel && (
106
- <View style={[styles.tierBadge, { borderColor: primaryColor }]}>
107
- <Ionicons name="shield-checkmark-outline" size={14} color={primaryColor} />
108
- <Text style={[styles.tierBadgeText, { color: primaryColor }]}>{trustTierLabel}</Text>
109
- </View>
110
- )}
111
- <View style={styles.actionContainer}>
112
- <View style={styles.actionRow}>
113
- <TouchableOpacity style={styles.actionIconWrapper} onPress={() => navigate?.('TrustLeaderboard')}>
114
- <View style={[styles.actionIcon, { backgroundColor: iconLeaderboard }]}>
115
- <Ionicons name="trophy-outline" size={28} color={darkenColor(iconLeaderboard)} />
116
- </View>
117
- <Text style={[styles.actionLabel, { color: mutedTextColor }]}>{t('trust.center.actions.leaderboard') || 'Leaderboard'}</Text>
118
- </TouchableOpacity>
119
- <TouchableOpacity style={styles.actionIconWrapper} onPress={() => navigate?.('TrustRules')}>
120
- <View style={[styles.actionIcon, { backgroundColor: iconRules }]}>
121
- <Ionicons name="document-text-outline" size={28} color={darkenColor(iconRules)} />
122
- </View>
123
- <Text style={[styles.actionLabel, { color: mutedTextColor }]}>{t('trust.center.actions.rules') || 'Rules'}</Text>
124
- </TouchableOpacity>
125
- <TouchableOpacity style={styles.actionIconWrapper} onPress={() => navigate?.('AboutTrust')}>
126
- <View style={[styles.actionIcon, { backgroundColor: iconAbout }]}>
127
- <Ionicons name="star-outline" size={28} color={darkenColor(iconAbout)} />
128
- </View>
129
- <Text style={[styles.actionLabel, { color: mutedTextColor }]}>{t('trust.center.actions.about') || 'About'}</Text>
130
- </TouchableOpacity>
131
- </View>
132
- <View style={styles.actionRow}>
133
- <TouchableOpacity style={styles.actionIconWrapper} onPress={() => navigate?.('TrustRewards')}>
134
- <View style={[styles.actionIcon, { backgroundColor: iconRewards }]}>
135
- <Ionicons name="gift-outline" size={28} color={darkenColor(iconRewards)} />
136
- </View>
137
- <Text style={[styles.actionLabel, { color: mutedTextColor }]}>{t('trust.center.actions.rewards') || 'Rewards'}</Text>
138
- </TouchableOpacity>
139
- <TouchableOpacity style={styles.actionIconWrapper} onPress={() => navigate?.('TrustFAQ')}>
140
- <View style={[styles.actionIcon, { backgroundColor: iconFAQ }]}>
141
- <Ionicons name="help-circle-outline" size={28} color={darkenColor(iconFAQ)} />
142
- </View>
143
- <Text style={[styles.actionLabel, { color: mutedTextColor }]}>{t('trust.center.actions.faq') || 'FAQ'}</Text>
144
- </TouchableOpacity>
145
- </View>
146
- </View>
147
- <Text style={[styles.infoText, { color: mutedTextColor }]}>
148
- {t('trust.center.info') || 'Reputation can only be earned by positive actions in the Oxy Ecosystem. It cannot be sent or received directly.'}
101
+ {trustTierLabel ? (
102
+ <Chip
103
+ variant="soft"
104
+ color="primary"
105
+ startIcon={
106
+ <Ionicons
107
+ name="shield-checkmark-outline"
108
+ size={14}
109
+ color={primaryColor}
110
+ />
111
+ }
112
+ >
113
+ {trustTierLabel}
114
+ </Chip>
115
+ ) : null}
116
+ <Text
117
+ className="text-text-tertiary text-sm text-center mt-space-16"
118
+ style={styles.infoText}
119
+ >
120
+ {t('trust.center.info') ||
121
+ 'Reputation can only be earned by positive actions in the Oxy Ecosystem. It cannot be sent or received directly.'}
149
122
  </Text>
150
123
  </View>
151
- <Text style={[styles.sectionTitle, { color: bloomTheme.colors.text }]}>
152
- {t('trust.center.history') || 'Reputation History'}
153
- </Text>
154
- <View style={styles.historyContainer}>
124
+
125
+ {/* Trust actions */}
126
+ <SettingsListGroup
127
+ title={t('trust.center.actions.title') || 'Explore'}
128
+ >
129
+ <SettingsListItem
130
+ icon={
131
+ <SettingsIcon
132
+ name="trophy"
133
+ color={bloomTheme.colors.warning}
134
+ />
135
+ }
136
+ title={t('trust.center.actions.leaderboard') || 'Leaderboard'}
137
+ onPress={() => navigate?.('TrustLeaderboard')}
138
+ />
139
+ <SettingsListItem
140
+ icon={
141
+ <SettingsIcon
142
+ name="file-document"
143
+ color={bloomTheme.colors.info}
144
+ />
145
+ }
146
+ title={t('trust.center.actions.rules') || 'Rules'}
147
+ onPress={() => navigate?.('TrustRules')}
148
+ />
149
+ <SettingsListItem
150
+ icon={
151
+ <SettingsIcon
152
+ name="gift"
153
+ color={bloomTheme.colors.success}
154
+ />
155
+ }
156
+ title={t('trust.center.actions.rewards') || 'Rewards'}
157
+ onPress={() => navigate?.('TrustRewards')}
158
+ />
159
+ <SettingsListItem
160
+ icon={
161
+ <SettingsIcon
162
+ name="star"
163
+ color={bloomTheme.colors.primary}
164
+ />
165
+ }
166
+ title={t('trust.center.actions.about') || 'About'}
167
+ onPress={() => navigate?.('AboutTrust')}
168
+ />
169
+ <SettingsListItem
170
+ icon={
171
+ <SettingsIcon
172
+ name="help-circle"
173
+ color={bloomTheme.colors.secondary}
174
+ />
175
+ }
176
+ title={t('trust.center.actions.faq') || 'FAQ'}
177
+ onPress={() => navigate?.('TrustFAQ')}
178
+ />
179
+ </SettingsListGroup>
180
+
181
+ {/* Reputation history */}
182
+ <SettingsListGroup
183
+ title={t('trust.center.history') || 'Reputation History'}
184
+ >
155
185
  {transactions.length === 0 ? (
156
- <Text style={{ color: bloomTheme.colors.text, textAlign: 'center', marginTop: 16 }}>
157
- {t('trust.center.noHistory') || 'No reputation history yet.'}
158
- </Text>
186
+ <SettingsListItem
187
+ icon={
188
+ <SettingsIcon
189
+ name="history"
190
+ color={bloomTheme.colors.textTertiary}
191
+ />
192
+ }
193
+ title={
194
+ t('trust.center.noHistory') || 'No reputation history yet.'
195
+ }
196
+ showChevron={false}
197
+ disabled
198
+ />
159
199
  ) : (
160
200
  transactions.map((entry) => (
161
- <View key={entry.id} style={[styles.historyItem, { borderColor: bloomTheme.colors.border }]}>
162
- <Text style={[styles.historyPoints, { color: entry.points > 0 ? primaryColor : dangerColor }]}>
163
- {entry.points > 0 ? '+' : ''}{entry.points}
164
- </Text>
165
- <Text style={[styles.historyDesc, { color: bloomTheme.colors.text }]}>
166
- {entry.reason || entry.actionType || (t('trust.center.noDescription') || 'No description')}
167
- </Text>
168
- <View style={styles.historyMetaRow}>
169
- <Text style={[styles.historyCategory, { color: primaryColor }]}>
170
- {entry.category}
171
- </Text>
172
- <Text style={[styles.historyDate, { color: bloomTheme.colors.textTertiary }]}>
173
- {entry.createdAt ? new Date(entry.createdAt).toLocaleString() : ''}
174
- </Text>
175
- </View>
176
- </View>
201
+ <SettingsListItem
202
+ key={entry.id}
203
+ icon={
204
+ <SettingsIcon
205
+ name={
206
+ entry.points > 0
207
+ ? 'plus-circle'
208
+ : 'minus-circle'
209
+ }
210
+ color={
211
+ entry.points > 0
212
+ ? bloomTheme.colors.success
213
+ : bloomTheme.colors.error
214
+ }
215
+ />
216
+ }
217
+ title={
218
+ entry.reason ||
219
+ entry.actionType ||
220
+ (t('trust.center.noDescription') || 'No description')
221
+ }
222
+ description={
223
+ `${entry.category}${
224
+ entry.createdAt
225
+ ? ` · ${new Date(entry.createdAt).toLocaleString()}`
226
+ : ''
227
+ }`
228
+ }
229
+ rightElement={
230
+ <Chip
231
+ variant="soft"
232
+ size="small"
233
+ color={entry.points > 0 ? 'success' : 'error'}
234
+ >
235
+ {`${entry.points > 0 ? '+' : ''}${entry.points}`}
236
+ </Chip>
237
+ }
238
+ showChevron={false}
239
+ />
177
240
  ))
178
241
  )}
179
- </View>
180
- {error && <Text style={{ color: dangerColor, marginTop: 16, textAlign: 'center' }}>{error}</Text>}
242
+ </SettingsListGroup>
243
+
244
+ {error ? (
245
+ <Text
246
+ className="text-sm text-center mt-space-16"
247
+ style={{ color: bloomTheme.colors.error }}
248
+ >
249
+ {error}
250
+ </Text>
251
+ ) : null}
181
252
  </ScrollView>
182
253
  </View>
183
254
  );
184
255
  };
185
256
 
257
+ // Layout-only styles: flex centering for the empty/loading branches and the
258
+ // info caption's measured max width. No color, spacing, radius, or typography
259
+ // roles live here — those use Bloom token classes.
186
260
  const styles = StyleSheet.create({
187
- container: {
188
- flex: 1,
189
- },
190
- scrollView: {
261
+ center: {
191
262
  flex: 1,
192
- },
193
- scrollContainer: {
194
- padding: 0,
195
- alignItems: 'center',
196
- },
197
- walletHeader: {
198
- alignItems: 'center',
199
- paddingTop: 36,
200
- paddingBottom: 24,
201
- width: '100%',
202
- backgroundColor: 'transparent',
203
- },
204
- reputationLabel: {
205
- fontSize: 16,
206
- marginBottom: 12,
207
- },
208
- reputationAmount: {
209
- fontSize: 48,
210
- fontWeight: 'bold',
211
- marginBottom: 4,
212
- },
213
- tierBadge: {
214
- flexDirection: 'row',
215
- alignItems: 'center',
216
- gap: 6,
217
- borderWidth: 1,
218
- borderRadius: 999,
219
- paddingHorizontal: 12,
220
- paddingVertical: 5,
221
- marginBottom: 18,
222
- },
223
- tierBadgeText: {
224
- fontSize: 13,
225
- fontWeight: '600',
226
- },
227
- actionContainer: {
228
- marginBottom: 18,
229
- gap: 8,
230
- },
231
- actionRow: {
232
- flexDirection: 'row',
233
- justifyContent: 'center',
234
- gap: 2,
235
- },
236
- actionIconWrapper: {
237
- alignItems: 'center',
238
- width: 72,
239
- },
240
- actionIcon: {
241
- width: 56,
242
- height: 56,
243
- borderRadius: 28,
244
263
  alignItems: 'center',
245
264
  justifyContent: 'center',
246
- marginBottom: 6,
247
- },
248
- actionIconText: {
249
- fontSize: 28,
250
- },
251
- actionLabel: {
252
- fontSize: 10,
253
265
  },
254
266
  infoText: {
255
- fontSize: 13,
256
- textAlign: 'center',
257
- marginTop: 8,
258
- marginBottom: 8,
259
267
  maxWidth: 320,
260
268
  },
261
- sectionTitle: {
262
- fontSize: 18,
263
- fontWeight: Platform.OS === 'web' ? '600' : undefined,
264
- marginTop: 8,
265
- alignSelf: 'flex-start',
266
- marginLeft: 24,
267
- },
268
- historyContainer: {
269
- borderRadius: 15,
270
- overflow: 'hidden',
271
- marginBottom: 20,
272
- width: '100%',
273
- paddingHorizontal: 12,
274
- },
275
- historyItem: {
276
- padding: 14,
277
- borderBottomWidth: 1,
278
- },
279
- historyPoints: {
280
- fontSize: 16,
281
- fontWeight: '700',
282
- },
283
- historyDesc: {
284
- fontSize: 15,
285
- marginTop: 2,
286
- },
287
- historyMetaRow: {
288
- flexDirection: 'row',
289
- alignItems: 'center',
290
- justifyContent: 'space-between',
291
- marginTop: 2,
292
- },
293
- historyCategory: {
294
- fontSize: 12,
295
- fontWeight: '600',
296
- textTransform: 'capitalize',
297
- },
298
- historyDate: {
299
- fontSize: 13,
300
- },
301
-
302
- message: {
303
- fontSize: 16,
304
- textAlign: 'center',
305
- marginTop: 24,
306
- },
307
269
  });
308
270
 
309
271
  export default TrustCenterScreen;