@oxy.so/services 12.2.1 → 12.4.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 (161) hide show
  1. package/README.md +1 -1
  2. package/lib/commonjs/index.js +17 -2
  3. package/lib/commonjs/index.js.map +1 -1
  4. package/lib/commonjs/ui/client.js +54 -0
  5. package/lib/commonjs/ui/client.js.map +1 -1
  6. package/lib/commonjs/ui/components/signIn/OxyAuthenticatorPanel.js +11 -10
  7. package/lib/commonjs/ui/components/signIn/OxyAuthenticatorPanel.js.map +1 -1
  8. package/lib/commonjs/ui/components/signIn/OxyDeleteAccountPanel.js +19 -18
  9. package/lib/commonjs/ui/components/signIn/OxyDeleteAccountPanel.js.map +1 -1
  10. package/lib/commonjs/ui/components/signIn/OxyEmailPanel.js +251 -0
  11. package/lib/commonjs/ui/components/signIn/OxyEmailPanel.js.map +1 -0
  12. package/lib/commonjs/ui/components/signIn/OxyLinkCommonsPanel.js +40 -33
  13. package/lib/commonjs/ui/components/signIn/OxyLinkCommonsPanel.js.map +1 -1
  14. package/lib/commonjs/ui/components/signIn/OxyPasswordPanel.js +51 -19
  15. package/lib/commonjs/ui/components/signIn/OxyPasswordPanel.js.map +1 -1
  16. package/lib/commonjs/ui/components/signIn/OxySignInSecurityPanel.js +154 -0
  17. package/lib/commonjs/ui/components/signIn/OxySignInSecurityPanel.js.map +1 -0
  18. package/lib/commonjs/ui/components/signIn/ReauthStep.js +6 -4
  19. package/lib/commonjs/ui/components/signIn/ReauthStep.js.map +1 -1
  20. package/lib/commonjs/ui/components/signIn/SessionsSection.js +200 -0
  21. package/lib/commonjs/ui/components/signIn/SessionsSection.js.map +1 -0
  22. package/lib/commonjs/ui/components/signIn/accountFlowParts.js +6 -0
  23. package/lib/commonjs/ui/components/signIn/accountFlowParts.js.map +1 -1
  24. package/lib/commonjs/ui/components/signIn/accountSecurityState.js +74 -0
  25. package/lib/commonjs/ui/components/signIn/accountSecurityState.js.map +1 -0
  26. package/lib/commonjs/ui/navigation/routes.js +1 -1
  27. package/lib/commonjs/ui/navigation/routes.js.map +1 -1
  28. package/lib/commonjs/ui/navigation/screenComponents.js +4 -0
  29. package/lib/commonjs/ui/navigation/screenComponents.js.map +1 -1
  30. package/lib/commonjs/ui/navigation/surfaceRegistry.js.map +1 -1
  31. package/lib/commonjs/ui/screens/AccountSecurityPanelScreen.js +1 -1
  32. package/lib/commonjs/ui/screens/ManageAccountScreen.js +8 -196
  33. package/lib/commonjs/ui/screens/ManageAccountScreen.js.map +1 -1
  34. package/lib/commonjs/ui/screens/SignInEmailScreen.js +19 -0
  35. package/lib/commonjs/ui/screens/SignInEmailScreen.js.map +1 -0
  36. package/lib/commonjs/ui/screens/SignInSecurityScreen.js +30 -0
  37. package/lib/commonjs/ui/screens/SignInSecurityScreen.js.map +1 -0
  38. package/lib/module/index.js +5 -2
  39. package/lib/module/index.js.map +1 -1
  40. package/lib/module/ui/client.js +11 -1
  41. package/lib/module/ui/client.js.map +1 -1
  42. package/lib/module/ui/components/signIn/OxyAuthenticatorPanel.js +12 -11
  43. package/lib/module/ui/components/signIn/OxyAuthenticatorPanel.js.map +1 -1
  44. package/lib/module/ui/components/signIn/OxyDeleteAccountPanel.js +20 -19
  45. package/lib/module/ui/components/signIn/OxyDeleteAccountPanel.js.map +1 -1
  46. package/lib/module/ui/components/signIn/OxyEmailPanel.js +246 -0
  47. package/lib/module/ui/components/signIn/OxyEmailPanel.js.map +1 -0
  48. package/lib/module/ui/components/signIn/OxyLinkCommonsPanel.js +40 -33
  49. package/lib/module/ui/components/signIn/OxyLinkCommonsPanel.js.map +1 -1
  50. package/lib/module/ui/components/signIn/OxyPasswordPanel.js +52 -20
  51. package/lib/module/ui/components/signIn/OxyPasswordPanel.js.map +1 -1
  52. package/lib/module/ui/components/signIn/OxySignInSecurityPanel.js +149 -0
  53. package/lib/module/ui/components/signIn/OxySignInSecurityPanel.js.map +1 -0
  54. package/lib/module/ui/components/signIn/ReauthStep.js +6 -4
  55. package/lib/module/ui/components/signIn/ReauthStep.js.map +1 -1
  56. package/lib/module/ui/components/signIn/SessionsSection.js +194 -0
  57. package/lib/module/ui/components/signIn/SessionsSection.js.map +1 -0
  58. package/lib/module/ui/components/signIn/accountFlowParts.js +6 -0
  59. package/lib/module/ui/components/signIn/accountFlowParts.js.map +1 -1
  60. package/lib/module/ui/components/signIn/accountSecurityState.js +69 -0
  61. package/lib/module/ui/components/signIn/accountSecurityState.js.map +1 -0
  62. package/lib/module/ui/navigation/routes.js +1 -1
  63. package/lib/module/ui/navigation/routes.js.map +1 -1
  64. package/lib/module/ui/navigation/screenComponents.js +4 -0
  65. package/lib/module/ui/navigation/screenComponents.js.map +1 -1
  66. package/lib/module/ui/navigation/surfaceRegistry.js.map +1 -1
  67. package/lib/module/ui/screens/AccountSecurityPanelScreen.js +1 -1
  68. package/lib/module/ui/screens/ManageAccountScreen.js +9 -197
  69. package/lib/module/ui/screens/ManageAccountScreen.js.map +1 -1
  70. package/lib/module/ui/screens/SignInEmailScreen.js +17 -0
  71. package/lib/module/ui/screens/SignInEmailScreen.js.map +1 -0
  72. package/lib/module/ui/screens/SignInSecurityScreen.js +26 -0
  73. package/lib/module/ui/screens/SignInSecurityScreen.js.map +1 -0
  74. package/lib/typescript/commonjs/index.d.ts +4 -0
  75. package/lib/typescript/commonjs/index.d.ts.map +1 -1
  76. package/lib/typescript/commonjs/ui/client.d.ts +8 -1
  77. package/lib/typescript/commonjs/ui/client.d.ts.map +1 -1
  78. package/lib/typescript/commonjs/ui/components/signIn/OxyAuthenticatorPanel.d.ts.map +1 -1
  79. package/lib/typescript/commonjs/ui/components/signIn/OxyDeleteAccountPanel.d.ts +3 -2
  80. package/lib/typescript/commonjs/ui/components/signIn/OxyDeleteAccountPanel.d.ts.map +1 -1
  81. package/lib/typescript/commonjs/ui/components/signIn/OxyEmailPanel.d.ts +21 -0
  82. package/lib/typescript/commonjs/ui/components/signIn/OxyEmailPanel.d.ts.map +1 -0
  83. package/lib/typescript/commonjs/ui/components/signIn/OxyLinkCommonsPanel.d.ts +2 -1
  84. package/lib/typescript/commonjs/ui/components/signIn/OxyLinkCommonsPanel.d.ts.map +1 -1
  85. package/lib/typescript/commonjs/ui/components/signIn/OxyPasswordPanel.d.ts +5 -4
  86. package/lib/typescript/commonjs/ui/components/signIn/OxyPasswordPanel.d.ts.map +1 -1
  87. package/lib/typescript/commonjs/ui/components/signIn/OxySignInSecurityPanel.d.ts +25 -0
  88. package/lib/typescript/commonjs/ui/components/signIn/OxySignInSecurityPanel.d.ts.map +1 -0
  89. package/lib/typescript/commonjs/ui/components/signIn/ReauthStep.d.ts +8 -2
  90. package/lib/typescript/commonjs/ui/components/signIn/ReauthStep.d.ts.map +1 -1
  91. package/lib/typescript/commonjs/ui/components/signIn/SessionsSection.d.ts +9 -0
  92. package/lib/typescript/commonjs/ui/components/signIn/SessionsSection.d.ts.map +1 -0
  93. package/lib/typescript/commonjs/ui/components/signIn/accountFlowParts.d.ts.map +1 -1
  94. package/lib/typescript/commonjs/ui/components/signIn/accountSecurityState.d.ts +26 -0
  95. package/lib/typescript/commonjs/ui/components/signIn/accountSecurityState.d.ts.map +1 -0
  96. package/lib/typescript/commonjs/ui/navigation/routes.d.ts +1 -1
  97. package/lib/typescript/commonjs/ui/navigation/routes.d.ts.map +1 -1
  98. package/lib/typescript/commonjs/ui/navigation/screenComponents.d.ts.map +1 -1
  99. package/lib/typescript/commonjs/ui/navigation/surfaceRegistry.d.ts +2 -0
  100. package/lib/typescript/commonjs/ui/navigation/surfaceRegistry.d.ts.map +1 -1
  101. package/lib/typescript/commonjs/ui/screens/AccountSecurityPanelScreen.d.ts +1 -1
  102. package/lib/typescript/commonjs/ui/screens/ManageAccountScreen.d.ts +3 -2
  103. package/lib/typescript/commonjs/ui/screens/ManageAccountScreen.d.ts.map +1 -1
  104. package/lib/typescript/commonjs/ui/screens/SignInEmailScreen.d.ts +6 -0
  105. package/lib/typescript/commonjs/ui/screens/SignInEmailScreen.d.ts.map +1 -0
  106. package/lib/typescript/commonjs/ui/screens/SignInSecurityScreen.d.ts +6 -0
  107. package/lib/typescript/commonjs/ui/screens/SignInSecurityScreen.d.ts.map +1 -0
  108. package/lib/typescript/module/index.d.ts +4 -0
  109. package/lib/typescript/module/index.d.ts.map +1 -1
  110. package/lib/typescript/module/ui/client.d.ts +8 -1
  111. package/lib/typescript/module/ui/client.d.ts.map +1 -1
  112. package/lib/typescript/module/ui/components/signIn/OxyAuthenticatorPanel.d.ts.map +1 -1
  113. package/lib/typescript/module/ui/components/signIn/OxyDeleteAccountPanel.d.ts +3 -2
  114. package/lib/typescript/module/ui/components/signIn/OxyDeleteAccountPanel.d.ts.map +1 -1
  115. package/lib/typescript/module/ui/components/signIn/OxyEmailPanel.d.ts +21 -0
  116. package/lib/typescript/module/ui/components/signIn/OxyEmailPanel.d.ts.map +1 -0
  117. package/lib/typescript/module/ui/components/signIn/OxyLinkCommonsPanel.d.ts +2 -1
  118. package/lib/typescript/module/ui/components/signIn/OxyLinkCommonsPanel.d.ts.map +1 -1
  119. package/lib/typescript/module/ui/components/signIn/OxyPasswordPanel.d.ts +5 -4
  120. package/lib/typescript/module/ui/components/signIn/OxyPasswordPanel.d.ts.map +1 -1
  121. package/lib/typescript/module/ui/components/signIn/OxySignInSecurityPanel.d.ts +25 -0
  122. package/lib/typescript/module/ui/components/signIn/OxySignInSecurityPanel.d.ts.map +1 -0
  123. package/lib/typescript/module/ui/components/signIn/ReauthStep.d.ts +8 -2
  124. package/lib/typescript/module/ui/components/signIn/ReauthStep.d.ts.map +1 -1
  125. package/lib/typescript/module/ui/components/signIn/SessionsSection.d.ts +9 -0
  126. package/lib/typescript/module/ui/components/signIn/SessionsSection.d.ts.map +1 -0
  127. package/lib/typescript/module/ui/components/signIn/accountFlowParts.d.ts.map +1 -1
  128. package/lib/typescript/module/ui/components/signIn/accountSecurityState.d.ts +26 -0
  129. package/lib/typescript/module/ui/components/signIn/accountSecurityState.d.ts.map +1 -0
  130. package/lib/typescript/module/ui/navigation/routes.d.ts +1 -1
  131. package/lib/typescript/module/ui/navigation/routes.d.ts.map +1 -1
  132. package/lib/typescript/module/ui/navigation/screenComponents.d.ts.map +1 -1
  133. package/lib/typescript/module/ui/navigation/surfaceRegistry.d.ts +2 -0
  134. package/lib/typescript/module/ui/navigation/surfaceRegistry.d.ts.map +1 -1
  135. package/lib/typescript/module/ui/screens/AccountSecurityPanelScreen.d.ts +1 -1
  136. package/lib/typescript/module/ui/screens/ManageAccountScreen.d.ts +3 -2
  137. package/lib/typescript/module/ui/screens/ManageAccountScreen.d.ts.map +1 -1
  138. package/lib/typescript/module/ui/screens/SignInEmailScreen.d.ts +6 -0
  139. package/lib/typescript/module/ui/screens/SignInEmailScreen.d.ts.map +1 -0
  140. package/lib/typescript/module/ui/screens/SignInSecurityScreen.d.ts +6 -0
  141. package/lib/typescript/module/ui/screens/SignInSecurityScreen.d.ts.map +1 -0
  142. package/package.json +5 -5
  143. package/src/index.ts +7 -2
  144. package/src/ui/client.ts +16 -1
  145. package/src/ui/components/signIn/OxyAuthenticatorPanel.tsx +11 -8
  146. package/src/ui/components/signIn/OxyDeleteAccountPanel.tsx +15 -16
  147. package/src/ui/components/signIn/OxyEmailPanel.tsx +258 -0
  148. package/src/ui/components/signIn/OxyLinkCommonsPanel.tsx +27 -15
  149. package/src/ui/components/signIn/OxyPasswordPanel.tsx +49 -14
  150. package/src/ui/components/signIn/OxySignInSecurityPanel.tsx +147 -0
  151. package/src/ui/components/signIn/ReauthStep.tsx +13 -4
  152. package/src/ui/components/signIn/SessionsSection.tsx +218 -0
  153. package/src/ui/components/signIn/accountFlowParts.tsx +6 -0
  154. package/src/ui/components/signIn/accountSecurityState.tsx +75 -0
  155. package/src/ui/navigation/routes.ts +5 -1
  156. package/src/ui/navigation/screenComponents.ts +4 -0
  157. package/src/ui/navigation/surfaceRegistry.ts +2 -0
  158. package/src/ui/screens/AccountSecurityPanelScreen.tsx +1 -1
  159. package/src/ui/screens/ManageAccountScreen.tsx +8 -241
  160. package/src/ui/screens/SignInEmailScreen.tsx +13 -0
  161. package/src/ui/screens/SignInSecurityScreen.tsx +19 -0
