@oxyhq/services 22.8.7 → 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 (502) 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/OxyAccountDialogScreen.js +150 -0
  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/OxyProvider.js +9 -29
  9. package/lib/commonjs/ui/components/OxyProvider.js.map +1 -1
  10. package/lib/commonjs/ui/components/ProfileButton.js +1 -1
  11. package/lib/commonjs/ui/components/RequireOxyAuth.js +1 -1
  12. package/lib/commonjs/ui/components/SurfaceHeaderAction.js +63 -0
  13. package/lib/commonjs/ui/components/SurfaceHeaderAction.js.map +1 -0
  14. package/lib/commonjs/ui/components/SurfaceScreen.js +193 -0
  15. package/lib/commonjs/ui/components/SurfaceScreen.js.map +1 -0
  16. package/lib/commonjs/ui/components/fileManagement/FileDetailsModal.js +46 -29
  17. package/lib/commonjs/ui/components/fileManagement/FileDetailsModal.js.map +1 -1
  18. package/lib/commonjs/ui/components/modals/DeleteAccountModal.js +47 -23
  19. package/lib/commonjs/ui/components/modals/DeleteAccountModal.js.map +1 -1
  20. package/lib/commonjs/ui/components/oxyAuthChooserStyles.js +22 -12
  21. package/lib/commonjs/ui/components/oxyAuthChooserStyles.js.map +1 -1
  22. package/lib/commonjs/ui/components/surfaces/ActionSheetSurface.js +83 -0
  23. package/lib/commonjs/ui/components/surfaces/ActionSheetSurface.js.map +1 -0
  24. package/lib/commonjs/ui/context/OxyContext.js +49 -4
  25. package/lib/commonjs/ui/context/OxyContext.js.map +1 -1
  26. package/lib/commonjs/ui/hooks/useAvatarPicker.js +34 -39
  27. package/lib/commonjs/ui/hooks/useAvatarPicker.js.map +1 -1
  28. package/lib/commonjs/ui/hooks/useSurfaceHeader.js +46 -0
  29. package/lib/commonjs/ui/hooks/useSurfaceHeader.js.map +1 -0
  30. package/lib/commonjs/ui/hooks/useSwitchableAccounts.js +1 -1
  31. package/lib/commonjs/ui/navigation/accountDialogManager.js +14 -2
  32. package/lib/commonjs/ui/navigation/accountDialogManager.js.map +1 -1
  33. package/lib/commonjs/ui/navigation/bottomSheetManager.js +38 -56
  34. package/lib/commonjs/ui/navigation/bottomSheetManager.js.map +1 -1
  35. package/lib/commonjs/ui/navigation/routes.js +7 -57
  36. package/lib/commonjs/ui/navigation/routes.js.map +1 -1
  37. package/lib/commonjs/ui/navigation/surfaceBackBridge.js +68 -0
  38. package/lib/commonjs/ui/navigation/surfaceBackBridge.js.map +1 -0
  39. package/lib/commonjs/ui/navigation/surfaceNavStack.js +98 -0
  40. package/lib/commonjs/ui/navigation/surfaceNavStack.js.map +1 -0
  41. package/lib/commonjs/ui/navigation/surfaceRegistry.js +152 -0
  42. package/lib/commonjs/ui/navigation/surfaceRegistry.js.map +1 -0
  43. package/lib/commonjs/ui/navigation/surfaces.js +256 -0
  44. package/lib/commonjs/ui/navigation/surfaces.js.map +1 -0
  45. package/lib/commonjs/ui/screens/AccountMembersScreen.js +214 -283
  46. package/lib/commonjs/ui/screens/AccountMembersScreen.js.map +1 -1
  47. package/lib/commonjs/ui/screens/AccountSettingsScreen.js +88 -118
  48. package/lib/commonjs/ui/screens/AccountSettingsScreen.js.map +1 -1
  49. package/lib/commonjs/ui/screens/AccountVerificationScreen.js +22 -36
  50. package/lib/commonjs/ui/screens/AccountVerificationScreen.js.map +1 -1
  51. package/lib/commonjs/ui/screens/AppInfoScreen.js +219 -226
  52. package/lib/commonjs/ui/screens/AppInfoScreen.js.map +1 -1
  53. package/lib/commonjs/ui/screens/AvatarCropScreen.js +10 -14
  54. package/lib/commonjs/ui/screens/AvatarCropScreen.js.map +1 -1
  55. package/lib/commonjs/ui/screens/ConnectedAppsScreen.js +24 -39
  56. package/lib/commonjs/ui/screens/ConnectedAppsScreen.js.map +1 -1
  57. package/lib/commonjs/ui/screens/CreateAccountScreen.js +136 -158
  58. package/lib/commonjs/ui/screens/CreateAccountScreen.js.map +1 -1
  59. package/lib/commonjs/ui/screens/EditProfileFieldScreen.js +29 -36
  60. package/lib/commonjs/ui/screens/EditProfileFieldScreen.js.map +1 -1
  61. package/lib/commonjs/ui/screens/EditProfileScreen.js +101 -109
  62. package/lib/commonjs/ui/screens/EditProfileScreen.js.map +1 -1
  63. package/lib/commonjs/ui/screens/FAQScreen.js +10 -15
  64. package/lib/commonjs/ui/screens/FAQScreen.js.map +1 -1
  65. package/lib/commonjs/ui/screens/FeedbackScreen.js +8 -16
  66. package/lib/commonjs/ui/screens/FeedbackScreen.js.map +1 -1
  67. package/lib/commonjs/ui/screens/FileManagementScreen.js +219 -206
  68. package/lib/commonjs/ui/screens/FileManagementScreen.js.map +1 -1
  69. package/lib/commonjs/ui/screens/HelpSupportScreen.js +62 -69
  70. package/lib/commonjs/ui/screens/HelpSupportScreen.js.map +1 -1
  71. package/lib/commonjs/ui/screens/HistoryViewScreen.js +63 -79
  72. package/lib/commonjs/ui/screens/HistoryViewScreen.js.map +1 -1
  73. package/lib/commonjs/ui/screens/LanguageSelectorScreen.js +69 -98
  74. package/lib/commonjs/ui/screens/LanguageSelectorScreen.js.map +1 -1
  75. package/lib/commonjs/ui/screens/LearnMoreUsernamesScreen.js +8 -14
  76. package/lib/commonjs/ui/screens/LearnMoreUsernamesScreen.js.map +1 -1
  77. package/lib/commonjs/ui/screens/LegalDocumentsScreen.js +77 -94
  78. package/lib/commonjs/ui/screens/LegalDocumentsScreen.js.map +1 -1
  79. package/lib/commonjs/ui/screens/ManageAccountScreen.js +99 -134
  80. package/lib/commonjs/ui/screens/ManageAccountScreen.js.map +1 -1
  81. package/lib/commonjs/ui/screens/NotificationsScreen.js +69 -76
  82. package/lib/commonjs/ui/screens/NotificationsScreen.js.map +1 -1
  83. package/lib/commonjs/ui/screens/PaymentGatewayScreen.js +3 -8
  84. package/lib/commonjs/ui/screens/PaymentGatewayScreen.js.map +1 -1
  85. package/lib/commonjs/ui/screens/PreferencesScreen.js +67 -74
  86. package/lib/commonjs/ui/screens/PreferencesScreen.js.map +1 -1
  87. package/lib/commonjs/ui/screens/PremiumSubscriptionScreen.js +55 -91
  88. package/lib/commonjs/ui/screens/PremiumSubscriptionScreen.js.map +1 -1
  89. package/lib/commonjs/ui/screens/PrivacySettingsScreen.js +291 -304
  90. package/lib/commonjs/ui/screens/PrivacySettingsScreen.js.map +1 -1
  91. package/lib/commonjs/ui/screens/ProfileScreen.js +100 -114
  92. package/lib/commonjs/ui/screens/ProfileScreen.js.map +1 -1
  93. package/lib/commonjs/ui/screens/SavesCollectionsScreen.js +38 -45
  94. package/lib/commonjs/ui/screens/SavesCollectionsScreen.js.map +1 -1
  95. package/lib/commonjs/ui/screens/SearchSettingsScreen.js +44 -57
  96. package/lib/commonjs/ui/screens/SearchSettingsScreen.js.map +1 -1
  97. package/lib/commonjs/ui/screens/UserLinksScreen.js +24 -31
  98. package/lib/commonjs/ui/screens/UserLinksScreen.js.map +1 -1
  99. package/lib/commonjs/ui/screens/UserListScreen.js +14 -24
  100. package/lib/commonjs/ui/screens/UserListScreen.js.map +1 -1
  101. package/lib/commonjs/ui/screens/fileManagement/PhotoPickerSection.js +1 -1
  102. package/lib/commonjs/ui/screens/fileManagement/hooks/useFileUploadState.js +9 -7
  103. package/lib/commonjs/ui/screens/fileManagement/hooks/useFileUploadState.js.map +1 -1
  104. package/lib/commonjs/ui/screens/trust/TrustAboutScreen.js +66 -75
  105. package/lib/commonjs/ui/screens/trust/TrustAboutScreen.js.map +1 -1
  106. package/lib/commonjs/ui/screens/trust/TrustCenterScreen.js +111 -139
  107. package/lib/commonjs/ui/screens/trust/TrustCenterScreen.js.map +1 -1
  108. package/lib/commonjs/ui/screens/trust/TrustFAQScreen.js +13 -20
  109. package/lib/commonjs/ui/screens/trust/TrustFAQScreen.js.map +1 -1
  110. package/lib/commonjs/ui/screens/trust/TrustLeaderboardScreen.js +14 -27
  111. package/lib/commonjs/ui/screens/trust/TrustLeaderboardScreen.js.map +1 -1
  112. package/lib/commonjs/ui/screens/trust/TrustRewardsScreen.js +68 -85
  113. package/lib/commonjs/ui/screens/trust/TrustRewardsScreen.js.map +1 -1
  114. package/lib/commonjs/ui/screens/trust/TrustRulesScreen.js +28 -36
  115. package/lib/commonjs/ui/screens/trust/TrustRulesScreen.js.map +1 -1
  116. package/lib/commonjs/ui/types/surfaceScreen.js +6 -0
  117. package/lib/commonjs/ui/types/surfaceScreen.js.map +1 -0
  118. package/lib/module/index.js +12 -5
  119. package/lib/module/index.js.map +1 -1
  120. package/lib/module/ui/components/OxyAccountDialogScreen.js +145 -0
  121. package/lib/module/ui/components/OxyAccountDialogScreen.js.map +1 -0
  122. package/lib/module/ui/components/OxyAuthChooser.js +137 -40
  123. package/lib/module/ui/components/OxyAuthChooser.js.map +1 -1
  124. package/lib/module/ui/components/OxyConsentScreen.js +1 -1
  125. package/lib/module/ui/components/OxyProvider.js +10 -30
  126. package/lib/module/ui/components/OxyProvider.js.map +1 -1
  127. package/lib/module/ui/components/ProfileButton.js +1 -1
  128. package/lib/module/ui/components/RequireOxyAuth.js +1 -1
  129. package/lib/module/ui/components/SurfaceHeaderAction.js +58 -0
  130. package/lib/module/ui/components/SurfaceHeaderAction.js.map +1 -0
  131. package/lib/module/ui/components/SurfaceScreen.js +188 -0
  132. package/lib/module/ui/components/SurfaceScreen.js.map +1 -0
  133. package/lib/module/ui/components/fileManagement/FileDetailsModal.js +46 -29
  134. package/lib/module/ui/components/fileManagement/FileDetailsModal.js.map +1 -1
  135. package/lib/module/ui/components/modals/DeleteAccountModal.js +46 -23
  136. package/lib/module/ui/components/modals/DeleteAccountModal.js.map +1 -1
  137. package/lib/module/ui/components/oxyAuthChooserStyles.js +22 -12
  138. package/lib/module/ui/components/oxyAuthChooserStyles.js.map +1 -1
  139. package/lib/module/ui/components/surfaces/ActionSheetSurface.js +78 -0
  140. package/lib/module/ui/components/surfaces/ActionSheetSurface.js.map +1 -0
  141. package/lib/module/ui/context/OxyContext.js +49 -4
  142. package/lib/module/ui/context/OxyContext.js.map +1 -1
  143. package/lib/module/ui/hooks/useAvatarPicker.js +34 -39
  144. package/lib/module/ui/hooks/useAvatarPicker.js.map +1 -1
  145. package/lib/module/ui/hooks/useSurfaceHeader.js +42 -0
  146. package/lib/module/ui/hooks/useSurfaceHeader.js.map +1 -0
  147. package/lib/module/ui/hooks/useSwitchableAccounts.js +1 -1
  148. package/lib/module/ui/navigation/accountDialogManager.js +14 -2
  149. package/lib/module/ui/navigation/accountDialogManager.js.map +1 -1
  150. package/lib/module/ui/navigation/bottomSheetManager.js +37 -53
  151. package/lib/module/ui/navigation/bottomSheetManager.js.map +1 -1
  152. package/lib/module/ui/navigation/routes.js +6 -56
  153. package/lib/module/ui/navigation/routes.js.map +1 -1
  154. package/lib/module/ui/navigation/surfaceBackBridge.js +63 -0
  155. package/lib/module/ui/navigation/surfaceBackBridge.js.map +1 -0
  156. package/lib/module/ui/navigation/surfaceNavStack.js +95 -0
  157. package/lib/module/ui/navigation/surfaceNavStack.js.map +1 -0
  158. package/lib/module/ui/navigation/surfaceRegistry.js +146 -0
  159. package/lib/module/ui/navigation/surfaceRegistry.js.map +1 -0
  160. package/lib/module/ui/navigation/surfaces.js +244 -0
  161. package/lib/module/ui/navigation/surfaces.js.map +1 -0
  162. package/lib/module/ui/screens/AccountMembersScreen.js +218 -286
  163. package/lib/module/ui/screens/AccountMembersScreen.js.map +1 -1
  164. package/lib/module/ui/screens/AccountSettingsScreen.js +92 -121
  165. package/lib/module/ui/screens/AccountSettingsScreen.js.map +1 -1
  166. package/lib/module/ui/screens/AccountVerificationScreen.js +25 -38
  167. package/lib/module/ui/screens/AccountVerificationScreen.js.map +1 -1
  168. package/lib/module/ui/screens/AppInfoScreen.js +220 -227
  169. package/lib/module/ui/screens/AppInfoScreen.js.map +1 -1
  170. package/lib/module/ui/screens/AvatarCropScreen.js +10 -14
  171. package/lib/module/ui/screens/AvatarCropScreen.js.map +1 -1
  172. package/lib/module/ui/screens/ConnectedAppsScreen.js +26 -40
  173. package/lib/module/ui/screens/ConnectedAppsScreen.js.map +1 -1
  174. package/lib/module/ui/screens/CreateAccountScreen.js +139 -160
  175. package/lib/module/ui/screens/CreateAccountScreen.js.map +1 -1
  176. package/lib/module/ui/screens/EditProfileFieldScreen.js +32 -38
  177. package/lib/module/ui/screens/EditProfileFieldScreen.js.map +1 -1
  178. package/lib/module/ui/screens/EditProfileScreen.js +102 -110
  179. package/lib/module/ui/screens/EditProfileScreen.js.map +1 -1
  180. package/lib/module/ui/screens/FAQScreen.js +11 -15
  181. package/lib/module/ui/screens/FAQScreen.js.map +1 -1
  182. package/lib/module/ui/screens/FeedbackScreen.js +10 -17
  183. package/lib/module/ui/screens/FeedbackScreen.js.map +1 -1
  184. package/lib/module/ui/screens/FileManagementScreen.js +222 -208
  185. package/lib/module/ui/screens/FileManagementScreen.js.map +1 -1
  186. package/lib/module/ui/screens/HelpSupportScreen.js +64 -70
  187. package/lib/module/ui/screens/HelpSupportScreen.js.map +1 -1
  188. package/lib/module/ui/screens/HistoryViewScreen.js +65 -81
  189. package/lib/module/ui/screens/HistoryViewScreen.js.map +1 -1
  190. package/lib/module/ui/screens/LanguageSelectorScreen.js +71 -99
  191. package/lib/module/ui/screens/LanguageSelectorScreen.js.map +1 -1
  192. package/lib/module/ui/screens/LearnMoreUsernamesScreen.js +10 -15
  193. package/lib/module/ui/screens/LearnMoreUsernamesScreen.js.map +1 -1
  194. package/lib/module/ui/screens/LegalDocumentsScreen.js +78 -94
  195. package/lib/module/ui/screens/LegalDocumentsScreen.js.map +1 -1
  196. package/lib/module/ui/screens/ManageAccountScreen.js +102 -137
  197. package/lib/module/ui/screens/ManageAccountScreen.js.map +1 -1
  198. package/lib/module/ui/screens/NotificationsScreen.js +71 -77
  199. package/lib/module/ui/screens/NotificationsScreen.js.map +1 -1
  200. package/lib/module/ui/screens/PaymentGatewayScreen.js +4 -9
  201. package/lib/module/ui/screens/PaymentGatewayScreen.js.map +1 -1
  202. package/lib/module/ui/screens/PreferencesScreen.js +69 -75
  203. package/lib/module/ui/screens/PreferencesScreen.js.map +1 -1
  204. package/lib/module/ui/screens/PremiumSubscriptionScreen.js +58 -93
  205. package/lib/module/ui/screens/PremiumSubscriptionScreen.js.map +1 -1
  206. package/lib/module/ui/screens/PrivacySettingsScreen.js +293 -305
  207. package/lib/module/ui/screens/PrivacySettingsScreen.js.map +1 -1
  208. package/lib/module/ui/screens/ProfileScreen.js +102 -116
  209. package/lib/module/ui/screens/ProfileScreen.js.map +1 -1
  210. package/lib/module/ui/screens/SavesCollectionsScreen.js +40 -46
  211. package/lib/module/ui/screens/SavesCollectionsScreen.js.map +1 -1
  212. package/lib/module/ui/screens/SearchSettingsScreen.js +46 -58
  213. package/lib/module/ui/screens/SearchSettingsScreen.js.map +1 -1
  214. package/lib/module/ui/screens/UserLinksScreen.js +26 -32
  215. package/lib/module/ui/screens/UserLinksScreen.js.map +1 -1
  216. package/lib/module/ui/screens/UserListScreen.js +14 -24
  217. package/lib/module/ui/screens/UserListScreen.js.map +1 -1
  218. package/lib/module/ui/screens/fileManagement/PhotoPickerSection.js +1 -1
  219. package/lib/module/ui/screens/fileManagement/hooks/useFileUploadState.js +8 -7
  220. package/lib/module/ui/screens/fileManagement/hooks/useFileUploadState.js.map +1 -1
  221. package/lib/module/ui/screens/trust/TrustAboutScreen.js +67 -75
  222. package/lib/module/ui/screens/trust/TrustAboutScreen.js.map +1 -1
  223. package/lib/module/ui/screens/trust/TrustCenterScreen.js +112 -139
  224. package/lib/module/ui/screens/trust/TrustCenterScreen.js.map +1 -1
  225. package/lib/module/ui/screens/trust/TrustFAQScreen.js +15 -21
  226. package/lib/module/ui/screens/trust/TrustFAQScreen.js.map +1 -1
  227. package/lib/module/ui/screens/trust/TrustLeaderboardScreen.js +14 -26
  228. package/lib/module/ui/screens/trust/TrustLeaderboardScreen.js.map +1 -1
  229. package/lib/module/ui/screens/trust/TrustRewardsScreen.js +69 -85
  230. package/lib/module/ui/screens/trust/TrustRewardsScreen.js.map +1 -1
  231. package/lib/module/ui/screens/trust/TrustRulesScreen.js +30 -37
  232. package/lib/module/ui/screens/trust/TrustRulesScreen.js.map +1 -1
  233. package/lib/module/ui/types/surfaceScreen.js +4 -0
  234. package/lib/module/ui/types/surfaceScreen.js.map +1 -0
  235. package/lib/typescript/commonjs/index.d.ts +2 -0
  236. package/lib/typescript/commonjs/index.d.ts.map +1 -1
  237. package/lib/typescript/commonjs/ui/components/OxyAccountDialogScreen.d.ts +39 -0
  238. package/lib/typescript/commonjs/ui/components/OxyAccountDialogScreen.d.ts.map +1 -0
  239. package/lib/typescript/commonjs/ui/components/OxyAuthChooser.d.ts +3 -3
  240. package/lib/typescript/commonjs/ui/components/OxyAuthChooser.d.ts.map +1 -1
  241. package/lib/typescript/commonjs/ui/components/OxyProvider.d.ts +3 -2
  242. package/lib/typescript/commonjs/ui/components/OxyProvider.d.ts.map +1 -1
  243. package/lib/typescript/commonjs/ui/components/ProfileButton.d.ts +2 -2
  244. package/lib/typescript/commonjs/ui/components/RequireOxyAuth.d.ts +1 -1
  245. package/lib/typescript/commonjs/ui/components/SurfaceHeaderAction.d.ts +16 -0
  246. package/lib/typescript/commonjs/ui/components/SurfaceHeaderAction.d.ts.map +1 -0
  247. package/lib/typescript/commonjs/ui/components/SurfaceScreen.d.ts +26 -0
  248. package/lib/typescript/commonjs/ui/components/SurfaceScreen.d.ts.map +1 -0
  249. package/lib/typescript/commonjs/ui/components/fileManagement/FileDetailsModal.d.ts +14 -4
  250. package/lib/typescript/commonjs/ui/components/fileManagement/FileDetailsModal.d.ts.map +1 -1
  251. package/lib/typescript/commonjs/ui/components/modals/DeleteAccountModal.d.ts +17 -2
  252. package/lib/typescript/commonjs/ui/components/modals/DeleteAccountModal.d.ts.map +1 -1
  253. package/lib/typescript/commonjs/ui/components/oxyAuthChooserStyles.d.ts +19 -9
  254. package/lib/typescript/commonjs/ui/components/oxyAuthChooserStyles.d.ts.map +1 -1
  255. package/lib/typescript/commonjs/ui/components/surfaces/ActionSheetSurface.d.ts +38 -0
  256. package/lib/typescript/commonjs/ui/components/surfaces/ActionSheetSurface.d.ts.map +1 -0
  257. package/lib/typescript/commonjs/ui/context/OxyContext.d.ts.map +1 -1
  258. package/lib/typescript/commonjs/ui/hooks/useAvatarPicker.d.ts +7 -11
  259. package/lib/typescript/commonjs/ui/hooks/useAvatarPicker.d.ts.map +1 -1
  260. package/lib/typescript/commonjs/ui/hooks/useSurfaceHeader.d.ts +31 -0
  261. package/lib/typescript/commonjs/ui/hooks/useSurfaceHeader.d.ts.map +1 -0
  262. package/lib/typescript/commonjs/ui/hooks/useSwitchableAccounts.d.ts +1 -1
  263. package/lib/typescript/commonjs/ui/navigation/accountDialogManager.d.ts +14 -2
  264. package/lib/typescript/commonjs/ui/navigation/accountDialogManager.d.ts.map +1 -1
  265. package/lib/typescript/commonjs/ui/navigation/bottomSheetManager.d.ts +24 -16
  266. package/lib/typescript/commonjs/ui/navigation/bottomSheetManager.d.ts.map +1 -1
  267. package/lib/typescript/commonjs/ui/navigation/routes.d.ts +2 -60
  268. package/lib/typescript/commonjs/ui/navigation/routes.d.ts.map +1 -1
  269. package/lib/typescript/commonjs/ui/navigation/surfaceBackBridge.d.ts +16 -0
  270. package/lib/typescript/commonjs/ui/navigation/surfaceBackBridge.d.ts.map +1 -0
  271. package/lib/typescript/commonjs/ui/navigation/surfaceNavStack.d.ts +51 -0
  272. package/lib/typescript/commonjs/ui/navigation/surfaceNavStack.d.ts.map +1 -0
  273. package/lib/typescript/commonjs/ui/navigation/surfaceRegistry.d.ts +135 -0
  274. package/lib/typescript/commonjs/ui/navigation/surfaceRegistry.d.ts.map +1 -0
  275. package/lib/typescript/commonjs/ui/navigation/surfaces.d.ts +79 -0
  276. package/lib/typescript/commonjs/ui/navigation/surfaces.d.ts.map +1 -0
  277. package/lib/typescript/commonjs/ui/screens/AccountMembersScreen.d.ts.map +1 -1
  278. package/lib/typescript/commonjs/ui/screens/AccountSettingsScreen.d.ts.map +1 -1
  279. package/lib/typescript/commonjs/ui/screens/AccountVerificationScreen.d.ts.map +1 -1
  280. package/lib/typescript/commonjs/ui/screens/AppInfoScreen.d.ts.map +1 -1
  281. package/lib/typescript/commonjs/ui/screens/AvatarCropScreen.d.ts +0 -4
  282. package/lib/typescript/commonjs/ui/screens/AvatarCropScreen.d.ts.map +1 -1
  283. package/lib/typescript/commonjs/ui/screens/ConnectedAppsScreen.d.ts.map +1 -1
  284. package/lib/typescript/commonjs/ui/screens/CreateAccountScreen.d.ts.map +1 -1
  285. package/lib/typescript/commonjs/ui/screens/EditProfileFieldScreen.d.ts.map +1 -1
  286. package/lib/typescript/commonjs/ui/screens/EditProfileScreen.d.ts.map +1 -1
  287. package/lib/typescript/commonjs/ui/screens/FAQScreen.d.ts.map +1 -1
  288. package/lib/typescript/commonjs/ui/screens/FeedbackScreen.d.ts.map +1 -1
  289. package/lib/typescript/commonjs/ui/screens/FileManagementScreen.d.ts.map +1 -1
  290. package/lib/typescript/commonjs/ui/screens/HelpSupportScreen.d.ts.map +1 -1
  291. package/lib/typescript/commonjs/ui/screens/HistoryViewScreen.d.ts.map +1 -1
  292. package/lib/typescript/commonjs/ui/screens/LanguageSelectorScreen.d.ts.map +1 -1
  293. package/lib/typescript/commonjs/ui/screens/LearnMoreUsernamesScreen.d.ts.map +1 -1
  294. package/lib/typescript/commonjs/ui/screens/LegalDocumentsScreen.d.ts.map +1 -1
  295. package/lib/typescript/commonjs/ui/screens/ManageAccountScreen.d.ts +1 -1
  296. package/lib/typescript/commonjs/ui/screens/ManageAccountScreen.d.ts.map +1 -1
  297. package/lib/typescript/commonjs/ui/screens/NotificationsScreen.d.ts.map +1 -1
  298. package/lib/typescript/commonjs/ui/screens/PaymentGatewayScreen.d.ts.map +1 -1
  299. package/lib/typescript/commonjs/ui/screens/PreferencesScreen.d.ts.map +1 -1
  300. package/lib/typescript/commonjs/ui/screens/PremiumSubscriptionScreen.d.ts.map +1 -1
  301. package/lib/typescript/commonjs/ui/screens/PrivacySettingsScreen.d.ts.map +1 -1
  302. package/lib/typescript/commonjs/ui/screens/ProfileScreen.d.ts.map +1 -1
  303. package/lib/typescript/commonjs/ui/screens/SavesCollectionsScreen.d.ts.map +1 -1
  304. package/lib/typescript/commonjs/ui/screens/SearchSettingsScreen.d.ts.map +1 -1
  305. package/lib/typescript/commonjs/ui/screens/UserLinksScreen.d.ts.map +1 -1
  306. package/lib/typescript/commonjs/ui/screens/UserListScreen.d.ts.map +1 -1
  307. package/lib/typescript/commonjs/ui/screens/fileManagement/hooks/useFileUploadState.d.ts.map +1 -1
  308. package/lib/typescript/commonjs/ui/screens/trust/TrustAboutScreen.d.ts.map +1 -1
  309. package/lib/typescript/commonjs/ui/screens/trust/TrustCenterScreen.d.ts.map +1 -1
  310. package/lib/typescript/commonjs/ui/screens/trust/TrustFAQScreen.d.ts.map +1 -1
  311. package/lib/typescript/commonjs/ui/screens/trust/TrustLeaderboardScreen.d.ts.map +1 -1
  312. package/lib/typescript/commonjs/ui/screens/trust/TrustRewardsScreen.d.ts.map +1 -1
  313. package/lib/typescript/commonjs/ui/screens/trust/TrustRulesScreen.d.ts.map +1 -1
  314. package/lib/typescript/commonjs/ui/types/navigation.d.ts +8 -0
  315. package/lib/typescript/commonjs/ui/types/navigation.d.ts.map +1 -1
  316. package/lib/typescript/commonjs/ui/types/surfaceScreen.d.ts +38 -0
  317. package/lib/typescript/commonjs/ui/types/surfaceScreen.d.ts.map +1 -0
  318. package/lib/typescript/module/index.d.ts +2 -0
  319. package/lib/typescript/module/index.d.ts.map +1 -1
  320. package/lib/typescript/module/ui/components/OxyAccountDialogScreen.d.ts +39 -0
  321. package/lib/typescript/module/ui/components/OxyAccountDialogScreen.d.ts.map +1 -0
  322. package/lib/typescript/module/ui/components/OxyAuthChooser.d.ts +3 -3
  323. package/lib/typescript/module/ui/components/OxyAuthChooser.d.ts.map +1 -1
  324. package/lib/typescript/module/ui/components/OxyProvider.d.ts +3 -2
  325. package/lib/typescript/module/ui/components/OxyProvider.d.ts.map +1 -1
  326. package/lib/typescript/module/ui/components/ProfileButton.d.ts +2 -2
  327. package/lib/typescript/module/ui/components/RequireOxyAuth.d.ts +1 -1
  328. package/lib/typescript/module/ui/components/SurfaceHeaderAction.d.ts +16 -0
  329. package/lib/typescript/module/ui/components/SurfaceHeaderAction.d.ts.map +1 -0
  330. package/lib/typescript/module/ui/components/SurfaceScreen.d.ts +26 -0
  331. package/lib/typescript/module/ui/components/SurfaceScreen.d.ts.map +1 -0
  332. package/lib/typescript/module/ui/components/fileManagement/FileDetailsModal.d.ts +14 -4
  333. package/lib/typescript/module/ui/components/fileManagement/FileDetailsModal.d.ts.map +1 -1
  334. package/lib/typescript/module/ui/components/modals/DeleteAccountModal.d.ts +17 -2
  335. package/lib/typescript/module/ui/components/modals/DeleteAccountModal.d.ts.map +1 -1
  336. package/lib/typescript/module/ui/components/oxyAuthChooserStyles.d.ts +19 -9
  337. package/lib/typescript/module/ui/components/oxyAuthChooserStyles.d.ts.map +1 -1
  338. package/lib/typescript/module/ui/components/surfaces/ActionSheetSurface.d.ts +38 -0
  339. package/lib/typescript/module/ui/components/surfaces/ActionSheetSurface.d.ts.map +1 -0
  340. package/lib/typescript/module/ui/context/OxyContext.d.ts.map +1 -1
  341. package/lib/typescript/module/ui/hooks/useAvatarPicker.d.ts +7 -11
  342. package/lib/typescript/module/ui/hooks/useAvatarPicker.d.ts.map +1 -1
  343. package/lib/typescript/module/ui/hooks/useSurfaceHeader.d.ts +31 -0
  344. package/lib/typescript/module/ui/hooks/useSurfaceHeader.d.ts.map +1 -0
  345. package/lib/typescript/module/ui/hooks/useSwitchableAccounts.d.ts +1 -1
  346. package/lib/typescript/module/ui/navigation/accountDialogManager.d.ts +14 -2
  347. package/lib/typescript/module/ui/navigation/accountDialogManager.d.ts.map +1 -1
  348. package/lib/typescript/module/ui/navigation/bottomSheetManager.d.ts +24 -16
  349. package/lib/typescript/module/ui/navigation/bottomSheetManager.d.ts.map +1 -1
  350. package/lib/typescript/module/ui/navigation/routes.d.ts +2 -60
  351. package/lib/typescript/module/ui/navigation/routes.d.ts.map +1 -1
  352. package/lib/typescript/module/ui/navigation/surfaceBackBridge.d.ts +16 -0
  353. package/lib/typescript/module/ui/navigation/surfaceBackBridge.d.ts.map +1 -0
  354. package/lib/typescript/module/ui/navigation/surfaceNavStack.d.ts +51 -0
  355. package/lib/typescript/module/ui/navigation/surfaceNavStack.d.ts.map +1 -0
  356. package/lib/typescript/module/ui/navigation/surfaceRegistry.d.ts +135 -0
  357. package/lib/typescript/module/ui/navigation/surfaceRegistry.d.ts.map +1 -0
  358. package/lib/typescript/module/ui/navigation/surfaces.d.ts +79 -0
  359. package/lib/typescript/module/ui/navigation/surfaces.d.ts.map +1 -0
  360. package/lib/typescript/module/ui/screens/AccountMembersScreen.d.ts.map +1 -1
  361. package/lib/typescript/module/ui/screens/AccountSettingsScreen.d.ts.map +1 -1
  362. package/lib/typescript/module/ui/screens/AccountVerificationScreen.d.ts.map +1 -1
  363. package/lib/typescript/module/ui/screens/AppInfoScreen.d.ts.map +1 -1
  364. package/lib/typescript/module/ui/screens/AvatarCropScreen.d.ts +0 -4
  365. package/lib/typescript/module/ui/screens/AvatarCropScreen.d.ts.map +1 -1
  366. package/lib/typescript/module/ui/screens/ConnectedAppsScreen.d.ts.map +1 -1
  367. package/lib/typescript/module/ui/screens/CreateAccountScreen.d.ts.map +1 -1
  368. package/lib/typescript/module/ui/screens/EditProfileFieldScreen.d.ts.map +1 -1
  369. package/lib/typescript/module/ui/screens/EditProfileScreen.d.ts.map +1 -1
  370. package/lib/typescript/module/ui/screens/FAQScreen.d.ts.map +1 -1
  371. package/lib/typescript/module/ui/screens/FeedbackScreen.d.ts.map +1 -1
  372. package/lib/typescript/module/ui/screens/FileManagementScreen.d.ts.map +1 -1
  373. package/lib/typescript/module/ui/screens/HelpSupportScreen.d.ts.map +1 -1
  374. package/lib/typescript/module/ui/screens/HistoryViewScreen.d.ts.map +1 -1
  375. package/lib/typescript/module/ui/screens/LanguageSelectorScreen.d.ts.map +1 -1
  376. package/lib/typescript/module/ui/screens/LearnMoreUsernamesScreen.d.ts.map +1 -1
  377. package/lib/typescript/module/ui/screens/LegalDocumentsScreen.d.ts.map +1 -1
  378. package/lib/typescript/module/ui/screens/ManageAccountScreen.d.ts +1 -1
  379. package/lib/typescript/module/ui/screens/ManageAccountScreen.d.ts.map +1 -1
  380. package/lib/typescript/module/ui/screens/NotificationsScreen.d.ts.map +1 -1
  381. package/lib/typescript/module/ui/screens/PaymentGatewayScreen.d.ts.map +1 -1
  382. package/lib/typescript/module/ui/screens/PreferencesScreen.d.ts.map +1 -1
  383. package/lib/typescript/module/ui/screens/PremiumSubscriptionScreen.d.ts.map +1 -1
  384. package/lib/typescript/module/ui/screens/PrivacySettingsScreen.d.ts.map +1 -1
  385. package/lib/typescript/module/ui/screens/ProfileScreen.d.ts.map +1 -1
  386. package/lib/typescript/module/ui/screens/SavesCollectionsScreen.d.ts.map +1 -1
  387. package/lib/typescript/module/ui/screens/SearchSettingsScreen.d.ts.map +1 -1
  388. package/lib/typescript/module/ui/screens/UserLinksScreen.d.ts.map +1 -1
  389. package/lib/typescript/module/ui/screens/UserListScreen.d.ts.map +1 -1
  390. package/lib/typescript/module/ui/screens/fileManagement/hooks/useFileUploadState.d.ts.map +1 -1
  391. package/lib/typescript/module/ui/screens/trust/TrustAboutScreen.d.ts.map +1 -1
  392. package/lib/typescript/module/ui/screens/trust/TrustCenterScreen.d.ts.map +1 -1
  393. package/lib/typescript/module/ui/screens/trust/TrustFAQScreen.d.ts.map +1 -1
  394. package/lib/typescript/module/ui/screens/trust/TrustLeaderboardScreen.d.ts.map +1 -1
  395. package/lib/typescript/module/ui/screens/trust/TrustRewardsScreen.d.ts.map +1 -1
  396. package/lib/typescript/module/ui/screens/trust/TrustRulesScreen.d.ts.map +1 -1
  397. package/lib/typescript/module/ui/types/navigation.d.ts +8 -0
  398. package/lib/typescript/module/ui/types/navigation.d.ts.map +1 -1
  399. package/lib/typescript/module/ui/types/surfaceScreen.d.ts +38 -0
  400. package/lib/typescript/module/ui/types/surfaceScreen.d.ts.map +1 -0
  401. package/package.json +2 -2
  402. package/src/index.ts +12 -5
  403. package/src/ui/components/OxyAccountDialogScreen.tsx +148 -0
  404. package/src/ui/components/OxyAuthChooser.tsx +153 -33
  405. package/src/ui/components/OxyConsentScreen.tsx +1 -1
  406. package/src/ui/components/OxyProvider.tsx +12 -34
  407. package/src/ui/components/ProfileButton.tsx +2 -2
  408. package/src/ui/components/RequireOxyAuth.tsx +1 -1
  409. package/src/ui/components/SurfaceHeaderAction.tsx +60 -0
  410. package/src/ui/components/SurfaceScreen.tsx +226 -0
  411. package/src/ui/components/fileManagement/FileDetailsModal.tsx +50 -36
  412. package/src/ui/components/modals/DeleteAccountModal.tsx +47 -26
  413. package/src/ui/components/oxyAuthChooserStyles.ts +22 -12
  414. package/src/ui/components/surfaces/ActionSheetSurface.tsx +98 -0
  415. package/src/ui/context/OxyContext.tsx +43 -3
  416. package/src/ui/hooks/useAvatarPicker.ts +53 -66
  417. package/src/ui/hooks/useSurfaceHeader.ts +56 -0
  418. package/src/ui/hooks/useSwitchableAccounts.ts +1 -1
  419. package/src/ui/navigation/__tests__/getSurfaceConfig.test.ts +39 -0
  420. package/src/ui/navigation/__tests__/surfaceNavStack.test.ts +68 -0
  421. package/src/ui/navigation/accountDialogManager.ts +14 -2
  422. package/src/ui/navigation/bottomSheetManager.ts +46 -73
  423. package/src/ui/navigation/routes.ts +7 -106
  424. package/src/ui/navigation/surfaceBackBridge.ts +69 -0
  425. package/src/ui/navigation/surfaceNavStack.ts +110 -0
  426. package/src/ui/navigation/surfaceRegistry.ts +240 -0
  427. package/src/ui/navigation/surfaces.ts +272 -0
  428. package/src/ui/screens/AccountMembersScreen.tsx +39 -100
  429. package/src/ui/screens/AccountSettingsScreen.tsx +32 -54
  430. package/src/ui/screens/AccountVerificationScreen.tsx +23 -51
  431. package/src/ui/screens/AppInfoScreen.tsx +6 -13
  432. package/src/ui/screens/AvatarCropScreen.tsx +8 -17
  433. package/src/ui/screens/ConnectedAppsScreen.tsx +39 -60
  434. package/src/ui/screens/CreateAccountScreen.tsx +13 -39
  435. package/src/ui/screens/EditProfileFieldScreen.tsx +30 -48
  436. package/src/ui/screens/EditProfileScreen.tsx +7 -16
  437. package/src/ui/screens/FAQScreen.tsx +9 -13
  438. package/src/ui/screens/FeedbackScreen.tsx +8 -22
  439. package/src/ui/screens/FileManagementScreen.tsx +191 -188
  440. package/src/ui/screens/HelpSupportScreen.tsx +7 -13
  441. package/src/ui/screens/HistoryViewScreen.tsx +26 -31
  442. package/src/ui/screens/LanguageSelectorScreen.tsx +12 -46
  443. package/src/ui/screens/LearnMoreUsernamesScreen.tsx +8 -16
  444. package/src/ui/screens/LegalDocumentsScreen.tsx +7 -22
  445. package/src/ui/screens/ManageAccountScreen.tsx +96 -165
  446. package/src/ui/screens/NotificationsScreen.tsx +7 -13
  447. package/src/ui/screens/PaymentGatewayScreen.tsx +3 -10
  448. package/src/ui/screens/PreferencesScreen.tsx +7 -13
  449. package/src/ui/screens/PremiumSubscriptionScreen.tsx +52 -90
  450. package/src/ui/screens/PrivacySettingsScreen.tsx +9 -21
  451. package/src/ui/screens/ProfileScreen.tsx +9 -11
  452. package/src/ui/screens/SavesCollectionsScreen.tsx +7 -13
  453. package/src/ui/screens/SearchSettingsScreen.tsx +9 -21
  454. package/src/ui/screens/UserLinksScreen.tsx +7 -14
  455. package/src/ui/screens/UserListScreen.tsx +2 -5
  456. package/src/ui/screens/fileManagement/PhotoPickerSection.tsx +1 -1
  457. package/src/ui/screens/fileManagement/hooks/useFileUploadState.ts +9 -7
  458. package/src/ui/screens/trust/TrustAboutScreen.tsx +10 -17
  459. package/src/ui/screens/trust/TrustCenterScreen.tsx +9 -28
  460. package/src/ui/screens/trust/TrustFAQScreen.tsx +15 -18
  461. package/src/ui/screens/trust/TrustLeaderboardScreen.tsx +3 -5
  462. package/src/ui/screens/trust/TrustRewardsScreen.tsx +11 -26
  463. package/src/ui/screens/trust/TrustRulesScreen.tsx +10 -13
  464. package/src/ui/types/navigation.ts +8 -0
  465. package/src/ui/types/surfaceScreen.ts +38 -0
  466. package/lib/commonjs/ui/components/BottomSheet.js +0 -49
  467. package/lib/commonjs/ui/components/BottomSheet.js.map +0 -1
  468. package/lib/commonjs/ui/components/BottomSheetRouter.js +0 -298
  469. package/lib/commonjs/ui/components/BottomSheetRouter.js.map +0 -1
  470. package/lib/commonjs/ui/components/Header.js +0 -305
  471. package/lib/commonjs/ui/components/Header.js.map +0 -1
  472. package/lib/commonjs/ui/components/OxyAccountDialog.js +0 -259
  473. package/lib/commonjs/ui/components/OxyAccountDialog.js.map +0 -1
  474. package/lib/module/ui/components/BottomSheet.js +0 -45
  475. package/lib/module/ui/components/BottomSheet.js.map +0 -1
  476. package/lib/module/ui/components/BottomSheetRouter.js +0 -292
  477. package/lib/module/ui/components/BottomSheetRouter.js.map +0 -1
  478. package/lib/module/ui/components/Header.js +0 -299
  479. package/lib/module/ui/components/Header.js.map +0 -1
  480. package/lib/module/ui/components/OxyAccountDialog.js +0 -254
  481. package/lib/module/ui/components/OxyAccountDialog.js.map +0 -1
  482. package/lib/typescript/commonjs/ui/components/BottomSheet.d.ts +0 -29
  483. package/lib/typescript/commonjs/ui/components/BottomSheet.d.ts.map +0 -1
  484. package/lib/typescript/commonjs/ui/components/BottomSheetRouter.d.ts +0 -9
  485. package/lib/typescript/commonjs/ui/components/BottomSheetRouter.d.ts.map +0 -1
  486. package/lib/typescript/commonjs/ui/components/Header.d.ts +0 -33
  487. package/lib/typescript/commonjs/ui/components/Header.d.ts.map +0 -1
  488. package/lib/typescript/commonjs/ui/components/OxyAccountDialog.d.ts +0 -37
  489. package/lib/typescript/commonjs/ui/components/OxyAccountDialog.d.ts.map +0 -1
  490. package/lib/typescript/module/ui/components/BottomSheet.d.ts +0 -29
  491. package/lib/typescript/module/ui/components/BottomSheet.d.ts.map +0 -1
  492. package/lib/typescript/module/ui/components/BottomSheetRouter.d.ts +0 -9
  493. package/lib/typescript/module/ui/components/BottomSheetRouter.d.ts.map +0 -1
  494. package/lib/typescript/module/ui/components/Header.d.ts +0 -33
  495. package/lib/typescript/module/ui/components/Header.d.ts.map +0 -1
  496. package/lib/typescript/module/ui/components/OxyAccountDialog.d.ts +0 -37
  497. package/lib/typescript/module/ui/components/OxyAccountDialog.d.ts.map +0 -1
  498. package/src/ui/components/BottomSheet.tsx +0 -48
  499. package/src/ui/components/BottomSheetRouter.tsx +0 -310
  500. package/src/ui/components/Header.tsx +0 -224
  501. package/src/ui/components/OxyAccountDialog.tsx +0 -243
  502. package/src/ui/navigation/__tests__/getSheetConfig.test.ts +0 -36
