@oxy.so/services 12.10.1 → 12.11.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 (54) hide show
  1. package/lib/commonjs/ui/components/accountSettings/AccountCategoriesSection.js +142 -0
  2. package/lib/commonjs/ui/components/accountSettings/AccountCategoriesSection.js.map +1 -0
  3. package/lib/commonjs/ui/components/accountSettings/AccountSettings.js +361 -0
  4. package/lib/commonjs/ui/components/accountSettings/AccountSettings.js.map +1 -0
  5. package/lib/commonjs/ui/hooks/useAvatarPicker.js +54 -48
  6. package/lib/commonjs/ui/hooks/useAvatarPicker.js.map +1 -1
  7. package/lib/commonjs/ui/screens/AccountSettingsScreen.js +16 -237
  8. package/lib/commonjs/ui/screens/AccountSettingsScreen.js.map +1 -1
  9. package/lib/commonjs/ui/screens/ChangeAvatarScreen.js +23 -4
  10. package/lib/commonjs/ui/screens/ChangeAvatarScreen.js.map +1 -1
  11. package/lib/commonjs/ui/screens/index.js +7 -0
  12. package/lib/commonjs/ui/screens/index.js.map +1 -1
  13. package/lib/module/ui/components/accountSettings/AccountCategoriesSection.js +134 -0
  14. package/lib/module/ui/components/accountSettings/AccountCategoriesSection.js.map +1 -0
  15. package/lib/module/ui/components/accountSettings/AccountSettings.js +355 -0
  16. package/lib/module/ui/components/accountSettings/AccountSettings.js.map +1 -0
  17. package/lib/module/ui/hooks/useAvatarPicker.js +53 -48
  18. package/lib/module/ui/hooks/useAvatarPicker.js.map +1 -1
  19. package/lib/module/ui/screens/AccountSettingsScreen.js +16 -235
  20. package/lib/module/ui/screens/AccountSettingsScreen.js.map +1 -1
  21. package/lib/module/ui/screens/ChangeAvatarScreen.js +23 -4
  22. package/lib/module/ui/screens/ChangeAvatarScreen.js.map +1 -1
  23. package/lib/module/ui/screens/index.js +4 -0
  24. package/lib/module/ui/screens/index.js.map +1 -1
  25. package/lib/typescript/commonjs/ui/components/accountSettings/AccountCategoriesSection.d.ts +26 -0
  26. package/lib/typescript/commonjs/ui/components/accountSettings/AccountCategoriesSection.d.ts.map +1 -0
  27. package/lib/typescript/commonjs/ui/components/accountSettings/AccountSettings.d.ts +80 -0
  28. package/lib/typescript/commonjs/ui/components/accountSettings/AccountSettings.d.ts.map +1 -0
  29. package/lib/typescript/commonjs/ui/hooks/useAvatarPicker.d.ts +22 -1
  30. package/lib/typescript/commonjs/ui/hooks/useAvatarPicker.d.ts.map +1 -1
  31. package/lib/typescript/commonjs/ui/screens/AccountSettingsScreen.d.ts +4 -5
  32. package/lib/typescript/commonjs/ui/screens/AccountSettingsScreen.d.ts.map +1 -1
  33. package/lib/typescript/commonjs/ui/screens/ChangeAvatarScreen.d.ts.map +1 -1
  34. package/lib/typescript/commonjs/ui/screens/index.d.ts +1 -0
  35. package/lib/typescript/commonjs/ui/screens/index.d.ts.map +1 -1
  36. package/lib/typescript/module/ui/components/accountSettings/AccountCategoriesSection.d.ts +26 -0
  37. package/lib/typescript/module/ui/components/accountSettings/AccountCategoriesSection.d.ts.map +1 -0
  38. package/lib/typescript/module/ui/components/accountSettings/AccountSettings.d.ts +80 -0
  39. package/lib/typescript/module/ui/components/accountSettings/AccountSettings.d.ts.map +1 -0
  40. package/lib/typescript/module/ui/hooks/useAvatarPicker.d.ts +22 -1
  41. package/lib/typescript/module/ui/hooks/useAvatarPicker.d.ts.map +1 -1
  42. package/lib/typescript/module/ui/screens/AccountSettingsScreen.d.ts +4 -5
  43. package/lib/typescript/module/ui/screens/AccountSettingsScreen.d.ts.map +1 -1
  44. package/lib/typescript/module/ui/screens/ChangeAvatarScreen.d.ts.map +1 -1
  45. package/lib/typescript/module/ui/screens/index.d.ts +1 -0
  46. package/lib/typescript/module/ui/screens/index.d.ts.map +1 -1
  47. package/package.json +4 -4
  48. package/src/ui/components/accountSettings/AccountCategoriesSection.tsx +180 -0
  49. package/src/ui/components/accountSettings/AccountSettings.tsx +421 -0
  50. package/src/ui/components/accountSettings/__tests__/AccountSettings.test.tsx +101 -0
  51. package/src/ui/hooks/useAvatarPicker.ts +65 -69
  52. package/src/ui/screens/AccountSettingsScreen.tsx +13 -277
  53. package/src/ui/screens/ChangeAvatarScreen.tsx +25 -6
  54. package/src/ui/screens/index.ts +8 -0
@@ -3,6 +3,7 @@
3
3
  Object.defineProperty(exports, "__esModule", {
4
4
  value: true
5
5
  });
6
+ exports.pickAvatarFile = pickAvatarFile;
6
7
  exports.useAvatarPicker = useAvatarPicker;
7
8
  var _react = require("react");
8
9
  var _core = require("@oxy.so/core");
@@ -13,7 +14,10 @@ var _surfaces = require("../navigation/surfaces.js");
13
14
  * Avatar Picker Hook
14
15
  *
15
16
  * The ONE write path for a user's profile picture. It owns no UI: the whole
