@oxyhq/services 5.16.16 → 5.16.18

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 (240) hide show
  1. package/lib/commonjs/core/mixins/OxyServices.payment.js +102 -0
  2. package/lib/commonjs/core/mixins/OxyServices.payment.js.map +1 -1
  3. package/lib/commonjs/core/mixins/OxyServices.security.js +42 -0
  4. package/lib/commonjs/core/mixins/OxyServices.security.js.map +1 -1
  5. package/lib/commonjs/crypto/keyManager.js +44 -0
  6. package/lib/commonjs/crypto/keyManager.js.map +1 -1
  7. package/lib/commonjs/models/interfaces.js +2 -0
  8. package/lib/commonjs/models/interfaces.js.map +1 -1
  9. package/lib/commonjs/ui/components/FollowButton.js +19 -1
  10. package/lib/commonjs/ui/components/FollowButton.js.map +1 -1
  11. package/lib/commonjs/ui/components/GroupedItem.js +1 -27
  12. package/lib/commonjs/ui/components/GroupedItem.js.map +1 -1
  13. package/lib/commonjs/ui/components/Section.js +2 -1
  14. package/lib/commonjs/ui/components/Section.js.map +1 -1
  15. package/lib/commonjs/ui/components/SectionTitle.js +1 -2
  16. package/lib/commonjs/ui/components/SectionTitle.js.map +1 -1
  17. package/lib/commonjs/ui/components/fileManagement/FileViewer.js +3 -3
  18. package/lib/commonjs/ui/components/fileManagement/FileViewer.js.map +1 -1
  19. package/lib/commonjs/ui/context/OxyContext.js +48 -6
  20. package/lib/commonjs/ui/context/OxyContext.js.map +1 -1
  21. package/lib/commonjs/ui/context/hooks/useAuthOperations.js +9 -2
  22. package/lib/commonjs/ui/context/hooks/useAuthOperations.js.map +1 -1
  23. package/lib/commonjs/ui/context/hooks/useDeviceManagement.js +1 -1
  24. package/lib/commonjs/ui/context/hooks/useLanguageManagement.js +1 -1
  25. package/lib/commonjs/ui/context/hooks/useSessionManagement.js +3 -3
  26. package/lib/commonjs/ui/context/hooks/useStorage.js +2 -2
  27. package/lib/commonjs/ui/hooks/queries/useAccountQueries.js +1 -1
  28. package/lib/commonjs/ui/hooks/queries/useAccountQueries.js.map +1 -1
  29. package/lib/commonjs/ui/hooks/queries/useServicesQueries.js +1 -1
  30. package/lib/commonjs/ui/hooks/useSessionSocket.js +22 -7
  31. package/lib/commonjs/ui/hooks/useSessionSocket.js.map +1 -1
  32. package/lib/commonjs/ui/screens/AccountCenterScreen.js +13 -13
  33. package/lib/commonjs/ui/screens/AccountCenterScreen.js.map +1 -1
  34. package/lib/commonjs/ui/screens/AccountOverviewScreen.js +17 -17
  35. package/lib/commonjs/ui/screens/AccountOverviewScreen.js.map +1 -1
  36. package/lib/commonjs/ui/screens/AccountSettingsScreen.js +2 -2
  37. package/lib/commonjs/ui/screens/AccountSettingsScreen.js.map +1 -1
  38. package/lib/commonjs/ui/screens/AccountSwitcherScreen.js +10 -9
  39. package/lib/commonjs/ui/screens/AccountSwitcherScreen.js.map +1 -1
  40. package/lib/commonjs/ui/screens/AppInfoScreen.js +15 -15
  41. package/lib/commonjs/ui/screens/AppInfoScreen.js.map +1 -1
  42. package/lib/commonjs/ui/screens/FeedbackScreen.js +1 -1
  43. package/lib/commonjs/ui/screens/FeedbackScreen.js.map +1 -1
  44. package/lib/commonjs/ui/screens/FileManagementScreen.js +1 -1
  45. package/lib/commonjs/ui/screens/HelpSupportScreen.js +3 -3
  46. package/lib/commonjs/ui/screens/HelpSupportScreen.js.map +1 -1
  47. package/lib/commonjs/ui/screens/HistoryViewScreen.js +2 -2
  48. package/lib/commonjs/ui/screens/HistoryViewScreen.js.map +1 -1
  49. package/lib/commonjs/ui/screens/LanguageSelectorScreen.js +3 -1
  50. package/lib/commonjs/ui/screens/LanguageSelectorScreen.js.map +1 -1
  51. package/lib/commonjs/ui/screens/LegalDocumentsScreen.js +4 -4
  52. package/lib/commonjs/ui/screens/LegalDocumentsScreen.js.map +1 -1
  53. package/lib/commonjs/ui/screens/PaymentGatewayScreen.js +1 -1
  54. package/lib/commonjs/ui/screens/PaymentGatewayScreen.js.map +1 -1
  55. package/lib/commonjs/ui/screens/PremiumSubscriptionScreen.js +1 -2
  56. package/lib/commonjs/ui/screens/PremiumSubscriptionScreen.js.map +1 -1
  57. package/lib/commonjs/ui/screens/ProfileScreen.js +44 -16
  58. package/lib/commonjs/ui/screens/ProfileScreen.js.map +1 -1
  59. package/lib/commonjs/ui/screens/SavesCollectionsScreen.js.map +1 -1
  60. package/lib/commonjs/ui/screens/karma/KarmaAboutScreen.js +3 -1
  61. package/lib/commonjs/ui/screens/karma/KarmaAboutScreen.js.map +1 -1
  62. package/lib/commonjs/ui/screens/karma/KarmaCenterScreen.js +2 -2
  63. package/lib/commonjs/ui/screens/karma/KarmaCenterScreen.js.map +1 -1
  64. package/lib/commonjs/ui/screens/karma/KarmaRewardsScreen.js +8 -5
  65. package/lib/commonjs/ui/screens/karma/KarmaRewardsScreen.js.map +1 -1
  66. package/lib/commonjs/ui/utils/errorHandlers.js +49 -2
  67. package/lib/commonjs/ui/utils/errorHandlers.js.map +1 -1
  68. package/lib/commonjs/ui/utils/sessionHelpers.js +0 -2
  69. package/lib/commonjs/ui/utils/sessionHelpers.js.map +1 -1
  70. package/lib/commonjs/utils/languageUtils.js +11 -11
  71. package/lib/commonjs/utils/languageUtils.js.map +1 -1
  72. package/lib/module/core/mixins/OxyServices.payment.js +102 -0
  73. package/lib/module/core/mixins/OxyServices.payment.js.map +1 -1
  74. package/lib/module/core/mixins/OxyServices.security.js +42 -0
  75. package/lib/module/core/mixins/OxyServices.security.js.map +1 -1
  76. package/lib/module/crypto/keyManager.js +45 -0
  77. package/lib/module/crypto/keyManager.js.map +1 -1
  78. package/lib/module/models/interfaces.js +2 -0
  79. package/lib/module/models/interfaces.js.map +1 -1
  80. package/lib/module/ui/components/FollowButton.js +19 -1
  81. package/lib/module/ui/components/FollowButton.js.map +1 -1
  82. package/lib/module/ui/components/GroupedItem.js +1 -29
  83. package/lib/module/ui/components/GroupedItem.js.map +1 -1
  84. package/lib/module/ui/components/Section.js +2 -1
  85. package/lib/module/ui/components/Section.js.map +1 -1
  86. package/lib/module/ui/components/SectionTitle.js +1 -2
  87. package/lib/module/ui/components/SectionTitle.js.map +1 -1
  88. package/lib/module/ui/components/fileManagement/FileViewer.js +3 -3
  89. package/lib/module/ui/components/fileManagement/FileViewer.js.map +1 -1
  90. package/lib/module/ui/context/OxyContext.js +49 -7
  91. package/lib/module/ui/context/OxyContext.js.map +1 -1
  92. package/lib/module/ui/context/hooks/useAuthOperations.js +9 -2
  93. package/lib/module/ui/context/hooks/useAuthOperations.js.map +1 -1
  94. package/lib/module/ui/context/hooks/useDeviceManagement.js +1 -1
  95. package/lib/module/ui/context/hooks/useDeviceManagement.js.map +1 -1
  96. package/lib/module/ui/context/hooks/useLanguageManagement.js +1 -1
  97. package/lib/module/ui/context/hooks/useLanguageManagement.js.map +1 -1
  98. package/lib/module/ui/context/hooks/useSessionManagement.js +3 -3
  99. package/lib/module/ui/context/hooks/useSessionManagement.js.map +1 -1
  100. package/lib/module/ui/context/hooks/useStorage.js +2 -2
  101. package/lib/module/ui/context/hooks/useStorage.js.map +1 -1
  102. package/lib/module/ui/hooks/queries/useAccountQueries.js +1 -1
  103. package/lib/module/ui/hooks/queries/useAccountQueries.js.map +1 -1
  104. package/lib/module/ui/hooks/queries/useServicesQueries.js +1 -1
  105. package/lib/module/ui/hooks/queries/useServicesQueries.js.map +1 -1
  106. package/lib/module/ui/hooks/useSessionSocket.js +22 -7
  107. package/lib/module/ui/hooks/useSessionSocket.js.map +1 -1
  108. package/lib/module/ui/screens/AccountCenterScreen.js +13 -13
  109. package/lib/module/ui/screens/AccountCenterScreen.js.map +1 -1
  110. package/lib/module/ui/screens/AccountOverviewScreen.js +17 -17
  111. package/lib/module/ui/screens/AccountOverviewScreen.js.map +1 -1
  112. package/lib/module/ui/screens/AccountSettingsScreen.js +2 -2
  113. package/lib/module/ui/screens/AccountSettingsScreen.js.map +1 -1
  114. package/lib/module/ui/screens/AccountSwitcherScreen.js +11 -10
  115. package/lib/module/ui/screens/AccountSwitcherScreen.js.map +1 -1
  116. package/lib/module/ui/screens/AppInfoScreen.js +15 -15
  117. package/lib/module/ui/screens/AppInfoScreen.js.map +1 -1
  118. package/lib/module/ui/screens/FeedbackScreen.js +1 -1
  119. package/lib/module/ui/screens/FeedbackScreen.js.map +1 -1
  120. package/lib/module/ui/screens/FileManagementScreen.js +1 -1
  121. package/lib/module/ui/screens/HelpSupportScreen.js +3 -3
  122. package/lib/module/ui/screens/HelpSupportScreen.js.map +1 -1
  123. package/lib/module/ui/screens/HistoryViewScreen.js +2 -2
  124. package/lib/module/ui/screens/HistoryViewScreen.js.map +1 -1
  125. package/lib/module/ui/screens/LanguageSelectorScreen.js +4 -2
  126. package/lib/module/ui/screens/LanguageSelectorScreen.js.map +1 -1
  127. package/lib/module/ui/screens/LegalDocumentsScreen.js +4 -4
  128. package/lib/module/ui/screens/LegalDocumentsScreen.js.map +1 -1
  129. package/lib/module/ui/screens/PaymentGatewayScreen.js +1 -1
  130. package/lib/module/ui/screens/PaymentGatewayScreen.js.map +1 -1
  131. package/lib/module/ui/screens/PremiumSubscriptionScreen.js +1 -2
  132. package/lib/module/ui/screens/PremiumSubscriptionScreen.js.map +1 -1
  133. package/lib/module/ui/screens/ProfileScreen.js +44 -16
  134. package/lib/module/ui/screens/ProfileScreen.js.map +1 -1
  135. package/lib/module/ui/screens/SavesCollectionsScreen.js.map +1 -1
  136. package/lib/module/ui/screens/karma/KarmaAboutScreen.js +3 -1
  137. package/lib/module/ui/screens/karma/KarmaAboutScreen.js.map +1 -1
  138. package/lib/module/ui/screens/karma/KarmaCenterScreen.js +3 -3
  139. package/lib/module/ui/screens/karma/KarmaCenterScreen.js.map +1 -1
  140. package/lib/module/ui/screens/karma/KarmaRewardsScreen.js +9 -6
  141. package/lib/module/ui/screens/karma/KarmaRewardsScreen.js.map +1 -1
  142. package/lib/module/ui/utils/errorHandlers.js +46 -0
  143. package/lib/module/ui/utils/errorHandlers.js.map +1 -1
  144. package/lib/module/ui/utils/sessionHelpers.js +0 -2
  145. package/lib/module/ui/utils/sessionHelpers.js.map +1 -1
  146. package/lib/module/utils/languageUtils.js +11 -11
  147. package/lib/module/utils/languageUtils.js.map +1 -1
  148. package/lib/typescript/core/mixins/OxyServices.payment.d.ts +41 -0
  149. package/lib/typescript/core/mixins/OxyServices.payment.d.ts.map +1 -1
  150. package/lib/typescript/core/mixins/OxyServices.security.d.ts +12 -0
  151. package/lib/typescript/core/mixins/OxyServices.security.d.ts.map +1 -1
  152. package/lib/typescript/core/mixins/index.d.ts +14 -0
  153. package/lib/typescript/core/mixins/index.d.ts.map +1 -1
  154. package/lib/typescript/crypto/keyManager.d.ts.map +1 -1
  155. package/lib/typescript/models/interfaces.d.ts +1 -1
  156. package/lib/typescript/models/interfaces.d.ts.map +1 -1
  157. package/lib/typescript/ui/components/FollowButton.d.ts.map +1 -1
  158. package/lib/typescript/ui/components/GroupedItem.d.ts.map +1 -1
  159. package/lib/typescript/ui/components/Section.d.ts.map +1 -1
  160. package/lib/typescript/ui/components/SectionTitle.d.ts.map +1 -1
  161. package/lib/typescript/ui/context/OxyContext.d.ts.map +1 -1
  162. package/lib/typescript/ui/context/hooks/useAuthOperations.d.ts +1 -1
  163. package/lib/typescript/ui/context/hooks/useAuthOperations.d.ts.map +1 -1
  164. package/lib/typescript/ui/context/hooks/useLanguageManagement.d.ts +1 -1
  165. package/lib/typescript/ui/context/hooks/useLanguageManagement.d.ts.map +1 -1
  166. package/lib/typescript/ui/context/hooks/useSessionManagement.d.ts +1 -1
  167. package/lib/typescript/ui/context/hooks/useSessionManagement.d.ts.map +1 -1
  168. package/lib/typescript/ui/context/hooks/useStorage.d.ts +1 -1
  169. package/lib/typescript/ui/context/hooks/useStorage.d.ts.map +1 -1
  170. package/lib/typescript/ui/hooks/useSessionSocket.d.ts.map +1 -1
  171. package/lib/typescript/ui/screens/LanguageSelectorScreen.d.ts.map +1 -1
  172. package/lib/typescript/ui/screens/PremiumSubscriptionScreen.d.ts.map +1 -1
  173. package/lib/typescript/ui/screens/ProfileScreen.d.ts.map +1 -1
  174. package/lib/typescript/ui/screens/SavesCollectionsScreen.d.ts.map +1 -1
  175. package/lib/typescript/ui/screens/karma/KarmaAboutScreen.d.ts.map +1 -1
  176. package/lib/typescript/ui/screens/karma/KarmaRewardsScreen.d.ts.map +1 -1
  177. package/lib/typescript/ui/utils/errorHandlers.d.ts +5 -0
  178. package/lib/typescript/ui/utils/errorHandlers.d.ts.map +1 -1
  179. package/lib/typescript/ui/utils/sessionHelpers.d.ts.map +1 -1
  180. package/package.json +2 -1
  181. package/src/core/mixins/OxyServices.payment.ts +104 -0
  182. package/src/core/mixins/OxyServices.security.ts +44 -0
  183. package/src/crypto/keyManager.ts +44 -0
  184. package/src/models/interfaces.ts +4 -0
  185. package/src/ui/components/FollowButton.tsx +19 -1
  186. package/src/ui/components/GroupedItem.tsx +1 -29
  187. package/src/ui/components/Section.tsx +1 -0
  188. package/src/ui/components/SectionTitle.tsx +0 -1
  189. package/src/ui/components/fileManagement/FileViewer.tsx +3 -3
  190. package/src/ui/context/OxyContext.tsx +33 -9
  191. package/src/ui/context/hooks/useAuthOperations.ts +16 -9
  192. package/src/ui/context/hooks/useDeviceManagement.ts +1 -1
  193. package/src/ui/context/hooks/useLanguageManagement.ts +2 -2
  194. package/src/ui/context/hooks/useSessionManagement.ts +3 -3
  195. package/src/ui/context/hooks/useStorage.ts +2 -2
  196. package/src/ui/hooks/queries/useAccountQueries.ts +1 -1
  197. package/src/ui/hooks/queries/useServicesQueries.ts +1 -1
  198. package/src/ui/hooks/useSessionSocket.ts +8 -7
  199. package/src/ui/screens/AccountCenterScreen.tsx +13 -13
  200. package/src/ui/screens/AccountOverviewScreen.tsx +17 -17
  201. package/src/ui/screens/AccountSettingsScreen.tsx +2 -2
  202. package/src/ui/screens/AccountSwitcherScreen.tsx +8 -8
  203. package/src/ui/screens/AppInfoScreen.tsx +15 -15
  204. package/src/ui/screens/FeedbackScreen.tsx +1 -1
  205. package/src/ui/screens/FileManagementScreen.tsx +1 -1
  206. package/src/ui/screens/HelpSupportScreen.tsx +3 -3
  207. package/src/ui/screens/HistoryViewScreen.tsx +2 -2
  208. package/src/ui/screens/LanguageSelectorScreen.tsx +4 -1
  209. package/src/ui/screens/LegalDocumentsScreen.tsx +4 -4
  210. package/src/ui/screens/PaymentGatewayScreen.tsx +1 -1
  211. package/src/ui/screens/PremiumSubscriptionScreen.tsx +0 -1
  212. package/src/ui/screens/ProfileScreen.tsx +61 -22
  213. package/src/ui/screens/SavesCollectionsScreen.tsx +10 -1
  214. package/src/ui/screens/karma/KarmaAboutScreen.tsx +8 -1
  215. package/src/ui/screens/karma/KarmaCenterScreen.tsx +2 -2
  216. package/src/ui/screens/karma/KarmaRewardsScreen.tsx +9 -6
  217. package/src/ui/utils/errorHandlers.ts +58 -0
  218. package/src/ui/utils/sessionHelpers.ts +0 -2
  219. package/src/utils/languageUtils.ts +11 -11
  220. package/lib/commonjs/ui/context/utils/errorHandlers.js +0 -100
  221. package/lib/commonjs/ui/context/utils/errorHandlers.js.map +0 -1
  222. package/lib/commonjs/ui/context/utils/sessionHelpers.js +0 -103
  223. package/lib/commonjs/ui/context/utils/sessionHelpers.js.map +0 -1
  224. package/lib/commonjs/ui/context/utils/storageHelpers.js +0 -119
  225. package/lib/commonjs/ui/context/utils/storageHelpers.js.map +0 -1
  226. package/lib/module/ui/context/utils/errorHandlers.js +0 -93
  227. package/lib/module/ui/context/utils/errorHandlers.js.map +0 -1
  228. package/lib/module/ui/context/utils/sessionHelpers.js +0 -96
  229. package/lib/module/ui/context/utils/sessionHelpers.js.map +0 -1
  230. package/lib/module/ui/context/utils/storageHelpers.js +0 -111
  231. package/lib/module/ui/context/utils/storageHelpers.js.map +0 -1
  232. package/lib/typescript/ui/context/utils/errorHandlers.d.ts +0 -30
  233. package/lib/typescript/ui/context/utils/errorHandlers.d.ts.map +0 -1
  234. package/lib/typescript/ui/context/utils/sessionHelpers.d.ts +0 -59
  235. package/lib/typescript/ui/context/utils/sessionHelpers.d.ts.map +0 -1
  236. package/lib/typescript/ui/context/utils/storageHelpers.d.ts +0 -31
  237. package/lib/typescript/ui/context/utils/storageHelpers.d.ts.map +0 -1
  238. package/src/ui/context/utils/errorHandlers.ts +0 -146
  239. package/src/ui/context/utils/sessionHelpers.ts +0 -146
  240. package/src/ui/context/utils/storageHelpers.ts +0 -134