@@ -9,17 +9,16 @@ var _reactNative = require("react-native");
9
9
  var _vectorIcons = require("@expo/vector-icons");
10
10
  var _reactQuery = require("@tanstack/react-query");
11
11
  var _bloom = require("@oxyhq/bloom");
12
+ var _surfaces = require("@oxyhq/bloom/surfaces");
12
13
  var _theme = require("@oxyhq/bloom/theme");
13
14
  var _typography = require("@oxyhq/bloom/typography");
14
15
  var _button = require("@oxyhq/bloom/button");
15
16
  var _textField = require("@oxyhq/bloom/text-field");
16
17
  var _divider = require("@oxyhq/bloom/divider");
17
- var _core = require("@oxyhq/core");
18
- var _Header = _interopRequireDefault(require("../components/Header.js"));
19
18
  var _OxyContext = require("../context/OxyContext.js");
20
19
  var _useI18n = require("../hooks/useI18n.js");
20
+ var _useSurfaceHeader = require("../hooks/useSurfaceHeader.js");
21
21
  var _jsxRuntime = require("react/jsx-runtime");
22
- function _interopRequireDefault(e) { return e && e.__esModule ? e : { default: e }; }
23
22
  /** Roles assignable via invite / role change — everything except `owner`. */
24
23
 
