@oxyhq/services 6.9.41 → 6.9.43

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 (205) hide show
  1. package/lib/commonjs/ui/components/BottomSheet.js +3 -3
  2. package/lib/commonjs/ui/components/BottomSheet.js.map +1 -1
  3. package/lib/commonjs/ui/components/BottomSheetRouter.js +4 -3
  4. package/lib/commonjs/ui/components/BottomSheetRouter.js.map +1 -1
  5. package/lib/commonjs/ui/components/OxyProvider.js +48 -43
  6. package/lib/commonjs/ui/components/OxyProvider.js.map +1 -1
  7. package/lib/commonjs/ui/components/SignInModal.js +1 -1
  8. package/lib/commonjs/ui/components/fileManagement/FileDetailsModal.js +3 -2
  9. package/lib/commonjs/ui/components/fileManagement/FileDetailsModal.js.map +1 -1
  10. package/lib/commonjs/ui/components/fileManagement/UploadPreview.js +3 -2
  11. package/lib/commonjs/ui/components/fileManagement/UploadPreview.js.map +1 -1
  12. package/lib/commonjs/ui/components/modals/DeleteAccountModal.js +3 -2
  13. package/lib/commonjs/ui/components/modals/DeleteAccountModal.js.map +1 -1
  14. package/lib/commonjs/ui/context/OxyContext.js +17 -4
  15. package/lib/commonjs/ui/context/OxyContext.js.map +1 -1
  16. package/lib/commonjs/ui/context/hooks/useAuthOperations.js +2 -1
  17. package/lib/commonjs/ui/context/hooks/useAuthOperations.js.map +1 -1
  18. package/lib/commonjs/ui/screens/AccountCenterScreen.js +8 -6
  19. package/lib/commonjs/ui/screens/AccountCenterScreen.js.map +1 -1
  20. package/lib/commonjs/ui/screens/AccountOverviewScreen.js +8 -6
  21. package/lib/commonjs/ui/screens/AccountOverviewScreen.js.map +1 -1
  22. package/lib/commonjs/ui/screens/AccountSettingsScreen.js +5 -4
  23. package/lib/commonjs/ui/screens/AccountSettingsScreen.js.map +1 -1
  24. package/lib/commonjs/ui/screens/AccountSwitcherScreen.js +5 -2
  25. package/lib/commonjs/ui/screens/AccountSwitcherScreen.js.map +1 -1
  26. package/lib/commonjs/ui/screens/AccountVerificationScreen.js +3 -2
  27. package/lib/commonjs/ui/screens/AccountVerificationScreen.js.map +1 -1
  28. package/lib/commonjs/ui/screens/EditProfileFieldScreen.js +3 -2
  29. package/lib/commonjs/ui/screens/EditProfileFieldScreen.js.map +1 -1
  30. package/lib/commonjs/ui/screens/FAQScreen.js +3 -2
  31. package/lib/commonjs/ui/screens/FAQScreen.js.map +1 -1
  32. package/lib/commonjs/ui/screens/FeedbackScreen.js +3 -2
  33. package/lib/commonjs/ui/screens/FeedbackScreen.js.map +1 -1
  34. package/lib/commonjs/ui/screens/HelpSupportScreen.js +3 -2
  35. package/lib/commonjs/ui/screens/HelpSupportScreen.js.map +1 -1
  36. package/lib/commonjs/ui/screens/HistoryViewScreen.js +3 -2
  37. package/lib/commonjs/ui/screens/HistoryViewScreen.js.map +1 -1
  38. package/lib/commonjs/ui/screens/LanguageSelectorScreen.js +3 -2
  39. package/lib/commonjs/ui/screens/LanguageSelectorScreen.js.map +1 -1
  40. package/lib/commonjs/ui/screens/LearnMoreUsernamesScreen.js +3 -2
  41. package/lib/commonjs/ui/screens/LearnMoreUsernamesScreen.js.map +1 -1
  42. package/lib/commonjs/ui/screens/LegalDocumentsScreen.js +6 -4
  43. package/lib/commonjs/ui/screens/LegalDocumentsScreen.js.map +1 -1
  44. package/lib/commonjs/ui/screens/OxyAuthScreen.js +13 -9
  45. package/lib/commonjs/ui/screens/OxyAuthScreen.js.map +1 -1
  46. package/lib/commonjs/ui/screens/PaymentGatewayScreen.js +3 -2
  47. package/lib/commonjs/ui/screens/PaymentGatewayScreen.js.map +1 -1
  48. package/lib/commonjs/ui/screens/PrivacySettingsScreen.js +6 -4
  49. package/lib/commonjs/ui/screens/PrivacySettingsScreen.js.map +1 -1
  50. package/lib/commonjs/ui/screens/ProfileScreen.js +8 -6
  51. package/lib/commonjs/ui/screens/ProfileScreen.js.map +1 -1
  52. package/lib/commonjs/ui/screens/SavesCollectionsScreen.js +3 -2
  53. package/lib/commonjs/ui/screens/SavesCollectionsScreen.js.map +1 -1
  54. package/lib/commonjs/ui/screens/SearchSettingsScreen.js +6 -4
  55. package/lib/commonjs/ui/screens/SearchSettingsScreen.js.map +1 -1
  56. package/lib/commonjs/ui/screens/SessionManagementScreen.js +6 -4
  57. package/lib/commonjs/ui/screens/SessionManagementScreen.js.map +1 -1
  58. package/lib/commonjs/ui/screens/UserLinksScreen.js +3 -2
  59. package/lib/commonjs/ui/screens/UserLinksScreen.js.map +1 -1
  60. package/lib/commonjs/ui/screens/UserListScreen.js +9 -6
  61. package/lib/commonjs/ui/screens/UserListScreen.js.map +1 -1
  62. package/lib/commonjs/ui/screens/karma/KarmaAboutScreen.js +3 -2
  63. package/lib/commonjs/ui/screens/karma/KarmaAboutScreen.js.map +1 -1
  64. package/lib/commonjs/ui/screens/karma/KarmaCenterScreen.js +8 -6
  65. package/lib/commonjs/ui/screens/karma/KarmaCenterScreen.js.map +1 -1
  66. package/lib/commonjs/ui/screens/karma/KarmaFAQScreen.js +3 -2
  67. package/lib/commonjs/ui/screens/karma/KarmaFAQScreen.js.map +1 -1
  68. package/lib/commonjs/ui/screens/karma/KarmaLeaderboardScreen.js +3 -2
  69. package/lib/commonjs/ui/screens/karma/KarmaLeaderboardScreen.js.map +1 -1
  70. package/lib/commonjs/ui/screens/karma/KarmaRewardsScreen.js +6 -4
  71. package/lib/commonjs/ui/screens/karma/KarmaRewardsScreen.js.map +1 -1
  72. package/lib/commonjs/ui/screens/karma/KarmaRulesScreen.js +3 -2
  73. package/lib/commonjs/ui/screens/karma/KarmaRulesScreen.js.map +1 -1
  74. package/lib/module/ui/components/BottomSheet.js +3 -3
  75. package/lib/module/ui/components/BottomSheet.js.map +1 -1
  76. package/lib/module/ui/components/BottomSheetRouter.js +4 -3
  77. package/lib/module/ui/components/BottomSheetRouter.js.map +1 -1
  78. package/lib/module/ui/components/OxyProvider.js +49 -44
  79. package/lib/module/ui/components/OxyProvider.js.map +1 -1
  80. package/lib/module/ui/components/SignInModal.js +1 -1
  81. package/lib/module/ui/components/fileManagement/FileDetailsModal.js +3 -2
  82. package/lib/module/ui/components/fileManagement/FileDetailsModal.js.map +1 -1
  83. package/lib/module/ui/components/fileManagement/UploadPreview.js +3 -2
  84. package/lib/module/ui/components/fileManagement/UploadPreview.js.map +1 -1
  85. package/lib/module/ui/components/modals/DeleteAccountModal.js +3 -2
  86. package/lib/module/ui/components/modals/DeleteAccountModal.js.map +1 -1
  87. package/lib/module/ui/context/OxyContext.js +17 -4
  88. package/lib/module/ui/context/OxyContext.js.map +1 -1
  89. package/lib/module/ui/context/hooks/useAuthOperations.js +2 -1
  90. package/lib/module/ui/context/hooks/useAuthOperations.js.map +1 -1
  91. package/lib/module/ui/screens/AccountCenterScreen.js +8 -6
  92. package/lib/module/ui/screens/AccountCenterScreen.js.map +1 -1
  93. package/lib/module/ui/screens/AccountOverviewScreen.js +8 -6
  94. package/lib/module/ui/screens/AccountOverviewScreen.js.map +1 -1
  95. package/lib/module/ui/screens/AccountSettingsScreen.js +5 -4
  96. package/lib/module/ui/screens/AccountSettingsScreen.js.map +1 -1
  97. package/lib/module/ui/screens/AccountSwitcherScreen.js +5 -2
  98. package/lib/module/ui/screens/AccountSwitcherScreen.js.map +1 -1
  99. package/lib/module/ui/screens/AccountVerificationScreen.js +3 -2
  100. package/lib/module/ui/screens/AccountVerificationScreen.js.map +1 -1
  101. package/lib/module/ui/screens/EditProfileFieldScreen.js +3 -2
  102. package/lib/module/ui/screens/EditProfileFieldScreen.js.map +1 -1
  103. package/lib/module/ui/screens/FAQScreen.js +3 -2
  104. package/lib/module/ui/screens/FAQScreen.js.map +1 -1
  105. package/lib/module/ui/screens/FeedbackScreen.js +3 -2
  106. package/lib/module/ui/screens/FeedbackScreen.js.map +1 -1
  107. package/lib/module/ui/screens/HelpSupportScreen.js +3 -2
  108. package/lib/module/ui/screens/HelpSupportScreen.js.map +1 -1
  109. package/lib/module/ui/screens/HistoryViewScreen.js +3 -2
  110. package/lib/module/ui/screens/HistoryViewScreen.js.map +1 -1
  111. package/lib/module/ui/screens/LanguageSelectorScreen.js +3 -2
  112. package/lib/module/ui/screens/LanguageSelectorScreen.js.map +1 -1
  113. package/lib/module/ui/screens/LearnMoreUsernamesScreen.js +3 -2
  114. package/lib/module/ui/screens/LearnMoreUsernamesScreen.js.map +1 -1
  115. package/lib/module/ui/screens/LegalDocumentsScreen.js +6 -4
  116. package/lib/module/ui/screens/LegalDocumentsScreen.js.map +1 -1
  117. package/lib/module/ui/screens/OxyAuthScreen.js +13 -9
  118. package/lib/module/ui/screens/OxyAuthScreen.js.map +1 -1
  119. package/lib/module/ui/screens/PaymentGatewayScreen.js +3 -2
  120. package/lib/module/ui/screens/PaymentGatewayScreen.js.map +1 -1
  121. package/lib/module/ui/screens/PrivacySettingsScreen.js +6 -4
  122. package/lib/module/ui/screens/PrivacySettingsScreen.js.map +1 -1
  123. package/lib/module/ui/screens/ProfileScreen.js +8 -6
  124. package/lib/module/ui/screens/ProfileScreen.js.map +1 -1
  125. package/lib/module/ui/screens/SavesCollectionsScreen.js +3 -2
  126. package/lib/module/ui/screens/SavesCollectionsScreen.js.map +1 -1
  127. package/lib/module/ui/screens/SearchSettingsScreen.js +6 -4
  128. package/lib/module/ui/screens/SearchSettingsScreen.js.map +1 -1
  129. package/lib/module/ui/screens/SessionManagementScreen.js +6 -4
  130. package/lib/module/ui/screens/SessionManagementScreen.js.map +1 -1
  131. package/lib/module/ui/screens/UserLinksScreen.js +3 -2
  132. package/lib/module/ui/screens/UserLinksScreen.js.map +1 -1
  133. package/lib/module/ui/screens/UserListScreen.js +9 -6
  134. package/lib/module/ui/screens/UserListScreen.js.map +1 -1
  135. package/lib/module/ui/screens/karma/KarmaAboutScreen.js +3 -2
  136. package/lib/module/ui/screens/karma/KarmaAboutScreen.js.map +1 -1
  137. package/lib/module/ui/screens/karma/KarmaCenterScreen.js +8 -6
  138. package/lib/module/ui/screens/karma/KarmaCenterScreen.js.map +1 -1
  139. package/lib/module/ui/screens/karma/KarmaFAQScreen.js +3 -2
  140. package/lib/module/ui/screens/karma/KarmaFAQScreen.js.map +1 -1
  141. package/lib/module/ui/screens/karma/KarmaLeaderboardScreen.js +3 -2
  142. package/lib/module/ui/screens/karma/KarmaLeaderboardScreen.js.map +1 -1
  143. package/lib/module/ui/screens/karma/KarmaRewardsScreen.js +6 -4
  144. package/lib/module/ui/screens/karma/KarmaRewardsScreen.js.map +1 -1
  145. package/lib/module/ui/screens/karma/KarmaRulesScreen.js +3 -2
  146. package/lib/module/ui/screens/karma/KarmaRulesScreen.js.map +1 -1
  147. package/lib/typescript/commonjs/ui/components/BottomSheet.d.ts.map +1 -1
  148. package/lib/typescript/commonjs/ui/components/OxyProvider.d.ts.map +1 -1
  149. package/lib/typescript/commonjs/ui/context/OxyContext.d.ts +3 -8
  150. package/lib/typescript/commonjs/ui/context/OxyContext.d.ts.map +1 -1
  151. package/lib/typescript/commonjs/ui/context/hooks/useAuthOperations.d.ts.map +1 -1
  152. package/lib/typescript/commonjs/ui/screens/AccountSwitcherScreen.d.ts.map +1 -1
  153. package/lib/typescript/commonjs/ui/screens/EditProfileFieldScreen.d.ts.map +1 -1
  154. package/lib/typescript/commonjs/ui/screens/FeedbackScreen.d.ts.map +1 -1
  155. package/lib/typescript/commonjs/ui/types/navigation.d.ts +3 -0
  156. package/lib/typescript/commonjs/ui/types/navigation.d.ts.map +1 -1
  157. package/lib/typescript/module/ui/components/BottomSheet.d.ts.map +1 -1
  158. package/lib/typescript/module/ui/components/OxyProvider.d.ts.map +1 -1
  159. package/lib/typescript/module/ui/context/OxyContext.d.ts +3 -8
  160. package/lib/typescript/module/ui/context/OxyContext.d.ts.map +1 -1
  161. package/lib/typescript/module/ui/context/hooks/useAuthOperations.d.ts.map +1 -1
  162. package/lib/typescript/module/ui/screens/AccountSwitcherScreen.d.ts.map +1 -1
  163. package/lib/typescript/module/ui/screens/EditProfileFieldScreen.d.ts.map +1 -1
  164. package/lib/typescript/module/ui/screens/FeedbackScreen.d.ts.map +1 -1
  165. package/lib/typescript/module/ui/types/navigation.d.ts +3 -0
  166. package/lib/typescript/module/ui/types/navigation.d.ts.map +1 -1
  167. package/package.json +2 -3
  168. package/src/ui/components/BottomSheet.tsx +3 -2
  169. package/src/ui/components/BottomSheetRouter.tsx +2 -2
  170. package/src/ui/components/OxyProvider.tsx +55 -50
  171. package/src/ui/components/SignInModal.tsx +1 -1
  172. package/src/ui/components/fileManagement/FileDetailsModal.tsx +1 -1
  173. package/src/ui/components/fileManagement/UploadPreview.tsx +1 -1
  174. package/src/ui/components/modals/DeleteAccountModal.tsx +1 -1
  175. package/src/ui/context/OxyContext.tsx +21 -12
  176. package/src/ui/context/hooks/useAuthOperations.ts +2 -1
  177. package/src/ui/screens/AccountCenterScreen.tsx +3 -3
  178. package/src/ui/screens/AccountOverviewScreen.tsx +3 -3
  179. package/src/ui/screens/AccountSettingsScreen.tsx +2 -2
  180. package/src/ui/screens/AccountSwitcherScreen.tsx +3 -1
  181. package/src/ui/screens/AccountVerificationScreen.tsx +1 -1
  182. package/src/ui/screens/EditProfileFieldScreen.tsx +1 -2
  183. package/src/ui/screens/FAQScreen.tsx +1 -1
  184. package/src/ui/screens/FeedbackScreen.tsx +1 -2
  185. package/src/ui/screens/HelpSupportScreen.tsx +1 -1
  186. package/src/ui/screens/HistoryViewScreen.tsx +1 -1
  187. package/src/ui/screens/LanguageSelectorScreen.tsx +1 -1
  188. package/src/ui/screens/LearnMoreUsernamesScreen.tsx +1 -1
  189. package/src/ui/screens/LegalDocumentsScreen.tsx +2 -2
  190. package/src/ui/screens/OxyAuthScreen.tsx +6 -6
  191. package/src/ui/screens/PaymentGatewayScreen.tsx +1 -1
  192. package/src/ui/screens/PrivacySettingsScreen.tsx +2 -2
  193. package/src/ui/screens/ProfileScreen.tsx +3 -3
  194. package/src/ui/screens/SavesCollectionsScreen.tsx +1 -1
  195. package/src/ui/screens/SearchSettingsScreen.tsx +2 -2
  196. package/src/ui/screens/SessionManagementScreen.tsx +2 -2
  197. package/src/ui/screens/UserLinksScreen.tsx +1 -1
  198. package/src/ui/screens/UserListScreen.tsx +3 -3
  199. package/src/ui/screens/karma/KarmaAboutScreen.tsx +1 -1
  200. package/src/ui/screens/karma/KarmaCenterScreen.tsx +3 -3
  201. package/src/ui/screens/karma/KarmaFAQScreen.tsx +1 -1
  202. package/src/ui/screens/karma/KarmaLeaderboardScreen.tsx +1 -1
  203. package/src/ui/screens/karma/KarmaRewardsScreen.tsx +2 -2
  204. package/src/ui/screens/karma/KarmaRulesScreen.tsx +1 -1
  205. package/src/ui/types/navigation.ts +3 -0
