@oxyhq/services 10.2.10 → 10.2.11

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 (179) hide show
  1. package/lib/commonjs/ui/components/ActingAsBanner.js +2 -1
  2. package/lib/commonjs/ui/components/ActingAsBanner.js.map +1 -1
  3. package/lib/commonjs/ui/components/StepBasedScreen.js +19 -10
  4. package/lib/commonjs/ui/components/StepBasedScreen.js.map +1 -1
  5. package/lib/commonjs/ui/context/hooks/useAuthOperations.js +38 -122
  6. package/lib/commonjs/ui/context/hooks/useAuthOperations.js.map +1 -1
  7. package/lib/commonjs/ui/hooks/mutations/useAccountMutations.js +9 -7
  8. package/lib/commonjs/ui/hooks/mutations/useAccountMutations.js.map +1 -1
  9. package/lib/commonjs/ui/hooks/useDeviceAccounts.js +20 -25
  10. package/lib/commonjs/ui/hooks/useDeviceAccounts.js.map +1 -1
  11. package/lib/commonjs/ui/hooks/useProfileEditing.js +19 -10
  12. package/lib/commonjs/ui/hooks/useProfileEditing.js.map +1 -1
  13. package/lib/commonjs/ui/screens/AppInfoScreen.js +1 -2
  14. package/lib/commonjs/ui/screens/AppInfoScreen.js.map +1 -1
  15. package/lib/commonjs/ui/screens/ConnectedAppsScreen.js +1 -2
  16. package/lib/commonjs/ui/screens/ConnectedAppsScreen.js.map +1 -1
  17. package/lib/commonjs/ui/screens/EditProfileFieldScreen.js +11 -13
  18. package/lib/commonjs/ui/screens/EditProfileFieldScreen.js.map +1 -1
  19. package/lib/commonjs/ui/screens/FeedbackScreen.js +2 -3
  20. package/lib/commonjs/ui/screens/FeedbackScreen.js.map +1 -1
  21. package/lib/commonjs/ui/screens/HelpSupportScreen.js +2 -2
  22. package/lib/commonjs/ui/screens/HelpSupportScreen.js.map +1 -1
  23. package/lib/commonjs/ui/screens/HistoryViewScreen.js +2 -2
  24. package/lib/commonjs/ui/screens/HistoryViewScreen.js.map +1 -1
  25. package/lib/commonjs/ui/screens/LanguageSelectorScreen.js +2 -3
  26. package/lib/commonjs/ui/screens/LanguageSelectorScreen.js.map +1 -1
  27. package/lib/commonjs/ui/screens/LegalDocumentsScreen.js +2 -2
  28. package/lib/commonjs/ui/screens/LegalDocumentsScreen.js.map +1 -1
  29. package/lib/commonjs/ui/screens/ManageAccountScreen.js +1 -2
  30. package/lib/commonjs/ui/screens/ManageAccountScreen.js.map +1 -1
  31. package/lib/commonjs/ui/screens/NotificationsScreen.js +2 -2
  32. package/lib/commonjs/ui/screens/NotificationsScreen.js.map +1 -1
  33. package/lib/commonjs/ui/screens/PaymentGatewayScreen.js +2 -2
  34. package/lib/commonjs/ui/screens/PaymentGatewayScreen.js.map +1 -1
  35. package/lib/commonjs/ui/screens/PreferencesScreen.js +2 -2
  36. package/lib/commonjs/ui/screens/PreferencesScreen.js.map +1 -1
  37. package/lib/commonjs/ui/screens/ProfileScreen.js +4 -3
  38. package/lib/commonjs/ui/screens/ProfileScreen.js.map +1 -1
  39. package/lib/commonjs/ui/screens/SavesCollectionsScreen.js +3 -4
  40. package/lib/commonjs/ui/screens/SavesCollectionsScreen.js.map +1 -1
  41. package/lib/commonjs/ui/screens/trust/TrustCenterScreen.js +2 -2
  42. package/lib/commonjs/ui/screens/trust/TrustCenterScreen.js.map +1 -1
  43. package/lib/commonjs/ui/screens/trust/TrustFAQScreen.js +2 -2
  44. package/lib/commonjs/ui/screens/trust/TrustFAQScreen.js.map +1 -1
  45. package/lib/commonjs/ui/screens/trust/TrustRewardsScreen.js +2 -2
  46. package/lib/commonjs/ui/screens/trust/TrustRewardsScreen.js.map +1 -1
  47. package/lib/commonjs/ui/stores/authStore.js.map +1 -1
  48. package/lib/commonjs/ui/utils/avatarUtils.js +1 -1
  49. package/lib/commonjs/ui/utils/avatarUtils.js.map +1 -1
  50. package/lib/module/ui/components/ActingAsBanner.js +2 -1
  51. package/lib/module/ui/components/ActingAsBanner.js.map +1 -1
  52. package/lib/module/ui/components/StepBasedScreen.js +19 -10
  53. package/lib/module/ui/components/StepBasedScreen.js.map +1 -1
  54. package/lib/module/ui/context/hooks/useAuthOperations.js +38 -122
  55. package/lib/module/ui/context/hooks/useAuthOperations.js.map +1 -1
  56. package/lib/module/ui/hooks/mutations/useAccountMutations.js +9 -7
  57. package/lib/module/ui/hooks/mutations/useAccountMutations.js.map +1 -1
  58. package/lib/module/ui/hooks/useDeviceAccounts.js +20 -25
  59. package/lib/module/ui/hooks/useDeviceAccounts.js.map +1 -1
  60. package/lib/module/ui/hooks/useProfileEditing.js +19 -10
  61. package/lib/module/ui/hooks/useProfileEditing.js.map +1 -1
  62. package/lib/module/ui/screens/AppInfoScreen.js +1 -1
  63. package/lib/module/ui/screens/AppInfoScreen.js.map +1 -1
  64. package/lib/module/ui/screens/ConnectedAppsScreen.js +1 -1
  65. package/lib/module/ui/screens/ConnectedAppsScreen.js.map +1 -1
  66. package/lib/module/ui/screens/EditProfileFieldScreen.js +10 -11
  67. package/lib/module/ui/screens/EditProfileFieldScreen.js.map +1 -1
  68. package/lib/module/ui/screens/FeedbackScreen.js +1 -1
  69. package/lib/module/ui/screens/FeedbackScreen.js.map +1 -1
  70. package/lib/module/ui/screens/HelpSupportScreen.js +1 -1
  71. package/lib/module/ui/screens/HelpSupportScreen.js.map +1 -1
  72. package/lib/module/ui/screens/HistoryViewScreen.js +1 -1
  73. package/lib/module/ui/screens/HistoryViewScreen.js.map +1 -1
  74. package/lib/module/ui/screens/LanguageSelectorScreen.js +1 -1
  75. package/lib/module/ui/screens/LanguageSelectorScreen.js.map +1 -1
  76. package/lib/module/ui/screens/LegalDocumentsScreen.js +1 -1
  77. package/lib/module/ui/screens/LegalDocumentsScreen.js.map +1 -1
  78. package/lib/module/ui/screens/ManageAccountScreen.js +1 -1
  79. package/lib/module/ui/screens/ManageAccountScreen.js.map +1 -1
  80. package/lib/module/ui/screens/NotificationsScreen.js +1 -1
  81. package/lib/module/ui/screens/NotificationsScreen.js.map +1 -1
  82. package/lib/module/ui/screens/PaymentGatewayScreen.js +1 -1
  83. package/lib/module/ui/screens/PaymentGatewayScreen.js.map +1 -1
  84. package/lib/module/ui/screens/PreferencesScreen.js +1 -1
  85. package/lib/module/ui/screens/PreferencesScreen.js.map +1 -1
  86. package/lib/module/ui/screens/ProfileScreen.js +5 -4
  87. package/lib/module/ui/screens/ProfileScreen.js.map +1 -1
  88. package/lib/module/ui/screens/SavesCollectionsScreen.js +2 -3
  89. package/lib/module/ui/screens/SavesCollectionsScreen.js.map +1 -1
  90. package/lib/module/ui/screens/trust/TrustCenterScreen.js +1 -1
  91. package/lib/module/ui/screens/trust/TrustCenterScreen.js.map +1 -1
  92. package/lib/module/ui/screens/trust/TrustFAQScreen.js +1 -1
  93. package/lib/module/ui/screens/trust/TrustFAQScreen.js.map +1 -1
  94. package/lib/module/ui/screens/trust/TrustRewardsScreen.js +1 -1
  95. package/lib/module/ui/screens/trust/TrustRewardsScreen.js.map +1 -1
  96. package/lib/module/ui/stores/authStore.js.map +1 -1
  97. package/lib/module/ui/utils/avatarUtils.js +1 -1
  98. package/lib/module/ui/utils/avatarUtils.js.map +1 -1
  99. package/lib/typescript/commonjs/ui/components/ActingAsBanner.d.ts.map +1 -1
  100. package/lib/typescript/commonjs/ui/components/StepBasedScreen.d.ts +5 -3
  101. package/lib/typescript/commonjs/ui/components/StepBasedScreen.d.ts.map +1 -1
  102. package/lib/typescript/commonjs/ui/context/hooks/useAuthOperations.d.ts +1 -1
  103. package/lib/typescript/commonjs/ui/context/hooks/useAuthOperations.d.ts.map +1 -1
  104. package/lib/typescript/commonjs/ui/hooks/mutations/useAccountMutations.d.ts +52 -6
  105. package/lib/typescript/commonjs/ui/hooks/mutations/useAccountMutations.d.ts.map +1 -1
  106. package/lib/typescript/commonjs/ui/hooks/useDeviceAccounts.d.ts.map +1 -1
  107. package/lib/typescript/commonjs/ui/hooks/useProfileEditing.d.ts +22 -18
  108. package/lib/typescript/commonjs/ui/hooks/useProfileEditing.d.ts.map +1 -1
  109. package/lib/typescript/commonjs/ui/screens/EditProfileFieldScreen.d.ts.map +1 -1
  110. package/lib/typescript/commonjs/ui/screens/SavesCollectionsScreen.d.ts.map +1 -1
  111. package/lib/typescript/commonjs/ui/stores/authStore.d.ts +2 -10
  112. package/lib/typescript/commonjs/ui/stores/authStore.d.ts.map +1 -1
  113. package/lib/typescript/commonjs/ui/types/navigation.d.ts +0 -1
  114. package/lib/typescript/commonjs/ui/types/navigation.d.ts.map +1 -1
  115. package/lib/typescript/commonjs/ui/utils/avatarUtils.d.ts +2 -1
  116. package/lib/typescript/commonjs/ui/utils/avatarUtils.d.ts.map +1 -1
  117. package/lib/typescript/module/ui/components/ActingAsBanner.d.ts.map +1 -1
  118. package/lib/typescript/module/ui/components/StepBasedScreen.d.ts +5 -3
  119. package/lib/typescript/module/ui/components/StepBasedScreen.d.ts.map +1 -1
  120. package/lib/typescript/module/ui/context/hooks/useAuthOperations.d.ts +1 -1
  121. package/lib/typescript/module/ui/context/hooks/useAuthOperations.d.ts.map +1 -1
  122. package/lib/typescript/module/ui/hooks/mutations/useAccountMutations.d.ts +52 -6
  123. package/lib/typescript/module/ui/hooks/mutations/useAccountMutations.d.ts.map +1 -1
  124. package/lib/typescript/module/ui/hooks/useDeviceAccounts.d.ts.map +1 -1
  125. package/lib/typescript/module/ui/hooks/useProfileEditing.d.ts +22 -18
  126. package/lib/typescript/module/ui/hooks/useProfileEditing.d.ts.map +1 -1
  127. package/lib/typescript/module/ui/screens/EditProfileFieldScreen.d.ts.map +1 -1
  128. package/lib/typescript/module/ui/screens/SavesCollectionsScreen.d.ts.map +1 -1
  129. package/lib/typescript/module/ui/stores/authStore.d.ts +2 -10
  130. package/lib/typescript/module/ui/stores/authStore.d.ts.map +1 -1
  131. package/lib/typescript/module/ui/types/navigation.d.ts +0 -1
  132. package/lib/typescript/module/ui/types/navigation.d.ts.map +1 -1
  133. package/lib/typescript/module/ui/utils/avatarUtils.d.ts +2 -1
  134. package/lib/typescript/module/ui/utils/avatarUtils.d.ts.map +1 -1
  135. package/package.json +3 -2
  136. package/src/ui/components/ActingAsBanner.tsx +2 -4
  137. package/src/ui/components/StepBasedScreen.tsx +37 -22
  138. package/src/ui/context/hooks/useAuthOperations.ts +51 -144
  139. package/src/ui/hooks/mutations/useAccountMutations.ts +9 -8
  140. package/src/ui/hooks/useDeviceAccounts.ts +20 -24
  141. package/src/ui/hooks/useProfileEditing.ts +43 -30
  142. package/src/ui/screens/AppInfoScreen.tsx +1 -1
  143. package/src/ui/screens/ConnectedAppsScreen.tsx +1 -1
  144. package/src/ui/screens/EditProfileFieldScreen.tsx +24 -14
  145. package/src/ui/screens/FeedbackScreen.tsx +1 -1
  146. package/src/ui/screens/HelpSupportScreen.tsx +1 -1
  147. package/src/ui/screens/HistoryViewScreen.tsx +1 -1
  148. package/src/ui/screens/LanguageSelectorScreen.tsx +1 -1
  149. package/src/ui/screens/LegalDocumentsScreen.tsx +1 -1
  150. package/src/ui/screens/ManageAccountScreen.tsx +1 -1
  151. package/src/ui/screens/NotificationsScreen.tsx +1 -1
  152. package/src/ui/screens/PaymentGatewayScreen.tsx +1 -1
  153. package/src/ui/screens/PreferencesScreen.tsx +1 -1
  154. package/src/ui/screens/ProfileScreen.tsx +4 -4
  155. package/src/ui/screens/SavesCollectionsScreen.tsx +3 -6
  156. package/src/ui/screens/trust/TrustCenterScreen.tsx +1 -1
  157. package/src/ui/screens/trust/TrustFAQScreen.tsx +1 -1
  158. package/src/ui/screens/trust/TrustRewardsScreen.tsx +1 -1
  159. package/src/ui/stores/authStore.ts +4 -13
  160. package/src/ui/types/navigation.ts +0 -4
  161. package/src/ui/utils/avatarUtils.ts +3 -2
  162. package/lib/commonjs/ui/styles/spacing.js +0 -68
  163. package/lib/commonjs/ui/styles/spacing.js.map +0 -1
  164. package/lib/commonjs/ui/utils/themeUtils.js +0 -37
  165. package/lib/commonjs/ui/utils/themeUtils.js.map +0 -1
  166. package/lib/module/ui/styles/spacing.js +0 -16
  167. package/lib/module/ui/styles/spacing.js.map +0 -1
  168. package/lib/module/ui/utils/themeUtils.js +0 -13
  169. package/lib/module/ui/utils/themeUtils.js.map +0 -1
  170. package/lib/typescript/commonjs/ui/styles/spacing.d.ts +0 -13
  171. package/lib/typescript/commonjs/ui/styles/spacing.d.ts.map +0 -1
  172. package/lib/typescript/commonjs/ui/utils/themeUtils.d.ts +0 -11
  173. package/lib/typescript/commonjs/ui/utils/themeUtils.d.ts.map +0 -1
  174. package/lib/typescript/module/ui/styles/spacing.d.ts +0 -13
  175. package/lib/typescript/module/ui/styles/spacing.d.ts.map +0 -1
  176. package/lib/typescript/module/ui/utils/themeUtils.d.ts +0 -11
  177. package/lib/typescript/module/ui/utils/themeUtils.d.ts.map +0 -1
  178. package/src/ui/styles/spacing.ts +0 -22
  179. package/src/ui/utils/themeUtils.ts +0 -18
