@oxyhq/services 22.9.0 → 22.10.0

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 (428) hide show
  1. package/lib/commonjs/index.js +24 -5
  2. package/lib/commonjs/index.js.map +1 -1
  3. package/lib/commonjs/ui/components/{OxyAccountDialog.js → OxyAccountDialogScreen.js} +25 -125
  4. package/lib/commonjs/ui/components/OxyAccountDialogScreen.js.map +1 -0
  5. package/lib/commonjs/ui/components/OxyAuthChooser.js +137 -40
  6. package/lib/commonjs/ui/components/OxyAuthChooser.js.map +1 -1
  7. package/lib/commonjs/ui/components/OxyConsentScreen.js +1 -1
  8. package/lib/commonjs/ui/components/ProfileButton.js +1 -1
  9. package/lib/commonjs/ui/components/RequireOxyAuth.js +1 -1
  10. package/lib/commonjs/ui/components/SurfaceHeaderAction.js +63 -0
  11. package/lib/commonjs/ui/components/SurfaceHeaderAction.js.map +1 -0
  12. package/lib/commonjs/ui/components/SurfaceScreen.js +52 -5
  13. package/lib/commonjs/ui/components/SurfaceScreen.js.map +1 -1
  14. package/lib/commonjs/ui/components/fileManagement/FileDetailsModal.js +46 -29
  15. package/lib/commonjs/ui/components/fileManagement/FileDetailsModal.js.map +1 -1
  16. package/lib/commonjs/ui/components/modals/DeleteAccountModal.js +47 -23
  17. package/lib/commonjs/ui/components/modals/DeleteAccountModal.js.map +1 -1
  18. package/lib/commonjs/ui/components/oxyAuthChooserStyles.js +22 -12
  19. package/lib/commonjs/ui/components/oxyAuthChooserStyles.js.map +1 -1
  20. package/lib/commonjs/ui/components/surfaces/ActionSheetSurface.js +83 -0
  21. package/lib/commonjs/ui/components/surfaces/ActionSheetSurface.js.map +1 -0
  22. package/lib/commonjs/ui/context/OxyContext.js +23 -9
  23. package/lib/commonjs/ui/context/OxyContext.js.map +1 -1
  24. package/lib/commonjs/ui/hooks/useAvatarPicker.js +34 -39
  25. package/lib/commonjs/ui/hooks/useAvatarPicker.js.map +1 -1
  26. package/lib/commonjs/ui/hooks/useSurfaceHeader.js +46 -0
  27. package/lib/commonjs/ui/hooks/useSurfaceHeader.js.map +1 -0
  28. package/lib/commonjs/ui/hooks/useSwitchableAccounts.js +1 -1
  29. package/lib/commonjs/ui/navigation/accountDialogManager.js +14 -2
  30. package/lib/commonjs/ui/navigation/accountDialogManager.js.map +1 -1
  31. package/lib/commonjs/ui/navigation/routes.js +3 -3
  32. package/lib/commonjs/ui/navigation/routes.js.map +1 -1
  33. package/lib/commonjs/ui/navigation/surfaceBackBridge.js +68 -0
  34. package/lib/commonjs/ui/navigation/surfaceBackBridge.js.map +1 -0
  35. package/lib/commonjs/ui/navigation/surfaceRegistry.js +52 -8
  36. package/lib/commonjs/ui/navigation/surfaceRegistry.js.map +1 -1
  37. package/lib/commonjs/ui/navigation/surfaces.js +42 -5
  38. package/lib/commonjs/ui/navigation/surfaces.js.map +1 -1
  39. package/lib/commonjs/ui/screens/AccountMembersScreen.js +214 -283
  40. package/lib/commonjs/ui/screens/AccountMembersScreen.js.map +1 -1
  41. package/lib/commonjs/ui/screens/AccountSettingsScreen.js +88 -118
  42. package/lib/commonjs/ui/screens/AccountSettingsScreen.js.map +1 -1
  43. package/lib/commonjs/ui/screens/AccountVerificationScreen.js +22 -36
  44. package/lib/commonjs/ui/screens/AccountVerificationScreen.js.map +1 -1
  45. package/lib/commonjs/ui/screens/AppInfoScreen.js +219 -226
  46. package/lib/commonjs/ui/screens/AppInfoScreen.js.map +1 -1
  47. package/lib/commonjs/ui/screens/AvatarCropScreen.js +10 -14
  48. package/lib/commonjs/ui/screens/AvatarCropScreen.js.map +1 -1
  49. package/lib/commonjs/ui/screens/ConnectedAppsScreen.js +24 -39
  50. package/lib/commonjs/ui/screens/ConnectedAppsScreen.js.map +1 -1
  51. package/lib/commonjs/ui/screens/CreateAccountScreen.js +136 -158
  52. package/lib/commonjs/ui/screens/CreateAccountScreen.js.map +1 -1
  53. package/lib/commonjs/ui/screens/EditProfileFieldScreen.js +29 -36
  54. package/lib/commonjs/ui/screens/EditProfileFieldScreen.js.map +1 -1
  55. package/lib/commonjs/ui/screens/EditProfileScreen.js +101 -109
  56. package/lib/commonjs/ui/screens/EditProfileScreen.js.map +1 -1
  57. package/lib/commonjs/ui/screens/FAQScreen.js +10 -15
  58. package/lib/commonjs/ui/screens/FAQScreen.js.map +1 -1
  59. package/lib/commonjs/ui/screens/FeedbackScreen.js +8 -16
  60. package/lib/commonjs/ui/screens/FeedbackScreen.js.map +1 -1
  61. package/lib/commonjs/ui/screens/FileManagementScreen.js +219 -206
  62. package/lib/commonjs/ui/screens/FileManagementScreen.js.map +1 -1
  63. package/lib/commonjs/ui/screens/HelpSupportScreen.js +62 -69
  64. package/lib/commonjs/ui/screens/HelpSupportScreen.js.map +1 -1
  65. package/lib/commonjs/ui/screens/HistoryViewScreen.js +63 -79
  66. package/lib/commonjs/ui/screens/HistoryViewScreen.js.map +1 -1
  67. package/lib/commonjs/ui/screens/LanguageSelectorScreen.js +69 -98
  68. package/lib/commonjs/ui/screens/LanguageSelectorScreen.js.map +1 -1
  69. package/lib/commonjs/ui/screens/LearnMoreUsernamesScreen.js +8 -14
  70. package/lib/commonjs/ui/screens/LearnMoreUsernamesScreen.js.map +1 -1
  71. package/lib/commonjs/ui/screens/LegalDocumentsScreen.js +77 -94
  72. package/lib/commonjs/ui/screens/LegalDocumentsScreen.js.map +1 -1
  73. package/lib/commonjs/ui/screens/ManageAccountScreen.js +99 -134
  74. package/lib/commonjs/ui/screens/ManageAccountScreen.js.map +1 -1
  75. package/lib/commonjs/ui/screens/NotificationsScreen.js +69 -76
  76. package/lib/commonjs/ui/screens/NotificationsScreen.js.map +1 -1
  77. package/lib/commonjs/ui/screens/PaymentGatewayScreen.js +3 -8
  78. package/lib/commonjs/ui/screens/PaymentGatewayScreen.js.map +1 -1
  79. package/lib/commonjs/ui/screens/PreferencesScreen.js +67 -74
  80. package/lib/commonjs/ui/screens/PreferencesScreen.js.map +1 -1
  81. package/lib/commonjs/ui/screens/PremiumSubscriptionScreen.js +55 -91
  82. package/lib/commonjs/ui/screens/PremiumSubscriptionScreen.js.map +1 -1
  83. package/lib/commonjs/ui/screens/PrivacySettingsScreen.js +291 -304
  84. package/lib/commonjs/ui/screens/PrivacySettingsScreen.js.map +1 -1
  85. package/lib/commonjs/ui/screens/ProfileScreen.js +100 -114
  86. package/lib/commonjs/ui/screens/ProfileScreen.js.map +1 -1
  87. package/lib/commonjs/ui/screens/SavesCollectionsScreen.js +38 -45
  88. package/lib/commonjs/ui/screens/SavesCollectionsScreen.js.map +1 -1
  89. package/lib/commonjs/ui/screens/SearchSettingsScreen.js +44 -57
  90. package/lib/commonjs/ui/screens/SearchSettingsScreen.js.map +1 -1
  91. package/lib/commonjs/ui/screens/UserLinksScreen.js +24 -31
  92. package/lib/commonjs/ui/screens/UserLinksScreen.js.map +1 -1
  93. package/lib/commonjs/ui/screens/UserListScreen.js +14 -24
  94. package/lib/commonjs/ui/screens/UserListScreen.js.map +1 -1
  95. package/lib/commonjs/ui/screens/fileManagement/PhotoPickerSection.js +1 -1
  96. package/lib/commonjs/ui/screens/trust/TrustAboutScreen.js +66 -75
  97. package/lib/commonjs/ui/screens/trust/TrustAboutScreen.js.map +1 -1
  98. package/lib/commonjs/ui/screens/trust/TrustCenterScreen.js +111 -139
  99. package/lib/commonjs/ui/screens/trust/TrustCenterScreen.js.map +1 -1
  100. package/lib/commonjs/ui/screens/trust/TrustFAQScreen.js +13 -20
  101. package/lib/commonjs/ui/screens/trust/TrustFAQScreen.js.map +1 -1
  102. package/lib/commonjs/ui/screens/trust/TrustLeaderboardScreen.js +14 -27
  103. package/lib/commonjs/ui/screens/trust/TrustLeaderboardScreen.js.map +1 -1
  104. package/lib/commonjs/ui/screens/trust/TrustRewardsScreen.js +68 -85
  105. package/lib/commonjs/ui/screens/trust/TrustRewardsScreen.js.map +1 -1
  106. package/lib/commonjs/ui/screens/trust/TrustRulesScreen.js +28 -36
  107. package/lib/commonjs/ui/screens/trust/TrustRulesScreen.js.map +1 -1
  108. package/lib/module/index.js +12 -5
  109. package/lib/module/index.js.map +1 -1
  110. package/lib/module/ui/components/{OxyAccountDialog.js → OxyAccountDialogScreen.js} +27 -127
  111. package/lib/module/ui/components/OxyAccountDialogScreen.js.map +1 -0
  112. package/lib/module/ui/components/OxyAuthChooser.js +137 -40
  113. package/lib/module/ui/components/OxyAuthChooser.js.map +1 -1
  114. package/lib/module/ui/components/OxyConsentScreen.js +1 -1
  115. package/lib/module/ui/components/ProfileButton.js +1 -1
  116. package/lib/module/ui/components/RequireOxyAuth.js +1 -1
  117. package/lib/module/ui/components/SurfaceHeaderAction.js +58 -0
  118. package/lib/module/ui/components/SurfaceHeaderAction.js.map +1 -0
  119. package/lib/module/ui/components/SurfaceScreen.js +53 -6
  120. package/lib/module/ui/components/SurfaceScreen.js.map +1 -1
  121. package/lib/module/ui/components/fileManagement/FileDetailsModal.js +46 -29
  122. package/lib/module/ui/components/fileManagement/FileDetailsModal.js.map +1 -1
  123. package/lib/module/ui/components/modals/DeleteAccountModal.js +46 -23
  124. package/lib/module/ui/components/modals/DeleteAccountModal.js.map +1 -1
  125. package/lib/module/ui/components/oxyAuthChooserStyles.js +22 -12
  126. package/lib/module/ui/components/oxyAuthChooserStyles.js.map +1 -1
  127. package/lib/module/ui/components/surfaces/ActionSheetSurface.js +78 -0
  128. package/lib/module/ui/components/surfaces/ActionSheetSurface.js.map +1 -0
  129. package/lib/module/ui/context/OxyContext.js +23 -9
  130. package/lib/module/ui/context/OxyContext.js.map +1 -1
  131. package/lib/module/ui/hooks/useAvatarPicker.js +34 -39
  132. package/lib/module/ui/hooks/useAvatarPicker.js.map +1 -1
  133. package/lib/module/ui/hooks/useSurfaceHeader.js +42 -0
  134. package/lib/module/ui/hooks/useSurfaceHeader.js.map +1 -0
  135. package/lib/module/ui/hooks/useSwitchableAccounts.js +1 -1
  136. package/lib/module/ui/navigation/accountDialogManager.js +14 -2
  137. package/lib/module/ui/navigation/accountDialogManager.js.map +1 -1
  138. package/lib/module/ui/navigation/routes.js +3 -3
  139. package/lib/module/ui/navigation/routes.js.map +1 -1
  140. package/lib/module/ui/navigation/surfaceBackBridge.js +63 -0
  141. package/lib/module/ui/navigation/surfaceBackBridge.js.map +1 -0
  142. package/lib/module/ui/navigation/surfaceRegistry.js +52 -8
  143. package/lib/module/ui/navigation/surfaceRegistry.js.map +1 -1
  144. package/lib/module/ui/navigation/surfaces.js +42 -5
  145. package/lib/module/ui/navigation/surfaces.js.map +1 -1
  146. package/lib/module/ui/screens/AccountMembersScreen.js +218 -286
  147. package/lib/module/ui/screens/AccountMembersScreen.js.map +1 -1
  148. package/lib/module/ui/screens/AccountSettingsScreen.js +92 -121
  149. package/lib/module/ui/screens/AccountSettingsScreen.js.map +1 -1
  150. package/lib/module/ui/screens/AccountVerificationScreen.js +25 -38
  151. package/lib/module/ui/screens/AccountVerificationScreen.js.map +1 -1
  152. package/lib/module/ui/screens/AppInfoScreen.js +220 -227
  153. package/lib/module/ui/screens/AppInfoScreen.js.map +1 -1
  154. package/lib/module/ui/screens/AvatarCropScreen.js +10 -14
  155. package/lib/module/ui/screens/AvatarCropScreen.js.map +1 -1
  156. package/lib/module/ui/screens/ConnectedAppsScreen.js +26 -40
  157. package/lib/module/ui/screens/ConnectedAppsScreen.js.map +1 -1
  158. package/lib/module/ui/screens/CreateAccountScreen.js +139 -160
  159. package/lib/module/ui/screens/CreateAccountScreen.js.map +1 -1
  160. package/lib/module/ui/screens/EditProfileFieldScreen.js +32 -38
  161. package/lib/module/ui/screens/EditProfileFieldScreen.js.map +1 -1
  162. package/lib/module/ui/screens/EditProfileScreen.js +102 -110
  163. package/lib/module/ui/screens/EditProfileScreen.js.map +1 -1
  164. package/lib/module/ui/screens/FAQScreen.js +11 -15
  165. package/lib/module/ui/screens/FAQScreen.js.map +1 -1
  166. package/lib/module/ui/screens/FeedbackScreen.js +10 -17
  167. package/lib/module/ui/screens/FeedbackScreen.js.map +1 -1
  168. package/lib/module/ui/screens/FileManagementScreen.js +222 -208
  169. package/lib/module/ui/screens/FileManagementScreen.js.map +1 -1
  170. package/lib/module/ui/screens/HelpSupportScreen.js +64 -70
  171. package/lib/module/ui/screens/HelpSupportScreen.js.map +1 -1
  172. package/lib/module/ui/screens/HistoryViewScreen.js +65 -81
  173. package/lib/module/ui/screens/HistoryViewScreen.js.map +1 -1
  174. package/lib/module/ui/screens/LanguageSelectorScreen.js +71 -99
  175. package/lib/module/ui/screens/LanguageSelectorScreen.js.map +1 -1
  176. package/lib/module/ui/screens/LearnMoreUsernamesScreen.js +10 -15
  177. package/lib/module/ui/screens/LearnMoreUsernamesScreen.js.map +1 -1
  178. package/lib/module/ui/screens/LegalDocumentsScreen.js +78 -94
  179. package/lib/module/ui/screens/LegalDocumentsScreen.js.map +1 -1
  180. package/lib/module/ui/screens/ManageAccountScreen.js +102 -137
  181. package/lib/module/ui/screens/ManageAccountScreen.js.map +1 -1
  182. package/lib/module/ui/screens/NotificationsScreen.js +71 -77
  183. package/lib/module/ui/screens/NotificationsScreen.js.map +1 -1
  184. package/lib/module/ui/screens/PaymentGatewayScreen.js +4 -9
  185. package/lib/module/ui/screens/PaymentGatewayScreen.js.map +1 -1
  186. package/lib/module/ui/screens/PreferencesScreen.js +69 -75
  187. package/lib/module/ui/screens/PreferencesScreen.js.map +1 -1
  188. package/lib/module/ui/screens/PremiumSubscriptionScreen.js +58 -93
  189. package/lib/module/ui/screens/PremiumSubscriptionScreen.js.map +1 -1
  190. package/lib/module/ui/screens/PrivacySettingsScreen.js +293 -305
  191. package/lib/module/ui/screens/PrivacySettingsScreen.js.map +1 -1
  192. package/lib/module/ui/screens/ProfileScreen.js +102 -116
  193. package/lib/module/ui/screens/ProfileScreen.js.map +1 -1
  194. package/lib/module/ui/screens/SavesCollectionsScreen.js +40 -46
  195. package/lib/module/ui/screens/SavesCollectionsScreen.js.map +1 -1
  196. package/lib/module/ui/screens/SearchSettingsScreen.js +46 -58
  197. package/lib/module/ui/screens/SearchSettingsScreen.js.map +1 -1
  198. package/lib/module/ui/screens/UserLinksScreen.js +26 -32
  199. package/lib/module/ui/screens/UserLinksScreen.js.map +1 -1
  200. package/lib/module/ui/screens/UserListScreen.js +14 -24
  201. package/lib/module/ui/screens/UserListScreen.js.map +1 -1
  202. package/lib/module/ui/screens/fileManagement/PhotoPickerSection.js +1 -1
  203. package/lib/module/ui/screens/trust/TrustAboutScreen.js +67 -75
  204. package/lib/module/ui/screens/trust/TrustAboutScreen.js.map +1 -1
  205. package/lib/module/ui/screens/trust/TrustCenterScreen.js +112 -139
  206. package/lib/module/ui/screens/trust/TrustCenterScreen.js.map +1 -1
  207. package/lib/module/ui/screens/trust/TrustFAQScreen.js +15 -21
  208. package/lib/module/ui/screens/trust/TrustFAQScreen.js.map +1 -1
  209. package/lib/module/ui/screens/trust/TrustLeaderboardScreen.js +14 -26
  210. package/lib/module/ui/screens/trust/TrustLeaderboardScreen.js.map +1 -1
  211. package/lib/module/ui/screens/trust/TrustRewardsScreen.js +69 -85
  212. package/lib/module/ui/screens/trust/TrustRewardsScreen.js.map +1 -1
  213. package/lib/module/ui/screens/trust/TrustRulesScreen.js +30 -37
  214. package/lib/module/ui/screens/trust/TrustRulesScreen.js.map +1 -1
  215. package/lib/typescript/commonjs/index.d.ts +2 -0
  216. package/lib/typescript/commonjs/index.d.ts.map +1 -1
  217. package/lib/typescript/commonjs/ui/components/{OxyAccountDialog.d.ts → OxyAccountDialogScreen.d.ts} +4 -4
  218. package/lib/typescript/commonjs/ui/components/OxyAccountDialogScreen.d.ts.map +1 -0
  219. package/lib/typescript/commonjs/ui/components/OxyAuthChooser.d.ts +3 -3
  220. package/lib/typescript/commonjs/ui/components/OxyAuthChooser.d.ts.map +1 -1
  221. package/lib/typescript/commonjs/ui/components/ProfileButton.d.ts +2 -2
  222. package/lib/typescript/commonjs/ui/components/RequireOxyAuth.d.ts +1 -1
  223. package/lib/typescript/commonjs/ui/components/SurfaceHeaderAction.d.ts +16 -0
  224. package/lib/typescript/commonjs/ui/components/SurfaceHeaderAction.d.ts.map +1 -0
  225. package/lib/typescript/commonjs/ui/components/SurfaceScreen.d.ts +4 -2
  226. package/lib/typescript/commonjs/ui/components/SurfaceScreen.d.ts.map +1 -1
  227. package/lib/typescript/commonjs/ui/components/fileManagement/FileDetailsModal.d.ts +14 -4
  228. package/lib/typescript/commonjs/ui/components/fileManagement/FileDetailsModal.d.ts.map +1 -1
  229. package/lib/typescript/commonjs/ui/components/modals/DeleteAccountModal.d.ts +17 -2
  230. package/lib/typescript/commonjs/ui/components/modals/DeleteAccountModal.d.ts.map +1 -1
  231. package/lib/typescript/commonjs/ui/components/oxyAuthChooserStyles.d.ts +19 -9
  232. package/lib/typescript/commonjs/ui/components/oxyAuthChooserStyles.d.ts.map +1 -1
  233. package/lib/typescript/commonjs/ui/components/surfaces/ActionSheetSurface.d.ts +38 -0
  234. package/lib/typescript/commonjs/ui/components/surfaces/ActionSheetSurface.d.ts.map +1 -0
  235. package/lib/typescript/commonjs/ui/context/OxyContext.d.ts.map +1 -1
  236. package/lib/typescript/commonjs/ui/hooks/useAvatarPicker.d.ts +7 -11
  237. package/lib/typescript/commonjs/ui/hooks/useAvatarPicker.d.ts.map +1 -1
  238. package/lib/typescript/commonjs/ui/hooks/useSurfaceHeader.d.ts +31 -0
  239. package/lib/typescript/commonjs/ui/hooks/useSurfaceHeader.d.ts.map +1 -0
  240. package/lib/typescript/commonjs/ui/hooks/useSwitchableAccounts.d.ts +1 -1
  241. package/lib/typescript/commonjs/ui/navigation/accountDialogManager.d.ts +14 -2
  242. package/lib/typescript/commonjs/ui/navigation/accountDialogManager.d.ts.map +1 -1
  243. package/lib/typescript/commonjs/ui/navigation/surfaceBackBridge.d.ts +16 -0
  244. package/lib/typescript/commonjs/ui/navigation/surfaceBackBridge.d.ts.map +1 -0
  245. package/lib/typescript/commonjs/ui/navigation/surfaceRegistry.d.ts +31 -13
  246. package/lib/typescript/commonjs/ui/navigation/surfaceRegistry.d.ts.map +1 -1
  247. package/lib/typescript/commonjs/ui/navigation/surfaces.d.ts.map +1 -1
  248. package/lib/typescript/commonjs/ui/screens/AccountMembersScreen.d.ts.map +1 -1
  249. package/lib/typescript/commonjs/ui/screens/AccountSettingsScreen.d.ts.map +1 -1
  250. package/lib/typescript/commonjs/ui/screens/AccountVerificationScreen.d.ts.map +1 -1
  251. package/lib/typescript/commonjs/ui/screens/AppInfoScreen.d.ts.map +1 -1
  252. package/lib/typescript/commonjs/ui/screens/AvatarCropScreen.d.ts +0 -4
  253. package/lib/typescript/commonjs/ui/screens/AvatarCropScreen.d.ts.map +1 -1
  254. package/lib/typescript/commonjs/ui/screens/ConnectedAppsScreen.d.ts.map +1 -1
  255. package/lib/typescript/commonjs/ui/screens/CreateAccountScreen.d.ts.map +1 -1
  256. package/lib/typescript/commonjs/ui/screens/EditProfileFieldScreen.d.ts.map +1 -1
  257. package/lib/typescript/commonjs/ui/screens/EditProfileScreen.d.ts.map +1 -1
  258. package/lib/typescript/commonjs/ui/screens/FAQScreen.d.ts.map +1 -1
  259. package/lib/typescript/commonjs/ui/screens/FeedbackScreen.d.ts.map +1 -1
  260. package/lib/typescript/commonjs/ui/screens/FileManagementScreen.d.ts.map +1 -1
  261. package/lib/typescript/commonjs/ui/screens/HelpSupportScreen.d.ts.map +1 -1
  262. package/lib/typescript/commonjs/ui/screens/HistoryViewScreen.d.ts.map +1 -1
  263. package/lib/typescript/commonjs/ui/screens/LanguageSelectorScreen.d.ts.map +1 -1
  264. package/lib/typescript/commonjs/ui/screens/LearnMoreUsernamesScreen.d.ts.map +1 -1
  265. package/lib/typescript/commonjs/ui/screens/LegalDocumentsScreen.d.ts.map +1 -1
  266. package/lib/typescript/commonjs/ui/screens/ManageAccountScreen.d.ts +1 -1
  267. package/lib/typescript/commonjs/ui/screens/ManageAccountScreen.d.ts.map +1 -1
  268. package/lib/typescript/commonjs/ui/screens/NotificationsScreen.d.ts.map +1 -1
  269. package/lib/typescript/commonjs/ui/screens/PaymentGatewayScreen.d.ts.map +1 -1
  270. package/lib/typescript/commonjs/ui/screens/PreferencesScreen.d.ts.map +1 -1
  271. package/lib/typescript/commonjs/ui/screens/PremiumSubscriptionScreen.d.ts.map +1 -1
  272. package/lib/typescript/commonjs/ui/screens/PrivacySettingsScreen.d.ts.map +1 -1
  273. package/lib/typescript/commonjs/ui/screens/ProfileScreen.d.ts.map +1 -1
  274. package/lib/typescript/commonjs/ui/screens/SavesCollectionsScreen.d.ts.map +1 -1
  275. package/lib/typescript/commonjs/ui/screens/SearchSettingsScreen.d.ts.map +1 -1
  276. package/lib/typescript/commonjs/ui/screens/UserLinksScreen.d.ts.map +1 -1
  277. package/lib/typescript/commonjs/ui/screens/UserListScreen.d.ts.map +1 -1
  278. package/lib/typescript/commonjs/ui/screens/trust/TrustAboutScreen.d.ts.map +1 -1
  279. package/lib/typescript/commonjs/ui/screens/trust/TrustCenterScreen.d.ts.map +1 -1
  280. package/lib/typescript/commonjs/ui/screens/trust/TrustFAQScreen.d.ts.map +1 -1
  281. package/lib/typescript/commonjs/ui/screens/trust/TrustLeaderboardScreen.d.ts.map +1 -1
  282. package/lib/typescript/commonjs/ui/screens/trust/TrustRewardsScreen.d.ts.map +1 -1
  283. package/lib/typescript/commonjs/ui/screens/trust/TrustRulesScreen.d.ts.map +1 -1
  284. package/lib/typescript/commonjs/ui/types/navigation.d.ts +8 -0
  285. package/lib/typescript/commonjs/ui/types/navigation.d.ts.map +1 -1
  286. package/lib/typescript/module/index.d.ts +2 -0
  287. package/lib/typescript/module/index.d.ts.map +1 -1
  288. package/lib/typescript/module/ui/components/{OxyAccountDialog.d.ts → OxyAccountDialogScreen.d.ts} +4 -4
  289. package/lib/typescript/module/ui/components/OxyAccountDialogScreen.d.ts.map +1 -0
  290. package/lib/typescript/module/ui/components/OxyAuthChooser.d.ts +3 -3
  291. package/lib/typescript/module/ui/components/OxyAuthChooser.d.ts.map +1 -1
  292. package/lib/typescript/module/ui/components/ProfileButton.d.ts +2 -2
  293. package/lib/typescript/module/ui/components/RequireOxyAuth.d.ts +1 -1
  294. package/lib/typescript/module/ui/components/SurfaceHeaderAction.d.ts +16 -0
  295. package/lib/typescript/module/ui/components/SurfaceHeaderAction.d.ts.map +1 -0
  296. package/lib/typescript/module/ui/components/SurfaceScreen.d.ts +4 -2
  297. package/lib/typescript/module/ui/components/SurfaceScreen.d.ts.map +1 -1
  298. package/lib/typescript/module/ui/components/fileManagement/FileDetailsModal.d.ts +14 -4
  299. package/lib/typescript/module/ui/components/fileManagement/FileDetailsModal.d.ts.map +1 -1
  300. package/lib/typescript/module/ui/components/modals/DeleteAccountModal.d.ts +17 -2
  301. package/lib/typescript/module/ui/components/modals/DeleteAccountModal.d.ts.map +1 -1
  302. package/lib/typescript/module/ui/components/oxyAuthChooserStyles.d.ts +19 -9
  303. package/lib/typescript/module/ui/components/oxyAuthChooserStyles.d.ts.map +1 -1
  304. package/lib/typescript/module/ui/components/surfaces/ActionSheetSurface.d.ts +38 -0
  305. package/lib/typescript/module/ui/components/surfaces/ActionSheetSurface.d.ts.map +1 -0
  306. package/lib/typescript/module/ui/context/OxyContext.d.ts.map +1 -1
  307. package/lib/typescript/module/ui/hooks/useAvatarPicker.d.ts +7 -11
  308. package/lib/typescript/module/ui/hooks/useAvatarPicker.d.ts.map +1 -1
  309. package/lib/typescript/module/ui/hooks/useSurfaceHeader.d.ts +31 -0
  310. package/lib/typescript/module/ui/hooks/useSurfaceHeader.d.ts.map +1 -0
  311. package/lib/typescript/module/ui/hooks/useSwitchableAccounts.d.ts +1 -1
  312. package/lib/typescript/module/ui/navigation/accountDialogManager.d.ts +14 -2
  313. package/lib/typescript/module/ui/navigation/accountDialogManager.d.ts.map +1 -1
  314. package/lib/typescript/module/ui/navigation/surfaceBackBridge.d.ts +16 -0
  315. package/lib/typescript/module/ui/navigation/surfaceBackBridge.d.ts.map +1 -0
  316. package/lib/typescript/module/ui/navigation/surfaceRegistry.d.ts +31 -13
  317. package/lib/typescript/module/ui/navigation/surfaceRegistry.d.ts.map +1 -1
  318. package/lib/typescript/module/ui/navigation/surfaces.d.ts.map +1 -1
  319. package/lib/typescript/module/ui/screens/AccountMembersScreen.d.ts.map +1 -1
  320. package/lib/typescript/module/ui/screens/AccountSettingsScreen.d.ts.map +1 -1
  321. package/lib/typescript/module/ui/screens/AccountVerificationScreen.d.ts.map +1 -1
  322. package/lib/typescript/module/ui/screens/AppInfoScreen.d.ts.map +1 -1
  323. package/lib/typescript/module/ui/screens/AvatarCropScreen.d.ts +0 -4
  324. package/lib/typescript/module/ui/screens/AvatarCropScreen.d.ts.map +1 -1
  325. package/lib/typescript/module/ui/screens/ConnectedAppsScreen.d.ts.map +1 -1
  326. package/lib/typescript/module/ui/screens/CreateAccountScreen.d.ts.map +1 -1
  327. package/lib/typescript/module/ui/screens/EditProfileFieldScreen.d.ts.map +1 -1
  328. package/lib/typescript/module/ui/screens/EditProfileScreen.d.ts.map +1 -1
  329. package/lib/typescript/module/ui/screens/FAQScreen.d.ts.map +1 -1
  330. package/lib/typescript/module/ui/screens/FeedbackScreen.d.ts.map +1 -1
  331. package/lib/typescript/module/ui/screens/FileManagementScreen.d.ts.map +1 -1
  332. package/lib/typescript/module/ui/screens/HelpSupportScreen.d.ts.map +1 -1
  333. package/lib/typescript/module/ui/screens/HistoryViewScreen.d.ts.map +1 -1
  334. package/lib/typescript/module/ui/screens/LanguageSelectorScreen.d.ts.map +1 -1
  335. package/lib/typescript/module/ui/screens/LearnMoreUsernamesScreen.d.ts.map +1 -1
  336. package/lib/typescript/module/ui/screens/LegalDocumentsScreen.d.ts.map +1 -1
  337. package/lib/typescript/module/ui/screens/ManageAccountScreen.d.ts +1 -1
  338. package/lib/typescript/module/ui/screens/ManageAccountScreen.d.ts.map +1 -1
  339. package/lib/typescript/module/ui/screens/NotificationsScreen.d.ts.map +1 -1
  340. package/lib/typescript/module/ui/screens/PaymentGatewayScreen.d.ts.map +1 -1
  341. package/lib/typescript/module/ui/screens/PreferencesScreen.d.ts.map +1 -1
  342. package/lib/typescript/module/ui/screens/PremiumSubscriptionScreen.d.ts.map +1 -1
  343. package/lib/typescript/module/ui/screens/PrivacySettingsScreen.d.ts.map +1 -1
  344. package/lib/typescript/module/ui/screens/ProfileScreen.d.ts.map +1 -1
  345. package/lib/typescript/module/ui/screens/SavesCollectionsScreen.d.ts.map +1 -1
  346. package/lib/typescript/module/ui/screens/SearchSettingsScreen.d.ts.map +1 -1
  347. package/lib/typescript/module/ui/screens/UserLinksScreen.d.ts.map +1 -1
  348. package/lib/typescript/module/ui/screens/UserListScreen.d.ts.map +1 -1
  349. package/lib/typescript/module/ui/screens/trust/TrustAboutScreen.d.ts.map +1 -1
  350. package/lib/typescript/module/ui/screens/trust/TrustCenterScreen.d.ts.map +1 -1
  351. package/lib/typescript/module/ui/screens/trust/TrustFAQScreen.d.ts.map +1 -1
  352. package/lib/typescript/module/ui/screens/trust/TrustLeaderboardScreen.d.ts.map +1 -1
  353. package/lib/typescript/module/ui/screens/trust/TrustRewardsScreen.d.ts.map +1 -1
  354. package/lib/typescript/module/ui/screens/trust/TrustRulesScreen.d.ts.map +1 -1
  355. package/lib/typescript/module/ui/types/navigation.d.ts +8 -0
  356. package/lib/typescript/module/ui/types/navigation.d.ts.map +1 -1
  357. package/package.json +2 -2
  358. package/src/index.ts +12 -5
  359. package/src/ui/components/{OxyAccountDialog.tsx → OxyAccountDialogScreen.tsx} +21 -110
  360. package/src/ui/components/OxyAuthChooser.tsx +153 -33
  361. package/src/ui/components/OxyConsentScreen.tsx +1 -1
  362. package/src/ui/components/ProfileButton.tsx +2 -2
  363. package/src/ui/components/RequireOxyAuth.tsx +1 -1
  364. package/src/ui/components/SurfaceHeaderAction.tsx +60 -0
  365. package/src/ui/components/SurfaceScreen.tsx +66 -6
  366. package/src/ui/components/fileManagement/FileDetailsModal.tsx +50 -36
  367. package/src/ui/components/modals/DeleteAccountModal.tsx +47 -26
  368. package/src/ui/components/oxyAuthChooserStyles.ts +22 -12
  369. package/src/ui/components/surfaces/ActionSheetSurface.tsx +98 -0
  370. package/src/ui/context/OxyContext.tsx +22 -8
  371. package/src/ui/hooks/useAvatarPicker.ts +53 -66
  372. package/src/ui/hooks/useSurfaceHeader.ts +56 -0
  373. package/src/ui/hooks/useSwitchableAccounts.ts +1 -1
  374. package/src/ui/navigation/__tests__/surfaceNavStack.test.ts +68 -0
  375. package/src/ui/navigation/accountDialogManager.ts +14 -2
  376. package/src/ui/navigation/routes.ts +3 -3
  377. package/src/ui/navigation/surfaceBackBridge.ts +69 -0
  378. package/src/ui/navigation/surfaceRegistry.ts +80 -14
  379. package/src/ui/navigation/surfaces.ts +33 -5
  380. package/src/ui/screens/AccountMembersScreen.tsx +39 -100
  381. package/src/ui/screens/AccountSettingsScreen.tsx +32 -54
  382. package/src/ui/screens/AccountVerificationScreen.tsx +23 -51
  383. package/src/ui/screens/AppInfoScreen.tsx +6 -13
  384. package/src/ui/screens/AvatarCropScreen.tsx +8 -17
  385. package/src/ui/screens/ConnectedAppsScreen.tsx +39 -60
  386. package/src/ui/screens/CreateAccountScreen.tsx +13 -39
  387. package/src/ui/screens/EditProfileFieldScreen.tsx +30 -48
  388. package/src/ui/screens/EditProfileScreen.tsx +7 -16
  389. package/src/ui/screens/FAQScreen.tsx +9 -13
  390. package/src/ui/screens/FeedbackScreen.tsx +8 -22
  391. package/src/ui/screens/FileManagementScreen.tsx +191 -188
  392. package/src/ui/screens/HelpSupportScreen.tsx +7 -13
  393. package/src/ui/screens/HistoryViewScreen.tsx +26 -31
  394. package/src/ui/screens/LanguageSelectorScreen.tsx +12 -46
  395. package/src/ui/screens/LearnMoreUsernamesScreen.tsx +8 -16
  396. package/src/ui/screens/LegalDocumentsScreen.tsx +7 -22
  397. package/src/ui/screens/ManageAccountScreen.tsx +96 -165
  398. package/src/ui/screens/NotificationsScreen.tsx +7 -13
  399. package/src/ui/screens/PaymentGatewayScreen.tsx +3 -10
  400. package/src/ui/screens/PreferencesScreen.tsx +7 -13
  401. package/src/ui/screens/PremiumSubscriptionScreen.tsx +52 -90
  402. package/src/ui/screens/PrivacySettingsScreen.tsx +9 -21
  403. package/src/ui/screens/ProfileScreen.tsx +9 -11
  404. package/src/ui/screens/SavesCollectionsScreen.tsx +7 -13
  405. package/src/ui/screens/SearchSettingsScreen.tsx +9 -21
  406. package/src/ui/screens/UserLinksScreen.tsx +7 -14
  407. package/src/ui/screens/UserListScreen.tsx +2 -5
  408. package/src/ui/screens/fileManagement/PhotoPickerSection.tsx +1 -1
  409. package/src/ui/screens/trust/TrustAboutScreen.tsx +10 -17
  410. package/src/ui/screens/trust/TrustCenterScreen.tsx +9 -28
  411. package/src/ui/screens/trust/TrustFAQScreen.tsx +15 -18
  412. package/src/ui/screens/trust/TrustLeaderboardScreen.tsx +3 -5
  413. package/src/ui/screens/trust/TrustRewardsScreen.tsx +11 -26
  414. package/src/ui/screens/trust/TrustRulesScreen.tsx +10 -13
  415. package/src/ui/types/navigation.ts +8 -0
  416. package/lib/commonjs/ui/components/Header.js +0 -305
  417. package/lib/commonjs/ui/components/Header.js.map +0 -1
  418. package/lib/commonjs/ui/components/OxyAccountDialog.js.map +0 -1
  419. package/lib/module/ui/components/Header.js +0 -299
  420. package/lib/module/ui/components/Header.js.map +0 -1
  421. package/lib/module/ui/components/OxyAccountDialog.js.map +0 -1
  422. package/lib/typescript/commonjs/ui/components/Header.d.ts +0 -33
  423. package/lib/typescript/commonjs/ui/components/Header.d.ts.map +0 -1
  424. package/lib/typescript/commonjs/ui/components/OxyAccountDialog.d.ts.map +0 -1
  425. package/lib/typescript/module/ui/components/Header.d.ts +0 -33
  426. package/lib/typescript/module/ui/components/Header.d.ts.map +0 -1
  427. package/lib/typescript/module/ui/components/OxyAccountDialog.d.ts.map +0 -1
  428. package/src/ui/components/Header.tsx +0 -224
