@oxyhq/services 10.5.0 → 11.1.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (427) hide show
  1. package/lib/commonjs/index.js.map +1 -1
  2. package/lib/commonjs/ui/components/AccountMenu.js +9 -5
  3. package/lib/commonjs/ui/components/AccountMenu.js.map +1 -1
  4. package/lib/commonjs/ui/components/AnotherDeviceQR.js +51 -56
  5. package/lib/commonjs/ui/components/AnotherDeviceQR.js.map +1 -1
  6. package/lib/commonjs/ui/components/BottomSheetRouter.js +1 -0
  7. package/lib/commonjs/ui/components/BottomSheetRouter.js.map +1 -1
  8. package/lib/commonjs/ui/components/FollowButton.js +18 -5
  9. package/lib/commonjs/ui/components/FollowButton.js.map +1 -1
  10. package/lib/commonjs/ui/components/OxyProvider.js +23 -7
  11. package/lib/commonjs/ui/components/OxyProvider.js.map +1 -1
  12. package/lib/commonjs/ui/components/SignInModal.js +20 -1
  13. package/lib/commonjs/ui/components/SignInModal.js.map +1 -1
  14. package/lib/commonjs/ui/components/fileManagement/FileViewer.js +19 -9
  15. package/lib/commonjs/ui/components/fileManagement/FileViewer.js.map +1 -1
  16. package/lib/commonjs/ui/components/fileManagement/UploadPreview.js +4 -2
  17. package/lib/commonjs/ui/components/fileManagement/UploadPreview.js.map +1 -1
  18. package/lib/commonjs/ui/context/OxyContext.js +153 -19
  19. package/lib/commonjs/ui/context/OxyContext.js.map +1 -1
  20. package/lib/commonjs/ui/context/hooks/useAuthOperations.js +6 -17
  21. package/lib/commonjs/ui/context/hooks/useAuthOperations.js.map +1 -1
  22. package/lib/commonjs/ui/hooks/mutations/mutationFactory.js +5 -5
  23. package/lib/commonjs/ui/hooks/mutations/mutationFactory.js.map +1 -1
  24. package/lib/commonjs/ui/hooks/mutations/useAccountMutations.js +38 -38
  25. package/lib/commonjs/ui/hooks/mutations/useAccountMutations.js.map +1 -1
  26. package/lib/commonjs/ui/hooks/mutations/useServicesMutations.js +2 -2
  27. package/lib/commonjs/ui/hooks/mutations/useServicesMutations.js.map +1 -1
  28. package/lib/commonjs/ui/hooks/queries/queryKeys.js +3 -3
  29. package/lib/commonjs/ui/hooks/queries/queryKeys.js.map +1 -1
  30. package/lib/commonjs/ui/hooks/queries/useAccountQueries.js +1 -1
  31. package/lib/commonjs/ui/hooks/queries/useAccountQueries.js.map +1 -1
  32. package/lib/commonjs/ui/hooks/queries/usePaymentQueries.js +16 -12
  33. package/lib/commonjs/ui/hooks/queries/usePaymentQueries.js.map +1 -1
  34. package/lib/commonjs/ui/hooks/queries/useServicesQueries.js +10 -6
  35. package/lib/commonjs/ui/hooks/queries/useServicesQueries.js.map +1 -1
  36. package/lib/commonjs/ui/hooks/queryClient.js +6 -5
  37. package/lib/commonjs/ui/hooks/queryClient.js.map +1 -1
  38. package/lib/commonjs/ui/hooks/useOxyAuthSession.js +40 -2
  39. package/lib/commonjs/ui/hooks/useOxyAuthSession.js.map +1 -1
  40. package/lib/commonjs/ui/hooks/useProfileEditing.js +21 -0
  41. package/lib/commonjs/ui/hooks/useProfileEditing.js.map +1 -1
  42. package/lib/commonjs/ui/hooks/useSessionManagement.js +3 -3
  43. package/lib/commonjs/ui/hooks/useSessionManagement.js.map +1 -1
  44. package/lib/commonjs/ui/screens/AccountVerificationScreen.js +100 -108
  45. package/lib/commonjs/ui/screens/AccountVerificationScreen.js.map +1 -1
  46. package/lib/commonjs/ui/screens/AppInfoScreen.js +227 -273
  47. package/lib/commonjs/ui/screens/AppInfoScreen.js.map +1 -1
  48. package/lib/commonjs/ui/screens/AvatarCropScreen.js +10 -4
  49. package/lib/commonjs/ui/screens/AvatarCropScreen.js.map +1 -1
  50. package/lib/commonjs/ui/screens/ConnectedAppsScreen.js +20 -37
  51. package/lib/commonjs/ui/screens/ConnectedAppsScreen.js.map +1 -1
  52. package/lib/commonjs/ui/screens/CreateManagedAccountScreen.js +89 -201
  53. package/lib/commonjs/ui/screens/CreateManagedAccountScreen.js.map +1 -1
  54. package/lib/commonjs/ui/screens/EditProfileFieldScreen.js +80 -208
  55. package/lib/commonjs/ui/screens/EditProfileFieldScreen.js.map +1 -1
  56. package/lib/commonjs/ui/screens/FAQScreen.js +56 -208
  57. package/lib/commonjs/ui/screens/FAQScreen.js.map +1 -1
  58. package/lib/commonjs/ui/screens/FeedbackScreen.js +303 -352
  59. package/lib/commonjs/ui/screens/FeedbackScreen.js.map +1 -1
  60. package/lib/commonjs/ui/screens/FileManagementScreen.js +20 -20
  61. package/lib/commonjs/ui/screens/FileManagementScreen.js.map +1 -1
  62. package/lib/commonjs/ui/screens/HelpSupportScreen.js +77 -89
  63. package/lib/commonjs/ui/screens/HelpSupportScreen.js.map +1 -1
  64. package/lib/commonjs/ui/screens/HistoryViewScreen.js +43 -58
  65. package/lib/commonjs/ui/screens/HistoryViewScreen.js.map +1 -1
  66. package/lib/commonjs/ui/screens/LanguageSelectorScreen.js +67 -90
  67. package/lib/commonjs/ui/screens/LanguageSelectorScreen.js.map +1 -1
  68. package/lib/commonjs/ui/screens/LearnMoreUsernamesScreen.js +77 -177
  69. package/lib/commonjs/ui/screens/LearnMoreUsernamesScreen.js.map +1 -1
  70. package/lib/commonjs/ui/screens/LegalDocumentsScreen.js +113 -107
  71. package/lib/commonjs/ui/screens/LegalDocumentsScreen.js.map +1 -1
  72. package/lib/commonjs/ui/screens/ManageAccountScreen.js +55 -114
  73. package/lib/commonjs/ui/screens/ManageAccountScreen.js.map +1 -1
  74. package/lib/commonjs/ui/screens/NotificationsScreen.js +67 -85
  75. package/lib/commonjs/ui/screens/NotificationsScreen.js.map +1 -1
  76. package/lib/commonjs/ui/screens/OxyAuthScreen.js +71 -135
  77. package/lib/commonjs/ui/screens/OxyAuthScreen.js.map +1 -1
  78. package/lib/commonjs/ui/screens/PaymentGatewayScreen.js +15 -9
  79. package/lib/commonjs/ui/screens/PaymentGatewayScreen.js.map +1 -1
  80. package/lib/commonjs/ui/screens/PreferencesScreen.js +65 -83
  81. package/lib/commonjs/ui/screens/PreferencesScreen.js.map +1 -1
  82. package/lib/commonjs/ui/screens/PremiumSubscriptionScreen.js +378 -1023
  83. package/lib/commonjs/ui/screens/PremiumSubscriptionScreen.js.map +1 -1
  84. package/lib/commonjs/ui/screens/PrivacySettingsScreen.js +294 -242
  85. package/lib/commonjs/ui/screens/PrivacySettingsScreen.js.map +1 -1
  86. package/lib/commonjs/ui/screens/ProfileScreen.js +192 -305
  87. package/lib/commonjs/ui/screens/ProfileScreen.js.map +1 -1
  88. package/lib/commonjs/ui/screens/SavesCollectionsScreen.js +57 -97
  89. package/lib/commonjs/ui/screens/SavesCollectionsScreen.js.map +1 -1
  90. package/lib/commonjs/ui/screens/SearchSettingsScreen.js +41 -41
  91. package/lib/commonjs/ui/screens/SearchSettingsScreen.js.map +1 -1
  92. package/lib/commonjs/ui/screens/UserLinksScreen.js +17 -24
  93. package/lib/commonjs/ui/screens/UserLinksScreen.js.map +1 -1
  94. package/lib/commonjs/ui/screens/UserListScreen.js +83 -214
  95. package/lib/commonjs/ui/screens/UserListScreen.js.map +1 -1
  96. package/lib/commonjs/ui/screens/WelcomeNewUserScreen.js +115 -77
  97. package/lib/commonjs/ui/screens/WelcomeNewUserScreen.js.map +1 -1
  98. package/lib/commonjs/ui/screens/trust/TrustAboutScreen.js +70 -57
  99. package/lib/commonjs/ui/screens/trust/TrustAboutScreen.js.map +1 -1
  100. package/lib/commonjs/ui/screens/trust/TrustCenterScreen.js +136 -332
  101. package/lib/commonjs/ui/screens/trust/TrustCenterScreen.js.map +1 -1
  102. package/lib/commonjs/ui/screens/trust/TrustFAQScreen.js +47 -137
  103. package/lib/commonjs/ui/screens/trust/TrustFAQScreen.js.map +1 -1
  104. package/lib/commonjs/ui/screens/trust/TrustLeaderboardScreen.js +182 -115
  105. package/lib/commonjs/ui/screens/trust/TrustLeaderboardScreen.js.map +1 -1
  106. package/lib/commonjs/ui/screens/trust/TrustRewardsScreen.js +138 -214
  107. package/lib/commonjs/ui/screens/trust/TrustRewardsScreen.js.map +1 -1
  108. package/lib/commonjs/ui/screens/trust/TrustRulesScreen.js +54 -92
  109. package/lib/commonjs/ui/screens/trust/TrustRulesScreen.js.map +1 -1
  110. package/lib/commonjs/ui/utils/activeAuthuser.js +15 -9
  111. package/lib/commonjs/ui/utils/activeAuthuser.js.map +1 -1
  112. package/lib/commonjs/ui/utils/avatarUtils.js +1 -1
  113. package/lib/commonjs/ui/utils/avatarUtils.js.map +1 -1
  114. package/lib/module/index.js.map +1 -1
  115. package/lib/module/ui/components/AccountMenu.js +10 -6
  116. package/lib/module/ui/components/AccountMenu.js.map +1 -1
  117. package/lib/module/ui/components/AnotherDeviceQR.js +50 -56
  118. package/lib/module/ui/components/AnotherDeviceQR.js.map +1 -1
  119. package/lib/module/ui/components/BottomSheetRouter.js +2 -1
  120. package/lib/module/ui/components/BottomSheetRouter.js.map +1 -1
  121. package/lib/module/ui/components/FollowButton.js +18 -5
  122. package/lib/module/ui/components/FollowButton.js.map +1 -1
  123. package/lib/module/ui/components/OxyProvider.js +23 -7
  124. package/lib/module/ui/components/OxyProvider.js.map +1 -1
  125. package/lib/module/ui/components/SignInModal.js +20 -1
  126. package/lib/module/ui/components/SignInModal.js.map +1 -1
  127. package/lib/module/ui/components/fileManagement/FileViewer.js +19 -9
  128. package/lib/module/ui/components/fileManagement/FileViewer.js.map +1 -1
  129. package/lib/module/ui/components/fileManagement/UploadPreview.js +4 -2
  130. package/lib/module/ui/components/fileManagement/UploadPreview.js.map +1 -1
  131. package/lib/module/ui/context/OxyContext.js +154 -20
  132. package/lib/module/ui/context/OxyContext.js.map +1 -1
  133. package/lib/module/ui/context/hooks/useAuthOperations.js +6 -17
  134. package/lib/module/ui/context/hooks/useAuthOperations.js.map +1 -1
  135. package/lib/module/ui/hooks/mutations/mutationFactory.js +5 -5
  136. package/lib/module/ui/hooks/mutations/mutationFactory.js.map +1 -1
  137. package/lib/module/ui/hooks/mutations/useAccountMutations.js +38 -38
  138. package/lib/module/ui/hooks/mutations/useAccountMutations.js.map +1 -1
  139. package/lib/module/ui/hooks/mutations/useServicesMutations.js +2 -2
  140. package/lib/module/ui/hooks/mutations/useServicesMutations.js.map +1 -1
  141. package/lib/module/ui/hooks/queries/queryKeys.js +3 -3
  142. package/lib/module/ui/hooks/queries/queryKeys.js.map +1 -1
  143. package/lib/module/ui/hooks/queries/useAccountQueries.js +1 -1
  144. package/lib/module/ui/hooks/queries/useAccountQueries.js.map +1 -1
  145. package/lib/module/ui/hooks/queries/usePaymentQueries.js +16 -12
  146. package/lib/module/ui/hooks/queries/usePaymentQueries.js.map +1 -1
  147. package/lib/module/ui/hooks/queries/useServicesQueries.js +9 -6
  148. package/lib/module/ui/hooks/queries/useServicesQueries.js.map +1 -1
  149. package/lib/module/ui/hooks/queryClient.js +6 -5
  150. package/lib/module/ui/hooks/queryClient.js.map +1 -1
  151. package/lib/module/ui/hooks/useOxyAuthSession.js +40 -2
  152. package/lib/module/ui/hooks/useOxyAuthSession.js.map +1 -1
  153. package/lib/module/ui/hooks/useProfileEditing.js +21 -0
  154. package/lib/module/ui/hooks/useProfileEditing.js.map +1 -1
  155. package/lib/module/ui/hooks/useSessionManagement.js +4 -3
  156. package/lib/module/ui/hooks/useSessionManagement.js.map +1 -1
  157. package/lib/module/ui/screens/AccountVerificationScreen.js +101 -109
  158. package/lib/module/ui/screens/AccountVerificationScreen.js.map +1 -1
  159. package/lib/module/ui/screens/AppInfoScreen.js +228 -275
  160. package/lib/module/ui/screens/AppInfoScreen.js.map +1 -1
  161. package/lib/module/ui/screens/AvatarCropScreen.js +10 -4
  162. package/lib/module/ui/screens/AvatarCropScreen.js.map +1 -1
  163. package/lib/module/ui/screens/ConnectedAppsScreen.js +19 -39
  164. package/lib/module/ui/screens/ConnectedAppsScreen.js.map +1 -1
  165. package/lib/module/ui/screens/CreateManagedAccountScreen.js +90 -202
  166. package/lib/module/ui/screens/CreateManagedAccountScreen.js.map +1 -1
  167. package/lib/module/ui/screens/EditProfileFieldScreen.js +77 -205
  168. package/lib/module/ui/screens/EditProfileFieldScreen.js.map +1 -1
  169. package/lib/module/ui/screens/FAQScreen.js +55 -207
  170. package/lib/module/ui/screens/FAQScreen.js.map +1 -1
  171. package/lib/module/ui/screens/FeedbackScreen.js +301 -350
  172. package/lib/module/ui/screens/FeedbackScreen.js.map +1 -1
  173. package/lib/module/ui/screens/FileManagementScreen.js +20 -20
  174. package/lib/module/ui/screens/FileManagementScreen.js.map +1 -1
  175. package/lib/module/ui/screens/HelpSupportScreen.js +78 -90
  176. package/lib/module/ui/screens/HelpSupportScreen.js.map +1 -1
  177. package/lib/module/ui/screens/HistoryViewScreen.js +44 -59
  178. package/lib/module/ui/screens/HistoryViewScreen.js.map +1 -1
  179. package/lib/module/ui/screens/LanguageSelectorScreen.js +68 -91
  180. package/lib/module/ui/screens/LanguageSelectorScreen.js.map +1 -1
  181. package/lib/module/ui/screens/LearnMoreUsernamesScreen.js +75 -177
  182. package/lib/module/ui/screens/LearnMoreUsernamesScreen.js.map +1 -1
  183. package/lib/module/ui/screens/LegalDocumentsScreen.js +116 -108
  184. package/lib/module/ui/screens/LegalDocumentsScreen.js.map +1 -1
  185. package/lib/module/ui/screens/ManageAccountScreen.js +52 -112
  186. package/lib/module/ui/screens/ManageAccountScreen.js.map +1 -1
  187. package/lib/module/ui/screens/NotificationsScreen.js +68 -86
  188. package/lib/module/ui/screens/NotificationsScreen.js.map +1 -1
  189. package/lib/module/ui/screens/OxyAuthScreen.js +69 -134
  190. package/lib/module/ui/screens/OxyAuthScreen.js.map +1 -1
  191. package/lib/module/ui/screens/PaymentGatewayScreen.js +16 -10
  192. package/lib/module/ui/screens/PaymentGatewayScreen.js.map +1 -1
  193. package/lib/module/ui/screens/PreferencesScreen.js +66 -84
  194. package/lib/module/ui/screens/PreferencesScreen.js.map +1 -1
  195. package/lib/module/ui/screens/PremiumSubscriptionScreen.js +366 -1012
  196. package/lib/module/ui/screens/PremiumSubscriptionScreen.js.map +1 -1
  197. package/lib/module/ui/screens/PrivacySettingsScreen.js +295 -243
  198. package/lib/module/ui/screens/PrivacySettingsScreen.js.map +1 -1
  199. package/lib/module/ui/screens/ProfileScreen.js +189 -302
  200. package/lib/module/ui/screens/ProfileScreen.js.map +1 -1
  201. package/lib/module/ui/screens/SavesCollectionsScreen.js +58 -98
  202. package/lib/module/ui/screens/SavesCollectionsScreen.js.map +1 -1
  203. package/lib/module/ui/screens/SearchSettingsScreen.js +42 -42
  204. package/lib/module/ui/screens/SearchSettingsScreen.js.map +1 -1
  205. package/lib/module/ui/screens/UserLinksScreen.js +18 -25
  206. package/lib/module/ui/screens/UserLinksScreen.js.map +1 -1
  207. package/lib/module/ui/screens/UserListScreen.js +81 -212
  208. package/lib/module/ui/screens/UserListScreen.js.map +1 -1
  209. package/lib/module/ui/screens/WelcomeNewUserScreen.js +114 -76
  210. package/lib/module/ui/screens/WelcomeNewUserScreen.js.map +1 -1
  211. package/lib/module/ui/screens/trust/TrustAboutScreen.js +69 -57
  212. package/lib/module/ui/screens/trust/TrustAboutScreen.js.map +1 -1
  213. package/lib/module/ui/screens/trust/TrustCenterScreen.js +135 -332
  214. package/lib/module/ui/screens/trust/TrustCenterScreen.js.map +1 -1
  215. package/lib/module/ui/screens/trust/TrustFAQScreen.js +48 -138
  216. package/lib/module/ui/screens/trust/TrustFAQScreen.js.map +1 -1
  217. package/lib/module/ui/screens/trust/TrustLeaderboardScreen.js +184 -117
  218. package/lib/module/ui/screens/trust/TrustLeaderboardScreen.js.map +1 -1
  219. package/lib/module/ui/screens/trust/TrustRewardsScreen.js +132 -208
  220. package/lib/module/ui/screens/trust/TrustRewardsScreen.js.map +1 -1
  221. package/lib/module/ui/screens/trust/TrustRulesScreen.js +58 -94
  222. package/lib/module/ui/screens/trust/TrustRulesScreen.js.map +1 -1
  223. package/lib/module/ui/utils/activeAuthuser.js +15 -9
  224. package/lib/module/ui/utils/activeAuthuser.js.map +1 -1
  225. package/lib/module/ui/utils/avatarUtils.js +1 -1
  226. package/lib/module/ui/utils/avatarUtils.js.map +1 -1
  227. package/lib/typescript/commonjs/index.d.ts +1 -0
  228. package/lib/typescript/commonjs/index.d.ts.map +1 -1
  229. package/lib/typescript/commonjs/ui/components/AccountMenu.d.ts +2 -0
  230. package/lib/typescript/commonjs/ui/components/AccountMenu.d.ts.map +1 -1
  231. package/lib/typescript/commonjs/ui/components/AnotherDeviceQR.d.ts +12 -2
  232. package/lib/typescript/commonjs/ui/components/AnotherDeviceQR.d.ts.map +1 -1
  233. package/lib/typescript/commonjs/ui/components/BottomSheetRouter.d.ts.map +1 -1
  234. package/lib/typescript/commonjs/ui/components/FollowButton.d.ts.map +1 -1
  235. package/lib/typescript/commonjs/ui/components/OxyProvider.d.ts +3 -2
  236. package/lib/typescript/commonjs/ui/components/OxyProvider.d.ts.map +1 -1
  237. package/lib/typescript/commonjs/ui/components/SignInModal.d.ts.map +1 -1
  238. package/lib/typescript/commonjs/ui/components/TouchableRipple/TouchableRipple.native.d.ts +1 -1
  239. package/lib/typescript/commonjs/ui/components/TouchableRipple/TouchableRipple.native.d.ts.map +1 -1
  240. package/lib/typescript/commonjs/ui/context/OxyContext.d.ts +34 -0
  241. package/lib/typescript/commonjs/ui/context/OxyContext.d.ts.map +1 -1
  242. package/lib/typescript/commonjs/ui/context/hooks/useAuthOperations.d.ts.map +1 -1
  243. package/lib/typescript/commonjs/ui/hooks/mutations/useAccountMutations.d.ts +3 -0
  244. package/lib/typescript/commonjs/ui/hooks/mutations/useAccountMutations.d.ts.map +1 -1
  245. package/lib/typescript/commonjs/ui/hooks/queries/queryKeys.d.ts +3 -3
  246. package/lib/typescript/commonjs/ui/hooks/queries/queryKeys.d.ts.map +1 -1
  247. package/lib/typescript/commonjs/ui/hooks/queries/useServicesQueries.d.ts.map +1 -1
  248. package/lib/typescript/commonjs/ui/hooks/queryClient.d.ts.map +1 -1
  249. package/lib/typescript/commonjs/ui/hooks/useOxyAuthSession.d.ts +22 -0
  250. package/lib/typescript/commonjs/ui/hooks/useOxyAuthSession.d.ts.map +1 -1
  251. package/lib/typescript/commonjs/ui/hooks/useProfileEditing.d.ts +3 -0
  252. package/lib/typescript/commonjs/ui/hooks/useProfileEditing.d.ts.map +1 -1
  253. package/lib/typescript/commonjs/ui/hooks/useSessionManagement.d.ts +2 -1
  254. package/lib/typescript/commonjs/ui/hooks/useSessionManagement.d.ts.map +1 -1
  255. package/lib/typescript/commonjs/ui/screens/AccountVerificationScreen.d.ts.map +1 -1
  256. package/lib/typescript/commonjs/ui/screens/AppInfoScreen.d.ts.map +1 -1
  257. package/lib/typescript/commonjs/ui/screens/AvatarCropScreen.d.ts.map +1 -1
  258. package/lib/typescript/commonjs/ui/screens/ConnectedAppsScreen.d.ts.map +1 -1
  259. package/lib/typescript/commonjs/ui/screens/CreateManagedAccountScreen.d.ts.map +1 -1
  260. package/lib/typescript/commonjs/ui/screens/EditProfileFieldScreen.d.ts.map +1 -1
  261. package/lib/typescript/commonjs/ui/screens/FAQScreen.d.ts.map +1 -1
  262. package/lib/typescript/commonjs/ui/screens/FeedbackScreen.d.ts.map +1 -1
  263. package/lib/typescript/commonjs/ui/screens/HelpSupportScreen.d.ts.map +1 -1
  264. package/lib/typescript/commonjs/ui/screens/HistoryViewScreen.d.ts.map +1 -1
  265. package/lib/typescript/commonjs/ui/screens/LanguageSelectorScreen.d.ts.map +1 -1
  266. package/lib/typescript/commonjs/ui/screens/LearnMoreUsernamesScreen.d.ts.map +1 -1
  267. package/lib/typescript/commonjs/ui/screens/LegalDocumentsScreen.d.ts.map +1 -1
  268. package/lib/typescript/commonjs/ui/screens/ManageAccountScreen.d.ts.map +1 -1
  269. package/lib/typescript/commonjs/ui/screens/NotificationsScreen.d.ts.map +1 -1
  270. package/lib/typescript/commonjs/ui/screens/OxyAuthScreen.d.ts.map +1 -1
  271. package/lib/typescript/commonjs/ui/screens/PaymentGatewayScreen.d.ts.map +1 -1
  272. package/lib/typescript/commonjs/ui/screens/PreferencesScreen.d.ts.map +1 -1
  273. package/lib/typescript/commonjs/ui/screens/PremiumSubscriptionScreen.d.ts.map +1 -1
  274. package/lib/typescript/commonjs/ui/screens/PrivacySettingsScreen.d.ts.map +1 -1
  275. package/lib/typescript/commonjs/ui/screens/ProfileScreen.d.ts.map +1 -1
  276. package/lib/typescript/commonjs/ui/screens/SavesCollectionsScreen.d.ts.map +1 -1
  277. package/lib/typescript/commonjs/ui/screens/SearchSettingsScreen.d.ts.map +1 -1
  278. package/lib/typescript/commonjs/ui/screens/UserLinksScreen.d.ts.map +1 -1
  279. package/lib/typescript/commonjs/ui/screens/UserListScreen.d.ts.map +1 -1
  280. package/lib/typescript/commonjs/ui/screens/WelcomeNewUserScreen.d.ts.map +1 -1
  281. package/lib/typescript/commonjs/ui/screens/trust/TrustAboutScreen.d.ts.map +1 -1
  282. package/lib/typescript/commonjs/ui/screens/trust/TrustCenterScreen.d.ts.map +1 -1
  283. package/lib/typescript/commonjs/ui/screens/trust/TrustFAQScreen.d.ts.map +1 -1
  284. package/lib/typescript/commonjs/ui/screens/trust/TrustLeaderboardScreen.d.ts.map +1 -1
  285. package/lib/typescript/commonjs/ui/screens/trust/TrustRewardsScreen.d.ts.map +1 -1
  286. package/lib/typescript/commonjs/ui/screens/trust/TrustRulesScreen.d.ts.map +1 -1
  287. package/lib/typescript/commonjs/ui/utils/activeAuthuser.d.ts.map +1 -1
  288. package/lib/typescript/module/index.d.ts +1 -0
  289. package/lib/typescript/module/index.d.ts.map +1 -1
  290. package/lib/typescript/module/ui/components/AccountMenu.d.ts +2 -0
  291. package/lib/typescript/module/ui/components/AccountMenu.d.ts.map +1 -1
  292. package/lib/typescript/module/ui/components/AnotherDeviceQR.d.ts +12 -2
  293. package/lib/typescript/module/ui/components/AnotherDeviceQR.d.ts.map +1 -1
  294. package/lib/typescript/module/ui/components/BottomSheetRouter.d.ts.map +1 -1
  295. package/lib/typescript/module/ui/components/FollowButton.d.ts.map +1 -1
  296. package/lib/typescript/module/ui/components/OxyProvider.d.ts +3 -2
  297. package/lib/typescript/module/ui/components/OxyProvider.d.ts.map +1 -1
  298. package/lib/typescript/module/ui/components/SignInModal.d.ts.map +1 -1
  299. package/lib/typescript/module/ui/components/TouchableRipple/TouchableRipple.native.d.ts +1 -1
  300. package/lib/typescript/module/ui/components/TouchableRipple/TouchableRipple.native.d.ts.map +1 -1
  301. package/lib/typescript/module/ui/context/OxyContext.d.ts +34 -0
  302. package/lib/typescript/module/ui/context/OxyContext.d.ts.map +1 -1
  303. package/lib/typescript/module/ui/context/hooks/useAuthOperations.d.ts.map +1 -1
  304. package/lib/typescript/module/ui/hooks/mutations/useAccountMutations.d.ts +3 -0
  305. package/lib/typescript/module/ui/hooks/mutations/useAccountMutations.d.ts.map +1 -1
  306. package/lib/typescript/module/ui/hooks/queries/queryKeys.d.ts +3 -3
  307. package/lib/typescript/module/ui/hooks/queries/queryKeys.d.ts.map +1 -1
  308. package/lib/typescript/module/ui/hooks/queries/useServicesQueries.d.ts.map +1 -1
  309. package/lib/typescript/module/ui/hooks/queryClient.d.ts.map +1 -1
  310. package/lib/typescript/module/ui/hooks/useOxyAuthSession.d.ts +22 -0
  311. package/lib/typescript/module/ui/hooks/useOxyAuthSession.d.ts.map +1 -1
  312. package/lib/typescript/module/ui/hooks/useProfileEditing.d.ts +3 -0
  313. package/lib/typescript/module/ui/hooks/useProfileEditing.d.ts.map +1 -1
  314. package/lib/typescript/module/ui/hooks/useSessionManagement.d.ts +2 -1
  315. package/lib/typescript/module/ui/hooks/useSessionManagement.d.ts.map +1 -1
  316. package/lib/typescript/module/ui/screens/AccountVerificationScreen.d.ts.map +1 -1
  317. package/lib/typescript/module/ui/screens/AppInfoScreen.d.ts.map +1 -1
  318. package/lib/typescript/module/ui/screens/AvatarCropScreen.d.ts.map +1 -1
  319. package/lib/typescript/module/ui/screens/ConnectedAppsScreen.d.ts.map +1 -1
  320. package/lib/typescript/module/ui/screens/CreateManagedAccountScreen.d.ts.map +1 -1
  321. package/lib/typescript/module/ui/screens/EditProfileFieldScreen.d.ts.map +1 -1
  322. package/lib/typescript/module/ui/screens/FAQScreen.d.ts.map +1 -1
  323. package/lib/typescript/module/ui/screens/FeedbackScreen.d.ts.map +1 -1
  324. package/lib/typescript/module/ui/screens/HelpSupportScreen.d.ts.map +1 -1
  325. package/lib/typescript/module/ui/screens/HistoryViewScreen.d.ts.map +1 -1
  326. package/lib/typescript/module/ui/screens/LanguageSelectorScreen.d.ts.map +1 -1
  327. package/lib/typescript/module/ui/screens/LearnMoreUsernamesScreen.d.ts.map +1 -1
  328. package/lib/typescript/module/ui/screens/LegalDocumentsScreen.d.ts.map +1 -1
  329. package/lib/typescript/module/ui/screens/ManageAccountScreen.d.ts.map +1 -1
  330. package/lib/typescript/module/ui/screens/NotificationsScreen.d.ts.map +1 -1
  331. package/lib/typescript/module/ui/screens/OxyAuthScreen.d.ts.map +1 -1
  332. package/lib/typescript/module/ui/screens/PaymentGatewayScreen.d.ts.map +1 -1
  333. package/lib/typescript/module/ui/screens/PreferencesScreen.d.ts.map +1 -1
  334. package/lib/typescript/module/ui/screens/PremiumSubscriptionScreen.d.ts.map +1 -1
  335. package/lib/typescript/module/ui/screens/PrivacySettingsScreen.d.ts.map +1 -1
  336. package/lib/typescript/module/ui/screens/ProfileScreen.d.ts.map +1 -1
  337. package/lib/typescript/module/ui/screens/SavesCollectionsScreen.d.ts.map +1 -1
  338. package/lib/typescript/module/ui/screens/SearchSettingsScreen.d.ts.map +1 -1
  339. package/lib/typescript/module/ui/screens/UserLinksScreen.d.ts.map +1 -1
  340. package/lib/typescript/module/ui/screens/UserListScreen.d.ts.map +1 -1
  341. package/lib/typescript/module/ui/screens/WelcomeNewUserScreen.d.ts.map +1 -1
  342. package/lib/typescript/module/ui/screens/trust/TrustAboutScreen.d.ts.map +1 -1
  343. package/lib/typescript/module/ui/screens/trust/TrustCenterScreen.d.ts.map +1 -1
  344. package/lib/typescript/module/ui/screens/trust/TrustFAQScreen.d.ts.map +1 -1
  345. package/lib/typescript/module/ui/screens/trust/TrustLeaderboardScreen.d.ts.map +1 -1
  346. package/lib/typescript/module/ui/screens/trust/TrustRewardsScreen.d.ts.map +1 -1
  347. package/lib/typescript/module/ui/screens/trust/TrustRulesScreen.d.ts.map +1 -1
  348. package/lib/typescript/module/ui/utils/activeAuthuser.d.ts.map +1 -1
  349. package/lib/typescript/types/expo-haptics.d.ts +42 -0
  350. package/package.json +24 -31
  351. package/src/index.ts +1 -0
  352. package/src/types/expo-haptics.d.ts +42 -0
  353. package/src/ui/components/AccountMenu.tsx +11 -5
  354. package/src/ui/components/AnotherDeviceQR.tsx +53 -45
  355. package/src/ui/components/BottomSheetRouter.tsx +2 -1
  356. package/src/ui/components/FollowButton.tsx +24 -5
  357. package/src/ui/components/OxyProvider.tsx +22 -8
  358. package/src/ui/components/SignInModal.tsx +21 -2
  359. package/src/ui/components/TouchableRipple/TouchableRipple.native.tsx +1 -1
  360. package/src/ui/components/fileManagement/FileViewer.tsx +9 -9
  361. package/src/ui/components/fileManagement/UploadPreview.tsx +2 -2
  362. package/src/ui/context/OxyContext.tsx +178 -21
  363. package/src/ui/context/hooks/useAuthOperations.ts +6 -17
  364. package/src/ui/hooks/mutations/mutationFactory.ts +5 -5
  365. package/src/ui/hooks/mutations/useAccountMutations.ts +38 -38
  366. package/src/ui/hooks/mutations/useServicesMutations.ts +2 -2
  367. package/src/ui/hooks/queries/queryKeys.ts +6 -3
  368. package/src/ui/hooks/queries/useAccountQueries.ts +1 -1
  369. package/src/ui/hooks/queries/usePaymentQueries.ts +12 -12
  370. package/src/ui/hooks/queries/useServicesQueries.ts +9 -6
  371. package/src/ui/hooks/queryClient.ts +5 -5
  372. package/src/ui/hooks/useOxyAuthSession.ts +76 -2
  373. package/src/ui/hooks/useProfileEditing.ts +24 -0
  374. package/src/ui/hooks/useSessionManagement.ts +9 -6
  375. package/src/ui/screens/AccountVerificationScreen.tsx +101 -113
  376. package/src/ui/screens/AppInfoScreen.tsx +200 -238
  377. package/src/ui/screens/AvatarCropScreen.tsx +17 -4
  378. package/src/ui/screens/ConnectedAppsScreen.tsx +16 -34
  379. package/src/ui/screens/CreateManagedAccountScreen.tsx +94 -170
  380. package/src/ui/screens/EditProfileFieldScreen.tsx +77 -190
  381. package/src/ui/screens/FAQScreen.tsx +77 -208
  382. package/src/ui/screens/FeedbackScreen.tsx +330 -239
  383. package/src/ui/screens/FileManagementScreen.tsx +20 -20
  384. package/src/ui/screens/HelpSupportScreen.tsx +67 -82
  385. package/src/ui/screens/HistoryViewScreen.tsx +32 -38
  386. package/src/ui/screens/LanguageSelectorScreen.tsx +79 -93
  387. package/src/ui/screens/LearnMoreUsernamesScreen.tsx +81 -164
  388. package/src/ui/screens/LegalDocumentsScreen.tsx +184 -123
  389. package/src/ui/screens/ManageAccountScreen.tsx +48 -114
  390. package/src/ui/screens/NotificationsScreen.tsx +107 -106
  391. package/src/ui/screens/OxyAuthScreen.tsx +76 -109
  392. package/src/ui/screens/PaymentGatewayScreen.tsx +16 -7
  393. package/src/ui/screens/PreferencesScreen.tsx +96 -116
  394. package/src/ui/screens/PremiumSubscriptionScreen.tsx +419 -872
  395. package/src/ui/screens/PrivacySettingsScreen.tsx +203 -185
  396. package/src/ui/screens/ProfileScreen.tsx +158 -200
  397. package/src/ui/screens/SavesCollectionsScreen.tsx +78 -125
  398. package/src/ui/screens/SearchSettingsScreen.tsx +52 -41
  399. package/src/ui/screens/UserLinksScreen.tsx +18 -25
  400. package/src/ui/screens/UserListScreen.tsx +95 -188
  401. package/src/ui/screens/WelcomeNewUserScreen.tsx +109 -36
  402. package/src/ui/screens/trust/TrustAboutScreen.tsx +52 -41
  403. package/src/ui/screens/trust/TrustCenterScreen.tsx +184 -222
  404. package/src/ui/screens/trust/TrustFAQScreen.tsx +64 -124
  405. package/src/ui/screens/trust/TrustLeaderboardScreen.tsx +190 -67
  406. package/src/ui/screens/trust/TrustRewardsScreen.tsx +147 -182
  407. package/src/ui/screens/trust/TrustRulesScreen.tsx +77 -50
  408. package/src/ui/utils/activeAuthuser.ts +15 -9
  409. package/src/ui/utils/avatarUtils.ts +1 -1
  410. package/lib/commonjs/ui/components/feedback/FormInput.js +0 -72
  411. package/lib/commonjs/ui/components/feedback/FormInput.js.map +0 -1
  412. package/lib/commonjs/ui/components/feedback/feedbackStyles.js +0 -261
  413. package/lib/commonjs/ui/components/feedback/feedbackStyles.js.map +0 -1
  414. package/lib/module/ui/components/feedback/FormInput.js +0 -67
  415. package/lib/module/ui/components/feedback/FormInput.js.map +0 -1
  416. package/lib/module/ui/components/feedback/feedbackStyles.js +0 -256
  417. package/lib/module/ui/components/feedback/feedbackStyles.js.map +0 -1
  418. package/lib/typescript/commonjs/ui/components/feedback/FormInput.d.ts +0 -20
  419. package/lib/typescript/commonjs/ui/components/feedback/FormInput.d.ts.map +0 -1
  420. package/lib/typescript/commonjs/ui/components/feedback/feedbackStyles.d.ts +0 -279
  421. package/lib/typescript/commonjs/ui/components/feedback/feedbackStyles.d.ts.map +0 -1
  422. package/lib/typescript/module/ui/components/feedback/FormInput.d.ts +0 -20
  423. package/lib/typescript/module/ui/components/feedback/FormInput.d.ts.map +0 -1
  424. package/lib/typescript/module/ui/components/feedback/feedbackStyles.d.ts +0 -279
  425. package/lib/typescript/module/ui/components/feedback/feedbackStyles.d.ts.map +0 -1
  426. package/src/ui/components/feedback/FormInput.tsx +0 -84
  427. package/src/ui/components/feedback/feedbackStyles.ts +0 -246
