@oxyhq/services 10.3.0 → 10.3.2
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/ui/components/FollowButton.js +22 -3
- package/lib/commonjs/ui/components/FollowButton.js.map +1 -1
- package/lib/commonjs/ui/hooks/useFollow.js +22 -6
- package/lib/commonjs/ui/hooks/useFollow.js.map +1 -1
- package/lib/module/ui/components/FollowButton.js +22 -3
- package/lib/module/ui/components/FollowButton.js.map +1 -1
- package/lib/module/ui/hooks/useFollow.js +22 -6
- package/lib/module/ui/hooks/useFollow.js.map +1 -1
- package/lib/typescript/commonjs/ui/components/FollowButton.d.ts.map +1 -1
- package/lib/typescript/commonjs/ui/hooks/useFollow.d.ts.map +1 -1
- package/lib/typescript/module/ui/components/FollowButton.d.ts.map +1 -1
- package/lib/typescript/module/ui/hooks/useFollow.d.ts.map +1 -1
- package/package.json +1 -1
- package/src/ui/components/FollowButton.tsx +20 -3
- package/src/ui/hooks/useFollow.ts +27 -10
|
@@ -92,7 +92,6 @@ const FollowButtonInner = /*#__PURE__*/(0, _react.memo)(function FollowButtonInn
|
|
|
92
92
|
});
|
|
93
93
|
const FollowButtonMultiInner = /*#__PURE__*/(0, _react.memo)(function FollowButtonMultiInner({
|
|
94
94
|
userIds,
|
|
95
|
-
initiallyAllFollowing = false,
|
|
96
95
|
size = 'medium',
|
|
97
96
|
followAllLabel = DEFAULT_FOLLOW_ALL_LABEL,
|
|
98
97
|
followedAllLabel = DEFAULT_FOLLOWED_ALL_LABEL,
|
|
@@ -110,9 +109,27 @@ const FollowButtonMultiInner = /*#__PURE__*/(0, _react.memo)(function FollowButt
|
|
|
110
109
|
const follow = (0, _useFollow.useFollow)(userIds);
|
|
111
110
|
const followAllUsers = 'followAllUsers' in follow ? follow.followAllUsers : undefined;
|
|
112
111
|
const isAnyLoading = 'isAnyLoading' in follow ? follow.isAnyLoading : false;
|
|
113
|
-
|
|
112
|
+
|
|
113
|
+
// `allFollowing` is store-derived (LIVE aggregate of each target's follow
|
|
114
|
+
// status) — it reacts in real time as individual members are followed or
|
|
115
|
+
// unfollowed elsewhere. Only `isSubmitting` is transient local state for the
|
|
116
|
+
// in-flight bulk call.
|
|
117
|
+
const allFollowing = 'allFollowing' in follow ? follow.allFollowing : false;
|
|
118
|
+
const fetchAllStatuses = 'fetchAllStatuses' in follow ? follow.fetchAllStatuses : undefined;
|
|
114
119
|
const [isSubmitting, setIsSubmitting] = (0, _react.useState)(false);
|
|
115
120
|
const isLoading = isSubmitting || isAnyLoading;
|
|
121
|
+
|
|
122
|
+
// Populate the store with each member's follow status once on mount and again
|
|
123
|
+
// only when the SET of target users changes. `fetchAllStatuses` is referentially
|
|
124
|
+
// stable (its useFollow useCallback deps are [canUsePrivateApi, userIds,
|
|
125
|
+
// oxyServices]; `userIds` inside useFollow is memoized, and the outer wrapper
|
|
126
|
+
// memoizes `multiUserIds`), so depending on it plus the stable joined-string
|
|
127
|
+
// key cannot self-retrigger — `allFollowing`/loading are intentionally NOT in
|
|
128
|
+
// the deps.
|
|
129
|
+
const userIdsKey = (0, _react.useMemo)(() => userIds.join(','), [userIds]);
|
|
130
|
+
(0, _react.useEffect)(() => {
|
|
131
|
+
fetchAllStatuses?.();
|
|
132
|
+
}, [userIdsKey, fetchAllStatuses]);
|
|
116
133
|
const handlePress = (0, _react.useCallback)(async event => {
|
|
117
134
|
if (preventParentActions && event?.preventDefault) {
|
|
118
135
|
event.preventDefault();
|
|
@@ -124,8 +141,10 @@ const FollowButtonMultiInner = /*#__PURE__*/(0, _react.memo)(function FollowButt
|
|
|
124
141
|
const result = await followAllUsers();
|
|
125
142
|
const allAlreadyFollowing = result.followedCount === 0 && result.results.length > 0 && result.results.every(entry => entry.alreadyFollowing);
|
|
126
143
|
const anyFollowed = result.followedCount > 0 || result.results.some(entry => entry.success || entry.alreadyFollowing);
|
|
144
|
+
|
|
145
|
+
// `followManyUsers` marks each user followed in the store, so `allFollowing`
|
|
146
|
+
// flips to true reactively — no local flag to set here.
|
|
127
147
|
if (allAlreadyFollowing || anyFollowed) {
|
|
128
|
-
setAllFollowing(true);
|
|
129
148
|
onFollowChange?.(true);
|
|
130
149
|
}
|
|
131
150
|
onBulkFollow?.(result);
|
|
@@ -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","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":[]}
|
|
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","followAllLabel","followedAllLabel","onBulkFollow","follow","useFollow","followAllUsers","undefined","isAnyLoading","allFollowing","fetchAllStatuses","isSubmitting","setIsSubmitting","useState","userIdsKey","useMemo","join","result","allAlreadyFollowing","followedCount","results","length","every","entry","alreadyFollowing","anyFollowed","some","success","FollowButton","canUsePrivateApi","user","currentUser","useOxy","currentUserId","id","trim","rawUserIds","multiUserIds","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 => {
|
|
@@ -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","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":[]}
|
|
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":[]}
|
|
@@ -87,7 +87,6 @@ const FollowButtonInner = /*#__PURE__*/memo(function FollowButtonInner({
|
|
|
87
87
|
});
|
|
88
88
|
const FollowButtonMultiInner = /*#__PURE__*/memo(function FollowButtonMultiInner({
|
|
89
89
|
userIds,
|
|
90
|
-
initiallyAllFollowing = false,
|
|
91
90
|
size = 'medium',
|
|
92
91
|
followAllLabel = DEFAULT_FOLLOW_ALL_LABEL,
|
|
93
92
|
followedAllLabel = DEFAULT_FOLLOWED_ALL_LABEL,
|
|
@@ -105,9 +104,27 @@ const FollowButtonMultiInner = /*#__PURE__*/memo(function FollowButtonMultiInner
|
|
|
105
104
|
const follow = useFollow(userIds);
|
|
106
105
|
const followAllUsers = 'followAllUsers' in follow ? follow.followAllUsers : undefined;
|
|
107
106
|
const isAnyLoading = 'isAnyLoading' in follow ? follow.isAnyLoading : false;
|
|
108
|
-
|
|
107
|
+
|
|
108
|
+
// `allFollowing` is store-derived (LIVE aggregate of each target's follow
|
|
109
|
+
// status) — it reacts in real time as individual members are followed or
|
|
110
|
+
// unfollowed elsewhere. Only `isSubmitting` is transient local state for the
|
|
111
|
+
// in-flight bulk call.
|
|
112
|
+
const allFollowing = 'allFollowing' in follow ? follow.allFollowing : false;
|
|
113
|
+
const fetchAllStatuses = 'fetchAllStatuses' in follow ? follow.fetchAllStatuses : undefined;
|
|
109
114
|
const [isSubmitting, setIsSubmitting] = useState(false);
|
|
110
115
|
const isLoading = isSubmitting || isAnyLoading;
|
|
116
|
+
|
|
117
|
+
// Populate the store with each member's follow status once on mount and again
|
|
118
|
+
// only when the SET of target users changes. `fetchAllStatuses` is referentially
|
|
119
|
+
// stable (its useFollow useCallback deps are [canUsePrivateApi, userIds,
|
|
120
|
+
// oxyServices]; `userIds` inside useFollow is memoized, and the outer wrapper
|
|
121
|
+
// memoizes `multiUserIds`), so depending on it plus the stable joined-string
|
|
122
|
+
// key cannot self-retrigger — `allFollowing`/loading are intentionally NOT in
|
|
123
|
+
// the deps.
|
|
124
|
+
const userIdsKey = useMemo(() => userIds.join(','), [userIds]);
|
|
125
|
+
useEffect(() => {
|
|
126
|
+
fetchAllStatuses?.();
|
|
127
|
+
}, [userIdsKey, fetchAllStatuses]);
|
|
111
128
|
const handlePress = useCallback(async event => {
|
|
112
129
|
if (preventParentActions && event?.preventDefault) {
|
|
113
130
|
event.preventDefault();
|
|
@@ -119,8 +136,10 @@ const FollowButtonMultiInner = /*#__PURE__*/memo(function FollowButtonMultiInner
|
|
|
119
136
|
const result = await followAllUsers();
|
|
120
137
|
const allAlreadyFollowing = result.followedCount === 0 && result.results.length > 0 && result.results.every(entry => entry.alreadyFollowing);
|
|
121
138
|
const anyFollowed = result.followedCount > 0 || result.results.some(entry => entry.success || entry.alreadyFollowing);
|
|
139
|
+
|
|
140
|
+
// `followManyUsers` marks each user followed in the store, so `allFollowing`
|
|
141
|
+
// flips to true reactively — no local flag to set here.
|
|
122
142
|
if (allAlreadyFollowing || anyFollowed) {
|
|
123
|
-
setAllFollowing(true);
|
|
124
143
|
onFollowChange?.(true);
|
|
125
144
|
}
|
|
126
145
|
onBulkFollow?.(result);
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"names":["React","useEffect","useCallback","useMemo","useState","memo","TouchableOpacity","Text","Platform","ActivityIndicator","useOxy","toast","useFollow","useFollowForButton","useTheme","jsx","_jsx","DEFAULT_FOLLOW_ALL_LABEL","DEFAULT_FOLLOWED_ALL_LABEL","isMultiMode","props","Array","isArray","userIds","FollowButtonInner","userId","oxyServices","initiallyFollowing","size","onFollowChange","style","textStyle","disabled","showLoadingState","preventParentActions","colors","isFollowing","isLoading","toggleFollow","setFollowStatus","fetchStatus","handlePress","event","preventDefault","stopPropagation","err","error","Error","String","message","baseButtonStyle","getBaseButtonStyle","baseTextStyle","getBaseTextStyle","className","onPress","activeOpacity","children","color","text","negativeForeground","FollowButtonMultiInner","
|
|
1
|
+
{"version":3,"names":["React","useEffect","useCallback","useMemo","useState","memo","TouchableOpacity","Text","Platform","ActivityIndicator","useOxy","toast","useFollow","useFollowForButton","useTheme","jsx","_jsx","DEFAULT_FOLLOW_ALL_LABEL","DEFAULT_FOLLOWED_ALL_LABEL","isMultiMode","props","Array","isArray","userIds","FollowButtonInner","userId","oxyServices","initiallyFollowing","size","onFollowChange","style","textStyle","disabled","showLoadingState","preventParentActions","colors","isFollowing","isLoading","toggleFollow","setFollowStatus","fetchStatus","handlePress","event","preventDefault","stopPropagation","err","error","Error","String","message","baseButtonStyle","getBaseButtonStyle","baseTextStyle","getBaseTextStyle","className","onPress","activeOpacity","children","color","text","negativeForeground","FollowButtonMultiInner","followAllLabel","followedAllLabel","onBulkFollow","follow","followAllUsers","undefined","isAnyLoading","allFollowing","fetchAllStatuses","isSubmitting","setIsSubmitting","userIdsKey","join","result","allAlreadyFollowing","followedCount","results","length","every","entry","alreadyFollowing","anyFollowed","some","success","FollowButton","canUsePrivateApi","user","currentUser","currentUserId","id","trim","rawUserIds","multiUserIds","seen","Set","cleaned","raw","has","add","push","targetUserId","baseStyle","flexDirection","alignItems","justifyContent","borderWidth","select","web","default","shadowColor","shadowOffset","width","height","shadowOpacity","shadowRadius","elevation","sizeStyle","paddingVertical","paddingHorizontal","minWidth","borderRadius","fontWeight","sizeTextStyle","fontSize"],"sourceRoot":"../../../../src","sources":["ui/components/FollowButton.tsx"],"mappings":"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","ignoreList":[]}
|
|
@@ -35,19 +35,35 @@ export const useFollow = userId => {
|
|
|
35
35
|
const followingCount = useFollowStore(useCallback(s => isSingleUser && userId ? s.followingCounts[userId] ?? null : null, [isSingleUser, userId]));
|
|
36
36
|
const isLoadingCounts = useFollowStore(useCallback(s => isSingleUser && userId ? s.loadingCounts[userId] ?? false : false, [isSingleUser, userId]));
|
|
37
37
|
|
|
38
|
-
// For multi-user mode,
|
|
39
|
-
|
|
38
|
+
// For multi-user mode, subscribe to a FLAT snapshot of the per-user fields.
|
|
39
|
+
// `useShallow` only compares one level deep, so the selector must NOT return a
|
|
40
|
+
// nested object — a freshly allocated `{ isFollowing, isLoading, error }` per
|
|
41
|
+
// user would never shallow-compare equal, making `useSyncExternalStore`
|
|
42
|
+
// resubscribe every render and loop until React throws "Maximum update depth
|
|
43
|
+
// exceeded". Keeping the snapshot flat lets the shallow compare cache it; the
|
|
44
|
+
// nested `followData` shape is then assembled in a `useMemo` below.
|
|
45
|
+
const followFlat = useFollowStore(useShallow(s => {
|
|
40
46
|
if (isSingleUser) return {};
|
|
47
|
+
const flat = {};
|
|
48
|
+
for (const uid of userIds) {
|
|
49
|
+
flat[`${uid}:isFollowing`] = s.followingUsers[uid] ?? false;
|
|
50
|
+
flat[`${uid}:isLoading`] = s.loadingUsers[uid] ?? false;
|
|
51
|
+
flat[`${uid}:error`] = s.errors[uid] ?? null;
|
|
52
|
+
}
|
|
53
|
+
return flat;
|
|
54
|
+
}));
|
|
55
|
+
const followData = useMemo(() => {
|
|
41
56
|
const data = {};
|
|
57
|
+
if (isSingleUser) return data;
|
|
42
58
|
for (const uid of userIds) {
|
|
43
59
|
data[uid] = {
|
|
44
|
-
isFollowing:
|
|
45
|
-
isLoading:
|
|
46
|
-
error:
|
|
60
|
+
isFollowing: Boolean(followFlat[`${uid}:isFollowing`]),
|
|
61
|
+
isLoading: Boolean(followFlat[`${uid}:isLoading`]),
|
|
62
|
+
error: followFlat[`${uid}:error`] ?? null
|
|
47
63
|
};
|
|
48
64
|
}
|
|
49
65
|
return data;
|
|
50
|
-
})
|
|
66
|
+
}, [isSingleUser, userIds, followFlat]);
|
|
51
67
|
|
|
52
68
|
// Multi-user aggregate selectors
|
|
53
69
|
const multiUserLoadingState = useFollowStore(useShallow(s => {
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"names":["useCallback","useMemo","useEffect","useFollowStore","useOxy","logger","loggerUtil","useShallow","useFollow","userId","oxyServices","canUsePrivateApi","userIds","Array","isArray","isSingleUser","isFollowing","s","followingUsers","isLoading","loadingUsers","error","errors","followerCount","followerCounts","followingCount","followingCounts","isLoadingCounts","loadingCounts","followData","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","catch","warn","component","toggleFollowForUser","targetUserId","currentState","setFollowStatusForUser","fetchStatusForUser","fetchAllStatuses","store","Promise","all","map","followAllUsers","followManyUsers","clearErrorForUser","updateCountsFromFollowAction","action","counts","currentUserId","getCurrentUserId","undefined","useFollowForButton","useFollowerCounts"],"sourceRoot":"../../../../src","sources":["ui/hooks/useFollow.ts"],"mappings":"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","ignoreList":[]}
|
|
1
|
+
{"version":3,"names":["useCallback","useMemo","useEffect","useFollowStore","useOxy","logger","loggerUtil","useShallow","useFollow","userId","oxyServices","canUsePrivateApi","userIds","Array","isArray","isSingleUser","isFollowing","s","followingUsers","isLoading","loadingUsers","error","errors","followerCount","followerCounts","followingCount","followingCounts","isLoadingCounts","loadingCounts","followFlat","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","catch","warn","component","toggleFollowForUser","targetUserId","currentState","setFollowStatusForUser","fetchStatusForUser","fetchAllStatuses","store","Promise","all","map","followAllUsers","followManyUsers","clearErrorForUser","updateCountsFromFollowAction","action","counts","currentUserId","getCurrentUserId","undefined","useFollowForButton","useFollowerCounts"],"sourceRoot":"../../../../src","sources":["ui/hooks/useFollow.ts"],"mappings":"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","ignoreList":[]}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"FollowButton.d.ts","sourceRoot":"","sources":["../../../../../src/ui/components/FollowButton.tsx"],"names":[],"mappings":"AAAA,OAAO,KAA0D,MAAM,OAAO,CAAC;AAC/E,OAAO,EAGL,KAAK,SAAS,EACd,KAAK,SAAS,EACd,KAAK,SAAS,EAGf,MAAM,cAAc,CAAC;AAKtB,OAAO,KAAK,EAAe,gBAAgB,EAAE,MAAM,aAAa,CAAC;AAKjE,gEAAgE;AAChE,UAAU,qBAAqB;IAC7B,IAAI,CAAC,EAAE,OAAO,GAAG,QAAQ,GAAG,OAAO,CAAC;IACpC,KAAK,CAAC,EAAE,SAAS,CAAC,SAAS,CAAC,CAAC;IAC7B,SAAS,CAAC,EAAE,SAAS,CAAC,SAAS,CAAC,CAAC;IACjC,QAAQ,CAAC,EAAE,OAAO,CAAC;IACnB,gBAAgB,CAAC,EAAE,OAAO,CAAC;IAC3B,oBAAoB,CAAC,EAAE,OAAO,CAAC;IAC/B,KAAK,CAAC,EAAE,OAAO,GAAG,MAAM,CAAC;IACzB,cAAc,CAAC,EAAE,CAAC,WAAW,EAAE,OAAO,KAAK,IAAI,CAAC;CACjD;AAED,yEAAyE;AACzE,MAAM,WAAW,uBAAwB,SAAQ,qBAAqB;IACpE,MAAM,EAAE,MAAM,CAAC;IACf,kBAAkB,CAAC,EAAE,OAAO,CAAC;IAC7B,OAAO,CAAC,EAAE,KAAK,CAAC;CACjB;AAED,qFAAqF;AACrF,MAAM,WAAW,sBAAuB,SAAQ,qBAAqB;IACnE,OAAO,EAAE,MAAM,EAAE,CAAC;IAClB,qBAAqB,CAAC,EAAE,OAAO,CAAC;IAChC,cAAc,CAAC,EAAE,MAAM,CAAC;IACxB,gBAAgB,CAAC,EAAE,MAAM,CAAC;IAC1B,YAAY,CAAC,EAAE,CAAC,MAAM,EAAE,gBAAgB,KAAK,IAAI,CAAC;IAClD,MAAM,CAAC,EAAE,KAAK,CAAC;CAChB;AAED;;;GAGG;AACH,MAAM,MAAM,iBAAiB,GAAG,uBAAuB,GAAG,sBAAsB,CAAC;
|
|
1
|
+
{"version":3,"file":"FollowButton.d.ts","sourceRoot":"","sources":["../../../../../src/ui/components/FollowButton.tsx"],"names":[],"mappings":"AAAA,OAAO,KAA0D,MAAM,OAAO,CAAC;AAC/E,OAAO,EAGL,KAAK,SAAS,EACd,KAAK,SAAS,EACd,KAAK,SAAS,EAGf,MAAM,cAAc,CAAC;AAKtB,OAAO,KAAK,EAAe,gBAAgB,EAAE,MAAM,aAAa,CAAC;AAKjE,gEAAgE;AAChE,UAAU,qBAAqB;IAC7B,IAAI,CAAC,EAAE,OAAO,GAAG,QAAQ,GAAG,OAAO,CAAC;IACpC,KAAK,CAAC,EAAE,SAAS,CAAC,SAAS,CAAC,CAAC;IAC7B,SAAS,CAAC,EAAE,SAAS,CAAC,SAAS,CAAC,CAAC;IACjC,QAAQ,CAAC,EAAE,OAAO,CAAC;IACnB,gBAAgB,CAAC,EAAE,OAAO,CAAC;IAC3B,oBAAoB,CAAC,EAAE,OAAO,CAAC;IAC/B,KAAK,CAAC,EAAE,OAAO,GAAG,MAAM,CAAC;IACzB,cAAc,CAAC,EAAE,CAAC,WAAW,EAAE,OAAO,KAAK,IAAI,CAAC;CACjD;AAED,yEAAyE;AACzE,MAAM,WAAW,uBAAwB,SAAQ,qBAAqB;IACpE,MAAM,EAAE,MAAM,CAAC;IACf,kBAAkB,CAAC,EAAE,OAAO,CAAC;IAC7B,OAAO,CAAC,EAAE,KAAK,CAAC;CACjB;AAED,qFAAqF;AACrF,MAAM,WAAW,sBAAuB,SAAQ,qBAAqB;IACnE,OAAO,EAAE,MAAM,EAAE,CAAC;IAClB,qBAAqB,CAAC,EAAE,OAAO,CAAC;IAChC,cAAc,CAAC,EAAE,MAAM,CAAC;IACxB,gBAAgB,CAAC,EAAE,MAAM,CAAC;IAC1B,YAAY,CAAC,EAAE,CAAC,MAAM,EAAE,gBAAgB,KAAK,IAAI,CAAC;IAClD,MAAM,CAAC,EAAE,KAAK,CAAC;CAChB;AAED;;;GAGG;AACH,MAAM,MAAM,iBAAiB,GAAG,uBAAuB,GAAG,sBAAsB,CAAC;AA0LjF,QAAA,MAAM,YAAY,EAAE,KAAK,CAAC,EAAE,CAAC,iBAAiB,CAiD7C,CAAC;AAiDF,OAAO,EAAE,YAAY,EAAE,CAAC;AACxB,eAAe,YAAY,CAAC"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"useFollow.d.ts","sourceRoot":"","sources":["../../../../../src/ui/hooks/useFollow.ts"],"names":[],"mappings":"AAGA,OAAO,EAAwB,KAAK,WAAW,EAAE,KAAK,gBAAgB,EAAE,MAAM,aAAa,CAAC;AAG5F;;;;;;;;;;;;GAYG;AACH,eAAO,MAAM,SAAS,GAAI,SAAS,MAAM,GAAG,MAAM,EAAE;;;;;
|
|
1
|
+
{"version":3,"file":"useFollow.d.ts","sourceRoot":"","sources":["../../../../../src/ui/hooks/useFollow.ts"],"names":[],"mappings":"AAGA,OAAO,EAAwB,KAAK,WAAW,EAAE,KAAK,gBAAgB,EAAE,MAAM,aAAa,CAAC;AAG5F;;;;;;;;;;;;GAYG;AACH,eAAO,MAAM,SAAS,GAAI,SAAS,MAAM,GAAG,MAAM,EAAE;;;;;iCAgFF,OAAO;;;;;;;8BAqBV,MAAM;+BAKL,MAAM;;;;;;;;;;;;;;qBA5DR,OAAO;mBAAa,OAAO;eAAS,MAAM,GAAG,IAAI;;wCA6EhC,MAAM;2CAMT,MAAM,aAAa,OAAO;uCAIxB,MAAM;;0BAYrB,OAAO,CAAC,gBAAgB,CAAC;sCAKjB,MAAM;;;;;;;;;;;;;;;;;;CAwC5D,CAAC;AAEF;;;;;;;GAOG;AACH,eAAO,MAAM,kBAAkB,GAAI,QAAQ,MAAM,EAAE,aAAa,WAAW;;;;;;iCAoBzB,OAAO;;CAiBxD,CAAC;AAGF,eAAO,MAAM,iBAAiB,GAAI,QAAQ,MAAM;;;;;8BAiBD,MAAM;+BAIL,MAAM;CAYrD,CAAC"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"FollowButton.d.ts","sourceRoot":"","sources":["../../../../../src/ui/components/FollowButton.tsx"],"names":[],"mappings":"AAAA,OAAO,KAA0D,MAAM,OAAO,CAAC;AAC/E,OAAO,EAGL,KAAK,SAAS,EACd,KAAK,SAAS,EACd,KAAK,SAAS,EAGf,MAAM,cAAc,CAAC;AAKtB,OAAO,KAAK,EAAe,gBAAgB,EAAE,MAAM,aAAa,CAAC;AAKjE,gEAAgE;AAChE,UAAU,qBAAqB;IAC7B,IAAI,CAAC,EAAE,OAAO,GAAG,QAAQ,GAAG,OAAO,CAAC;IACpC,KAAK,CAAC,EAAE,SAAS,CAAC,SAAS,CAAC,CAAC;IAC7B,SAAS,CAAC,EAAE,SAAS,CAAC,SAAS,CAAC,CAAC;IACjC,QAAQ,CAAC,EAAE,OAAO,CAAC;IACnB,gBAAgB,CAAC,EAAE,OAAO,CAAC;IAC3B,oBAAoB,CAAC,EAAE,OAAO,CAAC;IAC/B,KAAK,CAAC,EAAE,OAAO,GAAG,MAAM,CAAC;IACzB,cAAc,CAAC,EAAE,CAAC,WAAW,EAAE,OAAO,KAAK,IAAI,CAAC;CACjD;AAED,yEAAyE;AACzE,MAAM,WAAW,uBAAwB,SAAQ,qBAAqB;IACpE,MAAM,EAAE,MAAM,CAAC;IACf,kBAAkB,CAAC,EAAE,OAAO,CAAC;IAC7B,OAAO,CAAC,EAAE,KAAK,CAAC;CACjB;AAED,qFAAqF;AACrF,MAAM,WAAW,sBAAuB,SAAQ,qBAAqB;IACnE,OAAO,EAAE,MAAM,EAAE,CAAC;IAClB,qBAAqB,CAAC,EAAE,OAAO,CAAC;IAChC,cAAc,CAAC,EAAE,MAAM,CAAC;IACxB,gBAAgB,CAAC,EAAE,MAAM,CAAC;IAC1B,YAAY,CAAC,EAAE,CAAC,MAAM,EAAE,gBAAgB,KAAK,IAAI,CAAC;IAClD,MAAM,CAAC,EAAE,KAAK,CAAC;CAChB;AAED;;;GAGG;AACH,MAAM,MAAM,iBAAiB,GAAG,uBAAuB,GAAG,sBAAsB,CAAC;
|
|
1
|
+
{"version":3,"file":"FollowButton.d.ts","sourceRoot":"","sources":["../../../../../src/ui/components/FollowButton.tsx"],"names":[],"mappings":"AAAA,OAAO,KAA0D,MAAM,OAAO,CAAC;AAC/E,OAAO,EAGL,KAAK,SAAS,EACd,KAAK,SAAS,EACd,KAAK,SAAS,EAGf,MAAM,cAAc,CAAC;AAKtB,OAAO,KAAK,EAAe,gBAAgB,EAAE,MAAM,aAAa,CAAC;AAKjE,gEAAgE;AAChE,UAAU,qBAAqB;IAC7B,IAAI,CAAC,EAAE,OAAO,GAAG,QAAQ,GAAG,OAAO,CAAC;IACpC,KAAK,CAAC,EAAE,SAAS,CAAC,SAAS,CAAC,CAAC;IAC7B,SAAS,CAAC,EAAE,SAAS,CAAC,SAAS,CAAC,CAAC;IACjC,QAAQ,CAAC,EAAE,OAAO,CAAC;IACnB,gBAAgB,CAAC,EAAE,OAAO,CAAC;IAC3B,oBAAoB,CAAC,EAAE,OAAO,CAAC;IAC/B,KAAK,CAAC,EAAE,OAAO,GAAG,MAAM,CAAC;IACzB,cAAc,CAAC,EAAE,CAAC,WAAW,EAAE,OAAO,KAAK,IAAI,CAAC;CACjD;AAED,yEAAyE;AACzE,MAAM,WAAW,uBAAwB,SAAQ,qBAAqB;IACpE,MAAM,EAAE,MAAM,CAAC;IACf,kBAAkB,CAAC,EAAE,OAAO,CAAC;IAC7B,OAAO,CAAC,EAAE,KAAK,CAAC;CACjB;AAED,qFAAqF;AACrF,MAAM,WAAW,sBAAuB,SAAQ,qBAAqB;IACnE,OAAO,EAAE,MAAM,EAAE,CAAC;IAClB,qBAAqB,CAAC,EAAE,OAAO,CAAC;IAChC,cAAc,CAAC,EAAE,MAAM,CAAC;IACxB,gBAAgB,CAAC,EAAE,MAAM,CAAC;IAC1B,YAAY,CAAC,EAAE,CAAC,MAAM,EAAE,gBAAgB,KAAK,IAAI,CAAC;IAClD,MAAM,CAAC,EAAE,KAAK,CAAC;CAChB;AAED;;;GAGG;AACH,MAAM,MAAM,iBAAiB,GAAG,uBAAuB,GAAG,sBAAsB,CAAC;AA0LjF,QAAA,MAAM,YAAY,EAAE,KAAK,CAAC,EAAE,CAAC,iBAAiB,CAiD7C,CAAC;AAiDF,OAAO,EAAE,YAAY,EAAE,CAAC;AACxB,eAAe,YAAY,CAAC"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"useFollow.d.ts","sourceRoot":"","sources":["../../../../../src/ui/hooks/useFollow.ts"],"names":[],"mappings":"AAGA,OAAO,EAAwB,KAAK,WAAW,EAAE,KAAK,gBAAgB,EAAE,MAAM,aAAa,CAAC;AAG5F;;;;;;;;;;;;GAYG;AACH,eAAO,MAAM,SAAS,GAAI,SAAS,MAAM,GAAG,MAAM,EAAE;;;;;
|
|
1
|
+
{"version":3,"file":"useFollow.d.ts","sourceRoot":"","sources":["../../../../../src/ui/hooks/useFollow.ts"],"names":[],"mappings":"AAGA,OAAO,EAAwB,KAAK,WAAW,EAAE,KAAK,gBAAgB,EAAE,MAAM,aAAa,CAAC;AAG5F;;;;;;;;;;;;GAYG;AACH,eAAO,MAAM,SAAS,GAAI,SAAS,MAAM,GAAG,MAAM,EAAE;;;;;iCAgFF,OAAO;;;;;;;8BAqBV,MAAM;+BAKL,MAAM;;;;;;;;;;;;;;qBA5DR,OAAO;mBAAa,OAAO;eAAS,MAAM,GAAG,IAAI;;wCA6EhC,MAAM;2CAMT,MAAM,aAAa,OAAO;uCAIxB,MAAM;;0BAYrB,OAAO,CAAC,gBAAgB,CAAC;sCAKjB,MAAM;;;;;;;;;;;;;;;;;;CAwC5D,CAAC;AAEF;;;;;;;GAOG;AACH,eAAO,MAAM,kBAAkB,GAAI,QAAQ,MAAM,EAAE,aAAa,WAAW;;;;;;iCAoBzB,OAAO;;CAiBxD,CAAC;AAGF,eAAO,MAAM,iBAAiB,GAAI,QAAQ,MAAM;;;;;8BAiBD,MAAM;+BAIL,MAAM;CAYrD,CAAC"}
|
package/package.json
CHANGED
|
@@ -137,7 +137,6 @@ const FollowButtonInner = memo(function FollowButtonInner({
|
|
|
137
137
|
|
|
138
138
|
const FollowButtonMultiInner = memo(function FollowButtonMultiInner({
|
|
139
139
|
userIds,
|
|
140
|
-
initiallyAllFollowing = false,
|
|
141
140
|
size = 'medium',
|
|
142
141
|
followAllLabel = DEFAULT_FOLLOW_ALL_LABEL,
|
|
143
142
|
followedAllLabel = DEFAULT_FOLLOWED_ALL_LABEL,
|
|
@@ -154,11 +153,28 @@ const FollowButtonMultiInner = memo(function FollowButtonMultiInner({
|
|
|
154
153
|
const followAllUsers = 'followAllUsers' in follow ? follow.followAllUsers : undefined;
|
|
155
154
|
const isAnyLoading = 'isAnyLoading' in follow ? follow.isAnyLoading : false;
|
|
156
155
|
|
|
157
|
-
|
|
156
|
+
// `allFollowing` is store-derived (LIVE aggregate of each target's follow
|
|
157
|
+
// status) — it reacts in real time as individual members are followed or
|
|
158
|
+
// unfollowed elsewhere. Only `isSubmitting` is transient local state for the
|
|
159
|
+
// in-flight bulk call.
|
|
160
|
+
const allFollowing = 'allFollowing' in follow ? follow.allFollowing : false;
|
|
161
|
+
const fetchAllStatuses = 'fetchAllStatuses' in follow ? follow.fetchAllStatuses : undefined;
|
|
158
162
|
const [isSubmitting, setIsSubmitting] = useState(false);
|
|
159
163
|
|
|
160
164
|
const isLoading = isSubmitting || isAnyLoading;
|
|
161
165
|
|
|
166
|
+
// Populate the store with each member's follow status once on mount and again
|
|
167
|
+
// only when the SET of target users changes. `fetchAllStatuses` is referentially
|
|
168
|
+
// stable (its useFollow useCallback deps are [canUsePrivateApi, userIds,
|
|
169
|
+
// oxyServices]; `userIds` inside useFollow is memoized, and the outer wrapper
|
|
170
|
+
// memoizes `multiUserIds`), so depending on it plus the stable joined-string
|
|
171
|
+
// key cannot self-retrigger — `allFollowing`/loading are intentionally NOT in
|
|
172
|
+
// the deps.
|
|
173
|
+
const userIdsKey = useMemo(() => userIds.join(','), [userIds]);
|
|
174
|
+
useEffect(() => {
|
|
175
|
+
fetchAllStatuses?.();
|
|
176
|
+
}, [userIdsKey, fetchAllStatuses]);
|
|
177
|
+
|
|
162
178
|
const handlePress = useCallback(async (event?: { preventDefault?: () => void; stopPropagation?: () => void }) => {
|
|
163
179
|
if (preventParentActions && event?.preventDefault) {
|
|
164
180
|
event.preventDefault();
|
|
@@ -175,8 +191,9 @@ const FollowButtonMultiInner = memo(function FollowButtonMultiInner({
|
|
|
175
191
|
const anyFollowed = result.followedCount > 0
|
|
176
192
|
|| result.results.some((entry) => entry.success || entry.alreadyFollowing);
|
|
177
193
|
|
|
194
|
+
// `followManyUsers` marks each user followed in the store, so `allFollowing`
|
|
195
|
+
// flips to true reactively — no local flag to set here.
|
|
178
196
|
if (allAlreadyFollowing || anyFollowed) {
|
|
179
|
-
setAllFollowing(true);
|
|
180
197
|
onFollowChange?.(true);
|
|
181
198
|
}
|
|
182
199
|
onBulkFollow?.(result);
|
|
@@ -42,22 +42,39 @@ export const useFollow = (userId?: string | string[]) => {
|
|
|
42
42
|
useCallback((s) => (isSingleUser && userId ? s.loadingCounts[userId] ?? false : false), [isSingleUser, userId])
|
|
43
43
|
);
|
|
44
44
|
|
|
45
|
-
// For multi-user mode,
|
|
46
|
-
|
|
45
|
+
// For multi-user mode, subscribe to a FLAT snapshot of the per-user fields.
|
|
46
|
+
// `useShallow` only compares one level deep, so the selector must NOT return a
|
|
47
|
+
// nested object — a freshly allocated `{ isFollowing, isLoading, error }` per
|
|
48
|
+
// user would never shallow-compare equal, making `useSyncExternalStore`
|
|
49
|
+
// resubscribe every render and loop until React throws "Maximum update depth
|
|
50
|
+
// exceeded". Keeping the snapshot flat lets the shallow compare cache it; the
|
|
51
|
+
// nested `followData` shape is then assembled in a `useMemo` below.
|
|
52
|
+
const followFlat = useFollowStore(
|
|
47
53
|
useShallow((s) => {
|
|
48
|
-
if (isSingleUser) return {}
|
|
49
|
-
const
|
|
54
|
+
if (isSingleUser) return {} as Record<string, boolean | string | null>;
|
|
55
|
+
const flat: Record<string, boolean | string | null> = {};
|
|
50
56
|
for (const uid of userIds) {
|
|
51
|
-
|
|
52
|
-
|
|
53
|
-
|
|
54
|
-
error: s.errors[uid] ?? null,
|
|
55
|
-
};
|
|
57
|
+
flat[`${uid}:isFollowing`] = s.followingUsers[uid] ?? false;
|
|
58
|
+
flat[`${uid}:isLoading`] = s.loadingUsers[uid] ?? false;
|
|
59
|
+
flat[`${uid}:error`] = s.errors[uid] ?? null;
|
|
56
60
|
}
|
|
57
|
-
return
|
|
61
|
+
return flat;
|
|
58
62
|
})
|
|
59
63
|
);
|
|
60
64
|
|
|
65
|
+
const followData = useMemo(() => {
|
|
66
|
+
const data: Record<string, { isFollowing: boolean; isLoading: boolean; error: string | null }> = {};
|
|
67
|
+
if (isSingleUser) return data;
|
|
68
|
+
for (const uid of userIds) {
|
|
69
|
+
data[uid] = {
|
|
70
|
+
isFollowing: Boolean(followFlat[`${uid}:isFollowing`]),
|
|
71
|
+
isLoading: Boolean(followFlat[`${uid}:isLoading`]),
|
|
72
|
+
error: (followFlat[`${uid}:error`] as string | null) ?? null,
|
|
73
|
+
};
|
|
74
|
+
}
|
|
75
|
+
return data;
|
|
76
|
+
}, [isSingleUser, userIds, followFlat]);
|
|
77
|
+
|
|
61
78
|
// Multi-user aggregate selectors
|
|
62
79
|
const multiUserLoadingState = useFollowStore(
|
|
63
80
|
useShallow((s) => {
|