@@ -1 +1 @@
1
- {"version":3,"names":["_react","require","_reactNative","_settingsList","_chip","_theme","_Header","_interopRequireDefault","_loading","_useI18n","_OxyContext","_jsxRuntime","e","__esModule","default","CATEGORY_ORDER","TrustRulesScreen","goBack","oxyServices","useOxy","t","useI18n","bloomTheme","useTheme","rules","setRules","useState","isLoading","setIsLoading","error","setError","useEffect","getReputationRules","then","data","Array","isArray","catch","err","Error","message","finally","groupedRules","useMemo","buckets","Map","rule","category","includes","bucket","get","push","set","filter","has","map","items","jsxs","View","className","children","jsx","title","subtitle","onBack","elevation","Loading","size","color","colors","primary","Text","length","ScrollView","SettingsListGroup","SettingsListItem","description","showChevron","rightElement","Chip","variant","points","accessibilityLabel","id","_default","exports"],"sourceRoot":"../../../../../src","sources":["ui/screens/trust/TrustRulesScreen.tsx"],"mappings":"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","ignoreList":[]}
1
+ {"version":3,"names":["_react","require","_reactNative","_settingsList","_chip","_theme","_useSurfaceHeader","_loading","_useI18n","_OxyContext","_jsxRuntime","CATEGORY_ORDER","TrustRulesScreen","oxyServices","useOxy","t","useI18n","useSurfaceHeader","title","subtitle","bloomTheme","useTheme","rules","setRules","useState","isLoading","setIsLoading","error","setError","useEffect","getReputationRules","then","data","Array","isArray","catch","err","Error","message","finally","groupedRules","useMemo","buckets","Map","rule","category","includes","bucket","get","push","set","filter","has","map","items","jsx","Fragment","children","Loading","size","color","colors","primary","Text","className","length","View","SettingsListGroup","SettingsListItem","description","showChevron","rightElement","Chip","variant","points","accessibilityLabel","id","_default","exports","default"],"sourceRoot":"../../../../../src","sources":["ui/screens/trust/TrustRulesScreen.tsx"],"mappings":";;;;;;AACA,IAAAA,MAAA,GAAAC,OAAA;AACA,IAAAC,YAAA,GAAAD,OAAA;AACA,IAAAE,aAAA,GAAAF,OAAA;AACA,IAAAG,KAAA,GAAAH,OAAA;AACA,IAAAI,MAAA,GAAAJ,OAAA;AAGA,IAAAK,iBAAA,GAAAL,OAAA;AACA,IAAAM,QAAA,GAAAN,OAAA;AACA,IAAAO,QAAA,GAAAP,OAAA;AACA,IAAAQ,WAAA,GAAAR,OAAA;AAAkD,IAAAS,WAAA,GAAAT,OAAA;AAElD,uDACA,MAAMU,cAAoC,GAAG,CACzC,SAAS,EACT,QAAQ,EACR,OAAO,EACP,YAAY,EACZ,UAAU,EACV,SAAS,EACT,OAAO,CACV;AAED,MAAMC,gBAA2C,GAAGA,CAAA,KAAM;EACtD,MAAM;IAAEC;EAAY,CAAC,GAAG,IAAAC,kBAAM,EAAC,CAAC;EAChC,MAAM;IAAEC;EAAE,CAAC,GAAG,IAAAC,gBAAO,EAAC,CAAC;EAEvB,IAAAC,kCAAgB,EAAC;IACbC,KAAK,EAAEH,CAAC,CAAC,mBAAmB,CAAC,IAAI,aAAa;IAC9CI,QAAQ,EAAEJ,CAAC,CAAC,sBAAsB,CAAC,IAAI;EAC3C,CAAC,CAAC;EACF,MAAMK,UAAU,GAAG,IAAAC,eAAQ,EAAC,CAAC;EAE7B,MAAM,CAACC,KAAK,EAAEC,QAAQ,CAAC,GAAG,IAAAC,eAAQ,EAAmB,EAAE,CAAC;EACxD,MAAM,CAACC,SAAS,EAAEC,YAAY,CAAC,GAAG,IAAAF,eAAQ,EAAC,IAAI,CAAC;EAChD,MAAM,CAACG,KAAK,EAAEC,QAAQ,CAAC,GAAG,IAAAJ,eAAQ,EAAgB,IAAI,CAAC;EAEvD,IAAAK,gBAAS,EAAC,MAAM;IACZH,YAAY,CAAC,IAAI,CAAC;IAClBE,QAAQ,CAAC,IAAI,CAAC;IACdf,WAAW,CAACiB,kBAAkB,CAAC,CAAC,CAC3BC,IAAI,CAAEC,IAAI,IAAKT,QAAQ,CAACU,KAAK,CAACC,OAAO,CAACF,IAAI,CAAC,GAAGA,IAAI,GAAG,EAAE,CAAC,CAAC,CACzDG,KAAK,CAAEC,GAAY,IAAKR,QAAQ,CAAC,CAACQ,GAAG,YAAYC,KAAK,GAAGD,GAAG,CAACE,OAAO,GAAG,IAAI,KAAK,sBAAsB,CAAC,CAAC,CACxGC,OAAO,CAAC,MAAMb,YAAY,CAAC,KAAK,CAAC,CAAC;EAC3C,CAAC,EAAE,CAACb,WAAW,CAAC,CAAC;;EAEjB;EACA;EACA,MAAM2B,YAAY,GAAG,IAAAC,cAAO,EAAC,MAAM;IAC/B,MAAMC,OAAO,GAAG,IAAIC,GAAG,CAAuC,CAAC;IAC/D,KAAK,MAAMC,IAAI,IAAItB,KAAK,EAAE;MACtB,MAAMuB,QAA4B,GAAGlC,cAAc,CAACmC,QAAQ,CAACF,IAAI,CAACC,QAAQ,CAAC,GACrED,IAAI,CAACC,QAAQ,GACb,OAAO;MACb,MAAME,MAAM,GAAGL,OAAO,CAACM,GAAG,CAACH,QAAQ,CAAC;MACpC,IAAIE,MAAM,EAAE;QACRA,MAAM,CAACE,IAAI,CAACL,IAAI,CAAC;MACrB,CAAC,MAAM;QACHF,OAAO,CAACQ,GAAG,CAACL,QAAQ,EAAE,CAACD,IAAI,CAAC,CAAC;MACjC;IACJ;IACA,OAAOjC,cAAc,CAChBwC,MAAM,CAAEN,QAAQ,IAAKH,OAAO,CAACU,GAAG,CAACP,QAAQ,CAAC,CAAC,CAC3CQ,GAAG,CAAER,QAAQ,KAAM;MAAEA,QAAQ;MAAES,KAAK,EAAEZ,OAAO,CAACM,GAAG,CAACH,QAAQ,CAAC,IAAI;IAAG,CAAC,CAAC,CAAC;EAC9E,CAAC,EAAE,CAACvB,KAAK,CAAC,CAAC;EAEX,oBACI,IAAAZ,WAAA,CAAA6C,GAAA,EAAA7C,WAAA,CAAA8C,QAAA;IAAAC,QAAA,EACKhC,SAAS,gBACN,IAAAf,WAAA,CAAA6C,GAAA,EAAChD,QAAA,CAAAmD,OAAO;MAACC,IAAI,EAAC,OAAO;MAACC,KAAK,EAAExC,UAAU,CAACyC,MAAM,CAACC;IAAQ,CAAE,CAAC,GAC1DnC,KAAK,gBACL,IAAAjB,WAAA,CAAA6C,GAAA,EAACrD,YAAA,CAAA6D,IAAI;MAACC,SAAS,EAAC,wEAAwE;MAAAP,QAAA,EACnF9B;IAAK,CACJ,CAAC,GACPL,KAAK,CAAC2C,MAAM,KAAK,CAAC,gBAClB,IAAAvD,WAAA,CAAA6C,GAAA,EAACrD,YAAA,CAAA6D,IAAI;MAACC,SAAS,EAAC,wEAAwE;MAAAP,QAAA,EACnF1C,CAAC,CAAC,mBAAmB,CAAC,IAAI;IAAiB,CAC1C,CAAC,gBAEH,IAAAL,WAAA,CAAA6C,GAAA,EAACrD,YAAA,CAAAgE,IAAI;MAACF,SAAS,EAAC,0CAA0C;MAAAP,QAAA,EACrDjB,YAAY,CAACa,GAAG,CAAC,CAAC;QAAER,QAAQ;QAAES;MAAM,CAAC,kBAClC,IAAA5C,WAAA,CAAA6C,GAAA,EAACpD,aAAA,CAAAgE,iBAAiB;QAEdjD,KAAK,EAAEH,CAAC,CAAC,0BAA0B8B,QAAQ,EAAE,CAAC,IAAIA,QAAS;QAAAY,QAAA,EAE1DH,KAAK,CAACD,GAAG,CAAET,IAAI,iBACZ,IAAAlC,WAAA,CAAA6C,GAAA,EAACpD,aAAA,CAAAiE,gBAAgB;UAEblD,KAAK,EAAE0B,IAAI,CAACyB,WAAY;UACxBC,WAAW,EAAE,KAAM;UACnBC,YAAY,eACR,IAAA7D,WAAA,CAAA6C,GAAA,EAACnD,KAAA,CAAAoE,IAAI;YACDC,OAAO,EAAC,MAAM;YACdd,IAAI,EAAC,OAAO;YACZC,KAAK,EAAEhB,IAAI,CAAC8B,MAAM,GAAG,CAAC,GAAG,SAAS,GAAG9B,IAAI,CAAC8B,MAAM,GAAG,CAAC,GAAG,OAAO,GAAG,SAAU;YAAAjB,QAAA,EAE1Eb,IAAI,CAAC8B,MAAM,GAAG,CAAC,GAAG,IAAI9B,IAAI,CAAC8B,MAAM,EAAE,GAAG,GAAG9B,IAAI,CAAC8B,MAAM;UAAE,CACrD,CACT;UACDC,kBAAkB,EAAE,GAAG/B,IAAI,CAACyB,WAAW,KAAKzB,IAAI,CAAC8B,MAAM,GAAG,CAAC,GAAG,GAAG,GAAG,EAAE,GAAG9B,IAAI,CAAC8B,MAAM,IAAI3D,CAAC,CAAC,sBAAsB,CAAC,IAAI,mBAAmB;QAAG,GAZtI6B,IAAI,CAACgC,EAab,CACJ;MAAC,GAnBG/B,QAoBU,CACtB;IAAC,CACA;EACb,CACH,CAAC;AAEX,CAAC;AAAC,IAAAgC,QAAA,GAAAC,OAAA,CAAAC,OAAA,GAEanE,gBAAgB","ignoreList":[]}
@@ -122,13 +122,14 @@ export { LogoIcon } from "./ui/components/logo/LogoIcon.js";
122
122
  export { LogoText } from "./ui/components/logo/LogoText.js";