@@ -11,7 +11,7 @@ import { useI18n } from '../hooks/useI18n';
11
11
  import { useTheme } from '@oxyhq/bloom/theme';
12
12
  import { useColorScheme } from '../hooks/useColorScheme';
13
13
  import { Colors } from '../constants/theme';
14
- import { normalizeColorScheme } from '../utils/themeUtils';
14
+ import { normalizeColorScheme } from '@oxyhq/core';
15
15
  import { useOxy } from '../context/OxyContext';
16
16
  import { Dialog, useDialogControl } from '@oxyhq/bloom';
17
17
 
@@ -9,7 +9,7 @@ import {
9
9
  } from 'react-native';
10
10
  import type { BaseScreenProps } from '../types/navigation';
11
11
  import { useTheme } from '@oxyhq/bloom/theme';
12
- import { normalizeTheme } from '../utils/themeUtils';
12
+ import { normalizeTheme } from '@oxyhq/core';
13
13
  import { Ionicons } from '@expo/vector-icons';
14
14
  import { toast } from '@oxyhq/bloom';
15
15
  import Header from '../components/Header';
@@ -15,7 +15,7 @@ import { useI18n } from '../hooks/useI18n';
15
15
  import { useTheme } from '@oxyhq/bloom/theme';
16
16
  import { useColorScheme } from '../hooks/useColorScheme';
