@oxy.so/services 12.3.0 → 12.5.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 (187) 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/components/authChooser/types.js +14 -8
  5. package/lib/commonjs/ui/components/authChooser/types.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/AccountSettingsScreen.js +3 -12
  33. package/lib/commonjs/ui/screens/AccountSettingsScreen.js.map +1 -1
  34. package/lib/commonjs/ui/screens/CreateAccountScreen.js +3 -12
  35. package/lib/commonjs/ui/screens/CreateAccountScreen.js.map +1 -1
  36. package/lib/commonjs/ui/screens/EditProfileFieldScreen.js +7 -3
  37. package/lib/commonjs/ui/screens/EditProfileFieldScreen.js.map +1 -1
  38. package/lib/commonjs/ui/screens/ManageAccountScreen.js +8 -196
  39. package/lib/commonjs/ui/screens/ManageAccountScreen.js.map +1 -1
  40. package/lib/commonjs/ui/screens/SignInEmailScreen.js +19 -0
  41. package/lib/commonjs/ui/screens/SignInEmailScreen.js.map +1 -0
  42. package/lib/commonjs/ui/screens/SignInSecurityScreen.js +30 -0
  43. package/lib/commonjs/ui/screens/SignInSecurityScreen.js.map +1 -0
  44. package/lib/module/index.js +5 -2
  45. package/lib/module/index.js.map +1 -1
  46. package/lib/module/ui/components/authChooser/types.js +15 -8
  47. package/lib/module/ui/components/authChooser/types.js.map +1 -1
  48. package/lib/module/ui/components/signIn/OxyAuthenticatorPanel.js +12 -11
  49. package/lib/module/ui/components/signIn/OxyAuthenticatorPanel.js.map +1 -1
  50. package/lib/module/ui/components/signIn/OxyDeleteAccountPanel.js +20 -19
  51. package/lib/module/ui/components/signIn/OxyDeleteAccountPanel.js.map +1 -1
  52. package/lib/module/ui/components/signIn/OxyEmailPanel.js +246 -0
  53. package/lib/module/ui/components/signIn/OxyEmailPanel.js.map +1 -0
  54. package/lib/module/ui/components/signIn/OxyLinkCommonsPanel.js +40 -33
  55. package/lib/module/ui/components/signIn/OxyLinkCommonsPanel.js.map +1 -1
  56. package/lib/module/ui/components/signIn/OxyPasswordPanel.js +52 -20
  57. package/lib/module/ui/components/signIn/OxyPasswordPanel.js.map +1 -1
  58. package/lib/module/ui/components/signIn/OxySignInSecurityPanel.js +149 -0
  59. package/lib/module/ui/components/signIn/OxySignInSecurityPanel.js.map +1 -0
  60. package/lib/module/ui/components/signIn/ReauthStep.js +6 -4
  61. package/lib/module/ui/components/signIn/ReauthStep.js.map +1 -1
  62. package/lib/module/ui/components/signIn/SessionsSection.js +194 -0
  63. package/lib/module/ui/components/signIn/SessionsSection.js.map +1 -0
  64. package/lib/module/ui/components/signIn/accountFlowParts.js +6 -0
  65. package/lib/module/ui/components/signIn/accountFlowParts.js.map +1 -1
  66. package/lib/module/ui/components/signIn/accountSecurityState.js +69 -0
  67. package/lib/module/ui/components/signIn/accountSecurityState.js.map +1 -0
  68. package/lib/module/ui/navigation/routes.js +1 -1
  69. package/lib/module/ui/navigation/routes.js.map +1 -1
  70. package/lib/module/ui/navigation/screenComponents.js +4 -0
  71. package/lib/module/ui/navigation/screenComponents.js.map +1 -1
  72. package/lib/module/ui/navigation/surfaceRegistry.js.map +1 -1
  73. package/lib/module/ui/screens/AccountSecurityPanelScreen.js +1 -1
  74. package/lib/module/ui/screens/AccountSettingsScreen.js +4 -13
  75. package/lib/module/ui/screens/AccountSettingsScreen.js.map +1 -1
  76. package/lib/module/ui/screens/CreateAccountScreen.js +3 -13
  77. package/lib/module/ui/screens/CreateAccountScreen.js.map +1 -1
  78. package/lib/module/ui/screens/EditProfileFieldScreen.js +8 -4
  79. package/lib/module/ui/screens/EditProfileFieldScreen.js.map +1 -1
  80. package/lib/module/ui/screens/ManageAccountScreen.js +9 -197
  81. package/lib/module/ui/screens/ManageAccountScreen.js.map +1 -1
  82. package/lib/module/ui/screens/SignInEmailScreen.js +17 -0
  83. package/lib/module/ui/screens/SignInEmailScreen.js.map +1 -0
  84. package/lib/module/ui/screens/SignInSecurityScreen.js +26 -0
  85. package/lib/module/ui/screens/SignInSecurityScreen.js.map +1 -0
  86. package/lib/typescript/commonjs/index.d.ts +4 -0
  87. package/lib/typescript/commonjs/index.d.ts.map +1 -1
  88. package/lib/typescript/commonjs/ui/components/authChooser/types.d.ts +1 -3
  89. package/lib/typescript/commonjs/ui/components/authChooser/types.d.ts.map +1 -1
  90. package/lib/typescript/commonjs/ui/components/signIn/OxyAuthenticatorPanel.d.ts.map +1 -1
  91. package/lib/typescript/commonjs/ui/components/signIn/OxyDeleteAccountPanel.d.ts +3 -2
  92. package/lib/typescript/commonjs/ui/components/signIn/OxyDeleteAccountPanel.d.ts.map +1 -1
  93. package/lib/typescript/commonjs/ui/components/signIn/OxyEmailPanel.d.ts +21 -0
  94. package/lib/typescript/commonjs/ui/components/signIn/OxyEmailPanel.d.ts.map +1 -0
  95. package/lib/typescript/commonjs/ui/components/signIn/OxyLinkCommonsPanel.d.ts +2 -1
  96. package/lib/typescript/commonjs/ui/components/signIn/OxyLinkCommonsPanel.d.ts.map +1 -1
  97. package/lib/typescript/commonjs/ui/components/signIn/OxyPasswordPanel.d.ts +5 -4
  98. package/lib/typescript/commonjs/ui/components/signIn/OxyPasswordPanel.d.ts.map +1 -1
  99. package/lib/typescript/commonjs/ui/components/signIn/OxySignInSecurityPanel.d.ts +25 -0
  100. package/lib/typescript/commonjs/ui/components/signIn/OxySignInSecurityPanel.d.ts.map +1 -0
  101. package/lib/typescript/commonjs/ui/components/signIn/ReauthStep.d.ts +8 -2
  102. package/lib/typescript/commonjs/ui/components/signIn/ReauthStep.d.ts.map +1 -1
  103. package/lib/typescript/commonjs/ui/components/signIn/SessionsSection.d.ts +9 -0
  104. package/lib/typescript/commonjs/ui/components/signIn/SessionsSection.d.ts.map +1 -0
  105. package/lib/typescript/commonjs/ui/components/signIn/accountFlowParts.d.ts.map +1 -1
  106. package/lib/typescript/commonjs/ui/components/signIn/accountSecurityState.d.ts +26 -0
  107. package/lib/typescript/commonjs/ui/components/signIn/accountSecurityState.d.ts.map +1 -0
  108. package/lib/typescript/commonjs/ui/hooks/mutations/useAccountMutations.d.ts +3 -2
  109. package/lib/typescript/commonjs/ui/hooks/mutations/useAccountMutations.d.ts.map +1 -1
  110. package/lib/typescript/commonjs/ui/navigation/routes.d.ts +1 -1
  111. package/lib/typescript/commonjs/ui/navigation/routes.d.ts.map +1 -1
  112. package/lib/typescript/commonjs/ui/navigation/screenComponents.d.ts.map +1 -1
  113. package/lib/typescript/commonjs/ui/navigation/surfaceRegistry.d.ts +2 -0
  114. package/lib/typescript/commonjs/ui/navigation/surfaceRegistry.d.ts.map +1 -1
  115. package/lib/typescript/commonjs/ui/screens/AccountSecurityPanelScreen.d.ts +1 -1
  116. package/lib/typescript/commonjs/ui/screens/AccountSettingsScreen.d.ts.map +1 -1
  117. package/lib/typescript/commonjs/ui/screens/CreateAccountScreen.d.ts.map +1 -1
  118. package/lib/typescript/commonjs/ui/screens/EditProfileFieldScreen.d.ts.map +1 -1
  119. package/lib/typescript/commonjs/ui/screens/ManageAccountScreen.d.ts +3 -2
  120. package/lib/typescript/commonjs/ui/screens/ManageAccountScreen.d.ts.map +1 -1
  121. package/lib/typescript/commonjs/ui/screens/SignInEmailScreen.d.ts +6 -0
  122. package/lib/typescript/commonjs/ui/screens/SignInEmailScreen.d.ts.map +1 -0
  123. package/lib/typescript/commonjs/ui/screens/SignInSecurityScreen.d.ts +6 -0
  124. package/lib/typescript/commonjs/ui/screens/SignInSecurityScreen.d.ts.map +1 -0
  125. package/lib/typescript/module/index.d.ts +4 -0
  126. package/lib/typescript/module/index.d.ts.map +1 -1
  127. package/lib/typescript/module/ui/components/authChooser/types.d.ts +1 -3
  128. package/lib/typescript/module/ui/components/authChooser/types.d.ts.map +1 -1
  129. package/lib/typescript/module/ui/components/signIn/OxyAuthenticatorPanel.d.ts.map +1 -1
  130. package/lib/typescript/module/ui/components/signIn/OxyDeleteAccountPanel.d.ts +3 -2
  131. package/lib/typescript/module/ui/components/signIn/OxyDeleteAccountPanel.d.ts.map +1 -1
  132. package/lib/typescript/module/ui/components/signIn/OxyEmailPanel.d.ts +21 -0
  133. package/lib/typescript/module/ui/components/signIn/OxyEmailPanel.d.ts.map +1 -0
  134. package/lib/typescript/module/ui/components/signIn/OxyLinkCommonsPanel.d.ts +2 -1
  135. package/lib/typescript/module/ui/components/signIn/OxyLinkCommonsPanel.d.ts.map +1 -1
  136. package/lib/typescript/module/ui/components/signIn/OxyPasswordPanel.d.ts +5 -4
  137. package/lib/typescript/module/ui/components/signIn/OxyPasswordPanel.d.ts.map +1 -1
  138. package/lib/typescript/module/ui/components/signIn/OxySignInSecurityPanel.d.ts +25 -0
  139. package/lib/typescript/module/ui/components/signIn/OxySignInSecurityPanel.d.ts.map +1 -0
  140. package/lib/typescript/module/ui/components/signIn/ReauthStep.d.ts +8 -2
  141. package/lib/typescript/module/ui/components/signIn/ReauthStep.d.ts.map +1 -1
  142. package/lib/typescript/module/ui/components/signIn/SessionsSection.d.ts +9 -0
  143. package/lib/typescript/module/ui/components/signIn/SessionsSection.d.ts.map +1 -0
  144. package/lib/typescript/module/ui/components/signIn/accountFlowParts.d.ts.map +1 -1
  145. package/lib/typescript/module/ui/components/signIn/accountSecurityState.d.ts +26 -0
  146. package/lib/typescript/module/ui/components/signIn/accountSecurityState.d.ts.map +1 -0
  147. package/lib/typescript/module/ui/hooks/mutations/useAccountMutations.d.ts +3 -2
  148. package/lib/typescript/module/ui/hooks/mutations/useAccountMutations.d.ts.map +1 -1
  149. package/lib/typescript/module/ui/navigation/routes.d.ts +1 -1
  150. package/lib/typescript/module/ui/navigation/routes.d.ts.map +1 -1
  151. package/lib/typescript/module/ui/navigation/screenComponents.d.ts.map +1 -1
  152. package/lib/typescript/module/ui/navigation/surfaceRegistry.d.ts +2 -0
  153. package/lib/typescript/module/ui/navigation/surfaceRegistry.d.ts.map +1 -1
  154. package/lib/typescript/module/ui/screens/AccountSecurityPanelScreen.d.ts +1 -1
  155. package/lib/typescript/module/ui/screens/AccountSettingsScreen.d.ts.map +1 -1
  156. package/lib/typescript/module/ui/screens/CreateAccountScreen.d.ts.map +1 -1
  157. package/lib/typescript/module/ui/screens/EditProfileFieldScreen.d.ts.map +1 -1
  158. package/lib/typescript/module/ui/screens/ManageAccountScreen.d.ts +3 -2
  159. package/lib/typescript/module/ui/screens/ManageAccountScreen.d.ts.map +1 -1
  160. package/lib/typescript/module/ui/screens/SignInEmailScreen.d.ts +6 -0
  161. package/lib/typescript/module/ui/screens/SignInEmailScreen.d.ts.map +1 -0
  162. package/lib/typescript/module/ui/screens/SignInSecurityScreen.d.ts +6 -0
  163. package/lib/typescript/module/ui/screens/SignInSecurityScreen.d.ts.map +1 -0
  164. package/package.json +6 -6
  165. package/src/index.ts +7 -2
  166. package/src/ui/components/authChooser/__tests__/profileColors.test.ts +13 -0
  167. package/src/ui/components/authChooser/types.ts +16 -15
  168. package/src/ui/components/signIn/OxyAuthenticatorPanel.tsx +11 -8
  169. package/src/ui/components/signIn/OxyDeleteAccountPanel.tsx +15 -16
  170. package/src/ui/components/signIn/OxyEmailPanel.tsx +258 -0
  171. package/src/ui/components/signIn/OxyLinkCommonsPanel.tsx +27 -15
  172. package/src/ui/components/signIn/OxyPasswordPanel.tsx +49 -14
  173. package/src/ui/components/signIn/OxySignInSecurityPanel.tsx +147 -0
  174. package/src/ui/components/signIn/ReauthStep.tsx +13 -4
  175. package/src/ui/components/signIn/SessionsSection.tsx +218 -0
  176. package/src/ui/components/signIn/accountFlowParts.tsx +6 -0
  177. package/src/ui/components/signIn/accountSecurityState.tsx +75 -0
  178. package/src/ui/navigation/routes.ts +5 -1
  179. package/src/ui/navigation/screenComponents.ts +4 -0
  180. package/src/ui/navigation/surfaceRegistry.ts +2 -0
  181. package/src/ui/screens/AccountSecurityPanelScreen.tsx +1 -1
  182. package/src/ui/screens/AccountSettingsScreen.tsx +10 -29
  183. package/src/ui/screens/CreateAccountScreen.tsx +9 -27
  184. package/src/ui/screens/EditProfileFieldScreen.tsx +10 -8
  185. package/src/ui/screens/ManageAccountScreen.tsx +8 -241
  186. package/src/ui/screens/SignInEmailScreen.tsx +13 -0
  187. package/src/ui/screens/SignInSecurityScreen.tsx +19 -0