123
123
 
124
124
  // Sidebar account trigger. Pressing `ProfileButton` opens the unified
125
- // `OxyAccountDialog` (the single account switcher + sign-in surface) via
125
+ // `OxyAccountDialogScreen` (the single account switcher + sign-in surface) via
126
126
  // `useOxy().openAccountDialog`.
127
127
  export { default as ProfileButton } from "./ui/components/ProfileButton.js";
128
- // The account switcher/sign-in/sign-up chooser WITHOUT dialog chrome —
129
- // `OxyAccountDialog` wraps this in Bloom's `<Dialog>` for the normal in-app
130
- // surface; exported directly so a bare host (e.g. a future auth.oxy.so hub
131
- // page) can mount the exact same chooser with its own completion strategy.
128
+ // The account switcher/sign-in/sign-up chooser WITHOUT dialog chrome — the
129
+ // surface stack presents `OxyAccountDialogScreen` (which renders this) into
130
+ // Bloom's `<Dialog>` for the normal in-app surface; exported directly so a bare
131
+ // host (e.g. a future auth.oxy.so hub page) can mount the exact same chooser
132
+ // with its own completion strategy.
132
133
  export { default as OxyAuthChooser } from "./ui/components/OxyAuthChooser.js";
133
134
  // Unified switchable-accounts hook — the single source of everything the user
