@oxyhq/services 10.3.2 → 10.3.3

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (28) hide show
  1. package/lib/commonjs/ui/components/FollowButton.js +23 -3
  2. package/lib/commonjs/ui/components/FollowButton.js.map +1 -1
  3. package/lib/commonjs/ui/hooks/useFollow.js +7 -0
  4. package/lib/commonjs/ui/hooks/useFollow.js.map +1 -1
  5. package/lib/commonjs/ui/stores/followStore.js +68 -0
  6. package/lib/commonjs/ui/stores/followStore.js.map +1 -1
  7. package/lib/module/ui/components/FollowButton.js +23 -3
  8. package/lib/module/ui/components/FollowButton.js.map +1 -1
  9. package/lib/module/ui/hooks/useFollow.js +7 -0
  10. package/lib/module/ui/hooks/useFollow.js.map +1 -1
  11. package/lib/module/ui/stores/followStore.js +68 -0
  12. package/lib/module/ui/stores/followStore.js.map +1 -1
  13. package/lib/typescript/commonjs/ui/components/FollowButton.d.ts +2 -1
  14. package/lib/typescript/commonjs/ui/components/FollowButton.d.ts.map +1 -1
  15. package/lib/typescript/commonjs/ui/hooks/useFollow.d.ts +3 -1
  16. package/lib/typescript/commonjs/ui/hooks/useFollow.d.ts.map +1 -1
  17. package/lib/typescript/commonjs/ui/stores/followStore.d.ts +2 -1
  18. package/lib/typescript/commonjs/ui/stores/followStore.d.ts.map +1 -1
  19. package/lib/typescript/module/ui/components/FollowButton.d.ts +2 -1
  20. package/lib/typescript/module/ui/components/FollowButton.d.ts.map +1 -1
  21. package/lib/typescript/module/ui/hooks/useFollow.d.ts +3 -1
  22. package/lib/typescript/module/ui/hooks/useFollow.d.ts.map +1 -1
  23. package/lib/typescript/module/ui/stores/followStore.d.ts +2 -1
  24. package/lib/typescript/module/ui/stores/followStore.d.ts.map +1 -1
  25. package/package.json +2 -2
  26. package/src/ui/components/FollowButton.tsx +26 -4
  27. package/src/ui/hooks/useFollow.ts +8 -1
  28. package/src/ui/stores/followStore.ts +47 -1
@@ -97,6 +97,7 @@ const FollowButtonMultiInner = /*#__PURE__*/(0, _react.memo)(function FollowButt
97
97
  followedAllLabel = DEFAULT_FOLLOWED_ALL_LABEL,
98
98
  onFollowChange,
99
99
  onBulkFollow,
100
+ onBulkUnfollow,
100
101
  style,
101
102
  textStyle,
102
103
  disabled = false,
@@ -108,6 +109,7 @@ const FollowButtonMultiInner = /*#__PURE__*/(0, _react.memo)(function FollowButt
108
109
  } = (0, _theme.useTheme)();
109
110
  const follow = (0, _useFollow.useFollow)(userIds);
110
111
  const followAllUsers = 'followAllUsers' in follow ? follow.followAllUsers : undefined;
112
+ const unfollowAllUsers = 'unfollowAllUsers' in follow ? follow.unfollowAllUsers : undefined;
111
113
  const isAnyLoading = 'isAnyLoading' in follow ? follow.isAnyLoading : false;
112
114
 
113
115
  // `allFollowing` is store-derived (LIVE aggregate of each target's follow
@@ -135,7 +137,25 @@ const FollowButtonMultiInner = /*#__PURE__*/(0, _react.memo)(function FollowButt
135
137
  event.preventDefault();
136
138
  event.stopPropagation?.();
137
139
  }
138
- if (disabled || isLoading || allFollowing || !followAllUsers) return;
140
+ if (disabled || isLoading) return;
141
+ if (allFollowing) {
142
+ if (!unfollowAllUsers) return;
143
+ setIsSubmitting(true);
144
+ try {
145
+ const result = await unfollowAllUsers();
146
+ // `unfollowManyUsers` flips each user to not-following in the store, so
147
+ // `allFollowing` becomes false reactively — no local flag.
148
+ onFollowChange?.(false);
149
+ onBulkUnfollow?.(result);
150
+ } catch (err) {
151
+ const error = err instanceof Error ? err : new Error(String(err));
152
+ _bloom.toast.error(error.message || 'Failed to update follow status');
153
+ } finally {
154
+ setIsSubmitting(false);
155
+ }
156
+ return;
157
+ }
158
+ if (!followAllUsers) return;
139
159
  setIsSubmitting(true);
140
160
  try {
141
161
  const result = await followAllUsers();
@@ -154,14 +174,14 @@ const FollowButtonMultiInner = /*#__PURE__*/(0, _react.memo)(function FollowButt
154
174
  } finally {
155
175
  setIsSubmitting(false);
156
176
  }
157
- }, [disabled, isLoading, allFollowing, followAllUsers, onFollowChange, onBulkFollow, preventParentActions]);
177
+ }, [disabled, isLoading, allFollowing, followAllUsers, unfollowAllUsers, onFollowChange, onBulkFollow, onBulkUnfollow, preventParentActions]);
158
178
  const baseButtonStyle = getBaseButtonStyle(size, style);
159
179
  const baseTextStyle = getBaseTextStyle(size, textStyle);