@@ -75,7 +75,7 @@ const AccountVerificationScreen: React.FC<BaseScreenProps> = ({
75
75
  }, [reason, evidence, oxyServices, t, goBack]);
76
76
 
77
77
  return (
78
- <View style={styles.container} className="bg-background">
78
+ <View style={[styles.container, { backgroundColor: bloomTheme.colors.background }]}>
79
79
  <Header
80
80
  title={t('accountVerification.title') || 'Account Verification'}
81
81
 
@@ -534,8 +534,7 @@ const EditProfileFieldScreen: React.FC<EditProfileFieldScreenProps> = ({
534
534
 
535
535
  return (
536
536
  <KeyboardAvoidingView
537
- style={styles.container}
538
- className="bg-background"
537
+ style={[styles.container, { backgroundColor: bloomTheme.colors.background }]}
539
538
  behavior={Platform.OS === 'ios' ? 'padding' : undefined}
540
539
  >
541
540
  <Header
@@ -96,7 +96,7 @@ const FAQScreen: React.FC<BaseScreenProps> = ({
96
96
  const styles = useMemo(() => createStyles(), []);
97
97
 
98
98
  return (
99
- <View style={styles.container} className="bg-background">
99
+ <View style={[styles.container, { backgroundColor: bloomTheme.colors.background }]}>
100
100
  <Header
101
101
  title={t('faq.title') || 'FAQ'}
102
102
  onBack={goBack || onClose}
@@ -489,8 +489,7 @@ const FeedbackScreen: React.FC<BaseScreenProps> = ({
489
489
 
490
490
  return (
491
491
  <KeyboardAvoidingView
492
- style={styles.container}
493
- className="bg-background"
492
+ style={[styles.container, { backgroundColor: colors.background }]}
494
493
  behavior={Platform.OS === 'ios' ? 'padding' : 'height'}
495
494
  >
496
495
  <StatusBar
@@ -50,7 +50,7 @@ const HelpSupportScreen: React.FC<BaseScreenProps> = ({
50
50
  }, [t]);
51
51
 
52
52
  return (
53
- <View style={styles.container} className="bg-background">
53
+ <View style={[styles.container, { backgroundColor: bloomTheme.colors.background }]}>
54
54
  <Header
55
55
  title={t('help.title') || 'Help & Support'}
56
56
 
@@ -184,7 +184,7 @@ const HistoryViewScreen: React.FC<BaseScreenProps> = ({
184
184
  };
185
185
 
186
186
  return (
187
- <View style={styles.container} className="bg-background">
187
+ <View style={[styles.container, { backgroundColor: bloomTheme.colors.background }]}>
188
188
  <Header
189
189
  title={t('history.title') || 'History'}
190
190
  onBack={goBack || onClose}
@@ -117,7 +117,7 @@ const LanguageSelectorScreen: React.FC<LanguageSelectorScreenProps> = ({
117
117
 
118
118
 
119
119
  return (
120
- <View style={styles.container} className="bg-background">
120
+ <View style={[styles.container, { backgroundColor: bloomTheme.colors.background }]}>
121
121
  <Header
122
122
  title=""
123
123
  subtitle=""
@@ -74,7 +74,7 @@ const LearnMoreUsernamesScreen: React.FC<BaseScreenProps> = ({
74
74
  const styles = useMemo(() => createStyles(), []);
75
75
 
76
76
  return (
77
- <View style={styles.container} className="bg-background">
77
+ <View style={[styles.container, { backgroundColor: bloomTheme.colors.background }]}>
78
78
  <ScrollView
79
79
  style={styles.content}
80
80
  showsVerticalScrollIndicator={false}
@@ -95,7 +95,7 @@ const LegalDocumentsScreen: React.FC<BaseScreenProps> = ({
95
95
  // If a specific document type is requested, show loading state while opening
96
96
  if (documentType) {
97
97
  return (
98
- <View style={styles.container} className="bg-background">
98
+ <View style={[styles.container, { backgroundColor: bloomTheme.colors.background }]}>
99
99
  <Header
100
100
  title={getPolicyTitle(documentType)}
101
101
  onBack={goBack || onClose}
@@ -112,7 +112,7 @@ const LegalDocumentsScreen: React.FC<BaseScreenProps> = ({
112
112
 
113
113
  // Default: show both options
114
114
  return (
115
- <View style={styles.container} className="bg-background">
115
+ <View style={[styles.container, { backgroundColor: bloomTheme.colors.background }]}>
116
116
  <Header
117
117
  title={t('legal.title') || 'Legal Documents'}
118
118
  onBack={goBack || onClose}
@@ -63,7 +63,7 @@ const resolveAuthWebBaseUrl = (baseURL: string, authWebUrl?: string): string =>
63
63
  try {
64
64
  const url = new URL(baseURL);
65
65
  if (url.port === '3001') {
66
- url.port = '3000';
66
+ url.port = '3002';
67
67
  return url.origin;
68
68
  }
69
69
  if (url.hostname.startsWith('api.')) {
@@ -119,7 +119,7 @@ const OxyAuthScreen: React.FC<BaseScreenProps> = ({
119
119
  theme,
120
120
  }) => {
121
121
  const bloomTheme = useTheme();
122
- const { oxyServices, signIn, switchSession } = useOxy();
122
+ const { oxyServices, signIn, switchSession, storageKeyPrefix } = useOxy();
123
123
 
124
124
  const [authSession, setAuthSession] = useState<AuthSession | null>(null);
125
125
  const [isLoading, setIsLoading] = useState(true);
@@ -273,7 +273,7 @@ const OxyAuthScreen: React.FC<BaseScreenProps> = ({
273
273
  await oxyServices.makeRequest('POST', '/auth/session/create', {
274
274
  sessionToken,
275
275
  expiresAt,
276
- appId: Platform.OS, // Identifier for requesting app
276
+ appId: storageKeyPrefix ? storageKeyPrefix.charAt(0).toUpperCase() + storageKeyPrefix.slice(1) : Platform.OS,
277
277
  }, { cache: false });
278
278
 
279
279
  setAuthSession({ sessionToken, expiresAt });
@@ -400,7 +400,7 @@ const OxyAuthScreen: React.FC<BaseScreenProps> = ({
400
400
 
401
401
  if (isLoading) {
402
402
  return (
403
- <View style={styles.container} className="bg-background">
403
+ <View style={[styles.container, { backgroundColor: bloomTheme.colors.background }]}>
404
404
  <Loading size="large" />
405
405
  <Text style={styles.loadingText} className="text-muted-foreground">
406
406
  Preparing sign in...
@@ -411,7 +411,7 @@ const OxyAuthScreen: React.FC<BaseScreenProps> = ({
411
411
 
412
412
  if (error) {
413
413
  return (
414
- <View style={styles.container} className="bg-background">
414
+ <View style={[styles.container, { backgroundColor: bloomTheme.colors.background }]}>
415
415
  <Text style={styles.errorText} className="text-destructive">{error}</Text>
416
416
  <Button variant="primary" onPress={handleRefresh} style={{ width: '100%', borderRadius: 12 }}>
417
417
  Try Again
@@ -421,7 +421,7 @@ const OxyAuthScreen: React.FC<BaseScreenProps> = ({
421
421
  }
422
422
 
423
423
  return (
424
- <View style={styles.container} className="bg-background">
424
+ <View style={[styles.container, { backgroundColor: bloomTheme.colors.background }]}>
425
425
  {/* Header */}
426
426
  <View style={styles.header}>
427
427
  <OxyLogo variant="icon" size={48} />
@@ -280,7 +280,7 @@ const PaymentGatewayScreen: React.FC<PaymentGatewayScreenProps> = (props) => {
280
280
  };
281
281
 
282
282
  return (
283
- <View style={styles.container} className="bg-background">
283
+ <View style={[styles.container, { backgroundColor: colors.background }]}>
284
284
  <ScrollView style={styles.content} showsVerticalScrollIndicator={false}>
285
285
  {renderCurrentStep()}
286
286
  </ScrollView>
@@ -264,7 +264,7 @@ const PrivacySettingsScreen: React.FC<BaseScreenProps> = ({
264
264
 
265
265
  if (isLoading) {
266
266
  return (
267
- <View style={styles.container} className="bg-background">
267
+ <View style={[styles.container, { backgroundColor: bloomTheme.colors.background }]}>
268
268
  <Header
269
269
  title={t('privacySettings.title') || 'Privacy Settings'}
270
270
  onBack={goBack || onClose}
@@ -277,7 +277,7 @@ const PrivacySettingsScreen: React.FC<BaseScreenProps> = ({
277
277
  }
278
278
 
279
279
  return (
280
- <View style={styles.container} className="bg-background">
280
+ <View style={[styles.container, { backgroundColor: bloomTheme.colors.background }]}>
281
281
  <Header
282
282
  title={t('privacySettings.title') || 'Privacy Settings'}
283
283
  onBack={goBack || onClose}
@@ -176,7 +176,7 @@ const ProfileScreen: React.FC<ProfileScreenProps> = ({ userId, username, theme,
176
176
 
177
177
  if (isLoading) {
178
178
  return (
179
- <View style={[styles.container, { justifyContent: 'center' }]} className="bg-background">
179
+ <View style={[styles.container, { justifyContent: 'center', backgroundColor: bloomTheme.colors.background }]}>
180
180
  <ActivityIndicator size="large" color={bloomTheme.colors.primary} />
181
181
  </View>
182
182
  );
@@ -184,7 +184,7 @@ const ProfileScreen: React.FC<ProfileScreenProps> = ({ userId, username, theme,
184
184
 
185
185
  if (error) {
186
186
  return (
187
- <View style={styles.container} className="bg-background">
187
+ <View style={[styles.container, { backgroundColor: bloomTheme.colors.background }]}>
188
188
  <View style={styles.errorHeader}>
189
189
  {goBack && (
190
190
  <TouchableOpacity onPress={goBack} style={styles.backButton}>
@@ -205,7 +205,7 @@ const ProfileScreen: React.FC<ProfileScreenProps> = ({ userId, username, theme,
205
205
  }
206
206
 
207
207
  return (
208
- <View style={styles.container} className="bg-background">
208
+ <View style={[styles.container, { backgroundColor: bloomTheme.colors.background }]}>
209
209
  <ScrollView style={{ flex: 1 }} contentContainerStyle={styles.scrollContainer}>
210
210
  {/* Banner Image */}
211
211
  <View style={styles.bannerContainer} className="bg-primary/20">
@@ -93,7 +93,7 @@ const SavesCollectionsScreen: React.FC<BaseScreenProps> = ({
93
93
  };
94
94
 
95
95
  return (
96
- <View style={styles.container} className="bg-background">
96
+ <View style={[styles.container, { backgroundColor: bloomTheme.colors.background }]}>
97
97
  <Header
98
98
  title={t('saves.title') || 'Saves & Collections'}
99
99
  onBack={goBack || onClose}
@@ -78,7 +78,7 @@ const SearchSettingsScreen: React.FC<BaseScreenProps> = ({
78
78
 
79
79
  if (isLoading) {
80
80
  return (
81
- <View style={styles.container} className="bg-background">
81
+ <View style={[styles.container, { backgroundColor: bloomTheme.colors.background }]}>
82
82
  <Header
83
83
  title={t('searchSettings.title') || 'Search Settings'}
84
84
  onBack={goBack || onClose}
@@ -91,7 +91,7 @@ const SearchSettingsScreen: React.FC<BaseScreenProps> = ({
91
91
  }
92
92
 
93
93
  return (
94
- <View style={styles.container} className="bg-background">
94
+ <View style={[styles.container, { backgroundColor: bloomTheme.colors.background }]}>
95
95
  <Header
96
96
  title={t('searchSettings.title') || 'Search Settings'}
97
97
 
@@ -291,7 +291,7 @@ const SessionManagementScreen: React.FC<BaseScreenProps> = ({
291
291
 
292
292
  if (loading) {
293
293
  return (
294
- <View style={[styles.container, styles.centerContent]} className="bg-background">
294
+ <View style={[styles.container, styles.centerContent, { backgroundColor: bloomTheme.colors.background }]}>
295
295
  <ActivityIndicator size="large" color={primaryColor} />
296
296
  <Text style={styles.loadingText} className="text-foreground">{t('sessionManagement.loading')}</Text>
297
297
  </View>
@@ -299,7 +299,7 @@ const SessionManagementScreen: React.FC<BaseScreenProps> = ({
299
299
  }
300
300
 
301
301
  return (
302
- <View style={styles.container} className="bg-background">
302
+ <View style={[styles.container, { backgroundColor: bloomTheme.colors.background }]}>
303
303
  <Header
304
304
  title={t('sessionManagement.title')}
305
305
  subtitle={t('sessionManagement.subtitle')}
@@ -50,7 +50,7 @@ const UserLinksScreen: React.FC<UserLinksScreenProps> = ({
50
50
  }));
51
51
 
52
52
  return (
53
- <View style={styles.container} className="bg-background">
53
+ <View style={[styles.container, { backgroundColor: bloomTheme.colors.background }]}>
54
54
  <Header
55
55
  title={t('userLinks.title')}
56
56
  subtitle={links.length !== 1 ? t('userLinks.linkCount_plural', { count: links.length }) : t('userLinks.linkCount', { count: links.length })}
@@ -208,7 +208,7 @@ const UserListScreen: React.FC<UserListScreenProps> = ({
208
208
 
209
209
  if (isLoading && users.length === 0) {
210
210
  return (
211
- <View style={styles.container} className="bg-background">
211
+ <View style={[styles.container, { backgroundColor: bloomTheme.colors.background }]}>
212
212
  <View style={styles.header} className="border-border">
213
213
  {goBack && (
214
214
  <TouchableOpacity onPress={goBack} style={styles.backButton}>
@@ -227,7 +227,7 @@ const UserListScreen: React.FC<UserListScreenProps> = ({
227
227
 
228
228
  if (error) {
229
229
  return (
230
- <View style={styles.container} className="bg-background">
230
+ <View style={[styles.container, { backgroundColor: bloomTheme.colors.background }]}>
231
231
  <View style={styles.header} className="border-border">
232
232
  {goBack && (
233
233
  <TouchableOpacity onPress={goBack} style={styles.backButton}>
@@ -249,7 +249,7 @@ const UserListScreen: React.FC<UserListScreenProps> = ({
249
249
  }
250
250
 
251
251
  return (
252
- <View style={styles.container} className="bg-background">
252
+ <View style={[styles.container, { backgroundColor: bloomTheme.colors.background }]}>
253
253
  <View style={styles.header} className="border-border">
254
254
  {goBack && (
255
255
  <TouchableOpacity onPress={goBack} style={styles.backButton}>
@@ -13,7 +13,7 @@ const KarmaAboutScreen: React.FC<BaseScreenProps> = ({ goBack, theme }) => {
13
13
  const primaryColor = '#d169e5';
14
14
 
15
15
  return (
16
- <View style={styles.container} className="bg-background">
16
+ <View style={[styles.container, { backgroundColor: bloomTheme.colors.background }]}>
17
17
  <Header
18
18
  title={t('karma.about.title') || 'About Karma'}
19
19
  subtitle={t('karma.about.subtitle') || 'Learn about the karma system'}
@@ -70,7 +70,7 @@ const KarmaCenterScreen: React.FC<BaseScreenProps> = ({
70
70
 
71
71
  if (!isAuthenticated) {
72
72
  return (
73
- <View style={styles.container} className="bg-background">
73
+ <View style={[styles.container, { backgroundColor: bloomTheme.colors.background }]}>
74
74
  <Text style={[styles.message, { color: bloomTheme.colors.text }]}>{t('common.status.notSignedIn') || 'Not signed in'}</Text>
75
75
  </View>
76
76
  );
@@ -78,14 +78,14 @@ const KarmaCenterScreen: React.FC<BaseScreenProps> = ({
78
78
 
79
79
  if (isLoading) {
80
80
  return (
81
- <View style={[styles.container, { justifyContent: 'center' }]} className="bg-background">
81
+ <View style={[styles.container, { justifyContent: 'center', backgroundColor: bloomTheme.colors.background }]}>
82
82
  <ActivityIndicator size="large" color={primaryColor} />
83
83
  </View>
84
84
  );
85
85
  }
86
86
 
87
87
  return (
88
- <View style={styles.container} className="bg-background">
88
+ <View style={[styles.container, { backgroundColor: bloomTheme.colors.background }]}>
89
89
  <ScrollView style={styles.scrollView} contentContainerStyle={styles.scrollContainer}>
90
90
  <View style={styles.walletHeader}>
91
91
  <Text style={[styles.karmaAmount, { color: primaryColor }]}>{karmaTotal ?? 0}</Text>
@@ -54,7 +54,7 @@ const KarmaFAQScreen: React.FC<BaseScreenProps> = ({ goBack, theme }) => {
54
54
  }, []);
55
55
 
56
56
  return (
57
- <View style={styles.container} className="bg-background">
57
+ <View style={[styles.container, { backgroundColor: bloomTheme.colors.background }]}>
58
58
  <Header
59
59
  title={t('karma.faq.title') || 'Karma FAQ'}
60
60
  subtitle={t('karma.faq.subtitle') || 'Frequently asked questions about karma'}
@@ -30,7 +30,7 @@ const KarmaLeaderboardScreen: React.FC<BaseScreenProps> = ({ goBack, theme, navi
30
30
  }, [oxyServices]);
31
31
 
32
32
  return (
33
- <View style={styles.container} className="bg-background">
33
+ <View style={[styles.container, { backgroundColor: bloomTheme.colors.background }]}>
34
34
  <Header
35
35
  title={t('karma.leaderboard.title') || 'Karma Leaderboard'}
36
36
  subtitle={t('karma.leaderboard.subtitle') || 'Top contributors in the community'}
@@ -332,7 +332,7 @@ const KarmaRewardsScreen: React.FC<BaseScreenProps> = ({ goBack, theme }) => {
332
332
 
333
333
  if (!isAuthenticated) {
334
334
  return (
335
- <View style={styles.container} className="bg-background">
335
+ <View style={[styles.container, { backgroundColor: bloomTheme.colors.background }]}>
336
336
  <Header
337
337
  title={t('karma.rewards.title') || 'Karma Rewards'}
338
338
  subtitle={t('karma.rewards.subtitle') || 'Unlock special features and recognition'}
@@ -349,7 +349,7 @@ const KarmaRewardsScreen: React.FC<BaseScreenProps> = ({ goBack, theme }) => {
349
349
  }
350
350
 
351
351
  return (
352
- <View style={styles.container} className="bg-background">
352
+ <View style={[styles.container, { backgroundColor: bloomTheme.colors.background }]}>
353
353
  <Header
354
354
  title={t('karma.rewards.title') || 'Karma Rewards'}
355
355
  subtitle={t('karma.rewards.subtitle') || 'Unlock special features and recognition'}
@@ -29,7 +29,7 @@ const KarmaRulesScreen: React.FC<BaseScreenProps> = ({ goBack, theme }) => {
29
29
  }, [oxyServices]);
30
30
 
31
31
  return (
32
- <View style={styles.container} className="bg-background">
32
+ <View style={[styles.container, { backgroundColor: bloomTheme.colors.background }]}>
33
33
  <Header
34
34
  title={t('karma.rules.title') || 'Karma Rules'}
35
35
  subtitle={t('karma.rules.subtitle') || 'How to earn karma points'}
@@ -1,5 +1,6 @@
1
1
  import type { ReactNode, RefObject } from 'react';
2
2
  import type { QueryClient } from '@tanstack/react-query';
3
+ import type { ThemeMode, AppColorName } from '@oxyhq/bloom';
3
4
  import type { RouteName } from '../navigation/routes';
4
5
  import type { User } from '@oxyhq/core';
5
6
  import type { ClientSession } from '@oxyhq/core';
@@ -56,6 +57,8 @@ export interface OxyProviderProps {
56
57
  authWebUrl?: string;
57
58
  authRedirectUri?: string;
58
59
  queryClient?: QueryClient;
60
+ themeMode?: ThemeMode;
61
+ colorPreset?: AppColorName;
59
62
  }
60
63
 
61
64