134
135
  // can switch into: device sign-ins AND linked graph accounts (owned orgs +
@@ -153,6 +154,12 @@ export { default as AccountSettingsScreen } from "./ui/screens/AccountSettingsSc
153
154
  // Bottom-sheet navigation
154
155
  // ---------------------------------------------------------------------------
155
156
  export { showBottomSheet, closeBottomSheet } from "./ui/navigation/bottomSheetManager.js";
157
+ // Surface nav header — a surface screen declares its title/subtitle (+ any
158
+ // action slot) into the Dialog's OWN navigation header. Screens render no header
159
+ // of their own.
160
+ export { useSurfaceHeader } from "./ui/hooks/useSurfaceHeader.js";
161
+ export { SurfaceHeaderAction } from "./ui/components/SurfaceHeaderAction.js";
162
+
156
163
  // ---------------------------------------------------------------------------
157
164
  // Unified account dialog — imperative entry points
158
165
  // ---------------------------------------------------------------------------
@@ -1 +1 @@
1
- {"version":3,"names":["setPlatformOS","Platform","OS","default","OxyProvider","useOxy","useAuth","FontLoader","setupFonts","useAuthStore","useAccountStore","useAssetStore","useAssets","useAssetsStore","useAsset","useUploadProgress","useAssetLoading","useAssetErrors","useAssetsByApp","useAssetsByEntity","useAssetUsageCount","useIsAssetLinked","setOxyAssetInstance","useFileDownloadUrl","useFollow","useFollowerCounts","useSeedFollowStatuses","useStorage","useUserProfile","useUserProfiles","useCurrentUser","useUserById","useUserByUsername","useUsersBySessions","usePrivacySettings","useConnectedApps","useSessions","useSession","useDeviceSessions","useUserDevices","useSecurityInfo","useAccountStorageUsage","useSecurityActivity","useRecentSecurityActivity","useInfiniteSecurityActivity","useAuthMethods","useUserSubscription","useUserPayments","useUserWallet","useUserWalletTransactions","useUpdateProfile","useUploadAvatar","useUpdateAccountSettings","useUpdatePrivacySettings","useUpdateNotificationPreferences","useUpdateUserPreferences","useRevokeConnectedApp","useUploadFile","useSwitchSession","useLogoutSession","useLogoutAll","useUpdateDeviceName","useRemoveDevice","createProfileMutation","createGenericMutation","mutationKeys","queryKeys","invalidateAccountQueries","invalidateUserQueries","invalidateSessionQueries","invalidateDeviceQueries","invalidatePrivacyQueries","invalidateSecurityQueries","invalidateStorageQueries","invalidatePaymentsQueries","invalidateConnectedAppsQueries","invalidateAuthMethodsQueries","upsertCachedUser","upsertCachedUsers","useMutationStatus","useOnlineStatus","useOxyEvent","handleAuthError","isInvalidSessionError","isTimeoutOrNetworkError","extractErrorMessage","useFileFiltering","OXY_OAUTH_STATE_STORAGE_KEY","OXY_OAUTH_CODE_VERIFIER_STORAGE_KEY","OxySignInButton","OxyAuthPrompt","OxyOAuthCallback","OxyConsentScreen","RequireOxyAuth","FollowButton","OxyPayButton","LogoIcon","LogoText","ProfileButton","OxyAuthChooser","useSwitchableAccounts","ProfileScreen","ManageAccountScreen","NotificationsScreen","PreferencesScreen","ConnectedAppsScreen","CreateAccountScreen","AccountMembersScreen","AccountSettingsScreen","showBottomSheet","closeBottomSheet","openAccountDialog","closeAccountDialog","subscribeToAccountDialog"],"sourceRoot":"../../src","sources":["index.ts"],"mappings":";;AAAA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;;AAEA,SAASA,aAAa,QAAyB,aAAa;AAC5D,SAASC,QAAQ,QAAQ,cAAc;AACvCD,aAAa,CAACC,QAAQ,CAACC,EAAgB,CAAC;;AAExC;AACA;AACA;AACA,SAASC,OAAO,IAAIC,WAAW,QAAQ,gCAA6B;AACpE,SAASC,MAAM,QAAQ,4BAAyB;AAEhD,SAASC,OAAO,QAAQ,uBAAoB;AAG5C;AACA;AACA;AACA,SAASC,UAAU,EAAEC,UAAU,QAAQ,4BAA4B;;AAEnE;AACA;AACA;AACA,SAASC,YAAY,QAAQ,0BAAuB;AACpD,SAASC,eAAe,QAAQ,6BAA0B;AAC1D,SACIC,aAAa,EACbC,SAAS,IAAIC,cAAc,EAC3BC,QAAQ,EACRC,iBAAiB,EACjBC,eAAe,EACfC,cAAc,EACdC,cAAc,EACdC,iBAAiB,EACjBC,kBAAkB,EAClBC,gBAAgB,QACb,2BAAwB;;AAE/B;AACA;AACA;AACA,SAAST,SAAS,EAAEU,mBAAmB,QAAQ,yBAAsB;AACrE,SAASC,kBAAkB,QAAQ,kCAA+B;AAClE,SAASC,SAAS,EAAEC,iBAAiB,EAAEC,qBAAqB,QAAQ,yBAAsB;AAC1F,SAASC,UAAU,QAAQ,0BAAuB;AAGlD;AACA;AACA;AACA,SACIC,cAAc,EACdC,eAAe,EACfC,cAAc,EACdC,WAAW,EACXC,iBAAiB,EACjBC,kBAAkB,EAClBC,kBAAkB,EAClBC,gBAAgB,QACb,yCAAsC;AAC7C,SACIC,WAAW,EACXC,UAAU,EACVC,iBAAiB,EACjBC,cAAc,EACdC,eAAe,EACfC,sBAAsB,QACnB,0CAAuC;AAC9C,SACIC,mBAAmB,EACnBC,yBAAyB,EACzBC,2BAA2B,QACxB,0CAAuC;AAC9C,SAASC,cAAc,QAAQ,sCAAmC;AAClE,SACIC,mBAAmB,EACnBC,eAAe,EACfC,aAAa,EACbC,yBAAyB,QACtB,yCAAsC;;AAE7C;;AAeA;AACA;AACA;AACA,SACIC,gBAAgB,EAChBC,eAAe,EACfC,wBAAwB,EACxBC,wBAAwB,EACxBC,gCAAgC,EAChCC,wBAAwB,EACxBC,qBAAqB,EACrBC,aAAa,QACV,6CAA0C;AACjD,SACIC,gBAAgB,EAChBC,gBAAgB,EAChBC,YAAY,EACZC,mBAAmB,EACnBC,eAAe,QACZ,8CAA2C;AAClD,SACIC,qBAAqB,EACrBC,qBAAqB,QAClB,yCAAsC;AAM7C;AACA,SAASC,YAAY,QAAQ,sCAAmC;;AAEhE;AACA;AACA;AACA;AACA;AACA;AACA,SACIC,SAAS,EACTC,wBAAwB,EACxBC,qBAAqB,EACrBC,wBAAwB,EACxBC,uBAAuB,EACvBC,wBAAwB,EACxBC,yBAAyB,EACzBC,wBAAwB,EACxBC,yBAAyB,EACzBC,8BAA8B,EAC9BC,4BAA4B,QACzB,iCAA8B;;AAErC;AACA;AACA;AACA;AACA;AACA,SAASC,gBAAgB,EAAEC,iBAAiB,QAAQ,iCAA8B;AAGlF;AACA,SAASC,iBAAiB,QAAQ,iCAA8B;AAEhE,SAASC,eAAe,QAAQ,+BAA4B;AAC5D,SAASC,WAAW,QAAQ,2BAAwB;;AAEpD;AACA;AACA;AACA,SACIC,eAAe,EACfC,qBAAqB,EACrBC,uBAAuB,EACvBC,mBAAmB,QAChB,6BAA0B;AAGjC;AACA;AACA;AACA,SAASC,gBAAgB,QAAQ,gCAA6B;AAG9D;AACA;AACA;AACA,SACEC,2BAA2B,EAC3BC,mCAAmC,QAC9B,aAAa;AACpB,SAASrF,OAAO,IAAIsF,eAAe,QAAQ,oCAAiC;AAE5E,SAASC,aAAa,QAAQ,kCAA+B;AAE7D,SAASC,gBAAgB,QAAQ,qCAAkC;AAEnE,SAASC,gBAAgB,QAAQ,qCAAkC;AAOnE;AACA;AACA;AACA;AACA;AACA,SAASC,cAAc,QAAQ,mCAAgC;AAG/D,SAAS1F,OAAO,IAAI2F,YAAY,QAAQ,iCAA8B;AAEtE,SAAS3F,OAAO,IAAI4F,YAAY,QAAQ,iCAA8B;AACtE,SAASC,QAAQ,QAAQ,kCAA+B;AACxD,SAASC,QAAQ,QAAQ,kCAA+B;;AAExD;AACA;AACA;AACA,SAAS9F,OAAO,IAAI+F,aAAa,QAAQ,kCAA+B;AAGxE;AACA;AACA;AACA;AACA,SAAS/F,OAAO,IAAIgG,cAAc,QAAQ,mCAAgC;AAG1E;AACA;AACA;AACA;AACA;AACA;AACA,SAASC,qBAAqB,QAAQ,qCAAkC;AAGxE;AACA,SAASjG,OAAO,IAAIkG,aAAa,QAAQ,+BAA4B;AACrE,SAASlG,OAAO,IAAImG,mBAAmB,QAAQ,qCAAkC;AACjF,SAASnG,OAAO,IAAIoG,mBAAmB,QAAQ,qCAAkC;AACjF,SAASpG,OAAO,IAAIqG,iBAAiB,QAAQ,mCAAgC;AAC7E,SAASrG,OAAO,IAAIsG,mBAAmB,QAAQ,qCAAkC;;AAEjF;AACA,SAAStG,OAAO,IAAIuG,mBAAmB,QAAQ,qCAAkC;AACjF,SAASvG,OAAO,IAAIwG,oBAAoB,QAAQ,sCAAmC;AACnF,SAASxG,OAAO,IAAIyG,qBAAqB,QAAQ,uCAAoC;;AAErF;AACA;AACA;AACA,SAASC,eAAe,EAAEC,gBAAgB,QAAQ,uCAAoC;AAGtF;AACA;AACA;AACA;AACA,SACEC,iBAAiB,EACjBC,kBAAkB,EAClBC,wBAAwB,QACnB,yCAAsC","ignoreList":[]}
1
+ {"version":3,"names":["setPlatformOS","Platform","OS","default","OxyProvider","useOxy","useAuth","FontLoader","setupFonts","useAuthStore","useAccountStore","useAssetStore","useAssets","useAssetsStore","useAsset","useUploadProgress","useAssetLoading","useAssetErrors","useAssetsByApp","useAssetsByEntity","useAssetUsageCount","useIsAssetLinked","setOxyAssetInstance","useFileDownloadUrl","useFollow","useFollowerCounts","useSeedFollowStatuses","useStorage","useUserProfile","useUserProfiles","useCurrentUser","useUserById","useUserByUsername","useUsersBySessions","usePrivacySettings","useConnectedApps","useSessions","useSession","useDeviceSessions","useUserDevices","useSecurityInfo","useAccountStorageUsage","useSecurityActivity","useRecentSecurityActivity","useInfiniteSecurityActivity","useAuthMethods","useUserSubscription","useUserPayments","useUserWallet","useUserWalletTransactions","useUpdateProfile","useUploadAvatar","useUpdateAccountSettings","useUpdatePrivacySettings","useUpdateNotificationPreferences","useUpdateUserPreferences","useRevokeConnectedApp","useUploadFile","useSwitchSession","useLogoutSession","useLogoutAll","useUpdateDeviceName","useRemoveDevice","createProfileMutation","createGenericMutation","mutationKeys","queryKeys","invalidateAccountQueries","invalidateUserQueries","invalidateSessionQueries","invalidateDeviceQueries","invalidatePrivacyQueries","invalidateSecurityQueries","invalidateStorageQueries","invalidatePaymentsQueries","invalidateConnectedAppsQueries","invalidateAuthMethodsQueries","upsertCachedUser","upsertCachedUsers","useMutationStatus","useOnlineStatus","useOxyEvent","handleAuthError","isInvalidSessionError","isTimeoutOrNetworkError","extractErrorMessage","useFileFiltering","OXY_OAUTH_STATE_STORAGE_KEY","OXY_OAUTH_CODE_VERIFIER_STORAGE_KEY","OxySignInButton","OxyAuthPrompt","OxyOAuthCallback","OxyConsentScreen","RequireOxyAuth","FollowButton","OxyPayButton","LogoIcon","LogoText","ProfileButton","OxyAuthChooser","useSwitchableAccounts","ProfileScreen","ManageAccountScreen","NotificationsScreen","PreferencesScreen","ConnectedAppsScreen","CreateAccountScreen","AccountMembersScreen","AccountSettingsScreen","showBottomSheet","closeBottomSheet","useSurfaceHeader","SurfaceHeaderAction","openAccountDialog","closeAccountDialog","subscribeToAccountDialog"],"sourceRoot":"../../src","sources":["index.ts"],"mappings":"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","ignoreList":[]}
@@ -1,7 +1,7 @@
1
1
  "use strict";
