@oxyhq/services 6.9.46 → 6.10.1

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 (812) hide show
  1. package/lib/commonjs/index.js +36 -13
  2. package/lib/commonjs/index.js.map +1 -1
  3. package/lib/commonjs/ui/client.js +0 -20
  4. package/lib/commonjs/ui/client.js.map +1 -1
  5. package/lib/commonjs/ui/components/ActingAsBanner.js +0 -4
  6. package/lib/commonjs/ui/components/ActingAsBanner.js.map +1 -1
  7. package/lib/commonjs/ui/components/ActivityIndicator.js +1 -1
  8. package/lib/commonjs/ui/components/ActivityIndicator.js.map +1 -1
  9. package/lib/commonjs/ui/components/Avatar.js +0 -2
  10. package/lib/commonjs/ui/components/Avatar.js.map +1 -1
  11. package/lib/commonjs/ui/components/BottomSheet.js +33 -398
  12. package/lib/commonjs/ui/components/BottomSheet.js.map +1 -1
  13. package/lib/commonjs/ui/components/BottomSheetRouter.js +8 -0
  14. package/lib/commonjs/ui/components/BottomSheetRouter.js.map +1 -1
  15. package/lib/commonjs/ui/components/FollowButton.js +3 -5
  16. package/lib/commonjs/ui/components/FollowButton.js.map +1 -1
  17. package/lib/commonjs/ui/components/Header.js +0 -5
  18. package/lib/commonjs/ui/components/Header.js.map +1 -1
  19. package/lib/commonjs/ui/components/Icon.js +6 -7
  20. package/lib/commonjs/ui/components/Icon.js.map +1 -1
  21. package/lib/commonjs/ui/components/IconButton/IconButton.js +1 -5
  22. package/lib/commonjs/ui/components/IconButton/IconButton.js.map +1 -1
  23. package/lib/commonjs/ui/components/OxyPayButton.js +0 -2
  24. package/lib/commonjs/ui/components/OxyPayButton.js.map +1 -1
  25. package/lib/commonjs/ui/components/OxyProvider.js +100 -37
  26. package/lib/commonjs/ui/components/OxyProvider.js.map +1 -1
  27. package/lib/commonjs/ui/components/OxySignInButton.js +23 -9
  28. package/lib/commonjs/ui/components/OxySignInButton.js.map +1 -1
  29. package/lib/commonjs/ui/components/ProfileCard.js +11 -8
  30. package/lib/commonjs/ui/components/ProfileCard.js.map +1 -1
  31. package/lib/commonjs/ui/components/QuickActions.js +2 -2
  32. package/lib/commonjs/ui/components/QuickActions.js.map +1 -1
  33. package/lib/commonjs/ui/components/SignInModal.js +139 -284
  34. package/lib/commonjs/ui/components/SignInModal.js.map +1 -1
  35. package/lib/commonjs/ui/components/StepBasedScreen.js +0 -2
  36. package/lib/commonjs/ui/components/StepBasedScreen.js.map +1 -1
  37. package/lib/commonjs/ui/components/TextField.js +0 -1
  38. package/lib/commonjs/ui/components/TextField.js.map +1 -1
  39. package/lib/commonjs/ui/components/TouchableRipple/TouchableRipple.native.js +1 -1
  40. package/lib/commonjs/ui/components/TouchableRipple/TouchableRipple.native.js.map +1 -1
  41. package/lib/commonjs/ui/components/feedback/feedbackStyles.js +0 -2
  42. package/lib/commonjs/ui/components/feedback/feedbackStyles.js.map +1 -1
  43. package/lib/commonjs/ui/components/fileManagement/AnimatedButton.js +0 -2
  44. package/lib/commonjs/ui/components/fileManagement/AnimatedButton.js.map +1 -1
  45. package/lib/commonjs/ui/components/fileManagement/FileDetailsModal.js +80 -76
  46. package/lib/commonjs/ui/components/fileManagement/FileDetailsModal.js.map +1 -1
  47. package/lib/commonjs/ui/components/fileManagement/FileViewer.js +6 -8
  48. package/lib/commonjs/ui/components/fileManagement/FileViewer.js.map +1 -1
  49. package/lib/commonjs/ui/components/fileManagement/UploadPreview.js +18 -23
  50. package/lib/commonjs/ui/components/fileManagement/UploadPreview.js.map +1 -1
  51. package/lib/commonjs/ui/components/fileManagement/styles.js +213 -25
  52. package/lib/commonjs/ui/components/fileManagement/styles.js.map +1 -1
  53. package/lib/commonjs/ui/components/logo/LogoIcon.js +63 -0
  54. package/lib/commonjs/ui/components/logo/LogoIcon.js.map +1 -0
  55. package/lib/commonjs/ui/components/logo/LogoText.js +50 -0
  56. package/lib/commonjs/ui/components/logo/LogoText.js.map +1 -0
  57. package/lib/commonjs/ui/components/modals/DeleteAccountModal.js +54 -88
  58. package/lib/commonjs/ui/components/modals/DeleteAccountModal.js.map +1 -1
  59. package/lib/commonjs/ui/components/payment/PaymentDetailsStep.js +2 -2
  60. package/lib/commonjs/ui/components/payment/PaymentDetailsStep.js.map +1 -1
  61. package/lib/commonjs/ui/components/payment/PaymentReviewStep.js +1 -1
  62. package/lib/commonjs/ui/components/payment/PaymentReviewStep.js.map +1 -1
  63. package/lib/commonjs/ui/components/payment/PaymentSuccessStep.js +1 -1
  64. package/lib/commonjs/ui/components/payment/PaymentSuccessStep.js.map +1 -1
  65. package/lib/commonjs/ui/components/payment/paymentStyles.js +2 -10
  66. package/lib/commonjs/ui/components/payment/paymentStyles.js.map +1 -1
  67. package/lib/commonjs/ui/components/styles/overlay.js +7 -9
  68. package/lib/commonjs/ui/components/styles/overlay.js.map +1 -1
  69. package/lib/commonjs/ui/components/theming.js +0 -1
  70. package/lib/commonjs/ui/components/theming.js.map +1 -1
  71. package/lib/commonjs/ui/context/OxyContext.js +34 -21
  72. package/lib/commonjs/ui/context/OxyContext.js.map +1 -1
  73. package/lib/commonjs/ui/context/hooks/useAuthOperations.js +1 -3
  74. package/lib/commonjs/ui/context/hooks/useAuthOperations.js.map +1 -1
  75. package/lib/commonjs/ui/hooks/index.js +32 -12
  76. package/lib/commonjs/ui/hooks/index.js.map +1 -1
  77. package/lib/commonjs/ui/hooks/mutations/mutationFactory.js +10 -5
  78. package/lib/commonjs/ui/hooks/mutations/mutationFactory.js.map +1 -1
  79. package/lib/commonjs/ui/hooks/mutations/mutationKeys.js +34 -0
  80. package/lib/commonjs/ui/hooks/mutations/mutationKeys.js.map +1 -0
  81. package/lib/commonjs/ui/hooks/mutations/useAccountMutations.js +235 -57
  82. package/lib/commonjs/ui/hooks/mutations/useAccountMutations.js.map +1 -1
  83. package/lib/commonjs/ui/hooks/mutations/useServicesMutations.js +17 -13
  84. package/lib/commonjs/ui/hooks/mutations/useServicesMutations.js.map +1 -1
  85. package/lib/commonjs/ui/hooks/queries/index.js +6 -0
  86. package/lib/commonjs/ui/hooks/queries/index.js.map +1 -1
  87. package/lib/commonjs/ui/hooks/queries/queryKeys.js +2 -1
  88. package/lib/commonjs/ui/hooks/queries/queryKeys.js.map +1 -1
  89. package/lib/commonjs/ui/hooks/queries/useAccountQueries.js +80 -3
  90. package/lib/commonjs/ui/hooks/queries/useAccountQueries.js.map +1 -1
  91. package/lib/commonjs/ui/hooks/queries/useSecurityQueries.js +36 -1
  92. package/lib/commonjs/ui/hooks/queries/useSecurityQueries.js.map +1 -1
  93. package/lib/commonjs/ui/hooks/queryClient.js +168 -70
  94. package/lib/commonjs/ui/hooks/queryClient.js.map +1 -1
  95. package/lib/commonjs/ui/hooks/useAsyncAction.js +7 -7
  96. package/lib/commonjs/ui/hooks/useAsyncAction.js.map +1 -1
  97. package/lib/commonjs/ui/hooks/useAuth.js +0 -8
  98. package/lib/commonjs/ui/hooks/useAuth.js.map +1 -1
  99. package/lib/commonjs/ui/hooks/useAvatarPicker.js +71 -20
  100. package/lib/commonjs/ui/hooks/useAvatarPicker.js.map +1 -1
  101. package/lib/commonjs/ui/hooks/useFileDownloadUrl.js +12 -41
  102. package/lib/commonjs/ui/hooks/useFileDownloadUrl.js.map +1 -1
  103. package/lib/commonjs/ui/hooks/useMutationStatus.js +86 -0
  104. package/lib/commonjs/ui/hooks/useMutationStatus.js.map +1 -0
  105. package/lib/commonjs/ui/hooks/useOnlineStatus.js +33 -0
  106. package/lib/commonjs/ui/hooks/useOnlineStatus.js.map +1 -0
  107. package/lib/commonjs/ui/hooks/useSessionSocket.js +101 -130
  108. package/lib/commonjs/ui/hooks/useSessionSocket.js.map +1 -1
  109. package/lib/commonjs/ui/hooks/useSettingToggle.js +4 -4
  110. package/lib/commonjs/ui/hooks/useSettingToggle.js.map +1 -1
  111. package/lib/commonjs/ui/index.js +1 -11
  112. package/lib/commonjs/ui/index.js.map +1 -1
  113. package/lib/commonjs/ui/navigation/routes.js +55 -3
  114. package/lib/commonjs/ui/navigation/routes.js.map +1 -1
  115. package/lib/commonjs/ui/screens/AccountCenterScreen.js +16 -16
  116. package/lib/commonjs/ui/screens/AccountCenterScreen.js.map +1 -1
  117. package/lib/commonjs/ui/screens/AccountOverviewScreen.js +108 -123
  118. package/lib/commonjs/ui/screens/AccountOverviewScreen.js.map +1 -1
  119. package/lib/commonjs/ui/screens/AccountSettingsScreen.js +20 -19
  120. package/lib/commonjs/ui/screens/AccountSettingsScreen.js.map +1 -1
  121. package/lib/commonjs/ui/screens/AccountSwitcherScreen.js +204 -161
  122. package/lib/commonjs/ui/screens/AccountSwitcherScreen.js.map +1 -1
  123. package/lib/commonjs/ui/screens/AccountVerificationScreen.js +18 -18
  124. package/lib/commonjs/ui/screens/AccountVerificationScreen.js.map +1 -1
  125. package/lib/commonjs/ui/screens/AppInfoScreen.js +22 -23
  126. package/lib/commonjs/ui/screens/AppInfoScreen.js.map +1 -1
  127. package/lib/commonjs/ui/screens/AvatarCropScreen.js +939 -0
  128. package/lib/commonjs/ui/screens/AvatarCropScreen.js.map +1 -0
  129. package/lib/commonjs/ui/screens/CreateManagedAccountScreen.js +13 -20
  130. package/lib/commonjs/ui/screens/CreateManagedAccountScreen.js.map +1 -1
  131. package/lib/commonjs/ui/screens/EditProfileFieldScreen.js +10 -13
  132. package/lib/commonjs/ui/screens/EditProfileFieldScreen.js.map +1 -1
  133. package/lib/commonjs/ui/screens/FAQScreen.js +4 -4
  134. package/lib/commonjs/ui/screens/FAQScreen.js.map +1 -1
  135. package/lib/commonjs/ui/screens/FeedbackScreen.js +17 -15
  136. package/lib/commonjs/ui/screens/FeedbackScreen.js.map +1 -1
  137. package/lib/commonjs/ui/screens/FileManagementScreen.js +797 -159
  138. package/lib/commonjs/ui/screens/FileManagementScreen.js.map +1 -1
  139. package/lib/commonjs/ui/screens/HelpSupportScreen.js +8 -9
  140. package/lib/commonjs/ui/screens/HelpSupportScreen.js.map +1 -1
  141. package/lib/commonjs/ui/screens/HistoryViewScreen.js +29 -21
  142. package/lib/commonjs/ui/screens/HistoryViewScreen.js.map +1 -1
  143. package/lib/commonjs/ui/screens/LanguageSelectorScreen.js +3 -5
  144. package/lib/commonjs/ui/screens/LanguageSelectorScreen.js.map +1 -1
  145. package/lib/commonjs/ui/screens/LegalDocumentsScreen.js +5 -5
  146. package/lib/commonjs/ui/screens/LegalDocumentsScreen.js.map +1 -1
  147. package/lib/commonjs/ui/screens/PaymentGatewayScreen.js +2 -2
  148. package/lib/commonjs/ui/screens/PremiumSubscriptionScreen.js +75 -73
  149. package/lib/commonjs/ui/screens/PremiumSubscriptionScreen.js.map +1 -1
  150. package/lib/commonjs/ui/screens/PrivacySettingsScreen.js +32 -21
  151. package/lib/commonjs/ui/screens/PrivacySettingsScreen.js.map +1 -1
  152. package/lib/commonjs/ui/screens/ProfileScreen.js +4 -3
  153. package/lib/commonjs/ui/screens/ProfileScreen.js.map +1 -1
  154. package/lib/commonjs/ui/screens/SavesCollectionsScreen.js +3 -3
  155. package/lib/commonjs/ui/screens/SavesCollectionsScreen.js.map +1 -1
  156. package/lib/commonjs/ui/screens/SessionManagementScreen.js +57 -56
  157. package/lib/commonjs/ui/screens/SessionManagementScreen.js.map +1 -1
  158. package/lib/commonjs/ui/screens/UserLinksScreen.js +2 -3
  159. package/lib/commonjs/ui/screens/UserLinksScreen.js.map +1 -1
  160. package/lib/commonjs/ui/screens/UserListScreen.js +39 -22
  161. package/lib/commonjs/ui/screens/UserListScreen.js.map +1 -1
  162. package/lib/commonjs/ui/screens/WelcomeNewUserScreen.js +18 -21
  163. package/lib/commonjs/ui/screens/WelcomeNewUserScreen.js.map +1 -1
  164. package/lib/commonjs/ui/screens/karma/KarmaAboutScreen.js +0 -3
  165. package/lib/commonjs/ui/screens/karma/KarmaAboutScreen.js.map +1 -1
  166. package/lib/commonjs/ui/screens/karma/KarmaCenterScreen.js +6 -10
  167. package/lib/commonjs/ui/screens/karma/KarmaCenterScreen.js.map +1 -1
  168. package/lib/commonjs/ui/screens/karma/KarmaFAQScreen.js +1 -1
  169. package/lib/commonjs/ui/screens/karma/KarmaFAQScreen.js.map +1 -1
  170. package/lib/commonjs/ui/screens/karma/KarmaLeaderboardScreen.js +6 -6
  171. package/lib/commonjs/ui/screens/karma/KarmaLeaderboardScreen.js.map +1 -1
  172. package/lib/commonjs/ui/screens/karma/KarmaRewardsScreen.js +13 -19
  173. package/lib/commonjs/ui/screens/karma/KarmaRewardsScreen.js.map +1 -1
  174. package/lib/commonjs/ui/screens/karma/KarmaRulesScreen.js +5 -5
  175. package/lib/commonjs/ui/screens/karma/KarmaRulesScreen.js.map +1 -1
  176. package/lib/commonjs/ui/server.js +0 -5
  177. package/lib/commonjs/ui/server.js.map +1 -1
  178. package/lib/commonjs/ui/styles/authStyles.js +0 -5
  179. package/lib/commonjs/ui/styles/authStyles.js.map +1 -1
  180. package/lib/commonjs/ui/styles/index.js +0 -11
  181. package/lib/commonjs/ui/styles/index.js.map +1 -1
  182. package/lib/commonjs/ui/styles/spacing.js +1 -42
  183. package/lib/commonjs/ui/styles/spacing.js.map +1 -1
  184. package/lib/commonjs/ui/styles/theme.js +0 -4
  185. package/lib/commonjs/ui/styles/theme.js.map +1 -1
  186. package/lib/commonjs/ui/utils/fileManagement.js +58 -39
  187. package/lib/commonjs/ui/utils/fileManagement.js.map +1 -1
  188. package/lib/commonjs/ui/utils/sessionHelpers.js +3 -1
  189. package/lib/commonjs/ui/utils/sessionHelpers.js.map +1 -1
  190. package/lib/commonjs/ui/utils/userUtils.js +33 -16
  191. package/lib/commonjs/ui/utils/userUtils.js.map +1 -1
  192. package/lib/module/index.js +9 -5
  193. package/lib/module/index.js.map +1 -1
  194. package/lib/module/ui/client.js +0 -6
  195. package/lib/module/ui/client.js.map +1 -1
  196. package/lib/module/ui/components/ActingAsBanner.js +0 -4
  197. package/lib/module/ui/components/ActingAsBanner.js.map +1 -1
  198. package/lib/module/ui/components/ActivityIndicator.js +1 -1
  199. package/lib/module/ui/components/ActivityIndicator.js.map +1 -1
  200. package/lib/module/ui/components/Avatar.js +0 -2
  201. package/lib/module/ui/components/Avatar.js.map +1 -1
  202. package/lib/module/ui/components/BottomSheet.js +35 -400
  203. package/lib/module/ui/components/BottomSheet.js.map +1 -1
  204. package/lib/module/ui/components/BottomSheetRouter.js +9 -1
  205. package/lib/module/ui/components/BottomSheetRouter.js.map +1 -1
  206. package/lib/module/ui/components/FollowButton.js +2 -4
  207. package/lib/module/ui/components/FollowButton.js.map +1 -1
  208. package/lib/module/ui/components/Header.js +0 -5
  209. package/lib/module/ui/components/Header.js.map +1 -1
  210. package/lib/module/ui/components/Icon.js +6 -7
  211. package/lib/module/ui/components/Icon.js.map +1 -1
  212. package/lib/module/ui/components/IconButton/IconButton.js +1 -5
  213. package/lib/module/ui/components/IconButton/IconButton.js.map +1 -1
  214. package/lib/module/ui/components/OxyPayButton.js +0 -2
  215. package/lib/module/ui/components/OxyPayButton.js.map +1 -1
  216. package/lib/module/ui/components/OxyProvider.js +103 -40
  217. package/lib/module/ui/components/OxyProvider.js.map +1 -1
  218. package/lib/module/ui/components/OxySignInButton.js +23 -9
  219. package/lib/module/ui/components/OxySignInButton.js.map +1 -1
  220. package/lib/module/ui/components/ProfileCard.js +11 -8
  221. package/lib/module/ui/components/ProfileCard.js.map +1 -1
  222. package/lib/module/ui/components/QuickActions.js +2 -2
  223. package/lib/module/ui/components/QuickActions.js.map +1 -1
  224. package/lib/module/ui/components/SignInModal.js +137 -284
  225. package/lib/module/ui/components/SignInModal.js.map +1 -1
  226. package/lib/module/ui/components/StepBasedScreen.js +0 -2
  227. package/lib/module/ui/components/StepBasedScreen.js.map +1 -1
  228. package/lib/module/ui/components/TextField.js +0 -1
  229. package/lib/module/ui/components/TextField.js.map +1 -1
  230. package/lib/module/ui/components/TouchableRipple/TouchableRipple.native.js +1 -1
  231. package/lib/module/ui/components/TouchableRipple/TouchableRipple.native.js.map +1 -1
  232. package/lib/module/ui/components/feedback/feedbackStyles.js +0 -2
  233. package/lib/module/ui/components/feedback/feedbackStyles.js.map +1 -1
  234. package/lib/module/ui/components/fileManagement/AnimatedButton.js +0 -1
  235. package/lib/module/ui/components/fileManagement/AnimatedButton.js.map +1 -1
  236. package/lib/module/ui/components/fileManagement/FileDetailsModal.js +80 -75
  237. package/lib/module/ui/components/fileManagement/FileDetailsModal.js.map +1 -1
  238. package/lib/module/ui/components/fileManagement/FileViewer.js +6 -7
  239. package/lib/module/ui/components/fileManagement/FileViewer.js.map +1 -1
  240. package/lib/module/ui/components/fileManagement/UploadPreview.js +18 -22
  241. package/lib/module/ui/components/fileManagement/UploadPreview.js.map +1 -1
  242. package/lib/module/ui/components/fileManagement/styles.js +212 -24
  243. package/lib/module/ui/components/fileManagement/styles.js.map +1 -1
  244. package/lib/module/ui/components/logo/LogoIcon.js +56 -0
  245. package/lib/module/ui/components/logo/LogoIcon.js.map +1 -0
  246. package/lib/module/ui/components/logo/LogoText.js +43 -0
  247. package/lib/module/ui/components/logo/LogoText.js.map +1 -0
  248. package/lib/module/ui/components/modals/DeleteAccountModal.js +55 -88
  249. package/lib/module/ui/components/modals/DeleteAccountModal.js.map +1 -1
  250. package/lib/module/ui/components/payment/PaymentDetailsStep.js +1 -1
  251. package/lib/module/ui/components/payment/PaymentDetailsStep.js.map +1 -1
  252. package/lib/module/ui/components/payment/PaymentReviewStep.js +1 -1
  253. package/lib/module/ui/components/payment/PaymentReviewStep.js.map +1 -1
  254. package/lib/module/ui/components/payment/PaymentSuccessStep.js +1 -1
  255. package/lib/module/ui/components/payment/PaymentSuccessStep.js.map +1 -1
  256. package/lib/module/ui/components/payment/paymentStyles.js +2 -10
  257. package/lib/module/ui/components/payment/paymentStyles.js.map +1 -1
  258. package/lib/module/ui/components/styles/overlay.js +8 -8
  259. package/lib/module/ui/components/styles/overlay.js.map +1 -1
  260. package/lib/module/ui/components/theming.js +0 -1
  261. package/lib/module/ui/components/theming.js.map +1 -1
  262. package/lib/module/ui/context/OxyContext.js +32 -19
  263. package/lib/module/ui/context/OxyContext.js.map +1 -1
  264. package/lib/module/ui/context/hooks/useAuthOperations.js +1 -3
  265. package/lib/module/ui/context/hooks/useAuthOperations.js.map +1 -1
  266. package/lib/module/ui/hooks/index.js +5 -3
  267. package/lib/module/ui/hooks/index.js.map +1 -1
  268. package/lib/module/ui/hooks/mutations/mutationFactory.js +6 -1
  269. package/lib/module/ui/hooks/mutations/mutationFactory.js.map +1 -1
  270. package/lib/module/ui/hooks/mutations/mutationKeys.js +30 -0
  271. package/lib/module/ui/hooks/mutations/mutationKeys.js.map +1 -0
  272. package/lib/module/ui/hooks/mutations/useAccountMutations.js +231 -52
  273. package/lib/module/ui/hooks/mutations/useAccountMutations.js.map +1 -1
  274. package/lib/module/ui/hooks/mutations/useServicesMutations.js +9 -5
  275. package/lib/module/ui/hooks/mutations/useServicesMutations.js.map +1 -1
  276. package/lib/module/ui/hooks/queries/index.js +1 -1
  277. package/lib/module/ui/hooks/queries/index.js.map +1 -1
  278. package/lib/module/ui/hooks/queries/queryKeys.js +2 -1
  279. package/lib/module/ui/hooks/queries/queryKeys.js.map +1 -1
  280. package/lib/module/ui/hooks/queries/useAccountQueries.js +80 -3
  281. package/lib/module/ui/hooks/queries/useAccountQueries.js.map +1 -1
  282. package/lib/module/ui/hooks/queries/useSecurityQueries.js +35 -1
  283. package/lib/module/ui/hooks/queries/useSecurityQueries.js.map +1 -1
  284. package/lib/module/ui/hooks/queryClient.js +166 -68
  285. package/lib/module/ui/hooks/queryClient.js.map +1 -1
  286. package/lib/module/ui/hooks/useAsyncAction.js +3 -3
  287. package/lib/module/ui/hooks/useAsyncAction.js.map +1 -1
  288. package/lib/module/ui/hooks/useAuth.js +0 -3
  289. package/lib/module/ui/hooks/useAuth.js.map +1 -1
  290. package/lib/module/ui/hooks/useAvatarPicker.js +73 -22
  291. package/lib/module/ui/hooks/useAvatarPicker.js.map +1 -1
  292. package/lib/module/ui/hooks/useFileDownloadUrl.js +11 -39
  293. package/lib/module/ui/hooks/useFileDownloadUrl.js.map +1 -1
  294. package/lib/module/ui/hooks/useMutationStatus.js +82 -0
  295. package/lib/module/ui/hooks/useMutationStatus.js.map +1 -0
  296. package/lib/module/ui/hooks/useOnlineStatus.js +29 -0
  297. package/lib/module/ui/hooks/useOnlineStatus.js.map +1 -0
  298. package/lib/module/ui/hooks/useSessionSocket.js +101 -130
  299. package/lib/module/ui/hooks/useSessionSocket.js.map +1 -1
  300. package/lib/module/ui/hooks/useSettingToggle.js +1 -1
  301. package/lib/module/ui/hooks/useSettingToggle.js.map +1 -1
  302. package/lib/module/ui/index.js +1 -10
  303. package/lib/module/ui/index.js.map +1 -1
  304. package/lib/module/ui/navigation/routes.js +54 -2
  305. package/lib/module/ui/navigation/routes.js.map +1 -1
  306. package/lib/module/ui/screens/AccountCenterScreen.js +15 -14
  307. package/lib/module/ui/screens/AccountCenterScreen.js.map +1 -1
  308. package/lib/module/ui/screens/AccountOverviewScreen.js +96 -111
  309. package/lib/module/ui/screens/AccountOverviewScreen.js.map +1 -1
  310. package/lib/module/ui/screens/AccountSettingsScreen.js +19 -18
  311. package/lib/module/ui/screens/AccountSettingsScreen.js.map +1 -1
  312. package/lib/module/ui/screens/AccountSwitcherScreen.js +189 -145
  313. package/lib/module/ui/screens/AccountSwitcherScreen.js.map +1 -1
  314. package/lib/module/ui/screens/AccountVerificationScreen.js +15 -15
  315. package/lib/module/ui/screens/AccountVerificationScreen.js.map +1 -1
  316. package/lib/module/ui/screens/AppInfoScreen.js +14 -15
  317. package/lib/module/ui/screens/AppInfoScreen.js.map +1 -1
  318. package/lib/module/ui/screens/AvatarCropScreen.js +936 -0
  319. package/lib/module/ui/screens/AvatarCropScreen.js.map +1 -0
  320. package/lib/module/ui/screens/CreateManagedAccountScreen.js +11 -18
  321. package/lib/module/ui/screens/CreateManagedAccountScreen.js.map +1 -1
  322. package/lib/module/ui/screens/EditProfileFieldScreen.js +8 -11
  323. package/lib/module/ui/screens/EditProfileFieldScreen.js.map +1 -1
  324. package/lib/module/ui/screens/FAQScreen.js +3 -3
  325. package/lib/module/ui/screens/FAQScreen.js.map +1 -1
  326. package/lib/module/ui/screens/FeedbackScreen.js +14 -12
  327. package/lib/module/ui/screens/FeedbackScreen.js.map +1 -1
  328. package/lib/module/ui/screens/FileManagementScreen.js +764 -125
  329. package/lib/module/ui/screens/FileManagementScreen.js.map +1 -1
  330. package/lib/module/ui/screens/HelpSupportScreen.js +2 -3
  331. package/lib/module/ui/screens/HelpSupportScreen.js.map +1 -1
  332. package/lib/module/ui/screens/HistoryViewScreen.js +26 -17
  333. package/lib/module/ui/screens/HistoryViewScreen.js.map +1 -1
  334. package/lib/module/ui/screens/LanguageSelectorScreen.js +1 -3
  335. package/lib/module/ui/screens/LanguageSelectorScreen.js.map +1 -1
  336. package/lib/module/ui/screens/LegalDocumentsScreen.js +3 -3
  337. package/lib/module/ui/screens/LegalDocumentsScreen.js.map +1 -1
  338. package/lib/module/ui/screens/PaymentGatewayScreen.js +2 -2
  339. package/lib/module/ui/screens/PremiumSubscriptionScreen.js +60 -57
  340. package/lib/module/ui/screens/PremiumSubscriptionScreen.js.map +1 -1
  341. package/lib/module/ui/screens/PrivacySettingsScreen.js +27 -16
  342. package/lib/module/ui/screens/PrivacySettingsScreen.js.map +1 -1
  343. package/lib/module/ui/screens/ProfileScreen.js +4 -3
  344. package/lib/module/ui/screens/ProfileScreen.js.map +1 -1
  345. package/lib/module/ui/screens/SavesCollectionsScreen.js +2 -2
  346. package/lib/module/ui/screens/SavesCollectionsScreen.js.map +1 -1
  347. package/lib/module/ui/screens/SessionManagementScreen.js +48 -47
  348. package/lib/module/ui/screens/SessionManagementScreen.js.map +1 -1
  349. package/lib/module/ui/screens/UserLinksScreen.js +2 -3
  350. package/lib/module/ui/screens/UserLinksScreen.js.map +1 -1
  351. package/lib/module/ui/screens/UserListScreen.js +40 -23
  352. package/lib/module/ui/screens/UserListScreen.js.map +1 -1
  353. package/lib/module/ui/screens/WelcomeNewUserScreen.js +16 -19
  354. package/lib/module/ui/screens/WelcomeNewUserScreen.js.map +1 -1
  355. package/lib/module/ui/screens/karma/KarmaAboutScreen.js +0 -3
  356. package/lib/module/ui/screens/karma/KarmaAboutScreen.js.map +1 -1
  357. package/lib/module/ui/screens/karma/KarmaCenterScreen.js +6 -10
  358. package/lib/module/ui/screens/karma/KarmaCenterScreen.js.map +1 -1
  359. package/lib/module/ui/screens/karma/KarmaFAQScreen.js +1 -1
  360. package/lib/module/ui/screens/karma/KarmaFAQScreen.js.map +1 -1
  361. package/lib/module/ui/screens/karma/KarmaLeaderboardScreen.js +6 -6
  362. package/lib/module/ui/screens/karma/KarmaLeaderboardScreen.js.map +1 -1
  363. package/lib/module/ui/screens/karma/KarmaRewardsScreen.js +13 -19
  364. package/lib/module/ui/screens/karma/KarmaRewardsScreen.js.map +1 -1
  365. package/lib/module/ui/screens/karma/KarmaRulesScreen.js +5 -5
  366. package/lib/module/ui/screens/karma/KarmaRulesScreen.js.map +1 -1
  367. package/lib/module/ui/server.js +0 -4
  368. package/lib/module/ui/server.js.map +1 -1
  369. package/lib/module/ui/styles/authStyles.js +0 -5
  370. package/lib/module/ui/styles/authStyles.js.map +1 -1
  371. package/lib/module/ui/styles/index.js +0 -1
  372. package/lib/module/ui/styles/index.js.map +1 -1
  373. package/lib/module/ui/styles/spacing.js +0 -42
  374. package/lib/module/ui/styles/spacing.js.map +1 -1
  375. package/lib/module/ui/styles/theme.js +0 -4
  376. package/lib/module/ui/styles/theme.js.map +1 -1
  377. package/lib/module/ui/utils/fileManagement.js +54 -36
  378. package/lib/module/ui/utils/fileManagement.js.map +1 -1
  379. package/lib/module/ui/utils/sessionHelpers.js +3 -1
  380. package/lib/module/ui/utils/sessionHelpers.js.map +1 -1
  381. package/lib/module/ui/utils/userUtils.js +34 -16
  382. package/lib/module/ui/utils/userUtils.js.map +1 -1
  383. package/lib/typescript/commonjs/index.d.ts +7 -3
  384. package/lib/typescript/commonjs/index.d.ts.map +1 -1
  385. package/lib/typescript/commonjs/ui/client.d.ts +0 -2
  386. package/lib/typescript/commonjs/ui/client.d.ts.map +1 -1
  387. package/lib/typescript/commonjs/ui/components/ActingAsBanner.d.ts.map +1 -1
  388. package/lib/typescript/commonjs/ui/components/Avatar.d.ts.map +1 -1
  389. package/lib/typescript/commonjs/ui/components/BottomSheet.d.ts +27 -27
  390. package/lib/typescript/commonjs/ui/components/BottomSheet.d.ts.map +1 -1
  391. package/lib/typescript/commonjs/ui/components/BottomSheetRouter.d.ts.map +1 -1
  392. package/lib/typescript/commonjs/ui/components/FollowButton.d.ts.map +1 -1
  393. package/lib/typescript/commonjs/ui/components/Header.d.ts.map +1 -1
  394. package/lib/typescript/commonjs/ui/components/Icon.d.ts +3 -2
  395. package/lib/typescript/commonjs/ui/components/Icon.d.ts.map +1 -1
  396. package/lib/typescript/commonjs/ui/components/IconButton/IconButton.d.ts.map +1 -1
  397. package/lib/typescript/commonjs/ui/components/OxyPayButton.d.ts.map +1 -1
  398. package/lib/typescript/commonjs/ui/components/OxyProvider.d.ts.map +1 -1
  399. package/lib/typescript/commonjs/ui/components/OxySignInButton.d.ts.map +1 -1
  400. package/lib/typescript/commonjs/ui/components/ProfileCard.d.ts +4 -1
  401. package/lib/typescript/commonjs/ui/components/ProfileCard.d.ts.map +1 -1
  402. package/lib/typescript/commonjs/ui/components/SignInModal.d.ts.map +1 -1
  403. package/lib/typescript/commonjs/ui/components/StepBasedScreen.d.ts.map +1 -1
  404. package/lib/typescript/commonjs/ui/components/TextField/Addons/Outline.d.ts +2 -2
  405. package/lib/typescript/commonjs/ui/components/TextField/helpers.d.ts +2 -2
  406. package/lib/typescript/commonjs/ui/components/TextField/types.d.ts +0 -1
  407. package/lib/typescript/commonjs/ui/components/TextField/types.d.ts.map +1 -1
  408. package/lib/typescript/commonjs/ui/components/TextField.d.ts +1 -1
  409. package/lib/typescript/commonjs/ui/components/TextField.d.ts.map +1 -1
  410. package/lib/typescript/commonjs/ui/components/feedback/feedbackStyles.d.ts +0 -1
  411. package/lib/typescript/commonjs/ui/components/feedback/feedbackStyles.d.ts.map +1 -1
  412. package/lib/typescript/commonjs/ui/components/fileManagement/AnimatedButton.d.ts.map +1 -1
  413. package/lib/typescript/commonjs/ui/components/fileManagement/FileDetailsModal.d.ts +1 -1
  414. package/lib/typescript/commonjs/ui/components/fileManagement/FileDetailsModal.d.ts.map +1 -1
  415. package/lib/typescript/commonjs/ui/components/fileManagement/FileViewer.d.ts +0 -2
  416. package/lib/typescript/commonjs/ui/components/fileManagement/FileViewer.d.ts.map +1 -1
  417. package/lib/typescript/commonjs/ui/components/fileManagement/UploadPreview.d.ts +3 -2
  418. package/lib/typescript/commonjs/ui/components/fileManagement/UploadPreview.d.ts.map +1 -1
  419. package/lib/typescript/commonjs/ui/components/fileManagement/styles.d.ts +200 -17
  420. package/lib/typescript/commonjs/ui/components/fileManagement/styles.d.ts.map +1 -1
  421. package/lib/typescript/commonjs/ui/components/logo/LogoIcon.d.ts +22 -0
  422. package/lib/typescript/commonjs/ui/components/logo/LogoIcon.d.ts.map +1 -0
  423. package/lib/typescript/commonjs/ui/components/logo/LogoText.d.ts +22 -0
  424. package/lib/typescript/commonjs/ui/components/logo/LogoText.d.ts.map +1 -0
  425. package/lib/typescript/commonjs/ui/components/modals/DeleteAccountModal.d.ts +2 -2
  426. package/lib/typescript/commonjs/ui/components/modals/DeleteAccountModal.d.ts.map +1 -1
  427. package/lib/typescript/commonjs/ui/components/payment/paymentStyles.d.ts +0 -7
  428. package/lib/typescript/commonjs/ui/components/payment/paymentStyles.d.ts.map +1 -1
  429. package/lib/typescript/commonjs/ui/components/styles/overlay.d.ts +3 -1
  430. package/lib/typescript/commonjs/ui/components/styles/overlay.d.ts.map +1 -1
  431. package/lib/typescript/commonjs/ui/components/theming.d.ts.map +1 -1
  432. package/lib/typescript/commonjs/ui/components/types.d.ts.map +1 -1
  433. package/lib/typescript/commonjs/ui/context/OxyContext.d.ts.map +1 -1
  434. package/lib/typescript/commonjs/ui/context/hooks/useAuthOperations.d.ts.map +1 -1
  435. package/lib/typescript/commonjs/ui/hooks/index.d.ts +5 -3
  436. package/lib/typescript/commonjs/ui/hooks/index.d.ts.map +1 -1
  437. package/lib/typescript/commonjs/ui/hooks/mutations/mutationFactory.d.ts +11 -0
  438. package/lib/typescript/commonjs/ui/hooks/mutations/mutationFactory.d.ts.map +1 -1
  439. package/lib/typescript/commonjs/ui/hooks/mutations/mutationKeys.d.ts +25 -0
  440. package/lib/typescript/commonjs/ui/hooks/mutations/mutationKeys.d.ts.map +1 -0
  441. package/lib/typescript/commonjs/ui/hooks/mutations/useAccountMutations.d.ts +161 -9
  442. package/lib/typescript/commonjs/ui/hooks/mutations/useAccountMutations.d.ts.map +1 -1
  443. package/lib/typescript/commonjs/ui/hooks/mutations/useServicesMutations.d.ts.map +1 -1
  444. package/lib/typescript/commonjs/ui/hooks/queries/index.d.ts +1 -1
  445. package/lib/typescript/commonjs/ui/hooks/queries/index.d.ts.map +1 -1
  446. package/lib/typescript/commonjs/ui/hooks/queries/queryKeys.d.ts +1 -0
  447. package/lib/typescript/commonjs/ui/hooks/queries/queryKeys.d.ts.map +1 -1
  448. package/lib/typescript/commonjs/ui/hooks/queries/useAccountQueries.d.ts +22 -8
  449. package/lib/typescript/commonjs/ui/hooks/queries/useAccountQueries.d.ts.map +1 -1
  450. package/lib/typescript/commonjs/ui/hooks/queries/useSecurityQueries.d.ts +13 -3
  451. package/lib/typescript/commonjs/ui/hooks/queries/useSecurityQueries.d.ts.map +1 -1
  452. package/lib/typescript/commonjs/ui/hooks/queries/useServicesQueries.d.ts +7 -5
  453. package/lib/typescript/commonjs/ui/hooks/queries/useServicesQueries.d.ts.map +1 -1
  454. package/lib/typescript/commonjs/ui/hooks/queryClient.d.ts +57 -9
  455. package/lib/typescript/commonjs/ui/hooks/queryClient.d.ts.map +1 -1
  456. package/lib/typescript/commonjs/ui/hooks/useAssets.d.ts +1 -1
  457. package/lib/typescript/commonjs/ui/hooks/useAuth.d.ts +0 -1
  458. package/lib/typescript/commonjs/ui/hooks/useAuth.d.ts.map +1 -1
  459. package/lib/typescript/commonjs/ui/hooks/useAvatarPicker.d.ts +10 -2
  460. package/lib/typescript/commonjs/ui/hooks/useAvatarPicker.d.ts.map +1 -1
  461. package/lib/typescript/commonjs/ui/hooks/useFileDownloadUrl.d.ts +2 -6
  462. package/lib/typescript/commonjs/ui/hooks/useFileDownloadUrl.d.ts.map +1 -1
  463. package/lib/typescript/commonjs/ui/hooks/useMutationStatus.d.ts +23 -0
  464. package/lib/typescript/commonjs/ui/hooks/useMutationStatus.d.ts.map +1 -0
  465. package/lib/typescript/commonjs/ui/hooks/useOnlineStatus.d.ts +13 -0
  466. package/lib/typescript/commonjs/ui/hooks/useOnlineStatus.d.ts.map +1 -0
  467. package/lib/typescript/commonjs/ui/hooks/useSessionSocket.d.ts +1 -2
  468. package/lib/typescript/commonjs/ui/hooks/useSessionSocket.d.ts.map +1 -1
  469. package/lib/typescript/commonjs/ui/index.d.ts +1 -4
  470. package/lib/typescript/commonjs/ui/index.d.ts.map +1 -1
  471. package/lib/typescript/commonjs/ui/navigation/routes.d.ts +48 -2
  472. package/lib/typescript/commonjs/ui/navigation/routes.d.ts.map +1 -1
  473. package/lib/typescript/commonjs/ui/screens/AccountCenterScreen.d.ts.map +1 -1
  474. package/lib/typescript/commonjs/ui/screens/AccountOverviewScreen.d.ts.map +1 -1
  475. package/lib/typescript/commonjs/ui/screens/AccountSettingsScreen.d.ts.map +1 -1
  476. package/lib/typescript/commonjs/ui/screens/AccountSwitcherScreen.d.ts.map +1 -1
  477. package/lib/typescript/commonjs/ui/screens/AppInfoScreen.d.ts.map +1 -1
  478. package/lib/typescript/commonjs/ui/screens/AvatarCropScreen.d.ts +49 -0
  479. package/lib/typescript/commonjs/ui/screens/AvatarCropScreen.d.ts.map +1 -0
  480. package/lib/typescript/commonjs/ui/screens/CreateManagedAccountScreen.d.ts.map +1 -1
  481. package/lib/typescript/commonjs/ui/screens/EditProfileFieldScreen.d.ts.map +1 -1
  482. package/lib/typescript/commonjs/ui/screens/FeedbackScreen.d.ts.map +1 -1
  483. package/lib/typescript/commonjs/ui/screens/FileManagementScreen.d.ts.map +1 -1
  484. package/lib/typescript/commonjs/ui/screens/HelpSupportScreen.d.ts.map +1 -1
  485. package/lib/typescript/commonjs/ui/screens/HistoryViewScreen.d.ts.map +1 -1
  486. package/lib/typescript/commonjs/ui/screens/LanguageSelectorScreen.d.ts.map +1 -1
  487. package/lib/typescript/commonjs/ui/screens/PremiumSubscriptionScreen.d.ts.map +1 -1
  488. package/lib/typescript/commonjs/ui/screens/PrivacySettingsScreen.d.ts.map +1 -1
  489. package/lib/typescript/commonjs/ui/screens/ProfileScreen.d.ts.map +1 -1
  490. package/lib/typescript/commonjs/ui/screens/SessionManagementScreen.d.ts.map +1 -1
  491. package/lib/typescript/commonjs/ui/screens/UserLinksScreen.d.ts.map +1 -1
  492. package/lib/typescript/commonjs/ui/screens/UserListScreen.d.ts.map +1 -1
  493. package/lib/typescript/commonjs/ui/screens/WelcomeNewUserScreen.d.ts.map +1 -1
  494. package/lib/typescript/commonjs/ui/screens/karma/KarmaAboutScreen.d.ts.map +1 -1
  495. package/lib/typescript/commonjs/ui/screens/karma/KarmaCenterScreen.d.ts.map +1 -1
  496. package/lib/typescript/commonjs/ui/screens/karma/KarmaLeaderboardScreen.d.ts.map +1 -1
  497. package/lib/typescript/commonjs/ui/screens/karma/KarmaRewardsScreen.d.ts.map +1 -1
  498. package/lib/typescript/commonjs/ui/screens/karma/KarmaRulesScreen.d.ts.map +1 -1
  499. package/lib/typescript/commonjs/ui/server.d.ts +0 -2
  500. package/lib/typescript/commonjs/ui/server.d.ts.map +1 -1
  501. package/lib/typescript/commonjs/ui/styles/authStyles.d.ts +0 -4
  502. package/lib/typescript/commonjs/ui/styles/authStyles.d.ts.map +1 -1
  503. package/lib/typescript/commonjs/ui/styles/index.d.ts +0 -1
  504. package/lib/typescript/commonjs/ui/styles/index.d.ts.map +1 -1
  505. package/lib/typescript/commonjs/ui/styles/spacing.d.ts +0 -36
  506. package/lib/typescript/commonjs/ui/styles/spacing.d.ts.map +1 -1
  507. package/lib/typescript/commonjs/ui/styles/theme.d.ts +0 -1
  508. package/lib/typescript/commonjs/ui/styles/theme.d.ts.map +1 -1
  509. package/lib/typescript/commonjs/ui/utils/fileManagement.d.ts +39 -12
  510. package/lib/typescript/commonjs/ui/utils/fileManagement.d.ts.map +1 -1
  511. package/lib/typescript/commonjs/ui/utils/sessionHelpers.d.ts +3 -1
  512. package/lib/typescript/commonjs/ui/utils/sessionHelpers.d.ts.map +1 -1
  513. package/lib/typescript/commonjs/ui/utils/userUtils.d.ts +19 -18
  514. package/lib/typescript/commonjs/ui/utils/userUtils.d.ts.map +1 -1
  515. package/lib/typescript/module/index.d.ts +7 -3
  516. package/lib/typescript/module/index.d.ts.map +1 -1
  517. package/lib/typescript/module/ui/client.d.ts +0 -2
  518. package/lib/typescript/module/ui/client.d.ts.map +1 -1
  519. package/lib/typescript/module/ui/components/ActingAsBanner.d.ts.map +1 -1
  520. package/lib/typescript/module/ui/components/Avatar.d.ts.map +1 -1
  521. package/lib/typescript/module/ui/components/BottomSheet.d.ts +27 -27
  522. package/lib/typescript/module/ui/components/BottomSheet.d.ts.map +1 -1
  523. package/lib/typescript/module/ui/components/BottomSheetRouter.d.ts.map +1 -1
  524. package/lib/typescript/module/ui/components/FollowButton.d.ts.map +1 -1
  525. package/lib/typescript/module/ui/components/Header.d.ts.map +1 -1
  526. package/lib/typescript/module/ui/components/Icon.d.ts +3 -2
  527. package/lib/typescript/module/ui/components/Icon.d.ts.map +1 -1
  528. package/lib/typescript/module/ui/components/IconButton/IconButton.d.ts.map +1 -1
  529. package/lib/typescript/module/ui/components/OxyPayButton.d.ts.map +1 -1
  530. package/lib/typescript/module/ui/components/OxyProvider.d.ts.map +1 -1
  531. package/lib/typescript/module/ui/components/OxySignInButton.d.ts.map +1 -1
  532. package/lib/typescript/module/ui/components/ProfileCard.d.ts +4 -1
  533. package/lib/typescript/module/ui/components/ProfileCard.d.ts.map +1 -1
  534. package/lib/typescript/module/ui/components/SignInModal.d.ts.map +1 -1
  535. package/lib/typescript/module/ui/components/StepBasedScreen.d.ts.map +1 -1
  536. package/lib/typescript/module/ui/components/TextField/Addons/Outline.d.ts +2 -2
  537. package/lib/typescript/module/ui/components/TextField/helpers.d.ts +2 -2
  538. package/lib/typescript/module/ui/components/TextField/types.d.ts +0 -1
  539. package/lib/typescript/module/ui/components/TextField/types.d.ts.map +1 -1
  540. package/lib/typescript/module/ui/components/TextField.d.ts +1 -1
  541. package/lib/typescript/module/ui/components/TextField.d.ts.map +1 -1
  542. package/lib/typescript/module/ui/components/feedback/feedbackStyles.d.ts +0 -1
  543. package/lib/typescript/module/ui/components/feedback/feedbackStyles.d.ts.map +1 -1
  544. package/lib/typescript/module/ui/components/fileManagement/AnimatedButton.d.ts.map +1 -1
  545. package/lib/typescript/module/ui/components/fileManagement/FileDetailsModal.d.ts +1 -1
  546. package/lib/typescript/module/ui/components/fileManagement/FileDetailsModal.d.ts.map +1 -1
  547. package/lib/typescript/module/ui/components/fileManagement/FileViewer.d.ts +0 -2
  548. package/lib/typescript/module/ui/components/fileManagement/FileViewer.d.ts.map +1 -1
  549. package/lib/typescript/module/ui/components/fileManagement/UploadPreview.d.ts +3 -2
  550. package/lib/typescript/module/ui/components/fileManagement/UploadPreview.d.ts.map +1 -1
  551. package/lib/typescript/module/ui/components/fileManagement/styles.d.ts +200 -17
  552. package/lib/typescript/module/ui/components/fileManagement/styles.d.ts.map +1 -1
  553. package/lib/typescript/module/ui/components/logo/LogoIcon.d.ts +22 -0
  554. package/lib/typescript/module/ui/components/logo/LogoIcon.d.ts.map +1 -0
  555. package/lib/typescript/module/ui/components/logo/LogoText.d.ts +22 -0
  556. package/lib/typescript/module/ui/components/logo/LogoText.d.ts.map +1 -0
  557. package/lib/typescript/module/ui/components/modals/DeleteAccountModal.d.ts +2 -2
  558. package/lib/typescript/module/ui/components/modals/DeleteAccountModal.d.ts.map +1 -1
  559. package/lib/typescript/module/ui/components/payment/paymentStyles.d.ts +0 -7
  560. package/lib/typescript/module/ui/components/payment/paymentStyles.d.ts.map +1 -1
  561. package/lib/typescript/module/ui/components/styles/overlay.d.ts +3 -1
  562. package/lib/typescript/module/ui/components/styles/overlay.d.ts.map +1 -1
  563. package/lib/typescript/module/ui/components/theming.d.ts.map +1 -1
  564. package/lib/typescript/module/ui/components/types.d.ts.map +1 -1
  565. package/lib/typescript/module/ui/context/OxyContext.d.ts.map +1 -1
  566. package/lib/typescript/module/ui/context/hooks/useAuthOperations.d.ts.map +1 -1
  567. package/lib/typescript/module/ui/hooks/index.d.ts +5 -3
  568. package/lib/typescript/module/ui/hooks/index.d.ts.map +1 -1
  569. package/lib/typescript/module/ui/hooks/mutations/mutationFactory.d.ts +11 -0
  570. package/lib/typescript/module/ui/hooks/mutations/mutationFactory.d.ts.map +1 -1
  571. package/lib/typescript/module/ui/hooks/mutations/mutationKeys.d.ts +25 -0
  572. package/lib/typescript/module/ui/hooks/mutations/mutationKeys.d.ts.map +1 -0
  573. package/lib/typescript/module/ui/hooks/mutations/useAccountMutations.d.ts +161 -9
  574. package/lib/typescript/module/ui/hooks/mutations/useAccountMutations.d.ts.map +1 -1
  575. package/lib/typescript/module/ui/hooks/mutations/useServicesMutations.d.ts.map +1 -1
  576. package/lib/typescript/module/ui/hooks/queries/index.d.ts +1 -1
  577. package/lib/typescript/module/ui/hooks/queries/index.d.ts.map +1 -1
  578. package/lib/typescript/module/ui/hooks/queries/queryKeys.d.ts +1 -0
  579. package/lib/typescript/module/ui/hooks/queries/queryKeys.d.ts.map +1 -1
  580. package/lib/typescript/module/ui/hooks/queries/useAccountQueries.d.ts +22 -8
  581. package/lib/typescript/module/ui/hooks/queries/useAccountQueries.d.ts.map +1 -1
  582. package/lib/typescript/module/ui/hooks/queries/useSecurityQueries.d.ts +13 -3
  583. package/lib/typescript/module/ui/hooks/queries/useSecurityQueries.d.ts.map +1 -1
  584. package/lib/typescript/module/ui/hooks/queries/useServicesQueries.d.ts +7 -5
  585. package/lib/typescript/module/ui/hooks/queries/useServicesQueries.d.ts.map +1 -1
  586. package/lib/typescript/module/ui/hooks/queryClient.d.ts +57 -9
  587. package/lib/typescript/module/ui/hooks/queryClient.d.ts.map +1 -1
  588. package/lib/typescript/module/ui/hooks/useAssets.d.ts +1 -1
  589. package/lib/typescript/module/ui/hooks/useAuth.d.ts +0 -1
  590. package/lib/typescript/module/ui/hooks/useAuth.d.ts.map +1 -1
  591. package/lib/typescript/module/ui/hooks/useAvatarPicker.d.ts +10 -2
  592. package/lib/typescript/module/ui/hooks/useAvatarPicker.d.ts.map +1 -1
  593. package/lib/typescript/module/ui/hooks/useFileDownloadUrl.d.ts +2 -6
  594. package/lib/typescript/module/ui/hooks/useFileDownloadUrl.d.ts.map +1 -1
  595. package/lib/typescript/module/ui/hooks/useMutationStatus.d.ts +23 -0
  596. package/lib/typescript/module/ui/hooks/useMutationStatus.d.ts.map +1 -0
  597. package/lib/typescript/module/ui/hooks/useOnlineStatus.d.ts +13 -0
  598. package/lib/typescript/module/ui/hooks/useOnlineStatus.d.ts.map +1 -0
  599. package/lib/typescript/module/ui/hooks/useSessionSocket.d.ts +1 -2
  600. package/lib/typescript/module/ui/hooks/useSessionSocket.d.ts.map +1 -1
  601. package/lib/typescript/module/ui/index.d.ts +1 -4
  602. package/lib/typescript/module/ui/index.d.ts.map +1 -1
  603. package/lib/typescript/module/ui/navigation/routes.d.ts +48 -2
  604. package/lib/typescript/module/ui/navigation/routes.d.ts.map +1 -1
  605. package/lib/typescript/module/ui/screens/AccountCenterScreen.d.ts.map +1 -1
  606. package/lib/typescript/module/ui/screens/AccountOverviewScreen.d.ts.map +1 -1
  607. package/lib/typescript/module/ui/screens/AccountSettingsScreen.d.ts.map +1 -1
  608. package/lib/typescript/module/ui/screens/AccountSwitcherScreen.d.ts.map +1 -1
  609. package/lib/typescript/module/ui/screens/AppInfoScreen.d.ts.map +1 -1
  610. package/lib/typescript/module/ui/screens/AvatarCropScreen.d.ts +49 -0
  611. package/lib/typescript/module/ui/screens/AvatarCropScreen.d.ts.map +1 -0
  612. package/lib/typescript/module/ui/screens/CreateManagedAccountScreen.d.ts.map +1 -1
  613. package/lib/typescript/module/ui/screens/EditProfileFieldScreen.d.ts.map +1 -1
  614. package/lib/typescript/module/ui/screens/FeedbackScreen.d.ts.map +1 -1
  615. package/lib/typescript/module/ui/screens/FileManagementScreen.d.ts.map +1 -1
  616. package/lib/typescript/module/ui/screens/HelpSupportScreen.d.ts.map +1 -1
  617. package/lib/typescript/module/ui/screens/HistoryViewScreen.d.ts.map +1 -1
  618. package/lib/typescript/module/ui/screens/LanguageSelectorScreen.d.ts.map +1 -1
  619. package/lib/typescript/module/ui/screens/PremiumSubscriptionScreen.d.ts.map +1 -1
  620. package/lib/typescript/module/ui/screens/PrivacySettingsScreen.d.ts.map +1 -1
  621. package/lib/typescript/module/ui/screens/ProfileScreen.d.ts.map +1 -1
  622. package/lib/typescript/module/ui/screens/SessionManagementScreen.d.ts.map +1 -1
  623. package/lib/typescript/module/ui/screens/UserLinksScreen.d.ts.map +1 -1
  624. package/lib/typescript/module/ui/screens/UserListScreen.d.ts.map +1 -1
  625. package/lib/typescript/module/ui/screens/WelcomeNewUserScreen.d.ts.map +1 -1
  626. package/lib/typescript/module/ui/screens/karma/KarmaAboutScreen.d.ts.map +1 -1
  627. package/lib/typescript/module/ui/screens/karma/KarmaCenterScreen.d.ts.map +1 -1
  628. package/lib/typescript/module/ui/screens/karma/KarmaLeaderboardScreen.d.ts.map +1 -1
  629. package/lib/typescript/module/ui/screens/karma/KarmaRewardsScreen.d.ts.map +1 -1
  630. package/lib/typescript/module/ui/screens/karma/KarmaRulesScreen.d.ts.map +1 -1
  631. package/lib/typescript/module/ui/server.d.ts +0 -2
  632. package/lib/typescript/module/ui/server.d.ts.map +1 -1
  633. package/lib/typescript/module/ui/styles/authStyles.d.ts +0 -4
  634. package/lib/typescript/module/ui/styles/authStyles.d.ts.map +1 -1
  635. package/lib/typescript/module/ui/styles/index.d.ts +0 -1
  636. package/lib/typescript/module/ui/styles/index.d.ts.map +1 -1
  637. package/lib/typescript/module/ui/styles/spacing.d.ts +0 -36
  638. package/lib/typescript/module/ui/styles/spacing.d.ts.map +1 -1
  639. package/lib/typescript/module/ui/styles/theme.d.ts +0 -1
  640. package/lib/typescript/module/ui/styles/theme.d.ts.map +1 -1
  641. package/lib/typescript/module/ui/utils/fileManagement.d.ts +39 -12
  642. package/lib/typescript/module/ui/utils/fileManagement.d.ts.map +1 -1
  643. package/lib/typescript/module/ui/utils/sessionHelpers.d.ts +3 -1
  644. package/lib/typescript/module/ui/utils/sessionHelpers.d.ts.map +1 -1
  645. package/lib/typescript/module/ui/utils/userUtils.d.ts +19 -18
  646. package/lib/typescript/module/ui/utils/userUtils.d.ts.map +1 -1
  647. package/lib/typescript/types/expo-vector-icons.d.ts +7 -4
  648. package/package.json +64 -31
  649. package/src/index.ts +11 -4
  650. package/src/types/expo-vector-icons.d.ts +7 -4
  651. package/src/ui/client.ts +0 -6
  652. package/src/ui/components/ActingAsBanner.tsx +0 -4
  653. package/src/ui/components/ActivityIndicator.tsx +1 -1
  654. package/src/ui/components/Avatar.tsx +0 -2
  655. package/src/ui/components/BottomSheet.tsx +41 -440
  656. package/src/ui/components/BottomSheetRouter.tsx +12 -1
  657. package/src/ui/components/FollowButton.tsx +2 -4
  658. package/src/ui/components/Header.tsx +0 -5
  659. package/src/ui/components/Icon.tsx +12 -6
  660. package/src/ui/components/IconButton/IconButton.tsx +0 -3
  661. package/src/ui/components/OxyPayButton.tsx +0 -2
  662. package/src/ui/components/OxyProvider.tsx +127 -48
  663. package/src/ui/components/OxySignInButton.tsx +21 -9
  664. package/src/ui/components/ProfileCard.tsx +13 -10
  665. package/src/ui/components/QuickActions.tsx +2 -2
  666. package/src/ui/components/SignInModal.tsx +80 -199
  667. package/src/ui/components/StepBasedScreen.tsx +0 -2
  668. package/src/ui/components/TextField/Addons/Outline.tsx +2 -2
  669. package/src/ui/components/TextField/helpers.tsx +2 -2
  670. package/src/ui/components/TextField/types.tsx +0 -1
  671. package/src/ui/components/TextField.tsx +1 -2
  672. package/src/ui/components/TouchableRipple/TouchableRipple.native.tsx +1 -1
  673. package/src/ui/components/feedback/feedbackStyles.ts +0 -2
  674. package/src/ui/components/fileManagement/AnimatedButton.tsx +0 -1
  675. package/src/ui/components/fileManagement/FileDetailsModal.tsx +71 -65
  676. package/src/ui/components/fileManagement/FileViewer.tsx +6 -9
  677. package/src/ui/components/fileManagement/UploadPreview.tsx +21 -25
  678. package/src/ui/components/fileManagement/styles.ts +206 -18
  679. package/src/ui/components/logo/LogoIcon.tsx +70 -0
  680. package/src/ui/components/logo/LogoText.tsx +70 -0
  681. package/src/ui/components/modals/DeleteAccountModal.tsx +56 -91
  682. package/src/ui/components/payment/PaymentDetailsStep.tsx +1 -1
  683. package/src/ui/components/payment/PaymentReviewStep.tsx +1 -1
  684. package/src/ui/components/payment/PaymentSuccessStep.tsx +1 -1
  685. package/src/ui/components/payment/paymentStyles.ts +0 -8
  686. package/src/ui/components/styles/overlay.tsx +17 -8
  687. package/src/ui/components/theming.tsx +0 -1
  688. package/src/ui/components/types.tsx +3 -2
  689. package/src/ui/context/OxyContext.tsx +34 -19
  690. package/src/ui/context/hooks/useAuthOperations.ts +1 -3
  691. package/src/ui/hooks/index.ts +11 -4
  692. package/src/ui/hooks/mutations/mutationFactory.ts +16 -1
  693. package/src/ui/hooks/mutations/mutationKeys.ts +28 -0
  694. package/src/ui/hooks/mutations/useAccountMutations.ts +251 -59
  695. package/src/ui/hooks/mutations/useServicesMutations.ts +10 -4
  696. package/src/ui/hooks/queries/index.ts +1 -0
  697. package/src/ui/hooks/queries/queryKeys.ts +2 -0
  698. package/src/ui/hooks/queries/useAccountQueries.ts +83 -3
  699. package/src/ui/hooks/queries/useSecurityQueries.ts +42 -2
  700. package/src/ui/hooks/queryClient.ts +194 -69
  701. package/src/ui/hooks/useAsyncAction.ts +3 -3
  702. package/src/ui/hooks/useAuth.ts +0 -2
  703. package/src/ui/hooks/useAvatarPicker.ts +108 -27
  704. package/src/ui/hooks/useFileDownloadUrl.ts +15 -39
  705. package/src/ui/hooks/useMutationStatus.ts +111 -0
  706. package/src/ui/hooks/useOnlineStatus.ts +29 -0
  707. package/src/ui/hooks/useSessionSocket.ts +136 -126
  708. package/src/ui/hooks/useSettingToggle.ts +1 -1
  709. package/src/ui/index.ts +0 -12
  710. package/src/ui/navigation/routes.ts +93 -2
  711. package/src/ui/screens/AccountCenterScreen.tsx +15 -13
  712. package/src/ui/screens/AccountOverviewScreen.tsx +94 -104
  713. package/src/ui/screens/AccountSettingsScreen.tsx +18 -17
  714. package/src/ui/screens/AccountSwitcherScreen.tsx +331 -298
  715. package/src/ui/screens/AccountVerificationScreen.tsx +15 -15
  716. package/src/ui/screens/AppInfoScreen.tsx +8 -13
  717. package/src/ui/screens/AvatarCropScreen.tsx +1073 -0
  718. package/src/ui/screens/CreateManagedAccountScreen.tsx +5 -16
  719. package/src/ui/screens/EditProfileFieldScreen.tsx +5 -10
  720. package/src/ui/screens/FAQScreen.tsx +3 -3
  721. package/src/ui/screens/FeedbackScreen.tsx +14 -12
  722. package/src/ui/screens/FileManagementScreen.tsx +885 -124
  723. package/src/ui/screens/HelpSupportScreen.tsx +2 -3
  724. package/src/ui/screens/HistoryViewScreen.tsx +24 -9
  725. package/src/ui/screens/LanguageSelectorScreen.tsx +1 -3
  726. package/src/ui/screens/LegalDocumentsScreen.tsx +3 -3
  727. package/src/ui/screens/PaymentGatewayScreen.tsx +2 -2
  728. package/src/ui/screens/PremiumSubscriptionScreen.tsx +51 -56
  729. package/src/ui/screens/PrivacySettingsScreen.tsx +22 -20
  730. package/src/ui/screens/ProfileScreen.tsx +1 -2
  731. package/src/ui/screens/SavesCollectionsScreen.tsx +2 -2
  732. package/src/ui/screens/SessionManagementScreen.tsx +35 -47
  733. package/src/ui/screens/UserLinksScreen.tsx +1 -2
  734. package/src/ui/screens/UserListScreen.tsx +30 -19
  735. package/src/ui/screens/WelcomeNewUserScreen.tsx +14 -18
  736. package/src/ui/screens/karma/KarmaAboutScreen.tsx +0 -3
  737. package/src/ui/screens/karma/KarmaCenterScreen.tsx +4 -8
  738. package/src/ui/screens/karma/KarmaFAQScreen.tsx +1 -1
  739. package/src/ui/screens/karma/KarmaLeaderboardScreen.tsx +3 -4
  740. package/src/ui/screens/karma/KarmaRewardsScreen.tsx +13 -18
  741. package/src/ui/screens/karma/KarmaRulesScreen.tsx +3 -4
  742. package/src/ui/server.ts +0 -4
  743. package/src/ui/styles/authStyles.ts +0 -5
  744. package/src/ui/styles/index.ts +0 -1
  745. package/src/ui/styles/spacing.ts +0 -43
  746. package/src/ui/styles/theme.ts +0 -4
  747. package/src/ui/utils/fileManagement.ts +66 -38
  748. package/src/ui/utils/sessionHelpers.ts +3 -1
  749. package/src/ui/utils/userUtils.ts +45 -29
  750. package/lib/commonjs/lib/sonner-safe.js +0 -32
  751. package/lib/commonjs/lib/sonner-safe.js.map +0 -1
  752. package/lib/commonjs/lib/sonner.js +0 -19
  753. package/lib/commonjs/lib/sonner.js.map +0 -1
  754. package/lib/commonjs/lib/sonner.native.js +0 -24
  755. package/lib/commonjs/lib/sonner.native.js.map +0 -1
  756. package/lib/commonjs/lib/sonner.web.js +0 -24
  757. package/lib/commonjs/lib/sonner.web.js.map +0 -1
  758. package/lib/commonjs/ui/hooks/useThemeColors.js +0 -33
  759. package/lib/commonjs/ui/hooks/useThemeColors.js.map +0 -1
  760. package/lib/commonjs/ui/hooks/useThemeStyles.js +0 -38
  761. package/lib/commonjs/ui/hooks/useThemeStyles.js.map +0 -1
  762. package/lib/commonjs/ui/styles/fonts.js +0 -84
  763. package/lib/commonjs/ui/styles/fonts.js.map +0 -1
  764. package/lib/module/lib/sonner-safe.js +0 -29
  765. package/lib/module/lib/sonner-safe.js.map +0 -1
  766. package/lib/module/lib/sonner.js +0 -14
  767. package/lib/module/lib/sonner.js.map +0 -1
  768. package/lib/module/lib/sonner.native.js +0 -19
  769. package/lib/module/lib/sonner.native.js.map +0 -1
  770. package/lib/module/lib/sonner.web.js +0 -19
  771. package/lib/module/lib/sonner.web.js.map +0 -1
  772. package/lib/module/ui/hooks/useThemeColors.js +0 -29
  773. package/lib/module/ui/hooks/useThemeColors.js.map +0 -1
  774. package/lib/module/ui/hooks/useThemeStyles.js +0 -33
  775. package/lib/module/ui/hooks/useThemeStyles.js.map +0 -1
  776. package/lib/module/ui/styles/fonts.js +0 -81
  777. package/lib/module/ui/styles/fonts.js.map +0 -1
  778. package/lib/typescript/commonjs/lib/sonner-safe.d.ts +0 -9
  779. package/lib/typescript/commonjs/lib/sonner-safe.d.ts.map +0 -1
  780. package/lib/typescript/commonjs/lib/sonner.d.ts +0 -12
  781. package/lib/typescript/commonjs/lib/sonner.d.ts.map +0 -1
  782. package/lib/typescript/commonjs/lib/sonner.native.d.ts +0 -15
  783. package/lib/typescript/commonjs/lib/sonner.native.d.ts.map +0 -1
  784. package/lib/typescript/commonjs/lib/sonner.web.d.ts +0 -15
  785. package/lib/typescript/commonjs/lib/sonner.web.d.ts.map +0 -1
  786. package/lib/typescript/commonjs/ui/hooks/useThemeColors.d.ts +0 -87
  787. package/lib/typescript/commonjs/ui/hooks/useThemeColors.d.ts.map +0 -1
  788. package/lib/typescript/commonjs/ui/hooks/useThemeStyles.d.ts +0 -22
  789. package/lib/typescript/commonjs/ui/hooks/useThemeStyles.d.ts.map +0 -1
  790. package/lib/typescript/commonjs/ui/styles/fonts.d.ts +0 -21
  791. package/lib/typescript/commonjs/ui/styles/fonts.d.ts.map +0 -1
  792. package/lib/typescript/module/lib/sonner-safe.d.ts +0 -9
  793. package/lib/typescript/module/lib/sonner-safe.d.ts.map +0 -1
  794. package/lib/typescript/module/lib/sonner.d.ts +0 -12
  795. package/lib/typescript/module/lib/sonner.d.ts.map +0 -1
  796. package/lib/typescript/module/lib/sonner.native.d.ts +0 -15
  797. package/lib/typescript/module/lib/sonner.native.d.ts.map +0 -1
  798. package/lib/typescript/module/lib/sonner.web.d.ts +0 -15
  799. package/lib/typescript/module/lib/sonner.web.d.ts.map +0 -1
  800. package/lib/typescript/module/ui/hooks/useThemeColors.d.ts +0 -87
  801. package/lib/typescript/module/ui/hooks/useThemeColors.d.ts.map +0 -1
  802. package/lib/typescript/module/ui/hooks/useThemeStyles.d.ts +0 -22
  803. package/lib/typescript/module/ui/hooks/useThemeStyles.d.ts.map +0 -1
  804. package/lib/typescript/module/ui/styles/fonts.d.ts +0 -21
  805. package/lib/typescript/module/ui/styles/fonts.d.ts.map +0 -1
  806. package/src/lib/sonner-safe.ts +0 -31
  807. package/src/lib/sonner.native.ts +0 -28
  808. package/src/lib/sonner.ts +0 -11
  809. package/src/lib/sonner.web.ts +0 -28
  810. package/src/ui/hooks/useThemeColors.ts +0 -27
  811. package/src/ui/hooks/useThemeStyles.ts +0 -50
  812. package/src/ui/styles/fonts.ts +0 -77
