@oxyhq/services 10.2.11 → 10.3.1
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.map +1 -1
- package/lib/commonjs/ui/components/FollowButton.js +107 -1
- package/lib/commonjs/ui/components/FollowButton.js.map +1 -1
- package/lib/commonjs/ui/hooks/useFollow.js +29 -6
- package/lib/commonjs/ui/hooks/useFollow.js.map +1 -1
- package/lib/commonjs/ui/hooks/useFollow.types.js +4 -0
- package/lib/commonjs/ui/stores/followStore.js +68 -0
- package/lib/commonjs/ui/stores/followStore.js.map +1 -1
- package/lib/module/index.js.map +1 -1
- package/lib/module/ui/components/FollowButton.js +109 -3
- package/lib/module/ui/components/FollowButton.js.map +1 -1
- package/lib/module/ui/hooks/useFollow.js +29 -6
- package/lib/module/ui/hooks/useFollow.js.map +1 -1
- package/lib/module/ui/hooks/useFollow.types.js +2 -0
- package/lib/module/ui/stores/followStore.js +68 -0
- package/lib/module/ui/stores/followStore.js.map +1 -1
- package/lib/typescript/commonjs/index.d.ts +1 -0
- package/lib/typescript/commonjs/index.d.ts.map +1 -1
- package/lib/typescript/commonjs/ui/components/FollowButton.d.ts +24 -4
- package/lib/typescript/commonjs/ui/components/FollowButton.d.ts.map +1 -1
- package/lib/typescript/commonjs/ui/hooks/useFollow.d.ts +3 -1
- package/lib/typescript/commonjs/ui/hooks/useFollow.d.ts.map +1 -1
- package/lib/typescript/commonjs/ui/hooks/useFollow.types.d.ts +2 -0
- package/lib/typescript/commonjs/ui/hooks/useFollow.types.d.ts.map +1 -1
- package/lib/typescript/commonjs/ui/stores/followStore.d.ts +2 -1
- package/lib/typescript/commonjs/ui/stores/followStore.d.ts.map +1 -1
- package/lib/typescript/module/index.d.ts +1 -0
- package/lib/typescript/module/index.d.ts.map +1 -1
- package/lib/typescript/module/ui/components/FollowButton.d.ts +24 -4
- package/lib/typescript/module/ui/components/FollowButton.d.ts.map +1 -1
- package/lib/typescript/module/ui/hooks/useFollow.d.ts +3 -1
- package/lib/typescript/module/ui/hooks/useFollow.d.ts.map +1 -1
- package/lib/typescript/module/ui/hooks/useFollow.types.d.ts +2 -0
- package/lib/typescript/module/ui/hooks/useFollow.types.d.ts.map +1 -1
- package/lib/typescript/module/ui/stores/followStore.d.ts +2 -1
- package/lib/typescript/module/ui/stores/followStore.d.ts.map +1 -1
- package/package.json +2 -2
- package/src/index.ts +1 -0
- package/src/ui/components/FollowButton.tsx +154 -10
- package/src/ui/hooks/useFollow.ts +35 -11
- package/src/ui/hooks/useFollow.types.ts +3 -0
- package/src/ui/stores/followStore.ts +47 -1
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"names":["_core","require","_reactNative","_OxyProvider","_interopRequireDefault","_OxyContext","_useAuth","_FontLoader","_authStore","_assetStore","_useSessionSocket","_useAssets","_useFileDownloadUrl","_useFollow","_useAccountQueries","_useServicesQueries","_useSecurityQueries","_usePaymentQueries","_useAccountMutations","_useServicesMutations","_mutationFactory","_mutationKeys","_queryKeys","_useMutationStatus","_errorHandlers","_useFileFiltering","_Avatar","_OxySignInButton","_OxyAuthPrompt","_OxyLogo","_FollowButton","_LogoIcon","_LogoText","_ActingAsBanner","_AccountMenu","_AccountMenuButton","_useDeviceAccounts","_ManageAccountScreen","_NotificationsScreen","_PreferencesScreen","_ConnectedAppsScreen","_bottomSheetManager","_SignInModal","e","__esModule","default","setPlatformOS","Platform","OS"],"sourceRoot":"../../src","sources":["index.ts"],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAuBA,IAAAA,KAAA,GAAAC,OAAA;AACA,IAAAC,YAAA,GAAAD,OAAA;AAMA,IAAAE,YAAA,GAAAC,sBAAA,CAAAH,OAAA;AACA,IAAAI,WAAA,GAAAJ,OAAA;AACA,IAAAK,QAAA,GAAAL,OAAA;AAMA,IAAAM,WAAA,GAAAN,OAAA;AAKA,IAAAO,UAAA,GAAAP,OAAA;AACA,IAAAQ,WAAA,GAAAR,OAAA;AAgBA,IAAAS,iBAAA,GAAAT,OAAA;AACA,IAAAU,UAAA,GAAAV,OAAA;AACA,IAAAW,mBAAA,GAAAX,OAAA;AACA,IAAAY,UAAA,GAAAZ,OAAA;AAKA,IAAAa,kBAAA,GAAAb,OAAA;AAUA,IAAAc,mBAAA,GAAAd,OAAA;AAQA,IAAAe,mBAAA,GAAAf,OAAA;AAKA,IAAAgB,kBAAA,GAAAhB,OAAA;AAyBA,IAAAiB,oBAAA,GAAAjB,OAAA;AAUA,IAAAkB,qBAAA,GAAAlB,OAAA;AAOA,IAAAmB,gBAAA,GAAAnB,OAAA;AAUA,IAAAoB,aAAA,GAAApB,OAAA;AAQA,IAAAqB,UAAA,GAAArB,OAAA;AAcA,IAAAsB,kBAAA,GAAAtB,OAAA;AAMA,IAAAuB,cAAA,GAAAvB,OAAA;AAWA,IAAAwB,iBAAA,GAAAxB,OAAA;AAMA,IAAAyB,OAAA,GAAAtB,sBAAA,CAAAH,OAAA;AAEA,IAAA0B,gBAAA,GAAA1B,OAAA;AACA,IAAA2B,cAAA,GAAA3B,OAAA;AAEA,IAAA4B,QAAA,GAAAzB,sBAAA,CAAAH,OAAA;AACA,IAAA6B,aAAA,GAAA1B,sBAAA,CAAAH,OAAA;
|
|
1
|
+
{"version":3,"names":["_core","require","_reactNative","_OxyProvider","_interopRequireDefault","_OxyContext","_useAuth","_FontLoader","_authStore","_assetStore","_useSessionSocket","_useAssets","_useFileDownloadUrl","_useFollow","_useAccountQueries","_useServicesQueries","_useSecurityQueries","_usePaymentQueries","_useAccountMutations","_useServicesMutations","_mutationFactory","_mutationKeys","_queryKeys","_useMutationStatus","_errorHandlers","_useFileFiltering","_Avatar","_OxySignInButton","_OxyAuthPrompt","_OxyLogo","_FollowButton","_LogoIcon","_LogoText","_ActingAsBanner","_AccountMenu","_AccountMenuButton","_useDeviceAccounts","_ManageAccountScreen","_NotificationsScreen","_PreferencesScreen","_ConnectedAppsScreen","_bottomSheetManager","_SignInModal","e","__esModule","default","setPlatformOS","Platform","OS"],"sourceRoot":"../../src","sources":["index.ts"],"mappings":"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","ignoreList":[]}
|
|
@@ -12,6 +12,21 @@ var _useFollow = require("../hooks/useFollow.js");
|
|
|
12
12
|
var _theme = require("@oxyhq/bloom/theme");
|
|
13
13
|
var _jsxRuntime = require("react/jsx-runtime");
|
|
14
14
|
function _interopRequireWildcard(e, t) { if ("function" == typeof WeakMap) var r = new WeakMap(), n = new WeakMap(); return (_interopRequireWildcard = function (e, t) { if (!t && e && e.__esModule) return e; var o, i, f = { __proto__: null, default: e }; if (null === e || "object" != typeof e && "function" != typeof e) return f; if (o = t ? n : r) { if (o.has(e)) return o.get(e); o.set(e, f); } for (const t in e) "default" !== t && {}.hasOwnProperty.call(e, t) && ((i = (o = Object.defineProperty) && Object.getOwnPropertyDescriptor(e, t)) && (i.get || i.set) ? o(f, t, i) : f[t] = e[t]); return f; })(e, t); }
|
|
15
|
+
const DEFAULT_FOLLOW_ALL_LABEL = 'Follow all';
|
|
16
|
+
const DEFAULT_FOLLOWED_ALL_LABEL = 'Following';
|
|
17
|
+
|
|
18
|
+
/** Props shared by both single- and multi-user follow modes. */
|
|
19
|
+
|
|
20
|
+
/** Single-user mode — follows/unfollows one user (existing behavior). */
|
|
21
|
+
|
|
22
|
+
/** Multi-user mode — follows MANY users in one "Follow all" action (follow-only). */
|
|
23
|
+
|
|
24
|
+
/**
|
|
25
|
+
* FollowButton accepts EITHER single-user mode (`userId`) or multi-user mode
|
|
26
|
+
* (`userIds`), never both. Existing `{ userId, ... }` callers remain valid.
|
|
27
|
+
*/
|
|
28
|
+
|
|
29
|
+
const isMultiMode = props => 'userIds' in props && Array.isArray(props.userIds);
|
|
15
30
|
const FollowButtonInner = /*#__PURE__*/(0, _react.memo)(function FollowButtonInner({
|
|
16
31
|
userId,
|
|
17
32
|
oxyServices,
|
|
@@ -75,6 +90,70 @@ const FollowButtonInner = /*#__PURE__*/(0, _react.memo)(function FollowButtonInn
|
|
|
75
90
|
})
|
|
76
91
|
});
|
|
77
92
|
});
|
|
93
|
+
const FollowButtonMultiInner = /*#__PURE__*/(0, _react.memo)(function FollowButtonMultiInner({
|
|
94
|
+
userIds,
|
|
95
|
+
initiallyAllFollowing = false,
|
|
96
|
+
size = 'medium',
|
|
97
|
+
followAllLabel = DEFAULT_FOLLOW_ALL_LABEL,
|
|
98
|
+
followedAllLabel = DEFAULT_FOLLOWED_ALL_LABEL,
|
|
99
|
+
onFollowChange,
|
|
100
|
+
onBulkFollow,
|
|
101
|
+
style,
|
|
102
|
+
textStyle,
|
|
103
|
+
disabled = false,
|
|
104
|
+
showLoadingState = true,
|
|
105
|
+
preventParentActions = true
|
|
106
|
+
}) {
|
|
107
|
+
const {
|
|
108
|
+
colors
|
|
109
|
+
} = (0, _theme.useTheme)();
|
|
110
|
+
const follow = (0, _useFollow.useFollow)(userIds);
|
|
111
|
+
const followAllUsers = 'followAllUsers' in follow ? follow.followAllUsers : undefined;
|
|
112
|
+
const isAnyLoading = 'isAnyLoading' in follow ? follow.isAnyLoading : false;
|
|
113
|
+
const [allFollowing, setAllFollowing] = (0, _react.useState)(initiallyAllFollowing);
|
|
114
|
+
const [isSubmitting, setIsSubmitting] = (0, _react.useState)(false);
|
|
115
|
+
const isLoading = isSubmitting || isAnyLoading;
|
|
116
|
+
const handlePress = (0, _react.useCallback)(async event => {
|
|
117
|
+
if (preventParentActions && event?.preventDefault) {
|
|
118
|
+
event.preventDefault();
|
|
119
|
+
event.stopPropagation?.();
|
|
120
|
+
}
|
|
121
|
+
if (disabled || isLoading || allFollowing || !followAllUsers) return;
|
|
122
|
+
setIsSubmitting(true);
|
|
123
|
+
try {
|
|
124
|
+
const result = await followAllUsers();
|
|
125
|
+
const allAlreadyFollowing = result.followedCount === 0 && result.results.length > 0 && result.results.every(entry => entry.alreadyFollowing);
|
|
126
|
+
const anyFollowed = result.followedCount > 0 || result.results.some(entry => entry.success || entry.alreadyFollowing);
|
|
127
|
+
if (allAlreadyFollowing || anyFollowed) {
|
|
128
|
+
setAllFollowing(true);
|
|
129
|
+
onFollowChange?.(true);
|
|
130
|
+
}
|
|
131
|
+
onBulkFollow?.(result);
|
|
132
|
+
} catch (err) {
|
|
133
|
+
const error = err instanceof Error ? err : new Error(String(err));
|
|
134
|
+
_bloom.toast.error(error.message || 'Failed to update follow status');
|
|
135
|
+
} finally {
|
|
136
|
+
setIsSubmitting(false);
|
|
137
|
+
}
|
|
138
|
+
}, [disabled, isLoading, allFollowing, followAllUsers, onFollowChange, onBulkFollow, preventParentActions]);
|
|
139
|
+
const baseButtonStyle = getBaseButtonStyle(size, style);
|
|
140
|
+
const baseTextStyle = getBaseTextStyle(size, textStyle);
|
|
141
|
+
return /*#__PURE__*/(0, _jsxRuntime.jsx)(_reactNative.TouchableOpacity, {
|
|
142
|
+
className: allFollowing ? 'bg-background border-border' : 'bg-primary border-primary',
|
|
143
|
+
style: baseButtonStyle,
|
|
144
|
+
onPress: handlePress,
|
|
145
|
+
disabled: disabled || isLoading || allFollowing,
|
|
146
|
+
activeOpacity: 0.8,
|
|
147
|
+
children: showLoadingState && isLoading ? /*#__PURE__*/(0, _jsxRuntime.jsx)(_reactNative.ActivityIndicator, {
|
|
148
|
+
size: "small",
|
|
149
|
+
color: allFollowing ? colors.text : colors.negativeForeground
|
|
150
|
+
}) : /*#__PURE__*/(0, _jsxRuntime.jsx)(_reactNative.Text, {
|
|
151
|
+
className: allFollowing ? 'text-foreground' : 'text-primary-foreground',
|
|
152
|
+
style: baseTextStyle,
|
|
153
|
+
children: allFollowing ? followedAllLabel : followAllLabel
|
|
154
|
+
})
|
|
155
|
+
});
|
|
156
|
+
});
|
|
78
157
|
const FollowButton = props => {
|
|
79
158
|
const {
|
|
80
159
|
oxyServices,
|
|
@@ -82,8 +161,35 @@ const FollowButton = props => {
|
|
|
82
161
|
user: currentUser
|
|
83
162
|
} = (0, _OxyContext.useOxy)();
|
|
84
163
|
const currentUserId = currentUser?.id ? String(currentUser.id).trim() : '';
|
|
164
|
+
const rawUserIds = isMultiMode(props) ? props.userIds : null;
|
|
165
|
+
|
|
166
|
+
// Multi-user mode: dedupe, trim, drop the current user, and bail if empty.
|
|
167
|
+
const multiUserIds = (0, _react.useMemo)(() => {
|
|
168
|
+
if (!rawUserIds) return [];
|
|
169
|
+
const seen = new Set();
|
|
170
|
+
const cleaned = [];
|
|
171
|
+
for (const raw of rawUserIds) {
|
|
172
|
+
const id = raw ? String(raw).trim() : '';
|
|
173
|
+
if (!id || id === currentUserId || seen.has(id)) continue;
|
|
174
|
+
seen.add(id);
|
|
175
|
+
cleaned.push(id);
|
|
176
|
+
}
|
|
177
|
+
return cleaned;
|
|
178
|
+
}, [rawUserIds, currentUserId]);
|
|
179
|
+
if (!canUsePrivateApi) {
|
|
180
|
+
return null;
|
|
181
|
+
}
|
|
182
|
+
if (isMultiMode(props)) {
|
|
183
|
+
if (multiUserIds.length === 0) {
|
|
184
|
+
return null;
|
|
185
|
+
}
|
|
186
|
+
return /*#__PURE__*/(0, _jsxRuntime.jsx)(FollowButtonMultiInner, {
|
|
187
|
+
...props,
|
|
188
|
+
userIds: multiUserIds
|
|
189
|
+
});
|
|
190
|
+
}
|
|
85
191
|
const targetUserId = props.userId ? String(props.userId).trim() : '';
|
|
86
|
-
if (!
|
|
192
|
+
if (!targetUserId || currentUserId && currentUserId === targetUserId) {
|
|
87
193
|
return null;
|
|
88
194
|
}
|
|
89
195
|
return /*#__PURE__*/(0, _jsxRuntime.jsx)(FollowButtonInner, {
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"names":["_react","_interopRequireWildcard","require","_reactNative","_OxyContext","_bloom","_useFollow","_theme","_jsxRuntime","e","t","WeakMap","r","n","__esModule","o","i","f","__proto__","default","has","get","set","hasOwnProperty","call","Object","defineProperty","getOwnPropertyDescriptor","FollowButtonInner","memo","userId","oxyServices","initiallyFollowing","size","onFollowChange","style","textStyle","disabled","showLoadingState","preventParentActions","colors","useTheme","isFollowing","isLoading","toggleFollow","setFollowStatus","fetchStatus","useFollowForButton","handlePress","useCallback","event","preventDefault","stopPropagation","err","error","Error","String","toast","message","useEffect","baseButtonStyle","getBaseButtonStyle","baseTextStyle","getBaseTextStyle","jsx","TouchableOpacity","className","onPress","activeOpacity","children","ActivityIndicator","color","text","negativeForeground","Text","FollowButton","props","canUsePrivateApi","user","currentUser","useOxy","currentUserId","id","trim","targetUserId","exports","baseStyle","flexDirection","alignItems","justifyContent","borderWidth","Platform","select","web","shadowColor","shadowOffset","width","height","shadowOpacity","shadowRadius","elevation","sizeStyle","paddingVertical","paddingHorizontal","minWidth","borderRadius","fontWeight","sizeTextStyle","fontSize","_default"],"sourceRoot":"../../../../src","sources":["ui/components/FollowButton.tsx"],"mappings":"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","ignoreList":[]}
|
|
1
|
+
{"version":3,"names":["_react","_interopRequireWildcard","require","_reactNative","_OxyContext","_bloom","_useFollow","_theme","_jsxRuntime","e","t","WeakMap","r","n","__esModule","o","i","f","__proto__","default","has","get","set","hasOwnProperty","call","Object","defineProperty","getOwnPropertyDescriptor","DEFAULT_FOLLOW_ALL_LABEL","DEFAULT_FOLLOWED_ALL_LABEL","isMultiMode","props","Array","isArray","userIds","FollowButtonInner","memo","userId","oxyServices","initiallyFollowing","size","onFollowChange","style","textStyle","disabled","showLoadingState","preventParentActions","colors","useTheme","isFollowing","isLoading","toggleFollow","setFollowStatus","fetchStatus","useFollowForButton","handlePress","useCallback","event","preventDefault","stopPropagation","err","error","Error","String","toast","message","useEffect","baseButtonStyle","getBaseButtonStyle","baseTextStyle","getBaseTextStyle","jsx","TouchableOpacity","className","onPress","activeOpacity","children","ActivityIndicator","color","text","negativeForeground","Text","FollowButtonMultiInner","initiallyAllFollowing","followAllLabel","followedAllLabel","onBulkFollow","follow","useFollow","followAllUsers","undefined","isAnyLoading","allFollowing","setAllFollowing","useState","isSubmitting","setIsSubmitting","result","allAlreadyFollowing","followedCount","results","length","every","entry","alreadyFollowing","anyFollowed","some","success","FollowButton","canUsePrivateApi","user","currentUser","useOxy","currentUserId","id","trim","rawUserIds","multiUserIds","useMemo","seen","Set","cleaned","raw","add","push","targetUserId","exports","baseStyle","flexDirection","alignItems","justifyContent","borderWidth","Platform","select","web","shadowColor","shadowOffset","width","height","shadowOpacity","shadowRadius","elevation","sizeStyle","paddingVertical","paddingHorizontal","minWidth","borderRadius","fontWeight","sizeTextStyle","fontSize","_default"],"sourceRoot":"../../../../src","sources":["ui/components/FollowButton.tsx"],"mappings":"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","ignoreList":[]}
|
|
@@ -38,19 +38,35 @@ const useFollow = userId => {
|
|
|
38
38
|
const followingCount = (0, _followStore.useFollowStore)((0, _react.useCallback)(s => isSingleUser && userId ? s.followingCounts[userId] ?? null : null, [isSingleUser, userId]));
|
|
39
39
|
const isLoadingCounts = (0, _followStore.useFollowStore)((0, _react.useCallback)(s => isSingleUser && userId ? s.loadingCounts[userId] ?? false : false, [isSingleUser, userId]));
|
|
40
40
|
|
|
41
|
-
// For multi-user mode,
|
|
42
|
-
|
|
41
|
+
// For multi-user mode, subscribe to a FLAT snapshot of the per-user fields.
|
|
42
|
+
// `useShallow` only compares one level deep, so the selector must NOT return a
|
|
43
|
+
// nested object — a freshly allocated `{ isFollowing, isLoading, error }` per
|
|
44
|
+
// user would never shallow-compare equal, making `useSyncExternalStore`
|
|
45
|
+
// resubscribe every render and loop until React throws "Maximum update depth
|
|
46
|
+
// exceeded". Keeping the snapshot flat lets the shallow compare cache it; the
|
|
47
|
+
// nested `followData` shape is then assembled in a `useMemo` below.
|
|
48
|
+
const followFlat = (0, _followStore.useFollowStore)((0, _shallow.useShallow)(s => {
|
|
43
49
|
if (isSingleUser) return {};
|
|
50
|
+
const flat = {};
|
|
51
|
+
for (const uid of userIds) {
|
|
52
|
+
flat[`${uid}:isFollowing`] = s.followingUsers[uid] ?? false;
|
|
53
|
+
flat[`${uid}:isLoading`] = s.loadingUsers[uid] ?? false;
|
|
54
|
+
flat[`${uid}:error`] = s.errors[uid] ?? null;
|
|
55
|
+
}
|
|
56
|
+
return flat;
|
|
57
|
+
}));
|
|
58
|
+
const followData = (0, _react.useMemo)(() => {
|
|
44
59
|
const data = {};
|
|
60
|
+
if (isSingleUser) return data;
|
|
45
61
|
for (const uid of userIds) {
|
|
46
62
|
data[uid] = {
|
|
47
|
-
isFollowing:
|
|
48
|
-
isLoading:
|
|
49
|
-
error:
|
|
63
|
+
isFollowing: Boolean(followFlat[`${uid}:isFollowing`]),
|
|
64
|
+
isLoading: Boolean(followFlat[`${uid}:isLoading`]),
|
|
65
|
+
error: followFlat[`${uid}:error`] ?? null
|
|
50
66
|
};
|
|
51
67
|
}
|
|
52
68
|
return data;
|
|
53
|
-
})
|
|
69
|
+
}, [isSingleUser, userIds, followFlat]);
|
|
54
70
|
|
|
55
71
|
// Multi-user aggregate selectors
|
|
56
72
|
const multiUserLoadingState = (0, _followStore.useFollowStore)((0, _shallow.useShallow)(s => {
|
|
@@ -132,6 +148,12 @@ const useFollow = userId => {
|
|
|
132
148
|
const store = _followStore.useFollowStore.getState();
|
|
133
149
|
await Promise.all(userIds.map(uid => store.fetchFollowStatus(uid, oxyServices)));
|
|
134
150
|
}, [canUsePrivateApi, userIds, oxyServices]);
|
|
151
|
+
|
|
152
|
+
// Bulk follow — follows ALL users in ONE network call (never unfollows).
|
|
153
|
+
const followAllUsers = (0, _react.useCallback)(async () => {
|
|
154
|
+
if (!canUsePrivateApi) throw new Error('Authentication is required to follow users');
|
|
155
|
+
return _followStore.useFollowStore.getState().followManyUsers(userIds, oxyServices);
|
|
156
|
+
}, [canUsePrivateApi, userIds, oxyServices]);
|
|
135
157
|
const clearErrorForUser = (0, _react.useCallback)(targetUserId => {
|
|
136
158
|
_followStore.useFollowStore.getState().clearFollowError(targetUserId);
|
|
137
159
|
}, []);
|
|
@@ -162,6 +184,7 @@ const useFollow = userId => {
|
|
|
162
184
|
setFollowStatusForUser,
|
|
163
185
|
fetchStatusForUser,
|
|
164
186
|
fetchAllStatuses,
|
|
187
|
+
followAllUsers,
|
|
165
188
|
clearErrorForUser,
|
|
166
189
|
isAnyLoading: multiUserLoadingState.isAnyLoading,
|
|
167
190
|
hasAnyError: multiUserLoadingState.hasAnyError,
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"names":["_react","require","_followStore","_OxyContext","_core","_shallow","useFollow","userId","oxyServices","canUsePrivateApi","useOxy","userIds","useMemo","Array","isArray","isSingleUser","isFollowing","useFollowStore","useCallback","s","followingUsers","isLoading","loadingUsers","error","errors","followerCount","followerCounts","followingCount","followingCounts","isLoadingCounts","loadingCounts","followData","useShallow","data","uid","multiUserLoadingState","isAnyLoading","hasAnyError","allFollowing","allNotFollowing","some","every","toggleFollow","Error","currentlyFollowing","getState","toggleFollowUser","setFollowStatus","following","setFollowingStatus","fetchStatus","fetchFollowStatus","clearError","clearFollowError","fetchUserCounts","setFollowerCount","count","setFollowingCount","useEffect","catch","loggerUtil","warn","component","toggleFollowForUser","targetUserId","currentState","setFollowStatusForUser","fetchStatusForUser","fetchAllStatuses","store","Promise","all","map","clearErrorForUser","updateCountsFromFollowAction","action","counts","currentUserId","getCurrentUserId","undefined","exports","useFollowForButton","useFollowerCounts"],"sourceRoot":"../../../../src","sources":["ui/hooks/useFollow.ts"],"mappings":"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","ignoreList":[]}
|
|
1
|
+
{"version":3,"names":["_react","require","_followStore","_OxyContext","_core","_shallow","useFollow","userId","oxyServices","canUsePrivateApi","useOxy","userIds","useMemo","Array","isArray","isSingleUser","isFollowing","useFollowStore","useCallback","s","followingUsers","isLoading","loadingUsers","error","errors","followerCount","followerCounts","followingCount","followingCounts","isLoadingCounts","loadingCounts","followFlat","useShallow","flat","uid","followData","data","Boolean","multiUserLoadingState","isAnyLoading","hasAnyError","allFollowing","allNotFollowing","some","every","toggleFollow","Error","currentlyFollowing","getState","toggleFollowUser","setFollowStatus","following","setFollowingStatus","fetchStatus","fetchFollowStatus","clearError","clearFollowError","fetchUserCounts","setFollowerCount","count","setFollowingCount","useEffect","catch","loggerUtil","warn","component","toggleFollowForUser","targetUserId","currentState","setFollowStatusForUser","fetchStatusForUser","fetchAllStatuses","store","Promise","all","map","followAllUsers","followManyUsers","clearErrorForUser","updateCountsFromFollowAction","action","counts","currentUserId","getCurrentUserId","undefined","exports","useFollowForButton","useFollowerCounts"],"sourceRoot":"../../../../src","sources":["ui/hooks/useFollow.ts"],"mappings":"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","ignoreList":[]}
|
|
@@ -159,6 +159,74 @@ const useFollowStore = exports.useFollowStore = (0, _zustand.create)((set, get)
|
|
|
159
159
|
}));
|
|
160
160
|
}
|
|
161
161
|
},
|
|
162
|
+
followManyUsers: async (userIds, oxyServices) => {
|
|
163
|
+
set(state => {
|
|
164
|
+
const loadingUsers = {
|
|
165
|
+
...state.loadingUsers
|
|
166
|
+
};
|
|
167
|
+
const errors = {
|
|
168
|
+
...state.errors
|
|
169
|
+
};
|
|
170
|
+
for (const uid of userIds) {
|
|
171
|
+
loadingUsers[uid] = true;
|
|
172
|
+
errors[uid] = null;
|
|
173
|
+
}
|
|
174
|
+
return {
|
|
175
|
+
loadingUsers,
|
|
176
|
+
errors
|
|
177
|
+
};
|
|
178
|
+
});
|
|
179
|
+
try {
|
|
180
|
+
const result = await oxyServices.followUsers(userIds);
|
|
181
|
+
set(state => {
|
|
182
|
+
const followingUsers = {
|
|
183
|
+
...state.followingUsers
|
|
184
|
+
};
|
|
185
|
+
const loadingUsers = {
|
|
186
|
+
...state.loadingUsers
|
|
187
|
+
};
|
|
188
|
+
const errors = {
|
|
189
|
+
...state.errors
|
|
190
|
+
};
|
|
191
|
+
for (const uid of userIds) {
|
|
192
|
+
loadingUsers[uid] = false;
|
|
193
|
+
}
|
|
194
|
+
for (const entry of result.results) {
|
|
195
|
+
if (entry.success || entry.alreadyFollowing) {
|
|
196
|
+
followingUsers[entry.userId] = true;
|
|
197
|
+
errors[entry.userId] = null;
|
|
198
|
+
} else {
|
|
199
|
+
errors[entry.userId] = 'Failed to update follow status';
|
|
200
|
+
}
|
|
201
|
+
}
|
|
202
|
+
return {
|
|
203
|
+
followingUsers,
|
|
204
|
+
loadingUsers,
|
|
205
|
+
errors
|
|
206
|
+
};
|
|
207
|
+
});
|
|
208
|
+
return result;
|
|
209
|
+
} catch (error) {
|
|
210
|
+
const message = (error instanceof Error ? error.message : null) || 'Failed to update follow status';
|
|
211
|
+
set(state => {
|
|
212
|
+
const loadingUsers = {
|
|
213
|
+
...state.loadingUsers
|
|
214
|
+
};
|
|
215
|
+
const errors = {
|
|
216
|
+
...state.errors
|
|
217
|
+
};
|
|
218
|
+
for (const uid of userIds) {
|
|
219
|
+
loadingUsers[uid] = false;
|
|
220
|
+
errors[uid] = message;
|
|
221
|
+
}
|
|
222
|
+
return {
|
|
223
|
+
loadingUsers,
|
|
224
|
+
errors
|
|
225
|
+
};
|
|
226
|
+
});
|
|
227
|
+
throw error;
|
|
228
|
+
}
|
|
229
|
+
},
|
|
162
230
|
setFollowerCount: (userId, count) => set(state => ({
|
|
163
231
|
followerCounts: {
|
|
164
232
|
...state.followerCounts,
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"names":["_zustand","require","useFollowStore","exports","create","set","get","followingUsers","loadingUsers","fetchingUsers","errors","followerCounts","followingCounts","loadingCounts","setFollowingStatus","userId","isFollowing","state","clearFollowError","resetFollowState","fetchFollowStatus","oxyServices","response","getFollowStatus","error","Error","message","toggleFollowUser","isCurrentlyFollowing","newFollowState","unfollowUser","followUser","counts","currentUserId","getCurrentUserId","updates","followers","following","setFollowerCount","count","setFollowingCount","updateCountsFromFollowAction","targetUserId","action","fetchUserCounts","user","getUserById","_count"],"sourceRoot":"../../../../src","sources":["ui/stores/followStore.ts"],"mappings":";;;;;;AAAA,IAAAA,QAAA,GAAAC,OAAA;
|
|
1
|
+
{"version":3,"names":["_zustand","require","useFollowStore","exports","create","set","get","followingUsers","loadingUsers","fetchingUsers","errors","followerCounts","followingCounts","loadingCounts","setFollowingStatus","userId","isFollowing","state","clearFollowError","resetFollowState","fetchFollowStatus","oxyServices","response","getFollowStatus","error","Error","message","toggleFollowUser","isCurrentlyFollowing","newFollowState","unfollowUser","followUser","counts","currentUserId","getCurrentUserId","updates","followers","following","followManyUsers","userIds","uid","result","followUsers","entry","results","success","alreadyFollowing","setFollowerCount","count","setFollowingCount","updateCountsFromFollowAction","targetUserId","action","fetchUserCounts","user","getUserById","_count"],"sourceRoot":"../../../../src","sources":["ui/stores/followStore.ts"],"mappings":"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","ignoreList":[]}
|
package/lib/module/index.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"names":["setPlatformOS","Platform","OS","default","OxyProvider","useOxy","useAuth","FontLoader","useAuthStore","useAssetStore","useAssets","useAssetsStore","useAsset","useUploadProgress","useAssetLoading","useAssetErrors","useAssetsByApp","useAssetsByEntity","useAssetUsageCount","useIsAssetLinked","useSessionSocket","setOxyAssetInstance","useFileDownloadUrl","useFollow","useFollowerCounts","useUserProfile","useUserProfiles","useCurrentUser","useUserById","useUserByUsername","useUsersBySessions","usePrivacySettings","useAuthorizedApps","useSessions","useSession","useDeviceSessions","useUserDevices","useSecurityInfo","useAccountStorageUsage","useSecurityActivity","useRecentSecurityActivity","useInfiniteSecurityActivity","useUserSubscription","useUserPayments","useUserWallet","useUserWalletTransactions","useUpdateProfile","useUploadAvatar","useUpdateAccountSettings","useUpdatePrivacySettings","useUpdateNotificationPreferences","useUpdateUserPreferences","useRevokeAuthorizedApp","useUploadFile","useSwitchSession","useLogoutSession","useLogoutAll","useUpdateDeviceName","useRemoveDevice","createProfileMutation","createGenericMutation","mutationKeys","queryKeys","invalidateAccountQueries","invalidateUserQueries","invalidateSessionQueries","invalidateDeviceQueries","invalidatePrivacyQueries","invalidateSecurityQueries","invalidateStorageQueries","invalidatePaymentsQueries","invalidateConnectedAppsQueries","useMutationStatus","handleAuthError","isInvalidSessionError","isTimeoutOrNetworkError","extractErrorMessage","useFileFiltering","Avatar","OxySignInButton","OxyAuthPrompt","OxyLogo","FollowButton","LogoIcon","LogoText","ActingAsBanner","AccountMenu","AccountMenuButton","useDeviceAccounts","ManageAccountScreen","NotificationsScreen","PreferencesScreen","ConnectedAppsScreen","showBottomSheet","closeBottomSheet","showSignInModal","hideSignInModal"],"sourceRoot":"../../src","sources":["index.ts"],"mappings":";;AAAA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA,SAASA,aAAa,QAAyB,aAAa;AAC5D,SAASC,QAAQ,QAAQ,cAAc;AACvCD,aAAa,CAACC,QAAQ,CAACC,EAAgB,CAAC;;AAExC;AACA;AACA;AACA,SAASC,OAAO,IAAIC,WAAW,QAAQ,gCAA6B;AACpE,SAASC,MAAM,QAAQ,4BAAyB;AAChD,SAASC,OAAO,QAAQ,uBAAoB;AAG5C;AACA;AACA;AACA,SAASC,UAAU,QAAQ,+BAA4B;;AAEvD;AACA;AACA;AACA,SAASC,YAAY,QAAQ,0BAAuB;AACpD,SACIC,aAAa,EACbC,SAAS,IAAIC,cAAc,EAC3BC,QAAQ,EACRC,iBAAiB,EACjBC,eAAe,EACfC,cAAc,EACdC,cAAc,EACdC,iBAAiB,EACjBC,kBAAkB,EAClBC,gBAAgB,QACb,2BAAwB;;AAE/B;AACA;AACA;AACA,SAASC,gBAAgB,QAAQ,gCAA6B;AAC9D,SAASV,SAAS,EAAEW,mBAAmB,QAAQ,yBAAsB;AACrE,SAASC,kBAAkB,QAAQ,kCAA+B;AAClE,SAASC,SAAS,EAAEC,iBAAiB,QAAQ,yBAAsB;;AAEnE;AACA;AACA;AACA,SACIC,cAAc,EACdC,eAAe,EACfC,cAAc,EACdC,WAAW,EACXC,iBAAiB,EACjBC,kBAAkB,EAClBC,kBAAkB,EAClBC,iBAAiB,QACd,yCAAsC;AAC7C,SACIC,WAAW,EACXC,UAAU,EACVC,iBAAiB,EACjBC,cAAc,EACdC,eAAe,EACfC,sBAAsB,QACnB,0CAAuC;AAC9C,SACIC,mBAAmB,EACnBC,yBAAyB,EACzBC,2BAA2B,QACxB,0CAAuC;AAC9C,SACIC,mBAAmB,EACnBC,eAAe,EACfC,aAAa,EACbC,yBAAyB,QACtB,yCAAsC;;AAE7C;;AAeA;AACA;AACA;AACA,SACIC,gBAAgB,EAChBC,eAAe,EACfC,wBAAwB,EACxBC,wBAAwB,EACxBC,gCAAgC,EAChCC,wBAAwB,EACxBC,sBAAsB,EACtBC,aAAa,QACV,6CAA0C;AACjD,SACIC,gBAAgB,EAChBC,gBAAgB,EAChBC,YAAY,EACZC,mBAAmB,EACnBC,eAAe,QACZ,8CAA2C;AAClD,SACIC,qBAAqB,EACrBC,qBAAqB,QAClB,yCAAsC;AAM7C;AACA,SAASC,YAAY,QAAQ,sCAAmC;;AAEhE;AACA;AACA;AACA;AACA;AACA;AACA,SACIC,SAAS,EACTC,wBAAwB,EACxBC,qBAAqB,EACrBC,wBAAwB,EACxBC,uBAAuB,EACvBC,wBAAwB,EACxBC,yBAAyB,EACzBC,wBAAwB,EACxBC,yBAAyB,EACzBC,8BAA8B,QAC3B,iCAA8B;;AAErC;AACA,SAASC,iBAAiB,QAAQ,iCAA8B;AAGhE;AACA;AACA;AACA,SACIC,eAAe,EACfC,qBAAqB,EACrBC,uBAAuB,EACvBC,mBAAmB,QAChB,6BAA0B;AAGjC;AACA;AACA;AACA,SAASC,gBAAgB,QAAQ,gCAA6B;AAG9D;AACA;AACA;AACA,SAAS1E,OAAO,IAAI2E,MAAM,QAAQ,2BAAwB;AAE1D,SAASC,eAAe,QAAQ,oCAAiC;AACjE,SAASC,aAAa,QAAQ,kCAA+B;AAE7D,SAAS7E,OAAO,IAAI8E,OAAO,QAAQ,4BAAyB;AAC5D,SAAS9E,OAAO,IAAI+E,YAAY,QAAQ,iCAA8B;
|
|
1
|
+
{"version":3,"names":["setPlatformOS","Platform","OS","default","OxyProvider","useOxy","useAuth","FontLoader","useAuthStore","useAssetStore","useAssets","useAssetsStore","useAsset","useUploadProgress","useAssetLoading","useAssetErrors","useAssetsByApp","useAssetsByEntity","useAssetUsageCount","useIsAssetLinked","useSessionSocket","setOxyAssetInstance","useFileDownloadUrl","useFollow","useFollowerCounts","useUserProfile","useUserProfiles","useCurrentUser","useUserById","useUserByUsername","useUsersBySessions","usePrivacySettings","useAuthorizedApps","useSessions","useSession","useDeviceSessions","useUserDevices","useSecurityInfo","useAccountStorageUsage","useSecurityActivity","useRecentSecurityActivity","useInfiniteSecurityActivity","useUserSubscription","useUserPayments","useUserWallet","useUserWalletTransactions","useUpdateProfile","useUploadAvatar","useUpdateAccountSettings","useUpdatePrivacySettings","useUpdateNotificationPreferences","useUpdateUserPreferences","useRevokeAuthorizedApp","useUploadFile","useSwitchSession","useLogoutSession","useLogoutAll","useUpdateDeviceName","useRemoveDevice","createProfileMutation","createGenericMutation","mutationKeys","queryKeys","invalidateAccountQueries","invalidateUserQueries","invalidateSessionQueries","invalidateDeviceQueries","invalidatePrivacyQueries","invalidateSecurityQueries","invalidateStorageQueries","invalidatePaymentsQueries","invalidateConnectedAppsQueries","useMutationStatus","handleAuthError","isInvalidSessionError","isTimeoutOrNetworkError","extractErrorMessage","useFileFiltering","Avatar","OxySignInButton","OxyAuthPrompt","OxyLogo","FollowButton","LogoIcon","LogoText","ActingAsBanner","AccountMenu","AccountMenuButton","useDeviceAccounts","ManageAccountScreen","NotificationsScreen","PreferencesScreen","ConnectedAppsScreen","showBottomSheet","closeBottomSheet","showSignInModal","hideSignInModal"],"sourceRoot":"../../src","sources":["index.ts"],"mappings":"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","ignoreList":[]}
|
|
@@ -1,12 +1,27 @@
|
|
|
1
1
|
"use strict";
|
|
2
2
|
|
|
3
|
-
import React, { useEffect, useCallback, memo } from 'react';
|
|
3
|
+
import React, { useEffect, useCallback, useMemo, useState, memo } from 'react';
|
|
4
4
|
import { TouchableOpacity, Text, Platform, ActivityIndicator } from 'react-native';
|
|
5
5
|
import { useOxy } from "../context/OxyContext.js";
|
|
6
6
|
import { toast } from '@oxyhq/bloom';
|
|
7
|
-
import { useFollowForButton } from "../hooks/useFollow.js";
|
|
7
|
+
import { useFollow, useFollowForButton } from "../hooks/useFollow.js";
|
|
8
8
|
import { useTheme } from '@oxyhq/bloom/theme';
|
|
9
9
|
import { jsx as _jsx } from "react/jsx-runtime";
|
|
10
|
+
const DEFAULT_FOLLOW_ALL_LABEL = 'Follow all';
|
|
11
|
+
const DEFAULT_FOLLOWED_ALL_LABEL = 'Following';
|
|
12
|
+
|
|
13
|
+
/** Props shared by both single- and multi-user follow modes. */
|
|
14
|
+
|
|
15
|
+
/** Single-user mode — follows/unfollows one user (existing behavior). */
|
|
16
|
+
|
|
17
|
+
/** Multi-user mode — follows MANY users in one "Follow all" action (follow-only). */
|
|
18
|
+
|
|
19
|
+
/**
|
|
20
|
+
* FollowButton accepts EITHER single-user mode (`userId`) or multi-user mode
|
|
21
|
+
* (`userIds`), never both. Existing `{ userId, ... }` callers remain valid.
|
|
22
|
+
*/
|
|
23
|
+
|
|
24
|
+
const isMultiMode = props => 'userIds' in props && Array.isArray(props.userIds);
|
|
10
25
|
const FollowButtonInner = /*#__PURE__*/memo(function FollowButtonInner({
|
|
11
26
|
userId,
|
|
12
27
|
oxyServices,
|
|
@@ -70,6 +85,70 @@ const FollowButtonInner = /*#__PURE__*/memo(function FollowButtonInner({
|
|
|
70
85
|
})
|
|
71
86
|
});
|
|
72
87
|
});
|
|
88
|
+
const FollowButtonMultiInner = /*#__PURE__*/memo(function FollowButtonMultiInner({
|
|
89
|
+
userIds,
|
|
90
|
+
initiallyAllFollowing = false,
|
|
91
|
+
size = 'medium',
|
|
92
|
+
followAllLabel = DEFAULT_FOLLOW_ALL_LABEL,
|
|
93
|
+
followedAllLabel = DEFAULT_FOLLOWED_ALL_LABEL,
|
|
94
|
+
onFollowChange,
|
|
95
|
+
onBulkFollow,
|
|
96
|
+
style,
|
|
97
|
+
textStyle,
|
|
98
|
+
disabled = false,
|
|
99
|
+
showLoadingState = true,
|
|
100
|
+
preventParentActions = true
|
|
101
|
+
}) {
|
|
102
|
+
const {
|
|
103
|
+
colors
|
|
104
|
+
} = useTheme();
|
|
105
|
+
const follow = useFollow(userIds);
|
|
106
|
+
const followAllUsers = 'followAllUsers' in follow ? follow.followAllUsers : undefined;
|
|
107
|
+
const isAnyLoading = 'isAnyLoading' in follow ? follow.isAnyLoading : false;
|
|
108
|
+
const [allFollowing, setAllFollowing] = useState(initiallyAllFollowing);
|
|
109
|
+
const [isSubmitting, setIsSubmitting] = useState(false);
|
|
110
|
+
const isLoading = isSubmitting || isAnyLoading;
|
|
111
|
+
const handlePress = useCallback(async event => {
|
|
112
|
+
if (preventParentActions && event?.preventDefault) {
|
|
113
|
+
event.preventDefault();
|
|
114
|
+
event.stopPropagation?.();
|
|
115
|
+
}
|
|
116
|
+
if (disabled || isLoading || allFollowing || !followAllUsers) return;
|
|
117
|
+
setIsSubmitting(true);
|
|
118
|
+
try {
|
|
119
|
+
const result = await followAllUsers();
|
|
120
|
+
const allAlreadyFollowing = result.followedCount === 0 && result.results.length > 0 && result.results.every(entry => entry.alreadyFollowing);
|
|
121
|
+
const anyFollowed = result.followedCount > 0 || result.results.some(entry => entry.success || entry.alreadyFollowing);
|
|
122
|
+
if (allAlreadyFollowing || anyFollowed) {
|
|
123
|
+
setAllFollowing(true);
|
|
124
|
+
onFollowChange?.(true);
|
|
125
|
+
}
|
|
126
|
+
onBulkFollow?.(result);
|
|
127
|
+
} catch (err) {
|
|
128
|
+
const error = err instanceof Error ? err : new Error(String(err));
|
|
129
|
+
toast.error(error.message || 'Failed to update follow status');
|
|
130
|
+
} finally {
|
|
131
|
+
setIsSubmitting(false);
|
|
132
|
+
}
|
|
133
|
+
}, [disabled, isLoading, allFollowing, followAllUsers, onFollowChange, onBulkFollow, preventParentActions]);
|
|
134
|
+
const baseButtonStyle = getBaseButtonStyle(size, style);
|
|
135
|
+
const baseTextStyle = getBaseTextStyle(size, textStyle);
|
|
136
|
+
return /*#__PURE__*/_jsx(TouchableOpacity, {
|
|
137
|
+
className: allFollowing ? 'bg-background border-border' : 'bg-primary border-primary',
|
|
138
|
+
style: baseButtonStyle,
|
|
139
|
+
onPress: handlePress,
|
|
140
|
+
disabled: disabled || isLoading || allFollowing,
|
|
141
|
+
activeOpacity: 0.8,
|
|
142
|
+
children: showLoadingState && isLoading ? /*#__PURE__*/_jsx(ActivityIndicator, {
|
|
143
|
+
size: "small",
|
|
144
|
+
color: allFollowing ? colors.text : colors.negativeForeground
|
|
145
|
+
}) : /*#__PURE__*/_jsx(Text, {
|
|
146
|
+
className: allFollowing ? 'text-foreground' : 'text-primary-foreground',
|
|
147
|
+
style: baseTextStyle,
|
|
148
|
+
children: allFollowing ? followedAllLabel : followAllLabel
|
|
149
|
+
})
|
|
150
|
+
});
|
|
151
|
+
});
|
|
73
152
|
const FollowButton = props => {
|
|
74
153
|
const {
|
|
75
154
|
oxyServices,
|
|
@@ -77,8 +156,35 @@ const FollowButton = props => {
|
|
|
77
156
|
user: currentUser
|
|
78
157
|
} = useOxy();
|
|
79
158
|
const currentUserId = currentUser?.id ? String(currentUser.id).trim() : '';
|
|
159
|
+
const rawUserIds = isMultiMode(props) ? props.userIds : null;
|
|
160
|
+
|
|
161
|
+
// Multi-user mode: dedupe, trim, drop the current user, and bail if empty.
|
|
162
|
+
const multiUserIds = useMemo(() => {
|
|
163
|
+
if (!rawUserIds) return [];
|
|
164
|
+
const seen = new Set();
|
|
165
|
+
const cleaned = [];
|
|
166
|
+
for (const raw of rawUserIds) {
|
|
167
|
+
const id = raw ? String(raw).trim() : '';
|
|
168
|
+
if (!id || id === currentUserId || seen.has(id)) continue;
|
|
169
|
+
seen.add(id);
|
|
170
|
+
cleaned.push(id);
|
|
171
|
+
}
|
|
172
|
+
return cleaned;
|
|
173
|
+
}, [rawUserIds, currentUserId]);
|
|
174
|
+
if (!canUsePrivateApi) {
|
|
175
|
+
return null;
|
|
176
|
+
}
|
|
177
|
+
if (isMultiMode(props)) {
|
|
178
|
+
if (multiUserIds.length === 0) {
|
|
179
|
+
return null;
|
|
180
|
+
}
|
|
181
|
+
return /*#__PURE__*/_jsx(FollowButtonMultiInner, {
|
|
182
|
+
...props,
|
|
183
|
+
userIds: multiUserIds
|
|
184
|
+
});
|
|
185
|
+
}
|
|
80
186
|
const targetUserId = props.userId ? String(props.userId).trim() : '';
|
|
81
|
-
if (!
|
|
187
|
+
if (!targetUserId || currentUserId && currentUserId === targetUserId) {
|
|
82
188
|
return null;
|
|
83
189
|
}
|
|
84
190
|
return /*#__PURE__*/_jsx(FollowButtonInner, {
|