@oxyhq/services 6.9.32 → 6.9.34

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 (352) hide show
  1. package/lib/commonjs/ui/components/Avatar.js +5 -3
  2. package/lib/commonjs/ui/components/Avatar.js.map +1 -1
  3. package/lib/commonjs/ui/components/BottomSheet.js +2 -2
  4. package/lib/commonjs/ui/components/BottomSheet.js.map +1 -1
  5. package/lib/commonjs/ui/components/BottomSheetRouter.js +3 -4
  6. package/lib/commonjs/ui/components/BottomSheetRouter.js.map +1 -1
  7. package/lib/commonjs/ui/components/FollowButton.js +13 -65
  8. package/lib/commonjs/ui/components/FollowButton.js.map +1 -1
  9. package/lib/commonjs/ui/components/GroupedItem.js +12 -18
  10. package/lib/commonjs/ui/components/GroupedItem.js.map +1 -1
  11. package/lib/commonjs/ui/components/Header.js +11 -18
  12. package/lib/commonjs/ui/components/Header.js.map +1 -1
  13. package/lib/commonjs/ui/components/HelperText.js +6 -14
  14. package/lib/commonjs/ui/components/HelperText.js.map +1 -1
  15. package/lib/commonjs/ui/components/OxyLogo.js +4 -2
  16. package/lib/commonjs/ui/components/OxyLogo.js.map +1 -1
  17. package/lib/commonjs/ui/components/ProfileCard.js +13 -20
  18. package/lib/commonjs/ui/components/ProfileCard.js.map +1 -1
  19. package/lib/commonjs/ui/components/QuickActions.js +9 -13
  20. package/lib/commonjs/ui/components/QuickActions.js.map +1 -1
  21. package/lib/commonjs/ui/components/SectionTitle.js +2 -8
  22. package/lib/commonjs/ui/components/SectionTitle.js.map +1 -1
  23. package/lib/commonjs/ui/components/SignInModal.js +10 -16
  24. package/lib/commonjs/ui/components/SignInModal.js.map +1 -1
  25. package/lib/commonjs/ui/components/TextField/TextFieldFlat.js +6 -4
  26. package/lib/commonjs/ui/components/TextField/TextFieldFlat.js.map +1 -1
  27. package/lib/commonjs/ui/components/TextField/TextFieldOutlined.js +6 -4
  28. package/lib/commonjs/ui/components/TextField/TextFieldOutlined.js.map +1 -1
  29. package/lib/commonjs/ui/components/fileManagement/FileDetailsModal.js +36 -51
  30. package/lib/commonjs/ui/components/fileManagement/FileDetailsModal.js.map +1 -1
  31. package/lib/commonjs/ui/components/fileManagement/FileViewer.js +68 -82
  32. package/lib/commonjs/ui/components/fileManagement/FileViewer.js.map +1 -1
  33. package/lib/commonjs/ui/components/fileManagement/UploadPreview.js +35 -48
  34. package/lib/commonjs/ui/components/fileManagement/UploadPreview.js.map +1 -1
  35. package/lib/commonjs/ui/components/modals/DeleteAccountModal.js +22 -34
  36. package/lib/commonjs/ui/components/modals/DeleteAccountModal.js.map +1 -1
  37. package/lib/commonjs/ui/components/theming.js +14 -1
  38. package/lib/commonjs/ui/components/theming.js.map +1 -1
  39. package/lib/commonjs/ui/screens/AccountCenterScreen.js +15 -27
  40. package/lib/commonjs/ui/screens/AccountCenterScreen.js.map +1 -1
  41. package/lib/commonjs/ui/screens/AccountOverviewScreen.js +44 -49
  42. package/lib/commonjs/ui/screens/AccountOverviewScreen.js.map +1 -1
  43. package/lib/commonjs/ui/screens/AccountSettingsScreen.js +22 -29
  44. package/lib/commonjs/ui/screens/AccountSettingsScreen.js.map +1 -1
  45. package/lib/commonjs/ui/screens/AccountSwitcherScreen.js +2 -25
  46. package/lib/commonjs/ui/screens/AccountSwitcherScreen.js.map +1 -1
  47. package/lib/commonjs/ui/screens/AccountVerificationScreen.js +20 -40
  48. package/lib/commonjs/ui/screens/AccountVerificationScreen.js.map +1 -1
  49. package/lib/commonjs/ui/screens/AppInfoScreen.js +28 -24
  50. package/lib/commonjs/ui/screens/AppInfoScreen.js.map +1 -1
  51. package/lib/commonjs/ui/screens/EditProfileFieldScreen.js +25 -29
  52. package/lib/commonjs/ui/screens/EditProfileFieldScreen.js.map +1 -1
  53. package/lib/commonjs/ui/screens/FAQScreen.js +26 -27
  54. package/lib/commonjs/ui/screens/FAQScreen.js.map +1 -1
  55. package/lib/commonjs/ui/screens/FeedbackScreen.js +70 -108
  56. package/lib/commonjs/ui/screens/FeedbackScreen.js.map +1 -1
  57. package/lib/commonjs/ui/screens/FileManagementScreen.js +106 -119
  58. package/lib/commonjs/ui/screens/FileManagementScreen.js.map +1 -1
  59. package/lib/commonjs/ui/screens/HelpSupportScreen.js +13 -10
  60. package/lib/commonjs/ui/screens/HelpSupportScreen.js.map +1 -1
  61. package/lib/commonjs/ui/screens/HistoryViewScreen.js +13 -10
  62. package/lib/commonjs/ui/screens/HistoryViewScreen.js.map +1 -1
  63. package/lib/commonjs/ui/screens/LanguageSelectorScreen.js +9 -13
  64. package/lib/commonjs/ui/screens/LanguageSelectorScreen.js.map +1 -1
  65. package/lib/commonjs/ui/screens/LearnMoreUsernamesScreen.js +19 -20
  66. package/lib/commonjs/ui/screens/LearnMoreUsernamesScreen.js.map +1 -1
  67. package/lib/commonjs/ui/screens/LegalDocumentsScreen.js +16 -14
  68. package/lib/commonjs/ui/screens/LegalDocumentsScreen.js.map +1 -1
  69. package/lib/commonjs/ui/screens/OxyAuthScreen.js +33 -60
  70. package/lib/commonjs/ui/screens/OxyAuthScreen.js.map +1 -1
  71. package/lib/commonjs/ui/screens/PaymentGatewayScreen.js +2 -5
  72. package/lib/commonjs/ui/screens/PaymentGatewayScreen.js.map +1 -1
  73. package/lib/commonjs/ui/screens/PremiumSubscriptionScreen.js +10 -16
  74. package/lib/commonjs/ui/screens/PremiumSubscriptionScreen.js.map +1 -1
  75. package/lib/commonjs/ui/screens/PrivacySettingsScreen.js +65 -69
  76. package/lib/commonjs/ui/screens/PrivacySettingsScreen.js.map +1 -1
  77. package/lib/commonjs/ui/screens/ProfileScreen.js +79 -110
  78. package/lib/commonjs/ui/screens/ProfileScreen.js.map +1 -1
  79. package/lib/commonjs/ui/screens/SavesCollectionsScreen.js +16 -13
  80. package/lib/commonjs/ui/screens/SavesCollectionsScreen.js.map +1 -1
  81. package/lib/commonjs/ui/screens/SearchSettingsScreen.js +13 -17
  82. package/lib/commonjs/ui/screens/SearchSettingsScreen.js.map +1 -1
  83. package/lib/commonjs/ui/screens/SessionManagementScreen.js +17 -30
  84. package/lib/commonjs/ui/screens/SessionManagementScreen.js.map +1 -1
  85. package/lib/commonjs/ui/screens/UserLinksScreen.js +6 -12
  86. package/lib/commonjs/ui/screens/UserLinksScreen.js.map +1 -1
  87. package/lib/commonjs/ui/screens/UserListScreen.js +41 -35
  88. package/lib/commonjs/ui/screens/UserListScreen.js.map +1 -1
  89. package/lib/commonjs/ui/screens/WelcomeNewUserScreen.js +15 -14
  90. package/lib/commonjs/ui/screens/WelcomeNewUserScreen.js.map +1 -1
  91. package/lib/commonjs/ui/screens/karma/KarmaAboutScreen.js +7 -12
  92. package/lib/commonjs/ui/screens/karma/KarmaAboutScreen.js.map +1 -1
  93. package/lib/commonjs/ui/screens/karma/KarmaCenterScreen.js +25 -23
  94. package/lib/commonjs/ui/screens/karma/KarmaCenterScreen.js.map +1 -1
  95. package/lib/commonjs/ui/screens/karma/KarmaFAQScreen.js +9 -17
  96. package/lib/commonjs/ui/screens/karma/KarmaFAQScreen.js.map +1 -1
  97. package/lib/commonjs/ui/screens/karma/KarmaLeaderboardScreen.js +6 -11
  98. package/lib/commonjs/ui/screens/karma/KarmaLeaderboardScreen.js.map +1 -1
  99. package/lib/commonjs/ui/screens/karma/KarmaRewardsScreen.js +18 -22
  100. package/lib/commonjs/ui/screens/karma/KarmaRewardsScreen.js.map +1 -1
  101. package/lib/commonjs/ui/screens/karma/KarmaRulesScreen.js +6 -11
  102. package/lib/commonjs/ui/screens/karma/KarmaRulesScreen.js.map +1 -1
  103. package/lib/module/ui/components/Avatar.js +5 -3
  104. package/lib/module/ui/components/Avatar.js.map +1 -1
  105. package/lib/module/ui/components/BottomSheet.js +2 -2
  106. package/lib/module/ui/components/BottomSheet.js.map +1 -1
  107. package/lib/module/ui/components/BottomSheetRouter.js +3 -4
  108. package/lib/module/ui/components/BottomSheetRouter.js.map +1 -1
  109. package/lib/module/ui/components/FollowButton.js +12 -64
  110. package/lib/module/ui/components/FollowButton.js.map +1 -1
  111. package/lib/module/ui/components/GroupedItem.js +12 -18
  112. package/lib/module/ui/components/GroupedItem.js.map +1 -1
  113. package/lib/module/ui/components/Header.js +11 -18
  114. package/lib/module/ui/components/Header.js.map +1 -1
  115. package/lib/module/ui/components/HelperText.js +6 -15
  116. package/lib/module/ui/components/HelperText.js.map +1 -1
  117. package/lib/module/ui/components/OxyLogo.js +4 -2
  118. package/lib/module/ui/components/OxyLogo.js.map +1 -1
  119. package/lib/module/ui/components/ProfileCard.js +13 -20
  120. package/lib/module/ui/components/ProfileCard.js.map +1 -1
  121. package/lib/module/ui/components/QuickActions.js +9 -13
  122. package/lib/module/ui/components/QuickActions.js.map +1 -1
  123. package/lib/module/ui/components/SectionTitle.js +2 -8
  124. package/lib/module/ui/components/SectionTitle.js.map +1 -1
  125. package/lib/module/ui/components/SignInModal.js +10 -16
  126. package/lib/module/ui/components/SignInModal.js.map +1 -1
  127. package/lib/module/ui/components/TextField/TextFieldFlat.js +6 -4
  128. package/lib/module/ui/components/TextField/TextFieldFlat.js.map +1 -1
  129. package/lib/module/ui/components/TextField/TextFieldOutlined.js +6 -4
  130. package/lib/module/ui/components/TextField/TextFieldOutlined.js.map +1 -1
  131. package/lib/module/ui/components/fileManagement/FileDetailsModal.js +36 -51
  132. package/lib/module/ui/components/fileManagement/FileDetailsModal.js.map +1 -1
  133. package/lib/module/ui/components/fileManagement/FileViewer.js +68 -82
  134. package/lib/module/ui/components/fileManagement/FileViewer.js.map +1 -1
  135. package/lib/module/ui/components/fileManagement/UploadPreview.js +35 -48
  136. package/lib/module/ui/components/fileManagement/UploadPreview.js.map +1 -1
  137. package/lib/module/ui/components/modals/DeleteAccountModal.js +22 -34
  138. package/lib/module/ui/components/modals/DeleteAccountModal.js.map +1 -1
  139. package/lib/module/ui/components/theming.js +15 -2
  140. package/lib/module/ui/components/theming.js.map +1 -1
  141. package/lib/module/ui/screens/AccountCenterScreen.js +14 -26
  142. package/lib/module/ui/screens/AccountCenterScreen.js.map +1 -1
  143. package/lib/module/ui/screens/AccountOverviewScreen.js +45 -50
  144. package/lib/module/ui/screens/AccountOverviewScreen.js.map +1 -1
  145. package/lib/module/ui/screens/AccountSettingsScreen.js +21 -28
  146. package/lib/module/ui/screens/AccountSettingsScreen.js.map +1 -1
  147. package/lib/module/ui/screens/AccountSwitcherScreen.js +2 -25
  148. package/lib/module/ui/screens/AccountSwitcherScreen.js.map +1 -1
  149. package/lib/module/ui/screens/AccountVerificationScreen.js +21 -41
  150. package/lib/module/ui/screens/AccountVerificationScreen.js.map +1 -1
  151. package/lib/module/ui/screens/AppInfoScreen.js +28 -24
  152. package/lib/module/ui/screens/AppInfoScreen.js.map +1 -1
  153. package/lib/module/ui/screens/EditProfileFieldScreen.js +25 -29
  154. package/lib/module/ui/screens/EditProfileFieldScreen.js.map +1 -1
  155. package/lib/module/ui/screens/FAQScreen.js +26 -27
  156. package/lib/module/ui/screens/FAQScreen.js.map +1 -1
  157. package/lib/module/ui/screens/FeedbackScreen.js +70 -108
  158. package/lib/module/ui/screens/FeedbackScreen.js.map +1 -1
  159. package/lib/module/ui/screens/FileManagementScreen.js +106 -119
  160. package/lib/module/ui/screens/FileManagementScreen.js.map +1 -1
  161. package/lib/module/ui/screens/HelpSupportScreen.js +13 -10
  162. package/lib/module/ui/screens/HelpSupportScreen.js.map +1 -1
  163. package/lib/module/ui/screens/HistoryViewScreen.js +13 -10
  164. package/lib/module/ui/screens/HistoryViewScreen.js.map +1 -1
  165. package/lib/module/ui/screens/LanguageSelectorScreen.js +9 -13
  166. package/lib/module/ui/screens/LanguageSelectorScreen.js.map +1 -1
  167. package/lib/module/ui/screens/LearnMoreUsernamesScreen.js +19 -20
  168. package/lib/module/ui/screens/LearnMoreUsernamesScreen.js.map +1 -1
  169. package/lib/module/ui/screens/LegalDocumentsScreen.js +16 -14
  170. package/lib/module/ui/screens/LegalDocumentsScreen.js.map +1 -1
  171. package/lib/module/ui/screens/OxyAuthScreen.js +33 -60
  172. package/lib/module/ui/screens/OxyAuthScreen.js.map +1 -1
  173. package/lib/module/ui/screens/PaymentGatewayScreen.js +2 -5
  174. package/lib/module/ui/screens/PaymentGatewayScreen.js.map +1 -1
  175. package/lib/module/ui/screens/PremiumSubscriptionScreen.js +10 -16
  176. package/lib/module/ui/screens/PremiumSubscriptionScreen.js.map +1 -1
  177. package/lib/module/ui/screens/PrivacySettingsScreen.js +65 -69
  178. package/lib/module/ui/screens/PrivacySettingsScreen.js.map +1 -1
  179. package/lib/module/ui/screens/ProfileScreen.js +77 -108
  180. package/lib/module/ui/screens/ProfileScreen.js.map +1 -1
  181. package/lib/module/ui/screens/SavesCollectionsScreen.js +16 -13
  182. package/lib/module/ui/screens/SavesCollectionsScreen.js.map +1 -1
  183. package/lib/module/ui/screens/SearchSettingsScreen.js +13 -17
  184. package/lib/module/ui/screens/SearchSettingsScreen.js.map +1 -1
  185. package/lib/module/ui/screens/SessionManagementScreen.js +17 -30
  186. package/lib/module/ui/screens/SessionManagementScreen.js.map +1 -1
  187. package/lib/module/ui/screens/UserLinksScreen.js +6 -12
  188. package/lib/module/ui/screens/UserLinksScreen.js.map +1 -1
  189. package/lib/module/ui/screens/UserListScreen.js +39 -33
  190. package/lib/module/ui/screens/UserListScreen.js.map +1 -1
  191. package/lib/module/ui/screens/WelcomeNewUserScreen.js +15 -14
  192. package/lib/module/ui/screens/WelcomeNewUserScreen.js.map +1 -1
  193. package/lib/module/ui/screens/karma/KarmaAboutScreen.js +7 -12
  194. package/lib/module/ui/screens/karma/KarmaAboutScreen.js.map +1 -1
  195. package/lib/module/ui/screens/karma/KarmaCenterScreen.js +25 -23
  196. package/lib/module/ui/screens/karma/KarmaCenterScreen.js.map +1 -1
  197. package/lib/module/ui/screens/karma/KarmaFAQScreen.js +8 -16
  198. package/lib/module/ui/screens/karma/KarmaFAQScreen.js.map +1 -1
  199. package/lib/module/ui/screens/karma/KarmaLeaderboardScreen.js +6 -11
  200. package/lib/module/ui/screens/karma/KarmaLeaderboardScreen.js.map +1 -1
  201. package/lib/module/ui/screens/karma/KarmaRewardsScreen.js +17 -21
  202. package/lib/module/ui/screens/karma/KarmaRewardsScreen.js.map +1 -1
  203. package/lib/module/ui/screens/karma/KarmaRulesScreen.js +6 -11
  204. package/lib/module/ui/screens/karma/KarmaRulesScreen.js.map +1 -1
  205. package/lib/typescript/commonjs/ui/components/BottomSheet.d.ts.map +1 -1
  206. package/lib/typescript/commonjs/ui/components/FollowButton.d.ts +0 -11
  207. package/lib/typescript/commonjs/ui/components/FollowButton.d.ts.map +1 -1
  208. package/lib/typescript/commonjs/ui/components/GroupedItem.d.ts.map +1 -1
  209. package/lib/typescript/commonjs/ui/components/Header.d.ts.map +1 -1
  210. package/lib/typescript/commonjs/ui/components/HelperText.d.ts.map +1 -1
  211. package/lib/typescript/commonjs/ui/components/ProfileCard.d.ts.map +1 -1
  212. package/lib/typescript/commonjs/ui/components/QuickActions.d.ts.map +1 -1
  213. package/lib/typescript/commonjs/ui/components/SectionTitle.d.ts.map +1 -1
  214. package/lib/typescript/commonjs/ui/components/SignInModal.d.ts.map +1 -1
  215. package/lib/typescript/commonjs/ui/components/fileManagement/FileDetailsModal.d.ts +2 -2
  216. package/lib/typescript/commonjs/ui/components/fileManagement/FileDetailsModal.d.ts.map +1 -1
  217. package/lib/typescript/commonjs/ui/components/fileManagement/FileViewer.d.ts +2 -2
  218. package/lib/typescript/commonjs/ui/components/fileManagement/FileViewer.d.ts.map +1 -1
  219. package/lib/typescript/commonjs/ui/components/fileManagement/UploadPreview.d.ts +2 -2
  220. package/lib/typescript/commonjs/ui/components/fileManagement/UploadPreview.d.ts.map +1 -1
  221. package/lib/typescript/commonjs/ui/components/modals/DeleteAccountModal.d.ts.map +1 -1
  222. package/lib/typescript/commonjs/ui/components/theming.d.ts.map +1 -1
  223. package/lib/typescript/commonjs/ui/screens/AccountCenterScreen.d.ts.map +1 -1
  224. package/lib/typescript/commonjs/ui/screens/AccountSettingsScreen.d.ts.map +1 -1
  225. package/lib/typescript/commonjs/ui/screens/AccountSwitcherScreen.d.ts.map +1 -1
  226. package/lib/typescript/commonjs/ui/screens/AccountVerificationScreen.d.ts.map +1 -1
  227. package/lib/typescript/commonjs/ui/screens/AppInfoScreen.d.ts.map +1 -1
  228. package/lib/typescript/commonjs/ui/screens/EditProfileFieldScreen.d.ts.map +1 -1
  229. package/lib/typescript/commonjs/ui/screens/FeedbackScreen.d.ts.map +1 -1
  230. package/lib/typescript/commonjs/ui/screens/FileManagementScreen.d.ts.map +1 -1
  231. package/lib/typescript/commonjs/ui/screens/HelpSupportScreen.d.ts.map +1 -1
  232. package/lib/typescript/commonjs/ui/screens/HistoryViewScreen.d.ts.map +1 -1
  233. package/lib/typescript/commonjs/ui/screens/LanguageSelectorScreen.d.ts.map +1 -1
  234. package/lib/typescript/commonjs/ui/screens/LegalDocumentsScreen.d.ts.map +1 -1
  235. package/lib/typescript/commonjs/ui/screens/OxyAuthScreen.d.ts.map +1 -1
  236. package/lib/typescript/commonjs/ui/screens/PaymentGatewayScreen.d.ts.map +1 -1
  237. package/lib/typescript/commonjs/ui/screens/PremiumSubscriptionScreen.d.ts.map +1 -1
  238. package/lib/typescript/commonjs/ui/screens/PrivacySettingsScreen.d.ts.map +1 -1
  239. package/lib/typescript/commonjs/ui/screens/ProfileScreen.d.ts.map +1 -1
  240. package/lib/typescript/commonjs/ui/screens/SavesCollectionsScreen.d.ts.map +1 -1
  241. package/lib/typescript/commonjs/ui/screens/SearchSettingsScreen.d.ts.map +1 -1
  242. package/lib/typescript/commonjs/ui/screens/SessionManagementScreen.d.ts.map +1 -1
  243. package/lib/typescript/commonjs/ui/screens/UserLinksScreen.d.ts.map +1 -1
  244. package/lib/typescript/commonjs/ui/screens/UserListScreen.d.ts.map +1 -1
  245. package/lib/typescript/commonjs/ui/screens/WelcomeNewUserScreen.d.ts.map +1 -1
  246. package/lib/typescript/commonjs/ui/screens/karma/KarmaAboutScreen.d.ts.map +1 -1
  247. package/lib/typescript/commonjs/ui/screens/karma/KarmaCenterScreen.d.ts.map +1 -1
  248. package/lib/typescript/commonjs/ui/screens/karma/KarmaFAQScreen.d.ts.map +1 -1
  249. package/lib/typescript/commonjs/ui/screens/karma/KarmaLeaderboardScreen.d.ts.map +1 -1
  250. package/lib/typescript/commonjs/ui/screens/karma/KarmaRewardsScreen.d.ts.map +1 -1
  251. package/lib/typescript/commonjs/ui/screens/karma/KarmaRulesScreen.d.ts.map +1 -1
  252. package/lib/typescript/module/ui/components/BottomSheet.d.ts.map +1 -1
  253. package/lib/typescript/module/ui/components/FollowButton.d.ts +0 -11
  254. package/lib/typescript/module/ui/components/FollowButton.d.ts.map +1 -1
  255. package/lib/typescript/module/ui/components/GroupedItem.d.ts.map +1 -1
  256. package/lib/typescript/module/ui/components/Header.d.ts.map +1 -1
  257. package/lib/typescript/module/ui/components/HelperText.d.ts.map +1 -1
  258. package/lib/typescript/module/ui/components/ProfileCard.d.ts.map +1 -1
  259. package/lib/typescript/module/ui/components/QuickActions.d.ts.map +1 -1
  260. package/lib/typescript/module/ui/components/SectionTitle.d.ts.map +1 -1
  261. package/lib/typescript/module/ui/components/SignInModal.d.ts.map +1 -1
  262. package/lib/typescript/module/ui/components/fileManagement/FileDetailsModal.d.ts +2 -2
  263. package/lib/typescript/module/ui/components/fileManagement/FileDetailsModal.d.ts.map +1 -1
  264. package/lib/typescript/module/ui/components/fileManagement/FileViewer.d.ts +2 -2
  265. package/lib/typescript/module/ui/components/fileManagement/FileViewer.d.ts.map +1 -1
  266. package/lib/typescript/module/ui/components/fileManagement/UploadPreview.d.ts +2 -2
  267. package/lib/typescript/module/ui/components/fileManagement/UploadPreview.d.ts.map +1 -1
  268. package/lib/typescript/module/ui/components/modals/DeleteAccountModal.d.ts.map +1 -1
  269. package/lib/typescript/module/ui/components/theming.d.ts.map +1 -1
  270. package/lib/typescript/module/ui/screens/AccountCenterScreen.d.ts.map +1 -1
  271. package/lib/typescript/module/ui/screens/AccountSettingsScreen.d.ts.map +1 -1
  272. package/lib/typescript/module/ui/screens/AccountSwitcherScreen.d.ts.map +1 -1
  273. package/lib/typescript/module/ui/screens/AccountVerificationScreen.d.ts.map +1 -1
  274. package/lib/typescript/module/ui/screens/AppInfoScreen.d.ts.map +1 -1
  275. package/lib/typescript/module/ui/screens/EditProfileFieldScreen.d.ts.map +1 -1
  276. package/lib/typescript/module/ui/screens/FeedbackScreen.d.ts.map +1 -1
  277. package/lib/typescript/module/ui/screens/FileManagementScreen.d.ts.map +1 -1
  278. package/lib/typescript/module/ui/screens/HelpSupportScreen.d.ts.map +1 -1
  279. package/lib/typescript/module/ui/screens/HistoryViewScreen.d.ts.map +1 -1
  280. package/lib/typescript/module/ui/screens/LanguageSelectorScreen.d.ts.map +1 -1
  281. package/lib/typescript/module/ui/screens/LegalDocumentsScreen.d.ts.map +1 -1
  282. package/lib/typescript/module/ui/screens/OxyAuthScreen.d.ts.map +1 -1
  283. package/lib/typescript/module/ui/screens/PaymentGatewayScreen.d.ts.map +1 -1
  284. package/lib/typescript/module/ui/screens/PremiumSubscriptionScreen.d.ts.map +1 -1
  285. package/lib/typescript/module/ui/screens/PrivacySettingsScreen.d.ts.map +1 -1
  286. package/lib/typescript/module/ui/screens/ProfileScreen.d.ts.map +1 -1
  287. package/lib/typescript/module/ui/screens/SavesCollectionsScreen.d.ts.map +1 -1
  288. package/lib/typescript/module/ui/screens/SearchSettingsScreen.d.ts.map +1 -1
  289. package/lib/typescript/module/ui/screens/SessionManagementScreen.d.ts.map +1 -1
  290. package/lib/typescript/module/ui/screens/UserLinksScreen.d.ts.map +1 -1
  291. package/lib/typescript/module/ui/screens/UserListScreen.d.ts.map +1 -1
  292. package/lib/typescript/module/ui/screens/WelcomeNewUserScreen.d.ts.map +1 -1
  293. package/lib/typescript/module/ui/screens/karma/KarmaAboutScreen.d.ts.map +1 -1
  294. package/lib/typescript/module/ui/screens/karma/KarmaCenterScreen.d.ts.map +1 -1
  295. package/lib/typescript/module/ui/screens/karma/KarmaFAQScreen.d.ts.map +1 -1
  296. package/lib/typescript/module/ui/screens/karma/KarmaLeaderboardScreen.d.ts.map +1 -1
  297. package/lib/typescript/module/ui/screens/karma/KarmaRewardsScreen.d.ts.map +1 -1
  298. package/lib/typescript/module/ui/screens/karma/KarmaRulesScreen.d.ts.map +1 -1
  299. package/lib/typescript/nativewind-env.d.ts +1 -0
  300. package/package.json +8 -2
  301. package/src/nativewind-env.d.ts +1 -0
  302. package/src/ui/components/Avatar.tsx +3 -3
  303. package/src/ui/components/BottomSheet.tsx +2 -3
  304. package/src/ui/components/BottomSheetRouter.tsx +2 -2
  305. package/src/ui/components/FollowButton.tsx +14 -50
  306. package/src/ui/components/GroupedItem.tsx +8 -15
  307. package/src/ui/components/Header.tsx +7 -15
  308. package/src/ui/components/HelperText.tsx +4 -15
  309. package/src/ui/components/OxyLogo.tsx +2 -2
  310. package/src/ui/components/ProfileCard.tsx +14 -17
  311. package/src/ui/components/QuickActions.tsx +12 -14
  312. package/src/ui/components/SectionTitle.tsx +1 -7
  313. package/src/ui/components/SignInModal.tsx +4 -6
  314. package/src/ui/components/TextField/TextFieldFlat.tsx +4 -4
  315. package/src/ui/components/TextField/TextFieldOutlined.tsx +4 -4
  316. package/src/ui/components/fileManagement/FileDetailsModal.tsx +23 -22
  317. package/src/ui/components/fileManagement/FileViewer.tsx +57 -45
  318. package/src/ui/components/fileManagement/UploadPreview.tsx +23 -28
  319. package/src/ui/components/modals/DeleteAccountModal.tsx +13 -12
  320. package/src/ui/components/theming.tsx +15 -2
  321. package/src/ui/screens/AccountCenterScreen.tsx +10 -13
  322. package/src/ui/screens/AccountOverviewScreen.tsx +39 -39
  323. package/src/ui/screens/AccountSettingsScreen.tsx +15 -19
  324. package/src/ui/screens/AccountSwitcherScreen.tsx +1 -23
  325. package/src/ui/screens/AccountVerificationScreen.tsx +15 -33
  326. package/src/ui/screens/AppInfoScreen.tsx +28 -24
  327. package/src/ui/screens/EditProfileFieldScreen.tsx +24 -26
  328. package/src/ui/screens/FAQScreen.tsx +23 -23
  329. package/src/ui/screens/FeedbackScreen.tsx +47 -38
  330. package/src/ui/screens/FileManagementScreen.tsx +102 -116
  331. package/src/ui/screens/HelpSupportScreen.tsx +12 -8
  332. package/src/ui/screens/HistoryViewScreen.tsx +12 -8
  333. package/src/ui/screens/LanguageSelectorScreen.tsx +8 -11
  334. package/src/ui/screens/LearnMoreUsernamesScreen.tsx +17 -17
  335. package/src/ui/screens/LegalDocumentsScreen.tsx +14 -10
  336. package/src/ui/screens/OxyAuthScreen.tsx +17 -27
  337. package/src/ui/screens/PaymentGatewayScreen.tsx +1 -3
  338. package/src/ui/screens/PremiumSubscriptionScreen.tsx +10 -7
  339. package/src/ui/screens/PrivacySettingsScreen.tsx +63 -65
  340. package/src/ui/screens/ProfileScreen.tsx +54 -58
  341. package/src/ui/screens/SavesCollectionsScreen.tsx +15 -11
  342. package/src/ui/screens/SearchSettingsScreen.tsx +11 -13
  343. package/src/ui/screens/SessionManagementScreen.tsx +12 -12
  344. package/src/ui/screens/UserLinksScreen.tsx +4 -8
  345. package/src/ui/screens/UserListScreen.tsx +34 -46
  346. package/src/ui/screens/WelcomeNewUserScreen.tsx +11 -6
  347. package/src/ui/screens/karma/KarmaAboutScreen.tsx +6 -10
  348. package/src/ui/screens/karma/KarmaCenterScreen.tsx +23 -19
  349. package/src/ui/screens/karma/KarmaFAQScreen.tsx +7 -14
  350. package/src/ui/screens/karma/KarmaLeaderboardScreen.tsx +5 -9
  351. package/src/ui/screens/karma/KarmaRewardsScreen.tsx +15 -17
  352. package/src/ui/screens/karma/KarmaRulesScreen.tsx +5 -9