@@ -0,0 +1,251 @@
1
+ "use strict";
2
+
3
+ Object.defineProperty(exports, "__esModule", {
4
+ value: true
5
+ });
6
+ exports.OxyEmailPanel = void 0;
7
+ var _react = require("react");
8
+ var _toast = require("@oxy.so/bloom/toast");
9
+ var _client = require("@oxy.so/contracts/client");
10
+ var _reactQuery = require("@tanstack/react-query");
11
+ var _oxyRuntimeContext = require("../../context/oxyRuntimeContext.js");
12
+ var _queryKeys = require("../../hooks/queries/queryKeys.js");
13
+ var _useI18n = require("../../hooks/useI18n.js");
14
+ var _primitives = require("../authChooser/primitives.js");
15
+ var _OxyAuthScreen = require("./OxyAuthScreen.js");
16
+ var _ReauthStep = require("./ReauthStep.js");
17
+ var _accountFlowParts = require("./accountFlowParts.js");
18
+ var _accountSecurityState = require("./accountSecurityState.js");
19
+ var _jsxRuntime = require("react/jsx-runtime");
20
+ /**
21
+ * The account's email, from its settings: add one, change it, or remove it.
22
+ *
23
+ * add / change: the new address → a code sent to IT, plus the person's
24
+ * proof (the password, or a code to the current email; + the
25
+ * authenticator's) → saved, and every other session signed out
26
+ *
27
+ * remove: only with a password set, confirmed with that password (+ the
28
+ * authenticator's) → the account signs in, and is recovered, with its
29
+ * password alone
30
+ *
31
+ * Sign-in codes, links and security notices go to this address. An account
32
+ * with a Commons key has no email; this panel says so instead.
33
+ */
34
+
35
+ const OxyEmailPanel = ({
36
+ onDone
37
+ }) => {
38
+ const {
39
+ t
40
+ } = (0, _useI18n.useI18n)();
41
+ const {
42
+ oxyServices,
43
+ user
44
+ } = (0, _oxyRuntimeContext.useOxy)();
45
+ const queryClient = (0, _reactQuery.useQueryClient)();
46
+ const security = (0, _accountSecurityState.useAccountSecurityState)();
47
+ const [step, setStep] = (0, _react.useState)({
48
+ name: 'status'
49
+ });
50
+ const [address, setAddress] = (0, _react.useState)('');
51
+ const [code, setCode] = (0, _react.useState)('');
52
+ const [pending, setPending] = (0, _react.useState)(false);
53
+ const [error, setError] = (0, _react.useState)(null);
54
+ if (security.keyed) {
55
+ return /*#__PURE__*/(0, _jsxRuntime.jsx)(_OxyAuthScreen.OxyAuthScreen, {
56
+ children: /*#__PURE__*/(0, _jsxRuntime.jsx)(_OxyAuthScreen.OxyAuthScreenHeader, {
57
+ title: t('signInSecurity.email.title'),
58
+ description: t('linkCommons.already')
59
+ })
60
+ });
61
+ }
62
+ const fallback = (0, _accountSecurityState.accountSecurityFallback)(security, t('signInSecurity.email.title'), t);
63
+ if (fallback || !security.methods.data) return fallback;
64
+ const {
65
+ hasEmail,
66
+ hasPassword,
67
+ totpEnabled
68
+ } = security.methods.data;
69
+ const current = hasEmail ? user?.email ?? null : null;
70
+ const finish = message => {
71
+ void queryClient.invalidateQueries({
72
+ queryKey: _queryKeys.queryKeys.signInMethods.all
73
+ });
74
+ void queryClient.invalidateQueries({
75
+ queryKey: _queryKeys.queryKeys.accounts.all
76
+ });
77
+ _toast.toast.success(message);
78
+ setStep({
79
+ name: 'status'
80
+ });
81
+ setAddress('');
82
+ setCode('');
83
+ onDone?.();
84
+ };
85
+ const sendCode = email => {
86
+ if (pending) return;
87
+ setError(null);
88
+ setPending(true);
89
+ oxyServices.auth.email.startChange(email).then(started => {
90
+ setCode('');
91
+ setStep({
92
+ name: 'confirm',
93
+ email,
94
+ verificationId: started.verificationId
95
+ });
96
+ }).catch(reason => setError((0, _accountFlowParts.describeSignInError)(reason, t))).finally(() => setPending(false));
97
+ };
98
+ const submitAddress = () => {
99
+ const email = (0, _client.checkContract)(_client.emailAddressCheck, address);
100
+ if (!email) {
101
+ setError(t('signInSecurity.email.invalid'));
102
+ return;
103
+ }
104
+ if (email === current) {
105
+ setError(t('signInSecurity.errors.emailUnchanged'));
106
+ return;
107
+ }
108
+ sendCode(email);
109
+ };
110
+ switch (step.name) {
111
+ case 'address':
112
+ return /*#__PURE__*/(0, _jsxRuntime.jsxs)(_OxyAuthScreen.OxyAuthScreen, {
113
+ children: [/*#__PURE__*/(0, _jsxRuntime.jsx)(_OxyAuthScreen.OxyAuthScreenHeader, {
114
+ title: hasEmail ? t('signInSecurity.email.change') : t('signInSecurity.email.add'),
115
+ description: t('signInSecurity.email.newDescription')
116
+ }), /*#__PURE__*/(0, _jsxRuntime.jsx)(_accountFlowParts.AccountFlowField, {
117
+ label: t('signInSecurity.email.newLabel'),
118
+ value: address,
119
+ onChange: value => {
120
+ setAddress(value);
121
+ if (error) setError(null);
122
+ },
123
+ onSubmit: submitAddress,
124
+ error: error,
125
+ disabled: pending,
126
+ autoComplete: "email",
127
+ keyboardType: "email-address",
128
+ testID: "email-new"
129
+ }), /*#__PURE__*/(0, _jsxRuntime.jsx)(_accountFlowParts.AccountFlowAction, {
130
+ label: t('signInSecurity.email.sendCode'),
131
+ onPress: submitAddress,
132
+ pending: pending,
133
+ testID: "email-send-code"
134
+ }), /*#__PURE__*/(0, _jsxRuntime.jsx)(_primitives.SubtleLink, {
135
+ label: t('common.cancel'),
136
+ onPress: () => {
137
+ setError(null);
138
+ setStep({
139
+ name: 'status'
140
+ });
141
+ },
142
+ disabled: pending,
143
+ testID: "email-cancel"
144
+ })]
145
+ });
146
+ case 'confirm':
147
+ return /*#__PURE__*/(0, _jsxRuntime.jsxs)(_ReauthStep.ReauthStep, {
148
+ title: t('signInSecurity.email.confirmTitle'),
149
+ description: t('signInSecurity.email.confirmDescription', {
150
+ email: step.email
151
+ }),
152
+ action: "change_email",
153
+ allowPassword: hasPassword,
154
+ allowEmail: hasEmail,
155
+ totpEnabled: totpEnabled,
156
+ submitLabel: t('signInSecurity.email.save'),
157
+ validate: () => code.replace(/\D/g, '').length === _client.EMAIL_CODE_LENGTH ? null : t('emailCode.errors.codeInvalid'),
158
+ onSubmit: async reauth => {
159
+ await oxyServices.auth.email.change({
160
+ email: step.email,
161
+ verificationId: step.verificationId,
162
+ code: code.replace(/\D/g, ''),
163
+ reauth
164
+ });
165
+ finish(t('signInSecurity.email.saved'));
166
+ },
167
+ secondary: {
168
+ label: t('common.cancel'),
169
+ onPress: () => setStep({
170
+ name: 'status'
171
+ })
172
+ },
173
+ children: [/*#__PURE__*/(0, _jsxRuntime.jsx)(_accountFlowParts.AccountFlowCodeField, {
174
+ label: t('signInSecurity.email.codeLabel'),
175
+ value: code,
176
+ onChange: setCode,
177
+ error: null,
178
+ length: _client.EMAIL_CODE_LENGTH,
179
+ testID: "email-new-code"
180
+ }), /*#__PURE__*/(0, _jsxRuntime.jsx)(_primitives.SubtleLink, {
181
+ label: t('emailCode.resend'),
182
+ onPress: () => sendCode(step.email),
183
+ disabled: pending,
184
+ testID: "email-new-code-resend"
185
+ }), error ? /*#__PURE__*/(0, _jsxRuntime.jsx)(_accountFlowParts.AccountFlowNotice, {
186
+ type: "error",
187
+ testID: "email-new-code-error",
188
+ children: error
189
+ }) : null]
190
+ });
191
+ case 'remove':
192
+ return /*#__PURE__*/(0, _jsxRuntime.jsx)(_ReauthStep.ReauthStep, {
193
+ title: t('signInSecurity.email.removeTitle'),
194
+ description: t('signInSecurity.email.removeDescription'),
195
+ action: "change_email"
196
+ // Confirmed with the password it will rely on, never the mailbox it loses.
197
+ ,
198
+ allowPassword: true,
199
+ allowEmail: false,
200
+ totpEnabled: totpEnabled,
201
+ submitLabel: t('signInSecurity.email.remove'),
202
+ destructive: true,
203
+ onSubmit: async reauth => {
204
+ await oxyServices.auth.email.remove(reauth);
205
+ finish(t('signInSecurity.email.removed'));
206
+ },
207
+ secondary: {
208
+ label: t('common.cancel'),
209
+ onPress: () => setStep({
210
+ name: 'status'
211
+ })
212
+ }
213
+ });
214
+ default:
215
+ return /*#__PURE__*/(0, _jsxRuntime.jsxs)(_OxyAuthScreen.OxyAuthScreen, {
216
+ children: [/*#__PURE__*/(0, _jsxRuntime.jsx)(_OxyAuthScreen.OxyAuthScreenHeader, {
217
+ title: t('signInSecurity.email.title'),
218
+ description: hasEmail ? t('signInSecurity.email.description') : t('signInSecurity.email.noneDescription')
219
+ }), current ? /*#__PURE__*/(0, _jsxRuntime.jsx)(_accountFlowParts.AccountFlowNote, {
220
+ testID: "email-current",
221
+ children: current
222
+ }) : null, !hasEmail ? /*#__PURE__*/(0, _jsxRuntime.jsx)(_accountFlowParts.AccountFlowNotice, {
223
+ type: "warning",
224
+ testID: "email-none-warning",
225
+ children: t('signInSecurity.noEmailWarning')
226
+ }) : null, /*#__PURE__*/(0, _jsxRuntime.jsx)(_accountFlowParts.AccountFlowAction, {
227
+ label: hasEmail ? t('signInSecurity.email.change') : t('signInSecurity.email.add'),
228
+ onPress: () => {
229
+ setError(null);
230
+ setAddress('');
231
+ setStep({
232
+ name: 'address'
233
+ });
234
+ },
235
+ pending: false,
236
+ testID: "email-change"
237
+ }), hasEmail && hasPassword ? /*#__PURE__*/(0, _jsxRuntime.jsx)(_primitives.SubtleLink, {
238
+ label: t('signInSecurity.email.remove'),
239
+ onPress: () => setStep({
240
+ name: 'remove'
241
+ }),
242
+ testID: "remove-email-link"
243
+ }) : null, hasEmail && !hasPassword ? /*#__PURE__*/(0, _jsxRuntime.jsx)(_accountFlowParts.AccountFlowNote, {
244
+ testID: "email-remove-needs-password",
245
+ children: t('signInSecurity.email.removeNeedsPassword')
246
+ }) : null]
247
+ });
248
+ }
249
+ };
250
+ exports.OxyEmailPanel = OxyEmailPanel;
251
+ //# sourceMappingURL=OxyEmailPanel.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"names":["_react","require","_toast","_client","_reactQuery","_oxyRuntimeContext","_queryKeys","_useI18n","_primitives","_OxyAuthScreen","_ReauthStep","_accountFlowParts","_accountSecurityState","_jsxRuntime","OxyEmailPanel","onDone","t","useI18n","oxyServices","user","useOxy","queryClient","useQueryClient","security","useAccountSecurityState","step","setStep","useState","name","address","setAddress","code","setCode","pending","setPending","error","setError","keyed","jsx","OxyAuthScreen","children","OxyAuthScreenHeader","title","description","fallback","accountSecurityFallback","methods","data","hasEmail","hasPassword","totpEnabled","current","email","finish","message","invalidateQueries","queryKey","queryKeys","signInMethods","all","accounts","toast","success","sendCode","auth","startChange","then","started","verificationId","catch","reason","describeSignInError","finally","submitAddress","checkContract","emailAddressCheck","jsxs","AccountFlowField","label","value","onChange","onSubmit","disabled","autoComplete","keyboardType","testID","AccountFlowAction","onPress","SubtleLink","ReauthStep","action","allowPassword","allowEmail","submitLabel","validate","replace","length","EMAIL_CODE_LENGTH","reauth","change","secondary","AccountFlowCodeField","AccountFlowNotice","type","destructive","remove","AccountFlowNote","exports"],"sourceRoot":"../../../../../src","sources":["ui/components/signIn/OxyEmailPanel.tsx"],"mappings":"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","ignoreList":[]}
@@ -13,11 +13,11 @@ var _theme = require("@oxy.so/bloom/theme");
13
13
  var _typography = require("@oxy.so/bloom/typography");