17
17
  import { Colors } from '../constants/theme';
18
- import { normalizeColorScheme } from '../utils/themeUtils';
18
+ import { normalizeColorScheme } from '@oxyhq/core';
19
19
 
20
20
  const LegalDocumentsScreen: React.FC<BaseScreenProps> = ({
21
21
  onClose,
@@ -32,7 +32,7 @@ import { useUserSubscription } from '../hooks/queries/usePaymentQueries';
32
32
  import { useDeviceSessions } from '../hooks/queries/useServicesQueries';
33
33
  import { useColorScheme } from '../hooks/useColorScheme';
34
34
  import { Colors } from '../constants/theme';
35
- import { normalizeColorScheme, normalizeTheme } from '../utils/themeUtils';
35
+ import { normalizeColorScheme, normalizeTheme } from '@oxyhq/core';
36
36
  import { screenContentStyle } from '../constants/spacing';
37
37
 
38
38
  interface DeviceSessionRow {
@@ -14,7 +14,7 @@ import { useUpdateNotificationPreferences } from '../hooks/mutations/useAccountM
14
14
  import { useSettingToggles } from '../hooks/useSettingToggle';
15
15
  import { useColorScheme } from '../hooks/useColorScheme';
16
16
  import { Colors } from '../constants/theme';
17
- import { normalizeColorScheme, normalizeTheme } from '../utils/themeUtils';
17
+ import { normalizeColorScheme, normalizeTheme } from '@oxyhq/core';
18
18
 
19
19
  interface NotificationToggleValues {
20
20
  pushEnabled: boolean;
@@ -10,7 +10,7 @@ import {
10
10
  } from 'react-native';
11
11
  import type { BaseScreenProps } from '../types/navigation';
12
12
  import { useThemeColors } from '../styles/theme';
13
- import { normalizeTheme } from '../utils/themeUtils';
13
+ import { normalizeTheme } from '@oxyhq/core';
14
14
  import { Button } from '@oxyhq/bloom/button';
15
15
  import { Ionicons } from '@expo/vector-icons';
16
16
  import { useI18n } from '../hooks/useI18n';
@@ -13,7 +13,7 @@ import { useCurrentUser } from '../hooks/queries/useAccountQueries';
13
13
  import { useUpdateUserPreferences } from '../hooks/mutations/useAccountMutations';
14
14
  import { useColorScheme } from '../hooks/useColorScheme';
15
15
  import { Colors } from '../constants/theme';
16
- import { normalizeColorScheme, normalizeTheme } from '../utils/themeUtils';
16
+ import { normalizeColorScheme, normalizeTheme } from '@oxyhq/core';
17
17
 
18
18
  type ThemePreference = 'light' | 'dark' | 'system';
19
19
 
@@ -9,7 +9,7 @@ import { useFollow } from '../hooks/useFollow';
9
9
  import { Ionicons } from '@expo/vector-icons';
10
10
  import { useI18n } from '../hooks/useI18n';
11
11
  import { useOxy } from '../context/OxyContext';
12
- import { logger } from '@oxyhq/core';
12
+ import { getAccountDisplayName, logger } from '@oxyhq/core';
13
13
  import type { User } from '@oxyhq/core';
14
14
  import { extractErrorMessage } from '../utils/errorHandlers';
15
15
 
@@ -54,7 +54,7 @@ const ProfileScreen: React.FC<ProfileScreenProps> = ({ userId, username, theme,
54
54
 
55
55
  const bloomTheme = useTheme();
56
56
  const styles = createStyles();
57
- const { t } = useI18n();
57
+ const { t, locale } = useI18n();
58
58
 
59
59
  // Check if current user is viewing their own profile
60
60
  // Normalize IDs by trimming whitespace to handle format mismatches
@@ -214,7 +214,7 @@ const ProfileScreen: React.FC<ProfileScreenProps> = ({ userId, username, theme,
214
214
  <View style={styles.avatarWrapper} className="border-background bg-background">
215
215
  <Avatar
216
216
  uri={profile?.avatar ? oxyServices.getFileDownloadUrl(profile.avatar, 'thumb') : undefined}
217
- name={profile?.username || username}
217
+ name={profile ? getAccountDisplayName(profile, locale) : username}
218
218
  size={96}
219
219
 
220
220
  />
@@ -246,7 +246,7 @@ const ProfileScreen: React.FC<ProfileScreenProps> = ({ userId, username, theme,
246
246
  {/* Profile Info */}
247
247
  <View style={styles.header}>
248
248
  <Text style={styles.displayName} className="text-foreground">
249
- {(profile && 'displayName' in profile && typeof profile.displayName === 'string' ? profile.displayName : null) || profile?.username || username || profile?.id || ''}
249
+ {profile ? getAccountDisplayName(profile, locale) : username || ''}
250
250
  </Text>
251
251
  {profile?.username && (
252
252
  <Text style={styles.subText} className="text-muted-foreground">@{profile.username}</Text>
@@ -17,7 +17,7 @@ import { useI18n } from '../hooks/useI18n';
17
17
  import { useTheme } from '@oxyhq/bloom/theme';
18
18
  import { useColorScheme } from '../hooks/useColorScheme';
19
19
  import { Colors } from '../constants/theme';
20
- import { normalizeColorScheme } from '../utils/themeUtils';
20
+ import { normalizeColorScheme } from '@oxyhq/core';
21
21
  import { useOxy } from '../context/OxyContext';
22
22
 
23
23
  interface SavedItem {
@@ -25,7 +25,6 @@ interface SavedItem {
25
25
  title: string;
26
26
  type: 'post' | 'collection';
27
27
  savedAt: Date;
28
- url?: string;
29
28
  }
30
29
 
31
30
  interface Collection {
@@ -67,14 +66,13 @@ const SavesCollectionsScreen: React.FC<BaseScreenProps> = ({
67
66
  oxyServices.getSavedItems(user.id),
68
67
  oxyServices.getCollections(user.id),
69
68
  ]);
70
- setSavedItems(saved.map((item: any) => ({
69
+ setSavedItems(saved.map((item) => ({
71
70
  id: item.id,
72
71
  title: item.title,
73
72
  type: item.itemType === 'post' ? 'post' : 'collection',
74
73
  savedAt: new Date(item.createdAt),
75
- url: item.url,
76
74
  })));
77
- setCollections(cols.map((col: any) => ({
75
+ setCollections(cols.map((col) => ({
78
76
  id: col.id,
79
77
  name: col.name,
80
78
  description: col.description,
@@ -220,4 +218,3 @@ const styles = StyleSheet.create({
220
218
  });
221
219
 
222
220
  export default React.memo(SavesCollectionsScreen);
223
-
@@ -16,7 +16,7 @@ import { useI18n } from '../../hooks/useI18n';
16
16
  import { useTheme } from '@oxyhq/bloom/theme';
17
17
  import { useColorScheme } from '../../hooks/useColorScheme';
18
18
  import { Colors } from '../../constants/theme';
19
- import { normalizeColorScheme } from '../../utils/themeUtils';
19
+ import { normalizeColorScheme } from '@oxyhq/core';
20
20
  import { darkenColor } from '../../utils/colorUtils';
21
21
  import { useOxy } from '../../context/OxyContext';
22
22
  import { getTrustTierLabel } from './trustTier';
@@ -6,7 +6,7 @@ import Header from '../../components/Header';
6
6
  import { SettingsListItem } from '@oxyhq/bloom/settings-list';
7
7
  import { useI18n } from '../../hooks/useI18n';
8
8
  import { useTheme } from '@oxyhq/bloom/theme';
9
- import { normalizeColorScheme } from '../../utils/themeUtils';
9
+ import { normalizeColorScheme } from '@oxyhq/core';
10
10
  import { useColorScheme } from '../../hooks/useColorScheme';
11
11
  import { Colors } from '../../constants/theme';
12
12
 
@@ -6,7 +6,7 @@ import Header from '../../components/Header';
6
6
  import { Ionicons } from '@expo/vector-icons';
7
7
  import { useI18n } from '../../hooks/useI18n';
8
8
  import { useTheme } from '@oxyhq/bloom/theme';
9
- import { normalizeColorScheme } from '../../utils/themeUtils';
9
+ import { normalizeColorScheme } from '@oxyhq/core';
10
10
  import { useColorScheme } from '../../hooks/useColorScheme';
11
11
  import { Colors } from '../../constants/theme';
12
12
  import { useOxy } from '../../context/OxyContext';
@@ -4,15 +4,6 @@ import type { User } from '@oxyhq/core';
4
4
 
5
5
  const debug = createDebugLogger('AuthStore');
6
6
 
7
- type LegacyUserIdentity = Partial<Omit<User, 'id' | 'publicKey' | 'username'>> & {
8
- id?: string;
9
- _id: string;
10
- publicKey: string;
11
- username: string;
12
- };
13
-
14
- type AuthStoreUserInput = User | LegacyUserIdentity;
15
-
16
7
  export interface AuthState {
17
8
  user: User | null;
18
9
  isAuthenticated: boolean;
@@ -20,11 +11,11 @@ export interface AuthState {
20
11
  error: string | null;
21
12
  lastUserFetch: number | null; // Timestamp of last user fetch for caching
22
13
 
23
- loginSuccess: (user: AuthStoreUserInput) => void;
14
+ loginSuccess: (user: User) => void;
24
15
  loginFailure: (error: string) => void;
25
16
  logout: () => void;
26
17
  fetchUser: (oxyServices: { getCurrentUser: () => Promise<User> }, forceRefresh?: boolean) => Promise<void>;
27
- setUser: (user: AuthStoreUserInput) => void; // Direct user setter for caching
18
+ setUser: (user: User) => void; // Direct user setter for caching
28
19
  }
29
20
 
30
21
  export const useAuthStore = create<AuthState>((set: (state: Partial<AuthState>) => void, get: () => AuthState) => ({
@@ -34,7 +25,7 @@ export const useAuthStore = create<AuthState>((set: (state: Partial<AuthState>)
34
25
  error: null,
35
26
  lastUserFetch: null,
36
27
 
37
- loginSuccess: (user: AuthStoreUserInput) => set({
28
+ loginSuccess: (user: User) => set({
38
29
  isLoading: false,
39
30
  isAuthenticated: true,
40
31
  user: normalizeUserIdentity(user),
@@ -46,7 +37,7 @@ export const useAuthStore = create<AuthState>((set: (state: Partial<AuthState>)
46
37
  isAuthenticated: false,
47
38
  lastUserFetch: null,
48
39
  }),
49
- setUser: (user: AuthStoreUserInput) => set({ user: normalizeUserIdentity(user), lastUserFetch: Date.now() }),
40
+ setUser: (user: User) => set({ user: normalizeUserIdentity(user), lastUserFetch: Date.now() }),
50
41
  fetchUser: async (oxyServices, forceRefresh = false) => {
51
42
  const state = get();
52
43
  const now = Date.now();
@@ -4,9 +4,6 @@ import type { RouteName } from '../navigation/routes';
4
4
  import type { User } from '@oxyhq/core';
5
5
  import type { ClientSession } from '@oxyhq/core';
6
6
 
7
- // Re-export RouteName from routes for convenience
8
- export type { RouteName };
9
-
10
7
  export interface StepController {
11
8
  canGoBack: () => boolean;
12
9
  goBack: () => void;
@@ -67,4 +64,3 @@ export interface OxyProviderProps {
67
64
  authRedirectUri?: string;
68
65
  queryClient?: QueryClient;
69
66
  }
70
-
@@ -1,5 +1,6 @@
1
1
  import { authenticatedApiCall } from '@oxyhq/core';
2
2
  import type { OxyServices, User } from '@oxyhq/core';
3
+ import type { UserProfileUpdate } from '@oxyhq/contracts';
3
4
  import { useAccountStore } from '../stores/accountStore';
4
5
  import { useAuthStore } from '../stores/authStore';
5
6
  import type { QueryClient } from '@tanstack/react-query';
@@ -37,7 +38,7 @@ export function refreshAvatarInStore(
37
38
  * @returns Promise that resolves with updated user data
38
39
  */
39
40
  export async function updateProfileWithAvatar(
40
- updates: Partial<User>,
41
+ updates: UserProfileUpdate,
41
42
  oxyServices: OxyServices,
42
43
  activeSessionId: string | null,
43
44
  queryClient: QueryClient,
@@ -60,7 +61,7 @@ export async function updateProfileWithAvatar(
60
61
  useAuthStore.getState().setUser(data);
61
62
 
62
63
  // If avatar was updated, refresh accountStore with cache-busted URL
63
- if (updates.avatar && activeSessionId) {
64
+ if (typeof updates.avatar === 'string' && activeSessionId) {
64
65
  refreshAvatarInStore(activeSessionId, updates.avatar, oxyServices);
65
66
  }
66
67
 
@@ -1,68 +0,0 @@
1
- "use strict";
2
-
3
- Object.defineProperty(exports, "__esModule", {
4
- value: true
5
- });
6
- Object.defineProperty(exports, "COMPONENT_GAP", {
7
- enumerable: true,
8
- get: function () {
9
- return _spacing.COMPONENT_GAP;
10
- }
11
- });
12
- Object.defineProperty(exports, "COMPONENT_GAP_SMALL", {
13
- enumerable: true,
14
- get: function () {
15
- return _spacing.COMPONENT_GAP_SMALL;
16
- }
17
- });
18
- Object.defineProperty(exports, "HEADER_PADDING_TOP_OVERVIEW", {
19
- enumerable: true,
20
- get: function () {
21
- return _spacing.HEADER_PADDING_TOP_OVERVIEW;
22
- }
23
- });
24
- Object.defineProperty(exports, "HEADER_PADDING_TOP_SETTINGS", {
25
- enumerable: true,
26
- get: function () {
27
- return _spacing.HEADER_PADDING_TOP_SETTINGS;
28
- }
29
- });
30
- Object.defineProperty(exports, "SCREEN_PADDING_HORIZONTAL", {
31
- enumerable: true,
32
- get: function () {
33
- return _spacing.SCREEN_PADDING_HORIZONTAL;
34
- }
35
- });
36
- Object.defineProperty(exports, "SCREEN_PADDING_VERTICAL", {
37
- enumerable: true,
38
- get: function () {
39
- return _spacing.SCREEN_PADDING_VERTICAL;
40
- }
41
- });
42
- Object.defineProperty(exports, "SECTION_GAP", {
43
- enumerable: true,
44
- get: function () {
45
- return _spacing.SECTION_GAP;
46
- }
47
- });
48
- Object.defineProperty(exports, "SECTION_GAP_LARGE", {
49
- enumerable: true,
50
- get: function () {
51
- return _spacing.SECTION_GAP_LARGE;
52
- }
53
- });
54
- exports.STEP_INNER_GAP = exports.STEP_GAP = void 0;
55
- var _spacing = require("../constants/spacing.js");
56
- /**
57
- * Shared spacing constants for authentication screens
58
- * These values ensure consistent vertical spacing across all step components
59
- * All gaps between elements (illustration, title, description, textfield, buttons, etc.) use this value
60
- */
61
- const STEP_GAP = exports.STEP_GAP = 12; // Vertical gap between ALL elements (illustration, title, description, textfield, buttons, etc.) - must be consistent everywhere
62
- const STEP_INNER_GAP = exports.STEP_INNER_GAP = 12; // Gap within sections (headers, cards, etc.) - must match STEP_GAP for uniformity
63
-
64
- /**
65
- * Re-export screen spacing constants from constants/spacing.ts
66
- * This allows importing all spacing constants from a single location
67
- */
68
- //# sourceMappingURL=spacing.js.map
@@ -1 +0,0 @@
1
- {"version":3,"names":["_spacing","require","STEP_GAP","exports","STEP_INNER_GAP"],"sourceRoot":"../../../../src","sources":["ui/styles/spacing.ts"],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAYA,IAAAA,QAAA,GAAAC,OAAA;AAZA;AACA;AACA;AACA;AACA;AACO,MAAMC,QAAQ,GAAAC,OAAA,CAAAD,QAAA,GAAG,EAAE,CAAC,CAAC;AACrB,MAAME,cAAc,GAAAD,OAAA,CAAAC,cAAA,GAAG,EAAE,CAAC,CAAC;;AAElC;AACA;AACA;AACA","ignoreList":[]}
@@ -1,37 +0,0 @@
1
- "use strict";
2
-
3
- Object.defineProperty(exports, "__esModule", {
4
- value: true
5
- });
6
- Object.defineProperty(exports, "getOppositeTheme", {
7
- enumerable: true,
8
- get: function () {
9
- return _core.getOppositeTheme;
10
- }
11
- });
12
- Object.defineProperty(exports, "getSystemColorScheme", {
13
- enumerable: true,
14
- get: function () {
15
- return _core.getSystemColorScheme;
16
- }
17
- });
18
- Object.defineProperty(exports, "normalizeColorScheme", {
19
- enumerable: true,
20
- get: function () {
21
- return _core.normalizeColorScheme;
22
- }
23
- });
24
- Object.defineProperty(exports, "normalizeTheme", {
25
- enumerable: true,
26
- get: function () {
27
- return _core.normalizeTheme;
28
- }
29
- });
30
- Object.defineProperty(exports, "systemPrefersDarkMode", {
31
- enumerable: true,
32
- get: function () {
33
- return _core.systemPrefersDarkMode;
34
- }
35
- });
36
- var _core = require("@oxyhq/core");
37
- //# sourceMappingURL=themeUtils.js.map
@@ -1 +0,0 @@
1
- {"version":3,"names":["_core","require"],"sourceRoot":"../../../../src","sources":["ui/utils/themeUtils.ts"],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AASA,IAAAA,KAAA,GAAAC,OAAA","ignoreList":[]}
@@ -1,16 +0,0 @@
1
- "use strict";
2
-
3
- /**
4
- * Shared spacing constants for authentication screens
5
- * These values ensure consistent vertical spacing across all step components
6
- * All gaps between elements (illustration, title, description, textfield, buttons, etc.) use this value
7
- */
8
- export const STEP_GAP = 12; // Vertical gap between ALL elements (illustration, title, description, textfield, buttons, etc.) - must be consistent everywhere
9
- export const STEP_INNER_GAP = 12; // Gap within sections (headers, cards, etc.) - must match STEP_GAP for uniformity
10
-
11
- /**
12
- * Re-export screen spacing constants from constants/spacing.ts
13
- * This allows importing all spacing constants from a single location
14
- */
15
- export { SCREEN_PADDING_HORIZONTAL, SCREEN_PADDING_VERTICAL, SECTION_GAP, SECTION_GAP_LARGE, COMPONENT_GAP, COMPONENT_GAP_SMALL, HEADER_PADDING_TOP_OVERVIEW, HEADER_PADDING_TOP_SETTINGS } from "../constants/spacing.js";
16
- //# sourceMappingURL=spacing.js.map
@@ -1 +0,0 @@
1
- {"version":3,"names":["STEP_GAP","STEP_INNER_GAP","SCREEN_PADDING_HORIZONTAL","SCREEN_PADDING_VERTICAL","SECTION_GAP","SECTION_GAP_LARGE","COMPONENT_GAP","COMPONENT_GAP_SMALL","HEADER_PADDING_TOP_OVERVIEW","HEADER_PADDING_TOP_SETTINGS"],"sourceRoot":"../../../../src","sources":["ui/styles/spacing.ts"],"mappings":";;AAAA;AACA;AACA;AACA;AACA;AACA,OAAO,MAAMA,QAAQ,GAAG,EAAE,CAAC,CAAC;AAC5B,OAAO,MAAMC,cAAc,GAAG,EAAE,CAAC,CAAC;;AAElC;AACA;AACA;AACA;AACA,SACIC,yBAAyB,EACzBC,uBAAuB,EACvBC,WAAW,EACXC,iBAAiB,EACjBC,aAAa,EACbC,mBAAmB,EACnBC,2BAA2B,EAC3BC,2BAA2B,QACxB,yBAAsB","ignoreList":[]}
@@ -1,13 +0,0 @@
1
- "use strict";
2
-
3
- /**
4
- * Theme Utility Functions
5
- *
6
- * Re-exports from shared module for cleaner internal imports.
7
- * External consumers should use '@oxyhq/services/shared' directly.
8
- *
9
- * @module ui/utils/themeUtils
10
- */
11
-
12
- export { normalizeTheme, normalizeColorScheme, getOppositeTheme, systemPrefersDarkMode, getSystemColorScheme } from '@oxyhq/core';
13
- //# sourceMappingURL=themeUtils.js.map
@@ -1 +0,0 @@
1
- {"version":3,"names":["normalizeTheme","normalizeColorScheme","getOppositeTheme","systemPrefersDarkMode","getSystemColorScheme"],"sourceRoot":"../../../../src","sources":["ui/utils/themeUtils.ts"],"mappings":";;AAAA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA,SACEA,cAAc,EACdC,oBAAoB,EACpBC,gBAAgB,EAChBC,qBAAqB,EACrBC,oBAAoB,QACf,aAAa","ignoreList":[]}
@@ -1,13 +0,0 @@
1
- /**
2
- * Shared spacing constants for authentication screens
3
- * These values ensure consistent vertical spacing across all step components
4
- * All gaps between elements (illustration, title, description, textfield, buttons, etc.) use this value
5
- */
6
- export declare const STEP_GAP = 12;
7
- export declare const STEP_INNER_GAP = 12;
8
- /**
9
- * Re-export screen spacing constants from constants/spacing.ts
10
- * This allows importing all spacing constants from a single location
11
- */
12
- export { SCREEN_PADDING_HORIZONTAL, SCREEN_PADDING_VERTICAL, SECTION_GAP, SECTION_GAP_LARGE, COMPONENT_GAP, COMPONENT_GAP_SMALL, HEADER_PADDING_TOP_OVERVIEW, HEADER_PADDING_TOP_SETTINGS, } from '../constants/spacing';
13
- //# sourceMappingURL=spacing.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"spacing.d.ts","sourceRoot":"","sources":["../../../../../src/ui/styles/spacing.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AACH,eAAO,MAAM,QAAQ,KAAK,CAAC;AAC3B,eAAO,MAAM,cAAc,KAAK,CAAC;AAEjC;;;GAGG;AACH,OAAO,EACH,yBAAyB,EACzB,uBAAuB,EACvB,WAAW,EACX,iBAAiB,EACjB,aAAa,EACb,mBAAmB,EACnB,2BAA2B,EAC3B,2BAA2B,GAC9B,MAAM,sBAAsB,CAAC"}
@@ -1,11 +0,0 @@
1
- /**
2
- * Theme Utility Functions
3
- *
4
- * Re-exports from shared module for cleaner internal imports.
5
- * External consumers should use '@oxyhq/services/shared' directly.
6
- *
7
- * @module ui/utils/themeUtils
8
- */
9
- export { normalizeTheme, normalizeColorScheme, getOppositeTheme, systemPrefersDarkMode, getSystemColorScheme, } from '@oxyhq/core';
10
- export type { ThemeValue } from '@oxyhq/core';
11
- //# sourceMappingURL=themeUtils.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"themeUtils.d.ts","sourceRoot":"","sources":["../../../../../src/ui/utils/themeUtils.ts"],"names":[],"mappings":"AAAA;;;;;;;GAOG;AAEH,OAAO,EACL,cAAc,EACd,oBAAoB,EACpB,gBAAgB,EAChB,qBAAqB,EACrB,oBAAoB,GACrB,MAAM,aAAa,CAAC;AAErB,YAAY,EAAE,UAAU,EAAE,MAAM,aAAa,CAAC"}
@@ -1,13 +0,0 @@
1
- /**
2
- * Shared spacing constants for authentication screens
3
- * These values ensure consistent vertical spacing across all step components
4
- * All gaps between elements (illustration, title, description, textfield, buttons, etc.) use this value
5
- */
6
- export declare const STEP_GAP = 12;
7
- export declare const STEP_INNER_GAP = 12;
8
- /**
9
- * Re-export screen spacing constants from constants/spacing.ts
10
- * This allows importing all spacing constants from a single location
11
- */
12
- export { SCREEN_PADDING_HORIZONTAL, SCREEN_PADDING_VERTICAL, SECTION_GAP, SECTION_GAP_LARGE, COMPONENT_GAP, COMPONENT_GAP_SMALL, HEADER_PADDING_TOP_OVERVIEW, HEADER_PADDING_TOP_SETTINGS, } from '../constants/spacing';
13
- //# sourceMappingURL=spacing.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"spacing.d.ts","sourceRoot":"","sources":["../../../../../src/ui/styles/spacing.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AACH,eAAO,MAAM,QAAQ,KAAK,CAAC;AAC3B,eAAO,MAAM,cAAc,KAAK,CAAC;AAEjC;;;GAGG;AACH,OAAO,EACH,yBAAyB,EACzB,uBAAuB,EACvB,WAAW,EACX,iBAAiB,EACjB,aAAa,EACb,mBAAmB,EACnB,2BAA2B,EAC3B,2BAA2B,GAC9B,MAAM,sBAAsB,CAAC"}
@@ -1,11 +0,0 @@
1
- /**
2
- * Theme Utility Functions
3
- *
4
- * Re-exports from shared module for cleaner internal imports.
5
- * External consumers should use '@oxyhq/services/shared' directly.
6
- *
7
- * @module ui/utils/themeUtils
8
- */
9
- export { normalizeTheme, normalizeColorScheme, getOppositeTheme, systemPrefersDarkMode, getSystemColorScheme, } from '@oxyhq/core';
10
- export type { ThemeValue } from '@oxyhq/core';
11
- //# sourceMappingURL=themeUtils.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"themeUtils.d.ts","sourceRoot":"","sources":["../../../../../src/ui/utils/themeUtils.ts"],"names":[],"mappings":"AAAA;;;;;;;GAOG;AAEH,OAAO,EACL,cAAc,EACd,oBAAoB,EACpB,gBAAgB,EAChB,qBAAqB,EACrB,oBAAoB,GACrB,MAAM,aAAa,CAAC;AAErB,YAAY,EAAE,UAAU,EAAE,MAAM,aAAa,CAAC"}
@@ -1,22 +0,0 @@
1
- /**
2
- * Shared spacing constants for authentication screens
3
- * These values ensure consistent vertical spacing across all step components
4
- * All gaps between elements (illustration, title, description, textfield, buttons, etc.) use this value
5
- */
6
- export const STEP_GAP = 12; // Vertical gap between ALL elements (illustration, title, description, textfield, buttons, etc.) - must be consistent everywhere
7
- export const STEP_INNER_GAP = 12; // Gap within sections (headers, cards, etc.) - must match STEP_GAP for uniformity
8
-
9
- /**
10
- * Re-export screen spacing constants from constants/spacing.ts
11
- * This allows importing all spacing constants from a single location
12
- */
13
- export {
14
- SCREEN_PADDING_HORIZONTAL,
15
- SCREEN_PADDING_VERTICAL,
16
- SECTION_GAP,
17
- SECTION_GAP_LARGE,
18
- COMPONENT_GAP,
19
- COMPONENT_GAP_SMALL,
20
- HEADER_PADDING_TOP_OVERVIEW,
21
- HEADER_PADDING_TOP_SETTINGS,
22
- } from '../constants/spacing';
@@ -1,18 +0,0 @@
1
- /**
2
- * Theme Utility Functions
3
- *
4
- * Re-exports from shared module for cleaner internal imports.
5
- * External consumers should use '@oxyhq/services/shared' directly.
6
- *
7
- * @module ui/utils/themeUtils
8
- */
9
-
10
- export {
11
- normalizeTheme,
12
- normalizeColorScheme,
13
- getOppositeTheme,
14
- systemPrefersDarkMode,
15
- getSystemColorScheme,
16
- } from '@oxyhq/core';
17
-
18
- export type { ThemeValue } from '@oxyhq/core';