160
180
  return /*#__PURE__*/(0, _jsxRuntime.jsx)(_reactNative.TouchableOpacity, {
161
181
  className: allFollowing ? 'bg-background border-border' : 'bg-primary border-primary',
162
182
  style: baseButtonStyle,
163
183
  onPress: handlePress,
164
- disabled: disabled || isLoading || allFollowing,
184
+ disabled: disabled || isLoading,
165
185
  activeOpacity: 0.8,
166
186
  children: showLoadingState && isLoading ? /*#__PURE__*/(0, _jsxRuntime.jsx)(_reactNative.ActivityIndicator, {
167
187
  size: "small",
@@ -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","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":[]}
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","onBulkUnfollow","follow","useFollow","followAllUsers","undefined","unfollowAllUsers","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":[]}
@@ -154,6 +154,12 @@ const useFollow = userId => {
154
154
  if (!canUsePrivateApi) throw new Error('Authentication is required to follow users');
155
155
  return _followStore.useFollowStore.getState().followManyUsers(userIds, oxyServices);
156
156
  }, [canUsePrivateApi, userIds, oxyServices]);
157
+
158
+ // Bulk unfollow — unfollows ALL users in ONE network call (idempotent; never follows).
159
+ const unfollowAllUsers = (0, _react.useCallback)(async () => {
160
+ if (!canUsePrivateApi) throw new Error('Authentication is required to unfollow users');
161
+ return _followStore.useFollowStore.getState().unfollowManyUsers(userIds, oxyServices);
162
+ }, [canUsePrivateApi, userIds, oxyServices]);
157
163
  const clearErrorForUser = (0, _react.useCallback)(targetUserId => {
158
164
  _followStore.useFollowStore.getState().clearFollowError(targetUserId);
159
165
  }, []);
@@ -185,6 +191,7 @@ const useFollow = userId => {
185
191
  fetchStatusForUser,
186
192
  fetchAllStatuses,
187
193
  followAllUsers,
194
+ unfollowAllUsers,
188
195
  clearErrorForUser,
189
196
  isAnyLoading: multiUserLoadingState.isAnyLoading,
190
197
  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","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":[]}
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","unfollowAllUsers","unfollowManyUsers","clearErrorForUser","updateCountsFromFollowAction","action","counts","currentUserId","getCurrentUserId","undefined","exports","useFollowForButton","useFollowerCounts"],"sourceRoot":"../../../../src","sources":["ui/hooks/useFollow.ts"],"mappings":"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","ignoreList":[]}
@@ -227,6 +227,74 @@ const useFollowStore = exports.useFollowStore = (0, _zustand.create)((set, get)
227
227
  throw error;
228
228
  }
229
229
  },
230
+ unfollowManyUsers: async (userIds, oxyServices) => {
231
+ set(state => {
232
+ const loadingUsers = {
233
+ ...state.loadingUsers
234
+ };
235
+ const errors = {
236
+ ...state.errors
237
+ };
238
+ for (const uid of userIds) {
239
+ loadingUsers[uid] = true;
240
+ errors[uid] = null;
241
+ }
242
+ return {
243
+ loadingUsers,
244
+ errors
245
+ };
246
+ });
247
+ try {
248
+ const result = await oxyServices.unfollowUsers(userIds);
249
+ set(state => {
250
+ const followingUsers = {
251
+ ...state.followingUsers
252
+ };
253
+ const loadingUsers = {
254
+ ...state.loadingUsers
255
+ };
256
+ const errors = {
257
+ ...state.errors
258
+ };
259
+ for (const uid of userIds) {
260
+ loadingUsers[uid] = false;
261
+ }
262
+ for (const entry of result.results) {
263
+ if (entry.success) {
264
+ followingUsers[entry.userId] = false;
265
+ errors[entry.userId] = null;
266
+ } else {
267
+ errors[entry.userId] = 'Failed to update follow status';
268
+ }
269
+ }
270
+ return {
271
+ followingUsers,
272
+ loadingUsers,
273
+ errors
274
+ };
275
+ });
276
+ return result;
277
+ } catch (error) {
278
+ const message = (error instanceof Error ? error.message : null) || 'Failed to update follow status';
279
+ set(state => {
280
+ const loadingUsers = {
281
+ ...state.loadingUsers
282
+ };
283
+ const errors = {
284
+ ...state.errors
285
+ };
286
+ for (const uid of userIds) {
287
+ loadingUsers[uid] = false;
288
+ errors[uid] = message;
289
+ }
290
+ return {
291
+ loadingUsers,
292
+ errors
293
+ };
294
+ });
295
+ throw error;
296
+ }
297
+ },
230
298
  setFollowerCount: (userId, count) => set(state => ({
231
299
  followerCounts: {
232
300
  ...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","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":[]}
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","unfollowManyUsers","unfollowUsers","setFollowerCount","count","setFollowingCount","updateCountsFromFollowAction","targetUserId","action","fetchUserCounts","user","getUserById","_count"],"sourceRoot":"../../../../src","sources":["ui/stores/followStore.ts"],"mappings":"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","ignoreList":[]}
@@ -92,6 +92,7 @@ const FollowButtonMultiInner = /*#__PURE__*/memo(function FollowButtonMultiInner
92
92
  followedAllLabel = DEFAULT_FOLLOWED_ALL_LABEL,
93
93
  onFollowChange,
94
94
  onBulkFollow,
95
+ onBulkUnfollow,
95
96
  style,
96
97
  textStyle,
97
98
  disabled = false,
@@ -103,6 +104,7 @@ const FollowButtonMultiInner = /*#__PURE__*/memo(function FollowButtonMultiInner
103
104
  } = useTheme();
104
105
  const follow = useFollow(userIds);
105
106
  const followAllUsers = 'followAllUsers' in follow ? follow.followAllUsers : undefined;
107
+ const unfollowAllUsers = 'unfollowAllUsers' in follow ? follow.unfollowAllUsers : undefined;
106
108
  const isAnyLoading = 'isAnyLoading' in follow ? follow.isAnyLoading : false;
107
109
 
108
110
  // `allFollowing` is store-derived (LIVE aggregate of each target's follow
@@ -130,7 +132,25 @@ const FollowButtonMultiInner = /*#__PURE__*/memo(function FollowButtonMultiInner
130
132
  event.preventDefault();
131
133
  event.stopPropagation?.();
132
134
  }
133
- if (disabled || isLoading || allFollowing || !followAllUsers) return;
135
+ if (disabled || isLoading) return;
136
+ if (allFollowing) {
137
+ if (!unfollowAllUsers) return;
138
+ setIsSubmitting(true);
139
+ try {
140
+ const result = await unfollowAllUsers();
141
+ // `unfollowManyUsers` flips each user to not-following in the store, so
142
+ // `allFollowing` becomes false reactively — no local flag.
143
+ onFollowChange?.(false);
144
+ onBulkUnfollow?.(result);
145
+ } catch (err) {
146
+ const error = err instanceof Error ? err : new Error(String(err));
147
+ toast.error(error.message || 'Failed to update follow status');
148
+ } finally {
149
+ setIsSubmitting(false);
150
+ }
151
+ return;
152
+ }
153
+ if (!followAllUsers) return;
134
154
  setIsSubmitting(true);
135
155
  try {
136
156
  const result = await followAllUsers();
@@ -149,14 +169,14 @@ const FollowButtonMultiInner = /*#__PURE__*/memo(function FollowButtonMultiInner
149
169
  } finally {
150
170
  setIsSubmitting(false);
151
171
  }
152
- }, [disabled, isLoading, allFollowing, followAllUsers, onFollowChange, onBulkFollow, preventParentActions]);
172
+ }, [disabled, isLoading, allFollowing, followAllUsers, unfollowAllUsers, onFollowChange, onBulkFollow, onBulkUnfollow, preventParentActions]);
153
173
  const baseButtonStyle = getBaseButtonStyle(size, style);
154
174
  const baseTextStyle = getBaseTextStyle(size, textStyle);
155
175
  return /*#__PURE__*/_jsx(TouchableOpacity, {
156
176
  className: allFollowing ? 'bg-background border-border' : 'bg-primary border-primary',
157
177
  style: baseButtonStyle,
158
178
  onPress: handlePress,
159
- disabled: disabled || isLoading || allFollowing,
179
+ disabled: disabled || isLoading,
160
180
  activeOpacity: 0.8,
161
181
  children: showLoadingState && isLoading ? /*#__PURE__*/_jsx(ActivityIndicator, {
162
182
  size: "small",
@@ -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","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":[]}
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","onBulkUnfollow","follow","followAllUsers","undefined","unfollowAllUsers","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":[]}
@@ -151,6 +151,12 @@ export const useFollow = userId => {
151
151
  if (!canUsePrivateApi) throw new Error('Authentication is required to follow users');
152
152
  return useFollowStore.getState().followManyUsers(userIds, oxyServices);
153
153
  }, [canUsePrivateApi, userIds, oxyServices]);
154
+
155
+ // Bulk unfollow — unfollows ALL users in ONE network call (idempotent; never follows).
156
+ const unfollowAllUsers = useCallback(async () => {
157
+ if (!canUsePrivateApi) throw new Error('Authentication is required to unfollow users');
158
+ return useFollowStore.getState().unfollowManyUsers(userIds, oxyServices);
159
+ }, [canUsePrivateApi, userIds, oxyServices]);
154
160
  const clearErrorForUser = useCallback(targetUserId => {
155
161
  useFollowStore.getState().clearFollowError(targetUserId);
156
162
  }, []);
@@ -182,6 +188,7 @@ export const useFollow = userId => {
182
188
  fetchStatusForUser,
183
189
  fetchAllStatuses,
184
190
  followAllUsers,
191
+ unfollowAllUsers,
185
192
  clearErrorForUser,
186
193
  isAnyLoading: multiUserLoadingState.isAnyLoading,
187
194
  hasAnyError: multiUserLoadingState.hasAnyError,
@@ -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","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
+ {"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","unfollowAllUsers","unfollowManyUsers","clearErrorForUser","updateCountsFromFollowAction","action","counts","currentUserId","getCurrentUserId","undefined","useFollowForButton","useFollowerCounts"],"sourceRoot":"../../../../src","sources":["ui/hooks/useFollow.ts"],"mappings":"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","ignoreList":[]}
@@ -223,6 +223,74 @@ export const useFollowStore = create((set, get) => ({
223
223
  throw error;
224
224
  }
225
225
  },
226
+ unfollowManyUsers: async (userIds, oxyServices) => {
227
+ set(state => {
228
+ const loadingUsers = {
229
+ ...state.loadingUsers
230
+ };
231
+ const errors = {
232
+ ...state.errors
233
+ };
234
+ for (const uid of userIds) {
235
+ loadingUsers[uid] = true;
236
+ errors[uid] = null;
237
+ }
238
+ return {
239
+ loadingUsers,
240
+ errors
241
+ };
242
+ });
243
+ try {
244
+ const result = await oxyServices.unfollowUsers(userIds);
245
+ set(state => {
246
+ const followingUsers = {
247
+ ...state.followingUsers
248
+ };
249
+ const loadingUsers = {
250
+ ...state.loadingUsers
251
+ };
252
+ const errors = {
253
+ ...state.errors
254
+ };
255
+ for (const uid of userIds) {
256
+ loadingUsers[uid] = false;
257
+ }
258
+ for (const entry of result.results) {
259
+ if (entry.success) {
260
+ followingUsers[entry.userId] = false;
261
+ errors[entry.userId] = null;
262
+ } else {
263
+ errors[entry.userId] = 'Failed to update follow status';
264
+ }
265
+ }
266
+ return {
267
+ followingUsers,
268
+ loadingUsers,
269
+ errors
270
+ };
271
+ });
272
+ return result;
273
+ } catch (error) {
274
+ const message = (error instanceof Error ? error.message : null) || 'Failed to update follow status';
275
+ set(state => {
276
+ const loadingUsers = {
277
+ ...state.loadingUsers
278
+ };
279
+ const errors = {
280
+ ...state.errors
281
+ };
282
+ for (const uid of userIds) {
283
+ loadingUsers[uid] = false;
284
+ errors[uid] = message;
285
+ }
286
+ return {
287
+ loadingUsers,
288
+ errors
289
+ };
290
+ });
291
+ throw error;
292
+ }
293
+ },
226
294
  setFollowerCount: (userId, count) => set(state => ({
227
295
  followerCounts: {
228
296
  ...state.followerCounts,
@@ -1 +1 @@
1
- {"version":3,"names":["create","useFollowStore","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":[]}
1
+ {"version":3,"names":["create","useFollowStore","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","unfollowManyUsers","unfollowUsers","setFollowerCount","count","setFollowingCount","updateCountsFromFollowAction","targetUserId","action","fetchUserCounts","user","getUserById","_count"],"sourceRoot":"../../../../src","sources":["ui/stores/followStore.ts"],"mappings":"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","ignoreList":[]}
@@ -1,6 +1,6 @@
1
1
  import React from 'react';
2
2
  import { type ViewStyle, type TextStyle, type StyleProp } from 'react-native';
3
- import type { BulkFollowResult } from '@oxyhq/core';
3
+ import type { BulkFollowResult, BulkUnfollowResult } from '@oxyhq/core';
4
4
  /** Props shared by both single- and multi-user follow modes. */
5
5
  interface FollowButtonBaseProps {
6
6
  size?: 'small' | 'medium' | 'large';
@@ -25,6 +25,7 @@ export interface MultiFollowButtonProps extends FollowButtonBaseProps {
25
25
  followAllLabel?: string;
26
26
  followedAllLabel?: string;
27
27
  onBulkFollow?: (result: BulkFollowResult) => void;
28
+ onBulkUnfollow?: (result: BulkUnfollowResult) => void;
28
29
  userId?: never;
29
30
  }
30
31
  /**
@@ -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;AA0LjF,QAAA,MAAM,YAAY,EAAE,KAAK,CAAC,EAAE,CAAC,iBAAiB,CAiD7C,CAAC;AAiDF,OAAO,EAAE,YAAY,EAAE,CAAC;AACxB,eAAe,YAAY,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,kBAAkB,EAAE,MAAM,aAAa,CAAC;AAKrF,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,cAAc,CAAC,EAAE,CAAC,MAAM,EAAE,kBAAkB,KAAK,IAAI,CAAC;IACtD,MAAM,CAAC,EAAE,KAAK,CAAC;CAChB;AAED;;;GAGG;AACH,MAAM,MAAM,iBAAiB,GAAG,uBAAuB,GAAG,sBAAsB,CAAC;AA+MjF,QAAA,MAAM,YAAY,EAAE,KAAK,CAAC,EAAE,CAAC,iBAAiB,CAiD7C,CAAC;AAiDF,OAAO,EAAE,YAAY,EAAE,CAAC;AACxB,eAAe,YAAY,CAAC"}
@@ -1,4 +1,4 @@
1
- import { type OxyServices, type BulkFollowResult } from '@oxyhq/core';
1
+ import { type OxyServices, type BulkFollowResult, type BulkUnfollowResult } from '@oxyhq/core';
2
2
  /**
3
3
  * useFollow — Hook for follow state management.
4
4
  *
@@ -32,6 +32,7 @@ export declare const useFollow: (userId?: string | string[]) => {
32
32
  fetchStatusForUser?: undefined;
33
33
  fetchAllStatuses?: undefined;
34
34
  followAllUsers?: undefined;
35
+ unfollowAllUsers?: undefined;
35
36
  clearErrorForUser?: undefined;
36
37
  isAnyLoading?: undefined;
37
38
  hasAnyError?: undefined;
@@ -48,6 +49,7 @@ export declare const useFollow: (userId?: string | string[]) => {
48
49
  fetchStatusForUser: (targetUserId: string) => Promise<void>;
49
50
  fetchAllStatuses: () => Promise<void>;
50
51
  followAllUsers: () => Promise<BulkFollowResult>;
52
+ unfollowAllUsers: () => Promise<BulkUnfollowResult>;
51
53
  clearErrorForUser: (targetUserId: string) => void;
52
54
  isAnyLoading: boolean;
53
55
  hasAnyError: boolean;
@@ -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;;;;;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
+ {"version":3,"file":"useFollow.d.ts","sourceRoot":"","sources":["../../../../../src/ui/hooks/useFollow.ts"],"names":[],"mappings":"AAGA,OAAO,EAAwB,KAAK,WAAW,EAAE,KAAK,gBAAgB,EAAE,KAAK,kBAAkB,EAAE,MAAM,aAAa,CAAC;AAGrH;;;;;;;;;;;;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;4BAMvB,OAAO,CAAC,kBAAkB,CAAC;sCAKrB,MAAM;;;;;;;;;;;;;;;;;;CAyC5D,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,4 +1,4 @@
1
- import type { OxyServices, BulkFollowResult } from '@oxyhq/core';
1
+ import type { OxyServices, BulkFollowResult, BulkUnfollowResult } from '@oxyhq/core';
2
2
  interface FollowState {
3
3
  followingUsers: Record<string, boolean>;
4
4
  loadingUsers: Record<string, boolean>;
@@ -13,6 +13,7 @@ interface FollowState {
13
13
  fetchFollowStatus: (userId: string, oxyServices: OxyServices) => Promise<void>;
14
14
  toggleFollowUser: (userId: string, oxyServices: OxyServices, isCurrentlyFollowing: boolean) => Promise<void>;
15
15
  followManyUsers: (userIds: string[], oxyServices: OxyServices) => Promise<BulkFollowResult>;
16
+ unfollowManyUsers: (userIds: string[], oxyServices: OxyServices) => Promise<BulkUnfollowResult>;
16
17
  setFollowerCount: (userId: string, count: number) => void;
17
18
  setFollowingCount: (userId: string, count: number) => void;
18
19
  updateCountsFromFollowAction: (targetUserId: string, action: 'follow' | 'unfollow', counts: {
@@ -1 +1 @@
1
- {"version":3,"file":"followStore.d.ts","sourceRoot":"","sources":["../../../../../src/ui/stores/followStore.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,WAAW,EAAE,gBAAgB,EAAE,MAAM,aAAa,CAAC;AAEjE,UAAU,WAAW;IACnB,cAAc,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC;IACxC,YAAY,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC;IACtC,aAAa,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC;IACvC,MAAM,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,GAAG,IAAI,CAAC,CAAC;IAEtC,cAAc,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC;IACvC,eAAe,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC;IAExC,aAAa,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC;IACvC,kBAAkB,EAAE,CAAC,MAAM,EAAE,MAAM,EAAE,WAAW,EAAE,OAAO,KAAK,IAAI,CAAC;IACnE,gBAAgB,EAAE,CAAC,MAAM,EAAE,MAAM,KAAK,IAAI,CAAC;IAC3C,gBAAgB,EAAE,MAAM,IAAI,CAAC;IAC7B,iBAAiB,EAAE,CAAC,MAAM,EAAE,MAAM,EAAE,WAAW,EAAE,WAAW,KAAK,OAAO,CAAC,IAAI,CAAC,CAAC;IAC/E,gBAAgB,EAAE,CAAC,MAAM,EAAE,MAAM,EAAE,WAAW,EAAE,WAAW,EAAE,oBAAoB,EAAE,OAAO,KAAK,OAAO,CAAC,IAAI,CAAC,CAAC;IAE7G,eAAe,EAAE,CAAC,OAAO,EAAE,MAAM,EAAE,EAAE,WAAW,EAAE,WAAW,KAAK,OAAO,CAAC,gBAAgB,CAAC,CAAC;IAE5F,gBAAgB,EAAE,CAAC,MAAM,EAAE,MAAM,EAAE,KAAK,EAAE,MAAM,KAAK,IAAI,CAAC;IAC1D,iBAAiB,EAAE,CAAC,MAAM,EAAE,MAAM,EAAE,KAAK,EAAE,MAAM,KAAK,IAAI,CAAC;IAC3D,4BAA4B,EAAE,CAAC,YAAY,EAAE,MAAM,EAAE,MAAM,EAAE,QAAQ,GAAG,UAAU,EAAE,MAAM,EAAE;QAAE,SAAS,EAAE,MAAM,CAAC;QAAC,SAAS,EAAE,MAAM,CAAA;KAAE,EAAE,aAAa,CAAC,EAAE,MAAM,KAAK,IAAI,CAAC;IACtK,eAAe,EAAE,CAAC,MAAM,EAAE,MAAM,EAAE,WAAW,EAAE,WAAW,KAAK,OAAO,CAAC,IAAI,CAAC,CAAC;CAC9E;AAED,eAAO,MAAM,cAAc,0EAuMxB,CAAC"}
1
+ {"version":3,"file":"followStore.d.ts","sourceRoot":"","sources":["../../../../../src/ui/stores/followStore.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,WAAW,EAAE,gBAAgB,EAAE,kBAAkB,EAAE,MAAM,aAAa,CAAC;AAErF,UAAU,WAAW;IACnB,cAAc,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC;IACxC,YAAY,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC;IACtC,aAAa,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC;IACvC,MAAM,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,GAAG,IAAI,CAAC,CAAC;IAEtC,cAAc,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC;IACvC,eAAe,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC;IAExC,aAAa,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC;IACvC,kBAAkB,EAAE,CAAC,MAAM,EAAE,MAAM,EAAE,WAAW,EAAE,OAAO,KAAK,IAAI,CAAC;IACnE,gBAAgB,EAAE,CAAC,MAAM,EAAE,MAAM,KAAK,IAAI,CAAC;IAC3C,gBAAgB,EAAE,MAAM,IAAI,CAAC;IAC7B,iBAAiB,EAAE,CAAC,MAAM,EAAE,MAAM,EAAE,WAAW,EAAE,WAAW,KAAK,OAAO,CAAC,IAAI,CAAC,CAAC;IAC/E,gBAAgB,EAAE,CAAC,MAAM,EAAE,MAAM,EAAE,WAAW,EAAE,WAAW,EAAE,oBAAoB,EAAE,OAAO,KAAK,OAAO,CAAC,IAAI,CAAC,CAAC;IAE7G,eAAe,EAAE,CAAC,OAAO,EAAE,MAAM,EAAE,EAAE,WAAW,EAAE,WAAW,KAAK,OAAO,CAAC,gBAAgB,CAAC,CAAC;IAE5F,iBAAiB,EAAE,CAAC,OAAO,EAAE,MAAM,EAAE,EAAE,WAAW,EAAE,WAAW,KAAK,OAAO,CAAC,kBAAkB,CAAC,CAAC;IAEhG,gBAAgB,EAAE,CAAC,MAAM,EAAE,MAAM,EAAE,KAAK,EAAE,MAAM,KAAK,IAAI,CAAC;IAC1D,iBAAiB,EAAE,CAAC,MAAM,EAAE,MAAM,EAAE,KAAK,EAAE,MAAM,KAAK,IAAI,CAAC;IAC3D,4BAA4B,EAAE,CAAC,YAAY,EAAE,MAAM,EAAE,MAAM,EAAE,QAAQ,GAAG,UAAU,EAAE,MAAM,EAAE;QAAE,SAAS,EAAE,MAAM,CAAC;QAAC,SAAS,EAAE,MAAM,CAAA;KAAE,EAAE,aAAa,CAAC,EAAE,MAAM,KAAK,IAAI,CAAC;IACtK,eAAe,EAAE,CAAC,MAAM,EAAE,MAAM,EAAE,WAAW,EAAE,WAAW,KAAK,OAAO,CAAC,IAAI,CAAC,CAAC;CAC9E;AAED,eAAO,MAAM,cAAc,0EAmPxB,CAAC"}
@@ -1,6 +1,6 @@
1
1
  import React from 'react';
2
2
  import { type ViewStyle, type TextStyle, type StyleProp } from 'react-native';
3
- import type { BulkFollowResult } from '@oxyhq/core';
3
+ import type { BulkFollowResult, BulkUnfollowResult } from '@oxyhq/core';
4
4
  /** Props shared by both single- and multi-user follow modes. */
5
5
  interface FollowButtonBaseProps {
6
6
  size?: 'small' | 'medium' | 'large';
@@ -25,6 +25,7 @@ export interface MultiFollowButtonProps extends FollowButtonBaseProps {
25
25
  followAllLabel?: string;
26
26
  followedAllLabel?: string;
27
27
  onBulkFollow?: (result: BulkFollowResult) => void;
28
+ onBulkUnfollow?: (result: BulkUnfollowResult) => void;
28
29
  userId?: never;
29
30
  }
30
31
  /**
@@ -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;AA0LjF,QAAA,MAAM,YAAY,EAAE,KAAK,CAAC,EAAE,CAAC,iBAAiB,CAiD7C,CAAC;AAiDF,OAAO,EAAE,YAAY,EAAE,CAAC;AACxB,eAAe,YAAY,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,kBAAkB,EAAE,MAAM,aAAa,CAAC;AAKrF,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,cAAc,CAAC,EAAE,CAAC,MAAM,EAAE,kBAAkB,KAAK,IAAI,CAAC;IACtD,MAAM,CAAC,EAAE,KAAK,CAAC;CAChB;AAED;;;GAGG;AACH,MAAM,MAAM,iBAAiB,GAAG,uBAAuB,GAAG,sBAAsB,CAAC;AA+MjF,QAAA,MAAM,YAAY,EAAE,KAAK,CAAC,EAAE,CAAC,iBAAiB,CAiD7C,CAAC;AAiDF,OAAO,EAAE,YAAY,EAAE,CAAC;AACxB,eAAe,YAAY,CAAC"}
@@ -1,4 +1,4 @@
1
- import { type OxyServices, type BulkFollowResult } from '@oxyhq/core';
1
+ import { type OxyServices, type BulkFollowResult, type BulkUnfollowResult } from '@oxyhq/core';
2
2
  /**
3
3
  * useFollow — Hook for follow state management.
4
4
  *
@@ -32,6 +32,7 @@ export declare const useFollow: (userId?: string | string[]) => {
32
32
  fetchStatusForUser?: undefined;
33
33
  fetchAllStatuses?: undefined;
34
34
  followAllUsers?: undefined;
35
+ unfollowAllUsers?: undefined;
35
36
  clearErrorForUser?: undefined;
36
37
  isAnyLoading?: undefined;
37
38
  hasAnyError?: undefined;
@@ -48,6 +49,7 @@ export declare const useFollow: (userId?: string | string[]) => {
48
49
  fetchStatusForUser: (targetUserId: string) => Promise<void>;
49
50
  fetchAllStatuses: () => Promise<void>;
50
51
  followAllUsers: () => Promise<BulkFollowResult>;
52
+ unfollowAllUsers: () => Promise<BulkUnfollowResult>;
51
53
  clearErrorForUser: (targetUserId: string) => void;
52
54
  isAnyLoading: boolean;
53
55
  hasAnyError: boolean;
@@ -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;;;;;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
+ {"version":3,"file":"useFollow.d.ts","sourceRoot":"","sources":["../../../../../src/ui/hooks/useFollow.ts"],"names":[],"mappings":"AAGA,OAAO,EAAwB,KAAK,WAAW,EAAE,KAAK,gBAAgB,EAAE,KAAK,kBAAkB,EAAE,MAAM,aAAa,CAAC;AAGrH;;;;;;;;;;;;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;4BAMvB,OAAO,CAAC,kBAAkB,CAAC;sCAKrB,MAAM;;;;;;;;;;;;;;;;;;CAyC5D,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,4 +1,4 @@
1
- import type { OxyServices, BulkFollowResult } from '@oxyhq/core';
1
+ import type { OxyServices, BulkFollowResult, BulkUnfollowResult } from '@oxyhq/core';
2
2
  interface FollowState {
3
3
  followingUsers: Record<string, boolean>;
4
4
  loadingUsers: Record<string, boolean>;
@@ -13,6 +13,7 @@ interface FollowState {
13
13
  fetchFollowStatus: (userId: string, oxyServices: OxyServices) => Promise<void>;
14
14
  toggleFollowUser: (userId: string, oxyServices: OxyServices, isCurrentlyFollowing: boolean) => Promise<void>;
15
15
  followManyUsers: (userIds: string[], oxyServices: OxyServices) => Promise<BulkFollowResult>;
16
+ unfollowManyUsers: (userIds: string[], oxyServices: OxyServices) => Promise<BulkUnfollowResult>;
16
17
  setFollowerCount: (userId: string, count: number) => void;
17
18
  setFollowingCount: (userId: string, count: number) => void;
18
19
  updateCountsFromFollowAction: (targetUserId: string, action: 'follow' | 'unfollow', counts: {
@@ -1 +1 @@
1
- {"version":3,"file":"followStore.d.ts","sourceRoot":"","sources":["../../../../../src/ui/stores/followStore.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,WAAW,EAAE,gBAAgB,EAAE,MAAM,aAAa,CAAC;AAEjE,UAAU,WAAW;IACnB,cAAc,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC;IACxC,YAAY,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC;IACtC,aAAa,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC;IACvC,MAAM,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,GAAG,IAAI,CAAC,CAAC;IAEtC,cAAc,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC;IACvC,eAAe,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC;IAExC,aAAa,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC;IACvC,kBAAkB,EAAE,CAAC,MAAM,EAAE,MAAM,EAAE,WAAW,EAAE,OAAO,KAAK,IAAI,CAAC;IACnE,gBAAgB,EAAE,CAAC,MAAM,EAAE,MAAM,KAAK,IAAI,CAAC;IAC3C,gBAAgB,EAAE,MAAM,IAAI,CAAC;IAC7B,iBAAiB,EAAE,CAAC,MAAM,EAAE,MAAM,EAAE,WAAW,EAAE,WAAW,KAAK,OAAO,CAAC,IAAI,CAAC,CAAC;IAC/E,gBAAgB,EAAE,CAAC,MAAM,EAAE,MAAM,EAAE,WAAW,EAAE,WAAW,EAAE,oBAAoB,EAAE,OAAO,KAAK,OAAO,CAAC,IAAI,CAAC,CAAC;IAE7G,eAAe,EAAE,CAAC,OAAO,EAAE,MAAM,EAAE,EAAE,WAAW,EAAE,WAAW,KAAK,OAAO,CAAC,gBAAgB,CAAC,CAAC;IAE5F,gBAAgB,EAAE,CAAC,MAAM,EAAE,MAAM,EAAE,KAAK,EAAE,MAAM,KAAK,IAAI,CAAC;IAC1D,iBAAiB,EAAE,CAAC,MAAM,EAAE,MAAM,EAAE,KAAK,EAAE,MAAM,KAAK,IAAI,CAAC;IAC3D,4BAA4B,EAAE,CAAC,YAAY,EAAE,MAAM,EAAE,MAAM,EAAE,QAAQ,GAAG,UAAU,EAAE,MAAM,EAAE;QAAE,SAAS,EAAE,MAAM,CAAC;QAAC,SAAS,EAAE,MAAM,CAAA;KAAE,EAAE,aAAa,CAAC,EAAE,MAAM,KAAK,IAAI,CAAC;IACtK,eAAe,EAAE,CAAC,MAAM,EAAE,MAAM,EAAE,WAAW,EAAE,WAAW,KAAK,OAAO,CAAC,IAAI,CAAC,CAAC;CAC9E;AAED,eAAO,MAAM,cAAc,0EAuMxB,CAAC"}
1
+ {"version":3,"file":"followStore.d.ts","sourceRoot":"","sources":["../../../../../src/ui/stores/followStore.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,WAAW,EAAE,gBAAgB,EAAE,kBAAkB,EAAE,MAAM,aAAa,CAAC;AAErF,UAAU,WAAW;IACnB,cAAc,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC;IACxC,YAAY,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC;IACtC,aAAa,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC;IACvC,MAAM,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,GAAG,IAAI,CAAC,CAAC;IAEtC,cAAc,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC;IACvC,eAAe,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC;IAExC,aAAa,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC;IACvC,kBAAkB,EAAE,CAAC,MAAM,EAAE,MAAM,EAAE,WAAW,EAAE,OAAO,KAAK,IAAI,CAAC;IACnE,gBAAgB,EAAE,CAAC,MAAM,EAAE,MAAM,KAAK,IAAI,CAAC;IAC3C,gBAAgB,EAAE,MAAM,IAAI,CAAC;IAC7B,iBAAiB,EAAE,CAAC,MAAM,EAAE,MAAM,EAAE,WAAW,EAAE,WAAW,KAAK,OAAO,CAAC,IAAI,CAAC,CAAC;IAC/E,gBAAgB,EAAE,CAAC,MAAM,EAAE,MAAM,EAAE,WAAW,EAAE,WAAW,EAAE,oBAAoB,EAAE,OAAO,KAAK,OAAO,CAAC,IAAI,CAAC,CAAC;IAE7G,eAAe,EAAE,CAAC,OAAO,EAAE,MAAM,EAAE,EAAE,WAAW,EAAE,WAAW,KAAK,OAAO,CAAC,gBAAgB,CAAC,CAAC;IAE5F,iBAAiB,EAAE,CAAC,OAAO,EAAE,MAAM,EAAE,EAAE,WAAW,EAAE,WAAW,KAAK,OAAO,CAAC,kBAAkB,CAAC,CAAC;IAEhG,gBAAgB,EAAE,CAAC,MAAM,EAAE,MAAM,EAAE,KAAK,EAAE,MAAM,KAAK,IAAI,CAAC;IAC1D,iBAAiB,EAAE,CAAC,MAAM,EAAE,MAAM,EAAE,KAAK,EAAE,MAAM,KAAK,IAAI,CAAC;IAC3D,4BAA4B,EAAE,CAAC,YAAY,EAAE,MAAM,EAAE,MAAM,EAAE,QAAQ,GAAG,UAAU,EAAE,MAAM,EAAE;QAAE,SAAS,EAAE,MAAM,CAAC;QAAC,SAAS,EAAE,MAAM,CAAA;KAAE,EAAE,aAAa,CAAC,EAAE,MAAM,KAAK,IAAI,CAAC;IACtK,eAAe,EAAE,CAAC,MAAM,EAAE,MAAM,EAAE,WAAW,EAAE,WAAW,KAAK,OAAO,CAAC,IAAI,CAAC,CAAC;CAC9E;AAED,eAAO,MAAM,cAAc,0EAmPxB,CAAC"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@oxyhq/services",
3
- "version": "10.3.2",
3
+ "version": "10.3.3",
4
4
  "description": "OxyHQ Expo/React Native SDK — UI components, screens, and native features",
5
5
  "main": "lib/commonjs/index.js",
6
6
  "module": "lib/module/index.js",
@@ -161,7 +161,7 @@
161
161
  "peerDependencies": {
162
162
  "@expo/vector-icons": "^15.0.3",
163
163
  "@oxyhq/bloom": ">=0.5.0",
164
- "@oxyhq/core": "^3.5.0",
164
+ "@oxyhq/core": "^3.6.0",
165
165
  "@react-native-community/netinfo": "^11.4.1",
166
166
  "@tanstack/query-async-storage-persister": "^5.100",
167
167
  "@tanstack/query-sync-storage-persister": "^5.100",
@@ -12,7 +12,7 @@ import { useOxy } from '../context/OxyContext';
12
12
  import { toast } from '@oxyhq/bloom';
13
13
  import { useFollow, useFollowForButton } from '../hooks/useFollow';
14
14
  import { useTheme } from '@oxyhq/bloom/theme';
15
- import type { OxyServices, BulkFollowResult } from '@oxyhq/core';
15
+ import type { OxyServices, BulkFollowResult, BulkUnfollowResult } from '@oxyhq/core';
16
16
 
17
17
  const DEFAULT_FOLLOW_ALL_LABEL = 'Follow all';
18
18
  const DEFAULT_FOLLOWED_ALL_LABEL = 'Following';
@@ -43,6 +43,7 @@ export interface MultiFollowButtonProps extends FollowButtonBaseProps {
43
43
  followAllLabel?: string;
44
44
  followedAllLabel?: string;
45
45
  onBulkFollow?: (result: BulkFollowResult) => void;
46
+ onBulkUnfollow?: (result: BulkUnfollowResult) => void;
46
47
  userId?: never;
47
48
  }
48
49
 
@@ -142,6 +143,7 @@ const FollowButtonMultiInner = memo(function FollowButtonMultiInner({
142
143
  followedAllLabel = DEFAULT_FOLLOWED_ALL_LABEL,
143
144
  onFollowChange,
144
145
  onBulkFollow,
146
+ onBulkUnfollow,
145
147
  style,
146
148
  textStyle,
147
149
  disabled = false,
@@ -151,6 +153,7 @@ const FollowButtonMultiInner = memo(function FollowButtonMultiInner({
151
153
  const { colors } = useTheme();
152
154
  const follow = useFollow(userIds);
153
155
  const followAllUsers = 'followAllUsers' in follow ? follow.followAllUsers : undefined;
156
+ const unfollowAllUsers = 'unfollowAllUsers' in follow ? follow.unfollowAllUsers : undefined;
154
157
  const isAnyLoading = 'isAnyLoading' in follow ? follow.isAnyLoading : false;
155
158
 
156
159
  // `allFollowing` is store-derived (LIVE aggregate of each target's follow
@@ -180,8 +183,27 @@ const FollowButtonMultiInner = memo(function FollowButtonMultiInner({
180
183
  event.preventDefault();
181
184
  event.stopPropagation?.();
182
185
  }
183
- if (disabled || isLoading || allFollowing || !followAllUsers) return;
186
+ if (disabled || isLoading) return;
184
187
 
188
+ if (allFollowing) {
189
+ if (!unfollowAllUsers) return;
190
+ setIsSubmitting(true);
191
+ try {
192
+ const result = await unfollowAllUsers();
193
+ // `unfollowManyUsers` flips each user to not-following in the store, so
194
+ // `allFollowing` becomes false reactively — no local flag.
195
+ onFollowChange?.(false);
196
+ onBulkUnfollow?.(result);
197
+ } catch (err: unknown) {
198
+ const error = err instanceof Error ? err : new Error(String(err));
199
+ toast.error(error.message || 'Failed to update follow status');
200
+ } finally {
201
+ setIsSubmitting(false);
202
+ }
203
+ return;
204
+ }
205
+
206
+ if (!followAllUsers) return;
185
207
  setIsSubmitting(true);
186
208
  try {
187
209
  const result = await followAllUsers();
@@ -203,7 +225,7 @@ const FollowButtonMultiInner = memo(function FollowButtonMultiInner({
203
225
  } finally {
204
226
  setIsSubmitting(false);
205
227
  }
206
- }, [disabled, isLoading, allFollowing, followAllUsers, onFollowChange, onBulkFollow, preventParentActions]);
228
+ }, [disabled, isLoading, allFollowing, followAllUsers, unfollowAllUsers, onFollowChange, onBulkFollow, onBulkUnfollow, preventParentActions]);
207
229
 
208
230
  const baseButtonStyle = getBaseButtonStyle(size, style);
209
231
  const baseTextStyle = getBaseTextStyle(size, textStyle);
@@ -216,7 +238,7 @@ const FollowButtonMultiInner = memo(function FollowButtonMultiInner({
216
238
  }
217
239
  style={baseButtonStyle}
218
240
  onPress={handlePress}
219
- disabled={disabled || isLoading || allFollowing}
241
+ disabled={disabled || isLoading}
220
242
  activeOpacity={0.8}
221
243
  >
222
244
  {showLoadingState && isLoading ? (
@@ -1,7 +1,7 @@
1
1
  import { useCallback, useMemo, useEffect } from 'react';
2
2
  import { useFollowStore } from '../stores/followStore';
3
3
  import { useOxy } from '../context/OxyContext';
4
- import { logger as loggerUtil, type OxyServices, type BulkFollowResult } from '@oxyhq/core';
4
+ import { logger as loggerUtil, type OxyServices, type BulkFollowResult, type BulkUnfollowResult } from '@oxyhq/core';
5
5
  import { useShallow } from 'zustand/react/shallow';
6
6
 
7
7
  /**
@@ -167,6 +167,12 @@ export const useFollow = (userId?: string | string[]) => {
167
167
  return useFollowStore.getState().followManyUsers(userIds, oxyServices);
168
168
  }, [canUsePrivateApi, userIds, oxyServices]);
169
169
 
170
+ // Bulk unfollow — unfollows ALL users in ONE network call (idempotent; never follows).
171
+ const unfollowAllUsers = useCallback(async (): Promise<BulkUnfollowResult> => {
172
+ if (!canUsePrivateApi) throw new Error('Authentication is required to unfollow users');
173
+ return useFollowStore.getState().unfollowManyUsers(userIds, oxyServices);
174
+ }, [canUsePrivateApi, userIds, oxyServices]);
175
+
170
176
  const clearErrorForUser = useCallback((targetUserId: string) => {
171
177
  useFollowStore.getState().clearFollowError(targetUserId);
172
178
  }, []);
@@ -201,6 +207,7 @@ export const useFollow = (userId?: string | string[]) => {
201
207
  fetchStatusForUser,
202
208
  fetchAllStatuses,
203
209
  followAllUsers,
210
+ unfollowAllUsers,
204
211
  clearErrorForUser,
205
212
  isAnyLoading: multiUserLoadingState.isAnyLoading,
206
213
  hasAnyError: multiUserLoadingState.hasAnyError,
@@ -1,5 +1,5 @@
1
1
  import { create } from 'zustand';
2
- import type { OxyServices, BulkFollowResult } from '@oxyhq/core';
2
+ import type { OxyServices, BulkFollowResult, BulkUnfollowResult } from '@oxyhq/core';
3
3
 
4
4
  interface FollowState {
5
5
  followingUsers: Record<string, boolean>;
@@ -18,6 +18,8 @@ interface FollowState {
18
18
  toggleFollowUser: (userId: string, oxyServices: OxyServices, isCurrentlyFollowing: boolean) => Promise<void>;
19
19
  // Bulk follow — follows MANY users in one network call; never unfollows.
20
20
  followManyUsers: (userIds: string[], oxyServices: OxyServices) => Promise<BulkFollowResult>;
21
+ // Bulk unfollow — unfollows MANY users in one network call; idempotent, never follows.
22
+ unfollowManyUsers: (userIds: string[], oxyServices: OxyServices) => Promise<BulkUnfollowResult>;
21
23
  // New methods for follower counts
22
24
  setFollowerCount: (userId: string, count: number) => void;
23
25
  setFollowingCount: (userId: string, count: number) => void;
@@ -172,6 +174,50 @@ export const useFollowStore = create<FollowState>((set: any, get: any) => ({
172
174
  throw error;
173
175
  }
174
176
  },
177
+ unfollowManyUsers: async (userIds: string[], oxyServices: OxyServices): Promise<BulkUnfollowResult> => {
178
+ set((state: FollowState) => {
179
+ const loadingUsers = { ...state.loadingUsers };
180
+ const errors = { ...state.errors };
181
+ for (const uid of userIds) {
182
+ loadingUsers[uid] = true;
183
+ errors[uid] = null;
184
+ }
185
+ return { loadingUsers, errors };
186
+ });
187
+ try {
188
+ const result = await oxyServices.unfollowUsers(userIds);
189
+ set((state: FollowState) => {
190
+ const followingUsers = { ...state.followingUsers };
191
+ const loadingUsers = { ...state.loadingUsers };
192
+ const errors = { ...state.errors };
193
+ for (const uid of userIds) {
194
+ loadingUsers[uid] = false;
195
+ }
196
+ for (const entry of result.results) {
197
+ if (entry.success) {
198
+ followingUsers[entry.userId] = false;
199
+ errors[entry.userId] = null;
200
+ } else {
201
+ errors[entry.userId] = 'Failed to update follow status';
202
+ }
203
+ }
204
+ return { followingUsers, loadingUsers, errors };
205
+ });
206
+ return result;
207
+ } catch (error: unknown) {
208
+ const message = (error instanceof Error ? error.message : null) || 'Failed to update follow status';
209
+ set((state: FollowState) => {
210
+ const loadingUsers = { ...state.loadingUsers };
211
+ const errors = { ...state.errors };
212
+ for (const uid of userIds) {
213
+ loadingUsers[uid] = false;
214
+ errors[uid] = message;
215
+ }
216
+ return { loadingUsers, errors };
217
+ });
218
+ throw error;
219
+ }
220
+ },
175
221
  setFollowerCount: (userId: string, count: number) => set((state: FollowState) => ({
176
222
  followerCounts: { ...state.followerCounts, [userId]: count },
177
223
  })),