@@ -48,7 +48,17 @@ export { useStorage } from "./hooks/useStorage.js";
48
48
  // Realtime events and the profile mutation, which startup code (a socket hook,
49
49
  // a locale provider) needs without the root barrel's account screens.
50
50
  export { useOxyEvent } from "./hooks/useOxyEvent.js";
51
- export { useUpdateProfile } from "./hooks/mutations/useAccountMutations.js";
51
+ // Data hooks a product screen needs (a review's photo upload, a price in the
52
+ // viewer's currency, a "Syncing..." badge) without the root barrel's screens:
53
+ // mercaria.co shipped ~225 KB gzip of account screens on first paint because
54
+ // its review upload could only get `useUploadFile` from the root.
55
+ export { useUpdateProfile, useUploadAvatar, useUploadFile } from "./hooks/mutations/useAccountMutations.js";
56
+ export { useFileDownloadUrl } from "./hooks/useFileDownloadUrl.js";
57
+ export { useMutationStatus } from "./hooks/useMutationStatus.js";
58
+ export { useOnlineStatus } from "./hooks/useOnlineStatus.js";
59
+ export { useDisplayCurrency } from "./hooks/useDisplayCurrency.js";
60
+ export { useDisplayPrice } from "./hooks/useDisplayPrice.js";
61
+ export { DisplayCurrencySelector } from "./components/DisplayCurrencySelector.js";
52
62
  // Route screens live at `@oxy.so/services/screens` so client imports preserve
53
63
  // the lean startup bundle; the provider warms their shared chunk before navigation.
54
64
 