@@ -13,11 +13,9 @@ import {
13
13
  } from 'react-native';
14
14
  import type { BaseScreenProps } from '../types/navigation';
15
15
  import type { ClientSession } from '@oxyhq/core';
16
- import { fontFamilies } from '../styles/fonts';
17
16
  import type { User } from '@oxyhq/core';
18
- import { toast } from '../../lib/sonner';
19
- import * as Prompt from '@oxyhq/bloom/prompt';
20
- import { usePromptControl } from '@oxyhq/bloom/prompt';
17
+ import { getAccountDisplayName, getAccountFallbackHandle } from '@oxyhq/core';
18
+ import { Dialog, toast, useDialogControl } from '@oxyhq/bloom';
21
19
  import OxyIcon from '../components/icon/OxyIcon';
22
20
  import { Ionicons } from '@expo/vector-icons';
23
21
  import Avatar from '../components/Avatar';
@@ -84,13 +82,14 @@ const ModernAccountSwitcherScreen: React.FC<BaseScreenProps> = ({
84
82
  const [pendingRemoteLogout, setPendingRemoteLogout] = useState<{ sessionId: string; deviceName: string } | null>(null);
85
83
 
86
84
  // Prompt controls
87
- const removeSessionPrompt = usePromptControl();
88
- const logoutAllPrompt = usePromptControl();
89
- const remoteLogoutPrompt = usePromptControl();
90
- const logoutAllDevicesPrompt = usePromptControl();
85
+ const removeSessionDialog = useDialogControl();
86
+ const logoutAllDialog = useDialogControl();
87
+ const remoteLogoutDialog = useDialogControl();
88
+ const logoutAllDevicesDialog = useDialogControl();
91
89
 
92
90
  const screenWidth = Dimensions.get('window').width;
93
- const { t } = useI18n();
91
+ const { t, locale } = useI18n();
92
+ const styles = useMemo(() => createStyles(bloomTheme.colors), [bloomTheme.colors]);
94
93
 
95
94
  // Refresh sessions when screen loads
96
95
  useEffect(() => {
@@ -102,6 +101,22 @@ const ModernAccountSwitcherScreen: React.FC<BaseScreenProps> = ({
102
101
  // Memoize session IDs to prevent unnecessary re-renders
103
102
  const sessionIds = useMemo(() => sessions.map(s => s.sessionId).join(','), [sessions]);
104
103
 
104
+ // Re-load the session profiles whenever the active user's identity
105
+ // changes (e.g. the user just picked a username in the onboarding flow).
106
+ // Without this, the cached batch result still has the pre-username state
107
+ // and `@unknown` shows in the switcher even though the username is saved.
108
+ const activeUserSignature = useMemo(() => {
109
+ if (!user) return '';
110
+ const username = typeof user.username === 'string' ? user.username : '';
111
+ const avatar = typeof user.avatar === 'string' ? user.avatar : '';
112
+ const displayName = typeof user.name === 'string'
113
+ ? user.name
114
+ : typeof user.name === 'object' && user.name !== null
115
+ ? (user.name.full || user.name.first || '')
116
+ : '';
117
+ return `${username}|${avatar}|${displayName}`;
118
+ }, [user]);
119
+
105
120
  // Load user profiles for sessions
106
121
  // Production-ready: Optimized with batching, memoization, and error handling
107
122
  useEffect(() => {
@@ -126,7 +141,7 @@ const ModernAccountSwitcherScreen: React.FC<BaseScreenProps> = ({
126
141
 
127
142
  // Create a map for O(1) lookup
128
143
  const userProfileMap = new Map<string, User | null>();
129
- batchResults.forEach(({ sessionId, user }: { sessionId: string; user: any }) => {
144
+ batchResults.forEach(({ sessionId, user }: { sessionId: string; user: User | null }) => {
130
145
  userProfileMap.set(sessionId, user);
131
146
  });
132
147
 
@@ -160,7 +175,7 @@ const ModernAccountSwitcherScreen: React.FC<BaseScreenProps> = ({
160
175
  return () => {
161
176
  cancelled = true;
162
177
  };
163
- }, [sessionIds, oxyServices, sessions]);
178
+ }, [sessionIds, oxyServices, sessions, activeUserSignature]);
164
179
 
165
180
  const handleSwitchSession = useCallback(async (sessionId: string) => {
166
181
  if (sessionId === (activeSessionId ?? null)) return; // Already active session
@@ -186,8 +201,8 @@ const ModernAccountSwitcherScreen: React.FC<BaseScreenProps> = ({
186
201
  const confirmRemoveSession = useCallback((sessionId: string, displayName: string) => {
187
202
  if (removingUserId) return;
188
203
  setPendingRemoveSession({ sessionId, displayName });
189
- removeSessionPrompt.open();
190
- }, [removingUserId, removeSessionPrompt]);
204
+ removeSessionDialog.open();
205
+ }, [removingUserId, removeSessionDialog]);
191
206
 
192
207
  const handleRemoveSession = useCallback(async () => {
193
208
  if (!pendingRemoveSession) return;
@@ -208,8 +223,8 @@ const ModernAccountSwitcherScreen: React.FC<BaseScreenProps> = ({
208
223
  }, [pendingRemoveSession, removeSession, t]);
209
224
 
210
225
  const confirmLogoutAll = useCallback(() => {
211
- logoutAllPrompt.open();
212
- }, [logoutAllPrompt]);
226
+ logoutAllDialog.open();
227
+ }, [logoutAllDialog]);
213
228
 
214
229
  const handleLogoutAll = useCallback(async () => {
215
230
  try {
@@ -273,8 +288,8 @@ const ModernAccountSwitcherScreen: React.FC<BaseScreenProps> = ({
273
288
  const confirmRemoteSessionLogout = useCallback((sessionId: string, deviceName: string) => {
274
289
  if (remotingLogoutSessionId) return;
275
290
  setPendingRemoteLogout({ sessionId, deviceName });
276
- remoteLogoutPrompt.open();
277
- }, [remotingLogoutSessionId, remoteLogoutPrompt]);
291
+ remoteLogoutDialog.open();
292
+ }, [remotingLogoutSessionId, remoteLogoutDialog]);
278
293
 
279
294
  const handleRemoteSessionLogout = useCallback(async () => {
280
295
  if (!pendingRemoteLogout) return;
@@ -304,8 +319,8 @@ const ModernAccountSwitcherScreen: React.FC<BaseScreenProps> = ({
304
319
  }
305
320
 
306
321
  if (loggingOutAllDevices) return;
307
- logoutAllDevicesPrompt.open();
308
- }, [deviceSessions, loggingOutAllDevices, logoutAllDevicesPrompt, t]);
322
+ logoutAllDevicesDialog.open();
323
+ }, [deviceSessions, loggingOutAllDevices, logoutAllDevicesDialog, t]);
309
324
 
310
325
  const handleLogoutAllDevices = useCallback(async () => {
311
326
  setLoggingOutAllDevices(true);
@@ -355,44 +370,49 @@ const ModernAccountSwitcherScreen: React.FC<BaseScreenProps> = ({
355
370
  {isLoading ? (
356
371
  <LoadingState
357
372
  message={t('accountSwitcher.loading') || 'Loading accounts...'}
358
- color="#007AFF"
373
+ color={bloomTheme.colors.info}
359
374
  />
360
375
  ) : (
361
376
  <>
362
377
  {/* Current Account */}
363
- {isAuthenticated && user && (
364
- <View style={styles.section}>
365
- <Text style={styles.sectionTitle}>{t('accountSwitcher.sections.current') || 'Current Account'}</Text>
366
-
367
- <View style={[styles.settingItem, styles.firstSettingItem, styles.lastSettingItem, styles.currentAccountCard]}>
368
- <View style={styles.userIcon}>
369
- {user.avatar ? (
370
- <Image source={{ uri: oxyServices.getFileDownloadUrl(user.avatar, 'thumb') }} style={styles.accountAvatarImage} />
371
- ) : (
372
- <View style={styles.accountAvatarFallback}>
373
- <Text style={styles.accountAvatarText}>
374
- {(typeof user.name === 'string' ? user.name : user.name?.first || user.username)?.charAt(0).toUpperCase()}
375
- </Text>
378
+ {isAuthenticated && user && (() => {
379
+ const currentDisplayName = getAccountDisplayName(user, locale);
380
+ const currentHandle = getAccountFallbackHandle(user);
381
+ const avatarInitial = currentDisplayName.charAt(0).toUpperCase();
382
+ return (
383
+ <View style={styles.section}>
384
+ <Text style={styles.sectionTitle}>{t('accountSwitcher.sections.current') || 'Current Account'}</Text>
385
+
386
+ <View style={[styles.settingItem, styles.firstSettingItem, styles.lastSettingItem, styles.currentAccountCard]}>
387
+ <View style={styles.userIcon}>
388
+ {user.avatar ? (
389
+ <Image source={{ uri: oxyServices.getFileDownloadUrl(user.avatar, 'thumb') }} style={styles.accountAvatarImage} />
390
+ ) : (
391
+ <View style={styles.accountAvatarFallback}>
392
+ <Text style={styles.accountAvatarText}>{avatarInitial}</Text>
393
+ </View>
394
+ )}
395
+ <View style={styles.activeBadge}>
396
+ <OxyIcon name="checkmark" size={12} color={bloomTheme.colors.negativeForeground} />
376
397
  </View>
377
- )}
378
- <View style={styles.activeBadge}>
379
- <OxyIcon name="checkmark" size={12} color="#fff" />
380
398
  </View>
381
- </View>
382
- <View style={styles.settingInfo}>
383
- <View>
384
- <Text style={styles.settingLabel}>
385
- {typeof user.name === 'string' ? user.name : user.name?.full || user.name?.first || user.username}
386
- </Text>
387
- <Text style={styles.settingDescription}>{user.email || user.username}</Text>
399
+ <View style={styles.settingInfo}>
400
+ <View>
401
+ <Text style={styles.settingLabel}>{currentDisplayName}</Text>
402
+ {user.email || currentHandle ? (
403
+ <Text style={styles.settingDescription}>
404
+ {user.email || (currentHandle && user.username ? `@${currentHandle}` : currentHandle)}
405
+ </Text>
406
+ ) : null}
407
+ </View>
408
+ </View>
409
+ <View style={styles.currentBadge}>
410
+ <Text style={styles.currentBadgeText}>{t('accountSwitcher.currentBadge') || 'Current'}</Text>
388
411
  </View>
389
- </View>
390
- <View style={styles.currentBadge}>
391
- <Text style={styles.currentBadgeText}>{t('accountSwitcher.currentBadge') || 'Current'}</Text>
392
412
  </View>
393
413
  </View>
394
- </View>
395
- )}
414
+ );
415
+ })()}
396
416
 
397
417
  {/* Other Accounts */}
398
418
  {otherSessions.length > 0 && (
@@ -408,9 +428,11 @@ const ModernAccountSwitcherScreen: React.FC<BaseScreenProps> = ({
408
428
  const isRemoving = removingUserId === sessionWithUser.sessionId;
409
429
  const { userProfile, isLoadingProfile } = sessionWithUser;
410
430
 
411
- const displayName = typeof userProfile?.name === 'object'
412
- ? userProfile.name.full || userProfile.name.first || userProfile.username
413
- : userProfile?.name || userProfile?.username || 'Unknown User';
431
+ // Use the shared core helper so the fallback chain
432
+ // (name username publicKey → translated "Unnamed")
433
+ // is identical across every UI surface.
434
+ const displayName = getAccountDisplayName(userProfile, locale);
435
+ const fallbackHandle = getAccountFallbackHandle(userProfile);
414
436
 
415
437
  return (
416
438
  <View
@@ -424,7 +446,7 @@ const ModernAccountSwitcherScreen: React.FC<BaseScreenProps> = ({
424
446
  <View style={styles.userIcon}>
425
447
  {isLoadingProfile ? (
426
448
  <View style={styles.accountAvatarFallback}>
427
- <ActivityIndicator size="small" color="#007AFF" />
449
+ <ActivityIndicator size="small" color={bloomTheme.colors.info} />
428
450
  </View>
429
451
  ) : userProfile?.avatar ? (
430
452
  <Image source={{ uri: oxyServices.getFileDownloadUrl(userProfile.avatar, 'thumb') }} style={styles.accountAvatarImage} />
@@ -439,9 +461,11 @@ const ModernAccountSwitcherScreen: React.FC<BaseScreenProps> = ({
439
461
  <View style={styles.settingInfo}>
440
462
  <View>
441
463
  <Text style={styles.settingLabel}>{displayName}</Text>
442
- <Text style={styles.settingDescription}>
443
- @{userProfile?.username || 'unknown'}
444
- </Text>
464
+ {fallbackHandle ? (
465
+ <Text style={styles.settingDescription}>
466
+ {userProfile?.username ? `@${fallbackHandle}` : fallbackHandle}
467
+ </Text>
468
+ ) : null}
445
469
  </View>
446
470
  </View>
447
471
  <View style={styles.accountActions}>
@@ -451,7 +475,7 @@ const ModernAccountSwitcherScreen: React.FC<BaseScreenProps> = ({
451
475
  disabled={isSwitching || isRemoving}
452
476
  >
453
477
  {isSwitching ? (
454
- <ActivityIndicator size="small" color="#007AFF" />
478
+ <ActivityIndicator size="small" color={bloomTheme.colors.info} />
455
479
  ) : (
456
480
  <Text style={styles.switchButtonText}>Switch</Text>
457
481
  )}
@@ -462,9 +486,9 @@ const ModernAccountSwitcherScreen: React.FC<BaseScreenProps> = ({
462
486
  disabled={isSwitching || isRemoving}
463
487
  >
464
488
  {isRemoving ? (
465
- <ActivityIndicator size="small" color="#FF3B30" />
489
+ <ActivityIndicator size="small" color={bloomTheme.colors.error} />
466
490
  ) : (
467
- <OxyIcon name="trash" size={16} color="#FF3B30" />
491
+ <OxyIcon name="trash" size={16} color={bloomTheme.colors.error} />
468
492
  )}
469
493
  </TouchableOpacity>
470
494
  </View>
@@ -508,9 +532,7 @@ const ModernAccountSwitcherScreen: React.FC<BaseScreenProps> = ({
508
532
  const isFirst = index === 0;
509
533
  const isLast = index === managedAccounts.length - 1;
510
534
 
511
- const managedDisplayName = typeof account.name === 'object'
512
- ? account.name.full || account.name.first || account.username
513
- : account.name || account.username || 'Unknown';
535
+ const managedDisplayName = getAccountDisplayName(account, locale);
514
536
 
515
537
  // Determine the manager role for badge display
516
538
  const myRole = managed.managers?.find(
@@ -542,14 +564,21 @@ const ModernAccountSwitcherScreen: React.FC<BaseScreenProps> = ({
542
564
  )}
543
565
  {isActive && (
544
566
  <View style={styles.activeBadge}>
545
- <OxyIcon name="checkmark" size={12} color="#fff" />
567
+ <OxyIcon name="checkmark" size={12} color={bloomTheme.colors.negativeForeground} />
546
568
  </View>
547
569
  )}
548
570
  </View>
549
571
  <View style={styles.settingInfo}>
550
572
  <View>
551
573
  <Text style={styles.settingLabel}>{managedDisplayName}</Text>
552
- <Text style={styles.settingDescription}>@{account.username}</Text>
574
+ {(() => {
575
+ const handle = getAccountFallbackHandle(account);
576
+ return handle ? (
577
+ <Text style={styles.settingDescription}>
578
+ {account.username ? `@${handle}` : handle}
579
+ </Text>
580
+ ) : null;
581
+ })()}
553
582
  </View>
554
583
  </View>
555
584
  <View style={styles.accountActions}>
@@ -566,8 +595,8 @@ const ModernAccountSwitcherScreen: React.FC<BaseScreenProps> = ({
566
595
  onPress={() => handleSwitchToManagedAccount(managed.accountId)}
567
596
  disabled={isSwitching}
568
597
  >
569
- {isSwitching ? (
570
- <ActivityIndicator size="small" color="#fff" />
598
+ {isSwitching ? (
599
+ <ActivityIndicator size="small" color={bloomTheme.colors.negativeForeground} />
571
600
  ) : (
572
601
  <Text style={styles.switchButtonText}>Act As</Text>
573
602
  )}
@@ -585,12 +614,12 @@ const ModernAccountSwitcherScreen: React.FC<BaseScreenProps> = ({
585
614
  activeOpacity={0.7}
586
615
  >
587
616
  <View style={styles.userIcon}>
588
- <View style={[styles.accountAvatarFallback, { backgroundColor: '#007AFF20' }]}>
589
- <OxyIcon name="add" size={20} color="#007AFF" />
617
+ <View style={[styles.accountAvatarFallback, { backgroundColor: bloomTheme.colors.primarySubtle }]}>
618
+ <OxyIcon name="add" size={20} color={bloomTheme.colors.info} />
590
619
  </View>
591
620
  </View>
592
621
  <View style={styles.settingInfo}>
593
- <Text style={[styles.settingLabel, { color: '#007AFF' }]}>Create New Identity</Text>
622
+ <Text style={[styles.settingLabel, { color: bloomTheme.colors.info }]}>Create New Identity</Text>
594
623
  <Text style={styles.settingDescription}>Add a managed sub-account</Text>
595
624
  </View>
596
625
  </TouchableOpacity>
@@ -607,12 +636,12 @@ const ModernAccountSwitcherScreen: React.FC<BaseScreenProps> = ({
607
636
  activeOpacity={0.7}
608
637
  >
609
638
  <View style={styles.userIcon}>
610
- <View style={[styles.accountAvatarFallback, { backgroundColor: '#007AFF20' }]}>
611
- <OxyIcon name="add" size={20} color="#007AFF" />
639
+ <View style={[styles.accountAvatarFallback, { backgroundColor: bloomTheme.colors.primarySubtle }]}>
640
+ <OxyIcon name="add" size={20} color={bloomTheme.colors.info} />
612
641
  </View>
613
642
  </View>
614
643
  <View style={styles.settingInfo}>
615
- <Text style={[styles.settingLabel, { color: '#007AFF' }]}>Create New Identity</Text>
644
+ <Text style={[styles.settingLabel, { color: bloomTheme.colors.info }]}>Create New Identity</Text>
616
645
  <Text style={styles.settingDescription}>Create a managed sub-account you control</Text>
617
646
  </View>
618
647
  </TouchableOpacity>
@@ -623,19 +652,19 @@ const ModernAccountSwitcherScreen: React.FC<BaseScreenProps> = ({
623
652
  <View style={styles.section}>
624
653
  <SettingsListGroup title="Quick Actions">
625
654
  <SettingsListItem
626
- icon={<SettingsIcon name="account-plus" color="#007AFF" />}
655
+ icon={<SettingsIcon name="account-plus" color={bloomTheme.colors.info} />}
627
656
  title="Add Another Account"
628
657
  description="Sign in with a different account"
629
658
  onPress={() => navigate?.('OxyAuth')}
630
659
  />
631
660
  <SettingsListItem
632
- icon={<SettingsIcon name="cellphone" color="#5856D6" />}
661
+ icon={<SettingsIcon name="cellphone" color={bloomTheme.colors.secondary} />}
633
662
  title={`${showDeviceManagement ? 'Hide' : 'Manage'} Device Sessions`}
634
663
  description="View and manage sessions on other devices"
635
664
  onPress={() => setShowDeviceManagement(!showDeviceManagement)}
636
665
  />
637
666
  <SettingsListItem
638
- icon={<SettingsIcon name="logout" color="#FF3B30" />}
667
+ icon={<SettingsIcon name="logout" color={bloomTheme.colors.error} />}
639
668
  title="Sign Out All Accounts"
640
669
  description="Remove all accounts from this device"
641
670
  onPress={confirmLogoutAll}
@@ -653,18 +682,18 @@ const ModernAccountSwitcherScreen: React.FC<BaseScreenProps> = ({
653
682
  {loadingDeviceSessions ? (
654
683
  <SettingsListGroup>
655
684
  <SettingsListItem
656
- icon={<SettingsIcon name="sync" color="#007AFF" />}
685
+ icon={<SettingsIcon name="sync" color={bloomTheme.colors.info} />}
657
686
  title={t('accountSwitcher.device.loadingTitle') || 'Loading device sessions...'}
658
687
  description={t('accountSwitcher.device.loadingSubtitle') || 'Please wait while we fetch your device sessions'}
659
688
  disabled={true}
660
- rightElement={<ActivityIndicator size="small" color="#007AFF" />}
689
+ rightElement={<ActivityIndicator size="small" color={bloomTheme.colors.info} />}
661
690
  showChevron={false}
662
691
  />
663
692
  </SettingsListGroup>
664
693
  ) : deviceSessions.length === 0 ? (
665
694
  <SettingsListGroup>
666
695
  <SettingsListItem
667
- icon={<SettingsIcon name="cellphone" color="#ccc" />}
696
+ icon={<SettingsIcon name="cellphone" color={bloomTheme.colors.textTertiary} />}
668
697
  title={t('accountSwitcher.device.noneTitle') || 'No device sessions found'}
669
698
  description={t('accountSwitcher.device.noneSubtitle') || 'Device session management not available'}
670
699
  disabled={true}
@@ -676,7 +705,7 @@ const ModernAccountSwitcherScreen: React.FC<BaseScreenProps> = ({
676
705
  {deviceSessions.map((session) => (
677
706
  <SettingsListItem
678
707
  key={`device-session-${session.sessionId}`}
679
- icon={<SettingsIcon name={session.isCurrent ? 'cellphone' : 'cellphone-basic'} color={session.isCurrent ? '#34C759' : '#8E8E93'} />}
708
+ icon={<SettingsIcon name={session.isCurrent ? 'cellphone' : 'cellphone-basic'} color={session.isCurrent ? bloomTheme.colors.success : bloomTheme.colors.textTertiary} />}
680
709
  title={`${session.deviceName} ${session.isCurrent ? `(${t('accountSwitcher.device.thisDevice') || 'This device'})` : ''}`}
681
710
  description={t('accountSwitcher.device.lastActive', { date: new Date(session.lastActive).toLocaleDateString() }) || `Last active: ${new Date(session.lastActive).toLocaleDateString()}`}
682
711
  onPress={session.isCurrent ? undefined : () => confirmRemoteSessionLogout(session.sessionId, session.deviceName)}
@@ -689,9 +718,9 @@ const ModernAccountSwitcherScreen: React.FC<BaseScreenProps> = ({
689
718
  disabled={remotingLogoutSessionId === session.sessionId}
690
719
  >
691
720
  {remotingLogoutSessionId === session.sessionId ? (
692
- <ActivityIndicator size="small" color="#FF3B30" />
721
+ <ActivityIndicator size="small" color={bloomTheme.colors.error} />
693
722
  ) : (
694
- <OxyIcon name="log-out" size={16} color="#FF3B30" />
723
+ <OxyIcon name="log-out" size={16} color={bloomTheme.colors.error} />
695
724
  )}
696
725
  </TouchableOpacity>
697
726
  ) : undefined}
@@ -707,13 +736,13 @@ const ModernAccountSwitcherScreen: React.FC<BaseScreenProps> = ({
707
736
  <View style={styles.section}>
708
737
  <SettingsListGroup>
709
738
  <SettingsListItem
710
- icon={<SettingsIcon name="account-outline" color="#ccc" />}
739
+ icon={<SettingsIcon name="account-outline" color={bloomTheme.colors.textTertiary} />}
711
740
  title={t('accountSwitcher.empty.title') || 'No saved accounts'}
712
741
  description={t('accountSwitcher.empty.subtitle') || 'Add another account to switch between them quickly'}
713
742
  onPress={() => navigate?.('OxyAuth')}
714
743
  rightElement={
715
744
  <View style={styles.emptyStateContainer}>
716
- <OxyIcon name="person-outline" size={48} color="#ccc" />
745
+ <OxyIcon name="person-outline" size={48} color={bloomTheme.colors.textTertiary} />
717
746
  <Text style={styles.emptyStateTitle}>{t('accountSwitcher.empty.title') || 'No saved accounts'}</Text>
718
747
  <Text style={styles.emptyStateDescription}>
719
748
  {t('accountSwitcher.empty.subtitle') || 'Add another account to switch between them quickly'}
@@ -734,237 +763,241 @@ const ModernAccountSwitcherScreen: React.FC<BaseScreenProps> = ({
734
763
  </>
735
764
  )}
736
765
  </ScrollView>
737
- <Prompt.Basic
738
- control={removeSessionPrompt}
766
+ <Dialog
767
+ control={removeSessionDialog}
739
768
  title={t('accountSwitcher.confirms.removeTitle') || 'Remove Account'}
740
769
  description={pendingRemoveSession ? (t('accountSwitcher.confirms.remove', { displayName: pendingRemoveSession.displayName }) || `Are you sure you want to remove ${pendingRemoveSession.displayName} from this device? You'll need to sign in again to access this account.`) : ''}
741
- onConfirm={handleRemoveSession}
742
- confirmButtonCta={t('common.remove') || 'Remove'}
743
- confirmButtonColor='negative'
770
+ actions={[
771
+ { label: t('common.remove') || 'Remove', color: 'destructive', onPress: handleRemoveSession },
772
+ { label: t('common.cancel') || 'Cancel', color: 'cancel' },
773
+ ]}
744
774
  />
745
- <Prompt.Basic
746
- control={logoutAllPrompt}
775
+ <Dialog
776
+ control={logoutAllDialog}
747
777
  title={t('accountSwitcher.confirms.logoutAllTitle') || 'Sign Out All'}
748
778
  description={t('accountSwitcher.confirms.logoutAll') || 'Are you sure you want to sign out of all accounts? This will remove all saved accounts from this device.'}
749
- onConfirm={handleLogoutAll}
750
- confirmButtonCta={t('common.signOutAll') || 'Sign Out All'}
751
- confirmButtonColor='negative'
779
+ actions={[
780
+ { label: t('common.signOutAll') || 'Sign Out All', color: 'destructive', onPress: handleLogoutAll },
781
+ { label: t('common.cancel') || 'Cancel', color: 'cancel' },
782
+ ]}
752
783
  />
753
- <Prompt.Basic
754
- control={remoteLogoutPrompt}
784
+ <Dialog
785
+ control={remoteLogoutDialog}
755
786
  title={t('accountSwitcher.confirms.remoteLogoutTitle') || 'Remote Sign Out'}
756
787
  description={pendingRemoteLogout ? (t('accountSwitcher.confirms.remoteLogout', { deviceName: pendingRemoteLogout.deviceName }) || `Are you sure you want to sign out from "${pendingRemoteLogout.deviceName}"? This will end the session on that device.`) : ''}
757
- onConfirm={handleRemoteSessionLogout}
758
- confirmButtonCta={t('common.signOut') || 'Sign Out'}
759
- confirmButtonColor='negative'
788
+ actions={[
789
+ { label: t('common.signOut') || 'Sign Out', color: 'destructive', onPress: handleRemoteSessionLogout },
790
+ { label: t('common.cancel') || 'Cancel', color: 'cancel' },
791
+ ]}
760
792
  />
761
- <Prompt.Basic
762
- control={logoutAllDevicesPrompt}
793
+ <Dialog
794
+ control={logoutAllDevicesDialog}
763
795
  title={t('accountSwitcher.confirms.logoutOthersTitle') || 'Sign Out Other Devices'}
764
796
  description={t('accountSwitcher.confirms.logoutOthers', { count: otherDevicesCount }) || `Are you sure you want to sign out from all ${otherDevicesCount} other device(s)? This will end sessions on all other devices except this one.`}
765
- onConfirm={handleLogoutAllDevices}
766
- confirmButtonCta={t('common.signOutAll') || 'Sign Out All'}
767
- confirmButtonColor='negative'
797
+ actions={[
798
+ { label: t('common.signOutAll') || 'Sign Out All', color: 'destructive', onPress: handleLogoutAllDevices },
799
+ { label: t('common.cancel') || 'Cancel', color: 'cancel' },
800
+ ]}
768
801
  />
769
802
  </View>
770
803
  );
771
804
  };
772
805
 
773
- const styles = StyleSheet.create({
774
- container: {
775
- flex: 1,
776
- backgroundColor: '#f2f2f2',
777
- },
778
-
779
- content: {
780
- flex: 1,
781
- padding: 16,
782
- },
783
- section: {
784
- marginBottom: 24,
785
- },
786
- sectionTitle: {
787
- fontSize: 16,
788
- fontWeight: Platform.OS === 'web' ? '600' : undefined,
789
- fontFamily: fontFamilies.interSemiBold,
790
- color: '#333',
791
- },
792
- settingItem: {
793
- backgroundColor: '#fff',
794
- padding: 16,
795
- flexDirection: 'row',
796
- alignItems: 'center',
797
- justifyContent: 'space-between',
798
- marginBottom: 2,
799
- },
800
- firstSettingItem: {
801
- borderTopLeftRadius: 24,
802
- borderTopRightRadius: 24,
803
- },
804
- lastSettingItem: {
805
- borderBottomLeftRadius: 24,
806
- borderBottomRightRadius: 24,
807
- marginBottom: 8,
808
- },
809
- currentAccountCard: {
810
- borderWidth: 2,
811
- borderColor: '#007AFF',
812
- backgroundColor: '#007AFF08',
813
- },
814
- settingInfo: {
815
- flexDirection: 'row',
816
- alignItems: 'center',
817
- flex: 1,
818
- },
819
- settingLabel: {
820
- fontSize: 16,
821
- fontWeight: '500',
822
- color: '#333',
823
- marginBottom: 2,
824
- },
825
- settingDescription: {
826
- fontSize: 14,
827
- color: '#666',
828
- },
829
- userIcon: {
830
- marginRight: 12,
831
- position: 'relative',
832
- },
833
- accountAvatarImage: {
834
- width: 40,
835
- height: 40,
836
- borderRadius: 20,
837
- },
838
- accountAvatarFallback: {
839
- width: 40,
840
- height: 40,
841
- borderRadius: 20,
842
- backgroundColor: '#d169e5',
843
- alignItems: 'center',
844
- justifyContent: 'center',
845
- },
846
- accountAvatarText: {
847
- color: 'white',
848
- fontSize: 18,
849
- fontWeight: 'bold',
850
- },
851
- activeBadge: {
852
- position: 'absolute',
853
- top: -2,
854
- right: -2,
855
- width: 16,
856
- height: 16,
857
- borderRadius: 8,
858
- backgroundColor: '#34C759',
859
- alignItems: 'center',
860
- justifyContent: 'center',
861
- borderWidth: 2,
862
- borderColor: '#fff',
863
- },
864
- currentBadge: {
865
- backgroundColor: '#007AFF',
866
- paddingHorizontal: 8,
867
- paddingVertical: 4,
868
- borderRadius: 12,
869
- },
870
- currentBadgeText: {
871
- color: '#fff',
872
- fontSize: 12,
873
- fontWeight: '600',
874
- },
875
- accountActions: {
876
- flexDirection: 'row',
877
- alignItems: 'center',
878
- gap: 8,
879
- },
880
- switchButton: {
881
- backgroundColor: '#007AFF',
882
- paddingHorizontal: 16,
883
- paddingVertical: 8,
884
- borderRadius: 16,
885
- minWidth: 60,
886
- alignItems: 'center',
887
- },
888
- switchButtonText: {
889
- color: '#fff',
890
- fontSize: 14,
891
- fontWeight: '500',
892
- },
893
- removeButton: {
894
- padding: 8,
895
- borderRadius: 16,
896
- backgroundColor: '#fff',
897
- borderWidth: 1,
898
- borderColor: '#FF3B30',
899
- alignItems: 'center',
900
- justifyContent: 'center',
901
- },
902
- emptyStateContainer: {
903
- alignItems: 'center',
904
- paddingVertical: 32,
905
- paddingHorizontal: 20,
906
- },
907
- emptyStateTitle: {
908
- fontSize: 18,
909
- fontWeight: '600',
910
- color: '#333',
911
- marginTop: 16,
912
- marginBottom: 8,
913
- },
914
- emptyStateDescription: {
915
- fontSize: 14,
916
- color: '#666',
917
- textAlign: 'center',
918
- marginBottom: 24,
919
- lineHeight: 20,
920
- },
921
- addAccountButton: {
922
- backgroundColor: '#007AFF',
923
- paddingHorizontal: 24,
924
- paddingVertical: 12,
925
- borderRadius: 20,
926
- },
927
- addAccountButtonText: {
928
- color: '#fff',
929
- fontSize: 16,
930
- fontWeight: '600',
931
- },
932
- sectionSubtitle: {
933
- fontSize: 13,
934
- color: '#888',
935
- marginBottom: 12,
936
- },
937
- managedAvatarFallback: {
938
- backgroundColor: '#5856D6',
939
- },
940
- roleBadge: {
941
- backgroundColor: '#F2F2F7',
942
- paddingHorizontal: 8,
943
- paddingVertical: 3,
944
- borderRadius: 8,
945
- },
946
- roleBadgeText: {
947
- color: '#666',
948
- fontSize: 11,
949
- fontWeight: '500',
950
- textTransform: 'capitalize',
951
- },
952
- actingAsBanner: {
953
- borderWidth: 2,
954
- borderColor: '#FF9500',
955
- backgroundColor: '#FF950010',
956
- },
957
- switchBackButton: {
958
- backgroundColor: '#FF9500',
959
- paddingHorizontal: 14,
960
- paddingVertical: 8,
961
- borderRadius: 16,
962
- },
963
- switchBackButtonText: {
964
- color: '#fff',
965
- fontSize: 13,
966
- fontWeight: '600',
967
- },
968
- });
806
+ const createStyles = (colors: ReturnType<typeof useTheme>['colors']) =>
807
+ StyleSheet.create({
808
+ container: {
809
+ flex: 1,
810
+ backgroundColor: colors.background,
811
+ },
812
+
813
+ content: {
814
+ flex: 1,
815
+ padding: 16,
816
+ },
817
+ section: {
818
+ marginBottom: 24,
819
+ },
820
+ sectionTitle: {
821
+ fontSize: 16,
822
+ fontWeight: Platform.OS === 'web' ? '600' : undefined,
823
+ color: colors.text,
824
+ },
825
+ settingItem: {
826
+ backgroundColor: colors.card,
827
+ padding: 16,
828
+ flexDirection: 'row',
829
+ alignItems: 'center',
830
+ justifyContent: 'space-between',
831
+ marginBottom: 2,
832
+ },
833
+ firstSettingItem: {
834
+ borderTopLeftRadius: 24,
835
+ borderTopRightRadius: 24,
836
+ },
837
+ lastSettingItem: {
838
+ borderBottomLeftRadius: 24,
839
+ borderBottomRightRadius: 24,
840
+ marginBottom: 8,
841
+ },
842
+ currentAccountCard: {
843
+ borderWidth: 2,
844
+ borderColor: colors.info,
845
+ backgroundColor: colors.primarySubtle,
846
+ },
847
+ settingInfo: {
848
+ flexDirection: 'row',
849
+ alignItems: 'center',
850
+ flex: 1,
851
+ },
852
+ settingLabel: {
853
+ fontSize: 16,
854
+ fontWeight: '500',
855
+ color: colors.text,
856
+ marginBottom: 2,
857
+ },
858
+ settingDescription: {
859
+ fontSize: 14,
860
+ color: colors.textSecondary,
861
+ },
862
+ userIcon: {
863
+ marginRight: 12,
864
+ position: 'relative',
865
+ },
866
+ accountAvatarImage: {
867
+ width: 40,
868
+ height: 40,
869
+ borderRadius: 20,
870
+ },
871
+ accountAvatarFallback: {
872
+ width: 40,
873
+ height: 40,
874
+ borderRadius: 20,
875
+ backgroundColor: colors.primary,
876
+ alignItems: 'center',
877
+ justifyContent: 'center',
878
+ },
879
+ accountAvatarText: {
880
+ color: colors.negativeForeground,
881
+ fontSize: 18,
882
+ fontWeight: 'bold',
883
+ },
884
+ activeBadge: {
885
+ position: 'absolute',
886
+ top: -2,
887
+ right: -2,
888
+ width: 16,
889
+ height: 16,
890
+ borderRadius: 8,
891
+ backgroundColor: colors.success,
892
+ alignItems: 'center',
893
+ justifyContent: 'center',
894
+ borderWidth: 2,
895
+ borderColor: colors.card,
896
+ },
897
+ currentBadge: {
898
+ backgroundColor: colors.info,
899
+ paddingHorizontal: 8,
900
+ paddingVertical: 4,
901
+ borderRadius: 12,
902
+ },
903
+ currentBadgeText: {
904
+ color: colors.negativeForeground,
905
+ fontSize: 12,
906
+ fontWeight: '600',
907
+ },
908
+ accountActions: {
909
+ flexDirection: 'row',
910
+ alignItems: 'center',
911
+ gap: 8,
912
+ },
913
+ switchButton: {
914
+ backgroundColor: colors.info,
915
+ paddingHorizontal: 16,
916
+ paddingVertical: 8,
917
+ borderRadius: 16,
918
+ minWidth: 60,
919
+ alignItems: 'center',
920
+ },
921
+ switchButtonText: {
922
+ color: colors.negativeForeground,
923
+ fontSize: 14,
924
+ fontWeight: '500',
925
+ },
926
+ removeButton: {
927
+ padding: 8,
928
+ borderRadius: 16,
929
+ backgroundColor: colors.card,
930
+ borderWidth: 1,
931
+ borderColor: colors.error,
932
+ alignItems: 'center',
933
+ justifyContent: 'center',
934
+ },
935
+ emptyStateContainer: {
936
+ alignItems: 'center',
937
+ paddingVertical: 32,
938
+ paddingHorizontal: 20,
939
+ },
940
+ emptyStateTitle: {
941
+ fontSize: 18,
942
+ fontWeight: '600',
943
+ color: colors.text,
944
+ marginTop: 16,
945
+ marginBottom: 8,
946
+ },
947
+ emptyStateDescription: {
948
+ fontSize: 14,
949
+ color: colors.textSecondary,
950
+ textAlign: 'center',
951
+ marginBottom: 24,
952
+ lineHeight: 20,
953
+ },
954
+ addAccountButton: {
955
+ backgroundColor: colors.info,
956
+ paddingHorizontal: 24,
957
+ paddingVertical: 12,
958
+ borderRadius: 20,
959
+ },
960
+ addAccountButtonText: {
961
+ color: colors.negativeForeground,
962
+ fontSize: 16,
963
+ fontWeight: '600',
964
+ },
965
+ sectionSubtitle: {
966
+ fontSize: 13,
967
+ color: colors.textTertiary,
968
+ marginBottom: 12,
969
+ },
970
+ managedAvatarFallback: {
971
+ backgroundColor: colors.secondary,
972
+ },
973
+ roleBadge: {
974
+ backgroundColor: colors.backgroundSecondary,
975
+ paddingHorizontal: 8,
976
+ paddingVertical: 3,
977
+ borderRadius: 8,
978
+ },
979
+ roleBadgeText: {
980
+ color: colors.textSecondary,
981
+ fontSize: 11,
982
+ fontWeight: '500',
983
+ textTransform: 'capitalize',
984
+ },
985
+ actingAsBanner: {
986
+ borderWidth: 2,
987
+ borderColor: colors.warning,
988
+ backgroundColor: colors.primarySubtle,
989
+ },
990
+ switchBackButton: {
991
+ backgroundColor: colors.warning,
992
+ paddingHorizontal: 14,
993
+ paddingVertical: 8,
994
+ borderRadius: 16,
995
+ },
996
+ switchBackButtonText: {
997
+ color: colors.negativeForeground,
998
+ fontSize: 13,
999
+ fontWeight: '600',
1000
+ },
1001
+ });
969
1002
 
970
1003
  export default ModernAccountSwitcherScreen;