14
14
  var _oxyRuntimeContext = require("../../context/oxyRuntimeContext.js");
15
15
  var _identityCrypto = require("../../utils/identityCrypto.js");
16
- var _useAuthMethods = require("../../hooks/queries/useAuthMethods.js");
17
16
  var _useI18n = require("../../hooks/useI18n.js");
18
17
  var _OxyAuthScreen = require("./OxyAuthScreen.js");
19
18
  var _ReauthStep = require("./ReauthStep.js");
20
19
  var _accountFlowParts = require("./accountFlowParts.js");
20
+ var _accountSecurityState = require("./accountSecurityState.js");
21
21
  var _jsxRuntime = require("react/jsx-runtime");
22
22
  function _interopRequireDefault(e) { return e && e.__esModule ? e : { default: e }; }
23
23
  /**
@@ -26,7 +26,8 @@ function _interopRequireDefault(e) { return e && e.__esModule ? e : { default: e
26
26
  *
27
27
  * QR → Commons scans and signs with its key → both screens show the same
28
28
  * code → the person confirms it's them with a code sent to the account's
29
- * email (+ the authenticator's code) → linked
29
+ * email, or its password when it has none (+ the authenticator's code) →
30
+ * linked
30
31
  *
31
32
  * Afterwards the account is self-custodied: its root is the key Commons holds,
32
33
  * its email, password and authenticator are deleted, and its phrase in Commons
@@ -48,17 +49,14 @@ const OxyLinkCommonsPanel = ({
48
49
  t
49
50
  } = (0, _useI18n.useI18n)();
50
51
  const {
51
- user,
52
52
  oxyServices
53
53
  } = (0, _oxyRuntimeContext.useOxy)();
54
54
  const [step, setStep] = (0, _react.useState)({
55
55
  name: 'opening'
56
56
  });
57
57
  const [error, setError] = (0, _react.useState)(null);
58
- const alreadyLinked = Boolean(user?.publicKey);
59
- const methods = (0, _useAuthMethods.useSignInMethods)({
60
- enabled: !alreadyLinked
61
- });
58
+ const security = (0, _accountSecurityState.useAccountSecurityState)();
59
+ const alreadyLinked = security.keyed;
62
60
  const open = (0, _react.useCallback)(() => {
63
61
  setError(null);
64
62
  setStep({
@@ -78,10 +76,10 @@ const OxyLinkCommonsPanel = ({
78
76
  // One request per visit, opened once the page knows the account has no root.
79
77
  const opened = (0, _react.useRef)(false);
80
78
  (0, _react.useEffect)(() => {
81
- if (alreadyLinked || opened.current) return;
79
+ if (alreadyLinked || !security.personal || opened.current) return;
82
80
  opened.current = true;
83
81
  open();
84
- }, [alreadyLinked, open]);
82
+ }, [alreadyLinked, security.personal, open]);
85
83
 
86
84
  // While the QR shows, ask whether Commons has signed; a request only lives a
87
85
  // few minutes, and an expired one says so instead of waiting forever.
@@ -143,32 +141,41 @@ const OxyLinkCommonsPanel = ({
143
141
  })
144
142
  });
145
143
  }
144
+ if (!security.personal) return (0, _accountSecurityState.accountSecurityFallback)(security, t('linkCommons.title'), t);
146
145
  switch (step.name) {
147
146
  case 'confirm':
148
- return /*#__PURE__*/(0, _jsxRuntime.jsx)(_ReauthStep.ReauthStep, {
149
- title: t('linkCommons.confirmTitle'),
150
- description: t('linkCommons.confirmDescription'),
151
- action: "link_commons",
152
- totpEnabled: methods.data?.totpEnabled ?? false,
153
- submitLabel: t('linkCommons.confirm'),
154
- onSubmit: async proof => {
155
- if (!proof.emailCode) throw new Error(t('reauth.errors.invalid'));
156
- await oxyServices.identity.links.complete(step.link.linkId, {
157
- emailCode: proof.emailCode,
158
- ...(proof.totpCode ? {
159
- totpCode: proof.totpCode
160
- } : {})
161
- });
162
- setStep({
163
- name: 'done'
164
- });
165
- onLinked?.();
166
- },
167
- secondary: {
168
- label: t('linkCommons.cancel'),
169
- onPress: () => cancel(step.link)
170
- }
171
- });
147
+ {
148
+ // The proof depends on what the account has: wait for it rather than
149
+ // guess (an authenticator left out would only fail the confirmation).
150
+ const fallback = (0, _accountSecurityState.accountSecurityFallback)(security, t('linkCommons.confirmTitle'), t);
151
+ if (fallback || !security.methods.data) return fallback;
152
+ const {
153
+ hasEmail,
154
+ totpEnabled
155
+ } = security.methods.data;
156
+ return /*#__PURE__*/(0, _jsxRuntime.jsx)(_ReauthStep.ReauthStep, {
157
+ title: t('linkCommons.confirmTitle'),
158
+ description: hasEmail ? t('linkCommons.confirmDescription') : t('linkCommons.confirmPasswordDescription'),
159
+ action: "link_commons"
160
+ // The mailbox proves it when there is one; the password only without.
161
+ ,
162
+ allowPassword: !hasEmail,
163
+ allowEmail: hasEmail,
164
+ totpEnabled: totpEnabled,
165
+ submitLabel: t('linkCommons.confirm'),
166
+ onSubmit: async proof => {
167
+ await oxyServices.identity.links.complete(step.link.linkId, proof);
168
+ setStep({
169
+ name: 'done'
170
+ });
171
+ onLinked?.();
172
+ },
173
+ secondary: {
174
+ label: t('linkCommons.cancel'),
175
+ onPress: () => cancel(step.link)
176
+ }
177
+ });
178
+ }
172
179
  case 'done':