2
2
 
3
3
  /**
4
- * OxyAccountDialog — the ONE unified account dialog BODY for `@oxyhq/services`.
4
+ * OxyAccountDialogScreen — the ONE unified account dialog BODY for `@oxyhq/services`.
5
5
  *
6
6
  * The header (title/subtitle per view + back button) around the headless chooser
7
7
  * logic, which lives in `OxyAuthChooser` — the account switcher, sign-in,
@@ -24,15 +24,12 @@
24
24
  */
25
25
 
26
26
  import { useCallback, useSyncExternalStore } from 'react';
27
- import { Pressable, ScrollView, StyleSheet, View } from 'react-native';
28
- import { MaterialCommunityIcons } from '@expo/vector-icons';
29
- import { Text } from '@oxyhq/bloom/typography';
30
- import { useTheme } from '@oxyhq/bloom/theme';
27
+ import { StyleSheet, View } from 'react-native';
31
28
  import { useOxy } from "../context/OxyContext.js";
32
29
  import { useI18n } from "../hooks/useI18n.js";
30
+ import { useSurfaceHeader } from "../hooks/useSurfaceHeader.js";
33
31
  import OxyAuthChooser from "./OxyAuthChooser.js";
34
- import { LogoIcon } from "./logo/LogoIcon.js";
35
- import { jsx as _jsx, Fragment as _Fragment, jsxs as _jsxs } from "react/jsx-runtime";
32
+ import { jsx as _jsx } from "react/jsx-runtime";
36
33
  /**
37
34
  * The unified account dialog BODY — the header + `OxyAuthChooser` chooser.
38
35
  *
@@ -46,12 +43,11 @@ import { jsx as _jsx, Fragment as _Fragment, jsxs as _jsxs } from "react/jsx-run
46
43
  * `@oxyhq/core`. Closing routes through `useOxy().closeAccountDialog`, which
47
44
  * dismisses the surface and runs its exit animation.
48
45
  */