16
- * choose-and-crop experience is a single surface.
17
+ * choose-and-crop experience is a single surface. The choosing half —
18
+ * {@link pickAvatarFile} — is account-agnostic and also serves a managed
19
+ * account's picture (`AccountSettings`), so there is one picker, one cropper and
20
+ * one upload for every account an app can edit.
17
21
  *
18
22
  * Flow (typed promise over the shared surface stack — no callback props):
19
23
  * 1. `openWithinOrPresent('ChangeAvatar')` opens the source list (device gallery,
@@ -41,66 +45,68 @@ function extractUploadedFileId(result) {
41
45
  if (first?.id) return first.id;
42
46
  return undefined;
43
47
  }
48
+
49
+ /**
50
+ * Whose picture the picker is changing, when it is not the signed-in user's —
51
+ * the source list previews it and offers "Remove" only when there is one.
52
+ */
53
+
54
+ /**
55
+ * The shared choose-and-crop flow, then the crop uploaded as a NEW public file.
56
+ *
57
+ * Resolves the new file's id, `null` when the person chose to remove the
58
+ * picture, or `undefined` when they backed out. It writes no account: the
59
+ * caller decides whose picture the file becomes, which is what lets the
60
+ * signed-in user's profile and a managed account share every step before that.
61
+ * An upload failure rejects.
62
+ */
63
+ async function pickAvatarFile(oxyServices, subject) {
64
+ // The source list + crop editor are ONE flow. When triggered from a screen
65
+ // already inside a surface (EditProfile, ManageAccount, WelcomeNewUser,
66
+ // AccountSettings), it MORPHS into that surface and pops back on finish;
67
+ // triggered with no surface open it presents cold. Either way it resolves with
68
+ // the cropped JPEG, a removal, or `undefined` when the user backs out.
69
+ const result = await (0, _surfaces.openWithinOrPresent)('ChangeAvatar', subject ? {
70
+ subject
71
+ } : undefined);
72
+ if (!result) return undefined;
73
+ if ('removed' in result) return null;
74
+ const uploadResult = await oxyServices.assets.upload({
75
+ uri: result.uri,
76
+ type: result.mime,
77
+ name: `avatar-${Date.now()}.jpg`
78
+ }, {
79
+ visibility: 'public'
80
+ });
81
+ const fileId = extractUploadedFileId(uploadResult);
82
+ if (!fileId) {
83
+ throw new Error('Avatar upload succeeded but no file ID was returned');
84
+ }
85
+ await (0, _core.updateAvatarVisibility)(fileId, oxyServices, 'pickAvatarFile');
86
+ return fileId;
87
+ }
44
88
  function useAvatarPicker({
45
89
  oxyServices,
46
90
  currentLanguage,
47
91
  activeSessionId,
48
92
  queryClient
49
93
  }) {
50
- /**
51
- * Final step: take the cropped JPEG, upload it as a new public file, then
52
- * set it as the user's avatar. Fires success/error toasts.
53
- */
54
- const finalizeCroppedAvatar = (0, _react.useCallback)(async cropped => {
55
- try {
56
- const uploadResult = await oxyServices.assets.upload({
57
- uri: cropped.uri,
58
- type: cropped.mime,
59
- name: `avatar-${Date.now()}.jpg`
60
- }, {
61
- visibility: 'public'
62
- });
63
- const newFileId = extractUploadedFileId(uploadResult);
64
- if (!newFileId) {
65
- throw new Error('Avatar upload succeeded but no file ID was returned');
66
- }
67
- await (0, _core.updateAvatarVisibility)(newFileId, oxyServices, 'useAvatarPicker');
68
- await (0, _avatarUtils.updateProfileWithAvatar)({
69
- avatar: newFileId
70
- }, oxyServices, activeSessionId, queryClient);
71
- _toast.toast.success((0, _core.translate)(currentLanguage ?? undefined, 'editProfile.toasts.avatarUpdated') || 'Avatar updated');
72
- } catch (e) {
73
- const message = e instanceof Error ? e.message : undefined;
74
- _toast.toast.error(message || (0, _core.translate)(currentLanguage ?? undefined, 'editProfile.toasts.updateAvatarFailed') || 'Failed to update avatar');
75
- }
76
- }, [activeSessionId, currentLanguage, oxyServices, queryClient]);
77
-
78
- /** Clear the avatar so the profile falls back to the user's initials. */
79
- const removeAvatar = (0, _react.useCallback)(async () => {
94
+ const openAvatarPicker = (0, _react.useCallback)(async () => {
95
+ const locale = currentLanguage ?? undefined;
80
96
  try {
97
+ const fileId = await pickAvatarFile(oxyServices);
98
+ if (fileId === undefined) return;
99
+ // `''` clears the field on `updateMe`, so the profile falls back to the
100
+ // user's initials.
81
101
  await (0, _avatarUtils.updateProfileWithAvatar)({
82
- avatar: ''
102
+ avatar: fileId ?? ''
83
103
  }, oxyServices, activeSessionId, queryClient);
84
- _toast.toast.success((0, _core.translate)(currentLanguage ?? undefined, 'editProfile.toasts.avatarRemoved'));
104
+ _toast.toast.success((0, _core.translate)(locale, fileId === null ? 'editProfile.toasts.avatarRemoved' : 'editProfile.toasts.avatarUpdated'));
85
105
  } catch (e) {
86
106
  const message = e instanceof Error ? e.message : undefined;
87
- _toast.toast.error(message || (0, _core.translate)(currentLanguage ?? undefined, 'editProfile.toasts.updateAvatarFailed'));
107
+ _toast.toast.error(message || (0, _core.translate)(locale, 'editProfile.toasts.updateAvatarFailed'));
88
108
  }
89
109
  }, [activeSessionId, currentLanguage, oxyServices, queryClient]);
90
- const openAvatarPicker = (0, _react.useCallback)(async () => {
91
- // The source list + crop editor are ONE flow. When triggered from a screen
92
- // already inside a surface (EditProfile, ManageAccount, WelcomeNewUser — every
93
- // current entry point), it MORPHS into that surface and pops back on finish;
94
- // triggered with no surface open it presents cold. Either way it resolves with
95
- // the cropped JPEG, a removal, or `undefined` when the user backs out.
96
- const result = await (0, _surfaces.openWithinOrPresent)('ChangeAvatar');
97
- if (!result) return;
98
- if ('removed' in result) {
99
- await removeAvatar();
100
- return;
101
- }
102
- await finalizeCroppedAvatar(result);
103
- }, [finalizeCroppedAvatar, removeAvatar]);
104
110
  return {
105
111
  openAvatarPicker
106
112
  };
@@ -1 +1 @@
1
- {"version":3,"names":["_react","require","_core","_toast","_avatarUtils","_surfaces","extractUploadedFileId","result","undefined","id","file","first","files","useAvatarPicker","oxyServices","currentLanguage","activeSessionId","queryClient","finalizeCroppedAvatar","useCallback","cropped","uploadResult","assets","upload","uri","type","mime","name","Date","now","visibility","newFileId","Error","updateAvatarVisibility","updateProfileWithAvatar","avatar","toast","success","translate","e","message","error","removeAvatar","openAvatarPicker","openWithinOrPresent"],"sourceRoot":"../../../../src","sources":["ui/hooks/useAvatarPicker.ts"],"mappings":"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","ignoreList":[]}
1
+ {"version":3,"names":["_react","require","_core","_toast","_avatarUtils","_surfaces","extractUploadedFileId","result","undefined","id","file","first","files","pickAvatarFile","oxyServices","subject","openWithinOrPresent","uploadResult","assets","upload","uri","type","mime","name","Date","now","visibility","fileId","Error","updateAvatarVisibility","useAvatarPicker","currentLanguage","activeSessionId","queryClient","openAvatarPicker","useCallback","locale","updateProfileWithAvatar","avatar","toast","success","translate","e","message","error"],"sourceRoot":"../../../../src","sources":["ui/hooks/useAvatarPicker.ts"],"mappings":"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","ignoreList":[]}
@@ -4,261 +4,40 @@ Object.defineProperty(exports, "__esModule", {
4
4
  value: true
5
5
  });
6
6
  exports.default = void 0;
7
- var _OrganizationSettings = require("../components/organizations/OrganizationSettings.js");
8
- var _react = require("react");
9
- var _reactNative = require("react-native");
10
- var _reactQuery = require("@tanstack/react-query");
11
- var _toast = require("@oxy.so/bloom/toast");
12
- var _surfaces = require("@oxy.so/bloom/surfaces");
13
- var _theme = require("@oxy.so/bloom/theme");
14
- var _typography = require("@oxy.so/bloom/typography");
15
- var _button = require("@oxy.so/bloom/button");
16
- var _textField = require("@oxy.so/bloom/text-field");
17
- var _groupedSection = require("@oxy.so/bloom/grouped-section");
18
- var _core = require("@oxy.so/core");
19
- var _SettingsIcon = require("../components/SettingsIcon.js");
20
- var _oxyRuntimeContext = require("../context/oxyRuntimeContext.js");
7
+ var _AccountSettings = require("../components/accountSettings/AccountSettings.js");
21
8
  var _useI18n = require("../hooks/useI18n.js");
22
9
  var _useSurfaceHeader = require("../hooks/useSurfaceHeader.js");
23
- var _userCache = require("../hooks/queries/userCache.js");
24
10
  var _jsxRuntime = require("react/jsx-runtime");
25
- const BIO_MAX = 160;
26
- const errorMessage = (error, fallback) => error instanceof Error && error.message ? error.message : fallback;
27
-
28
11
  /**
29
- * Per-account settings: edit the account's profile, jump to member management,
30
- * and archive the account (danger zone). Receives the target `accountId` via
31
- * navigation props. Self-surface for the caller's own personal account lives in
32
- * {@link ManageAccountScreen}; this screen manages a non-personal account in the
33
- * graph.
34
- */
35
- const AccountSettingsScreen = ({
12
+ * The `AccountSettings` surface: {@link AccountSettings} for the `accountId`
13
+ * route prop, under the surface's own header. Self-surface for the caller's own
14
+ * personal account lives in {@link ManageAccountScreen}; this screen manages a
15
+ * non-personal account in the graph.
16
+ */const AccountSettingsScreen = ({
36
17
  onClose,
37
18
  goBack,
38
19
  navigate,
39
20
  accountId
40
21
  }) => {
41
- const bloomTheme = (0, _theme.useTheme)();
42
- const colors = bloomTheme.colors;
43
22
  const {
44
23
  t
45
24
  } = (0, _useI18n.useI18n)();
46
- const {
47
- oxyServices,
48
- canUsePrivateApi,
49
- user,
50
- accounts,
51
- switchToAccount
52
- } = (0, _oxyRuntimeContext.useOxy)();
53
- const queryClient = (0, _reactQuery.useQueryClient)();
54
25
  const id = typeof accountId === 'string' ? accountId : '';
55
- const accountQuery = (0, _reactQuery.useQuery)({
56
- queryKey: ['accounts', 'detail', id, user?.id, canUsePrivateApi],
57
- initialData: canUsePrivateApi ? accounts?.find(account => account.accountId === id) : undefined,
58
- initialDataUpdatedAt: 0,
59
- queryFn: () => oxyServices.accounts.get(id),
60
- enabled: canUsePrivateApi && id.length > 0
61
- });
62
- const node = canUsePrivateApi && accountQuery.isSuccess ? accountQuery.data : null;
63
- const permissions = node?.callerMembership?.permissions ?? [];
64
- const isImplicitOwner = node ? node.relationship !== 'member' : false;
65
- const can = (0, _react.useCallback)(permission => isImplicitOwner || permissions.includes(permission), [isImplicitOwner, permissions]);
66
- const canUpdate = can('account:update');
67
- const canViewMembers = can('members:read');
68
- const canArchive = can('account:delete');
69
-
70
- // Editable fields, seeded lazily from the loaded account once.
71
- const [seeded, setSeeded] = (0, _react.useState)(false);
72
- const [displayName, setDisplayName] = (0, _react.useState)('');
73
- const [displayNameError, setDisplayNameError] = (0, _react.useState)('');
74
- const [bio, setBio] = (0, _react.useState)('');
75
-
76
- // Seed the form from the account during render (no useEffect): the first time
77
- // the query resolves we capture its values into local edit state.
78
- if (node && !seeded) {
79
- setDisplayName(node.account?.name?.displayName ?? (0, _core.getNormalizedUserHandle)(node.account) ?? '');
80
- setBio(node.account?.bio ?? '');
81
- setSeeded(true);
82
- }
83
- const updateMutation = (0, _reactQuery.useMutation)({
84
- mutationKey: ['accounts', 'update', id],
85
- mutationFn: input => oxyServices.accounts.update(id, input),
86
- onSuccess: (updatedNode, input) => {
87
- const cleared = (0, _userCache.clearedFieldsFromAccountUpdate)(input);
88
- (0, _userCache.upsertCachedUser)(queryClient, updatedNode.account, user?.id, {
89
- cleared: cleared.length > 0 ? cleared : undefined
90
- });
91
- queryClient.invalidateQueries({
92
- queryKey: ['accounts', 'detail', id]
93
- });
94
- queryClient.invalidateQueries({
95
- queryKey: ['accounts']
96
- });
97
- _toast.toast.success(t('accounts.settings.toasts.saved') || 'Account updated');
98
- },
99
- onError: error => {
100
- _toast.toast.error(errorMessage(error, t('accounts.settings.toasts.saveFailed') || 'Failed to update account'));
101
- }
102
- });
103
- const archiveMutation = (0, _reactQuery.useMutation)({
104
- mutationKey: ['accounts', 'archive', id],
105
- mutationFn: () => oxyServices.accounts.archive(id),
106
- onSuccess: async () => {
107
- // If we archived the account we're currently signed in AS, switch back to
108
- // the personal account so the app isn't left as an archived identity.
109
- if (user?.id === id) {
110
- const personal = accounts.find(node => node.relationship === 'self');
111
- if (personal) {
112
- await switchToAccount(personal.accountId).catch(() => undefined);
113
- }
114
- }
115
- queryClient.invalidateQueries({
116
- queryKey: ['accounts']
117
- });
118
- _toast.toast.success(t('accounts.settings.toasts.archived') || 'Account archived');
119
- (onClose ?? goBack)?.();
120
- },
121
- onError: error => {
122
- _toast.toast.error(errorMessage(error, t('accounts.settings.toasts.archiveFailed') || 'Failed to archive account'));
123
- }
124
- });
125
- const handleArchive = (0, _react.useCallback)(async () => {
126
- const confirmed = await _surfaces.surfaces.confirm({
127
- title: t('accounts.settings.archive.confirmTitle') || 'Archive account',
128
- description: t('accounts.settings.archive.confirmDescription') || 'Archive this account? It will be deactivated and its members will lose access.',
129
- confirmLabel: t('accounts.settings.archive.title') || 'Archive account',
130
- cancelLabel: t('common.cancel') || 'Cancel',
131
- destructive: true
132
- });
133
- if (confirmed) archiveMutation.mutate();
134
- }, [archiveMutation, t]);
135
- const handleDisplayNameChange = (0, _react.useCallback)(value => {
136
- setDisplayName(value);
137
- const trimmed = value.trim();
138
- if (!trimmed) {
139
- setDisplayNameError('');
140
- return;
141
- }
142
- const kind = node?.account.kind;
143
- setDisplayNameError((0, _core.isValidAccountName)(trimmed, kind) ? '' : t(`accounts.settings.displayName.${(0, _core.accountNameInvalidKey)(kind)}`) || (0, _core.accountNameInvalidMessage)(kind));
144
- }, [node?.account.kind, t]);
145
- const handleSave = (0, _react.useCallback)(() => {
146
- const trimmed = displayName.trim();
147
- if (!trimmed || displayNameError) return;
148
- // Managed accounts (org / project / bot / channel) have a title, not a
149
- // given-and-family name — persist the explicit displayName column.
150
- updateMutation.mutate({
151
- name: {
152
- displayName: trimmed
153
- },
154
- bio: bio.trim() ? bio.trim() : null
155
- });
156
- }, [displayName, displayNameError, bio, updateMutation]);
157
- const title = t('accounts.settings.title') || 'Account settings';
158
- const accountHandle = (0, _react.useMemo)(() => {
159
- const username = node?.account?.username;
160
- return username ? `@${username}` : '';
161
- }, [node?.account?.username]);
26
+ const {
27
+ node
28
+ } = (0, _AccountSettings.useAccountSettingsNode)(id);
162
29
 
163
30
  // The nav large title is the account's handle once loaded (falls back to the
164
31
  // generic screen title before the account resolves).
32
+ const username = node?.account?.username;
165
33
  (0, _useSurfaceHeader.useSurfaceHeader)({
166
- title: accountHandle || title,
167
- subtitle: t('accounts.settings.subtitle') || 'Manage this account’s profile, members, and access.'
34
+ title: username ? `@${username}` : t('accounts.settings.title'),
35
+ subtitle: t('accounts.settings.subtitle')
168
36
  });
169
- if (!id) {
170
- return /*#__PURE__*/(0, _jsxRuntime.jsx)(_jsxRuntime.Fragment, {
171
- children: /*#__PURE__*/(0, _jsxRuntime.jsx)(_reactNative.View, {
172
- className: "items-center justify-center px-screen-margin py-space-40",
173
- children: /*#__PURE__*/(0, _jsxRuntime.jsx)(_typography.Text, {
174
- className: "text-body font-body text-text-secondary text-center",
175
- children: t('accounts.settings.errors.missingAccount') || 'No account selected.'
176
- })
177
- })
178
- });
179
- }
180
- return /*#__PURE__*/(0, _jsxRuntime.jsx)(_jsxRuntime.Fragment, {
181
- children: /*#__PURE__*/(0, _jsxRuntime.jsx)(_reactNative.View, {
182
- className: "px-screen-margin pt-space-24 pb-space-32 gap-space-24",
183
- children: accountQuery.isLoading ? /*#__PURE__*/(0, _jsxRuntime.jsx)(_reactNative.View, {
184
- className: "items-center py-space-32",
185
- children: null
186
- }) : /*#__PURE__*/(0, _jsxRuntime.jsxs)(_jsxRuntime.Fragment, {
187
- children: [canUpdate ? /*#__PURE__*/(0, _jsxRuntime.jsxs)(_reactNative.View, {
188
- className: "gap-space-16 p-space-16 rounded-radius-20 bg-fill",
189
- children: [/*#__PURE__*/(0, _jsxRuntime.jsxs)(_reactNative.View, {
190
- className: "gap-space-4",
191
- children: [/*#__PURE__*/(0, _jsxRuntime.jsx)(_textField.TextField, {
192
- isInvalid: Boolean(displayNameError),
193
- children: /*#__PURE__*/(0, _jsxRuntime.jsx)(_textField.TextFieldInput, {
194
- floatingLabel: true,
195
- label: t('accounts.settings.displayName.label') || 'Display name',
196
- value: displayName,
197
- onChangeText: handleDisplayNameChange,
198
- isInvalid: Boolean(displayNameError),
199
- maxLength: (0, _core.accountNameMaxLength)(node?.account.kind)
200
- })
201
- }), displayNameError ? /*#__PURE__*/(0, _jsxRuntime.jsx)(_typography.Text, {
202
- className: "text-caption font-caption text-negative px-space-4",
203
- children: displayNameError
204
- }) : null]
205
- }), /*#__PURE__*/(0, _jsxRuntime.jsxs)(_reactNative.View, {
206
- className: "gap-space-4",
207
- children: [/*#__PURE__*/(0, _jsxRuntime.jsx)(_textField.TextField, {
208
- children: /*#__PURE__*/(0, _jsxRuntime.jsx)(_textField.TextFieldInput, {
209
- floatingLabel: true,
210
- label: t('accounts.settings.bio.label') || 'Bio (optional)',
211
- value: bio,
212
- onChangeText: setBio,
213
- maxLength: BIO_MAX,
214
- multiline: true,
215
- numberOfLines: 3,
216
- textAlignVertical: "top"
217
- })
218
- }), /*#__PURE__*/(0, _jsxRuntime.jsxs)(_typography.Text, {
219
- className: "text-caption font-caption text-text-tertiary px-space-4 text-right",
220
- children: [bio.length, "/", BIO_MAX]
221
- })]
222
- }), /*#__PURE__*/(0, _jsxRuntime.jsx)(_button.Button, {
223
- appearance: "solid",
224
- tone: "accent",
225
- onPress: handleSave,
226
- disabled: updateMutation.isPending || !displayName.trim() || Boolean(displayNameError),
227
- loading: updateMutation.isPending,
228
- accessibilityLabel: t('accounts.settings.save') || 'Save changes',
229
- className: "w-full",
230
- children: t('accounts.settings.save') || 'Save changes'
231
- })]
232
- }) : null, node?.account.kind === 'organization' ? /*#__PURE__*/(0, _jsxRuntime.jsx)(_OrganizationSettings.OrganizationSettings, {
233
- accountId: id,
234
- canUpdate: canUpdate
235
- }, id) : null, canViewMembers ? /*#__PURE__*/(0, _jsxRuntime.jsx)(_groupedSection.GroupedSection, {
236
- title: t('accounts.settings.sections.access') || 'Access',
237
- children: /*#__PURE__*/(0, _jsxRuntime.jsx)(_groupedSection.GroupedSectionItem, {
238
- icon: /*#__PURE__*/(0, _jsxRuntime.jsx)(_SettingsIcon.SettingsIcon, {
239
- name: "account-multiple",
240
- color: colors.info
241
- }),
242
- title: t('accounts.members.title') || 'Members',
243
- description: t('accounts.settings.members.subtitle') || 'Invite people and manage roles',
244
- onPress: () => navigate?.('AccountMembers', {
245
- accountId: id
246
- })
247
- })
248
- }) : null, canArchive ? /*#__PURE__*/(0, _jsxRuntime.jsx)(_groupedSection.GroupedSection, {
249
- title: t('accounts.settings.sections.dangerZone') || 'Danger zone',
250
- children: /*#__PURE__*/(0, _jsxRuntime.jsx)(_groupedSection.GroupedSectionItem, {
251
- icon: /*#__PURE__*/(0, _jsxRuntime.jsx)(_SettingsIcon.SettingsIcon, {
252
- name: "archive-arrow-down",
253
- color: colors.error
254
- }),
255
- title: t('accounts.settings.archive.title') || 'Archive account',
256
- description: t('accounts.settings.archive.subtitle') || 'Deactivate this account',
257
- onPress: handleArchive
258
- })
259
- }) : null]
260
- })
261
- })
37
+ return /*#__PURE__*/(0, _jsxRuntime.jsx)(_AccountSettings.AccountSettings, {
38
+ accountId: id,
39
+ navigate: navigate,
40
+ onClose: onClose ?? goBack
262
41
  });
263
42
  };
264
43
  var _default = exports.default = AccountSettingsScreen;
@@ -1 +1 @@
1
- {"version":3,"names":["_OrganizationSettings","require","_react","_reactNative","_reactQuery","_toast","_surfaces","_theme","_typography","_button","_textField","_groupedSection","_core","_SettingsIcon","_oxyRuntimeContext","_useI18n","_useSurfaceHeader","_userCache","_jsxRuntime","BIO_MAX","errorMessage","error","fallback","Error","message","AccountSettingsScreen","onClose","goBack","navigate","accountId","bloomTheme","useTheme","colors","t","useI18n","oxyServices","canUsePrivateApi","user","accounts","switchToAccount","useOxy","queryClient","useQueryClient","id","accountQuery","useQuery","queryKey","initialData","find","account","undefined","initialDataUpdatedAt","queryFn","get","enabled","length","node","isSuccess","data","permissions","callerMembership","isImplicitOwner","relationship","can","useCallback","permission","includes","canUpdate","canViewMembers","canArchive","seeded","setSeeded","useState","displayName","setDisplayName","displayNameError","setDisplayNameError","bio","setBio","name","getNormalizedUserHandle","updateMutation","useMutation","mutationKey","mutationFn","input","update","onSuccess","updatedNode","cleared","clearedFieldsFromAccountUpdate","upsertCachedUser","invalidateQueries","toast","success","onError","archiveMutation","archive","personal","catch","handleArchive","confirmed","surfaces","confirm","title","description","confirmLabel","cancelLabel","destructive","mutate","handleDisplayNameChange","value","trimmed","trim","kind","isValidAccountName","accountNameInvalidKey","accountNameInvalidMessage","handleSave","accountHandle","useMemo","username","useSurfaceHeader","subtitle","jsx","Fragment","children","View","className","Text","isLoading","jsxs","TextField","isInvalid","Boolean","TextFieldInput","floatingLabel","label","onChangeText","maxLength","accountNameMaxLength","multiline","numberOfLines","textAlignVertical","Button","appearance","tone","onPress","disabled","isPending","loading","accessibilityLabel","OrganizationSettings","GroupedSection","GroupedSectionItem","icon","SettingsIcon","color","info","_default","exports","default"],"sourceRoot":"../../../../src","sources":["ui/screens/AccountSettingsScreen.tsx"],"mappings":"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","ignoreList":[]}
1
+ {"version":3,"names":["_AccountSettings","require","_useI18n","_useSurfaceHeader","_jsxRuntime","AccountSettingsScreen","onClose","goBack","navigate","accountId","t","useI18n","id","node","useAccountSettingsNode","username","account","useSurfaceHeader","title","subtitle","jsx","AccountSettings","_default","exports","default"],"sourceRoot":"../../../../src","sources":["ui/screens/AccountSettingsScreen.tsx"],"mappings":";;;;;;AAEA,IAAAA,gBAAA,GAAAC,OAAA;AAIA,IAAAC,QAAA,GAAAD,OAAA;AACA,IAAAE,iBAAA,GAAAF,OAAA;AAA6D,IAAAG,WAAA,GAAAH,OAAA;AAE7D;AACA;AACA;AACA;AACA;AACA,GACA,MAAMI,qBAAgD,GAAGA,CAAC;EACxDC,OAAO;EACPC,MAAM;EACNC,QAAQ;EACRC;AACF,CAAC,KAAK;EACJ,MAAM;IAAEC;EAAE,CAAC,GAAG,IAAAC,gBAAO,EAAC,CAAC;EACvB,MAAMC,EAAE,GAAG,OAAOH,SAAS,KAAK,QAAQ,GAAGA,SAAS,GAAG,EAAE;EACzD,MAAM;IAAEI;EAAK,CAAC,GAAG,IAAAC,uCAAsB,EAACF,EAAE,CAAC;;EAE3C;EACA;EACA,MAAMG,QAAQ,GAAGF,IAAI,EAAEG,OAAO,EAAED,QAAQ;EACxC,IAAAE,kCAAgB,EAAC;IACfC,KAAK,EAAEH,QAAQ,GAAG,IAAIA,QAAQ,EAAE,GAAGL,CAAC,CAAC,yBAAyB,CAAC;IAC/DS,QAAQ,EAAET,CAAC,CAAC,4BAA4B;EAC1C,CAAC,CAAC;EAEF,oBAAO,IAAAN,WAAA,CAAAgB,GAAA,EAACpB,gBAAA,CAAAqB,eAAe;IAACZ,SAAS,EAAEG,EAAG;IAACJ,QAAQ,EAAEA,QAAS;IAACF,OAAO,EAAEA,OAAO,IAAIC;EAAO,CAAE,CAAC;AAC3F,CAAC;AAAC,IAAAe,QAAA,GAAAC,OAAA,CAAAC,OAAA,GAEanB,qBAAqB","ignoreList":[]}
@@ -93,9 +93,26 @@ async function loadImagePicker() {
93
93
  return null;
94
94
  }
95
95
  }
96
+
97
+ /**
98
+ * The `subject` route prop, when a caller is changing a picture that is not the
99
+ * signed-in user's (see `pickAvatarFile`). Route props arrive untyped.
100
+ */
101
+ function readSubject(value) {
102
+ if (!value || typeof value !== 'object') return null;
103
+ const {
104
+ avatar,
105
+ displayName
106
+ } = value;
107
+ return {
108
+ avatar: typeof avatar === 'string' && avatar.length > 0 ? avatar : null,
109
+ displayName: typeof displayName === 'string' ? displayName : undefined
110
+ };
111
+ }
96
112
  const ChangeAvatarScreen = ({
97
113
  navigate,
98
- dismiss
114
+ dismiss,
115
+ subject
99
116
  }) => {
100
117
  const bloomTheme = (0, _theme.useTheme)();
101
118
  const {
@@ -105,6 +122,8 @@ const ChangeAvatarScreen = ({
105
122
  user,
106
123
  oxyServices
107
124
  } = (0, _oxyRuntimeContext.useOxy)();
125
+ const other = (0, _react.useMemo)(() => readSubject(subject), [subject]);
126
+ const currentAvatar = other ? other.avatar : user?.avatar;
108
127
 
109
128
  /** Set when a permission was refused — drives the inline denied notice. */
110
129
  const [denied, setDenied] = (0, _react.useState)(null);
@@ -113,10 +132,10 @@ const ChangeAvatarScreen = ({
113
132
  (0, _useSurfaceHeader.useSurfaceHeader)((0, _react.useMemo)(() => ({
114
133
  title: t('changeAvatar.title')
115
134
  }), [t]));
116
- const displayName = (0, _react.useMemo)(() => user?.name?.displayName ?? (0, _core.getNormalizedUserHandle)(user) ?? '', [user]);
135
+ const displayName = (0, _react.useMemo)(() => other ? other.displayName ?? '' : user?.name?.displayName ?? (0, _core.getNormalizedUserHandle)(user) ?? '', [other, user]);
117
136
  const avatarUri = (0, _react.useMemo)(
118
137
  // `thumb` is 256x256 — exactly a 2x source for the 132dp hero.
119
- () => user?.avatar ? oxyServices.assets.publicUrl(user.avatar, 'thumb') : undefined, [user?.avatar, oxyServices]);
138
+ () => currentAvatar ? oxyServices.assets.publicUrl(currentAvatar, 'thumb') : undefined, [currentAvatar, oxyServices]);
120
139
 
121
140
  /**
122
141
  * Hand a source to the crop editor by navigating WITHIN this surface (a push,
@@ -296,7 +315,7 @@ const ChangeAvatarScreen = ({
296
315
  title: t('changeAvatar.sources.remove.title'),
297
316
  description: t('changeAvatar.sources.remove.description'),
298
317
  destructive: true,
299
- disabled: busy || !user?.avatar,
318
+ disabled: busy || !currentAvatar,
300
319
  onPress: () => void removeCurrentPhoto()
301
320
  })]
302
321
  })]
@@ -1 +1 @@
1
- {"version":3,"names":["_react","require","_reactNative","_avatar","_groupedSection","_admonition","_surfaces","_theme","_toast","_core","_oxyRuntimeContext","_useI18n","_useSurfaceHeader","_SettingsIcon","_jsxRuntime","_interopRequireWildcard","e","t","WeakMap","r","n","__esModule","o","i","f","__proto__","default","has","get","set","hasOwnProperty","call","Object","defineProperty","getOwnPropertyDescriptor","LOG_COMPONENT","PREVIEW_SIZE","NON_IMAGE_MIME_TYPES","PICKER_OPTIONS","mediaTypes","allowsMultipleSelection","quality","loadImagePicker","mod","Promise","resolve","then","launchImageLibraryAsync","err","logger","debug","component","reason","Error","message","String","ChangeAvatarScreen","navigate","dismiss","bloomTheme","useTheme","useI18n","user","oxyServices","useOxy","denied","setDenied","useState","busy","setBusy","useSurfaceHeader","useMemo","title","displayName","name","getNormalizedUserHandle","avatarUri","avatar","assets","publicUrl","undefined","goToCrop","useCallback","cropProps","pickFromDevice","source","picker","toast","error","permission","requestCameraPermissionsAsync","requestMediaLibraryPermissionsAsync","granted","result","launchCameraAsync","asset","canceled","uri","imageUri","sourceWidth","width","sourceHeight","height","handleOxyFilePicked","file","contentType","startsWith","imageFileId","id","pickFromOxyFiles","selectMode","multiSelect","disabledMimeTypes","onPicked","removeCurrentPhoto","confirmed","bloomSurfaces","confirm","description","confirmLabel","cancelLabel","destructive","removal","removed","openSystemSettings","Linking","openSettings","canUseCamera","Platform","OS","jsxs","View","className","children","jsx","accessible","accessibilityRole","accessibilityLabel","Avatar","size","AdmonitionRoot","type","AdmonitionRow","AdmonitionIcon","AdmonitionContent","AdmonitionText","AdmonitionButton","onPress","GroupedSection","GroupedSectionItem","icon","SettingsIcon","color","colors","primary","disabled","info","success","_default","exports"],"sourceRoot":"../../../../src","sources":["ui/screens/ChangeAvatarScreen.tsx"],"mappings":"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","ignoreList":[]}
1
+ {"version":3,"names":["_react","require","_reactNative","_avatar","_groupedSection","_admonition","_surfaces","_theme","_toast","_core","_oxyRuntimeContext","_useI18n","_useSurfaceHeader","_SettingsIcon","_jsxRuntime","_interopRequireWildcard","e","t","WeakMap","r","n","__esModule","o","i","f","__proto__","default","has","get","set","hasOwnProperty","call","Object","defineProperty","getOwnPropertyDescriptor","LOG_COMPONENT","PREVIEW_SIZE","NON_IMAGE_MIME_TYPES","PICKER_OPTIONS","mediaTypes","allowsMultipleSelection","quality","loadImagePicker","mod","Promise","resolve","then","launchImageLibraryAsync","err","logger","debug","component","reason","Error","message","String","readSubject","value","avatar","displayName","length","undefined","ChangeAvatarScreen","navigate","dismiss","subject","bloomTheme","useTheme","useI18n","user","oxyServices","useOxy","other","useMemo","currentAvatar","denied","setDenied","useState","busy","setBusy","useSurfaceHeader","title","name","getNormalizedUserHandle","avatarUri","assets","publicUrl","goToCrop","useCallback","cropProps","pickFromDevice","source","picker","toast","error","permission","requestCameraPermissionsAsync","requestMediaLibraryPermissionsAsync","granted","result","launchCameraAsync","asset","canceled","uri","imageUri","sourceWidth","width","sourceHeight","height","handleOxyFilePicked","file","contentType","startsWith","imageFileId","id","pickFromOxyFiles","selectMode","multiSelect","disabledMimeTypes","onPicked","removeCurrentPhoto","confirmed","bloomSurfaces","confirm","description","confirmLabel","cancelLabel","destructive","removal","removed","openSystemSettings","Linking","openSettings","canUseCamera","Platform","OS","jsxs","View","className","children","jsx","accessible","accessibilityRole","accessibilityLabel","Avatar","size","AdmonitionRoot","type","AdmonitionRow","AdmonitionIcon","AdmonitionContent","AdmonitionText","AdmonitionButton","onPress","GroupedSection","GroupedSectionItem","icon","SettingsIcon","color","colors","primary","disabled","info","success","_default","exports"],"sourceRoot":"../../../../src","sources":["ui/screens/ChangeAvatarScreen.tsx"],"mappings":"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","ignoreList":[]}
@@ -9,6 +9,12 @@ Object.defineProperty(exports, "AccountMembersScreen", {
9
9
  return _AccountMembersScreen.default;
10
10
  }
11
11
  });
12
+ Object.defineProperty(exports, "AccountSettings", {
13
+ enumerable: true,
14
+ get: function () {
15
+ return _AccountSettings.AccountSettings;
16
+ }
17
+ });
12
18
  Object.defineProperty(exports, "AccountSettingsScreen", {
13
19
  enumerable: true,
14
20
  get: function () {
@@ -73,5 +79,6 @@ var _AccountMembersScreen = _interopRequireDefault(require("./AccountMembersScre
73
79
  var _AccountSettingsScreen = _interopRequireDefault(require("./AccountSettingsScreen.js"));
74
80
  var _SupervisionScreen = _interopRequireDefault(require("./SupervisionScreen.js"));
75
81
  var _OxyOneScreen = _interopRequireDefault(require("./OxyOneScreen.js"));
82
+ var _AccountSettings = require("../components/accountSettings/AccountSettings.js");
76
83
  function _interopRequireDefault(e) { return e && e.__esModule ? e : { default: e }; }
77
84
  //# sourceMappingURL=index.js.map
@@ -1 +1 @@
1
- {"version":3,"names":["_ProfileScreen","_interopRequireDefault","require","_ManageAccountScreen","_NotificationsScreen","_PreferencesScreen","_ConnectedAppsScreen","_CreateAccountScreen","_AccountMembersScreen","_AccountSettingsScreen","_SupervisionScreen","_OxyOneScreen","e","__esModule","default"],"sourceRoot":"../../../../src","sources":["ui/screens/index.ts"],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AASA,IAAAA,cAAA,GAAAC,sBAAA,CAAAC,OAAA;AACA,IAAAC,oBAAA,GAAAF,sBAAA,CAAAC,OAAA;AACA,IAAAE,oBAAA,GAAAH,sBAAA,CAAAC,OAAA;AACA,IAAAG,kBAAA,GAAAJ,sBAAA,CAAAC,OAAA;AACA,IAAAI,oBAAA,GAAAL,sBAAA,CAAAC,OAAA;AACA,IAAAK,oBAAA,GAAAN,sBAAA,CAAAC,OAAA;AACA,IAAAM,qBAAA,GAAAP,sBAAA,CAAAC,OAAA;AACA,IAAAO,sBAAA,GAAAR,sBAAA,CAAAC,OAAA;AAEA,IAAAQ,kBAAA,GAAAT,sBAAA,CAAAC,OAAA;AACA,IAAAS,aAAA,GAAAV,sBAAA,CAAAC,OAAA;AAAyD,SAAAD,uBAAAW,CAAA,WAAAA,CAAA,IAAAA,CAAA,CAAAC,UAAA,GAAAD,CAAA,KAAAE,OAAA,EAAAF,CAAA","ignoreList":[]}
1
+ {"version":3,"names":["_ProfileScreen","_interopRequireDefault","require","_ManageAccountScreen","_NotificationsScreen","_PreferencesScreen","_ConnectedAppsScreen","_CreateAccountScreen","_AccountMembersScreen","_AccountSettingsScreen","_SupervisionScreen","_OxyOneScreen","_AccountSettings","e","__esModule","default"],"sourceRoot":"../../../../src","sources":["ui/screens/index.ts"],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AASA,IAAAA,cAAA,GAAAC,sBAAA,CAAAC,OAAA;AACA,IAAAC,oBAAA,GAAAF,sBAAA,CAAAC,OAAA;AACA,IAAAE,oBAAA,GAAAH,sBAAA,CAAAC,OAAA;AACA,IAAAG,kBAAA,GAAAJ,sBAAA,CAAAC,OAAA;AACA,IAAAI,oBAAA,GAAAL,sBAAA,CAAAC,OAAA;AACA,IAAAK,oBAAA,GAAAN,sBAAA,CAAAC,OAAA;AACA,IAAAM,qBAAA,GAAAP,sBAAA,CAAAC,OAAA;AACA,IAAAO,sBAAA,GAAAR,sBAAA,CAAAC,OAAA;AAEA,IAAAQ,kBAAA,GAAAT,sBAAA,CAAAC,OAAA;AACA,IAAAS,aAAA,GAAAV,sBAAA,CAAAC,OAAA;AAIA,IAAAU,gBAAA,GAAAV,OAAA;AAIuD,SAAAD,uBAAAY,CAAA,WAAAA,CAAA,IAAAA,CAAA,CAAAC,UAAA,GAAAD,CAAA,KAAAE,OAAA,EAAAF,CAAA","ignoreList":[]}