@@ -1 +1 @@
1
- {"version":3,"names":["default","OxyProvider","OxySignInButton","OxyAuthPrompt","LogoIcon","LogoText","FollowButton","FollowTargetButton","ProfileButton","PeableButton","OxyPayButton","useOxy","useOptionalOxy","OxyProviderMissingError","useAuth","useAppAssertion","AppAssertionProviderMissingError","createDeferredProductAnalytics","useFollow","useFollowerCounts","useSeedFollowStatuses","useFollowTarget","useSupervision","supervisionQueryKeys","useUserProfile","useUserProfiles","useCurrentUser","useUserById","useUserByUsername","useStorage","useOxyEvent","useUpdateProfile","buildFollowMenuItems","resolveFollowPrimaryAction","FOLLOW_ACTION_LEAVES_ACTIVE","queryKeys","invalidateAccountQueries","invalidateUserQueries","invalidateSessionQueries","invalidateDeviceQueries","invalidatePrivacyQueries","invalidateSecurityQueries","invalidateStorageQueries","invalidatePaymentsQueries","invalidateConnectedAppsQueries","invalidateAuthMethodsQueries","upsertCachedUser","upsertCachedUsers","CLEARABLE_USER_FIELDS","clearedFieldsFromProfileUpdate","clearedFieldsFromAccountUpdate","useAuthStore","handleAuthError","isInvalidSessionError","isTimeoutOrNetworkError","extractErrorMessage"],"sourceRoot":"../../../src","sources":["ui/client.ts"],"mappings":";;AAAA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA,OAAO,wBAAqB;;AAE5B;AACA,SAASA,OAAO,IAAIC,WAAW,QAAQ,6BAA0B;AACjE,SAASD,OAAO,IAAIE,eAAe,QAAQ,iCAA8B;AACzE,SAASF,OAAO,IAAIG,aAAa,QAAQ,+BAA4B;AAErE,SAASC,QAAQ,QAAQ,+BAA4B;AACrD,SAASC,QAAQ,QAAQ,+BAA4B;AACrD,SAASL,OAAO,IAAIM,YAAY,QAAQ,8BAA2B;AACnE,SAASC,kBAAkB,QAAQ,oCAAiC;AAMpE,SAASP,OAAO,IAAIQ,aAAa,QAAQ,+BAA4B;AAErE,SAASR,OAAO,IAAIS,YAAY,QAAQ,8BAA2B;AAEnE;AACA,SAAST,OAAO,IAAIU,YAAY,QAAQ,8BAA2B;AACnE;;AAGA;AACA,SAASC,MAAM,EAAEC,cAAc,EAAEC,uBAAuB,QAAQ,yBAAsB;;AAEtF;AACA,SAASC,OAAO,QAAQ,oBAAiB;AACzC;AACA;AACA,SACEC,eAAe,EACfC,gCAAgC,QAC3B,uCAAoC;AAI3C,SAASC,8BAA8B,QAAQ,iCAA8B;AAE7E,SAASC,SAAS,EAAEC,iBAAiB,EAAEC,qBAAqB,QAAQ,sBAAmB;AACvF,SAASC,eAAe,QAAQ,4BAAyB;AACzD,SAASC,cAAc,EAAEC,oBAAoB,QAAQ,mCAAgC;AAErF,SACEC,cAAc,EACdC,eAAe,EACfC,cAAc,EACdC,WAAW,EACXC,iBAAiB,QACZ,sCAAmC;AAC1C,SAASC,UAAU,QAAQ,uBAAoB;AAC/C;AACA;AACA,SAASC,WAAW,QAAQ,wBAAqB;AACjD,SAASC,gBAAgB,QAAQ,0CAAuC;AAGxE;AACA;;AAEA;AACA,SACEC,oBAAoB,EACpBC,0BAA0B,EAC1BC,2BAA2B,QACtB,6BAA0B;AAGjC;AACA,SACEC,SAAS,EACTC,wBAAwB,EACxBC,qBAAqB,EACrBC,wBAAwB,EACxBC,uBAAuB,EACvBC,wBAAwB,EACxBC,yBAAyB,EACzBC,wBAAwB,EACxBC,yBAAyB,EACzBC,8BAA8B,EAC9BC,4BAA4B,QACvB,8BAA2B;AAClC,SACEC,gBAAgB,EAChBC,iBAAiB,EACjBC,qBAAqB,EACrBC,8BAA8B,EAC9BC,8BAA8B,QACzB,8BAA2B;AAOlC;AACA,SAASC,YAAY,QAAQ,uBAAoB;;AAEjD;AACA,SACEC,eAAe,EACfC,qBAAqB,EACrBC,uBAAuB,EACvBC,mBAAmB,QACd,0BAAuB","ignoreList":[]}
1
+ {"version":3,"names":["default","OxyProvider","OxySignInButton","OxyAuthPrompt","LogoIcon","LogoText","FollowButton","FollowTargetButton","ProfileButton","PeableButton","OxyPayButton","useOxy","useOptionalOxy","OxyProviderMissingError","useAuth","useAppAssertion","AppAssertionProviderMissingError","createDeferredProductAnalytics","useFollow","useFollowerCounts","useSeedFollowStatuses","useFollowTarget","useSupervision","supervisionQueryKeys","useUserProfile","useUserProfiles","useCurrentUser","useUserById","useUserByUsername","useStorage","useOxyEvent","useUpdateProfile","useUploadAvatar","useUploadFile","useFileDownloadUrl","useMutationStatus","useOnlineStatus","useDisplayCurrency","useDisplayPrice","DisplayCurrencySelector","buildFollowMenuItems","resolveFollowPrimaryAction","FOLLOW_ACTION_LEAVES_ACTIVE","queryKeys","invalidateAccountQueries","invalidateUserQueries","invalidateSessionQueries","invalidateDeviceQueries","invalidatePrivacyQueries","invalidateSecurityQueries","invalidateStorageQueries","invalidatePaymentsQueries","invalidateConnectedAppsQueries","invalidateAuthMethodsQueries","upsertCachedUser","upsertCachedUsers","CLEARABLE_USER_FIELDS","clearedFieldsFromProfileUpdate","clearedFieldsFromAccountUpdate","useAuthStore","handleAuthError","isInvalidSessionError","isTimeoutOrNetworkError","extractErrorMessage"],"sourceRoot":"../../../src","sources":["ui/client.ts"],"mappings":";;AAAA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA,OAAO,wBAAqB;;AAE5B;AACA,SAASA,OAAO,IAAIC,WAAW,QAAQ,6BAA0B;AACjE,SAASD,OAAO,IAAIE,eAAe,QAAQ,iCAA8B;AACzE,SAASF,OAAO,IAAIG,aAAa,QAAQ,+BAA4B;AAErE,SAASC,QAAQ,QAAQ,+BAA4B;AACrD,SAASC,QAAQ,QAAQ,+BAA4B;AACrD,SAASL,OAAO,IAAIM,YAAY,QAAQ,8BAA2B;AACnE,SAASC,kBAAkB,QAAQ,oCAAiC;AAMpE,SAASP,OAAO,IAAIQ,aAAa,QAAQ,+BAA4B;AAErE,SAASR,OAAO,IAAIS,YAAY,QAAQ,8BAA2B;AAEnE;AACA,SAAST,OAAO,IAAIU,YAAY,QAAQ,8BAA2B;AACnE;;AAGA;AACA,SAASC,MAAM,EAAEC,cAAc,EAAEC,uBAAuB,QAAQ,yBAAsB;;AAEtF;AACA,SAASC,OAAO,QAAQ,oBAAiB;AACzC;AACA;AACA,SACEC,eAAe,EACfC,gCAAgC,QAC3B,uCAAoC;AAI3C,SAASC,8BAA8B,QAAQ,iCAA8B;AAE7E,SAASC,SAAS,EAAEC,iBAAiB,EAAEC,qBAAqB,QAAQ,sBAAmB;AACvF,SAASC,eAAe,QAAQ,4BAAyB;AACzD,SAASC,cAAc,EAAEC,oBAAoB,QAAQ,mCAAgC;AAErF,SACEC,cAAc,EACdC,eAAe,EACfC,cAAc,EACdC,WAAW,EACXC,iBAAiB,QACZ,sCAAmC;AAC1C,SAASC,UAAU,QAAQ,uBAAoB;AAC/C;AACA;AACA,SAASC,WAAW,QAAQ,wBAAqB;AACjD;AACA;AACA;AACA;AACA,SACEC,gBAAgB,EAChBC,eAAe,EACfC,aAAa,QACR,0CAAuC;AAC9C,SAASC,kBAAkB,QAAQ,+BAA4B;AAC/D,SAASC,iBAAiB,QAAQ,8BAA2B;AAE7D,SAASC,eAAe,QAAQ,4BAAyB;AACzD,SAASC,kBAAkB,QAAQ,+BAA4B;AAC/D,SAASC,eAAe,QAAQ,4BAAyB;AACzD,SAASC,uBAAuB,QAAQ,yCAAsC;AAG9E;AACA;;AAEA;AACA,SACEC,oBAAoB,EACpBC,0BAA0B,EAC1BC,2BAA2B,QACtB,6BAA0B;AAGjC;AACA,SACEC,SAAS,EACTC,wBAAwB,EACxBC,qBAAqB,EACrBC,wBAAwB,EACxBC,uBAAuB,EACvBC,wBAAwB,EACxBC,yBAAyB,EACzBC,wBAAwB,EACxBC,yBAAyB,EACzBC,8BAA8B,EAC9BC,4BAA4B,QACvB,8BAA2B;AAClC,SACEC,gBAAgB,EAChBC,iBAAiB,EACjBC,qBAAqB,EACrBC,8BAA8B,EAC9BC,8BAA8B,QACzB,8BAA2B;AAOlC;AACA,SAASC,YAAY,QAAQ,uBAAoB;;AAEjD;AACA,SACEC,eAAe,EACfC,qBAAqB,EACrBC,uBAAuB,EACvBC,mBAAmB,QACd,0BAAuB","ignoreList":[]}
@@ -23,14 +23,14 @@ import { Text } from '@oxy.so/bloom/typography';
23
23
  import { TOTP_DIGITS } from '@oxy.so/contracts/client';