@@ -1,25 +1,23 @@
1
1
  import React, { useState, useEffect } from 'react';
2
- import {
3
- View,
4
- Text,
5
- TouchableOpacity,
6
- StyleSheet,
7
- ScrollView,
8
- } from 'react-native';
2
+ import { View, ScrollView } from 'react-native';
9
3
  import type { BaseScreenProps } from '../types/navigation';
10
4
  import { toast } from '@oxyhq/bloom';
5
+ import {
6
+ SegmentedControl,
7
+ SegmentedControlItem,
8
+ SegmentedControlItemText,
9
+ } from '@oxyhq/bloom/segmented-control';
10
+ import { useTheme } from '@oxyhq/bloom/theme';
11
+ import { SettingsListGroup, SettingsListItem } from '@oxyhq/bloom/settings-list';
11
12
  import Header from '../components/Header';
12
13
  import LoadingState from '../components/LoadingState';
13
14
  import EmptyState from '../components/EmptyState';
14
- import { SettingsListGroup, SettingsListItem } from '@oxyhq/bloom/settings-list';
15
15
  import { SettingsIcon } from '../components/SettingsIcon';
16
16
  import { useI18n } from '../hooks/useI18n';
17
- import { useTheme } from '@oxyhq/bloom/theme';
18
- import { useColorScheme } from '../hooks/useColorScheme';
19
- import { Colors } from '../constants/theme';
20
- import { normalizeColorScheme } from '@oxyhq/core';
21
17
  import { useOxy } from '../context/OxyContext';