173
180
  return /*#__PURE__*/(0, _jsxRuntime.jsx)(_OxyAuthScreen.OxyAuthScreen, {
174
181
  children: /*#__PURE__*/(0, _jsxRuntime.jsx)(_OxyAuthScreen.OxyAuthScreenHeader, {
@@ -1 +1 @@
1
- {"version":3,"names":["_react","require","_reactNative","_reactNativeQrcodeSvg","_interopRequireDefault","_button","_loading","_theme","_typography","_oxyRuntimeContext","_identityCrypto","_useAuthMethods","_useI18n","_OxyAuthScreen","_ReauthStep","_accountFlowParts","_jsxRuntime","e","__esModule","default","IDENTITY_LINK_POLL_MS","exports","QR_PLATE_BG","QR_FOREGROUND","QR_SIZE","OxyLinkCommonsPanel","onLinked","theme","useTheme","t","useI18n","user","oxyServices","useOxy","step","setStep","useState","name","error","setError","alreadyLinked","Boolean","publicKey","methods","useSignInMethods","enabled","open","useCallback","identity","links","create","then","link","catch","reason","describeSignInError","opened","useRef","useEffect","current","stopped","poll","Date","now","expiresAt","state","get","linkId","status","deriveIdentityLinkCode","loadIdentityCrypto","code","timer","setTimeout","clearTimeout","cancel","cancelled","undefined","jsx","OxyAuthScreen","children","OxyAuthScreenHeader","title","description","ReauthStep","action","totpEnabled","data","submitLabel","onSubmit","proof","emailCode","Error","complete","totpCode","secondary","label","onPress","jsxs","AccountFlowErrorLine","message","AccountFlowAction","pending","testID","Text","accessibilityLabel","split","join","style","styles","color","colors","text","slice","Button","appearance","tone","size","fullWidth","View","plateRow","plate","borderColor","border","value","qrPayload","backgroundColor","AccountFlowNote","Loading","variant","StyleSheet","alignItems","padding","borderRadius","borderWidth","hairlineWidth","fontSize","lineHeight","fontWeight","letterSpacing","textAlign"],"sourceRoot":"../../../../../src","sources":["ui/components/signIn/OxyLinkCommonsPanel.tsx"],"mappings":";;;;;;AAcA,IAAAA,MAAA,GAAAC,OAAA;AACA,IAAAC,YAAA,GAAAD,OAAA;AACA,IAAAE,qBAAA,GAAAC,sBAAA,CAAAH,OAAA;AACA,IAAAI,OAAA,GAAAJ,OAAA;AACA,IAAAK,QAAA,GAAAL,OAAA;AACA,IAAAM,MAAA,GAAAN,OAAA;AACA,IAAAO,WAAA,GAAAP,OAAA;AAEA,IAAAQ,kBAAA,GAAAR,OAAA;AACA,IAAAS,eAAA,GAAAT,OAAA;AACA,IAAAU,eAAA,GAAAV,OAAA;AACA,IAAAW,QAAA,GAAAX,OAAA;AACA,IAAAY,cAAA,GAAAZ,OAAA;AACA,IAAAa,WAAA,GAAAb,OAAA;AACA,IAAAc,iBAAA,GAAAd,OAAA;AAK4B,IAAAe,WAAA,GAAAf,OAAA;AAAA,SAAAG,uBAAAa,CAAA,WAAAA,CAAA,IAAAA,CAAA,CAAAC,UAAA,GAAAD,CAAA,KAAAE,OAAA,EAAAF,CAAA;AAjC5B;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAwBA;AACO,MAAMG,qBAAqB,GAAAC,OAAA,CAAAD,qBAAA,GAAG,IAAI;;AAEzC;AACA,MAAME,WAAW,GAAG,SAAS;AAC7B,MAAMC,aAAa,GAAG,SAAS;AAC/B,MAAMC,OAAO,GAAG,GAAG;AAeZ,MAAMC,mBAAuD,GAAGA,CAAC;EAAEC;AAAS,CAAC,KAAK;EACvF,MAAMC,KAAK,GAAG,IAAAC,eAAQ,EAAC,CAAC;EACxB,MAAM;IAAEC;EAAE,CAAC,GAAG,IAAAC,gBAAO,EAAC,CAAC;EACvB,MAAM;IAAEC,IAAI;IAAEC;EAAY,CAAC,GAAG,IAAAC,yBAAM,EAAC,CAAC;EACtC,MAAM,CAACC,IAAI,EAAEC,OAAO,CAAC,GAAG,IAAAC,eAAQ,EAAO;IAAEC,IAAI,EAAE;EAAU,CAAC,CAAC;EAC3D,MAAM,CAACC,KAAK,EAAEC,QAAQ,CAAC,GAAG,IAAAH,eAAQ,EAAgB,IAAI,CAAC;EACvD,MAAMI,aAAa,GAAGC,OAAO,CAACV,IAAI,EAAEW,SAAS,CAAC;EAC9C,MAAMC,OAAO,GAAG,IAAAC,gCAAgB,EAAC;IAAEC,OAAO,EAAE,CAACL;EAAc,CAAC,CAAC;EAE7D,MAAMM,IAAI,GAAG,IAAAC,kBAAW,EAAC,MAAM;IAC7BR,QAAQ,CAAC,IAAI,CAAC;IACdJ,OAAO,CAAC;MAAEE,IAAI,EAAE;IAAU,CAAC,CAAC;IAC5BL,WAAW,CAACgB,QAAQ,CAACC,KAAK,CACvBC,MAAM,CAAC,CAAC,CACRC,IAAI,CAAEC,IAAI,IAAKjB,OAAO,CAAC;MAAEE,IAAI,EAAE,IAAI;MAAEe;IAAK,CAAC,CAAC,CAAC,CAC7CC,KAAK,CAAEC,MAAe,IAAK;MAC1Bf,QAAQ,CAAC,IAAAgB,qCAAmB,EAACD,MAAM,EAAEzB,CAAC,CAAC,CAAC;MACxCM,OAAO,CAAC;QAAEE,IAAI,EAAE;MAAU,CAAC,CAAC;IAC9B,CAAC,CAAC;EACN,CAAC,EAAE,CAACL,WAAW,EAAEH,CAAC,CAAC,CAAC;;EAEpB;EACA,MAAM2B,MAAM,GAAG,IAAAC,aAAM,EAAC,KAAK,CAAC;EAC5B,IAAAC,gBAAS,EAAC,MAAM;IACd,IAAIlB,aAAa,IAAIgB,MAAM,CAACG,OAAO,EAAE;IACrCH,MAAM,CAACG,OAAO,GAAG,IAAI;IACrBb,IAAI,CAAC,CAAC;EACR,CAAC,EAAE,CAACN,aAAa,EAAEM,IAAI,CAAC,CAAC;;EAEzB;EACA;EACA,MAAMM,IAAI,GAAGlB,IAAI,CAACG,IAAI,KAAK,IAAI,GAAGH,IAAI,CAACkB,IAAI,GAAG,IAAI;EAClD,IAAAM,gBAAS,EAAC,MAAM;IACd,IAAI,CAACN,IAAI,EAAE;IACX,IAAIQ,OAAO,GAAG,KAAK;IACnB,MAAMC,IAAI,GAAG,MAAAA,CAAA,KAAY;MACvB,IAAID,OAAO,EAAE;MACb,IAAIE,IAAI,CAACC,GAAG,CAAC,CAAC,IAAIX,IAAI,CAACY,SAAS,EAAE;QAChC7B,OAAO,CAAC;UAAEE,IAAI,EAAE;QAAU,CAAC,CAAC;QAC5B;MACF;MACA,IAAI;QACF,MAAM4B,KAAK,GAAG,MAAMjC,WAAW,CAACgB,QAAQ,CAACC,KAAK,CAACiB,GAAG,CAACd,IAAI,CAACe,MAAM,CAAC;QAC/D,IAAIP,OAAO,EAAE;QACb,IAAIK,KAAK,CAACG,MAAM,KAAK,QAAQ,IAAIH,KAAK,CAACvB,SAAS,EAAE;UAChD,MAAM;YAAE2B;UAAuB,CAAC,GAAG,MAAM,IAAAC,kCAAkB,EAAC,CAAC;UAC7D,IAAIV,OAAO,EAAE;UACbzB,OAAO,CAAC;YACNE,IAAI,EAAE,UAAU;YAChBe,IAAI;YACJmB,IAAI,EAAEF,sBAAsB,CAACjB,IAAI,CAACe,MAAM,EAAEF,KAAK,CAACvB,SAAS;UAC3D,CAAC,CAAC;UACF;QACF;QACA,IAAIuB,KAAK,CAACG,MAAM,KAAK,WAAW,EAAE;UAChCjC,OAAO,CAAC;YAAEE,IAAI,EAAE;UAAU,CAAC,CAAC;UAC5B;QACF;MACF,CAAC,CAAC,MAAM;QACN;MAAA;MAEF,IAAI,CAACuB,OAAO,EAAEY,KAAK,GAAGC,UAAU,CAAC,MAAM,KAAKZ,IAAI,CAAC,CAAC,EAAEzC,qBAAqB,CAAC;IAC5E,CAAC;IACD,IAAIoD,KAAK,GAAGC,UAAU,CAAC,MAAM,KAAKZ,IAAI,CAAC,CAAC,EAAEzC,qBAAqB,CAAC;IAChE,OAAO,MAAM;MACXwC,OAAO,GAAG,IAAI;MACdc,YAAY,CAACF,KAAK,CAAC;IACrB,CAAC;EACH,CAAC,EAAE,CAACpB,IAAI,EAAEpB,WAAW,CAAC,CAAC;EAEvB,MAAM2C,MAAM,GAAIC,SAAqC,IAAK;IACxD,KAAK5C,WAAW,CAACgB,QAAQ,CAACC,KAAK,CAAC0B,MAAM,CAACC,SAAS,CAACT,MAAM,CAAC,CAACd,KAAK,CAAC,MAAMwB,SAAS,CAAC;IAC/E1C,OAAO,CAAC;MAAEE,IAAI,EAAE;IAAU,CAAC,CAAC;EAC9B,CAAC;EAED,IAAIG,aAAa,EAAE;IACjB,oBACE,IAAAxB,WAAA,CAAA8D,GAAA,EAACjE,cAAA,CAAAkE,aAAa;MAAAC,QAAA,eACZ,IAAAhE,WAAA,CAAA8D,GAAA,EAACjE,cAAA,CAAAoE,mBAAmB;QAClBC,KAAK,EAAErD,CAAC,CAAC,mBAAmB,CAAE;QAC9BsD,WAAW,EAAEtD,CAAC,CAAC,qBAAqB;MAAE,CACvC;IAAC,CACW,CAAC;EAEpB;EAEA,QAAQK,IAAI,CAACG,IAAI;IACf,KAAK,SAAS;MACZ,oBACE,IAAArB,WAAA,CAAA8D,GAAA,EAAChE,WAAA,CAAAsE,UAAU;QACTF,KAAK,EAAErD,CAAC,CAAC,0BAA0B,CAAE;QACrCsD,WAAW,EAAEtD,CAAC,CAAC,gCAAgC,CAAE;QACjDwD,MAAM,EAAC,cAAc;QACrBC,WAAW,EAAE3C,OAAO,CAAC4C,IAAI,EAAED,WAAW,IAAI,KAAM;QAChDE,WAAW,EAAE3D,CAAC,CAAC,qBAAqB,CAAE;QACtC4D,QAAQ,EAAE,MAAOC,KAAK,IAAK;UACzB,IAAI,CAACA,KAAK,CAACC,SAAS,EAAE,MAAM,IAAIC,KAAK,CAAC/D,CAAC,CAAC,uBAAuB,CAAC,CAAC;UACjE,MAAMG,WAAW,CAACgB,QAAQ,CAACC,KAAK,CAAC4C,QAAQ,CAAC3D,IAAI,CAACkB,IAAI,CAACe,MAAM,EAAE;YAC1DwB,SAAS,EAAED,KAAK,CAACC,SAAS;YAC1B,IAAID,KAAK,CAACI,QAAQ,GAAG;cAAEA,QAAQ,EAAEJ,KAAK,CAACI;YAAS,CAAC,GAAG,CAAC,CAAC;UACxD,CAAC,CAAC;UACF3D,OAAO,CAAC;YAAEE,IAAI,EAAE;UAAO,CAAC,CAAC;UACzBX,QAAQ,GAAG,CAAC;QACd,CAAE;QACFqE,SAAS,EAAE;UAAEC,KAAK,EAAEnE,CAAC,CAAC,oBAAoB,CAAC;UAAEoE,OAAO,EAAEA,CAAA,KAAMtB,MAAM,CAACzC,IAAI,CAACkB,IAAI;QAAE;MAAE,CACjF,CAAC;IAEN,KAAK,MAAM;MACT,oBACE,IAAApC,WAAA,CAAA8D,GAAA,EAACjE,cAAA,CAAAkE,aAAa;QAAAC,QAAA,eACZ,IAAAhE,WAAA,CAAA8D,GAAA,EAACjE,cAAA,CAAAoE,mBAAmB;UAClBC,KAAK,EAAErD,CAAC,CAAC,uBAAuB,CAAE;UAClCsD,WAAW,EAAEtD,CAAC,CAAC,kBAAkB;QAAE,CACpC;MAAC,CACW,CAAC;IAEpB,KAAK,SAAS;MACZ,oBACE,IAAAb,WAAA,CAAAkF,IAAA,EAACrF,cAAA,CAAAkE,aAAa;QAAAC,QAAA,gBACZ,IAAAhE,WAAA,CAAA8D,GAAA,EAACjE,cAAA,CAAAoE,mBAAmB;UAClBC,KAAK,EAAErD,CAAC,CAAC,mBAAmB,CAAE;UAC9BsD,WAAW,EAAEtD,CAAC,CAAC,qBAAqB;QAAE,CACvC,CAAC,EACDS,KAAK,gBAAG,IAAAtB,WAAA,CAAA8D,GAAA,EAAC/D,iBAAA,CAAAoF,oBAAoB;UAACC,OAAO,EAAE9D;QAAM,CAAE,CAAC,GAAG,IAAI,eACxD,IAAAtB,WAAA,CAAA8D,GAAA,EAAC/D,iBAAA,CAAAsF,iBAAiB;UAChBL,KAAK,EAAEnE,CAAC,CAAC,mBAAmB,CAAE;UAC9BoE,OAAO,EAAEnD,IAAK;UACdwD,OAAO,EAAE,KAAM;UACfC,MAAM,EAAC;QAAoB,CAC5B,CAAC;MAAA,CACW,CAAC;IAEpB,KAAK,UAAU;MACb,oBACE,IAAAvF,WAAA,CAAAkF,IAAA,EAACrF,cAAA,CAAAkE,aAAa;QAAAC,QAAA,gBACZ,IAAAhE,WAAA,CAAA8D,GAAA,EAACjE,cAAA,CAAAoE,mBAAmB;UAClBC,KAAK,EAAErD,CAAC,CAAC,0BAA0B,CAAE;UACrCsD,WAAW,EAAEtD,CAAC,CAAC,qBAAqB;QAAE,CACvC,CAAC,eACF,IAAAb,WAAA,CAAA8D,GAAA,EAACtE,WAAA,CAAAgG,IAAI;UACHC,kBAAkB,EAAEvE,IAAI,CAACqC,IAAI,CAACmC,KAAK,CAAC,EAAE,CAAC,CAACC,IAAI,CAAC,GAAG,CAAE;UAClDC,KAAK,EAAE,CAACC,MAAM,CAACtC,IAAI,EAAE;YAAEuC,KAAK,EAAEnF,KAAK,CAACoF,MAAM,CAACC;UAAK,CAAC,CAAE;UACnDT,MAAM,EAAC,mBAAmB;UAAAvB,QAAA,EAEzB,GAAG9C,IAAI,CAACqC,IAAI,CAAC0C,KAAK,CAAC,CAAC,EAAE,CAAC,CAAC,IAAI/E,IAAI,CAACqC,IAAI,CAAC0C,KAAK,CAAC,CAAC,CAAC;QAAE,CAC7C,CAAC,eACP,IAAAjG,WAAA,CAAA8D,GAAA,EAAC/D,iBAAA,CAAAsF,iBAAiB;UAChBL,KAAK,EAAEnE,CAAC,CAAC,qBAAqB,CAAE;UAChCoE,OAAO,EAAEA,CAAA,KAAM9D,OAAO,CAAC;YAAEE,IAAI,EAAE,SAAS;YAAEe,IAAI,EAAElB,IAAI,CAACkB;UAAK,CAAC,CAAE;UAC7DkD,OAAO,EAAE,KAAM;UACfC,MAAM,EAAC;QAAsB,CAC9B,CAAC,eACF,IAAAvF,WAAA,CAAA8D,GAAA,EAACzE,OAAA,CAAA6G,MAAM;UACLC,UAAU,EAAC,OAAO;UAClBC,IAAI,EAAC,SAAS;UACdC,IAAI,EAAC,IAAI;UACTC,SAAS;UACTrB,OAAO,EAAEA,CAAA,KAAMtB,MAAM,CAACzC,IAAI,CAACkB,IAAI,CAAE;UACjCmD,MAAM,EAAC,qBAAqB;UAAAvB,QAAA,EAE3BnD,CAAC,CAAC,oBAAoB;QAAC,CAClB,CAAC;MAAA,CACI,CAAC;IAEpB,KAAK,IAAI;MACP,oBACE,IAAAb,WAAA,CAAAkF,IAAA,EAACrF,cAAA,CAAAkE,aAAa;QAAAC,QAAA,gBACZ,IAAAhE,WAAA,CAAA8D,GAAA,EAACjE,cAAA,CAAAoE,mBAAmB;UAClBC,KAAK,EAAErD,CAAC,CAAC,mBAAmB,CAAE;UAC9BsD,WAAW,EAAEtD,CAAC,CAAC,sBAAsB;QAAE,CACxC,CAAC,eACF,IAAAb,WAAA,CAAA8D,GAAA,EAAC5E,YAAA,CAAAqH,IAAI;UAACX,KAAK,EAAEC,MAAM,CAACW,QAAS;UAAAxC,QAAA,eAC3B,IAAAhE,WAAA,CAAA8D,GAAA,EAAC5E,YAAA,CAAAqH,IAAI;YACHX,KAAK,EAAE,CAACC,MAAM,CAACY,KAAK,EAAE;cAAEC,WAAW,EAAE/F,KAAK,CAACoF,MAAM,CAACY;YAAO,CAAC,CAAE;YAC5DpB,MAAM,EAAC,iBAAiB;YAAAvB,QAAA,eAExB,IAAAhE,WAAA,CAAA8D,GAAA,EAAC3E,qBAAA,CAAAgB,OAAM;cACLyG,KAAK,EAAE1F,IAAI,CAACkB,IAAI,CAACyE,SAAU;cAC3BR,IAAI,EAAE7F,OAAQ;cACdsG,eAAe,EAAExG,WAAY;cAC7BwF,KAAK,EAAEvF;YAAc,CACtB;UAAC,CACE;QAAC,CACH,CAAC,eACP,IAAAP,WAAA,CAAA8D,GAAA,EAAC/D,iBAAA,CAAAgH,eAAe;UAAA/C,QAAA,EAAEnD,CAAC,CAAC,kBAAkB;QAAC,CAAkB,CAAC,eAC1D,IAAAb,WAAA,CAAA8D,GAAA,EAAC/D,iBAAA,CAAAgH,eAAe;UAAA/C,QAAA,EAAEnD,CAAC,CAAC,qBAAqB;QAAC,CAAkB,CAAC,eAC7D,IAAAb,WAAA,CAAA8D,GAAA,EAACzE,OAAA,CAAA6G,MAAM;UACLC,UAAU,EAAC,OAAO;UAClBC,IAAI,EAAC,SAAS;UACdC,IAAI,EAAC,IAAI;UACTC,SAAS;UACTrB,OAAO,EAAEA,CAAA,KAAMtB,MAAM,CAACzC,IAAI,CAACkB,IAAI,CAAE;UACjCmD,MAAM,EAAC,qBAAqB;UAAAvB,QAAA,EAE3BnD,CAAC,CAAC,oBAAoB;QAAC,CAClB,CAAC;MAAA,CACI,CAAC;IAEpB;MACE,oBACE,IAAAb,WAAA,CAAAkF,IAAA,EAACrF,cAAA,CAAAkE,aAAa;QAAAC,QAAA,gBACZ,IAAAhE,WAAA,CAAA8D,GAAA,EAACjE,cAAA,CAAAoE,mBAAmB;UAClBC,KAAK,EAAErD,CAAC,CAAC,mBAAmB,CAAE;UAC9BsD,WAAW,EAAEtD,CAAC,CAAC,sBAAsB;QAAE,CACxC,CAAC,eACF,IAAAb,WAAA,CAAA8D,GAAA,EAAC5E,YAAA,CAAAqH,IAAI;UAACX,KAAK,EAAEC,MAAM,CAACW,QAAS;UAAAxC,QAAA,eAC3B,IAAAhE,WAAA,CAAA8D,GAAA,EAACxE,QAAA,CAAA0H,OAAO;YAACC,OAAO,EAAC,SAAS;YAACZ,IAAI,EAAC,IAAI;YAACZ,kBAAkB,EAAE5E,CAAC,CAAC,uBAAuB;UAAE,CAAE;QAAC,CACnF,CAAC;MAAA,CACM,CAAC;EAEtB;AACF,CAAC;AAACR,OAAA,CAAAI,mBAAA,GAAAA,mBAAA;AAEF,MAAMoF,MAAM,GAAGqB,uBAAU,CAAChF,MAAM,CAAC;EAC/BsE,QAAQ,EAAE;IACRW,UAAU,EAAE;EACd,CAAC;EACDV,KAAK,EAAE;IACLW,OAAO,EAAE,EAAE;IACXC,YAAY,EAAE,EAAE;IAChBC,WAAW,EAAEJ,uBAAU,CAACK,aAAa;IACrCT,eAAe,EAAExG;EACnB,CAAC;EACDiD,IAAI,EAAE;IACJiE,QAAQ,EAAE,EAAE;IACZC,UAAU,EAAE,EAAE;IACdC,UAAU,EAAE,KAAK;IACjBC,aAAa,EAAE,CAAC;IAChBC,SAAS,EAAE;EACb;AACF,CAAC,CAAC","ignoreList":[]}
1
+ {"version":3,"names":["_react","require","_reactNative","_reactNativeQrcodeSvg","_interopRequireDefault","_button","_loading","_theme","_typography","_oxyRuntimeContext","_identityCrypto","_useI18n","_OxyAuthScreen","_ReauthStep","_accountFlowParts","_accountSecurityState","_jsxRuntime","e","__esModule","default","IDENTITY_LINK_POLL_MS","exports","QR_PLATE_BG","QR_FOREGROUND","QR_SIZE","OxyLinkCommonsPanel","onLinked","theme","useTheme","t","useI18n","oxyServices","useOxy","step","setStep","useState","name","error","setError","security","useAccountSecurityState","alreadyLinked","keyed","open","useCallback","identity","links","create","then","link","catch","reason","describeSignInError","opened","useRef","useEffect","personal","current","stopped","poll","Date","now","expiresAt","state","get","linkId","status","publicKey","deriveIdentityLinkCode","loadIdentityCrypto","code","timer","setTimeout","clearTimeout","cancel","cancelled","undefined","jsx","OxyAuthScreen","children","OxyAuthScreenHeader","title","description","accountSecurityFallback","fallback","methods","data","hasEmail","totpEnabled","ReauthStep","action","allowPassword","allowEmail","submitLabel","onSubmit","proof","complete","secondary","label","onPress","jsxs","AccountFlowErrorLine","message","AccountFlowAction","pending","testID","Text","accessibilityLabel","split","join","style","styles","color","colors","text","slice","Button","appearance","tone","size","fullWidth","View","plateRow","plate","borderColor","border","value","qrPayload","backgroundColor","AccountFlowNote","Loading","variant","StyleSheet","alignItems","padding","borderRadius","borderWidth","hairlineWidth","fontSize","lineHeight","fontWeight","letterSpacing","textAlign"],"sourceRoot":"../../../../../src","sources":["ui/components/signIn/OxyLinkCommonsPanel.tsx"],"mappings":"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","ignoreList":[]}
@@ -12,18 +12,20 @@ var _toast = require("@oxy.so/bloom/toast");
12
12
  var _client = require("@oxy.so/contracts/client");
13
13
  var _reactQuery = require("@tanstack/react-query");
14
14
  var _oxyRuntimeContext = require("../../context/oxyRuntimeContext.js");
15
- var _useAuthMethods = require("../../hooks/queries/useAuthMethods.js");
16
15
  var _queryKeys = require("../../hooks/queries/queryKeys.js");
17
16
  var _useI18n = require("../../hooks/useI18n.js");
17
+ var _primitives = require("../authChooser/primitives.js");
18
18
  var _OxyAuthScreen = require("./OxyAuthScreen.js");
19
19
  var _ReauthStep = require("./ReauthStep.js");
20
20
  var _accountFlowParts = require("./accountFlowParts.js");
21
+ var _accountSecurityState = require("./accountSecurityState.js");
21
22
  var _jsxRuntime = require("react/jsx-runtime");
22
23
  /**
23
- * Setting or changing the account's password, from its settings. A password
24
- * is optional: the account signs in with a code by email without one. The
25
- * change is confirmed with the current password (when there is one) or a code
26
- * sent to the account's email, plus the authenticator's code when it has one.
24
+ * Setting, changing or removing the account's password, from its settings. A
25
+ * password is optional: the account signs in with a code by email without
26
+ * one, and it can be removed while the account has an email. Each change is
27
+ * confirmed with the current password (when there is one) or a code sent to
28
+ * the account's email, plus the authenticator's code when it has one.
27
29
  */
28
30
 
29
31
  const OxyPasswordPanel = ({
@@ -34,18 +36,15 @@ const OxyPasswordPanel = ({
34
36
  t
35
37
  } = (0, _useI18n.useI18n)();
36
38
  const {
37
- oxyServices,
38
- user
39
+ oxyServices
39
40
  } = (0, _oxyRuntimeContext.useOxy)();
40
41
  const queryClient = (0, _reactQuery.useQueryClient)();
41
- const keyed = Boolean(user?.publicKey);
42
- const methods = (0, _useAuthMethods.useSignInMethods)({
43
- enabled: !keyed
44
- });
42
+ const state = (0, _accountSecurityState.useAccountSecurityState)();
43
+ const [removing, setRemoving] = (0, _react.useState)(false);
45
44
  const [password, setPassword] = (0, _react.useState)('');
46
45
  const [repeat, setRepeat] = (0, _react.useState)('');
47
46
  const [signOutOthers, setSignOutOthers] = (0, _react.useState)(false);
48
- if (keyed) {
47
+ if (state.keyed) {
49
48
  return /*#__PURE__*/(0, _jsxRuntime.jsx)(_OxyAuthScreen.OxyAuthScreen, {
50
49
  children: /*#__PURE__*/(0, _jsxRuntime.jsx)(_OxyAuthScreen.OxyAuthScreenHeader, {
51
50
  title: t('signInSecurity.password.title'),
@@ -53,8 +52,38 @@ const OxyPasswordPanel = ({
53
52
  })
54
53
  });
55
54
  }
56
- if (!methods.data) return /*#__PURE__*/(0, _jsxRuntime.jsx)(_OxyAuthScreen.OxyAuthLoading, {});
57
- const hasPassword = methods.data.hasPassword;
55
+ const fallback = (0, _accountSecurityState.accountSecurityFallback)(state, t('signInSecurity.password.title'), t);
56
+ if (fallback || !state.methods.data) return fallback;
57
+ const {
58
+ hasEmail,
59
+ hasPassword,
60
+ totpEnabled
61
+ } = state.methods.data;
62
+ const refresh = () => void queryClient.invalidateQueries({
63
+ queryKey: _queryKeys.queryKeys.signInMethods.all
64
+ });
65
+ if (removing) {
66
+ return /*#__PURE__*/(0, _jsxRuntime.jsx)(_ReauthStep.ReauthStep, {
67
+ title: t('signInSecurity.password.removeTitle'),
68
+ description: t('signInSecurity.password.removeDescription'),
69
+ action: "change_password",
70
+ allowPassword: true,
71
+ totpEnabled: totpEnabled,
72
+ submitLabel: t('signInSecurity.password.remove'),
73
+ destructive: true,
74
+ onSubmit: async reauth => {
75
+ await oxyServices.auth.password.remove(reauth);
76
+ refresh();
77
+ _toast.toast.success(t('signInSecurity.password.removed'));
78
+ setRemoving(false);
79
+ onDone?.();
80
+ },
81
+ secondary: {
82
+ label: t('common.cancel'),
83
+ onPress: () => setRemoving(false)
84
+ }
85
+ });
86
+ }
58
87
  return /*#__PURE__*/(0, _jsxRuntime.jsxs)(_ReauthStep.ReauthStep, {
59
88
  title: hasPassword ? t('signInSecurity.password.changeTitle') : t('signInSecurity.password.setTitle'),
60
89
  description: t('signInSecurity.password.description', {
@@ -62,7 +91,8 @@ const OxyPasswordPanel = ({
62
91
  }),
63
92
  action: "change_password",
64
93
  allowPassword: hasPassword,
65
- totpEnabled: methods.data.totpEnabled,
94
+ allowEmail: hasEmail,
95
+ totpEnabled: totpEnabled,
66
96
  submitLabel: t('signInSecurity.password.save'),
67
97
  validate: () => {
68
98
  if (password.length < _client.PASSWORD_MIN_LENGTH || password.length > _client.PASSWORD_MAX_LENGTH) {
@@ -78,9 +108,7 @@ const OxyPasswordPanel = ({
78
108
  reauth,
79
109
  revokeOtherSessions: signOutOthers
80
110
  });
81
- void queryClient.invalidateQueries({
82
- queryKey: _queryKeys.queryKeys.signInMethods.all
83
- });
111
+ refresh();
84
112
  _toast.toast.success(t('signInSecurity.password.saved'));
85
113
  onDone?.();
86
114
  },
@@ -115,7 +143,11 @@ const OxyPasswordPanel = ({
115
143
  onCheckedChange: setSignOutOthers,
116
144
  testID: "password-sign-out-others"
117
145
  })
118
- })]
146
+ }), hasPassword && hasEmail ? /*#__PURE__*/(0, _jsxRuntime.jsx)(_primitives.SubtleLink, {
147
+ label: t('signInSecurity.password.remove'),
148
+ onPress: () => setRemoving(true),
149
+ testID: "password-remove"
150
+ }) : null]
119
151
  });
120
152
  };
121
153
  exports.OxyPasswordPanel = OxyPasswordPanel;
@@ -1 +1 @@
1
- {"version":3,"names":["_react","require","_reactNative","_field","_switch","_toast","_client","_reactQuery","_oxyRuntimeContext","_useAuthMethods","_queryKeys","_useI18n","_OxyAuthScreen","_ReauthStep","_accountFlowParts","_jsxRuntime","OxyPasswordPanel","onDone","onCancel","t","useI18n","oxyServices","user","useOxy","queryClient","useQueryClient","keyed","Boolean","publicKey","methods","useSignInMethods","enabled","password","setPassword","useState","repeat","setRepeat","signOutOthers","setSignOutOthers","jsx","OxyAuthScreen","children","OxyAuthScreenHeader","title","description","data","OxyAuthLoading","hasPassword","jsxs","ReauthStep","min","PASSWORD_MIN_LENGTH","action","allowPassword","totpEnabled","submitLabel","validate","length","PASSWORD_MAX_LENGTH","onSubmit","reauth","auth","set","newPassword","revokeOtherSessions","invalidateQueries","queryKey","queryKeys","signInMethods","all","toast","success","secondary","label","onPress","undefined","AccountFlowField","value","onChange","error","autoComplete","secureTextEntry","testID","autoFocus","Field","style","styles","row","Switch","checked","onCheckedChange","exports","StyleSheet","create","flexDirection","alignItems","justifyContent","gap"],"sourceRoot":"../../../../../src","sources":["ui/components/signIn/OxyPasswordPanel.tsx"],"mappings":"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","ignoreList":[]}
1
+ {"version":3,"names":["_react","require","_reactNative","_field","_switch","_toast","_client","_reactQuery","_oxyRuntimeContext","_queryKeys","_useI18n","_primitives","_OxyAuthScreen","_ReauthStep","_accountFlowParts","_accountSecurityState","_jsxRuntime","OxyPasswordPanel","onDone","onCancel","t","useI18n","oxyServices","useOxy","queryClient","useQueryClient","state","useAccountSecurityState","removing","setRemoving","useState","password","setPassword","repeat","setRepeat","signOutOthers","setSignOutOthers","keyed","jsx","OxyAuthScreen","children","OxyAuthScreenHeader","title","description","fallback","accountSecurityFallback","methods","data","hasEmail","hasPassword","totpEnabled","refresh","invalidateQueries","queryKey","queryKeys","signInMethods","all","ReauthStep","action","allowPassword","submitLabel","destructive","onSubmit","reauth","auth","remove","toast","success","secondary","label","onPress","jsxs","min","PASSWORD_MIN_LENGTH","allowEmail","validate","length","PASSWORD_MAX_LENGTH","set","newPassword","revokeOtherSessions","undefined","AccountFlowField","value","onChange","error","autoComplete","secureTextEntry","testID","autoFocus","Field","style","styles","row","Switch","checked","onCheckedChange","SubtleLink","exports","StyleSheet","create","flexDirection","alignItems","justifyContent","gap"],"sourceRoot":"../../../../../src","sources":["ui/components/signIn/OxyPasswordPanel.tsx"],"mappings":"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","ignoreList":[]}