@@ -7,8 +7,8 @@ import {
7
7
  normalizeLanguageCode,
8
8
  type LanguageMetadata,
9
9
  } from '../../../utils/languageUtils';
10
- import type { StorageInterface } from '../utils/storageHelpers';
11
- import { extractErrorMessage } from '../utils/errorHandlers';
10
+ import type { StorageInterface } from '../../utils/storageHelpers';
11
+ import { extractErrorMessage } from '../../utils/errorHandlers';
12
12
 
13
13
  export interface UseLanguageManagementOptions {
14
14
  storage: StorageInterface | null;
@@ -2,9 +2,9 @@ import { useCallback, useMemo, useRef, useState } from 'react';
2
2
  import type { ApiError, User } from '../../../models/interfaces';
3
3
  import type { ClientSession } from '../../../models/session';
4
4
  import { mergeSessions, normalizeAndSortSessions, sessionsArraysEqual } from '../../../utils/sessionUtils';
5
- import { fetchSessionsWithFallback, mapSessionsToClient, validateSessionBatch } from '../utils/sessionHelpers';
6
- import { getStorageKeys, type StorageInterface } from '../utils/storageHelpers';
7
- import { handleAuthError, isInvalidSessionError } from '../utils/errorHandlers';
5
+ import { fetchSessionsWithFallback, mapSessionsToClient, validateSessionBatch } from '../../utils/sessionHelpers';
6
+ import { getStorageKeys, type StorageInterface } from '../../utils/storageHelpers';
7
+ import { handleAuthError, isInvalidSessionError } from '../../utils/errorHandlers';
8
8
  import type { OxyServices } from '../../../core';
9
9
  import type { QueryClient } from '@tanstack/react-query';
10
10
  import { clearQueryCache } from '../../hooks/queryClient';
@@ -1,7 +1,7 @@
1
1
  import { useCallback, useEffect, useRef, useState } from 'react';
2
2
  import type { ApiError } from '../../../models/interfaces';
3
- import { createPlatformStorage, type StorageInterface } from '../utils/storageHelpers';
4
- import { extractErrorMessage } from '../utils/errorHandlers';
3
+ import { createPlatformStorage, type StorageInterface } from '../../utils/storageHelpers';
4
+ import { extractErrorMessage } from '../../utils/errorHandlers';
5
5
 
6
6
  export interface UseStorageOptions {
7
7
  onError?: (error: ApiError) => void;
@@ -132,7 +132,7 @@ export const usePrivacySettings = (userId?: string, options?: { enabled?: boolea
132
132
  const targetUserId = userId || user?.id;
133
133
 
134
134
  return useQuery({
135
- queryKey: queryKeys.privacy.settings(userId),
135
+ queryKey: queryKeys.privacy.settings(targetUserId),
136
136
  queryFn: async () => {
137
137
  if (!targetUserId) {
138
138
  throw new Error('User ID is required');
@@ -2,7 +2,7 @@ import { useQuery } from '@tanstack/react-query';
2
2
  import type { ClientSession } from '../../../models/session';
3
3
  import { queryKeys } from './queryKeys';
4
4
  import { useOxy } from '../../context/OxyContext';
5
- import { fetchSessionsWithFallback, mapSessionsToClient } from '../../context/utils/sessionHelpers';
5
+ import { fetchSessionsWithFallback, mapSessionsToClient } from '../../utils/sessionHelpers';
6
6
 
7
7
  /**
8
8
  * Get all active sessions for the current user
@@ -1,6 +1,7 @@
1
1
  import { useEffect, useRef } from 'react';
2
2
  import io from 'socket.io-client';
3
3
  import { toast } from '../../lib/sonner';
4
+ import { logger } from '../../utils/loggerUtils';
4
5
 
5
6
  interface UseSessionSocketProps {
6
7
  userId: string | null | undefined;
@@ -113,7 +114,7 @@ export function useSessionSocket({ userId, activeSessionId, currentDeviceId, ref
113
114
  await clearSessionStateRef.current();
114
115
  } catch (error) {
115
116
  if (__DEV__) {
116
- console.error('Failed to clear session state after session_removed:', error);
117
+ logger.error('Failed to clear session state after session_removed', error instanceof Error ? error : new Error(String(error)), { component: 'useSessionSocket' });
117
118
  }
118
119
  }
119
120
  } else {
@@ -121,7 +122,7 @@ export function useSessionSocket({ userId, activeSessionId, currentDeviceId, ref
121
122
  refreshSessionsRef.current().catch((error) => {
122
123
  // Silently handle errors from refresh - they're expected if sessions were removed
123
124
  if (__DEV__) {
124
- console.debug('Failed to refresh sessions after session_removed:', error);
125
+ logger.debug('Failed to refresh sessions after session_removed', { component: 'useSessionSocket' }, error as unknown);
125
126
  }
126
127
  });
127
128
  }
@@ -146,7 +147,7 @@ export function useSessionSocket({ userId, activeSessionId, currentDeviceId, ref
146
147
  await clearSessionStateRef.current();
147
148
  } catch (error) {
148
149
  if (__DEV__) {
149
- console.error('Failed to clear session state after device_removed:', error);
150
+ logger.error('Failed to clear session state after device_removed', error instanceof Error ? error : new Error(String(error)), { component: 'useSessionSocket' });
150
151
  }
151
152
  }
152
153
  } else {
@@ -154,7 +155,7 @@ export function useSessionSocket({ userId, activeSessionId, currentDeviceId, ref
154
155
  refreshSessionsRef.current().catch((error) => {
155
156
  // Silently handle errors from refresh - they're expected if sessions were removed
156
157
  if (__DEV__) {
157
- console.debug('Failed to refresh sessions after device_removed:', error);
158
+ logger.debug('Failed to refresh sessions after device_removed', { component: 'useSessionSocket' }, error as unknown);
158
159
  }
159
160
  });
160
161
  }
@@ -179,7 +180,7 @@ export function useSessionSocket({ userId, activeSessionId, currentDeviceId, ref
179
180
  await clearSessionStateRef.current();
180
181
  } catch (error) {
181
182
  if (__DEV__) {
182
- console.error('Failed to clear session state after sessions_removed:', error);
183
+ logger.error('Failed to clear session state after sessions_removed', error instanceof Error ? error : new Error(String(error)), { component: 'useSessionSocket' });
183
184
  }
184
185
  }
185
186
  } else {
@@ -187,7 +188,7 @@ export function useSessionSocket({ userId, activeSessionId, currentDeviceId, ref
187
188
  refreshSessionsRef.current().catch((error) => {
188
189
  // Silently handle errors from refresh - they're expected if sessions were removed
189
190
  if (__DEV__) {
190
- console.debug('Failed to refresh sessions after sessions_removed:', error);
191
+ logger.debug('Failed to refresh sessions after sessions_removed', { component: 'useSessionSocket' }, error as unknown);
191
192
  }
192
193
  });
193
194
  }
@@ -196,7 +197,7 @@ export function useSessionSocket({ userId, activeSessionId, currentDeviceId, ref
196
197
  refreshSessionsRef.current().catch((error) => {
197
198
  // Log but don't throw - refresh errors shouldn't break the socket handler
198
199
  if (__DEV__) {
199
- console.debug('Failed to refresh sessions after session_update:', error);
200
+ logger.debug('Failed to refresh sessions after session_update', { component: 'useSessionSocket' }, error as unknown);
200
201
  }
201
202
  });
202
203
 
@@ -102,9 +102,9 @@ const AccountCenterScreen: React.FC<BaseScreenProps> = ({
102
102
  <QuickActions
103
103
  theme={normalizedTheme}
104
104
  actions={useMemo(() => [
105
- { id: 'overview', icon: 'person-circle', iconColor: colors.iconSecurity, title: t('accountCenter.quickActions.overview') || 'Overview', onPress: () => navigate?.('AccountOverview') },
106
- { id: 'settings', icon: 'settings', iconColor: colors.iconData, title: t('accountCenter.quickActions.editProfile') || 'Edit Profile', onPress: () => navigate?.('EditProfile') },
107
- { id: 'sessions', icon: 'shield-checkmark', iconColor: colors.iconSecurity, title: t('accountCenter.quickActions.sessions') || 'Sessions', onPress: () => navigate?.('SessionManagement') },
105
+ { id: 'overview', icon: 'account-circle', iconColor: colors.iconSecurity, title: t('accountCenter.quickActions.overview') || 'Overview', onPress: () => navigate?.('AccountOverview') },
106
+ { id: 'settings', icon: 'cog', iconColor: colors.iconData, title: t('accountCenter.quickActions.editProfile') || 'Edit Profile', onPress: () => navigate?.('EditProfile') },
107
+ { id: 'sessions', icon: 'shield-check', iconColor: colors.iconSecurity, title: t('accountCenter.quickActions.sessions') || 'Sessions', onPress: () => navigate?.('SessionManagement') },
108
108
  { id: 'premium', icon: 'star', iconColor: colors.iconPayments, title: t('accountCenter.quickActions.premium') || 'Premium', onPress: () => navigate?.('PremiumSubscription') },
109
109
  ...(user?.isPremium ? [{ id: 'billing', icon: 'card', iconColor: colors.iconPersonalInfo, title: t('accountCenter.quickActions.billing') || 'Billing', onPress: () => navigate?.('PaymentGateway') }] : []),
110
110
  ...(sessions && sessions.length > 1 ? [{ id: 'switch', icon: 'swap-horizontal', iconColor: colors.iconStorage, title: t('accountCenter.quickActions.switch') || 'Switch', onPress: () => navigate?.('AccountSwitcher') }] : []),
@@ -119,7 +119,7 @@ const AccountCenterScreen: React.FC<BaseScreenProps> = ({
119
119
  items={useMemo(() => [
120
120
  {
121
121
  id: 'overview',
122
- icon: 'person-circle',
122
+ icon: 'account-circle',
123
123
  iconColor: colors.iconSecurity,
124
124
  title: t('accountCenter.items.accountOverview.title') || 'Account Overview',
125
125
  subtitle: t('accountCenter.items.accountOverview.subtitle') || 'Complete account information',
@@ -127,7 +127,7 @@ const AccountCenterScreen: React.FC<BaseScreenProps> = ({
127
127
  },
128
128
  {
129
129
  id: 'settings',
130
- icon: 'settings',
130
+ icon: 'cog',
131
131
  iconColor: colors.iconData,
132
132
  title: t('accountCenter.items.editProfile.title') || 'Edit Profile',
133
133
  subtitle: t('accountCenter.items.editProfile.subtitle') || 'Manage your profile and preferences',
@@ -135,7 +135,7 @@ const AccountCenterScreen: React.FC<BaseScreenProps> = ({
135
135
  },
136
136
  {
137
137
  id: 'sessions',
138
- icon: 'shield-checkmark',
138
+ icon: 'shield-check',
139
139
  iconColor: colors.iconSecurity,
140
140
  title: t('accountCenter.items.manageSessions.title') || 'Manage Sessions',
141
141
  subtitle: t('accountCenter.items.manageSessions.subtitle') || 'Security and active devices',
@@ -177,7 +177,7 @@ const AccountCenterScreen: React.FC<BaseScreenProps> = ({
177
177
  items={useMemo(() => [
178
178
  {
179
179
  id: 'switch',
180
- icon: 'people',
180
+ icon: 'account-group',
181
181
  iconColor: colors.iconStorage,
182
182
  title: t('accountCenter.items.switchAccount.title') || 'Switch Account',
183
183
  subtitle: t('accountCenter.items.switchAccount.subtitle', { count: sessions.length }) || `${sessions.length} accounts available`,
@@ -185,7 +185,7 @@ const AccountCenterScreen: React.FC<BaseScreenProps> = ({
185
185
  },
186
186
  {
187
187
  id: 'add',
188
- icon: 'person-add',
188
+ icon: 'account-plus',
189
189
  iconColor: colors.iconPersonalInfo,
190
190
  title: t('accountCenter.items.addAccount.title') || 'Add Another Account',
191
191
  subtitle: t('accountCenter.items.addAccount.subtitle') || 'Sign in with a different account',
@@ -204,7 +204,7 @@ const AccountCenterScreen: React.FC<BaseScreenProps> = ({
204
204
  items={useMemo(() => [
205
205
  {
206
206
  id: 'add',
207
- icon: 'person-add',
207
+ icon: 'account-plus',
208
208
  iconColor: colors.iconPersonalInfo,
209
209
  title: t('accountCenter.items.addAccount.title') || 'Add Another Account',
210
210
  subtitle: t('accountCenter.items.addAccount.subtitle') || 'Sign in with a different account',
@@ -222,7 +222,7 @@ const AccountCenterScreen: React.FC<BaseScreenProps> = ({
222
222
  items={useMemo(() => [
223
223
  ...(Platform.OS !== 'web' ? [{
224
224
  id: 'notifications',
225
- icon: 'notifications',
225
+ icon: 'bell',
226
226
  iconColor: colors.iconStorage,
227
227
  title: t('accountCenter.items.notifications.title') || 'Notifications',
228
228
  subtitle: t('accountCenter.items.notifications.subtitle') || 'Manage notification settings',
@@ -230,7 +230,7 @@ const AccountCenterScreen: React.FC<BaseScreenProps> = ({
230
230
  }] : []),
231
231
  {
232
232
  id: 'language',
233
- icon: 'language',
233
+ icon: 'translate',
234
234
  iconColor: colors.iconPersonalInfo,
235
235
  title: t('language.title') || 'Language',
236
236
  subtitle: t('language.subtitle') || 'Choose your preferred language',
@@ -246,7 +246,7 @@ const AccountCenterScreen: React.FC<BaseScreenProps> = ({
246
246
  },
247
247
  {
248
248
  id: 'appinfo',
249
- icon: 'information-circle',
249
+ icon: 'information',
250
250
  iconColor: '#8E8E93',
251
251
  title: t('accountCenter.items.appInfo.title') || 'App Information',
252
252
  subtitle: t('accountCenter.items.appInfo.subtitle') || 'Version and system details',
@@ -260,7 +260,7 @@ const AccountCenterScreen: React.FC<BaseScreenProps> = ({
260
260
  {/* Sign Out Section */}
261
261
  <Section >
262
262
  <GroupedItem
263
- icon="log-out"
263
+ icon="logout"
264
264
  iconColor={dangerColor}
265
265
  title={isLoading ? (t('accountCenter.signingOut') || 'Signing out...') : (t('common.actions.signOut') || 'Sign Out')}
266
266
 
@@ -398,7 +398,7 @@ const AccountOverviewScreen: React.FC<BaseScreenProps> = ({
398
398
  items={[
399
399
  {
400
400
  id: 'profile-info',
401
- icon: 'person',
401
+ icon: 'account',
402
402
  iconColor: baseThemeStyles.colors.iconSecurity,
403
403
  title: displayName,
404
404
  subtitle: user ? (user.email || user.username) : (t('common.status.loading') || 'Loading...'),
@@ -414,7 +414,7 @@ const AccountOverviewScreen: React.FC<BaseScreenProps> = ({
414
414
  items={[
415
415
  {
416
416
  id: 'edit-profile',
417
- icon: 'person-circle',
417
+ icon: 'account-circle',
418
418
  iconColor: baseThemeStyles.colors.iconPersonalInfo,
419
419
  title: t('accountOverview.items.editProfile.title'),
420
420
  subtitle: t('accountOverview.items.editProfile.subtitle'),
@@ -422,7 +422,7 @@ const AccountOverviewScreen: React.FC<BaseScreenProps> = ({
422
422
  },
423
423
  {
424
424
  id: 'security-privacy',
425
- icon: 'shield-checkmark',
425
+ icon: 'shield-check',
426
426
  iconColor: baseThemeStyles.colors.iconSecurity,
427
427
  title: t('accountOverview.items.security.title'),
428
428
  subtitle: t('accountOverview.items.security.subtitle'),
@@ -430,7 +430,7 @@ const AccountOverviewScreen: React.FC<BaseScreenProps> = ({
430
430
  },
431
431
  {
432
432
  id: 'notifications',
433
- icon: 'notifications',
433
+ icon: 'bell',
434
434
  iconColor: baseThemeStyles.colors.iconStorage,
435
435
  title: t('accountOverview.items.notifications.title'),
436
436
  subtitle: t('accountOverview.items.notifications.subtitle'),
@@ -483,7 +483,7 @@ const AccountOverviewScreen: React.FC<BaseScreenProps> = ({
483
483
  <GroupedSection
484
484
  items={additionalAccountsData.map((account, index) => ({
485
485
  id: `account-${account.id}`,
486
- icon: 'person',
486
+ icon: 'account',
487
487
  iconColor: baseThemeStyles.colors.iconData,
488
488
  title: typeof account.name === 'object'
489
489
  ? account.name?.full || account.name?.first || account.username
@@ -519,7 +519,7 @@ const AccountOverviewScreen: React.FC<BaseScreenProps> = ({
519
519
  items={[
520
520
  {
521
521
  id: 'no-accounts',
522
- icon: 'person-outline',
522
+ icon: 'account-outline',
523
523
  iconColor: '#ccc',
524
524
  title: t('accountOverview.additional.noAccounts.title') || 'No other accounts',
525
525
  subtitle: t('accountOverview.additional.noAccounts.subtitle') || 'Add another account to switch between them',
@@ -546,7 +546,7 @@ const AccountOverviewScreen: React.FC<BaseScreenProps> = ({
546
546
  },
547
547
  {
548
548
  id: 'sign-out-all',
549
- icon: 'log-out',
549
+ icon: 'logout',
550
550
  iconColor: baseThemeStyles.colors.iconSharing,
551
551
  title: t('accountOverview.items.signOutAll.title') || 'Sign out of all accounts',
552
552
  subtitle: t('accountOverview.items.signOutAll.subtitle') || 'Remove all accounts from this device',
@@ -564,7 +564,7 @@ const AccountOverviewScreen: React.FC<BaseScreenProps> = ({
564
564
  items={[
565
565
  {
566
566
  id: 'account-switcher',
567
- icon: 'people',
567
+ icon: 'account-group',
568
568
  iconColor: baseThemeStyles.colors.iconData,
569
569
  title: showMoreAccounts
570
570
  ? t('accountOverview.items.accountSwitcher.titleHide')
@@ -580,7 +580,7 @@ const AccountOverviewScreen: React.FC<BaseScreenProps> = ({
580
580
  },
581
581
  {
582
582
  id: 'history-view',
583
- icon: 'time',
583
+ icon: 'clock',
584
584
  iconColor: baseThemeStyles.colors.iconSecurity,
585
585
  title: t('accountOverview.items.history.title') || 'History',
586
586
  subtitle: t('accountOverview.items.history.subtitle') || 'View and manage your search history',
@@ -604,7 +604,7 @@ const AccountOverviewScreen: React.FC<BaseScreenProps> = ({
604
604
  },
605
605
  {
606
606
  id: 'delete-account',
607
- icon: 'trash',
607
+ icon: 'delete',
608
608
  iconColor: baseThemeStyles.colors.iconSharing,
609
609
  title: t('accountOverview.items.deleteAccount.title'),
610
610
  subtitle: t('accountOverview.items.deleteAccount.subtitle'),
@@ -621,7 +621,7 @@ const AccountOverviewScreen: React.FC<BaseScreenProps> = ({
621
621
  items={[
622
622
  {
623
623
  id: 'search-settings',
624
- icon: 'search',
624
+ icon: 'magnify',
625
625
  iconColor: baseThemeStyles.colors.iconSecurity,
626
626
  title: t('accountOverview.items.searchSettings.title') || 'Search Settings',
627
627
  subtitle: t('accountOverview.items.searchSettings.subtitle') || 'SafeSearch and personalization',
@@ -629,7 +629,7 @@ const AccountOverviewScreen: React.FC<BaseScreenProps> = ({
629
629
  },
630
630
  {
631
631
  id: 'language-settings',
632
- icon: 'language',
632
+ icon: 'translate',
633
633
  iconColor: baseThemeStyles.colors.iconPersonalInfo,
634
634
  title: t('accountOverview.items.language.title') || 'Language',
635
635
  subtitle: t('accountOverview.items.language.subtitle') || 'Choose your preferred language',
@@ -637,7 +637,7 @@ const AccountOverviewScreen: React.FC<BaseScreenProps> = ({
637
637
  },
638
638
  {
639
639
  id: 'account-preferences',
640
- icon: 'settings',
640
+ icon: 'cog',
641
641
  iconColor: '#8E8E93',
642
642
  title: t('accountOverview.items.preferences.title'),
643
643
  subtitle: t('accountOverview.items.preferences.subtitle'),
@@ -653,7 +653,7 @@ const AccountOverviewScreen: React.FC<BaseScreenProps> = ({
653
653
  },
654
654
  {
655
655
  id: 'privacy-policy',
656
- icon: 'shield-checkmark',
656
+ icon: 'shield-check',
657
657
  iconColor: baseThemeStyles.colors.iconPersonalInfo,
658
658
  title: t('accountOverview.items.privacyPolicy.title') || 'Privacy Policy',
659
659
  subtitle: t('accountOverview.items.privacyPolicy.subtitle') || 'How we handle your data',
@@ -661,7 +661,7 @@ const AccountOverviewScreen: React.FC<BaseScreenProps> = ({
661
661
  },
662
662
  {
663
663
  id: 'terms-of-service',
664
- icon: 'document-text',
664
+ icon: 'file-document',
665
665
  iconColor: baseThemeStyles.colors.iconSecurity,
666
666
  title: t('accountOverview.items.termsOfService.title') || 'Terms of Service',
667
667
  subtitle: t('accountOverview.items.termsOfService.subtitle') || 'Terms and conditions of use',
@@ -677,7 +677,7 @@ const AccountOverviewScreen: React.FC<BaseScreenProps> = ({
677
677
  },
678
678
  {
679
679
  id: 'about',
680
- icon: 'information-circle',
680
+ icon: 'information',
681
681
  iconColor: '#8E8E93',
682
682
  title: t('accountOverview.items.about.title'),
683
683
  subtitle: t('accountOverview.items.about.subtitle'),
@@ -691,7 +691,7 @@ const AccountOverviewScreen: React.FC<BaseScreenProps> = ({
691
691
  {/* Sign Out */}
692
692
  <Section title={t('accountOverview.sections.actions')} >
693
693
  <GroupedItem
694
- icon="log-out"
694
+ icon="logout"
695
695
  iconColor="#FF3B30"
696
696
  title={t('accountOverview.items.signOut.title')}
697
697
  subtitle={t('accountOverview.items.signOut.subtitle')}
@@ -1038,10 +1038,10 @@ const AccountSettingsScreen: React.FC<BaseScreenProps & { initialField?: string;
1038
1038
  );
1039
1039
  }
1040
1040
  const fieldConfig = {
1041
- displayName: { label: 'Display Name', value: displayName, placeholder: 'Enter your display name', icon: 'person', color: colors.iconPersonalInfo, multiline: false, keyboardType: 'default' as const },
1041
+ displayName: { label: 'Display Name', value: displayName, placeholder: 'Enter your display name', icon: 'account', color: colors.iconPersonalInfo, multiline: false, keyboardType: 'default' as const },
1042
1042
  username: { label: 'Username', value: username, placeholder: 'Choose a username', icon: 'at', color: colors.iconData, multiline: false, keyboardType: 'default' as const },
1043
1043
  email: { label: 'Email', value: email, placeholder: 'Enter your email address', icon: 'mail', color: colors.iconStorage, multiline: false, keyboardType: 'email-address' as const },
1044
- bio: { label: 'Bio', value: bio, placeholder: 'Tell people about yourself...', icon: 'document-text', color: colors.iconPersonalInfo, multiline: true, keyboardType: 'default' as const },
1044
+ bio: { label: 'Bio', value: bio, placeholder: 'Tell people about yourself...', icon: 'file-document', color: colors.iconPersonalInfo, multiline: true, keyboardType: 'default' as const },
1045
1045
  location: { label: 'Location', value: location, placeholder: 'Enter your location', icon: 'location', color: colors.iconSharing, multiline: false, keyboardType: 'default' as const },
1046
1046
  links: { label: 'Links', value: links.join(', '), placeholder: 'Enter your links (comma separated)', icon: 'link', color: colors.iconPersonalInfo, multiline: false, keyboardType: 'url' as const }
1047
1047
  };
@@ -456,7 +456,7 @@ const ModernAccountSwitcherScreen: React.FC<BaseScreenProps> = ({
456
456
  items={[
457
457
  {
458
458
  id: 'add-account',
459
- icon: 'person-add',
459
+ icon: 'account-plus',
460
460
  iconColor: '#007AFF',
461
461
  title: 'Add Another Account',
462
462
  subtitle: 'Sign in with a different account',
@@ -464,7 +464,7 @@ const ModernAccountSwitcherScreen: React.FC<BaseScreenProps> = ({
464
464
  },
465
465
  {
466
466
  id: 'device-management',
467
- icon: 'phone-portrait',
467
+ icon: 'cellphone',
468
468
  iconColor: '#5856D6',
469
469
  title: `${showDeviceManagement ? 'Hide' : 'Manage'} Device Sessions`,
470
470
  subtitle: 'View and manage sessions on other devices',
@@ -472,7 +472,7 @@ const ModernAccountSwitcherScreen: React.FC<BaseScreenProps> = ({
472
472
  },
473
473
  {
474
474
  id: 'sign-out-all',
475
- icon: 'log-out',
475
+ icon: 'logout',
476
476
  iconColor: '#FF3B30',
477
477
  title: 'Sign Out All Accounts',
478
478
  subtitle: 'Remove all accounts from this device',
@@ -511,7 +511,7 @@ const ModernAccountSwitcherScreen: React.FC<BaseScreenProps> = ({
511
511
  items={[
512
512
  {
513
513
  id: 'no-device-sessions',
514
- icon: 'phone-portrait',
514
+ icon: 'cellphone',
515
515
  iconColor: '#ccc',
516
516
  title: t('accountSwitcher.device.noneTitle') || 'No device sessions found',
517
517
  subtitle: t('accountSwitcher.device.noneSubtitle') || 'Device session management not available',
@@ -524,7 +524,7 @@ const ModernAccountSwitcherScreen: React.FC<BaseScreenProps> = ({
524
524
  <GroupedSection
525
525
  items={deviceSessions.map((session, index) => ({
526
526
  id: `device-session-${session.sessionId}`,
527
- icon: session.isCurrent ? 'phone-portrait' : 'phone-portrait-outline',
527
+ icon: session.isCurrent ? 'cellphone' : 'cellphone-basic',
528
528
  iconColor: session.isCurrent ? '#34C759' : '#8E8E93',
529
529
  title: `${session.deviceName} ${session.isCurrent ? '(' + (t('accountSwitcher.device.thisDevice') || 'This device') + ')' : ''}`,
530
530
  subtitle: t('accountSwitcher.device.lastActive', { date: new Date(session.lastActive).toLocaleDateString() }) || `Last active: ${new Date(session.lastActive).toLocaleDateString()}`,
@@ -557,7 +557,7 @@ const ModernAccountSwitcherScreen: React.FC<BaseScreenProps> = ({
557
557
  items={[
558
558
  {
559
559
  id: 'empty-state',
560
- icon: 'person-outline',
560
+ icon: 'account-outline',
561
561
  iconColor: '#ccc',
562
562
  title: t('accountSwitcher.empty.title') || 'No saved accounts',
563
563
  subtitle: t('accountSwitcher.empty.subtitle') || 'Add another account to switch between them quickly',
@@ -605,9 +605,9 @@ const styles = StyleSheet.create({
605
605
  },
606
606
  sectionTitle: {
607
607
  fontSize: 16,
608
- fontWeight: '600',
608
+ fontWeight: Platform.OS === 'web' ? '600' : undefined,
609
+ fontFamily: fontFamilies.phuduSemiBold,
609
610
  color: '#333',
610
- marginBottom: 12,
611
611
  },
612
612
  settingItem: {
613
613
  backgroundColor: '#fff',
@@ -175,7 +175,7 @@ const AppInfoScreen: React.FC<BaseScreenProps> = ({
175
175
  items={[
176
176
  {
177
177
  id: 'name',
178
- icon: 'information-circle',
178
+ icon: 'information',
179
179
  iconColor: themeStyles.colors.iconSecurity,
180
180
  title: 'Name',
181
181
  subtitle: packageInfo.name,
@@ -184,7 +184,7 @@ const AppInfoScreen: React.FC<BaseScreenProps> = ({
184
184
  },
185
185
  {
186
186
  id: 'version',
187
- icon: 'pricetag',
187
+ icon: 'tag',
188
188
  iconColor: themeStyles.colors.iconData,
189
189
  title: 'Version',
190
190
  subtitle: packageInfo.version,
@@ -192,14 +192,14 @@ const AppInfoScreen: React.FC<BaseScreenProps> = ({
192
192
  },
193
193
  {
194
194
  id: 'description',
195
- icon: 'document-text',
195
+ icon: 'file-document',
196
196
  iconColor: themeStyles.colors.iconPersonalInfo,
197
197
  title: 'Description',
198
198
  subtitle: packageInfo.description || 'No description',
199
199
  },
200
200
  {
201
201
  id: 'main-entry',
202
- icon: 'code',
202
+ icon: 'code-tags',
203
203
  iconColor: themeStyles.colors.iconStorage,
204
204
  title: 'Main Entry',
205
205
  subtitle: packageInfo.main || 'N/A',
@@ -215,7 +215,7 @@ const AppInfoScreen: React.FC<BaseScreenProps> = ({
215
215
  },
216
216
  {
217
217
  id: 'types-entry',
218
- icon: 'construct',
218
+ icon: 'wrench',
219
219
  iconColor: themeStyles.colors.iconPersonalInfo,
220
220
  title: 'Types Entry',
221
221
  subtitle: packageInfo.types || 'N/A',
@@ -231,14 +231,14 @@ const AppInfoScreen: React.FC<BaseScreenProps> = ({
231
231
  items={[
232
232
  {
233
233
  id: 'platform',
234
- icon: 'phone-portrait',
234
+ icon: 'cellphone',
235
235
  iconColor: themeStyles.colors.iconSecurity,
236
236
  title: 'Platform',
237
237
  subtitle: Platform.OS,
238
238
  },
239
239
  {
240
240
  id: 'platform-version',
241
- icon: 'hardware-chip',
241
+ icon: 'chip',
242
242
  iconColor: themeStyles.colors.iconData,
243
243
  title: 'Platform Version',
244
244
  subtitle: systemInfo?.version || 'Loading...',
@@ -259,7 +259,7 @@ const AppInfoScreen: React.FC<BaseScreenProps> = ({
259
259
  },
260
260
  {
261
261
  id: 'environment',
262
- icon: 'settings',
262
+ icon: 'cog',
263
263
  iconColor: themeStyles.colors.iconPersonalInfo,
264
264
  title: 'Environment',
265
265
  subtitle: __DEV__ ? 'Development' : 'Production',
@@ -274,7 +274,7 @@ const AppInfoScreen: React.FC<BaseScreenProps> = ({
274
274
  items={[
275
275
  {
276
276
  id: 'auth-status',
277
- icon: 'shield-checkmark',
277
+ icon: 'shield-check',
278
278
  iconColor: isAuthenticated ? themeStyles.colors.iconPersonalInfo : themeStyles.colors.iconSharing,
279
279
  title: 'Authentication Status',
280
280
  subtitle: isAuthenticated ? 'Authenticated' : 'Not Authenticated',
@@ -282,7 +282,7 @@ const AppInfoScreen: React.FC<BaseScreenProps> = ({
282
282
  ...(user ? [
283
283
  {
284
284
  id: 'user-id',
285
- icon: 'person',
285
+ icon: 'account',
286
286
  iconColor: themeStyles.colors.iconSecurity,
287
287
  title: 'User ID',
288
288
  subtitle: user.id,
@@ -319,7 +319,7 @@ const AppInfoScreen: React.FC<BaseScreenProps> = ({
319
319
  ] : []),
320
320
  {
321
321
  id: 'active-sessions',
322
- icon: 'people',
322
+ icon: 'account-group',
323
323
  iconColor: themeStyles.colors.iconPersonalInfo,
324
324
  title: 'Total Active Sessions',
325
325
  subtitle: sessions?.length?.toString() || '0',
@@ -375,7 +375,7 @@ const AppInfoScreen: React.FC<BaseScreenProps> = ({
375
375
  items={[
376
376
  {
377
377
  id: 'build-timestamp',
378
- icon: 'time',
378
+ icon: 'clock',
379
379
  iconColor: themeStyles.colors.iconSecurity,
380
380
  title: 'Build Timestamp',
381
381
  subtitle: systemInfo?.timestamp || 'Loading...',
@@ -383,7 +383,7 @@ const AppInfoScreen: React.FC<BaseScreenProps> = ({
383
383
  },
384
384
  {
385
385
  id: 'react-native',
386
- icon: 'logo-react',
386
+ icon: 'react',
387
387
  iconColor: '#61DAFB',
388
388
  title: 'React Native',
389
389
  subtitle: 'Expo/React Native',
@@ -405,7 +405,7 @@ const AppInfoScreen: React.FC<BaseScreenProps> = ({
405
405
  items={[
406
406
  {
407
407
  id: 'copy-full-report',
408
- icon: 'copy',
408
+ icon: 'content-copy',
409
409
  iconColor: themeStyles.colors.iconSecurity,
410
410
  title: 'Copy Full Report',
411
411
  subtitle: 'Copy complete application information to clipboard',
@@ -413,7 +413,7 @@ const AppInfoScreen: React.FC<BaseScreenProps> = ({
413
413
  },
414
414
  {
415
415
  id: 'run-system-check',
416
- icon: isRunningSystemCheck ? 'sync' : 'checkmark-circle',
416
+ icon: isRunningSystemCheck ? 'sync' : 'check-circle',
417
417
  iconColor: isRunningSystemCheck ? '#FF9500' : '#34C759',
418
418
  title: isRunningSystemCheck ? 'Running System Check...' : 'Run System Check',
419
419
  subtitle: isRunningSystemCheck
@@ -648,7 +648,7 @@ const FeedbackScreen: React.FC<BaseScreenProps> = ({
648
648
 
649
649
  const categoryItems = useMemo(() => (feedbackData.type ? (CATEGORIES[feedbackData.type as keyof typeof CATEGORIES] || []).map(cat => ({
650
650
  id: cat,
651
- icon: feedbackData.category === cat ? 'checkmark-circle' : 'ellipse-outline',
651
+ icon: feedbackData.category === cat ? 'check-circle' : 'ellipse-outline',
652
652
  iconColor: feedbackData.category === cat ? colors.primary : colors.secondaryText,
653
653
  title: cat,
654
654
  onPress: () => updateField('category', cat),
@@ -2007,7 +2007,7 @@ const FileManagementScreen: React.FC<FileManagementScreenProps> = ({
2007
2007
  key: 'delete',
2008
2008
  text: `Delete (${selectedIds.size})`,
2009
2009
  onPress: handleBulkDelete,
2010
- icon: 'trash',
2010
+ icon: 'delete',
2011
2011
  },
2012
2012
  {
2013
2013
  key: 'visibility',