24
24
  import { useQueryClient } from '@tanstack/react-query';
25
25
  import { useOxy } from "../../context/oxyRuntimeContext.js";
26
- import { useSignInMethods } from "../../hooks/queries/useAuthMethods.js";
27
26
  import { queryKeys } from "../../hooks/queries/queryKeys.js";
28
27
  import { useI18n } from "../../hooks/useI18n.js";
29
28
  import { copyText } from '../../utils/clipboard';
30
29
  import { SubtleLink } from "../authChooser/primitives.js";
31
- import { OxyAuthLoading, OxyAuthScreen, OxyAuthScreenHeader } from "./OxyAuthScreen.js";
30
+ import { OxyAuthScreen, OxyAuthScreenHeader } from "./OxyAuthScreen.js";
32
31
  import { ReauthStep } from "./ReauthStep.js";
33
32
  import { AccountFlowAction, AccountFlowCodeField, AccountFlowErrorLine, AccountFlowNote, AccountFlowProgress, describeSignInError } from "./accountFlowParts.js";
33
+ import { accountSecurityFallback, useAccountSecurityState } from "./accountSecurityState.js";
34
34
 
35
35
  /** High-contrast, un-themed on purpose: scan reliability. */
36
36
  import { jsx as _jsx, jsxs as _jsxs, Fragment as _Fragment } from "react/jsx-runtime";
