@oxyhq/services 26.2.0 → 27.1.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.
- package/lib/commonjs/index.js +50 -1
- package/lib/commonjs/index.js.map +1 -1
- package/lib/commonjs/ui/components/FollowButton.js +3 -5
- package/lib/commonjs/ui/components/FollowButton.js.map +1 -1
- package/lib/commonjs/ui/components/FollowTargetButton.js +292 -0
- package/lib/commonjs/ui/components/FollowTargetButton.js.map +1 -0
- package/lib/commonjs/ui/components/authChooser/requestSurfaces.js +14 -6
- package/lib/commonjs/ui/components/authChooser/requestSurfaces.js.map +1 -1
- package/lib/commonjs/ui/hooks/mutations/useAccountMutations.js +16 -3
- package/lib/commonjs/ui/hooks/mutations/useAccountMutations.js.map +1 -1
- package/lib/commonjs/ui/hooks/queries/userCache.js +164 -10
- package/lib/commonjs/ui/hooks/queries/userCache.js.map +1 -1
- package/lib/commonjs/ui/hooks/useFollowTarget.js +140 -0
- package/lib/commonjs/ui/hooks/useFollowTarget.js.map +1 -0
- package/lib/commonjs/ui/screens/AccountMembersScreen.js +49 -6
- package/lib/commonjs/ui/screens/AccountMembersScreen.js.map +1 -1
- package/lib/commonjs/ui/screens/AccountSettingsScreen.js +6 -1
- package/lib/commonjs/ui/screens/AccountSettingsScreen.js.map +1 -1
- package/lib/commonjs/ui/screens/CreateAccountScreen.js +73 -40
- package/lib/commonjs/ui/screens/CreateAccountScreen.js.map +1 -1
- package/lib/commonjs/ui/stores/followTargetStore.js +113 -0
- package/lib/commonjs/ui/stores/followTargetStore.js.map +1 -0
- package/lib/commonjs/ui/stores/resetSessionScopedStores.js +2 -0
- package/lib/commonjs/ui/stores/resetSessionScopedStores.js.map +1 -1
- package/lib/commonjs/ui/utils/avatarUtils.js +5 -0
- package/lib/commonjs/ui/utils/avatarUtils.js.map +1 -1
- package/lib/module/index.js +8 -2
- package/lib/module/index.js.map +1 -1
- package/lib/module/ui/components/FollowButton.js +3 -5
- package/lib/module/ui/components/FollowButton.js.map +1 -1
- package/lib/module/ui/components/FollowTargetButton.js +287 -0
- package/lib/module/ui/components/FollowTargetButton.js.map +1 -0
- package/lib/module/ui/components/authChooser/requestSurfaces.js +15 -7
- package/lib/module/ui/components/authChooser/requestSurfaces.js.map +1 -1
- package/lib/module/ui/hooks/mutations/useAccountMutations.js +16 -3
- package/lib/module/ui/hooks/mutations/useAccountMutations.js.map +1 -1
- package/lib/module/ui/hooks/queries/userCache.js +161 -10
- package/lib/module/ui/hooks/queries/userCache.js.map +1 -1
- package/lib/module/ui/hooks/useFollowTarget.js +136 -0
- package/lib/module/ui/hooks/useFollowTarget.js.map +1 -0
- package/lib/module/ui/screens/AccountMembersScreen.js +49 -6
- package/lib/module/ui/screens/AccountMembersScreen.js.map +1 -1
- package/lib/module/ui/screens/AccountSettingsScreen.js +6 -1
- package/lib/module/ui/screens/AccountSettingsScreen.js.map +1 -1
- package/lib/module/ui/screens/CreateAccountScreen.js +74 -41
- package/lib/module/ui/screens/CreateAccountScreen.js.map +1 -1
- package/lib/module/ui/stores/followTargetStore.js +107 -0
- package/lib/module/ui/stores/followTargetStore.js.map +1 -0
- package/lib/module/ui/stores/resetSessionScopedStores.js +2 -0
- package/lib/module/ui/stores/resetSessionScopedStores.js.map +1 -1
- package/lib/module/ui/utils/avatarUtils.js +5 -0
- package/lib/module/ui/utils/avatarUtils.js.map +1 -1
- package/lib/typescript/commonjs/index.d.ts +7 -2
- package/lib/typescript/commonjs/index.d.ts.map +1 -1
- package/lib/typescript/commonjs/ui/components/FollowButton.d.ts.map +1 -1
- package/lib/typescript/commonjs/ui/components/FollowTargetButton.d.ts +119 -0
- package/lib/typescript/commonjs/ui/components/FollowTargetButton.d.ts.map +1 -0
- package/lib/typescript/commonjs/ui/components/authChooser/requestSurfaces.d.ts +6 -1
- package/lib/typescript/commonjs/ui/components/authChooser/requestSurfaces.d.ts.map +1 -1
- package/lib/typescript/commonjs/ui/hooks/mutations/useAccountMutations.d.ts +1 -1
- package/lib/typescript/commonjs/ui/hooks/mutations/useAccountMutations.d.ts.map +1 -1
- package/lib/typescript/commonjs/ui/hooks/queries/userCache.d.ts +79 -2
- package/lib/typescript/commonjs/ui/hooks/queries/userCache.d.ts.map +1 -1
- package/lib/typescript/commonjs/ui/hooks/useFollowTarget.d.ts +41 -0
- package/lib/typescript/commonjs/ui/hooks/useFollowTarget.d.ts.map +1 -0
- package/lib/typescript/commonjs/ui/screens/AccountMembersScreen.d.ts.map +1 -1
- package/lib/typescript/commonjs/ui/screens/AccountSettingsScreen.d.ts.map +1 -1
- package/lib/typescript/commonjs/ui/screens/CreateAccountScreen.d.ts.map +1 -1
- package/lib/typescript/commonjs/ui/stores/followTargetStore.d.ts +70 -0
- package/lib/typescript/commonjs/ui/stores/followTargetStore.d.ts.map +1 -0
- package/lib/typescript/commonjs/ui/stores/resetSessionScopedStores.d.ts.map +1 -1
- package/lib/typescript/commonjs/ui/utils/avatarUtils.d.ts.map +1 -1
- package/lib/typescript/module/index.d.ts +7 -2
- package/lib/typescript/module/index.d.ts.map +1 -1
- package/lib/typescript/module/ui/components/FollowButton.d.ts.map +1 -1
- package/lib/typescript/module/ui/components/FollowTargetButton.d.ts +119 -0
- package/lib/typescript/module/ui/components/FollowTargetButton.d.ts.map +1 -0
- package/lib/typescript/module/ui/components/authChooser/requestSurfaces.d.ts +6 -1
- package/lib/typescript/module/ui/components/authChooser/requestSurfaces.d.ts.map +1 -1
- package/lib/typescript/module/ui/hooks/mutations/useAccountMutations.d.ts +1 -1
- package/lib/typescript/module/ui/hooks/mutations/useAccountMutations.d.ts.map +1 -1
- package/lib/typescript/module/ui/hooks/queries/userCache.d.ts +79 -2
- package/lib/typescript/module/ui/hooks/queries/userCache.d.ts.map +1 -1
- package/lib/typescript/module/ui/hooks/useFollowTarget.d.ts +41 -0
- package/lib/typescript/module/ui/hooks/useFollowTarget.d.ts.map +1 -0
- package/lib/typescript/module/ui/screens/AccountMembersScreen.d.ts.map +1 -1
- package/lib/typescript/module/ui/screens/AccountSettingsScreen.d.ts.map +1 -1
- package/lib/typescript/module/ui/screens/CreateAccountScreen.d.ts.map +1 -1
- package/lib/typescript/module/ui/stores/followTargetStore.d.ts +70 -0
- package/lib/typescript/module/ui/stores/followTargetStore.d.ts.map +1 -0
- package/lib/typescript/module/ui/stores/resetSessionScopedStores.d.ts.map +1 -1
- package/lib/typescript/module/ui/utils/avatarUtils.d.ts.map +1 -1
- package/package.json +4 -4
- package/src/index.ts +26 -3
- package/src/ui/components/FollowButton.tsx +3 -5
- package/src/ui/components/FollowTargetButton.tsx +326 -0
- package/src/ui/components/__tests__/followTargetButton.test.ts +132 -0
- package/src/ui/components/authChooser/requestSurfaces.tsx +12 -4
- package/src/ui/hooks/mutations/useAccountMutations.ts +20 -3
- package/src/ui/hooks/queries/__tests__/userCacheClear.test.ts +301 -0
- package/src/ui/hooks/queries/userCache.ts +211 -10
- package/src/ui/hooks/useFollowTarget.ts +194 -0
- package/src/ui/screens/AccountMembersScreen.tsx +62 -6
- package/src/ui/screens/AccountSettingsScreen.tsx +9 -1
- package/src/ui/screens/CreateAccountScreen.tsx +66 -36
- package/src/ui/stores/__tests__/resetSessionScopedStores.test.ts +23 -0
- package/src/ui/stores/followTargetStore.ts +119 -0
- package/src/ui/stores/resetSessionScopedStores.ts +2 -0
- package/src/ui/utils/avatarUtils.ts +9 -0
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"names":["useMutation","useQueryClient","authenticatedApiCall","queryKeys","invalidateAccountQueries","invalidateConnectedAppsQueries","invalidateUserQueries","invalidateSessionQueries","mutationKeys","useOxy","toast","refreshAvatarInStore","useAuthStore","useUpdateProfile","oxyServices","activeSessionId","user","queryClient","mutationKey","account","updateProfile","mutationFn","updates","onMutate","cancelQueries","queryKey","accounts","current","previousUser","getQueryData","optimisticUser","name","setQueryData","users","profile","onError","error","context","changedKeys","Object","keys","partialRollback","reduce","acc","key","currentProfile","Error","message","onSuccess","data","getState","setUser","avatar","useUploadAvatar","uploadAvatar","file","uploadResult","assetUpload","fileId","id","uri","_file","previousAvatar","success","useUpdateAccountSettings","mutation","updateSettings","currentUser","userId","updatedPrivacy","updatePrivacySettings","privacySettings","settings","previousPrivacy","partialPrivacyRollback","onSettled","invalidateQueries","mutate","mutateAsync","useUpdatePrivacySettings","targetUserId","privacy","previousPrivacySettings","length","currentPrivacy","incoming","requested","previous","updatedUser","useUpdateNotificationPreferences","updateNotificationPreferences","preferences","notificationPreferences","_preferences","useUpdateUserPreferences","updateUserPreferences","userPreferences","useRevokeConnectedApp","connectedApps","revoke","applicationId","revokeAppGrant","useUploadFile","uploadFile","visibility","metadata","onProgress"],"sourceRoot":"../../../../../src","sources":["ui/hooks/mutations/useAccountMutations.ts"],"mappings":"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","ignoreList":[]}
|
|
1
|
+
{"version":3,"names":["useMutation","useQueryClient","authenticatedApiCall","queryKeys","invalidateAccountQueries","invalidateConnectedAppsQueries","invalidateUserQueries","invalidateSessionQueries","mutationKeys","useOxy","toast","refreshAvatarInStore","useAuthStore","useAccountStore","clearedFieldsFromProfileUpdate","upsertCachedUser","useUpdateProfile","oxyServices","activeSessionId","user","queryClient","mutationKey","account","updateProfile","mutationFn","updates","onMutate","cancelQueries","queryKey","accounts","current","previousUser","getQueryData","optimisticUser","name","setQueryData","users","profile","onError","error","context","changedKeys","Object","keys","partialRollback","reduce","acc","key","currentProfile","Error","message","onSuccess","data","getState","setUser","cleared","id","length","undefined","avatar","updateAccount","avatarUrl","useUploadAvatar","uploadAvatar","file","uploadResult","assetUpload","fileId","uri","_file","previousAvatar","success","useUpdateAccountSettings","mutation","updateSettings","currentUser","userId","updatedPrivacy","updatePrivacySettings","privacySettings","settings","previousPrivacy","partialPrivacyRollback","onSettled","invalidateQueries","mutate","mutateAsync","useUpdatePrivacySettings","targetUserId","privacy","previousPrivacySettings","currentPrivacy","incoming","requested","previous","updatedUser","useUpdateNotificationPreferences","updateNotificationPreferences","preferences","notificationPreferences","_preferences","useUpdateUserPreferences","updateUserPreferences","userPreferences","useRevokeConnectedApp","connectedApps","revoke","applicationId","revokeAppGrant","useUploadFile","uploadFile","visibility","metadata","onProgress"],"sourceRoot":"../../../../../src","sources":["ui/hooks/mutations/useAccountMutations.ts"],"mappings":"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","ignoreList":[]}
|
|
@@ -38,6 +38,33 @@
|
|
|
38
38
|
* never overwritten by a degraded/empty one (empty username, the
|
|
39
39
|
* `'Unknown user'` ghost-author sentinel, `null` avatar).
|
|
40
40
|
*
|
|
41
|
+
* EXPRESSING A DELIBERATE CLEAR ("remove my picture")
|
|
42
|
+
* ---------------------------------------------------
|
|
43
|
+
* The anti-degradation rule above is right for a sparse source and wrong for a
|
|
44
|
+
* user who just emptied the field — and the two are NOT distinguishable from the
|
|
45
|
+
* payload. Measured against oxy-api's canonical serializer (`formatUserResponse`
|
|
46
|
+
* in `packages/api/src/utils/userTransform.ts`, which passes every field through
|
|
47
|
+
* `typeof value === 'string' ? value : undefined`): an account whose avatar,
|
|
48
|
+
* bio and display name were all just CLEARED serializes to
|
|
49
|
+
* `{"id":…,"publicKey":…,"username":…,"name":{},"languages":[]}` — byte-identical
|
|
50
|
+
* to the same account read as a sparse projection. There is no `null` and no
|
|
51
|
+
* `''` on the wire to key on. The information that a field was deliberately
|
|
52
|
+
* emptied exists ONLY at the call site that performed the write.
|
|
53
|
+
*
|
|
54
|
+
* So the caller declares it: `upsertCachedUser(qc, user, viewerId, { cleared:
|
|
55
|
+
* ['avatar'] })`. For a declared field an incoming EMPTY value means the field
|
|
56
|
+
* IS empty and the stale value is dropped; a MEANINGFUL incoming value still
|
|
57
|
+
* wins as usual (so `{ cleared: ['name.displayName'] }` on a personal account,
|
|
58
|
+
* where clearing the explicit name makes the server return the COMPOSED one,
|
|
59
|
+
* keeps the composed name rather than blanking it).
|
|
60
|
+
*
|
|
61
|
+
* A blanket "this source is authoritative, treat every absent field as cleared"
|
|
62
|
+
* flag was considered and rejected: because the two payloads are byte-identical,
|
|
63
|
+
* such a flag is an unverifiable promise about provenance, and the failure mode
|
|
64
|
+
* of getting it wrong is blanking real identity data in every Oxy app. Naming
|
|
65
|
+
* the fields states something the caller actually observed — which fields the
|
|
66
|
+
* user emptied — and bounds the damage to exactly those.
|
|
67
|
+
*
|
|
41
68
|
* It is a cache write only — zero network, one `setQueryData` per key.
|
|
42
69
|
*/
|
|
43
70
|
|
|
@@ -56,6 +83,75 @@ import { queryKeys } from "./queryKeys.js";
|
|
|
56
83
|
/** The degraded display-name sentinel (ghost-author rule). */
|
|
57
84
|
const DEGRADED_DISPLAY_NAME = "Unknown user";
|
|
58
85
|
|
|
86
|
+
/**
|
|
87
|
+
* The profile fields a user can genuinely EMPTY through a real Oxy write, and
|
|
88
|
+
* for which "empty" is a state every renderer already handles.
|
|
89
|
+
*
|
|
90
|
+
* Deliberately a closed list rather than "any field": a clear DELETES data from
|
|
91
|
+
* the cache, so the blast radius of a mistaken declaration is bounded here
|
|
92
|
+
* instead of resting on each call site. `username` is absent because an account
|
|
93
|
+
* always has one; `_count` and `relationship` are absent because they are
|
|
94
|
+
* server-derived, never user-emptied — and dropping a viewer `relationship` is
|
|
95
|
+
* the exact "Follows you vanishes" bug this module exists to prevent.
|
|
96
|
+
*
|
|
97
|
+
* Each entry is clearable through a shipped write path: `avatar`, `bio`,
|
|
98
|
+
* `description` and `name.displayName` via `UserProfileUpdate` (`''` clears) and
|
|
99
|
+
* `UpdateAccountInput` (`null` clears avatar/bio; `accountCategories: []`
|
|
100
|
+
* clears the ordered category list), and `color` via its nullable field.
|
|
101
|
+
*/
|
|
102
|
+
export const CLEARABLE_USER_FIELDS = ["avatar", "bio", "description", "color", "accountCategories", "name.displayName"];
|
|
103
|
+
|
|
104
|
+
/** A field nameable in {@link UpsertCachedUserOptions.cleared}. */
|
|
105
|
+
|
|
106
|
+
/**
|
|
107
|
+
* Fields the caller deliberately emptied in a `PUT /users/me` patch. The wire
|
|
108
|
+
* response omits cleared scalars, so the cache needs this list to drop stale
|
|
109
|
+
* values immediately instead of waiting for a refetch that merges the same
|
|
110
|
+
* sparse payload.
|
|
111
|
+
*/
|
|
112
|
+
export function clearedFieldsFromProfileUpdate(updates) {
|
|
113
|
+
const cleared = [];
|
|
114
|
+
if ("avatar" in updates && !isMeaningful(updates.avatar)) {
|
|
115
|
+
cleared.push("avatar");
|
|
116
|
+
}
|
|
117
|
+
if ("bio" in updates && !isMeaningful(updates.bio)) {
|
|
118
|
+
cleared.push("bio");
|
|
119
|
+
}
|
|
120
|
+
if ("description" in updates && !isMeaningful(updates.description)) {
|
|
121
|
+
cleared.push("description");
|
|
122
|
+
}
|
|
123
|
+
if ("color" in updates && updates.color === null) {
|
|
124
|
+
cleared.push("color");
|
|
125
|
+
}
|
|
126
|
+
if (updates.name !== undefined && "displayName" in updates.name && !isMeaningful(updates.name.displayName)) {
|
|
127
|
+
cleared.push("name.displayName");
|
|
128
|
+
}
|
|
129
|
+
return cleared;
|
|
130
|
+
}
|
|
131
|
+
|
|
132
|
+
/**
|
|
133
|
+
* Same contract as {@link clearedFieldsFromProfileUpdate} for managed-account
|
|
134
|
+
* `PATCH /accounts/:id` writes (`null` clears avatar/bio/category).
|
|
135
|
+
*/
|
|
136
|
+
export function clearedFieldsFromAccountUpdate(input) {
|
|
137
|
+
const cleared = [];
|
|
138
|
+
if ("avatar" in input && !isMeaningful(input.avatar)) {
|
|
139
|
+
cleared.push("avatar");
|
|
140
|
+
}
|
|
141
|
+
if ("bio" in input && !isMeaningful(input.bio)) {
|
|
142
|
+
cleared.push("bio");
|
|
143
|
+
}
|
|
144
|
+
if ("accountCategories" in input && Array.isArray(input.accountCategories) && input.accountCategories.length === 0) {
|
|
145
|
+
cleared.push("accountCategories");
|
|
146
|
+
}
|
|
147
|
+
if (input.name !== undefined && "displayName" in input.name && !isMeaningful(input.name.displayName)) {
|
|
148
|
+
cleared.push("name.displayName");
|
|
149
|
+
}
|
|
150
|
+
return cleared;
|
|
151
|
+
}
|
|
152
|
+
|
|
153
|
+
/** Options for {@link upsertCachedUser}. */
|
|
154
|
+
|
|
59
155
|
/** A cache entry always carries a resolved string `id`. */
|
|
60
156
|
|
|
61
157
|
/**
|
|
@@ -120,9 +216,38 @@ function normalizeIncoming(user) {
|
|
|
120
216
|
return cached.id ? cached : null;
|
|
121
217
|
}
|
|
122
218
|
|
|
123
|
-
/**
|
|
124
|
-
|
|
125
|
-
|
|
219
|
+
/**
|
|
220
|
+
* Copy a name WITHOUT its `displayName`. The key must end up ABSENT rather than
|
|
221
|
+
* present-and-`undefined`: consumers render `name.displayName` directly and fall
|
|
222
|
+
* back to the handle when it is missing, and a present-but-undefined key also
|
|
223
|
+
* changes what a later merge sees.
|
|
224
|
+
*/
|
|
225
|
+
function omitDisplayName(name) {
|
|
226
|
+
const result = {};
|
|
227
|
+
for (const [key, value] of Object.entries(name)) {
|
|
228
|
+
if (key !== "displayName") result[key] = value;
|
|
229
|
+
}
|
|
230
|
+
return result;
|
|
231
|
+
}
|
|
232
|
+
|
|
233
|
+
/**
|
|
234
|
+
* Merge two `name` objects field-by-field, with anti-degradation on
|
|
235
|
+
* `displayName`.
|
|
236
|
+
*
|
|
237
|
+
* `clearDisplayName` is the declared-clear escape hatch: the incoming value
|
|
238
|
+
* still wins whenever it is meaningful (an account that clears its explicit
|
|
239
|
+
* display name gets the server-COMPOSED one back, which must not be discarded),
|
|
240
|
+
* and only a genuinely empty incoming value drops the stored one.
|
|
241
|
+
*
|
|
242
|
+
* Both incoming shapes reach the clear, and they are separate branches: the
|
|
243
|
+
* measured oxy-api response carries `name` as a PRESENT-but-empty object, while
|
|
244
|
+
* a caller passing a bare user object may carry no `name` key at all.
|
|
245
|
+
*/
|
|
246
|
+
function mergeName(existing, incoming, clearDisplayName) {
|
|
247
|
+
if (incoming === undefined) {
|
|
248
|
+
if (!clearDisplayName || existing === undefined) return existing;
|
|
249
|
+
return omitDisplayName(existing);
|
|
250
|
+
}
|
|
126
251
|
if (existing === undefined) return incoming;
|
|
127
252
|
const merged = {
|
|
128
253
|
...existing
|
|
@@ -131,11 +256,13 @@ function mergeName(existing, incoming) {
|
|
|
131
256
|
if (key === "displayName") continue;
|
|
132
257
|
if (isMeaningful(value)) merged[key] = value;
|
|
133
258
|
}
|
|
134
|
-
// Never let an empty / `'Unknown user'` displayName overwrite a real one
|
|
259
|
+
// Never let an empty / `'Unknown user'` displayName overwrite a real one —
|
|
260
|
+
// unless the caller declared that the user cleared it.
|
|
135
261
|
if (isMeaningfulDisplayName(incoming.displayName)) {
|
|
136
262
|
merged.displayName = incoming.displayName;
|
|
263
|
+
return merged;
|
|
137
264
|
}
|
|
138
|
-
return merged;
|
|
265
|
+
return clearDisplayName ? omitDisplayName(merged) : merged;
|
|
139
266
|
}
|
|
140
267
|
|
|
141
268
|
/** Merge `_count` field-by-field so a partial count never replaces a fuller one. */
|
|
@@ -170,9 +297,15 @@ function mergeRelationship(existing, incoming) {
|
|
|
170
297
|
* When `includeRelationship` is false (the viewer-independent by-id key), the
|
|
171
298
|
* viewer-relative `relationship` field is never read, written, or preserved —
|
|
172
299
|
* only the by-username key carries it (`useUserByUsername`).
|
|
300
|
+
*
|
|
301
|
+
* `cleared` names the fields the write deliberately emptied. It is applied
|
|
302
|
+
* AFTER the merge, because the merge loop can only ever COPY a meaningful value
|
|
303
|
+
* — an emptied field is absent from `incoming` (see the module docs: oxy-api
|
|
304
|
+
* omits it entirely) and would otherwise survive from `existing` untouched.
|
|
173
305
|
*/
|
|
174
306
|
function mergeUsers(existing, incoming, options) {
|
|
175
307
|
const includeRelationship = options?.includeRelationship ?? true;
|
|
308
|
+
const cleared = options?.cleared;
|
|
176
309
|
const merged = {
|
|
177
310
|
...existing
|
|
178
311
|
};
|
|
@@ -184,7 +317,7 @@ function mergeUsers(existing, incoming, options) {
|
|
|
184
317
|
}
|
|
185
318
|
if (isMeaningful(value)) merged[key] = value;
|
|
186
319
|
}
|
|
187
|
-
const name = mergeName(existing.name, incoming.name);
|
|
320
|
+
const name = mergeName(existing.name, incoming.name, cleared?.includes("name.displayName") ?? false);
|
|
188
321
|
if (name !== undefined) merged.name = name;
|
|
189
322
|
const count = mergeCount(existing._count, incoming._count);
|
|
190
323
|
if (count !== undefined) merged._count = count;
|
|
@@ -194,13 +327,20 @@ function mergeUsers(existing, incoming, options) {
|
|
|
194
327
|
} else {
|
|
195
328
|
merged.relationship = undefined;
|
|
196
329
|
}
|
|
330
|
+
if (cleared) {
|
|
331
|
+
for (const field of cleared) {
|
|
332
|
+
if (field === "name.displayName") continue; // handled by `mergeName`.
|
|
333
|
+
if (!isMeaningful(incoming[field])) delete merged[field];
|
|
334
|
+
}
|
|
335
|
+
}
|
|
197
336
|
return merged;
|
|
198
337
|
}
|
|
199
338
|
|
|
200
339
|
/** Merge-upsert a normalized user into one cache key (see module docs for semantics). */
|
|
201
340
|
function upsertOneKey(queryClient, key, incoming, options) {
|
|
202
341
|
const mergeOpts = {
|
|
203
|
-
includeRelationship: options.includeRelationship
|
|
342
|
+
includeRelationship: options.includeRelationship,
|
|
343
|
+
cleared: options.cleared
|
|
204
344
|
};
|
|
205
345
|
const existing = queryClient.getQueryData(key);
|
|
206
346
|
if (existing === undefined) {
|
|
@@ -243,16 +383,22 @@ function resolveViewerId(viewerId) {
|
|
|
243
383
|
* @param user A `User`-shaped object (may be sparse).
|
|
244
384
|
* @param viewerId The active viewer id for the by-username key. Defaults to
|
|
245
385
|
* the current auth-store user id.
|
|
386
|
+
* @param options `cleared` names the fields the write deliberately emptied
|
|
387
|
+
* — the ONLY way "remove my picture" can propagate, since a
|
|
388
|
+
* cleared field and an uncarried one are byte-identical on
|
|
389
|
+
* the wire (see the module docs).
|
|
246
390
|
*/
|
|
247
|
-
export function upsertCachedUser(queryClient, user, viewerId) {
|
|
391
|
+
export function upsertCachedUser(queryClient, user, viewerId, options) {
|
|
248
392
|
const incoming = normalizeIncoming(user);
|
|
249
393
|
if (!incoming) return;
|
|
394
|
+
const cleared = options?.cleared;
|
|
250
395
|
|
|
251
396
|
// By-id identity entry (read by `useUserById`). Not viewer-scoped — never store
|
|
252
397
|
// the viewer-relative `relationship` here or one viewer's follow state leaks
|
|
253
398
|
// into every other viewer's by-id cache entry.
|
|
254
399
|
upsertOneKey(queryClient, queryKeys.users.detail(incoming.id), incoming, {
|
|
255
|
-
includeRelationship: false
|
|
400
|
+
includeRelationship: false,
|
|
401
|
+
cleared
|
|
256
402
|
});
|
|
257
403
|
const username = incoming.username;
|
|
258
404
|
if (typeof username === "string" && username.trim() !== "") {
|
|
@@ -262,7 +408,8 @@ export function upsertCachedUser(queryClient, user, viewerId) {
|
|
|
262
408
|
// (`trim().toLowerCase()`) matches byte-for-byte.
|
|
263
409
|
const key = queryKeys.users.byUsername(username, resolveViewerId(viewerId));
|
|
264
410
|
upsertOneKey(queryClient, key, incoming, {
|
|
265
|
-
includeRelationship: true
|
|
411
|
+
includeRelationship: true,
|
|
412
|
+
cleared
|
|
266
413
|
});
|
|
267
414
|
}
|
|
268
415
|
}
|
|
@@ -271,6 +418,10 @@ export function upsertCachedUser(queryClient, user, viewerId) {
|
|
|
271
418
|
* Batch merge-upsert many users at once (for a feed / list / search response).
|
|
272
419
|
* Resolves the viewer id once and upserts each user cumulatively — a user that
|
|
273
420
|
* appears twice merges both slices into the single cache entry.
|
|
421
|
+
*
|
|
422
|
+
* Takes NO `cleared`, deliberately: a batch is a multi-user projection, so it is
|
|
423
|
+
* exactly the sparse source the anti-degradation guard exists for, and one
|
|
424
|
+
* declaration could not be true of every user in the array anyway.
|
|
274
425
|
*/
|
|
275
426
|
export function upsertCachedUsers(queryClient, users, viewerId) {
|
|
276
427
|
if (!Array.isArray(users) || users.length === 0) return;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"names":["useAuthStore","queryKeys","DEGRADED_DISPLAY_NAME","isMeaningful","value","undefined","trim","isMeaningfulDisplayName","isPlainObject","Array","isArray","normalizeName","name","trimmed","displayName","toCachedUser","user","fallbackId","rawName","rest","id","String","_id","normalized","normalizeIncoming","cached","mergeName","existing","incoming","merged","key","Object","entries","mergeCount","followers","following","mergeRelationship","isFollowing","followsYou","mergeUsers","options","includeRelationship","count","_count","relationship","upsertOneKey","queryClient","mergeOpts","getQueryData","seeded","setQueryData","updatedAt","dataUpdatedAt","getQueryState","resolveViewerId","viewerId","getState","upsertCachedUser","users","detail","username","byUsername","upsertCachedUsers","length","resolvedViewerId"],"sourceRoot":"../../../../../src","sources":["ui/hooks/queries/userCache.ts"],"mappings":"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","ignoreList":[]}
|
|
1
|
+
{"version":3,"names":["useAuthStore","queryKeys","DEGRADED_DISPLAY_NAME","CLEARABLE_USER_FIELDS","clearedFieldsFromProfileUpdate","updates","cleared","isMeaningful","avatar","push","bio","description","color","name","undefined","displayName","clearedFieldsFromAccountUpdate","input","Array","isArray","accountCategories","length","value","trim","isMeaningfulDisplayName","isPlainObject","normalizeName","trimmed","toCachedUser","user","fallbackId","rawName","rest","id","String","_id","normalized","normalizeIncoming","cached","omitDisplayName","result","key","Object","entries","mergeName","existing","incoming","clearDisplayName","merged","mergeCount","followers","following","mergeRelationship","isFollowing","followsYou","mergeUsers","options","includeRelationship","includes","count","_count","relationship","field","upsertOneKey","queryClient","mergeOpts","getQueryData","seeded","setQueryData","updatedAt","dataUpdatedAt","getQueryState","resolveViewerId","viewerId","getState","upsertCachedUser","users","detail","username","byUsername","upsertCachedUsers","resolvedViewerId"],"sourceRoot":"../../../../../src","sources":["ui/hooks/queries/userCache.ts"],"mappings":";;AAAA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAKA,SAASA,YAAY,QAAQ,2BAAwB;AACrD,SAASC,SAAS,QAAQ,gBAAa;;AAEvC;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAwBA;AACA,MAAMC,qBAAqB,GAAG,cAAc;;AAE5C;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,OAAO,MAAMC,qBAAqB,GAAG,CACpC,QAAQ,EACR,KAAK,EACL,aAAa,EACb,OAAO,EACP,mBAAmB,EACnB,kBAAkB,CACT;;AAEV;;AAGA;AACA;AACA;AACA;AACA;AACA;AACA,OAAO,SAASC,8BAA8BA,CAC7CC,OAA0B,EACH;EACvB,MAAMC,OAA6B,GAAG,EAAE;EACxC,IAAI,QAAQ,IAAID,OAAO,IAAI,CAACE,YAAY,CAACF,OAAO,CAACG,MAAM,CAAC,EAAE;IACzDF,OAAO,CAACG,IAAI,CAAC,QAAQ,CAAC;EACvB;EACA,IAAI,KAAK,IAAIJ,OAAO,IAAI,CAACE,YAAY,CAACF,OAAO,CAACK,GAAG,CAAC,EAAE;IACnDJ,OAAO,CAACG,IAAI,CAAC,KAAK,CAAC;EACpB;EACA,IAAI,aAAa,IAAIJ,OAAO,IAAI,CAACE,YAAY,CAACF,OAAO,CAACM,WAAW,CAAC,EAAE;IACnEL,OAAO,CAACG,IAAI,CAAC,aAAa,CAAC;EAC5B;EACA,IAAI,OAAO,IAAIJ,OAAO,IAAIA,OAAO,CAACO,KAAK,KAAK,IAAI,EAAE;IACjDN,OAAO,CAACG,IAAI,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","ignoreList":[]}
|
|
@@ -0,0 +1,136 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
|
|
3
|
+
/**
|
|
4
|
+
* `useFollowTarget` — the one hook every application uses to follow anything.
|
|
5
|
+
*
|
|
6
|
+
* Wraps the `/v2/follows` SDK methods with the store above, an optimistic
|
|
7
|
+
* update, and a rollback. Nothing in here knows what kind of thing it is
|
|
8
|
+
* following, which is the property that lets an application the SDK has never
|
|
9
|
+
* heard of use it without a release of this package.
|
|
10
|
+
*
|
|
11
|
+
* ## Optimism, and its one limit
|
|
12
|
+
*
|
|
13
|
+
* A follow flips the button immediately and rolls back if the server refuses,
|
|
14
|
+
* because the round trip is long enough to feel like a bug otherwise. But an
|
|
15
|
+
* optimistic follow has no relationship id until the server answers, and every
|
|
16
|
+
* other operation addresses the relationship — so those stay disabled for the
|
|
17
|
+
* width of one request rather than being sent with a guessed id.
|
|
18
|
+
*/
|
|
19
|
+
|
|
20
|
+
import { useCallback, useEffect } from 'react';
|
|
21
|
+
import { useOxy } from "../context/OxyContext.js";
|
|
22
|
+
import { isFollowedGlobally, UNKNOWN_FOLLOW_STATUS, useFollowTargetStore, withApplicationMode } from "../stores/followTargetStore.js";
|
|
23
|
+
export function useFollowTarget(targetId, options) {
|
|
24
|
+
const {
|
|
25
|
+
oxyServices,
|
|
26
|
+
canUsePrivateApi
|
|
27
|
+
} = useOxy();
|
|
28
|
+
const status = useFollowTargetStore(useCallback(s => targetId ? s.statuses[targetId] : undefined, [targetId]));
|
|
29
|
+
const isPending = useFollowTargetStore(useCallback(s => targetId ? s.pending[targetId] ?? false : false, [targetId]));
|
|
30
|
+
const error = useFollowTargetStore(useCallback(s => targetId ? s.errors[targetId] : undefined, [targetId]));
|
|
31
|
+
const initialStatus = options?.initialStatus;
|
|
32
|
+
|
|
33
|
+
// A caller that already knows the status — a follow list, a feed payload —
|
|
34
|
+
// seeds it rather than making this hook re-ask once per rendered row.
|
|
35
|
+
useEffect(() => {
|
|
36
|
+
if (!targetId || !initialStatus) return;
|
|
37
|
+
const store = useFollowTargetStore.getState();
|
|
38
|
+
if (!store.statuses[targetId]) store.setStatus(targetId, initialStatus);
|
|
39
|
+
}, [targetId, initialStatus]);
|
|
40
|
+
const refresh = useCallback(async () => {
|
|
41
|
+
// Gated on `canUsePrivateApi`, not on `isAuthenticated`: during the session
|
|
42
|
+
// cold boot the second is true well before the first, and a read sent in
|
|
43
|
+
// that window 401s and would leave the button stuck reporting an error the
|
|
44
|
+
// user cannot act on.
|
|
45
|
+
if (!targetId || !canUsePrivateApi) return;
|
|
46
|
+
try {
|
|
47
|
+
const next = await oxyServices.getFollowTargetStatus(targetId);
|
|
48
|
+
useFollowTargetStore.getState().setStatus(targetId, next);
|
|
49
|
+
useFollowTargetStore.getState().setError(targetId, undefined);
|
|
50
|
+
} catch (e) {
|
|
51
|
+
useFollowTargetStore.getState().setError(targetId, e instanceof Error ? e.message : 'Could not read follow status');
|
|
52
|
+
}
|
|
53
|
+
}, [targetId, canUsePrivateApi, oxyServices]);
|
|
54
|
+
useEffect(() => {
|
|
55
|
+
if (!targetId || !canUsePrivateApi) return;
|
|
56
|
+
if (useFollowTargetStore.getState().statuses[targetId]) return;
|
|
57
|
+
void refresh();
|
|
58
|
+
}, [targetId, canUsePrivateApi, refresh]);
|
|
59
|
+
|
|
60
|
+
/**
|
|
61
|
+
* Run a mutation optimistically: show `optimistic` at once, keep the previous
|
|
62
|
+
* value, and put it back if the server refuses. Every mutation below goes
|
|
63
|
+
* through this so the rollback cannot be forgotten in one of them.
|
|
64
|
+
*/
|
|
65
|
+
const mutate = useCallback(async (optimistic, run, failureMessage) => {
|
|
66
|
+
if (!targetId) return;
|
|
67
|
+
const store = useFollowTargetStore.getState();
|
|
68
|
+
const previous = store.statuses[targetId];
|
|
69
|
+
store.setStatus(targetId, optimistic);
|
|
70
|
+
store.setPending(targetId, true);
|
|
71
|
+
store.setError(targetId, undefined);
|
|
72
|
+
try {
|
|
73
|
+
const settled = await run();
|
|
74
|
+
if (settled) useFollowTargetStore.getState().setStatus(targetId, settled);
|
|
75
|
+
} catch (e) {
|
|
76
|
+
const s = useFollowTargetStore.getState();
|
|
77
|
+
// Back to what was true, not to a guess. Clearing the entry instead
|
|
78
|
+
// would make the next render ask again and flash the wrong state.
|
|
79
|
+
if (previous) s.setStatus(targetId, previous);
|
|
80
|
+
s.setError(targetId, e instanceof Error ? e.message : failureMessage);
|
|
81
|
+
} finally {
|
|
82
|
+
useFollowTargetStore.getState().setPending(targetId, false);
|
|
83
|
+
}
|
|
84
|
+
}, [targetId]);
|
|
85
|
+
const current = status ?? UNKNOWN_FOLLOW_STATUS;
|
|
86
|
+
const follow = useCallback(async opts => {
|
|
87
|
+
if (!targetId) return;
|
|
88
|
+
await mutate({
|
|
89
|
+
...withApplicationMode({
|
|
90
|
+
...current,
|
|
91
|
+
globalState: 'active'
|
|
92
|
+
}, current.applicationMode),
|
|
93
|
+
...(opts?.expiresIn ? {
|
|
94
|
+
expiresAt: new Date(Date.now() + opts.expiresIn * 1000).toISOString()
|
|
95
|
+
} : {})
|
|
96
|
+
},
|
|
97
|
+
// The server returns the whole resulting status, so store it rather
|
|
98
|
+
// than reconstructing one: `effectiveState`'s derivation lives there,
|
|
99
|
+
// and a client recomputing it is a second implementation of one rule.
|
|
100
|
+
async () => (await oxyServices.followTarget(targetId, opts)).status, 'Could not follow');
|
|
101
|
+
}, [targetId, current, mutate, oxyServices]);
|
|
102
|
+
const unfollow = useCallback(async () => {
|
|
103
|
+
const relationshipId = current.relationshipId;
|
|
104
|
+
if (!targetId || !relationshipId) return;
|
|
105
|
+
await mutate({
|
|
106
|
+
...UNKNOWN_FOLLOW_STATUS
|
|
107
|
+
}, async () => {
|
|
108
|
+
await oxyServices.unfollowTarget(relationshipId);
|
|
109
|
+
return {
|
|
110
|
+
...UNKNOWN_FOLLOW_STATUS
|
|
111
|
+
};
|
|
112
|
+
}, 'Could not unfollow');
|
|
113
|
+
}, [targetId, current.relationshipId, mutate, oxyServices]);
|
|
114
|
+
const setMode = useCallback(async mode => {
|
|
115
|
+
const relationshipId = current.relationshipId;
|
|
116
|
+
if (!targetId || !relationshipId) return;
|
|
117
|
+
await mutate(withApplicationMode(current, mode), async () => {
|
|
118
|
+
await oxyServices.setFollowApplicationMode(relationshipId, mode);
|
|
119
|
+
}, 'Could not change this app’s setting for this follow');
|
|
120
|
+
}, [targetId, current, mutate, oxyServices]);
|
|
121
|
+
const disableHere = useCallback(() => setMode('disabled'), [setMode]);
|
|
122
|
+
const enableHere = useCallback(() => setMode('enabled'), [setMode]);
|
|
123
|
+
return {
|
|
124
|
+
status: current,
|
|
125
|
+
isFollowing: isFollowedGlobally(current),
|
|
126
|
+
isUnknown: status === undefined,
|
|
127
|
+
isPending,
|
|
128
|
+
error,
|
|
129
|
+
follow,
|
|
130
|
+
unfollow,
|
|
131
|
+
disableHere,
|
|
132
|
+
enableHere,
|
|
133
|
+
refresh
|
|
134
|
+
};
|
|
135
|
+
}
|
|
136
|
+
//# sourceMappingURL=useFollowTarget.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"names":["useCallback","useEffect","useOxy","isFollowedGlobally","UNKNOWN_FOLLOW_STATUS","useFollowTargetStore","withApplicationMode","useFollowTarget","targetId","options","oxyServices","canUsePrivateApi","status","s","statuses","undefined","isPending","pending","error","errors","initialStatus","store","getState","setStatus","refresh","next","getFollowTargetStatus","setError","e","Error","message","mutate","optimistic","run","failureMessage","previous","setPending","settled","current","follow","opts","globalState","applicationMode","expiresIn","expiresAt","Date","now","toISOString","followTarget","unfollow","relationshipId","unfollowTarget","setMode","mode","setFollowApplicationMode","disableHere","enableHere","isFollowing","isUnknown"],"sourceRoot":"../../../../src","sources":["ui/hooks/useFollowTarget.ts"],"mappings":"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","ignoreList":[]}
|
|
@@ -11,6 +11,7 @@ import { Text } from '@oxyhq/bloom/typography';
|
|
|
11
11
|
import { Button } from '@oxyhq/bloom/button';
|
|
12
12
|
import { TextField, TextFieldInput } from '@oxyhq/bloom/text-field';
|
|
13
13
|
import { Divider } from '@oxyhq/bloom/divider';
|
|
14
|
+
import { getNormalizedUserHandle } from '@oxyhq/core';
|
|
14
15
|
import { useOxy } from "../context/OxyContext.js";
|
|
15
16
|
import { useI18n } from "../hooks/useI18n.js";
|
|
16
17
|
import { useSurfaceHeader } from "../hooks/useSurfaceHeader.js";
|
|
@@ -74,10 +75,36 @@ const AccountMembersScreen = ({
|
|
|
74
75
|
enabled: canUsePrivateApi && id.length > 0 && canRead
|
|
75
76
|
});
|
|
76
77
|
const members = useMemo(() => membersQuery.data ?? [], [membersQuery.data]);
|
|
77
|
-
const
|
|
78
|
+
const memberUserIds = useMemo(() => [...new Set(members.map(member => member.memberUserId).filter(id => id.length > 0))], [members]);
|
|
79
|
+
const memberProfilesQuery = useQuery({
|
|
80
|
+
queryKey: ['users', 'by-ids', memberUserIds],
|
|
81
|
+
queryFn: () => oxyServices.getUsersByIds(memberUserIds),
|
|
82
|
+
enabled: canUsePrivateApi && memberUserIds.length > 0
|
|
83
|
+
});
|
|
84
|
+
const memberLabelByUserId = useMemo(() => {
|
|
85
|
+
const labels = new Map();
|
|
86
|
+
for (const profile of memberProfilesQuery.data ?? []) {
|
|
87
|
+
// `getNormalizedUserHandle` answers null for an actor with no resolvable
|
|
88
|
+
// handle. Leaving that entry out is what lets `memberDisplayLabel`'s own
|
|
89
|
+
// fallback run, rather than storing a null the map is not typed to hold.
|
|
90
|
+
const handle = getNormalizedUserHandle(profile);
|
|
91
|
+
if (handle) labels.set(profile.id, handle);
|
|
92
|
+
}
|
|
93
|
+
return labels;
|
|
94
|
+
}, [memberProfilesQuery.data]);
|
|
95
|
+
const memberDisplayLabel = useCallback(memberUserId => memberLabelByUserId.get(memberUserId) ?? memberUserId, [memberLabelByUserId]);
|
|
96
|
+
// DIRECT owners only. The list also carries members whose row lives on an
|
|
97
|
+
// ancestor, and the last-owner rule this count feeds is about the rows on THIS
|
|
98
|
+
// account — the server's guard counts those. Including an inherited owner
|
|
99
|
+
// would make a child that has no owner of its own look like it has exactly
|
|
100
|
+
// one, and silently disable removing anybody.
|
|
101
|
+
const ownerCount = useMemo(() => members.filter(m => m.role === 'owner' && (m.source ?? 'direct') === 'direct').length, [members]);
|
|
78
102
|
const invalidateMembers = useCallback(() => {
|
|
103
|
+
// Inherited rows on descendant rosters derive from ancestor membership
|
|
104
|
+
// tables — mirror the SDK's per-account prefix sweep so every cached member
|
|
105
|
+
// list refetches, not only the account that was mutated.
|
|
79
106
|
queryClient.invalidateQueries({
|
|
80
|
-
queryKey: ['accounts', 'members'
|
|
107
|
+
queryKey: ['accounts', 'members']
|
|
81
108
|
});
|
|
82
109
|
queryClient.invalidateQueries({
|
|
83
110
|
queryKey: ['accounts', 'detail', id]
|
|
@@ -282,9 +309,16 @@ const AccountMembersScreen = ({
|
|
|
282
309
|
children: members.map((member, index) => {
|
|
283
310
|
const isOwner = member.role === 'owner';
|
|
284
311
|
const isLastOwner = isOwner && ownerCount <= 1;
|
|
285
|
-
|
|
286
|
-
|
|
287
|
-
|
|
312
|
+
// An INHERITED entry's row lives on an ancestor account, and
|
|
313
|
+
// every member mutation is scoped to rows on the account in
|
|
314
|
+
// the path — so offering to edit, remove or promote one would
|
|
315
|
+
// be offering a request the server answers 404. The row is
|
|
316
|
+
// changed where it lives, on that ancestor's own member
|
|
317
|
+
// screen.
|
|
318
|
+
const isEditableHere = (member.source ?? 'direct') === 'direct';
|
|
319
|
+
const canEditThisRole = canUpdate && isEditableHere && !isOwner;
|
|
320
|
+
const canRemoveThisMember = canRemove && isEditableHere && !isLastOwner && (!isOwner || canTransfer);
|
|
321
|
+
const canTransferToThis = canTransfer && isEditableHere && !isOwner && member.status === 'active';
|
|
288
322
|
return /*#__PURE__*/_jsxs(View, {
|
|
289
323
|
children: [index > 0 ? /*#__PURE__*/_jsx(Divider, {
|
|
290
324
|
color: colors.border,
|
|
@@ -296,7 +330,7 @@ const AccountMembersScreen = ({
|
|
|
296
330
|
children: [/*#__PURE__*/_jsx(Text, {
|
|
297
331
|
className: "text-body font-bodyBold text-text flex-1",
|
|
298
332
|
numberOfLines: 1,
|
|
299
|
-
children: member.memberUserId
|
|
333
|
+
children: memberDisplayLabel(member.memberUserId)
|
|
300
334
|
}), isOwner ? /*#__PURE__*/_jsx(View, {
|
|
301
335
|
className: "px-space-8 py-space-4 rounded-radius-full",
|
|
302
336
|
style: {
|
|
@@ -309,6 +343,15 @@ const AccountMembersScreen = ({
|
|
|
309
343
|
},
|
|
310
344
|
children: roleLabel('owner')
|
|
311
345
|
})
|
|
346
|
+
}) : null, !isEditableHere ? /*#__PURE__*/_jsx(View, {
|
|
347
|
+
className: "px-space-8 py-space-4 rounded-radius-full",
|
|
348
|
+
style: {
|
|
349
|
+
backgroundColor: colors.card
|
|
350
|
+
},
|
|
351
|
+
children: /*#__PURE__*/_jsx(Text, {
|
|
352
|
+
className: "text-caption font-caption text-text-secondary",
|
|
353
|
+
children: t('accounts.members.inherited') || 'Inherited'
|
|
354
|
+
})
|
|
312
355
|
}) : null, member.status !== 'active' ? /*#__PURE__*/_jsx(View, {
|
|
313
356
|
className: "px-space-8 py-space-4 rounded-radius-full",
|
|
314
357
|
style: {
|