22
18
 
19
+ type SavesTab = 'saves' | 'collections';
20
+
23
21
  interface SavedItem {
24
22
  id: string;
25
23
  title: string;
@@ -38,23 +36,16 @@ interface Collection {
38
36
 
39
37
  const SavesCollectionsScreen: React.FC<BaseScreenProps> = ({
40
38
  onClose,
41
- theme,
42
39
  goBack,
43
40
  }) => {
44
41
  // Use useOxy() hook for OxyContext values
45
42
  const { oxyServices, user } = useOxy();
46
43
  const { t } = useI18n();
44
+ const bloomTheme = useTheme();
47
45
  const [savedItems, setSavedItems] = useState<SavedItem[]>([]);
48
46
  const [collections, setCollections] = useState<Collection[]>([]);
49
47
  const [isLoading, setIsLoading] = useState(true);
50
- const [activeTab, setActiveTab] = useState<'saves' | 'collections'>('saves');
51
-
52
- const bloomTheme = useTheme();
53
- const colorScheme = useColorScheme();
54
- const normalizedColorScheme = normalizeColorScheme(colorScheme);
55
- const themeColors = Colors[normalizedColorScheme];
56
- const tabActiveColor = themeColors.iconSecurity;
57
- const tabInactiveColor = bloomTheme.colors.textTertiary;
48
+ const [activeTab, setActiveTab] = useState<SavesTab>('saves');
58
49
 
59
50
  // Load saved items and collections from API
60
51
  useEffect(() => {
@@ -95,7 +86,7 @@ const SavesCollectionsScreen: React.FC<BaseScreenProps> = ({
95
86
  };
96
87
 
97
88
  return (
98
- <View style={[styles.container, { backgroundColor: bloomTheme.colors.background }]}>
89
+ <View className="flex-1 bg-bg">
99
90
  <Header
100
91
  title={t('saves.title') || 'Saves & Collections'}
101
92
  onBack={goBack || onClose}
@@ -104,117 +95,79 @@ const SavesCollectionsScreen: React.FC<BaseScreenProps> = ({
104
95
  />
105
96
 
106
97
  {/* Tabs */}
107
- <View style={[styles.tabs, { borderBottomColor: bloomTheme.colors.border }]}>
108
- <TouchableOpacity
109
- style={[
110
- styles.tab,
111
- activeTab === 'saves' && { borderBottomColor: tabActiveColor },
112
- ]}
113
- onPress={() => setActiveTab('saves')}
114
- >
115
- <Text
116
- style={[
117
- styles.tabText,
118
- {
119
- color: activeTab === 'saves' ? tabActiveColor : tabInactiveColor,
120
- fontWeight: activeTab === 'saves' ? '600' : '400',
121
- },
122
- ]}
123
- >
124
- {t('saves.tabs.saves') || 'Saves'}
125
- </Text>
126
- </TouchableOpacity>
127
- <TouchableOpacity
128
- style={[
129
- styles.tab,
130
- activeTab === 'collections' && { borderBottomColor: tabActiveColor },
131
- ]}
132
- onPress={() => setActiveTab('collections')}
98
+ <View className="px-screen-margin py-space-12 border-b border-border">
99
+ <SegmentedControl<SavesTab>
100
+ label={t('saves.title') || 'Saves & Collections'}
101
+ type="tabs"
102
+ value={activeTab}
103
+ onChange={setActiveTab}
133
104
  >
134
- <Text
135
- style={[
136
- styles.tabText,
137
- {
138
- color: activeTab === 'collections' ? tabActiveColor : tabInactiveColor,
139
- fontWeight: activeTab === 'collections' ? '600' : '400',
140
- },
141
- ]}
142
- >
143
- {t('saves.tabs.collections') || 'Collections'}
144
- </Text>
145
- </TouchableOpacity>
105
+ <SegmentedControlItem value="saves">
106
+ <SegmentedControlItemText>
107
+ {t('saves.tabs.saves') || 'Saves'}
108
+ </SegmentedControlItemText>
109
+ </SegmentedControlItem>
110
+ <SegmentedControlItem value="collections">
111
+ <SegmentedControlItemText>
112
+ {t('saves.tabs.collections') || 'Collections'}
113
+ </SegmentedControlItemText>
114
+ </SegmentedControlItem>
115
+ </SegmentedControl>
146
116
  </View>
147
117
 
148
- <ScrollView style={styles.content}>
149
- {isLoading ? (
150
- <LoadingState
151
- message={t('saves.loading') || 'Loading...'}
152
- color={bloomTheme.colors.text}
153
- />
154
- ) : activeTab === 'saves' ? (
155
- savedItems.length === 0 ? (
156
- <EmptyState
157
- message={t('saves.empty') || 'No saved items yet'}
158
- textColor={bloomTheme.colors.text}
118
+ <ScrollView className="flex-1">
119
+ <View className="px-screen-margin pb-space-24">
120
+ {isLoading ? (
121
+ <LoadingState
122
+ message={t('saves.loading') || 'Loading...'}
123
+ color={bloomTheme.colors.text}
159
124
  />
125
+ ) : activeTab === 'saves' ? (
126
+ savedItems.length === 0 ? (
127
+ <EmptyState
128
+ message={t('saves.empty') || 'No saved items yet'}
129
+ textColor={bloomTheme.colors.text}
130
+ />
131
+ ) : (
132
+ <SettingsListGroup title={t('saves.savedItems') || 'Saved Items'}>
133
+ {savedItems.map((item) => (
134
+ <SettingsListItem
135
+ key={item.id}
136
+ icon={
137
+ <SettingsIcon
138
+ name={item.type === 'post' ? 'file-document-outline' : 'folder'}
139
+ color={item.type === 'post' ? bloomTheme.colors.primary : bloomTheme.colors.info}
140
+ />
141
+ }
142
+ title={item.title}
143
+ description={formatDate(item.savedAt)}
144
+ />
145
+ ))}
146
+ </SettingsListGroup>
147
+ )
160
148
  ) : (
161
- <SettingsListGroup title={t('saves.savedItems') || 'Saved Items'}>
162
- {savedItems.map((item) => (
163
- <SettingsListItem
164
- key={item.id}
165
- icon={<SettingsIcon name={item.type === 'post' ? 'file-document-outline' : 'folder'} color={item.type === 'post' ? themeColors.iconSecurity : themeColors.iconStorage} />}
166
- title={item.title}
167
- description={formatDate(item.savedAt)}
168
- />
169
- ))}
170
- </SettingsListGroup>
171
- )
172
- ) : (
173
- collections.length === 0 ? (
174
- <EmptyState
175
- message={t('saves.noCollections') || 'No collections yet'}
176
- textColor={bloomTheme.colors.text}
177
- />
178
- ) : (
179
- <SettingsListGroup title={t('saves.collections') || 'Collections'}>
180
- {collections.map((collection) => (
181
- <SettingsListItem
182
- key={collection.id}
183
- icon={<SettingsIcon name="folder" color={themeColors.iconStorage} />}
184
- title={collection.name}
185
- description={`${collection.itemCount || 0} items`}
186
- />
187
- ))}
188
- </SettingsListGroup>
189
- )
190
- )}
149
+ collections.length === 0 ? (
150
+ <EmptyState
151
+ message={t('saves.noCollections') || 'No collections yet'}
152
+ textColor={bloomTheme.colors.text}
153
+ />
154
+ ) : (
155
+ <SettingsListGroup title={t('saves.collections') || 'Collections'}>
156
+ {collections.map((collection) => (
157
+ <SettingsListItem
158
+ key={collection.id}
159
+ icon={<SettingsIcon name="folder" color={bloomTheme.colors.info} />}
160
+ title={collection.name}
161
+ description={`${collection.itemCount || 0} items`}
162
+ />
163
+ ))}
164
+ </SettingsListGroup>
165
+ )
166
+ )}
167
+ </View>
191
168
  </ScrollView>
192
169
  </View>
193
170
  );
194
171
  };
195
172
 
196
- const styles = StyleSheet.create({
197
- container: {
198
- flex: 1,
199
- },
200
- tabs: {
201
- flexDirection: 'row',
202
- borderBottomWidth: 1,
203
- },
204
- tab: {
205
- flex: 1,
206
- paddingVertical: 16,
207
- alignItems: 'center',
208
- borderBottomWidth: 2,
209
- borderBottomColor: 'transparent',
210
- },
211
- tabText: {
212
- fontSize: 16,
213
- },
214
- content: {
215
- flex: 1,
216
- padding: 16,
217
- },
218
- });
219
-
220
173
  export default React.memo(SavesCollectionsScreen);
@@ -1,16 +1,13 @@
1
1
  import React, { useState, useEffect } from 'react';
2
- import {
3
- View,
4
- StyleSheet,
5
- ScrollView,
6
- } from 'react-native';
2
+ import { View, ScrollView } from 'react-native';
7
3
  import type { BaseScreenProps } from '../types/navigation';
8
4
  import Header from '../components/Header';
9
5
  import LoadingState from '../components/LoadingState';
10
6
  import { SettingsListGroup, SettingsListItem } from '@oxyhq/bloom/settings-list';
11
7
  import { Switch } from '@oxyhq/bloom/switch';
12
- import { useI18n } from '../hooks/useI18n';
13
8
  import { useTheme } from '@oxyhq/bloom/theme';
9
+ import { SettingsIcon } from '../components/SettingsIcon';
10
+ import { useI18n } from '../hooks/useI18n';
14
11
  import { useSettingToggles } from '../hooks/useSettingToggle';
15
12
  import { useOxy } from '../context/OxyContext';
16
13
  import type { User } from '@oxyhq/core';
@@ -22,11 +19,11 @@ interface SearchSettings {
22
19
 
23
20
  const SearchSettingsScreen: React.FC<BaseScreenProps> = ({
24
21
  onClose,
25
- theme,
26
22
  goBack,
27
23
  }) => {
28
24
  const { oxyServices, user } = useOxy();
29
25
  const { t } = useI18n();
26
+ const bloomTheme = useTheme();
30
27
  const [isLoading, setIsLoading] = useState(true);
31
28
 
32
29
  // Use the existing useSettingToggles hook for toggle management
@@ -77,11 +74,9 @@ const SearchSettingsScreen: React.FC<BaseScreenProps> = ({
77
74
  loadSettings();
78
75
  }, [user?.id, oxyServices, setValues]);
79
76
 
80
- const bloomTheme = useTheme();
81
-
82
77
  if (isLoading) {
83
78
  return (
84
- <View style={[styles.container, { backgroundColor: bloomTheme.colors.background }]}>
79
+ <View className="flex-1 bg-bg">
85
80
  <Header
86
81
  title={t('searchSettings.title') || 'Search Settings'}
87
82
  onBack={goBack || onClose}
@@ -94,47 +89,63 @@ const SearchSettingsScreen: React.FC<BaseScreenProps> = ({
94
89
  }
95
90
 
96
91
  return (
97
- <View style={[styles.container, { backgroundColor: bloomTheme.colors.background }]}>
92
+ <View className="flex-1 bg-bg">
98
93
  <Header
99
94
  title={t('searchSettings.title') || 'Search Settings'}
100
-
101
95
  onBack={goBack || onClose}
102
96
  variant="minimal"
103
97
  elevation="subtle"
104
98
  />
105
99
 
106
- <ScrollView style={styles.content}>
107
- {/* SafeSearch */}
108
- <SettingsListGroup title={t('searchSettings.safeSearch.title') || 'SafeSearch'}>
109
- <SettingsListItem
110
- title={t('searchSettings.safeSearch.label') || 'Enable SafeSearch'}
111
- description={t('searchSettings.safeSearch.description') || 'Filter out explicit content from search results'}
112
- rightElement={<Switch value={settings.safeSearch} onValueChange={() => toggle('safeSearch')} disabled={isSaving} />}
113
- />
114
- </SettingsListGroup>
115
-
116
- {/* Search Personalization */}
117
- <SettingsListGroup title={t('searchSettings.personalization.title') || 'Search Personalization'}>
118
- <SettingsListItem
119
- title={t('searchSettings.personalization.label') || 'Personalized Search'}
120
- description={t('searchSettings.personalization.description') || 'Use your activity to improve search results'}
121
- rightElement={<Switch value={settings.searchPersonalization} onValueChange={() => toggle('searchPersonalization')} disabled={isSaving} />}
122
- />
123
- </SettingsListGroup>
100
+ <ScrollView className="flex-1">
101
+ <View className="px-screen-margin pb-space-24">
102
+ {/* SafeSearch */}
103
+ <SettingsListGroup title={t('searchSettings.safeSearch.title') || 'SafeSearch'}>
104
+ <SettingsListItem
105
+ icon={
106
+ <SettingsIcon
107
+ name="shield-search"
108
+ color={bloomTheme.colors.success}
109
+ />
110
+ }
111
+ title={t('searchSettings.safeSearch.label') || 'Enable SafeSearch'}
112
+ description={t('searchSettings.safeSearch.description') || 'Filter out explicit content from search results'}
113
+ rightElement={
114
+ <Switch
115
+ value={settings.safeSearch}
116
+ onValueChange={() => toggle('safeSearch')}
117
+ disabled={isSaving}
118
+ />
119
+ }
120
+ showChevron={false}
121
+ />
122
+ </SettingsListGroup>
123
+
124
+ {/* Search Personalization */}
125
+ <SettingsListGroup title={t('searchSettings.personalization.title') || 'Search Personalization'}>
126
+ <SettingsListItem
127
+ icon={
128
+ <SettingsIcon
129
+ name="account-search"
130
+ color={bloomTheme.colors.primary}
131
+ />
132
+ }
133
+ title={t('searchSettings.personalization.label') || 'Personalized Search'}
134
+ description={t('searchSettings.personalization.description') || 'Use your activity to improve search results'}
135
+ rightElement={
136
+ <Switch
137
+ value={settings.searchPersonalization}
138
+ onValueChange={() => toggle('searchPersonalization')}
139
+ disabled={isSaving}
140
+ />
141
+ }
142
+ showChevron={false}
143
+ />
144
+ </SettingsListGroup>
145
+ </View>
124
146
  </ScrollView>
125
147
  </View>
126
148
  );
127
149
  };
128
150
 
129
- const styles = StyleSheet.create({
130
- container: {
131
- flex: 1,
132
- },
133
- content: {
134
- flex: 1,
135
- padding: 16,
136
- },
137
- });
138
-
139
151
  export default React.memo(SearchSettingsScreen);
140
-
@@ -1,5 +1,5 @@
1
1
  import type React from 'react';
2
- import { View, StyleSheet, ScrollView, Linking } from 'react-native';
2
+ import { View, ScrollView, Linking } from 'react-native';
3
3
  import type { BaseScreenProps } from '../types/navigation';
4
4
  import Header from '../components/Header';
5
5
  import { SettingsListGroup, SettingsListItem } from '@oxyhq/bloom/settings-list';
@@ -39,39 +39,32 @@ const UserLinksScreen: React.FC<UserLinksScreenProps> = ({
39
39
  };
40
40
 
41
41
  return (
42
- <View style={[styles.container, { backgroundColor: bloomTheme.colors.background }]}>
42
+ <View className="flex-1 bg-bg">
43
43
  <Header
44
44
  title={t('userLinks.title')}
45
45
  subtitle={links.length !== 1 ? t('userLinks.linkCount_plural', { count: links.length }) : t('userLinks.linkCount', { count: links.length })}
46
46
  onBack={goBack}
47
+ variant="minimal"
47
48
  elevation="subtle"
48
49
  />
49
50
 
50
- <ScrollView style={styles.content}>
51
- <SettingsListGroup title={t('userLinks.title')}>
52
- {links.map((link) => (
53
- <SettingsListItem
54
- key={link.id}
55
- icon={<SettingsIcon name="link" color={bloomTheme.colors.success} />}
56
- title={link.title || link.url}
57
- description={link.description || link.url}
58
- onPress={() => handleLinkPress(link.url)}
59
- />
60
- ))}
61
- </SettingsListGroup>
51
+ <ScrollView className="flex-1">
52
+ <View className="px-screen-margin pb-space-24">
53
+ <SettingsListGroup title={t('userLinks.title')}>
54
+ {links.map((link) => (
55
+ <SettingsListItem
56
+ key={link.id}
57
+ icon={<SettingsIcon name="link" color={bloomTheme.colors.success} />}
58
+ title={link.title || link.url}
59
+ description={link.description || link.url}
60
+ onPress={() => handleLinkPress(link.url)}
61
+ />
62
+ ))}
63
+ </SettingsListGroup>
64
+ </View>
62
65
  </ScrollView>
63
66
  </View>
64
67
  );
65
68
  };
66
69
 
67
- const styles = StyleSheet.create({
68
- container: {
69
- flex: 1,
70
- },
71
- content: {
72
- flex: 1,
73
- padding: 16,
74
- },
75
- });
76
-
77
- export default UserLinksScreen;
70
+ export default UserLinksScreen;