@@ -45,14 +45,10 @@ export const OxyAuthenticatorPanel = ({
45
45
  t
46
46
  } = useI18n();
47
47
  const {
48
- oxyServices,
49
- user
48
+ oxyServices
50
49
  } = useOxy();
51
50
  const queryClient = useQueryClient();
52
- const keyed = Boolean(user?.publicKey);
53
- const methods = useSignInMethods({
54
- enabled: !keyed
55
- });
51
+ const security = useAccountSecurityState();
56
52
  const [step, setStep] = useState({
57
53
  name: 'status'
58
54
  });
@@ -62,7 +58,7 @@ export const OxyAuthenticatorPanel = ({
62
58
  const refresh = () => void queryClient.invalidateQueries({
63
59
  queryKey: queryKeys.signInMethods.all
64
60
  });
65
- if (keyed) {
61
+ if (security.keyed) {
66
62
  return /*#__PURE__*/_jsx(OxyAuthScreen, {
67
63
  children: /*#__PURE__*/_jsx(OxyAuthScreenHeader, {
68
64
  title: t('signInSecurity.totp.title'),
@@ -70,12 +66,14 @@ export const OxyAuthenticatorPanel = ({
70
66
  })
71
67
  });
72
68
  }
73
- if (!methods.data) return /*#__PURE__*/_jsx(OxyAuthLoading, {});
69
+ const fallback = accountSecurityFallback(security, t('signInSecurity.totp.title'), t);
70
+ if (fallback || !security.methods.data) return fallback;
74
71
  const {
72
+ hasEmail,
75
73
  hasPassword,
76
74
  totpEnabled,
77
75
  backupCodesRemaining
78
- } = methods.data;
76
+ } = security.methods.data;
79
77
  const setUp = () => {
80
78
  if (pending) return;
81
79
  setError(null);
@@ -150,6 +148,7 @@ export const OxyAuthenticatorPanel = ({
150
148
  description: t('signInSecurity.totp.scan'),
151
149
  action: "totp",
152
150
  allowPassword: hasPassword,
151
+ allowEmail: hasEmail,
153
152
  totpEnabled: false,
154
153
  submitLabel: t('signInSecurity.totp.enable'),
155
154
  validate: () => new RegExp(`^\\d{${TOTP_DIGITS}}$`).test(code.trim()) ? null : t('signin.errors.secondFactorInvalid'),
@@ -213,6 +212,7 @@ export const OxyAuthenticatorPanel = ({
213
212
  description: t('signInSecurity.totp.regenerateDescription'),
214
213
  action: "totp",
215
214
  allowPassword: hasPassword,
215
+ allowEmail: hasEmail,
216
216
  totpEnabled: true,
217
217
  submitLabel: t('signInSecurity.totp.regenerate'),
218
218
  onSubmit: async reauth => {
@@ -232,6 +232,7 @@ export const OxyAuthenticatorPanel = ({
232
232
  description: t('signInSecurity.totp.description'),
233
233
  action: "totp",
234
234
  allowPassword: hasPassword,
235
+ allowEmail: hasEmail,
235
236
  totpEnabled: true,
236
237
  submitLabel: t('signInSecurity.totp.disable'),
237
238
  destructive: true,
@@ -1 +1 @@
1
- {"version":3,"names":["useState","StyleSheet","View","QRCode","CodeBlock","useTheme","toast","Text","TOTP_DIGITS","useQueryClient","useOxy","useSignInMethods","queryKeys","useI18n","copyText","SubtleLink","OxyAuthLoading","OxyAuthScreen","OxyAuthScreenHeader","ReauthStep","AccountFlowAction","AccountFlowCodeField","AccountFlowErrorLine","AccountFlowNote","AccountFlowProgress","describeSignInError","jsx","_jsx","jsxs","_jsxs","Fragment","_Fragment","QR_PLATE_BG","QR_FOREGROUND","QR_SIZE","OxyAuthenticatorPanel","onDone","theme","t","oxyServices","user","queryClient","keyed","Boolean","publicKey","methods","enabled","step","setStep","name","code","setCode","pending","setPending","error","setError","refresh","invalidateQueries","queryKey","signInMethods","all","children","title","description","data","hasPassword","totpEnabled","backupCodesRemaining","setUp","auth","totp","enroll","then","enrollment","catch","reason","finally","back","label","onPress","enrolSteps","copyCodes","codes","success","enrolling","steps","current","testID","join","filename","count","length","lineNumbers","labels","copy","copied","onCopy","action","allowPassword","submitLabel","validate","RegExp","test","trim","onSubmit","reauth","confirm","secondary","style","styles","plateRow","plate","borderColor","colors","border","value","otpauthUri","size","backgroundColor","color","secret","secretLabel","textSecondary","selectable","secretValue","text","replace","onChange","regenerateBackupCodes","destructive","disable","message","create","alignItems","padding","borderRadius","borderWidth","hairlineWidth","gap","fontSize","lineHeight","fontWeight","letterSpacing","textAlign"],"sourceRoot":"../../../../../src","sources":["ui/components/signIn/OxyAuthenticatorPanel.tsx"],"mappings":"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","ignoreList":[]}
1
+ {"version":3,"names":["useState","StyleSheet","View","QRCode","CodeBlock","useTheme","toast","Text","TOTP_DIGITS","useQueryClient","useOxy","queryKeys","useI18n","copyText","SubtleLink","OxyAuthScreen","OxyAuthScreenHeader","ReauthStep","AccountFlowAction","AccountFlowCodeField","AccountFlowErrorLine","AccountFlowNote","AccountFlowProgress","describeSignInError","accountSecurityFallback","useAccountSecurityState","jsx","_jsx","jsxs","_jsxs","Fragment","_Fragment","QR_PLATE_BG","QR_FOREGROUND","QR_SIZE","OxyAuthenticatorPanel","onDone","theme","t","oxyServices","queryClient","security","step","setStep","name","code","setCode","pending","setPending","error","setError","refresh","invalidateQueries","queryKey","signInMethods","all","keyed","children","title","description","fallback","methods","data","hasEmail","hasPassword","totpEnabled","backupCodesRemaining","setUp","auth","totp","enroll","then","enrollment","catch","reason","finally","back","label","onPress","enrolSteps","copyCodes","codes","success","enrolling","steps","current","testID","join","filename","count","length","lineNumbers","labels","copy","copied","onCopy","action","allowPassword","allowEmail","submitLabel","validate","RegExp","test","trim","onSubmit","reauth","confirm","secondary","style","styles","plateRow","plate","borderColor","colors","border","value","otpauthUri","size","backgroundColor","color","secret","secretLabel","textSecondary","selectable","secretValue","text","replace","onChange","regenerateBackupCodes","destructive","disable","message","create","alignItems","padding","borderRadius","borderWidth","hairlineWidth","gap","fontSize","lineHeight","fontWeight","letterSpacing","textAlign"],"sourceRoot":"../../../../../src","sources":["ui/components/signIn/OxyAuthenticatorPanel.tsx"],"mappings":"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","ignoreList":[]}
@@ -4,8 +4,9 @@
4
4
  * Deleting an account that has no key of its own, from the account's settings
5
5
  * (the account dialog's "Manage your account", or the Accounts app):
6
6
  *
7
- * type the username → a code sent to the account's email (+ the
8
- * authenticator's code when it has one) → deleted, and signed out
7
+ * type the username → a code sent to the account's email, or its password
8
+ * when it has no email (+ the authenticator's code when it has one) →
9
+ * deleted, and signed out
9
10
  *
10
11
  * An account with a Commons key is deleted with that key — in Commons, or in
11
12
  * an app that holds it (`ManageAccountScreen`); this panel says so instead.
@@ -15,11 +16,11 @@
15
16
  import { useState } from 'react';
16
17
  import { surfaces } from '@oxy.so/bloom/surfaces';
17
18
  import { useOxy } from "../../context/oxyRuntimeContext.js";
18
- import { useSignInMethods } from "../../hooks/queries/useAuthMethods.js";
19
19
  import { useI18n } from "../../hooks/useI18n.js";
20
- import { OxyAuthLoading, OxyAuthScreen, OxyAuthScreenHeader } from "./OxyAuthScreen.js";
20
+ import { OxyAuthScreen, OxyAuthScreenHeader } from "./OxyAuthScreen.js";
21
21
  import { ReauthStep } from "./ReauthStep.js";
22
22
  import { AccountFlowField, AccountFlowNotice } from "./accountFlowParts.js";
23
+ import { accountSecurityFallback, useAccountSecurityState } from "./accountSecurityState.js";
23
24
  import { jsx as _jsx, jsxs as _jsxs } from "react/jsx-runtime";
24
25
  export const OxyDeleteAccountPanel = ({
25
26
  onDeleted,
@@ -33,10 +34,7 @@ export const OxyDeleteAccountPanel = ({
33
34
  oxyServices,
34
35
  logout
35
36
  } = useOxy();
36
- const keyed = Boolean(user?.publicKey);
37
- const methods = useSignInMethods({
38
- enabled: !keyed
39
- });
37
+ const security = useAccountSecurityState();
40
38
  const [confirmText, setConfirmText] = useState('');
41
39
  const [deleted, setDeleted] = useState(false);
42
40
  if (deleted) {
@@ -47,7 +45,7 @@ export const OxyDeleteAccountPanel = ({
47
45
  })
48
46
  });
49
47
  }
50
- if (keyed) {
48
+ if (security.keyed) {
51
49
  return /*#__PURE__*/_jsxs(OxyAuthScreen, {
52
50
  children: [/*#__PURE__*/_jsx(OxyAuthScreenHeader, {
53
51
  title: t('deleteAccount.handoff.commonsTitle')
@@ -57,22 +55,30 @@ export const OxyDeleteAccountPanel = ({
57
55
  })]
58
56
  });
59
57
  }
60
- if (!methods.data) return /*#__PURE__*/_jsx(OxyAuthLoading, {});
58
+ const fallback = accountSecurityFallback(security, t('deleteAccount.title'), t);
59
+ if (fallback || !security.methods.data) return fallback;
60
+ const {
61
+ hasEmail,
62
+ totpEnabled
63
+ } = security.methods.data;
61
64
  const username = user?.username ?? '';
62
65
  return /*#__PURE__*/_jsxs(ReauthStep, {
63
66
  title: t('deleteAccount.title'),
64
67
  description: t('deleteAccount.keyless.subtitle', {
65
68
  username
66
69
  }),
67
- action: "delete_account",
68
- totpEnabled: methods.data.totpEnabled,
70
+ action: "delete_account"
71
+ // The mailbox proves it when there is one; the password only without.
72
+ ,
73
+ allowPassword: !hasEmail,
74
+ allowEmail: hasEmail,
75
+ totpEnabled: totpEnabled,
69
76
  submitLabel: t('deleteAccount.keyless.action'),
70
77
  destructive: true,
71
78
  validate: () => confirmText.trim() === username ? null : t('deleteAccount.confirmLabel', {
72
79
  username
73
80
  }),
74
81
  onSubmit: async proof => {
75
- if (!proof.emailCode) throw new Error(t('reauth.errors.invalid'));
76
82
  // The last word before it is gone: the proof is ready, and nothing has
77
83
  // been sent yet. Cancelling keeps the screen as it is, code and all.
78
84
  const confirmed = await surfaces.confirm({
@@ -84,12 +90,7 @@ export const OxyDeleteAccountPanel = ({
84
90
  });
85
91
  if (!confirmed) return;
86
92
  await oxyServices.users.deleteMe(confirmText.trim(), {
87
- reauth: {
88
- emailCode: proof.emailCode,
89
- ...(proof.totpCode ? {
90
- totpCode: proof.totpCode
91
- } : {})
92
- }
93
+ reauth: proof
93
94
  });
94
95
  await logout().catch(() => undefined);
95
96
  setDeleted(true);
@@ -1 +1 @@
1
- {"version":3,"names":["useState","surfaces","useOxy","useSignInMethods","useI18n","OxyAuthLoading","OxyAuthScreen","OxyAuthScreenHeader","ReauthStep","AccountFlowField","AccountFlowNotice","jsx","_jsx","jsxs","_jsxs","OxyDeleteAccountPanel","onDeleted","onCancel","t","user","oxyServices","logout","keyed","Boolean","publicKey","methods","enabled","confirmText","setConfirmText","deleted","setDeleted","children","title","description","testID","data","username","action","totpEnabled","submitLabel","destructive","validate","trim","onSubmit","proof","emailCode","Error","confirmed","confirm","confirmLabel","cancelLabel","users","deleteMe","reauth","totpCode","catch","undefined","secondary","label","onPress","type","value","onChange","error","placeholder","autoComplete"],"sourceRoot":"../../../../../src","sources":["ui/components/signIn/OxyDeleteAccountPanel.tsx"],"mappings":"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","ignoreList":[]}
1
+ {"version":3,"names":["useState","surfaces","useOxy","useI18n","OxyAuthScreen","OxyAuthScreenHeader","ReauthStep","AccountFlowField","AccountFlowNotice","accountSecurityFallback","useAccountSecurityState","jsx","_jsx","jsxs","_jsxs","OxyDeleteAccountPanel","onDeleted","onCancel","t","user","oxyServices","logout","security","confirmText","setConfirmText","deleted","setDeleted","children","title","description","keyed","testID","fallback","methods","data","hasEmail","totpEnabled","username","action","allowPassword","allowEmail","submitLabel","destructive","validate","trim","onSubmit","proof","confirmed","confirm","confirmLabel","cancelLabel","users","deleteMe","reauth","catch","undefined","secondary","label","onPress","type","value","onChange","error","placeholder","autoComplete"],"sourceRoot":"../../../../../src","sources":["ui/components/signIn/OxyDeleteAccountPanel.tsx"],"mappings":"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","ignoreList":[]}
@@ -0,0 +1,246 @@
1
+ "use strict";
2
+
3
+ /**
4
+ * The account's email, from its settings: add one, change it, or remove it.
5
+ *
6
+ * add / change: the new address → a code sent to IT, plus the person's
7
+ * proof (the password, or a code to the current email; + the
8
+ * authenticator's) → saved, and every other session signed out
9
+ *
10
+ * remove: only with a password set, confirmed with that password (+ the
11
+ * authenticator's) → the account signs in, and is recovered, with its
12
+ * password alone
13
+ *
14
+ * Sign-in codes, links and security notices go to this address. An account
15
+ * with a Commons key has no email; this panel says so instead.
16
+ */
17
+
18
+ import { useState } from 'react';
19
+ import { toast } from '@oxy.so/bloom/toast';
20
+ import { EMAIL_CODE_LENGTH, checkContract, emailAddressCheck } from '@oxy.so/contracts/client';
21
+ import { useQueryClient } from '@tanstack/react-query';
22
+ import { useOxy } from "../../context/oxyRuntimeContext.js";
23
+ import { queryKeys } from "../../hooks/queries/queryKeys.js";
24
+ import { useI18n } from "../../hooks/useI18n.js";
25
+ import { SubtleLink } from "../authChooser/primitives.js";
26
+ import { OxyAuthScreen, OxyAuthScreenHeader } from "./OxyAuthScreen.js";
27
+ import { ReauthStep } from "./ReauthStep.js";
28
+ import { AccountFlowAction, AccountFlowCodeField, AccountFlowField, AccountFlowNote, AccountFlowNotice, describeSignInError } from "./accountFlowParts.js";
29
+ import { accountSecurityFallback, useAccountSecurityState } from "./accountSecurityState.js";
30
+ import { jsx as _jsx, jsxs as _jsxs } from "react/jsx-runtime";
31
+ export const OxyEmailPanel = ({
32
+ onDone
33
+ }) => {
34
+ const {
35
+ t
36
+ } = useI18n();
37
+ const {
38
+ oxyServices,
39
+ user
40
+ } = useOxy();
41
+ const queryClient = useQueryClient();
42
+ const security = useAccountSecurityState();
43
+ const [step, setStep] = useState({
44
+ name: 'status'
45
+ });
46
+ const [address, setAddress] = useState('');
47
+ const [code, setCode] = useState('');
48
+ const [pending, setPending] = useState(false);
49
+ const [error, setError] = useState(null);
50
+ if (security.keyed) {
51
+ return /*#__PURE__*/_jsx(OxyAuthScreen, {
52
+ children: /*#__PURE__*/_jsx(OxyAuthScreenHeader, {
53
+ title: t('signInSecurity.email.title'),
54
+ description: t('linkCommons.already')
55
+ })
56
+ });
57
+ }
58
+ const fallback = accountSecurityFallback(security, t('signInSecurity.email.title'), t);
59
+ if (fallback || !security.methods.data) return fallback;
60
+ const {
61
+ hasEmail,
62
+ hasPassword,
63
+ totpEnabled
64
+ } = security.methods.data;
65
+ const current = hasEmail ? user?.email ?? null : null;
66
+ const finish = message => {
67
+ void queryClient.invalidateQueries({
68
+ queryKey: queryKeys.signInMethods.all
69
+ });
70
+ void queryClient.invalidateQueries({
71
+ queryKey: queryKeys.accounts.all
72
+ });
73
+ toast.success(message);
74
+ setStep({
75
+ name: 'status'
76
+ });
77
+ setAddress('');
78
+ setCode('');
79
+ onDone?.();
80
+ };
81
+ const sendCode = email => {
82
+ if (pending) return;
83
+ setError(null);
84
+ setPending(true);
85
+ oxyServices.auth.email.startChange(email).then(started => {
86
+ setCode('');
87
+ setStep({
88
+ name: 'confirm',
89
+ email,
90
+ verificationId: started.verificationId
91
+ });
92
+ }).catch(reason => setError(describeSignInError(reason, t))).finally(() => setPending(false));
93
+ };
94
+ const submitAddress = () => {
95
+ const email = checkContract(emailAddressCheck, address);
96
+ if (!email) {
97
+ setError(t('signInSecurity.email.invalid'));
98
+ return;
99
+ }
100
+ if (email === current) {
101
+ setError(t('signInSecurity.errors.emailUnchanged'));
102
+ return;
103
+ }
104
+ sendCode(email);
105
+ };
106
+ switch (step.name) {
107
+ case 'address':
108
+ return /*#__PURE__*/_jsxs(OxyAuthScreen, {
109
+ children: [/*#__PURE__*/_jsx(OxyAuthScreenHeader, {
110
+ title: hasEmail ? t('signInSecurity.email.change') : t('signInSecurity.email.add'),
111
+ description: t('signInSecurity.email.newDescription')
112
+ }), /*#__PURE__*/_jsx(AccountFlowField, {
113
+ label: t('signInSecurity.email.newLabel'),
114
+ value: address,
115
+ onChange: value => {
116
+ setAddress(value);
117
+ if (error) setError(null);
118
+ },
119
+ onSubmit: submitAddress,
120
+ error: error,
121
+ disabled: pending,
122
+ autoComplete: "email",
123
+ keyboardType: "email-address",
124
+ testID: "email-new"
125
+ }), /*#__PURE__*/_jsx(AccountFlowAction, {
126
+ label: t('signInSecurity.email.sendCode'),
127
+ onPress: submitAddress,
128
+ pending: pending,
129
+ testID: "email-send-code"
130
+ }), /*#__PURE__*/_jsx(SubtleLink, {
131
+ label: t('common.cancel'),
132
+ onPress: () => {
133
+ setError(null);
134
+ setStep({
135
+ name: 'status'
136
+ });
137
+ },
138
+ disabled: pending,
139
+ testID: "email-cancel"
140
+ })]
141
+ });
142
+ case 'confirm':
143
+ return /*#__PURE__*/_jsxs(ReauthStep, {
144
+ title: t('signInSecurity.email.confirmTitle'),
145
+ description: t('signInSecurity.email.confirmDescription', {
146
+ email: step.email
147
+ }),
148
+ action: "change_email",
149
+ allowPassword: hasPassword,
150
+ allowEmail: hasEmail,
151
+ totpEnabled: totpEnabled,
152
+ submitLabel: t('signInSecurity.email.save'),
153
+ validate: () => code.replace(/\D/g, '').length === EMAIL_CODE_LENGTH ? null : t('emailCode.errors.codeInvalid'),
154
+ onSubmit: async reauth => {
155
+ await oxyServices.auth.email.change({
156
+ email: step.email,
157
+ verificationId: step.verificationId,
158
+ code: code.replace(/\D/g, ''),
159
+ reauth
160
+ });
161
+ finish(t('signInSecurity.email.saved'));
162
+ },
163
+ secondary: {
164
+ label: t('common.cancel'),
165
+ onPress: () => setStep({
166
+ name: 'status'
167
+ })
168
+ },
169
+ children: [/*#__PURE__*/_jsx(AccountFlowCodeField, {
170
+ label: t('signInSecurity.email.codeLabel'),
171
+ value: code,
172
+ onChange: setCode,
173
+ error: null,
174
+ length: EMAIL_CODE_LENGTH,
175
+ testID: "email-new-code"
176
+ }), /*#__PURE__*/_jsx(SubtleLink, {
177
+ label: t('emailCode.resend'),
178
+ onPress: () => sendCode(step.email),
179
+ disabled: pending,
180
+ testID: "email-new-code-resend"
181
+ }), error ? /*#__PURE__*/_jsx(AccountFlowNotice, {
182
+ type: "error",
183
+ testID: "email-new-code-error",
184
+ children: error
185
+ }) : null]
186
+ });
187
+ case 'remove':
188
+ return /*#__PURE__*/_jsx(ReauthStep, {
189
+ title: t('signInSecurity.email.removeTitle'),
190
+ description: t('signInSecurity.email.removeDescription'),
191
+ action: "change_email"
192
+ // Confirmed with the password it will rely on, never the mailbox it loses.
193
+ ,
194
+ allowPassword: true,
195
+ allowEmail: false,
196
+ totpEnabled: totpEnabled,
197
+ submitLabel: t('signInSecurity.email.remove'),
198
+ destructive: true,
199
+ onSubmit: async reauth => {
200
+ await oxyServices.auth.email.remove(reauth);
201
+ finish(t('signInSecurity.email.removed'));
202
+ },
203
+ secondary: {
204
+ label: t('common.cancel'),
205
+ onPress: () => setStep({
206
+ name: 'status'
207
+ })
208
+ }
209
+ });
210
+ default:
211
+ return /*#__PURE__*/_jsxs(OxyAuthScreen, {
212
+ children: [/*#__PURE__*/_jsx(OxyAuthScreenHeader, {
213
+ title: t('signInSecurity.email.title'),
214
+ description: hasEmail ? t('signInSecurity.email.description') : t('signInSecurity.email.noneDescription')
215
+ }), current ? /*#__PURE__*/_jsx(AccountFlowNote, {
216
+ testID: "email-current",
217
+ children: current
218
+ }) : null, !hasEmail ? /*#__PURE__*/_jsx(AccountFlowNotice, {
219
+ type: "warning",
220
+ testID: "email-none-warning",
221
+ children: t('signInSecurity.noEmailWarning')
222
+ }) : null, /*#__PURE__*/_jsx(AccountFlowAction, {
223
+ label: hasEmail ? t('signInSecurity.email.change') : t('signInSecurity.email.add'),
224
+ onPress: () => {
225
+ setError(null);
226
+ setAddress('');
227
+ setStep({
228
+ name: 'address'
229
+ });
230
+ },
231
+ pending: false,
232
+ testID: "email-change"
233
+ }), hasEmail && hasPassword ? /*#__PURE__*/_jsx(SubtleLink, {
234
+ label: t('signInSecurity.email.remove'),
235
+ onPress: () => setStep({
236
+ name: 'remove'
237
+ }),
238
+ testID: "remove-email-link"
239
+ }) : null, hasEmail && !hasPassword ? /*#__PURE__*/_jsx(AccountFlowNote, {
240
+ testID: "email-remove-needs-password",
241
+ children: t('signInSecurity.email.removeNeedsPassword')
242
+ }) : null]
243
+ });
244
+ }
245
+ };
246
+ //# sourceMappingURL=OxyEmailPanel.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"names":["useState","toast","EMAIL_CODE_LENGTH","checkContract","emailAddressCheck","useQueryClient","useOxy","queryKeys","useI18n","SubtleLink","OxyAuthScreen","OxyAuthScreenHeader","ReauthStep","AccountFlowAction","AccountFlowCodeField","AccountFlowField","AccountFlowNote","AccountFlowNotice","describeSignInError","accountSecurityFallback","useAccountSecurityState","jsx","_jsx","jsxs","_jsxs","OxyEmailPanel","onDone","t","oxyServices","user","queryClient","security","step","setStep","name","address","setAddress","code","setCode","pending","setPending","error","setError","keyed","children","title","description","fallback","methods","data","hasEmail","hasPassword","totpEnabled","current","email","finish","message","invalidateQueries","queryKey","signInMethods","all","accounts","success","sendCode","auth","startChange","then","started","verificationId","catch","reason","finally","submitAddress","label","value","onChange","onSubmit","disabled","autoComplete","keyboardType","testID","onPress","action","allowPassword","allowEmail","submitLabel","validate","replace","length","reauth","change","secondary","type","destructive","remove"],"sourceRoot":"../../../../../src","sources":["ui/components/signIn/OxyEmailPanel.tsx"],"mappings":";;AAAA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAGA,SAASA,QAAQ,QAAQ,OAAO;AAChC,SAASC,KAAK,QAAQ,qBAAqB;AAC3C,SAASC,iBAAiB,EAAEC,aAAa,EAAEC,iBAAiB,QAAQ,0BAA0B;AAC9F,SAASC,cAAc,QAAQ,uBAAuB;AACtD,SAASC,MAAM,QAAQ,oCAAiC;AACxD,SAASC,SAAS,QAAQ,kCAA+B;AACzD,SAASC,OAAO,QAAQ,wBAAqB;AAC7C,SAASC,UAAU,QAAQ,8BAA2B;AACtD,SAASC,aAAa,EAAEC,mBAAmB,QAAQ,oBAAiB;AACpE,SAASC,UAAU,QAAQ,iBAAc;AACzC,SACEC,iBAAiB,EACjBC,oBAAoB,EACpBC,gBAAgB,EAChBC,eAAe,EACfC,iBAAiB,EACjBC,mBAAmB,QACd,uBAAoB;AAC3B,SAASC,uBAAuB,EAAEC,uBAAuB,QAAQ,2BAAwB;AAAC,SAAAC,GAAA,IAAAC,IAAA,EAAAC,IAAA,IAAAC,KAAA;AAa1F,OAAO,MAAMC,aAA2C,GAAGA,CAAC;EAAEC;AAAO,CAAC,KAAK;EACzE,MAAM;IAAEC;EAAE,CAAC,GAAGnB,OAAO,CAAC,CAAC;EACvB,MAAM;IAAEoB,WAAW;IAAEC;EAAK,CAAC,GAAGvB,MAAM,CAAC,CAAC;EACtC,MAAMwB,WAAW,GAAGzB,cAAc,CAAC,CAAC;EACpC,MAAM0B,QAAQ,GAAGX,uBAAuB,CAAC,CAAC;EAC1C,MAAM,CAACY,IAAI,EAAEC,OAAO,CAAC,GAAGjC,QAAQ,CAAO;IAAEkC,IAAI,EAAE;EAAS,CAAC,CAAC;EAC1D,MAAM,CAACC,OAAO,EAAEC,UAAU,CAAC,GAAGpC,QAAQ,CAAC,EAAE,CAAC;EAC1C,MAAM,CAACqC,IAAI,EAAEC,OAAO,CAAC,GAAGtC,QAAQ,CAAC,EAAE,CAAC;EACpC,MAAM,CAACuC,OAAO,EAAEC,UAAU,CAAC,GAAGxC,QAAQ,CAAC,KAAK,CAAC;EAC7C,MAAM,CAACyC,KAAK,EAAEC,QAAQ,CAAC,GAAG1C,QAAQ,CAAgB,IAAI,CAAC;EAEvD,IAAI+B,QAAQ,CAACY,KAAK,EAAE;IAClB,oBACErB,IAAA,CAACZ,aAAa;MAAAkC,QAAA,eACZtB,IAAA,CAACX,mBAAmB;QAClBkC,KAAK,EAAElB,CAAC,CAAC,4BAA4B,CAAE;QACvCmB,WAAW,EAAEnB,CAAC,CAAC,qBAAqB;MAAE,CACvC;IAAC,CACW,CAAC;EAEpB;EACA,MAAMoB,QAAQ,GAAG5B,uBAAuB,CAACY,QAAQ,EAAEJ,CAAC,CAAC,4BAA4B,CAAC,EAAEA,CAAC,CAAC;EACtF,IAAIoB,QAAQ,IAAI,CAAChB,QAAQ,CAACiB,OAAO,CAACC,IAAI,EAAE,OAAOF,QAAQ;EACvD,MAAM;IAAEG,QAAQ;IAAEC,WAAW;IAAEC;EAAY,CAAC,GAAGrB,QAAQ,CAACiB,OAAO,CAACC,IAAI;EACpE,MAAMI,OAAO,GAAGH,QAAQ,GAAIrB,IAAI,EAAEyB,KAAK,IAAI,IAAI,GAAI,IAAI;EAEvD,MAAMC,MAAM,GAAIC,OAAe,IAAK;IAClC,KAAK1B,WAAW,CAAC2B,iBAAiB,CAAC;MAAEC,QAAQ,EAAEnD,SAAS,CAACoD,aAAa,CAACC;IAAI,CAAC,CAAC;IAC7E,KAAK9B,WAAW,CAAC2B,iBAAiB,CAAC;MAAEC,QAAQ,EAAEnD,SAAS,CAACsD,QAAQ,CAACD;IAAI,CAAC,CAAC;IACxE3D,KAAK,CAAC6D,OAAO,CAACN,OAAO,CAAC;IACtBvB,OAAO,CAAC;MAAEC,IAAI,EAAE;IAAS,CAAC,CAAC;IAC3BE,UAAU,CAAC,EAAE,CAAC;IACdE,OAAO,CAAC,EAAE,CAAC;IACXZ,MAAM,GAAG,CAAC;EACZ,CAAC;EAED,MAAMqC,QAAQ,GAAIT,KAAa,IAAK;IAClC,IAAIf,OAAO,EAAE;IACbG,QAAQ,CAAC,IAAI,CAAC;IACdF,UAAU,CAAC,IAAI,CAAC;IAChBZ,WAAW,CAACoC,IAAI,CAACV,KAAK,CACnBW,WAAW,CAACX,KAAK,CAAC,CAClBY,IAAI,CAAEC,OAAO,IAAK;MACjB7B,OAAO,CAAC,EAAE,CAAC;MACXL,OAAO,CAAC;QAAEC,IAAI,EAAE,SAAS;QAAEoB,KAAK;QAAEc,cAAc,EAAED,OAAO,CAACC;MAAe,CAAC,CAAC;IAC7E,CAAC,CAAC,CACDC,KAAK,CAAEC,MAAe,IAAK5B,QAAQ,CAACxB,mBAAmB,CAACoD,MAAM,EAAE3C,CAAC,CAAC,CAAC,CAAC,CACpE4C,OAAO,CAAC,MAAM/B,UAAU,CAAC,KAAK,CAAC,CAAC;EACrC,CAAC;EAED,MAAMgC,aAAa,GAAGA,CAAA,KAAM;IAC1B,MAAMlB,KAAK,GAAGnD,aAAa,CAACC,iBAAiB,EAAE+B,OAAO,CAAC;IACvD,IAAI,CAACmB,KAAK,EAAE;MACVZ,QAAQ,CAACf,CAAC,CAAC,8BAA8B,CAAC,CAAC;MAC3C;IACF;IACA,IAAI2B,KAAK,KAAKD,OAAO,EAAE;MACrBX,QAAQ,CAACf,CAAC,CAAC,sCAAsC,CAAC,CAAC;MACnD;IACF;IACAoC,QAAQ,CAACT,KAAK,CAAC;EACjB,CAAC;EAED,QAAQtB,IAAI,CAACE,IAAI;IACf,KAAK,SAAS;MACZ,oBACEV,KAAA,CAACd,aAAa;QAAAkC,QAAA,gBACZtB,IAAA,CAACX,mBAAmB;UAClBkC,KAAK,EAAEK,QAAQ,GAAGvB,CAAC,CAAC,6BAA6B,CAAC,GAAGA,CAAC,CAAC,0BAA0B,CAAE;UACnFmB,WAAW,EAAEnB,CAAC,CAAC,qCAAqC;QAAE,CACvD,CAAC,eACFL,IAAA,CAACP,gBAAgB;UACf0D,KAAK,EAAE9C,CAAC,CAAC,+BAA+B,CAAE;UAC1C+C,KAAK,EAAEvC,OAAQ;UACfwC,QAAQ,EAAGD,KAAK,IAAK;YACnBtC,UAAU,CAACsC,KAAK,CAAC;YACjB,IAAIjC,KAAK,EAAEC,QAAQ,CAAC,IAAI,CAAC;UAC3B,CAAE;UACFkC,QAAQ,EAAEJ,aAAc;UACxB/B,KAAK,EAAEA,KAAM;UACboC,QAAQ,EAAEtC,OAAQ;UAClBuC,YAAY,EAAC,OAAO;UACpBC,YAAY,EAAC,eAAe;UAC5BC,MAAM,EAAC;QAAW,CACnB,CAAC,eACF1D,IAAA,CAACT,iBAAiB;UAChB4D,KAAK,EAAE9C,CAAC,CAAC,+BAA+B,CAAE;UAC1CsD,OAAO,EAAET,aAAc;UACvBjC,OAAO,EAAEA,OAAQ;UACjByC,MAAM,EAAC;QAAiB,CACzB,CAAC,eACF1D,IAAA,CAACb,UAAU;UACTgE,KAAK,EAAE9C,CAAC,CAAC,eAAe,CAAE;UAC1BsD,OAAO,EAAEA,CAAA,KAAM;YACbvC,QAAQ,CAAC,IAAI,CAAC;YACdT,OAAO,CAAC;cAAEC,IAAI,EAAE;YAAS,CAAC,CAAC;UAC7B,CAAE;UACF2C,QAAQ,EAAEtC,OAAQ;UAClByC,MAAM,EAAC;QAAc,CACtB,CAAC;MAAA,CACW,CAAC;IAEpB,KAAK,SAAS;MACZ,oBACExD,KAAA,CAACZ,UAAU;QACTiC,KAAK,EAAElB,CAAC,CAAC,mCAAmC,CAAE;QAC9CmB,WAAW,EAAEnB,CAAC,CAAC,yCAAyC,EAAE;UAAE2B,KAAK,EAAEtB,IAAI,CAACsB;QAAM,CAAC,CAAE;QACjF4B,MAAM,EAAC,cAAc;QACrBC,aAAa,EAAEhC,WAAY;QAC3BiC,UAAU,EAAElC,QAAS;QACrBE,WAAW,EAAEA,WAAY;QACzBiC,WAAW,EAAE1D,CAAC,CAAC,2BAA2B,CAAE;QAC5C2D,QAAQ,EAAEA,CAAA,KACRjD,IAAI,CAACkD,OAAO,CAAC,KAAK,EAAE,EAAE,CAAC,CAACC,MAAM,KAAKtF,iBAAiB,GAChD,IAAI,GACJyB,CAAC,CAAC,8BAA8B,CACrC;QACDiD,QAAQ,EAAE,MAAOa,MAAM,IAAK;UAC1B,MAAM7D,WAAW,CAACoC,IAAI,CAACV,KAAK,CAACoC,MAAM,CAAC;YAClCpC,KAAK,EAAEtB,IAAI,CAACsB,KAAK;YACjBc,cAAc,EAAEpC,IAAI,CAACoC,cAAc;YACnC/B,IAAI,EAAEA,IAAI,CAACkD,OAAO,CAAC,KAAK,EAAE,EAAE,CAAC;YAC7BE;UACF,CAAC,CAAC;UACFlC,MAAM,CAAC5B,CAAC,CAAC,4BAA4B,CAAC,CAAC;QACzC,CAAE;QACFgE,SAAS,EAAE;UAAElB,KAAK,EAAE9C,CAAC,CAAC,eAAe,CAAC;UAAEsD,OAAO,EAAEA,CAAA,KAAMhD,OAAO,CAAC;YAAEC,IAAI,EAAE;UAAS,CAAC;QAAE,CAAE;QAAAU,QAAA,gBAErFtB,IAAA,CAACR,oBAAoB;UACnB2D,KAAK,EAAE9C,CAAC,CAAC,gCAAgC,CAAE;UAC3C+C,KAAK,EAAErC,IAAK;UACZsC,QAAQ,EAAErC,OAAQ;UAClBG,KAAK,EAAE,IAAK;UACZ+C,MAAM,EAAEtF,iBAAkB;UAC1B8E,MAAM,EAAC;QAAgB,CACxB,CAAC,eACF1D,IAAA,CAACb,UAAU;UACTgE,KAAK,EAAE9C,CAAC,CAAC,kBAAkB,CAAE;UAC7BsD,OAAO,EAAEA,CAAA,KAAMlB,QAAQ,CAAC/B,IAAI,CAACsB,KAAK,CAAE;UACpCuB,QAAQ,EAAEtC,OAAQ;UAClByC,MAAM,EAAC;QAAuB,CAC/B,CAAC,EACDvC,KAAK,gBACJnB,IAAA,CAACL,iBAAiB;UAAC2E,IAAI,EAAC,OAAO;UAACZ,MAAM,EAAC,sBAAsB;UAAApC,QAAA,EAC1DH;QAAK,CACW,CAAC,GAClB,IAAI;MAAA,CACE,CAAC;IAEjB,KAAK,QAAQ;MACX,oBACEnB,IAAA,CAACV,UAAU;QACTiC,KAAK,EAAElB,CAAC,CAAC,kCAAkC,CAAE;QAC7CmB,WAAW,EAAEnB,CAAC,CAAC,wCAAwC,CAAE;QACzDuD,MAAM,EAAC;QACP;QAAA;QACAC,aAAa;QACbC,UAAU,EAAE,KAAM;QAClBhC,WAAW,EAAEA,WAAY;QACzBiC,WAAW,EAAE1D,CAAC,CAAC,6BAA6B,CAAE;QAC9CkE,WAAW;QACXjB,QAAQ,EAAE,MAAOa,MAAM,IAAK;UAC1B,MAAM7D,WAAW,CAACoC,IAAI,CAACV,KAAK,CAACwC,MAAM,CAACL,MAAM,CAAC;UAC3ClC,MAAM,CAAC5B,CAAC,CAAC,8BAA8B,CAAC,CAAC;QAC3C,CAAE;QACFgE,SAAS,EAAE;UAAElB,KAAK,EAAE9C,CAAC,CAAC,eAAe,CAAC;UAAEsD,OAAO,EAAEA,CAAA,KAAMhD,OAAO,CAAC;YAAEC,IAAI,EAAE;UAAS,CAAC;QAAE;MAAE,CACtF,CAAC;IAEN;MACE,oBACEV,KAAA,CAACd,aAAa;QAAAkC,QAAA,gBACZtB,IAAA,CAACX,mBAAmB;UAClBkC,KAAK,EAAElB,CAAC,CAAC,4BAA4B,CAAE;UACvCmB,WAAW,EACTI,QAAQ,GACJvB,CAAC,CAAC,kCAAkC,CAAC,GACrCA,CAAC,CAAC,sCAAsC;QAC7C,CACF,CAAC,EACD0B,OAAO,gBAAG/B,IAAA,CAACN,eAAe;UAACgE,MAAM,EAAC,eAAe;UAAApC,QAAA,EAAES;QAAO,CAAkB,CAAC,GAAG,IAAI,EACpF,CAACH,QAAQ,gBACR5B,IAAA,CAACL,iBAAiB;UAAC2E,IAAI,EAAC,SAAS;UAACZ,MAAM,EAAC,oBAAoB;UAAApC,QAAA,EAC1DjB,CAAC,CAAC,+BAA+B;QAAC,CAClB,CAAC,GAClB,IAAI,eACRL,IAAA,CAACT,iBAAiB;UAChB4D,KAAK,EAAEvB,QAAQ,GAAGvB,CAAC,CAAC,6BAA6B,CAAC,GAAGA,CAAC,CAAC,0BAA0B,CAAE;UACnFsD,OAAO,EAAEA,CAAA,KAAM;YACbvC,QAAQ,CAAC,IAAI,CAAC;YACdN,UAAU,CAAC,EAAE,CAAC;YACdH,OAAO,CAAC;cAAEC,IAAI,EAAE;YAAU,CAAC,CAAC;UAC9B,CAAE;UACFK,OAAO,EAAE,KAAM;UACfyC,MAAM,EAAC;QAAc,CACtB,CAAC,EACD9B,QAAQ,IAAIC,WAAW,gBACtB7B,IAAA,CAACb,UAAU;UACTgE,KAAK,EAAE9C,CAAC,CAAC,6BAA6B,CAAE;UACxCsD,OAAO,EAAEA,CAAA,KAAMhD,OAAO,CAAC;YAAEC,IAAI,EAAE;UAAS,CAAC,CAAE;UAC3C8C,MAAM,EAAC;QAAmB,CAC3B,CAAC,GACA,IAAI,EACP9B,QAAQ,IAAI,CAACC,WAAW,gBACvB7B,IAAA,CAACN,eAAe;UAACgE,MAAM,EAAC,6BAA6B;UAAApC,QAAA,EAClDjB,CAAC,CAAC,0CAA0C;QAAC,CAC/B,CAAC,GAChB,IAAI;MAAA,CACK,CAAC;EAEtB;AACF,CAAC","ignoreList":[]}