@@ -4,10 +4,11 @@ import { View, Text, TouchableOpacity, ScrollView, ActivityIndicator, Image } fr
4
4
  import { Image as ExpoImage } from 'expo-image';
5
5
  // @ts-ignore - MaterialCommunityIcons is available at runtime
6
6
  import { MaterialCommunityIcons } from '@expo/vector-icons';
7
+ import { useTheme } from '@oxyhq/bloom/theme';
7
8
  import type { FileMetadata } from '@oxyhq/core';
8
9
  import { formatFileSize } from '../../utils/fileManagement';
9
10
  import { fileManagementStyles } from './styles';
10
- import type { ThemeStyles } from '../../hooks/useThemeStyles';
11
+ import { Colors } from '../../constants/theme';
11
12
  import { GroupedSection } from '../GroupedSection';
12
13
 
13
14
  interface FileViewerProps {
@@ -19,8 +20,9 @@ interface FileViewerProps {
19
20
  onClose: () => void;
20
21
  onDownload: (fileId: string, filename: string) => void;
21
22
  onDelete: (fileId: string, filename: string) => void;
22
- themeStyles: ThemeStyles;
23
23
  isOwner: boolean;
24
+ /** @deprecated No longer used. Colors are sourced from useTheme() internally. */
25
+ themeStyles?: unknown;
24
26
  }
25
27
 
26
28
  export const FileViewer: React.FC<FileViewerProps> = ({
@@ -32,9 +34,10 @@ export const FileViewer: React.FC<FileViewerProps> = ({
32
34
  onClose,
33
35
  onDownload,
34
36
  onDelete,
35
- themeStyles,
36
37
  isOwner,
37
38
  }) => {
39
+ const { colors, isDark } = useTheme();
40
+ const constantColors = Colors[isDark ? 'dark' : 'light'];
38
41
  const isImage = file.contentType.startsWith('image/');
39
42
  const isText = file.contentType.startsWith('text/') ||
40
43
  file.contentType.includes('json') ||
@@ -45,10 +48,9 @@ export const FileViewer: React.FC<FileViewerProps> = ({
45
48
  const isVideo = file.contentType.startsWith('video/');
46
49
  const isAudio = file.contentType.startsWith('audio/');
47
50
 
48
- const backgroundColor = isImage && fileContent
51
+ const bgColor = isImage && fileContent
49
52
  ? 'transparent'
50
- : themeStyles.backgroundColor;
51
- const borderColor = themeStyles.borderColor;
53
+ : undefined;
52
54
 
53
55
  const [containerWidth, setContainerWidth] = useState<number>(0);
54
56
  const [imageDimensions, setImageDimensions] = useState<{ width: number; height: number } | null>(null);
@@ -107,28 +109,28 @@ export const FileViewer: React.FC<FileViewerProps> = ({
107
109
  {
108
110
  id: 'filename',
109
111
  icon: 'file-document',
110
- iconColor: themeStyles.colors.iconSecurity,
112
+ iconColor: constantColors.iconSecurity,
111
113
  title: 'File Name',
112
114
  subtitle: file.filename,
113
115
  },
114
116
  {
115
117
  id: 'size',
116
118
  icon: 'server',
117
- iconColor: themeStyles.colors.iconStorage,
119
+ iconColor: constantColors.iconStorage,
118
120
  title: 'Size',
119
121
  subtitle: formatFileSize(file.length),
120
122
  },
121
123
  {
122
124
  id: 'type',
123
125
  icon: 'code-tags',
124
- iconColor: themeStyles.colors.iconData,
126
+ iconColor: constantColors.iconData,
125
127
  title: 'Type',
126
128
  subtitle: file.contentType,
127
129
  },
128
130
  {
129
131
  id: 'uploaded',
130
132
  icon: 'clock',
131
- iconColor: themeStyles.colors.iconPersonalInfo,
133
+ iconColor: constantColors.iconPersonalInfo,
132
134
  title: 'Uploaded',
133
135
  subtitle: new Date(file.uploadDate).toLocaleString(),
134
136
  },
@@ -138,7 +140,7 @@ export const FileViewer: React.FC<FileViewerProps> = ({
138
140
  items.push({
139
141
  id: 'description',
140
142
  icon: 'text',
141
- iconColor: themeStyles.colors.iconData,
143
+ iconColor: constantColors.iconData,
142
144
  title: 'Description',
143
145
  subtitle: file.metadata.description,
144
146
  });
@@ -147,16 +149,19 @@ export const FileViewer: React.FC<FileViewerProps> = ({
147
149
  items.push({
148
150
  id: 'fileId',
149
151
  icon: 'key',
150
- iconColor: themeStyles.colors.iconSecurity,
152
+ iconColor: constantColors.iconSecurity,
151
153
  title: 'File ID',
152
154
  subtitle: file.id,
153
155
  });
154
156
 
155
157
  return items;
156
- }, [file, themeStyles.colors]);
158
+ }, [file, constantColors]);
157
159
 
158
160
  return (
159
- <View style={[fileManagementStyles.fileViewerContainer, { backgroundColor }]}>
161
+ <View
162
+ className={isImage && fileContent ? undefined : 'bg-background'}
163
+ style={[fileManagementStyles.fileViewerContainer, bgColor ? { backgroundColor: bgColor } : undefined]}
164
+ >
160
165
  {/* Blurred Background Image - only for images */}
161
166
  {isImage && fileContent && (
162
167
  <>
@@ -168,24 +173,26 @@ export const FileViewer: React.FC<FileViewerProps> = ({
168
173
  transition={120}
169
174
  cachePolicy="memory-disk"
170
175
  />
171
- <View style={[fileManagementStyles.backgroundOverlay, { backgroundColor: themeStyles.isDarkTheme ? 'rgba(0, 0, 0, 0.6)' : 'rgba(255, 255, 255, 0.85)' }]} />
176
+ <View style={[fileManagementStyles.backgroundOverlay, { backgroundColor: isDark ? 'rgba(0, 0, 0, 0.6)' : 'rgba(255, 255, 255, 0.85)' }]} />
172
177
  </>
173
178
  )}
174
179
 
175
180
  {/* Floating Back Button */}
176
181
  <TouchableOpacity
177
- style={[fileManagementStyles.floatingBackButton, { backgroundColor: themeStyles.colors.card }]}
182
+ className="bg-card"
183
+ style={fileManagementStyles.floatingBackButton}
178
184
  onPress={onClose}
179
185
  >
180
- <MaterialCommunityIcons name="arrow-left" size={20} color={themeStyles.textColor} />
186
+ <MaterialCommunityIcons name="arrow-left" size={20} color={colors.text} />
181
187
  </TouchableOpacity>
182
188
 
183
189
  {/* Floating Download Button */}
184
190
  <TouchableOpacity
185
- style={[fileManagementStyles.floatingDownloadButton, { backgroundColor: themeStyles.colors.card }]}
191
+ className="bg-card"
192
+ style={fileManagementStyles.floatingDownloadButton}
186
193
  onPress={() => onDownload(file.id, file.filename)}
187
194
  >
188
- <MaterialCommunityIcons name="download" size={20} color={themeStyles.primaryColor} />
195
+ <MaterialCommunityIcons name="download" size={20} color={colors.primary} />
189
196
  </TouchableOpacity>
190
197
 
191
198
  {/* File Content */}
@@ -195,13 +202,13 @@ export const FileViewer: React.FC<FileViewerProps> = ({
195
202
  >
196
203
  {loadingFileContent ? (
197
204
  <View style={fileManagementStyles.fileViewerLoading}>
198
- <ActivityIndicator size="large" color={themeStyles.primaryColor} />
199
- <Text style={[fileManagementStyles.fileViewerLoadingText, { color: themeStyles.textColor }]}>
205
+ <ActivityIndicator size="large" color={colors.primary} />
206
+ <Text className="text-foreground" style={fileManagementStyles.fileViewerLoadingText}>
200
207
  Loading file content...
201
208
  </Text>
202
209
  </View>
203
210
  ) : isImage && fileContent ? (
204
- <View
211
+ <View
205
212
  style={fileManagementStyles.imageContainer}
206
213
  onLayout={(e) => {
207
214
  const width = e.nativeEvent.layout.width;
@@ -210,7 +217,7 @@ export const FileViewer: React.FC<FileViewerProps> = ({
210
217
  }
211
218
  }}
212
219
  >
213
- <View
220
+ <View
214
221
  style={[
215
222
  fileManagementStyles.imageWrapper,
216
223
  {
@@ -236,9 +243,9 @@ export const FileViewer: React.FC<FileViewerProps> = ({
236
243
  </View>
237
244
  </View>
238
245
  ) : isText && fileContent ? (
239
- <View style={[fileManagementStyles.textContainer, { backgroundColor: themeStyles.colors.card }]}>
246
+ <View className="bg-card" style={fileManagementStyles.textContainer}>
240
247
  <ScrollView style={{ flex: 1 }} nestedScrollEnabled>
241
- <Text style={[fileManagementStyles.textContent, { color: themeStyles.textColor }]}>
248
+ <Text className="text-foreground" style={fileManagementStyles.textContent}>
242
249
  {fileContent}
243
250
  </Text>
244
251
  </ScrollView>
@@ -248,17 +255,18 @@ export const FileViewer: React.FC<FileViewerProps> = ({
248
255
  <MaterialCommunityIcons
249
256
  name="file-pdf-box"
250
257
  size={64}
251
- color={themeStyles.colors.secondaryText}
258
+ color={colors.textSecondary}
252
259
  />
253
- <Text style={[fileManagementStyles.unsupportedFileTitle, { color: themeStyles.textColor }]}>
260
+ <Text className="text-foreground" style={fileManagementStyles.unsupportedFileTitle}>
254
261
  PDF Preview Not Available
255
262
  </Text>
256
- <Text style={[fileManagementStyles.unsupportedFileDescription, { color: themeStyles.colors.secondaryText }]}>
263
+ <Text className="text-muted-foreground" style={fileManagementStyles.unsupportedFileDescription}>
257
264
  PDF files cannot be previewed in this viewer.{'\n'}
258
265
  Download the file to view its contents.
259
266
  </Text>
260
267
  <TouchableOpacity
261
- style={[fileManagementStyles.downloadButtonLarge, { backgroundColor: themeStyles.primaryColor }]}
268
+ className="bg-primary"
269
+ style={fileManagementStyles.downloadButtonLarge}
262
270
  onPress={() => onDownload(file.id, file.filename)}
263
271
  >
264
272
  <MaterialCommunityIcons name="download" size={18} color="#FFFFFF" />
@@ -270,17 +278,18 @@ export const FileViewer: React.FC<FileViewerProps> = ({
270
278
  <MaterialCommunityIcons
271
279
  name="video-outline"
272
280
  size={64}
273
- color={themeStyles.colors.secondaryText}
281
+ color={colors.textSecondary}
274
282
  />
275
- <Text style={[fileManagementStyles.unsupportedFileTitle, { color: themeStyles.textColor }]}>
283
+ <Text className="text-foreground" style={fileManagementStyles.unsupportedFileTitle}>
276
284
  Video Playback Not Available
277
285
  </Text>
278
- <Text style={[fileManagementStyles.unsupportedFileDescription, { color: themeStyles.colors.secondaryText }]}>
286
+ <Text className="text-muted-foreground" style={fileManagementStyles.unsupportedFileDescription}>
279
287
  Video playback is not supported in this viewer.{'\n'}
280
288
  Download the file to view it.
281
289
  </Text>
282
290
  <TouchableOpacity
283
- style={[fileManagementStyles.downloadButtonLarge, { backgroundColor: themeStyles.primaryColor }]}
291
+ className="bg-primary"
292
+ style={fileManagementStyles.downloadButtonLarge}
284
293
  onPress={() => onDownload(file.id, file.filename)}
285
294
  >
286
295
  <MaterialCommunityIcons name="download" size={18} color="#FFFFFF" />
@@ -292,17 +301,18 @@ export const FileViewer: React.FC<FileViewerProps> = ({
292
301
  <MaterialCommunityIcons
293
302
  name="music-note-outline"
294
303
  size={64}
295
- color={themeStyles.colors.secondaryText}
304
+ color={colors.textSecondary}
296
305
  />
297
- <Text style={[fileManagementStyles.unsupportedFileTitle, { color: themeStyles.textColor }]}>
306
+ <Text className="text-foreground" style={fileManagementStyles.unsupportedFileTitle}>
298
307
  Audio Playback Not Available
299
308
  </Text>
300
- <Text style={[fileManagementStyles.unsupportedFileDescription, { color: themeStyles.colors.secondaryText }]}>
309
+ <Text className="text-muted-foreground" style={fileManagementStyles.unsupportedFileDescription}>
301
310
  Audio playback is not supported in this viewer.{'\n'}
302
311
  Download the file to listen to it.
303
312
  </Text>
304
313
  <TouchableOpacity
305
- style={[fileManagementStyles.downloadButtonLarge, { backgroundColor: themeStyles.primaryColor }]}
314
+ className="bg-primary"
315
+ style={fileManagementStyles.downloadButtonLarge}
306
316
  onPress={() => onDownload(file.id, file.filename)}
307
317
  >
308
318
  <MaterialCommunityIcons name="download" size={18} color="#FFFFFF" />
@@ -314,17 +324,18 @@ export const FileViewer: React.FC<FileViewerProps> = ({
314
324
  <MaterialCommunityIcons
315
325
  name="file-outline"
316
326
  size={64}
317
- color={themeStyles.colors.secondaryText}
327
+ color={colors.textSecondary}
318
328
  />
319
- <Text style={[fileManagementStyles.unsupportedFileTitle, { color: themeStyles.textColor }]}>
329
+ <Text className="text-foreground" style={fileManagementStyles.unsupportedFileTitle}>
320
330
  Preview Not Available
321
331
  </Text>
322
- <Text style={[fileManagementStyles.unsupportedFileDescription, { color: themeStyles.colors.secondaryText }]}>
332
+ <Text className="text-muted-foreground" style={fileManagementStyles.unsupportedFileDescription}>
323
333
  This file type cannot be previewed.{'\n'}
324
334
  Download the file to view its contents.
325
335
  </Text>
326
336
  <TouchableOpacity
327
- style={[fileManagementStyles.downloadButtonLarge, { backgroundColor: themeStyles.primaryColor }]}
337
+ className="bg-primary"
338
+ style={fileManagementStyles.downloadButtonLarge}
328
339
  onPress={() => onDownload(file.id, file.filename)}
329
340
  >
330
341
  <MaterialCommunityIcons name="download" size={18} color="#FFFFFF" />
@@ -335,9 +346,9 @@ export const FileViewer: React.FC<FileViewerProps> = ({
335
346
  </ScrollView>
336
347
 
337
348
  {/* File Details Section - at bottom */}
338
- <View style={[fileManagementStyles.fileDetailsSection, { backgroundColor: themeStyles.colors.card }]}>
349
+ <View className="bg-card" style={fileManagementStyles.fileDetailsSection}>
339
350
  <View style={fileManagementStyles.fileDetailsSectionHeader}>
340
- <Text style={[fileManagementStyles.fileDetailsSectionTitle, { color: themeStyles.textColor }]}>
351
+ <Text className="text-foreground" style={fileManagementStyles.fileDetailsSectionTitle}>
341
352
  File Details
342
353
  </Text>
343
354
  <TouchableOpacity
@@ -347,7 +358,7 @@ export const FileViewer: React.FC<FileViewerProps> = ({
347
358
  <MaterialCommunityIcons
348
359
  name={showFileDetailsInViewer ? "chevron-up" : "chevron-down"}
349
360
  size={20}
350
- color={themeStyles.colors.secondaryText}
361
+ color={colors.textSecondary}
351
362
  />
352
363
  </TouchableOpacity>
353
364
  </View>
@@ -361,7 +372,8 @@ export const FileViewer: React.FC<FileViewerProps> = ({
361
372
  {isOwner && (
362
373
  <View style={fileManagementStyles.fileDetailsActions}>
363
374
  <TouchableOpacity
364
- style={[fileManagementStyles.fileDetailsActionButton, { backgroundColor: themeStyles.dangerColor }]}
375
+ className="bg-destructive"
376
+ style={fileManagementStyles.fileDetailsActionButton}
365
377
  onPress={() => {
366
378
  onClose();
367
379
  onDelete(file.id, file.filename);
@@ -2,9 +2,9 @@ import type React from 'react';
2
2
  import { View, Text, TouchableOpacity, Modal, ScrollView } from 'react-native';
3
3
  import { Image as ExpoImage } from 'expo-image';
4
4
  import { Ionicons } from '@expo/vector-icons';
5
+ import { useTheme } from '@oxyhq/bloom/theme';
5
6
  import { formatFileSize, getFileIcon } from '../../utils/fileManagement';
6
7
  import { fileManagementStyles } from './styles';
7
- import type { ThemeStyles } from '../../hooks/useThemeStyles';
8
8
 
9
9
  interface PendingFile {
10
10
  file: File | Blob;
@@ -20,8 +20,9 @@ interface UploadPreviewProps {
20
20
  onConfirm: () => void;
21
21
  onCancel: () => void;
22
22
  onRemoveFile: (index: number) => void;
23
- themeStyles: ThemeStyles;
24
23
  inline?: boolean; // New prop to support inline rendering without Modal
24
+ /** @deprecated No longer used. Colors are sourced from useTheme() internally. */
25
+ themeStyles?: unknown;
25
26
  }
26
27
 
27
28
  const UploadPreviewContent: React.FC<{
@@ -29,26 +30,23 @@ const UploadPreviewContent: React.FC<{
29
30
  onConfirm: () => void;
30
31
  onCancel: () => void;
31
32
  onRemoveFile: (index: number) => void;
32
- themeStyles: ThemeStyles;
33
33
  }> = ({
34
34
  pendingFiles,
35
35
  onConfirm,
36
36
  onCancel,
37
37
  onRemoveFile,
38
- themeStyles,
39
38
  }) => {
40
- const backgroundColor = themeStyles.backgroundColor;
41
- const borderColor = themeStyles.borderColor;
39
+ const { colors, isDark } = useTheme();
42
40
  const totalSize = pendingFiles.reduce((sum, f) => sum + f.size, 0);
43
41
 
44
42
  return (
45
- <View style={[fileManagementStyles.uploadPreviewContainer, { backgroundColor }]}>
46
- <View style={[fileManagementStyles.uploadPreviewHeader, { borderBottomColor: borderColor }]}>
47
- <Text style={[fileManagementStyles.uploadPreviewTitle, { color: themeStyles.textColor }]}>
43
+ <View className="bg-background" style={fileManagementStyles.uploadPreviewContainer}>
44
+ <View className="border-b border-border" style={fileManagementStyles.uploadPreviewHeader}>
45
+ <Text className="text-foreground" style={fileManagementStyles.uploadPreviewTitle}>
48
46
  Review Files ({pendingFiles.length})
49
47
  </Text>
50
48
  <TouchableOpacity onPress={onCancel}>
51
- <Ionicons name="close" size={24} color={themeStyles.textColor} />
49
+ <Ionicons name="close" size={24} color={colors.text} />
52
50
  </TouchableOpacity>
53
51
  </View>
54
52
 
@@ -58,10 +56,8 @@ const UploadPreviewContent: React.FC<{
58
56
  return (
59
57
  <View
60
58
  key={index}
61
- style={[
62
- fileManagementStyles.uploadPreviewItem,
63
- { backgroundColor: themeStyles.secondaryBackgroundColor, borderColor }
64
- ]}
59
+ className="bg-secondary border-border"
60
+ style={fileManagementStyles.uploadPreviewItem}
65
61
  >
66
62
  {isImage && pendingFile.preview ? (
67
63
  <ExpoImage
@@ -70,19 +66,19 @@ const UploadPreviewContent: React.FC<{
70
66
  contentFit="cover"
71
67
  />
72
68
  ) : (
73
- <View style={[fileManagementStyles.uploadPreviewIconContainer, { backgroundColor: themeStyles.isDarkTheme ? '#333333' : '#F0F0F0' }]}>
69
+ <View style={[fileManagementStyles.uploadPreviewIconContainer, { backgroundColor: isDark ? '#333333' : '#F0F0F0' }]}>
74
70
  <Ionicons
75
71
  name={getFileIcon(pendingFile.type) as React.ComponentProps<typeof Ionicons>['name']}
76
72
  size={32}
77
- color={themeStyles.primaryColor}
73
+ color={colors.primary}
78
74
  />
79
75
  </View>
80
76
  )}
81
77
  <View style={fileManagementStyles.uploadPreviewInfo}>
82
- <Text style={[fileManagementStyles.uploadPreviewName, { color: themeStyles.textColor }]} numberOfLines={1}>
78
+ <Text className="text-foreground" style={fileManagementStyles.uploadPreviewName} numberOfLines={1}>
83
79
  {pendingFile.name}
84
80
  </Text>
85
- <Text style={[fileManagementStyles.uploadPreviewMeta, { color: themeStyles.isDarkTheme ? '#BBBBBB' : '#666666' }]}>
81
+ <Text className="text-muted-foreground" style={fileManagementStyles.uploadPreviewMeta}>
86
82
  {formatFileSize(pendingFile.size)} • {pendingFile.type}
87
83
  </Text>
88
84
  </View>
@@ -90,36 +86,38 @@ const UploadPreviewContent: React.FC<{
90
86
  style={fileManagementStyles.uploadPreviewRemove}
91
87
  onPress={() => onRemoveFile(index)}
92
88
  >
93
- <Ionicons name="close-circle" size={24} color={themeStyles.dangerColor} />
89
+ <Ionicons name="close-circle" size={24} color={colors.error} />
94
90
  </TouchableOpacity>
95
91
  </View>
96
92
  );
97
93
  })}
98
94
  </ScrollView>
99
95
 
100
- <View style={[fileManagementStyles.uploadPreviewFooter, { borderTopColor: borderColor }]}>
96
+ <View className="border-t border-border" style={fileManagementStyles.uploadPreviewFooter}>
101
97
  <View style={fileManagementStyles.uploadPreviewStats}>
102
- <Text style={[fileManagementStyles.uploadPreviewStatsText, { color: themeStyles.textColor }]}>
98
+ <Text className="text-foreground" style={fileManagementStyles.uploadPreviewStatsText}>
103
99
  {pendingFiles.length} file{pendingFiles.length !== 1 ? 's' : ''}
104
100
  </Text>
105
- <Text style={[fileManagementStyles.uploadPreviewStatsText, { color: themeStyles.textColor }]}>
101
+ <Text className="text-foreground" style={fileManagementStyles.uploadPreviewStatsText}>
106
102
  {formatFileSize(totalSize)}
107
103
  </Text>
108
104
  </View>
109
105
  <View style={fileManagementStyles.uploadPreviewActions}>
110
106
  <TouchableOpacity
107
+ className="border-border"
111
108
  style={[
112
109
  fileManagementStyles.uploadPreviewCancelButton,
113
- { borderColor, backgroundColor: 'transparent' }
110
+ { backgroundColor: 'transparent' }
114
111
  ]}
115
112
  onPress={onCancel}
116
113
  >
117
- <Text style={[fileManagementStyles.uploadPreviewCancelText, { color: themeStyles.textColor }]}>
114
+ <Text className="text-foreground" style={fileManagementStyles.uploadPreviewCancelText}>
118
115
  Cancel
119
116
  </Text>
120
117
  </TouchableOpacity>
121
118
  <TouchableOpacity
122
- style={[fileManagementStyles.uploadPreviewConfirmButton, { backgroundColor: themeStyles.primaryColor }]}
119
+ className="bg-primary"
120
+ style={fileManagementStyles.uploadPreviewConfirmButton}
123
121
  onPress={onConfirm}
124
122
  >
125
123
  <Ionicons name="cloud-upload" size={20} color="#FFFFFF" />
@@ -137,7 +135,6 @@ export const UploadPreview: React.FC<UploadPreviewProps> = ({
137
135
  onConfirm,
138
136
  onCancel,
139
137
  onRemoveFile,
140
- themeStyles,
141
138
  inline = false,
142
139
  }) => {
143
140
  // If inline mode, render content directly without Modal
@@ -149,7 +146,6 @@ export const UploadPreview: React.FC<UploadPreviewProps> = ({
149
146
  onConfirm={onConfirm}
150
147
  onCancel={onCancel}
151
148
  onRemoveFile={onRemoveFile}
152
- themeStyles={themeStyles}
153
149
  />
154
150
  );
155
151
  }
@@ -167,7 +163,6 @@ export const UploadPreview: React.FC<UploadPreviewProps> = ({
167
163
  onConfirm={onConfirm}
168
164
  onCancel={onCancel}
169
165
  onRemoveFile={onRemoveFile}
170
- themeStyles={themeStyles}
171
166
  />
172
167
  </Modal>
173
168
  );
@@ -78,33 +78,34 @@ const DeleteAccountModal: React.FC<DeleteAccountModalProps> = ({
78
78
  activeOpacity={1}
79
79
  onPress={handleClose}
80
80
  />
81
- <View style={[styles.modal, { backgroundColor: theme.colors.background }]}>
81
+ <View className="bg-background" style={styles.modal}>
82
82
  <View style={styles.header}>
83
83
  <OxyIcon name="alert" size={32} color={theme.colors.error} />
84
- <Text style={[styles.title, { color: theme.colors.error }]}>
84
+ <Text className="text-destructive" style={styles.title}>
85
85
  {t('deleteAccount.title') || 'Delete Account'}
86
86
  </Text>
87
87
  </View>
88
88
 
89
- <Text style={[styles.warning, { color: theme.colors.text }]}>
89
+ <Text className="text-foreground" style={styles.warning}>
90
90
  {t('deleteAccount.warning') || 'This action cannot be undone. Your account and all associated data will be permanently deleted.'}
91
91
  </Text>
92
92
 
93
93
  {error && (
94
94
  <View style={[styles.errorContainer, { backgroundColor: `${theme.colors.error}20` }]}>
95
- <Text style={[styles.errorText, { color: theme.colors.error }]}>
95
+ <Text className="text-destructive" style={styles.errorText}>
96
96
  {error}
97
97
  </Text>
98
98
  </View>
99
99
  )}
100
100
 
101
101
  <View style={styles.inputGroup}>
102
- <Text style={[styles.label, { color: theme.colors.textSecondary }]}>
102
+ <Text className="text-muted-foreground" style={styles.label}>
103
103
  {t('deleteAccount.passwordLabel') || 'Enter your password'}
104
104
  </Text>
105
- <View style={[styles.inputContainer, { borderColor: theme.colors.border, backgroundColor: theme.colors.background }]}>
105
+ <View className="border-border bg-background" style={styles.inputContainer}>
106
106
  <TextInput
107
- style={[styles.input, { color: theme.colors.text }]}
107
+ className="text-foreground"
108
+ style={styles.input}
108
109
  value={password}
109
110
  onChangeText={setPassword}
110
111
  placeholder={t('deleteAccount.passwordPlaceholder') || 'Password'}
@@ -127,17 +128,16 @@ const DeleteAccountModal: React.FC<DeleteAccountModalProps> = ({
127
128
  </View>
128
129
 
129
130
  <View style={styles.inputGroup}>
130
- <Text style={[styles.label, { color: theme.colors.textSecondary }]}>
131
+ <Text className="text-muted-foreground" style={styles.label}>
131
132
  {t('deleteAccount.confirmLabel', { username }) || `Type "${username}" to confirm`}
132
133
  </Text>
133
134
  <TextInput
135
+ className="text-foreground bg-background"
134
136
  style={[
135
137
  styles.input,
136
138
  styles.confirmInput,
137
139
  {
138
140
  borderColor: confirmUsername === username ? theme.colors.success : theme.colors.border,
139
- backgroundColor: theme.colors.background,
140
- color: theme.colors.text,
141
141
  },
142
142
  ]}
143
143
  value={confirmUsername}
@@ -152,11 +152,12 @@ const DeleteAccountModal: React.FC<DeleteAccountModalProps> = ({
152
152
 
153
153
  <View style={styles.buttons}>
154
154
  <TouchableOpacity
155
- style={[styles.button, styles.cancelButton, { borderColor: theme.colors.border }]}
155
+ className="border-border"
156
+ style={[styles.button, styles.cancelButton]}
156
157
  onPress={handleClose}
157
158
  disabled={isDeleting}
158
159
  >
159
- <Text style={[styles.buttonText, { color: theme.colors.text }]}>
160
+ <Text className="text-foreground" style={styles.buttonText}>
160
161
  {t('common.cancel') || 'Cancel'}
161
162
  </Text>
162
163
  </TouchableOpacity>
@@ -1,4 +1,5 @@
1
- import { useThemeColors, getTheme } from '../styles';
1
+ import { useTheme } from '@oxyhq/bloom/theme';
2
+ import { getTheme } from '../styles';
2
3
  import type { InternalTheme } from './types';
3
4
 
4
5
  /**
@@ -15,7 +16,19 @@ export const useInternalTheme = (
15
16
  theme = 'dark';
16
17
  }
17
18
 
18
- const colors = useThemeColors(theme);
19
+ const bloomTheme = useTheme();
20
+ const colors = {
21
+ text: bloomTheme.colors.text,
22
+ background: bloomTheme.colors.background,
23
+ inputBackground: bloomTheme.colors.backgroundSecondary,
24
+ placeholder: bloomTheme.colors.textTertiary,
25
+ primary: bloomTheme.colors.primary,
26
+ border: bloomTheme.colors.border,
27
+ error: bloomTheme.colors.error,
28
+ success: bloomTheme.colors.success,
29
+ warning: bloomTheme.colors.warning,
30
+ secondaryText: bloomTheme.colors.textSecondary,
31
+ };
19
32
  const themeObj = getTheme(theme);
20
33
 
21
34
  // Create InternalTheme compatible object
@@ -18,7 +18,7 @@ import Section from '../components/Section';
18
18
  import QuickActions from '../components/QuickActions';
19
19
  import { SettingsIcon } from '../components/SettingsIcon';
20
20
  import { useI18n } from '../hooks/useI18n';
21
- import { useThemeStyles } from '../hooks/useThemeStyles';
21
+ import { useTheme } from '@oxyhq/bloom/theme';
22
22
  import { useColorScheme } from '../hooks/useColorScheme';
23
23
  import { Colors } from '../constants/theme';
24
24
  import { normalizeColorScheme, normalizeTheme } from '../utils/themeUtils';
@@ -34,14 +34,11 @@ const AccountCenterScreen: React.FC<BaseScreenProps> = ({
34
34
  // Use useOxy() hook for OxyContext values
35
35
  const { user, logout, isLoading, sessions, isAuthenticated } = useOxy();
36
36
  const { t } = useI18n();
37
+ const bloomTheme = useTheme();
37
38
  const colorScheme = useColorScheme();
38
39
  const normalizedTheme = normalizeTheme(theme);
39
- const themeStyles = useThemeStyles(normalizedTheme, colorScheme);
40
- // AccountCenterScreen uses a slightly different light background
41
- const backgroundColor = themeStyles.isDarkTheme ? themeStyles.backgroundColor : '#f2f2f2';
42
- // Extract commonly used colors for readability - ensure colors is always defined
43
- const { textColor, primaryColor, dangerColor, colors: themeColors } = themeStyles;
44
- const colors = themeColors || Colors[normalizeColorScheme(colorScheme, normalizedTheme)];
40
+ const dangerColor = bloomTheme.colors.error;
41
+ const colors = Colors[normalizeColorScheme(colorScheme, normalizedTheme)];
45
42
 
46
43
  // Memoized logout handler - prevents unnecessary re-renders
47
44
  const handleLogout = useCallback(async () => {
@@ -68,22 +65,22 @@ const AccountCenterScreen: React.FC<BaseScreenProps> = ({
68
65
 
69
66
  if (!isAuthenticated) {
70
67
  return (
71
- <View style={[styles.container, { backgroundColor }]}>
72
- <Text style={[styles.message, { color: textColor }]}>{t('common.status.notSignedIn') || 'Not signed in'}</Text>
68
+ <View style={styles.container} className="bg-background">
69
+ <Text style={styles.message} className="text-foreground">{t('common.status.notSignedIn') || 'Not signed in'}</Text>
73
70
  </View>
74
71
  );
75
72
  }
76
73
 
77
74
  if (isLoading) {
78
75
  return (
79
- <View style={[styles.container, { backgroundColor, justifyContent: 'center' }]}>
80
- <ActivityIndicator size="large" color={primaryColor} />
76
+ <View style={[styles.container, { justifyContent: 'center' }]} className="bg-background">
77
+ <ActivityIndicator size="large" color={bloomTheme.colors.primary} />
81
78
  </View>
82
79
  );
83
80
  }
84
81
 
85
82
  return (
86
- <View style={[styles.container, { backgroundColor }]}>
83
+ <View style={styles.container} className="bg-background">
87
84
  {/* Header with user profile */}
88
85
  {user && (
89
86
  <ProfileCard
@@ -230,7 +227,7 @@ const AccountCenterScreen: React.FC<BaseScreenProps> = ({
230
227
  </SettingsListGroup>
231
228
 
232
229
  <View style={styles.versionContainer}>
233
- <Text style={[styles.versionText, { color: themeStyles.isDarkTheme ? '#666666' : '#999999' }]}>
230
+ <Text style={styles.versionText} className="text-muted-foreground">
234
231
  {t('accountCenter.version', { version: packageInfo.version }) || `Version ${packageInfo.version}`}
235
232
  </Text>
236
233
  </View>