49
- const OxyAccountDialog = () => {
46
+ const OxyAccountDialogScreen = () => {
50
47
  const {
51
48
  accountDialogController: controller,
52
49
  closeAccountDialog
53
50
  } = useOxy();
54
- const theme = useTheme();
55
51
  const {
56
52
  t
57
53
  } = useI18n();
@@ -62,95 +58,33 @@ const OxyAccountDialog = () => {
62
58
  const subscribe = useCallback(listener => controller ? controller.subscribe(listener) : () => undefined, [controller]);
63
59
  const getSnapshot = useCallback(() => controller ? controller.getSnapshot() : EMPTY_SNAPSHOT, [controller]);
64
60
  const snapshot = useSyncExternalStore(subscribe, getSnapshot, getSnapshot);
65
- if (!controller) {
66
- return null;
67
- }
68
61
  const {
69
62
  view
70
63
  } = snapshot;
71
64
  const showBack = view === 'qr' || view === 'signup' || view === 'add' && snapshot.accounts.length > 0;
72
- return /*#__PURE__*/_jsxs(_Fragment, {
73
- children: [/*#__PURE__*/_jsx(DialogHeader, {
74
- snapshot: snapshot,
75
- theme: theme,
76
- t: t,
77
- showBack: showBack,
78
- onBack: () => controller.setView('accounts'),
79
- onClose: closeAccountDialog
80
- }), /*#__PURE__*/_jsx(ScrollView, {
81
- style: styles.body,
82
- contentContainerStyle: styles.bodyContent,
83
- showsVerticalScrollIndicator: false,
84
- children: /*#__PURE__*/_jsx(OxyAuthChooser, {
85
- onComplete: closeAccountDialog
86
- })
87
- })]
88
- });
89
- };
90
-
91
- // ---------------------------------------------------------------------------
92
- // Header
93
- // ---------------------------------------------------------------------------
94
-
95
- const DialogHeader = ({
96
- snapshot,
97
- theme,
98
- t,
99
- showBack,
100
- onBack,
101
- onClose
102
- }) => {
65
+ const goToAccounts = useCallback(() => controller?.setView('accounts'), [controller]);
103
66
  const {
104
67
  title,
105
68
  subtitle
106
- } = headerCopy(snapshot.view, snapshot.accounts.length, t);
107
- return /*#__PURE__*/_jsxs(View, {
108
- style: styles.header,
109
- children: [/*#__PURE__*/_jsxs(View, {
110
- style: styles.headerBar,
111
- children: [showBack ? /*#__PURE__*/_jsx(Pressable, {
112
- onPress: onBack,
113
- style: [styles.iconButton, {
114
- backgroundColor: theme.colors.backgroundSecondary
115
- }],
116
- accessibilityRole: "button",
117
- accessibilityLabel: t('common.actions.back') || 'Back',
118
- children: /*#__PURE__*/_jsx(MaterialCommunityIcons, {
119
- name: "chevron-left",
120
- size: 22,
121
- color: theme.colors.textSecondary
122
- })
123
- }) : /*#__PURE__*/_jsx(View, {
124
- style: styles.iconButton
125
- }), /*#__PURE__*/_jsx(LogoIcon, {
126
- height: 34,
127
- color: theme.colors.primary
128
- }), /*#__PURE__*/_jsx(Pressable, {
129
- onPress: onClose,
130
- style: [styles.iconButton, {
131
- backgroundColor: theme.colors.backgroundSecondary
132
- }],
133
- accessibilityRole: "button",
134
- accessibilityLabel: t('common.actions.close') || 'Close',
135
- children: /*#__PURE__*/_jsx(MaterialCommunityIcons, {
136
- name: "close",
137
- size: 20,
138
- color: theme.colors.textSecondary
139
- })
140
- })]
141
- }), /*#__PURE__*/_jsx(Text, {
142
- style: [styles.title, {
143
- color: theme.colors.text
144
- }],
145
- numberOfLines: 1,
146
- children: title
147
- }), subtitle ? /*#__PURE__*/_jsx(Text, {
148
- style: [styles.subtitle, {
149
- color: theme.colors.textSecondary
150
- }],
151
- numberOfLines: 2,
152
- children: subtitle
153
- }) : null]
69
+ } = headerCopy(view, snapshot.accounts.length, t);
70
+
71
+ // The account dialog uses the SHARED Dialog nav header like every other screen
72
+ // (the base): the large in-content title/subtitle that collapses into the nav
73
+ // bar on scroll (default `largeTitle`), its per-view copy, and a per-view back
74
+ // that returns to the account list (the Dialog renders the frosted back/close).
75
+ useSurfaceHeader({
76
+ title,
77
+ subtitle: subtitle ?? undefined,
78
+ onBack: showBack ? goToAccounts : undefined
79
+ });
80
+ if (!controller) {
81
+ return null;
82
+ }
83
+ return /*#__PURE__*/_jsx(View, {
84
+ style: styles.bodyContent,
85
+ children: /*#__PURE__*/_jsx(OxyAuthChooser, {
86
+ onComplete: closeAccountDialog
87
+ })
154
88
  });
155
89
  };
156
90
 
@@ -202,44 +136,10 @@ const EMPTY_SNAPSHOT = {
202
136
  commonsAvailability: 'unknown'
203
137
  };
204
138
  const styles = StyleSheet.create({
205
- header: {
206
- alignItems: 'center',
207
- marginBottom: 12
208
- },
209
- headerBar: {
210
- width: '100%',
211
- flexDirection: 'row',
212
- alignItems: 'center',
213
- justifyContent: 'space-between',
214
- marginBottom: 8
215
- },
216
- iconButton: {
217
- width: 32,
218
- height: 32,
219
- borderRadius: 16,
220
- alignItems: 'center',
221
- justifyContent: 'center'
222
- },
223
- title: {
224
- fontSize: 22,
225
- fontWeight: '800',
226
- letterSpacing: -0.4,
227
- textAlign: 'center',
228
- marginTop: 6
229
- },
230
- subtitle: {
231
- fontSize: 14,
232
- lineHeight: 19,
233
- textAlign: 'center',
234
- marginTop: 4
235
- },
236
- body: {
237
- width: '100%'
238
- },
239
139
  bodyContent: {
240
140
  paddingTop: 4,
241
141
  paddingBottom: 4
242
142
  }
243
143
  });
244
- export default OxyAccountDialog;
245
- //# sourceMappingURL=OxyAccountDialog.js.map
144
+ export default OxyAccountDialogScreen;
145
+ //# sourceMappingURL=OxyAccountDialogScreen.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"names":["useCallback","useSyncExternalStore","StyleSheet","View","useOxy","useI18n","useSurfaceHeader","OxyAuthChooser","jsx","_jsx","OxyAccountDialogScreen","accountDialogController","controller","closeAccountDialog","t","subscribe","listener","undefined","getSnapshot","EMPTY_SNAPSHOT","snapshot","view","showBack","accounts","length","goToAccounts","setView","title","subtitle","headerCopy","onBack","style","styles","bodyContent","children","onComplete","accountCount","activeAccountId","loading","error","switchingAccountId","signIn","phase","authorizeCode","qrPayload","expiresAt","commonsAvailability","create","paddingTop","paddingBottom"],"sourceRoot":"../../../../src","sources":["ui/components/OxyAccountDialogScreen.tsx"],"mappings":"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","ignoreList":[]}
@@ -6,8 +6,8 @@
6
6
  *
7
7
  * A thin React Native binding over the headless `AccountDialogController` in
8
8
  * `@oxyhq/core` (bound via `useSyncExternalStore`) — the same data/state
9
- * machine {@link OxyAccountDialog} renders, extracted so it can be mounted in
10
- * TWO places: wrapped in Bloom's `<Dialog>` by `OxyAccountDialog` (the normal
9
+ * machine {@link OxyAccountDialogScreen} renders, extracted so it can be mounted in
10
+ * TWO places: wrapped in Bloom's `<Dialog>` by `OxyAccountDialogScreen` (the normal
11
11
  * in-app surface), and mounted bare by a future auth.oxy.so hub page for the
12
12
  * cross-origin passkey popup (b2) — same chooser, two hosts, two completion
13
13
  * strategies via the `onComplete` prop. Neither host duplicates view logic.
@@ -54,6 +54,7 @@ import { MaterialCommunityIcons } from '@expo/vector-icons';
54
54
  import QRCode from 'react-native-qrcode-svg';
55
55
  import { Avatar } from '@oxyhq/bloom/avatar';
56
56
  import { Button } from '@oxyhq/bloom/button';
57
+ import { SettingsListGroup, SettingsListItem } from '@oxyhq/bloom/settings-list';
57
58
  import { toast } from '@oxyhq/bloom';
58
59
  import { Text } from '@oxyhq/bloom/typography';
59
60
  import { useTheme, BloomColorScope, APP_COLOR_NAMES, APP_COLOR_PRESETS } from '@oxyhq/bloom/theme';
@@ -68,6 +69,8 @@ import { authChooserStyles as styles } from "./oxyAuthChooserStyles.js";
68
69
  /** Diameter of a row avatar. */
69
70
  import { jsx as _jsx, jsxs as _jsxs } from "react/jsx-runtime";
70
71
  const ROW_AVATAR_SIZE = 40;
72
+ /** Diameter of the prominent current-account avatar in the collapsed header. */
73
+ const HEADER_AVATAR_SIZE = 48;
71
74
  /** High-contrast QR colors — intentionally fixed (NOT themed) for scan reliability. */
72
75
  const QR_PLATE_BG = '#FFFFFF';
73
76
  const QR_FOREGROUND = '#000000';
@@ -91,7 +94,7 @@ function toPreset(color) {
91
94
  return APP_COLOR_NAMES.includes(color) ? color : undefined;
92
95
  }
93
96
  /**
94
- * The account switcher + sign-in/sign-up chooser. Mounted by `OxyAccountDialog`
97
+ * The account switcher + sign-in/sign-up chooser. Mounted by `OxyAccountDialogScreen`
95
98
  * (wrapped in Bloom's `<Dialog>`) today; mountable bare by any future host that
96
99
  * supplies its own `onComplete`.
97
100
  */
@@ -298,12 +301,28 @@ const OxyAuthChooser = ({
298
301
  // Accounts view
299
302
  // ---------------------------------------------------------------------------
300
303
 
304
+ /**
305
+ * The signed-in switcher, in the Google account-menu shape:
306
+ * - COLLAPSED (default): the active account is prominent at the top (avatar +
307
+ * name + email) with a trailing expand chevron, and a "Manage your Oxy
308
+ * account" outline button directly under it. Nothing else.
309
+ * - EXPANDED: the same header + button, then the full account list (current
310
+ * first with a check-circle, every other switchable account, "Add another
311
+ * account", and "Manage accounts on this device").
312
+ *
313
+ * Collapse state is a plain `useState` toggled in the header's press handler —
314
+ * no `useEffect`, no derived-from-props sync. When there is only ONE account
315
+ * (nothing to switch to) the chevron is hidden and the "Add another account" +
316
+ * "Manage accounts on this device" items render inline, so those affordances
317
+ * stay reachable without a pointless expand toggle.
318
+ */
301
319
  const AccountsView = ({
302
320
  snapshot,
303
321
  theme,
304
322
  t,
305
323
  handlers
306
324
  }) => {
325
+ const [expanded, setExpanded] = useState(false);
307
326
  if (snapshot.loading && snapshot.accounts.length === 0) {
308
327
  return /*#__PURE__*/_jsxs(View, {
309
328
  style: styles.centeredBlock,
@@ -319,49 +338,127 @@ const AccountsView = ({
319
338
  })]
320
339
  });
321
340
  }
341
+ const switchingDisabled = snapshot.switchingAccountId !== null;
342
+ const current = snapshot.accounts.find(account => account.isCurrent) ?? snapshot.accounts[0];
343
+ const hasOtherAccounts = snapshot.accounts.some(account => account.accountId !== current?.accountId);
344
+ // Current account first, then the rest — the expanded list order.
345
+ const orderedAccounts = current ? [current, ...snapshot.accounts.filter(account => account.accountId !== current.accountId)] : snapshot.accounts;
346
+ // Multi-account: reveal the list only when expanded. Single-account: no expand
347
+ // affordance, so surface add/manage inline.
348
+ const showList = hasOtherAccounts ? expanded : true;
349
+ const renderAccountItem = account => {
350
+ const accent = resolveAccentHex(account.color, theme.colors.primary);
351
+ const isSwitching = snapshot.switchingAccountId === account.accountId;
352
+ return /*#__PURE__*/_jsx(SettingsListItem, {
353
+ icon: /*#__PURE__*/_jsx(View, {
354
+ style: [styles.avatarRing, {
355
+ borderColor: account.isCurrent ? accent : 'transparent'
356
+ }],
357
+ children: /*#__PURE__*/_jsx(Avatar, {
358
+ source: account.avatarUrl ?? undefined,
359
+ variant: "thumb",
360
+ name: account.displayName,
361
+ size: ROW_AVATAR_SIZE
362
+ })
363
+ }),
364
+ title: account.displayName,
365
+ description: account.email ?? undefined,
366
+ onPress: () => handlers.onSwitch(account.accountId),
367
+ disabled: switchingDisabled,
368
+ accessibilityLabel: account.displayName,
369
+ showChevron: false,
370
+ rightElement: isSwitching ? /*#__PURE__*/_jsx(MaterialCommunityIcons, {
371
+ name: "loading",
372
+ size: 20,
373
+ color: accent
374
+ }) : account.isCurrent ? /*#__PURE__*/_jsx(MaterialCommunityIcons, {
375
+ name: "check-circle",
376
+ size: 20,
377
+ color: accent
378
+ }) : undefined
379
+ }, account.accountId);
380
+ };
322
381
  return /*#__PURE__*/_jsxs(View, {
323
382
  style: styles.rows,
324
- children: [snapshot.accounts.map(account => /*#__PURE__*/_jsx(AccountRow, {
325
- account: account,
326
- theme: theme,
327
- switching: snapshot.switchingAccountId === account.accountId,
328
- disabled: snapshot.switchingAccountId !== null,
329
- onPress: () => handlers.onSwitch(account.accountId)
330
- }, account.accountId)), /*#__PURE__*/_jsxs(Pressable, {
331
- style: [styles.addRow, {
332
- borderColor: theme.colors.border
333
- }],
334
- onPress: handlers.onAdd,
335
- accessibilityRole: "button",
336
- accessibilityLabel: t('signin.addAccountTitle') || 'Add another account',
383
+ children: [current ? /*#__PURE__*/_jsxs(Pressable, {
384
+ style: styles.currentAccountRow,
385
+ onPress: hasOtherAccounts ? () => setExpanded(value => !value) : undefined,
386
+ disabled: hasOtherAccounts ? switchingDisabled : true,
387
+ accessibilityRole: hasOtherAccounts ? 'button' : undefined,
388
+ accessibilityState: hasOtherAccounts ? {
389
+ expanded
390
+ } : undefined,
391
+ accessibilityLabel: current.displayName,
337
392
  children: [/*#__PURE__*/_jsx(View, {
338
- style: [styles.addBadge, {
339
- borderColor: theme.colors.border
393
+ style: [styles.avatarRing, {
394
+ borderColor: resolveAccentHex(current.color, theme.colors.primary)
340
395
  }],
341
- children: /*#__PURE__*/_jsx(MaterialCommunityIcons, {
342
- name: "plus",
343
- size: 20,
344
- color: theme.colors.textSecondary
396
+ children: /*#__PURE__*/_jsx(Avatar, {
397
+ source: current.avatarUrl ?? undefined,
398
+ variant: "thumb",
399
+ name: current.displayName,
400
+ size: HEADER_AVATAR_SIZE
345
401
  })
346
- }), /*#__PURE__*/_jsx(Text, {
347
- style: [styles.rowName, {
348
- color: theme.colors.textSecondary
349
- }],
350
- children: t('signin.addAccountTitle') || 'Add another account'
351
- })]
352
- }), /*#__PURE__*/_jsx(View, {
353
- style: styles.footerLinks,
354
- children: /*#__PURE__*/_jsx(Pressable, {
355
- onPress: handlers.onManage,
356
- accessibilityRole: "button",
357
- children: /*#__PURE__*/_jsx(Text, {
358
- style: [styles.linkText, {
359
- color: theme.colors.primary
402
+ }), /*#__PURE__*/_jsxs(View, {
403
+ style: styles.currentAccountMeta,
404
+ children: [/*#__PURE__*/_jsx(Text, {
405
+ style: [styles.currentAccountName, {
406
+ color: theme.colors.text
360
407
  }],
361
- children: t('accountMenu.manage') || 'Manage accounts'
362
- })
363
- })
364
- })]
408
+ numberOfLines: 1,
409
+ children: current.displayName
410
+ }), current.email ? /*#__PURE__*/_jsx(Text, {
411
+ style: [styles.currentAccountEmail, {
412
+ color: theme.colors.textSecondary
413
+ }],
414
+ numberOfLines: 1,
415
+ children: current.email
416
+ }) : null]
417
+ }), hasOtherAccounts ? /*#__PURE__*/_jsx(MaterialCommunityIcons, {
418
+ name: expanded ? 'chevron-up' : 'chevron-down',
419
+ size: 24,
420
+ color: theme.colors.textSecondary
421
+ }) : null]
422
+ }) : null, /*#__PURE__*/_jsx(Button, {
423
+ variant: "outline",
424
+ onPress: handlers.onManage,
425
+ style: styles.manageButton,
426
+ children: t('accountMenu.manage') || 'Manage your Oxy account'
427
+ }), showList ? /*#__PURE__*/_jsxs(SettingsListGroup, {
428
+ children: [hasOtherAccounts ? orderedAccounts.map(renderAccountItem) : null, /*#__PURE__*/_jsx(SettingsListItem, {
429
+ icon: /*#__PURE__*/_jsx(View, {
430
+ style: [styles.addBadge, {
431
+ borderColor: theme.colors.border
432
+ }],
433
+ children: /*#__PURE__*/_jsx(MaterialCommunityIcons, {
434
+ name: "plus",
435
+ size: 20,
436
+ color: theme.colors.textSecondary
437
+ })
438
+ }),
439
+ title: t('signin.addAccountTitle') || 'Add another account',
440
+ onPress: handlers.onAdd,
441
+ disabled: switchingDisabled,
442
+ accessibilityLabel: t('signin.addAccountTitle') || 'Add another account',
443
+ showChevron: false
444
+ }), /*#__PURE__*/_jsx(SettingsListItem, {
445
+ icon: /*#__PURE__*/_jsx(View, {
446
+ style: [styles.addBadge, {
447
+ borderColor: theme.colors.border
448
+ }],
449
+ children: /*#__PURE__*/_jsx(MaterialCommunityIcons, {
450
+ name: "cog-outline",
451
+ size: 20,
452
+ color: theme.colors.textSecondary
453
+ })
454
+ }),
455
+ title: t('accountSwitcher.manageOnDevice') || 'Manage accounts on this device',
456
+ onPress: handlers.onManage,
457
+ disabled: switchingDisabled,
458
+ accessibilityLabel: t('accountSwitcher.manageOnDevice') || 'Manage accounts on this device',
459
+ showChevron: false
460
+ })]
461
+ }) : null]
365
462
  });
366
463
  };
367
464
  const AccountRow = ({