25
24
  const ASSIGNABLE_ROLES = ['admin', 'editor', 'developer', 'billing', 'viewer'];
@@ -44,6 +43,10 @@ const AccountMembersScreen = ({
44
43
  const {
45
44
  t
46
45
  } = (0, _useI18n.useI18n)();
46
+ (0, _useSurfaceHeader.useSurfaceHeader)({
47
+ title: t('accounts.members.title') || 'Members',
48
+ subtitle: t('accounts.members.subtitle') || 'People with access to this account.'
49
+ });
47
50
  const {
48
51
  oxyServices,
49
52
  canUsePrivateApi
@@ -146,10 +149,6 @@ const AccountMembersScreen = ({
146
149
  _bloom.toast.error(errorMessage(error, t('accounts.members.toasts.transferFailed') || 'Failed to transfer ownership'));
147
150
  }
148
151
  });
149
- const [memberToRemove, setMemberToRemove] = (0, _react.useState)(null);
150
- const [memberToPromote, setMemberToPromote] = (0, _react.useState)(null);
151
- const removeDialog = (0, _bloom.useDialogControl)();
152
- const transferDialog = (0, _bloom.useDialogControl)();
153
152
  const handleInvite = (0, _react.useCallback)(() => {
154
153
  const usernameOrEmail = inviteIdentifier.trim();
155
154
  if (!usernameOrEmail) {
@@ -171,298 +170,230 @@ const AccountMembersScreen = ({
171
170
  role
172
171
  });
173
172
  }, [updateMutation]);
174
- const confirmRemove = (0, _react.useCallback)(member => {
175
- setMemberToRemove(member);
176
- removeDialog.open();
177
- }, [removeDialog]);
178
- const confirmTransfer = (0, _react.useCallback)(member => {
179
- setMemberToPromote(member);
180
- transferDialog.open();
181
- }, [transferDialog]);
182
- const title = t('accounts.members.title') || 'Members';
173
+ const confirmRemove = (0, _react.useCallback)(async member => {
174
+ const confirmed = await _surfaces.surfaces.confirm({
175
+ title: t('accounts.members.removeConfirm.title') || 'Remove member',
176
+ message: t('accounts.members.removeConfirm.description') || 'Remove this member from the account? They will lose all access.',
177
+ confirmLabel: t('accounts.members.actions.remove') || 'Remove',
178
+ cancelLabel: t('common.cancel') || 'Cancel',
179
+ destructive: true
180
+ });
181
+ if (confirmed) removeMutation.mutate(member._id);
182
+ }, [removeMutation, t]);
183
+ const confirmTransfer = (0, _react.useCallback)(async member => {
184
+ const confirmed = await _surfaces.surfaces.confirm({
185
+ title: t('accounts.members.transferConfirm.title') || 'Transfer ownership',
186
+ message: t('accounts.members.transferConfirm.description') || 'Transfer ownership of this account to this member? You will be demoted to admin. This cannot be undone.',
187
+ confirmLabel: t('accounts.members.actions.transfer') || 'Transfer ownership',
188
+ cancelLabel: t('common.cancel') || 'Cancel',
189
+ destructive: true
190
+ });
191
+ if (confirmed) transferMutation.mutate(member.memberUserId);
192
+ }, [transferMutation, t]);
183
193
  if (!id) {
184
- return /*#__PURE__*/(0, _jsxRuntime.jsxs)(_reactNative.View, {
185
- className: "flex-1 bg-bg",
186
- children: [/*#__PURE__*/(0, _jsxRuntime.jsx)(_Header.default, {
187
- title: title,
188
- onBack: goBack,
189
- onClose: onClose,
190
- showBackButton: true,
191
- showCloseButton: true,
192
- elevation: "subtle"
193
- }), /*#__PURE__*/(0, _jsxRuntime.jsx)(_reactNative.View, {
194
- className: "flex-1 items-center justify-center px-screen-margin",
194
+ return /*#__PURE__*/(0, _jsxRuntime.jsx)(_jsxRuntime.Fragment, {
195
+ children: /*#__PURE__*/(0, _jsxRuntime.jsx)(_reactNative.View, {
196
+ className: "items-center justify-center px-screen-margin py-space-40",
195
197
  children: /*#__PURE__*/(0, _jsxRuntime.jsx)(_typography.Text, {
196
198
  className: "text-body font-body text-text-secondary text-center",
197
199
  children: t('accounts.members.errors.missingAccount') || 'No account selected.'
198
200
  })
199
- })]
201
+ })
200
202
  });
201
203
  }
202
204
  return /*#__PURE__*/(0, _jsxRuntime.jsxs)(_reactNative.View, {
203
- className: "flex-1 bg-bg",
204
- children: [/*#__PURE__*/(0, _jsxRuntime.jsx)(_Header.default, {
205
- title: title,
206
- onBack: goBack,
207
- onClose: onClose,
208
- showBackButton: true,
209
- showCloseButton: true,
210
- elevation: "subtle"
211
- }), /*#__PURE__*/(0, _jsxRuntime.jsx)(_reactNative.KeyboardAvoidingView, {
212
- className: "flex-1",
213
- behavior: _reactNative.Platform.OS === 'ios' ? 'padding' : undefined,
214
- keyboardVerticalOffset: _reactNative.Platform.OS === 'ios' ? 88 : 0,
215
- children: /*#__PURE__*/(0, _jsxRuntime.jsxs)(_reactNative.ScrollView, {
216
- className: "flex-1",
217
- contentContainerClassName: "px-screen-margin pt-space-24 pb-space-32 gap-space-24",
218
- showsVerticalScrollIndicator: false,
219
- keyboardShouldPersistTaps: "handled",
220
- children: [/*#__PURE__*/(0, _jsxRuntime.jsxs)(_reactNative.View, {
221
- className: "gap-space-8",
222
- children: [/*#__PURE__*/(0, _jsxRuntime.jsx)(_typography.H1, {
223
- className: "text-headerBold font-headerBold text-text",
224
- children: title
225
- }), /*#__PURE__*/(0, _jsxRuntime.jsx)(_typography.Text, {
226
- className: "text-body font-body text-text-secondary",
227
- children: t('accounts.members.subtitle') || 'People with access to this account.'
228
- })]
229
- }), !accountQuery.isLoading && !canRead ? /*#__PURE__*/(0, _jsxRuntime.jsx)(_typography.Text, {
230
- className: "text-body font-body text-text-secondary text-center py-space-24",
231
- children: t('accounts.members.errors.noPermission') || 'You do not have permission to view members.'
232
- }) : null, canInvite ? /*#__PURE__*/(0, _jsxRuntime.jsxs)(_reactNative.View, {
233
- className: "gap-space-12 p-space-16 rounded-radius-20 bg-fill",
234
- children: [/*#__PURE__*/(0, _jsxRuntime.jsx)(_typography.Text, {
235
- className: "text-body font-bodyBold text-text",
236
- children: t('accounts.members.invite.title') || 'Add a member'
237
- }), /*#__PURE__*/(0, _jsxRuntime.jsx)(_textField.TextField, {
238
- isInvalid: !!inviteError,
239
- children: /*#__PURE__*/(0, _jsxRuntime.jsx)(_textField.TextFieldInput, {
240
- floatingLabel: true,
241
- label: t('accounts.members.invite.identifierLabel') || 'Username or email',
242
- value: inviteIdentifier,
243
- onChangeText: value => {
244
- setInviteIdentifier(value);
245
- if (inviteError) setInviteError(null);
246
- },
247
- isInvalid: !!inviteError,
248
- autoCapitalize: "none",
249
- autoCorrect: false,
250
- autoComplete: "off"
251
- })
252
- }), inviteError ? /*#__PURE__*/(0, _jsxRuntime.jsx)(_typography.Text, {
253
- className: "text-caption font-caption px-space-4",
205
+ className: "px-screen-margin pt-space-16 pb-space-32 gap-space-24",
206
+ children: [!accountQuery.isLoading && !canRead ? /*#__PURE__*/(0, _jsxRuntime.jsx)(_typography.Text, {
207
+ className: "text-body font-body text-text-secondary text-center py-space-24",
208
+ children: t('accounts.members.errors.noPermission') || 'You do not have permission to view members.'
209
+ }) : null, canInvite ? /*#__PURE__*/(0, _jsxRuntime.jsxs)(_reactNative.View, {
210
+ className: "gap-space-12 p-space-16 rounded-radius-20 bg-fill",
211
+ children: [/*#__PURE__*/(0, _jsxRuntime.jsx)(_typography.Text, {
212
+ className: "text-body font-bodyBold text-text",
213
+ children: t('accounts.members.invite.title') || 'Add a member'
214
+ }), /*#__PURE__*/(0, _jsxRuntime.jsx)(_textField.TextField, {
215
+ isInvalid: !!inviteError,
216
+ children: /*#__PURE__*/(0, _jsxRuntime.jsx)(_textField.TextFieldInput, {
217
+ floatingLabel: true,
218
+ label: t('accounts.members.invite.identifierLabel') || 'Username or email',
219
+ value: inviteIdentifier,
220
+ onChangeText: value => {
221
+ setInviteIdentifier(value);
222
+ if (inviteError) setInviteError(null);
223
+ },
224
+ isInvalid: !!inviteError,
225
+ autoCapitalize: "none",
226
+ autoCorrect: false,
227
+ autoComplete: "off"
228
+ })
229
+ }), inviteError ? /*#__PURE__*/(0, _jsxRuntime.jsx)(_typography.Text, {
230
+ className: "text-caption font-caption px-space-4",
231
+ style: {
232
+ color: colors.negative
233
+ },
234
+ children: inviteError
235
+ }) : null, /*#__PURE__*/(0, _jsxRuntime.jsx)(_typography.Text, {
236
+ className: "text-caption font-caption text-text-secondary px-space-4",
237
+ children: t('accounts.members.invite.roleLabel') || 'Role'
238
+ }), /*#__PURE__*/(0, _jsxRuntime.jsx)(_reactNative.View, {
239
+ className: "flex-row flex-wrap gap-space-8",
240
+ children: ASSIGNABLE_ROLES.map(role => {
241
+ const selected = role === inviteRole;
242
+ return /*#__PURE__*/(0, _jsxRuntime.jsx)(_reactNative.TouchableOpacity, {
243
+ accessibilityRole: "radio",
244
+ accessibilityState: {
245
+ selected
246
+ },
247
+ accessibilityLabel: roleLabel(role),
248
+ onPress: () => setInviteRole(role),
249
+ activeOpacity: 0.7,
250
+ className: "px-space-12 py-space-8 rounded-radius-full",
254
251
  style: {
255
- color: colors.negative
252
+ backgroundColor: selected ? colors.primary : colors.card,
253
+ borderWidth: 1,
254
+ borderColor: selected ? colors.primary : colors.border
256
255
  },
257
- children: inviteError
258
- }) : null, /*#__PURE__*/(0, _jsxRuntime.jsx)(_typography.Text, {
259
- className: "text-caption font-caption text-text-secondary px-space-4",
260
- children: t('accounts.members.invite.roleLabel') || 'Role'
261
- }), /*#__PURE__*/(0, _jsxRuntime.jsx)(_reactNative.View, {
262
- className: "flex-row flex-wrap gap-space-8",
263
- children: ASSIGNABLE_ROLES.map(role => {
264
- const selected = role === inviteRole;
265
- return /*#__PURE__*/(0, _jsxRuntime.jsx)(_reactNative.TouchableOpacity, {
266
- accessibilityRole: "radio",
267
- accessibilityState: {
268
- selected
269
- },
270
- accessibilityLabel: roleLabel(role),
271
- onPress: () => setInviteRole(role),
272
- activeOpacity: 0.7,
273
- className: "px-space-12 py-space-8 rounded-radius-full",
274
- style: {
275
- backgroundColor: selected ? colors.primary : colors.card,
276
- borderWidth: 1,
277
- borderColor: selected ? colors.primary : colors.border
278
- },
279
- children: /*#__PURE__*/(0, _jsxRuntime.jsx)(_typography.Text, {
280
- className: "text-caption font-bodyBold",
256
+ children: /*#__PURE__*/(0, _jsxRuntime.jsx)(_typography.Text, {
257
+ className: "text-caption font-bodyBold",
258
+ style: {
259
+ color: selected ? colors.background : colors.text
260
+ },
261
+ children: roleLabel(role)
262
+ })
263
+ }, role);
264
+ })
265
+ }), /*#__PURE__*/(0, _jsxRuntime.jsx)(_button.Button, {
266
+ variant: "primary",
267
+ onPress: handleInvite,
268
+ disabled: inviteMutation.isPending || !inviteIdentifier.trim(),
269
+ loading: inviteMutation.isPending,
270
+ accessibilityLabel: t('accounts.members.invite.submit') || 'Add member',
271
+ className: "w-full",
272
+ children: t('accounts.members.invite.submit') || 'Add member'
273
+ })]
274
+ }) : null, canRead ? /*#__PURE__*/(0, _jsxRuntime.jsx)(_reactNative.View, {
275
+ className: "gap-space-8",
276
+ children: membersQuery.isLoading ? /*#__PURE__*/(0, _jsxRuntime.jsx)(_reactNative.View, {
277
+ className: "items-center py-space-24",
278
+ children: /*#__PURE__*/(0, _jsxRuntime.jsx)(_reactNative.ActivityIndicator, {
279
+ color: colors.primary
280
+ })
281
+ }) : members.length === 0 ? /*#__PURE__*/(0, _jsxRuntime.jsx)(_typography.Text, {
282
+ className: "text-body font-body text-text-secondary text-center py-space-24",
283
+ children: t('accounts.members.empty') || 'No members yet.'
284
+ }) : /*#__PURE__*/(0, _jsxRuntime.jsx)(_reactNative.View, {
285
+ className: "rounded-radius-20 bg-fill overflow-hidden",
286
+ children: members.map((member, index) => {
287
+ const isOwner = member.role === 'owner';
288
+ const isLastOwner = isOwner && ownerCount <= 1;
289
+ const canEditThisRole = canUpdate && !isOwner;
290
+ const canRemoveThisMember = canRemove && !isLastOwner && (!isOwner || canTransfer);
291
+ const canTransferToThis = canTransfer && !isOwner && member.status === 'active';
292
+ return /*#__PURE__*/(0, _jsxRuntime.jsxs)(_reactNative.View, {
293
+ children: [index > 0 ? /*#__PURE__*/(0, _jsxRuntime.jsx)(_divider.Divider, {
294
+ color: colors.border,
295
+ spacing: 0
296
+ }) : null, /*#__PURE__*/(0, _jsxRuntime.jsxs)(_reactNative.View, {
297
+ className: "p-space-16 gap-space-8",
298
+ children: [/*#__PURE__*/(0, _jsxRuntime.jsxs)(_reactNative.View, {
299
+ className: "flex-row items-center gap-space-8",
300
+ children: [/*#__PURE__*/(0, _jsxRuntime.jsx)(_typography.Text, {
301
+ className: "text-body font-bodyBold text-text flex-1",
302
+ numberOfLines: 1,
303
+ children: member.memberUserId
304
+ }), isOwner ? /*#__PURE__*/(0, _jsxRuntime.jsx)(_reactNative.View, {
305
+ className: "px-space-8 py-space-4 rounded-radius-full",
281
306
  style: {
282
- color: selected ? colors.background : colors.text
307
+ backgroundColor: colors.primarySubtle
283
308
  },
284
- children: roleLabel(role)
285
- })
286
- }, role);
287
- })
288
- }), /*#__PURE__*/(0, _jsxRuntime.jsx)(_button.Button, {
289
- variant: "primary",
290
- onPress: handleInvite,
291
- disabled: inviteMutation.isPending || !inviteIdentifier.trim(),
292
- loading: inviteMutation.isPending,
293
- accessibilityLabel: t('accounts.members.invite.submit') || 'Add member',
294
- className: "w-full",
295
- children: t('accounts.members.invite.submit') || 'Add member'
296
- })]
297
- }) : null, canRead ? /*#__PURE__*/(0, _jsxRuntime.jsx)(_reactNative.View, {
298
- className: "gap-space-8",
299
- children: membersQuery.isLoading ? /*#__PURE__*/(0, _jsxRuntime.jsx)(_reactNative.View, {
300
- className: "items-center py-space-24",
301
- children: /*#__PURE__*/(0, _jsxRuntime.jsx)(_reactNative.ActivityIndicator, {
302
- color: colors.primary
303
- })
304
- }) : members.length === 0 ? /*#__PURE__*/(0, _jsxRuntime.jsx)(_typography.Text, {
305
- className: "text-body font-body text-text-secondary text-center py-space-24",
306
- children: t('accounts.members.empty') || 'No members yet.'
307
- }) : /*#__PURE__*/(0, _jsxRuntime.jsx)(_reactNative.View, {
308
- className: "rounded-radius-20 bg-fill overflow-hidden",
309
- children: members.map((member, index) => {
310
- const isOwner = member.role === 'owner';
311
- const isLastOwner = isOwner && ownerCount <= 1;
312
- const canEditThisRole = canUpdate && !isOwner;
313
- const canRemoveThisMember = canRemove && !isLastOwner && (!isOwner || canTransfer);
314
- const canTransferToThis = canTransfer && !isOwner && member.status === 'active';
315
- return /*#__PURE__*/(0, _jsxRuntime.jsxs)(_reactNative.View, {
316
- children: [index > 0 ? /*#__PURE__*/(0, _jsxRuntime.jsx)(_divider.Divider, {
317
- color: colors.border,
318
- spacing: 0
319
- }) : null, /*#__PURE__*/(0, _jsxRuntime.jsxs)(_reactNative.View, {
320
- className: "p-space-16 gap-space-8",
321
- children: [/*#__PURE__*/(0, _jsxRuntime.jsxs)(_reactNative.View, {
322
- className: "flex-row items-center gap-space-8",
323
- children: [/*#__PURE__*/(0, _jsxRuntime.jsx)(_typography.Text, {
324
- className: "text-body font-bodyBold text-text flex-1",
325
- numberOfLines: 1,
326
- children: member.memberUserId
327
- }), isOwner ? /*#__PURE__*/(0, _jsxRuntime.jsx)(_reactNative.View, {
328
- className: "px-space-8 py-space-4 rounded-radius-full",
329
- style: {
330
- backgroundColor: colors.primarySubtle
331
- },
332
- children: /*#__PURE__*/(0, _jsxRuntime.jsx)(_typography.Text, {
333
- className: "text-caption font-bodyBold",
334
- style: {
335
- color: colors.primary
336
- },
337
- children: roleLabel('owner')
338
- })
339
- }) : null, member.status !== 'active' ? /*#__PURE__*/(0, _jsxRuntime.jsx)(_reactNative.View, {
340
- className: "px-space-8 py-space-4 rounded-radius-full",
309
+ children: /*#__PURE__*/(0, _jsxRuntime.jsx)(_typography.Text, {
310
+ className: "text-caption font-bodyBold",
311
+ style: {
312
+ color: colors.primary
313
+ },
314
+ children: roleLabel('owner')
315
+ })
316
+ }) : null, member.status !== 'active' ? /*#__PURE__*/(0, _jsxRuntime.jsx)(_reactNative.View, {
317
+ className: "px-space-8 py-space-4 rounded-radius-full",
318
+ style: {
319
+ backgroundColor: colors.card
320
+ },
321
+ children: /*#__PURE__*/(0, _jsxRuntime.jsx)(_typography.Text, {
322
+ className: "text-caption font-caption capitalize text-text-secondary",
323
+ children: member.status
324
+ })
325
+ }) : null]
326
+ }), canEditThisRole ? /*#__PURE__*/(0, _jsxRuntime.jsx)(_reactNative.View, {
327
+ className: "flex-row flex-wrap gap-space-8",
328
+ children: ASSIGNABLE_ROLES.map(role => {
329
+ const selected = role === member.role;
330
+ return /*#__PURE__*/(0, _jsxRuntime.jsx)(_reactNative.TouchableOpacity, {
331
+ accessibilityRole: "radio",
332
+ accessibilityState: {
333
+ selected
334
+ },
335
+ accessibilityLabel: roleLabel(role),
336
+ onPress: () => handleChangeRole(member, role),
337
+ disabled: updateMutation.isPending,
338
+ activeOpacity: 0.7,
339
+ className: "px-space-12 py-space-4 rounded-radius-full",
340
+ style: {
341
+ backgroundColor: selected ? colors.primary : colors.card,
342
+ borderWidth: 1,
343
+ borderColor: selected ? colors.primary : colors.border
344
+ },
345
+ children: /*#__PURE__*/(0, _jsxRuntime.jsx)(_typography.Text, {
346
+ className: "text-caption font-bodyBold",
341
347
  style: {
342
- backgroundColor: colors.card
348
+ color: selected ? colors.background : colors.text
343
349
  },
344
- children: /*#__PURE__*/(0, _jsxRuntime.jsx)(_typography.Text, {
345
- className: "text-caption font-caption capitalize text-text-secondary",
346
- children: member.status
347
- })
348
- }) : null]
349
- }), canEditThisRole ? /*#__PURE__*/(0, _jsxRuntime.jsx)(_reactNative.View, {
350
- className: "flex-row flex-wrap gap-space-8",
351
- children: ASSIGNABLE_ROLES.map(role => {
352
- const selected = role === member.role;
353
- return /*#__PURE__*/(0, _jsxRuntime.jsx)(_reactNative.TouchableOpacity, {
354
- accessibilityRole: "radio",
355
- accessibilityState: {
356
- selected
357
- },
358
- accessibilityLabel: roleLabel(role),
359
- onPress: () => handleChangeRole(member, role),
360
- disabled: updateMutation.isPending,
361
- activeOpacity: 0.7,
362
- className: "px-space-12 py-space-4 rounded-radius-full",
363
- style: {
364
- backgroundColor: selected ? colors.primary : colors.card,
365
- borderWidth: 1,
366
- borderColor: selected ? colors.primary : colors.border
367
- },
368
- children: /*#__PURE__*/(0, _jsxRuntime.jsx)(_typography.Text, {
369
- className: "text-caption font-bodyBold",
370
- style: {
371
- color: selected ? colors.background : colors.text
372
- },
373
- children: roleLabel(role)
374
- })
375
- }, role);
350
+ children: roleLabel(role)
376
351
  })
377
- }) : !isOwner ? /*#__PURE__*/(0, _jsxRuntime.jsx)(_typography.Text, {
378
- className: "text-caption font-caption text-text-secondary",
379
- children: roleLabel(member.role)
380
- }) : null, canTransferToThis || canRemoveThisMember ? /*#__PURE__*/(0, _jsxRuntime.jsxs)(_reactNative.View, {
381
- className: "flex-row gap-space-16 pt-space-4",
382
- children: [canTransferToThis ? /*#__PURE__*/(0, _jsxRuntime.jsxs)(_reactNative.TouchableOpacity, {
383
- accessibilityRole: "button",
384
- accessibilityLabel: t('accounts.members.actions.transfer') || 'Transfer ownership',
385
- onPress: () => confirmTransfer(member),
386
- activeOpacity: 0.7,
387
- className: "flex-row items-center gap-space-4",
388
- children: [/*#__PURE__*/(0, _jsxRuntime.jsx)(_vectorIcons.Ionicons, {
389
- name: "swap-horizontal-outline",
390
- size: 16,
391
- color: colors.icon
392
- }), /*#__PURE__*/(0, _jsxRuntime.jsx)(_typography.Text, {
393
- className: "text-caption font-bodyBold text-text-secondary",
394
- children: t('accounts.members.actions.transfer') || 'Transfer ownership'
395
- })]
396
- }) : null, canRemoveThisMember ? /*#__PURE__*/(0, _jsxRuntime.jsxs)(_reactNative.TouchableOpacity, {
397
- accessibilityRole: "button",
398
- accessibilityLabel: t('accounts.members.actions.remove') || 'Remove member',
399
- onPress: () => confirmRemove(member),
400
- activeOpacity: 0.7,
401
- className: "flex-row items-center gap-space-4",
402
- children: [/*#__PURE__*/(0, _jsxRuntime.jsx)(_vectorIcons.Ionicons, {
403
- name: "trash-outline",
404
- size: 16,
405
- color: colors.error
406
- }), /*#__PURE__*/(0, _jsxRuntime.jsx)(_typography.Text, {
407
- className: "text-caption font-bodyBold",
408
- style: {
409
- color: colors.error
410
- },
411
- children: t('accounts.members.actions.remove') || 'Remove'
412
- })]
413
- }) : null]
414
- }) : null]
415
- })]
416
- }, member._id);
417
- })
418
- })
419
- }) : null]
352
+ }, role);
353
+ })
354
+ }) : !isOwner ? /*#__PURE__*/(0, _jsxRuntime.jsx)(_typography.Text, {
355
+ className: "text-caption font-caption text-text-secondary",
356
+ children: roleLabel(member.role)
357
+ }) : null, canTransferToThis || canRemoveThisMember ? /*#__PURE__*/(0, _jsxRuntime.jsxs)(_reactNative.View, {
358
+ className: "flex-row gap-space-16 pt-space-4",
359
+ children: [canTransferToThis ? /*#__PURE__*/(0, _jsxRuntime.jsxs)(_reactNative.TouchableOpacity, {
360
+ accessibilityRole: "button",
361
+ accessibilityLabel: t('accounts.members.actions.transfer') || 'Transfer ownership',
362
+ onPress: () => confirmTransfer(member),
363
+ activeOpacity: 0.7,
364
+ className: "flex-row items-center gap-space-4",
365
+ children: [/*#__PURE__*/(0, _jsxRuntime.jsx)(_vectorIcons.Ionicons, {
366
+ name: "swap-horizontal-outline",
367
+ size: 16,
368
+ color: colors.icon
369
+ }), /*#__PURE__*/(0, _jsxRuntime.jsx)(_typography.Text, {
370
+ className: "text-caption font-bodyBold text-text-secondary",
371
+ children: t('accounts.members.actions.transfer') || 'Transfer ownership'
372
+ })]
373
+ }) : null, canRemoveThisMember ? /*#__PURE__*/(0, _jsxRuntime.jsxs)(_reactNative.TouchableOpacity, {
374
+ accessibilityRole: "button",
375
+ accessibilityLabel: t('accounts.members.actions.remove') || 'Remove member',
376
+ onPress: () => confirmRemove(member),
377
+ activeOpacity: 0.7,
378
+ className: "flex-row items-center gap-space-4",
379
+ children: [/*#__PURE__*/(0, _jsxRuntime.jsx)(_vectorIcons.Ionicons, {
380
+ name: "trash-outline",
381
+ size: 16,
382
+ color: colors.error
383
+ }), /*#__PURE__*/(0, _jsxRuntime.jsx)(_typography.Text, {
384
+ className: "text-caption font-bodyBold",
385
+ style: {
386
+ color: colors.error
387
+ },
388
+ children: t('accounts.members.actions.remove') || 'Remove'
389
+ })]
390
+ }) : null]
391
+ }) : null]
392
+ })]
393
+ }, member._id);
394
+ })
420
395
  })
421
- }), /*#__PURE__*/(0, _jsxRuntime.jsx)(_bloom.Dialog, {
422
- control: removeDialog,
423
- title: t('accounts.members.removeConfirm.title') || 'Remove member',
424
- description: t('accounts.members.removeConfirm.description') || 'Remove this member from the account? They will lose all access.',
425
- actions: [{
426
- label: t('accounts.members.actions.remove') || 'Remove',
427
- color: 'destructive',
428
- onPress: () => {
429
- const target = memberToRemove;
430
- setMemberToRemove(null);
431
- if (target) {
432
- removeMutation.mutate(target._id);
433
- } else {
434
- _core.logger.debug('Remove confirmed with no pending member', {
435
- component: 'AccountMembersScreen'
436
- });
437
- }
438
- }
439
- }, {
440
- label: t('common.cancel') || 'Cancel',
441
- color: 'cancel'
442
- }]
443
- }), /*#__PURE__*/(0, _jsxRuntime.jsx)(_bloom.Dialog, {
444
- control: transferDialog,
445
- title: t('accounts.members.transferConfirm.title') || 'Transfer ownership',
446
- description: t('accounts.members.transferConfirm.description') || 'Transfer ownership of this account to this member? You will be demoted to admin. This cannot be undone.',
447
- actions: [{
448
- label: t('accounts.members.actions.transfer') || 'Transfer ownership',
449
- color: 'destructive',
450
- onPress: () => {
451
- const target = memberToPromote;
452
- setMemberToPromote(null);
453
- if (target) {
454
- transferMutation.mutate(target.memberUserId);
455
- } else {
456
- _core.logger.debug('Transfer confirmed with no pending member', {
457
- component: 'AccountMembersScreen'
458
- });
459
- }
460
- }
461
- }, {
462
- label: t('common.cancel') || 'Cancel',
463
- color: 'cancel'
464
- }]
465
- })]
396
+ }) : null]
466
397
  });
467
398
  };
468
399
  var _default = exports.default = AccountMembersScreen;