@oxyhq/services 10.2.11 → 10.3.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (42) hide show
  1. package/lib/commonjs/index.js.map +1 -1
  2. package/lib/commonjs/ui/components/FollowButton.js +107 -1
  3. package/lib/commonjs/ui/components/FollowButton.js.map +1 -1
  4. package/lib/commonjs/ui/hooks/useFollow.js +7 -0
  5. package/lib/commonjs/ui/hooks/useFollow.js.map +1 -1
  6. package/lib/commonjs/ui/hooks/useFollow.types.js +4 -0
  7. package/lib/commonjs/ui/stores/followStore.js +68 -0
  8. package/lib/commonjs/ui/stores/followStore.js.map +1 -1
  9. package/lib/module/index.js.map +1 -1
  10. package/lib/module/ui/components/FollowButton.js +109 -3
  11. package/lib/module/ui/components/FollowButton.js.map +1 -1
  12. package/lib/module/ui/hooks/useFollow.js +7 -0
  13. package/lib/module/ui/hooks/useFollow.js.map +1 -1
  14. package/lib/module/ui/hooks/useFollow.types.js +2 -0
  15. package/lib/module/ui/stores/followStore.js +68 -0
  16. package/lib/module/ui/stores/followStore.js.map +1 -1
  17. package/lib/typescript/commonjs/index.d.ts +1 -0
  18. package/lib/typescript/commonjs/index.d.ts.map +1 -1
  19. package/lib/typescript/commonjs/ui/components/FollowButton.d.ts +24 -4
  20. package/lib/typescript/commonjs/ui/components/FollowButton.d.ts.map +1 -1
  21. package/lib/typescript/commonjs/ui/hooks/useFollow.d.ts +3 -1
  22. package/lib/typescript/commonjs/ui/hooks/useFollow.d.ts.map +1 -1
  23. package/lib/typescript/commonjs/ui/hooks/useFollow.types.d.ts +2 -0
  24. package/lib/typescript/commonjs/ui/hooks/useFollow.types.d.ts.map +1 -1
  25. package/lib/typescript/commonjs/ui/stores/followStore.d.ts +2 -1
  26. package/lib/typescript/commonjs/ui/stores/followStore.d.ts.map +1 -1
  27. package/lib/typescript/module/index.d.ts +1 -0
  28. package/lib/typescript/module/index.d.ts.map +1 -1
  29. package/lib/typescript/module/ui/components/FollowButton.d.ts +24 -4
  30. package/lib/typescript/module/ui/components/FollowButton.d.ts.map +1 -1
  31. package/lib/typescript/module/ui/hooks/useFollow.d.ts +3 -1
  32. package/lib/typescript/module/ui/hooks/useFollow.d.ts.map +1 -1
  33. package/lib/typescript/module/ui/hooks/useFollow.types.d.ts +2 -0
  34. package/lib/typescript/module/ui/hooks/useFollow.types.d.ts.map +1 -1
  35. package/lib/typescript/module/ui/stores/followStore.d.ts +2 -1
  36. package/lib/typescript/module/ui/stores/followStore.d.ts.map +1 -1
  37. package/package.json +2 -2
  38. package/src/index.ts +1 -0
  39. package/src/ui/components/FollowButton.tsx +154 -10
  40. package/src/ui/hooks/useFollow.ts +8 -1
  41. package/src/ui/hooks/useFollow.types.ts +3 -0
  42. package/src/ui/stores/followStore.ts +47 -1
@@ -1 +1 @@
1
- {"version":3,"names":["_core","require","_reactNative","_OxyProvider","_interopRequireDefault","_OxyContext","_useAuth","_FontLoader","_authStore","_assetStore","_useSessionSocket","_useAssets","_useFileDownloadUrl","_useFollow","_useAccountQueries","_useServicesQueries","_useSecurityQueries","_usePaymentQueries","_useAccountMutations","_useServicesMutations","_mutationFactory","_mutationKeys","_queryKeys","_useMutationStatus","_errorHandlers","_useFileFiltering","_Avatar","_OxySignInButton","_OxyAuthPrompt","_OxyLogo","_FollowButton","_LogoIcon","_LogoText","_ActingAsBanner","_AccountMenu","_AccountMenuButton","_useDeviceAccounts","_ManageAccountScreen","_NotificationsScreen","_PreferencesScreen","_ConnectedAppsScreen","_bottomSheetManager","_SignInModal","e","__esModule","default","setPlatformOS","Platform","OS"],"sourceRoot":"../../src","sources":["index.ts"],"mappings":"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","ignoreList":[]}
1
+ {"version":3,"names":["_core","require","_reactNative","_OxyProvider","_interopRequireDefault","_OxyContext","_useAuth","_FontLoader","_authStore","_assetStore","_useSessionSocket","_useAssets","_useFileDownloadUrl","_useFollow","_useAccountQueries","_useServicesQueries","_useSecurityQueries","_usePaymentQueries","_useAccountMutations","_useServicesMutations","_mutationFactory","_mutationKeys","_queryKeys","_useMutationStatus","_errorHandlers","_useFileFiltering","_Avatar","_OxySignInButton","_OxyAuthPrompt","_OxyLogo","_FollowButton","_LogoIcon","_LogoText","_ActingAsBanner","_AccountMenu","_AccountMenuButton","_useDeviceAccounts","_ManageAccountScreen","_NotificationsScreen","_PreferencesScreen","_ConnectedAppsScreen","_bottomSheetManager","_SignInModal","e","__esModule","default","setPlatformOS","Platform","OS"],"sourceRoot":"../../src","sources":["index.ts"],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAuBA,IAAAA,KAAA,GAAAC,OAAA;AACA,IAAAC,YAAA,GAAAD,OAAA;AAMA,IAAAE,YAAA,GAAAC,sBAAA,CAAAH,OAAA;AACA,IAAAI,WAAA,GAAAJ,OAAA;AACA,IAAAK,QAAA,GAAAL,OAAA;AAMA,IAAAM,WAAA,GAAAN,OAAA;AAKA,IAAAO,UAAA,GAAAP,OAAA;AACA,IAAAQ,WAAA,GAAAR,OAAA;AAgBA,IAAAS,iBAAA,GAAAT,OAAA;AACA,IAAAU,UAAA,GAAAV,OAAA;AACA,IAAAW,mBAAA,GAAAX,OAAA;AACA,IAAAY,UAAA,GAAAZ,OAAA;AAKA,IAAAa,kBAAA,GAAAb,OAAA;AAUA,IAAAc,mBAAA,GAAAd,OAAA;AAQA,IAAAe,mBAAA,GAAAf,OAAA;AAKA,IAAAgB,kBAAA,GAAAhB,OAAA;AAyBA,IAAAiB,oBAAA,GAAAjB,OAAA;AAUA,IAAAkB,qBAAA,GAAAlB,OAAA;AAOA,IAAAmB,gBAAA,GAAAnB,OAAA;AAUA,IAAAoB,aAAA,GAAApB,OAAA;AAQA,IAAAqB,UAAA,GAAArB,OAAA;AAcA,IAAAsB,kBAAA,GAAAtB,OAAA;AAMA,IAAAuB,cAAA,GAAAvB,OAAA;AAWA,IAAAwB,iBAAA,GAAAxB,OAAA;AAMA,IAAAyB,OAAA,GAAAtB,sBAAA,CAAAH,OAAA;AAEA,IAAA0B,gBAAA,GAAA1B,OAAA;AACA,IAAA2B,cAAA,GAAA3B,OAAA;AAEA,IAAA4B,QAAA,GAAAzB,sBAAA,CAAAH,OAAA;AACA,IAAA6B,aAAA,GAAA1B,sBAAA,CAAAH,OAAA;AAEA,IAAA8B,SAAA,GAAA9B,OAAA;AACA,IAAA+B,SAAA,GAAA/B,OAAA;AAGA,IAAAgC,eAAA,GAAA7B,sBAAA,CAAAH,OAAA;AAGA,IAAAiC,YAAA,GAAA9B,sBAAA,CAAAH,OAAA;AAEA,IAAAkC,kBAAA,GAAA/B,sBAAA,CAAAH,OAAA;AAKA,IAAAmC,kBAAA,GAAAnC,OAAA;AAQA,IAAAoC,oBAAA,GAAAjC,sBAAA,CAAAH,OAAA;AACA,IAAAqC,oBAAA,GAAAlC,sBAAA,CAAAH,OAAA;AACA,IAAAsC,kBAAA,GAAAnC,sBAAA,CAAAH,OAAA;AACA,IAAAuC,oBAAA,GAAApC,sBAAA,CAAAH,OAAA;AAKA,IAAAwC,mBAAA,GAAAxC,OAAA;AAMA,IAAAyC,YAAA,GAAAzC,OAAA;AAA+E,SAAAG,uBAAAuC,CAAA,WAAAA,CAAA,IAAAA,CAAA,CAAAC,UAAA,GAAAD,CAAA,KAAAE,OAAA,EAAAF,CAAA;AAxO/E;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAIA,IAAAG,mBAAa,EAACC,qBAAQ,CAACC,EAAgB,CAAC;;AAExC;AACA;AACA;;AAMA;AACA;AACA;;AAGA;AACA;AACA;;AAeA;AACA;AACA;;AAMA;AACA;AACA;;AA+BA;;AAeA;AACA;AACA;;AA2BA;;AAGA;AACA;AACA;AACA;AACA;AACA;;AAcA;;AAIA;AACA;AACA;;AASA;AACA;AACA;;AAIA;AACA;AACA;;AAYA;;AAGA;;AAMA;AACA;;AAQA;;AAMA;AACA;AACA;;AAIA;AACA;AACA","ignoreList":[]}
@@ -12,6 +12,21 @@ var _useFollow = require("../hooks/useFollow.js");
12
12
  var _theme = require("@oxyhq/bloom/theme");
13
13
  var _jsxRuntime = require("react/jsx-runtime");
14
14
  function _interopRequireWildcard(e, t) { if ("function" == typeof WeakMap) var r = new WeakMap(), n = new WeakMap(); return (_interopRequireWildcard = function (e, t) { if (!t && e && e.__esModule) return e; var o, i, f = { __proto__: null, default: e }; if (null === e || "object" != typeof e && "function" != typeof e) return f; if (o = t ? n : r) { if (o.has(e)) return o.get(e); o.set(e, f); } for (const t in e) "default" !== t && {}.hasOwnProperty.call(e, t) && ((i = (o = Object.defineProperty) && Object.getOwnPropertyDescriptor(e, t)) && (i.get || i.set) ? o(f, t, i) : f[t] = e[t]); return f; })(e, t); }
15
+ const DEFAULT_FOLLOW_ALL_LABEL = 'Follow all';
16
+ const DEFAULT_FOLLOWED_ALL_LABEL = 'Following';
17
+
18
+ /** Props shared by both single- and multi-user follow modes. */
19
+
20
+ /** Single-user mode — follows/unfollows one user (existing behavior). */
21
+
22
+ /** Multi-user mode — follows MANY users in one "Follow all" action (follow-only). */
23
+
24
+ /**
25
+ * FollowButton accepts EITHER single-user mode (`userId`) or multi-user mode
26
+ * (`userIds`), never both. Existing `{ userId, ... }` callers remain valid.
27
+ */
28
+
29
+ const isMultiMode = props => 'userIds' in props && Array.isArray(props.userIds);
15
30
  const FollowButtonInner = /*#__PURE__*/(0, _react.memo)(function FollowButtonInner({
16
31
  userId,
17
32
  oxyServices,
@@ -75,6 +90,70 @@ const FollowButtonInner = /*#__PURE__*/(0, _react.memo)(function FollowButtonInn
75
90
  })
76
91
  });
77
92
  });
93
+ const FollowButtonMultiInner = /*#__PURE__*/(0, _react.memo)(function FollowButtonMultiInner({
94
+ userIds,
95
+ initiallyAllFollowing = false,
96
+ size = 'medium',
97
+ followAllLabel = DEFAULT_FOLLOW_ALL_LABEL,
98
+ followedAllLabel = DEFAULT_FOLLOWED_ALL_LABEL,
99
+ onFollowChange,
100
+ onBulkFollow,
101
+ style,
102
+ textStyle,
103
+ disabled = false,
104
+ showLoadingState = true,
105
+ preventParentActions = true
106
+ }) {
107
+ const {
108
+ colors
109
+ } = (0, _theme.useTheme)();
110
+ const follow = (0, _useFollow.useFollow)(userIds);
111
+ const followAllUsers = 'followAllUsers' in follow ? follow.followAllUsers : undefined;
112
+ const isAnyLoading = 'isAnyLoading' in follow ? follow.isAnyLoading : false;
113
+ const [allFollowing, setAllFollowing] = (0, _react.useState)(initiallyAllFollowing);
114
+ const [isSubmitting, setIsSubmitting] = (0, _react.useState)(false);
115
+ const isLoading = isSubmitting || isAnyLoading;
116
+ const handlePress = (0, _react.useCallback)(async event => {
117
+ if (preventParentActions && event?.preventDefault) {
118
+ event.preventDefault();
119
+ event.stopPropagation?.();
120
+ }
121
+ if (disabled || isLoading || allFollowing || !followAllUsers) return;
122
+ setIsSubmitting(true);
123
+ try {
124
+ const result = await followAllUsers();
125
+ const allAlreadyFollowing = result.followedCount === 0 && result.results.length > 0 && result.results.every(entry => entry.alreadyFollowing);
126
+ const anyFollowed = result.followedCount > 0 || result.results.some(entry => entry.success || entry.alreadyFollowing);
127
+ if (allAlreadyFollowing || anyFollowed) {
128
+ setAllFollowing(true);
129
+ onFollowChange?.(true);
130
+ }
131
+ onBulkFollow?.(result);
132
+ } catch (err) {
133
+ const error = err instanceof Error ? err : new Error(String(err));
134
+ _bloom.toast.error(error.message || 'Failed to update follow status');
135
+ } finally {
136
+ setIsSubmitting(false);
137
+ }
138
+ }, [disabled, isLoading, allFollowing, followAllUsers, onFollowChange, onBulkFollow, preventParentActions]);
139
+ const baseButtonStyle = getBaseButtonStyle(size, style);
140
+ const baseTextStyle = getBaseTextStyle(size, textStyle);
141
+ return /*#__PURE__*/(0, _jsxRuntime.jsx)(_reactNative.TouchableOpacity, {
142
+ className: allFollowing ? 'bg-background border-border' : 'bg-primary border-primary',
143
+ style: baseButtonStyle,
144
+ onPress: handlePress,
145
+ disabled: disabled || isLoading || allFollowing,
146
+ activeOpacity: 0.8,
147
+ children: showLoadingState && isLoading ? /*#__PURE__*/(0, _jsxRuntime.jsx)(_reactNative.ActivityIndicator, {
148
+ size: "small",
149
+ color: allFollowing ? colors.text : colors.negativeForeground
150
+ }) : /*#__PURE__*/(0, _jsxRuntime.jsx)(_reactNative.Text, {
151
+ className: allFollowing ? 'text-foreground' : 'text-primary-foreground',
152
+ style: baseTextStyle,
153
+ children: allFollowing ? followedAllLabel : followAllLabel
154
+ })
155
+ });
156
+ });
78
157
  const FollowButton = props => {
79
158
  const {
80
159
  oxyServices,
@@ -82,8 +161,35 @@ const FollowButton = props => {
82
161
  user: currentUser
83
162
  } = (0, _OxyContext.useOxy)();
84
163
  const currentUserId = currentUser?.id ? String(currentUser.id).trim() : '';
164
+ const rawUserIds = isMultiMode(props) ? props.userIds : null;
165
+
166
+ // Multi-user mode: dedupe, trim, drop the current user, and bail if empty.
167
+ const multiUserIds = (0, _react.useMemo)(() => {
168
+ if (!rawUserIds) return [];
169
+ const seen = new Set();
170
+ const cleaned = [];
171
+ for (const raw of rawUserIds) {
172
+ const id = raw ? String(raw).trim() : '';
173
+ if (!id || id === currentUserId || seen.has(id)) continue;
174
+ seen.add(id);
175
+ cleaned.push(id);
176
+ }
177
+ return cleaned;
178
+ }, [rawUserIds, currentUserId]);
179
+ if (!canUsePrivateApi) {
180
+ return null;
181
+ }
182
+ if (isMultiMode(props)) {
183
+ if (multiUserIds.length === 0) {
184
+ return null;
185
+ }
186
+ return /*#__PURE__*/(0, _jsxRuntime.jsx)(FollowButtonMultiInner, {
187
+ ...props,
188
+ userIds: multiUserIds
189
+ });
190
+ }
85
191
  const targetUserId = props.userId ? String(props.userId).trim() : '';
86
- if (!canUsePrivateApi || !targetUserId || currentUserId && currentUserId === targetUserId) {
192
+ if (!targetUserId || currentUserId && currentUserId === targetUserId) {
87
193
  return null;
88
194
  }
89
195
  return /*#__PURE__*/(0, _jsxRuntime.jsx)(FollowButtonInner, {
@@ -1 +1 @@
1
- {"version":3,"names":["_react","_interopRequireWildcard","require","_reactNative","_OxyContext","_bloom","_useFollow","_theme","_jsxRuntime","e","t","WeakMap","r","n","__esModule","o","i","f","__proto__","default","has","get","set","hasOwnProperty","call","Object","defineProperty","getOwnPropertyDescriptor","FollowButtonInner","memo","userId","oxyServices","initiallyFollowing","size","onFollowChange","style","textStyle","disabled","showLoadingState","preventParentActions","colors","useTheme","isFollowing","isLoading","toggleFollow","setFollowStatus","fetchStatus","useFollowForButton","handlePress","useCallback","event","preventDefault","stopPropagation","err","error","Error","String","toast","message","useEffect","baseButtonStyle","getBaseButtonStyle","baseTextStyle","getBaseTextStyle","jsx","TouchableOpacity","className","onPress","activeOpacity","children","ActivityIndicator","color","text","negativeForeground","Text","FollowButton","props","canUsePrivateApi","user","currentUser","useOxy","currentUserId","id","trim","targetUserId","exports","baseStyle","flexDirection","alignItems","justifyContent","borderWidth","Platform","select","web","shadowColor","shadowOffset","width","height","shadowOpacity","shadowRadius","elevation","sizeStyle","paddingVertical","paddingHorizontal","minWidth","borderRadius","fontWeight","sizeTextStyle","fontSize","_default"],"sourceRoot":"../../../../src","sources":["ui/components/FollowButton.tsx"],"mappings":";;;;;;AAAA,IAAAA,MAAA,GAAAC,uBAAA,CAAAC,OAAA;AACA,IAAAC,YAAA,GAAAD,OAAA;AASA,IAAAE,WAAA,GAAAF,OAAA;AACA,IAAAG,MAAA,GAAAH,OAAA;AACA,IAAAI,UAAA,GAAAJ,OAAA;AACA,IAAAK,MAAA,GAAAL,OAAA;AAA8C,IAAAM,WAAA,GAAAN,OAAA;AAAA,SAAAD,wBAAAQ,CAAA,EAAAC,CAAA,6BAAAC,OAAA,MAAAC,CAAA,OAAAD,OAAA,IAAAE,CAAA,OAAAF,OAAA,YAAAV,uBAAA,YAAAA,CAAAQ,CAAA,EAAAC,CAAA,SAAAA,CAAA,IAAAD,CAAA,IAAAA,CAAA,CAAAK,UAAA,SAAAL,CAAA,MAAAM,CAAA,EAAAC,CAAA,EAAAC,CAAA,KAAAC,SAAA,QAAAC,OAAA,EAAAV,CAAA,iBAAAA,CAAA,uBAAAA,CAAA,yBAAAA,CAAA,SAAAQ,CAAA,MAAAF,CAAA,GAAAL,CAAA,GAAAG,CAAA,GAAAD,CAAA,QAAAG,CAAA,CAAAK,GAAA,CAAAX,CAAA,UAAAM,CAAA,CAAAM,GAAA,CAAAZ,CAAA,GAAAM,CAAA,CAAAO,GAAA,CAAAb,CAAA,EAAAQ,CAAA,gBAAAP,CAAA,IAAAD,CAAA,gBAAAC,CAAA,OAAAa,cAAA,CAAAC,IAAA,CAAAf,CAAA,EAAAC,CAAA,OAAAM,CAAA,IAAAD,CAAA,GAAAU,MAAA,CAAAC,cAAA,KAAAD,MAAA,CAAAE,wBAAA,CAAAlB,CAAA,EAAAC,CAAA,OAAAM,CAAA,CAAAK,GAAA,IAAAL,CAAA,CAAAM,GAAA,IAAAP,CAAA,CAAAE,CAAA,EAAAP,CAAA,EAAAM,CAAA,IAAAC,CAAA,CAAAP,CAAA,IAAAD,CAAA,CAAAC,CAAA,WAAAO,CAAA,KAAAR,CAAA,EAAAC,CAAA;AAgB9C,MAAMkB,iBAAiB,gBAAG,IAAAC,WAAI,EAAC,SAASD,iBAAiBA,CAAC;EACxDE,MAAM;EACNC,WAAW;EACXC,kBAAkB,GAAG,KAAK;EAC1BC,IAAI,GAAG,QAAQ;EACfC,cAAc;EACdC,KAAK;EACLC,SAAS;EACTC,QAAQ,GAAG,KAAK;EAChBC,gBAAgB,GAAG,IAAI;EACvBC,oBAAoB,GAAG;AACyB,CAAC,EAAE;EACnD,MAAM;IAAEC;EAAO,CAAC,GAAG,IAAAC,eAAQ,EAAC,CAAC;EAE7B,MAAM;IACJC,WAAW;IACXC,SAAS;IACTC,YAAY;IACZC,eAAe;IACfC;EACF,CAAC,GAAG,IAAAC,6BAAkB,EAACjB,MAAM,EAAEC,WAAW,CAAC;EAE3C,MAAMiB,WAAW,GAAG,IAAAC,kBAAW,EAAC,MAAOC,KAAqE,IAAK;IAC/G,IAAIX,oBAAoB,IAAIW,KAAK,EAAEC,cAAc,EAAE;MACjDD,KAAK,CAACC,cAAc,CAAC,CAAC;MACtBD,KAAK,CAACE,eAAe,GAAG,CAAC;IAC3B;IACA,IAAIf,QAAQ,IAAIM,SAAS,EAAE;IAE3B,IAAI;MACF,MAAMC,YAAY,CAAC,CAAC;MACpBV,cAAc,GAAG,CAACQ,WAAW,CAAC;IAChC,CAAC,CAAC,OAAOW,GAAY,EAAE;MACrB,MAAMC,KAAK,GAAGD,GAAG,YAAYE,KAAK,GAAGF,GAAG,GAAG,IAAIE,KAAK,CAACC,MAAM,CAACH,GAAG,CAAC,CAAC;MACjEI,YAAK,CAACH,KAAK,CAACA,KAAK,CAACI,OAAO,IAAI,gCAAgC,CAAC;IAChE;EACF,CAAC,EAAE,CAACrB,QAAQ,EAAEM,SAAS,EAAEC,YAAY,EAAEV,cAAc,EAAEQ,WAAW,EAAEH,oBAAoB,CAAC,CAAC;EAE1F,IAAAoB,gBAAS,EAAC,MAAM;IACd,IAAI7B,MAAM,IAAI,CAACY,WAAW,IAAIV,kBAAkB,EAAE;MAChDa,eAAe,CAACb,kBAAkB,CAAC;IACrC;IACA;EACF,CAAC,EAAE,CAACF,MAAM,EAAEE,kBAAkB,CAAC,CAAC;EAEhC,IAAA2B,gBAAS,EAAC,MAAM;IACd,IAAI7B,MAAM,EAAEgB,WAAW,CAAC,CAAC;EAC3B,CAAC,EAAE,CAAChB,MAAM,EAAEgB,WAAW,CAAC,CAAC;EAEzB,MAAMc,eAAe,GAAGC,kBAAkB,CAAC5B,IAAI,EAAEE,KAAK,CAAC;EACvD,MAAM2B,aAAa,GAAGC,gBAAgB,CAAC9B,IAAI,EAAEG,SAAS,CAAC;EAEvD,oBACE,IAAA5B,WAAA,CAAAwD,GAAA,EAAC7D,YAAA,CAAA8D,gBAAgB;IACfC,SAAS,EAAExB,WAAW,GAClB,6BAA6B,GAC7B,2BACH;IACDP,KAAK,EAAEyB,eAAgB;IACvBO,OAAO,EAAEnB,WAAY;IACrBX,QAAQ,EAAEA,QAAQ,IAAIM,SAAU;IAChCyB,aAAa,EAAE,GAAI;IAAAC,QAAA,EAElB/B,gBAAgB,IAAIK,SAAS,gBAC5B,IAAAnC,WAAA,CAAAwD,GAAA,EAAC7D,YAAA,CAAAmE,iBAAiB;MAChBrC,IAAI,EAAC,OAAO;MACZsC,KAAK,EAAE7B,WAAW,GAAGF,MAAM,CAACgC,IAAI,GAAGhC,MAAM,CAACiC;IAAmB,CAC9D,CAAC,gBAEF,IAAAjE,WAAA,CAAAwD,GAAA,EAAC7D,YAAA,CAAAuE,IAAI;MACHR,SAAS,EAAExB,WAAW,GAAG,iBAAiB,GAAG,yBAA0B;MACvEP,KAAK,EAAE2B,aAAc;MAAAO,QAAA,EAEpB3B,WAAW,GAAG,WAAW,GAAG;IAAQ,CACjC;EACP,CACe,CAAC;AAEvB,CAAC,CAAC;AAEF,MAAMiC,YAAyC,GAAIC,KAAK,IAAK;EAC3D,MAAM;IAAE7C,WAAW;IAAE8C,gBAAgB;IAAEC,IAAI,EAAEC;EAAY,CAAC,GAAG,IAAAC,kBAAM,EAAC,CAAC;EAErE,MAAMC,aAAa,GAAGF,WAAW,EAAEG,EAAE,GAAG1B,MAAM,CAACuB,WAAW,CAACG,EAAE,CAAC,CAACC,IAAI,CAAC,CAAC,GAAG,EAAE;EAC1E,MAAMC,YAAY,GAAGR,KAAK,CAAC9C,MAAM,GAAG0B,MAAM,CAACoB,KAAK,CAAC9C,MAAM,CAAC,CAACqD,IAAI,CAAC,CAAC,GAAG,EAAE;EAEpE,IAAI,CAACN,gBAAgB,IAAI,CAACO,YAAY,IAAKH,aAAa,IAAIA,aAAa,KAAKG,YAAa,EAAE;IAC3F,OAAO,IAAI;EACb;EAEA,oBACE,IAAA5E,WAAA,CAAAwD,GAAA,EAACpC,iBAAiB;IAAA,GACZgD,KAAK;IACT9C,MAAM,EAAEsD,YAAa;IACrBrD,WAAW,EAAEA;EAAY,CAC1B,CAAC;AAEN,CAAC;AAACsD,OAAA,CAAAV,YAAA,GAAAA,YAAA;AAEF,SAASd,kBAAkBA,CAAC5B,IAAY,EAAEE,KAA4B,EAAwB;EAC5F,MAAMmD,SAAoB,GAAG;IAC3BC,aAAa,EAAE,KAAK;IACpBC,UAAU,EAAE,QAAQ;IACpBC,cAAc,EAAE,QAAQ;IACxBC,WAAW,EAAE,CAAC;IACd,GAAGC,qBAAQ,CAACC,MAAM,CAAC;MACjBC,GAAG,EAAE,CAAC,CAAC;MACP1E,OAAO,EAAE;QACP2E,WAAW,EAAE,MAAM;QACnBC,YAAY,EAAE;UAAEC,KAAK,EAAE,CAAC;UAAEC,MAAM,EAAE;QAAE,CAAC;QACrCC,aAAa,EAAE,GAAG;QAClBC,YAAY,EAAE,CAAC;QACfC,SAAS,EAAE;MACb;IACF,CAAC;EACH,CAAC;EAED,IAAIC,SAAoB;EACxB,IAAIpE,IAAI,KAAK,OAAO,EAAE;IACpBoE,SAAS,GAAG;MAAEC,eAAe,EAAE,CAAC;MAAEC,iBAAiB,EAAE,EAAE;MAAEC,QAAQ,EAAE,EAAE;MAAEC,YAAY,EAAE;IAAG,CAAC;EAC3F,CAAC,MAAM,IAAIxE,IAAI,KAAK,OAAO,EAAE;IAC3BoE,SAAS,GAAG;MAAEC,eAAe,EAAE,EAAE;MAAEC,iBAAiB,EAAE,EAAE;MAAEC,QAAQ,EAAE,GAAG;MAAEC,YAAY,EAAE;IAAG,CAAC;EAC7F,CAAC,MAAM;IACLJ,SAAS,GAAG;MAAEC,eAAe,EAAE,CAAC;MAAEC,iBAAiB,EAAE,EAAE;MAAEC,QAAQ,EAAE,EAAE;MAAEC,YAAY,EAAE;IAAG,CAAC;EAC3F;EAEA,OAAO,CAACnB,SAAS,EAAEe,SAAS,EAAElE,KAAK,CAAC;AACtC;AAEA,SAAS4B,gBAAgBA,CAAC9B,IAAY,EAAEG,SAAgC,EAAwB;EAC9F,MAAM0B,aAAwB,GAAG;IAC/B4C,UAAU,EAAE;EACd,CAAC;EAED,IAAIC,aAAwB;EAC5B,IAAI1E,IAAI,KAAK,OAAO,EAAE;IACpB0E,aAAa,GAAG;MAAEC,QAAQ,EAAE;IAAG,CAAC;EAClC,CAAC,MAAM,IAAI3E,IAAI,KAAK,OAAO,EAAE;IAC3B0E,aAAa,GAAG;MAAEC,QAAQ,EAAE;IAAG,CAAC;EAClC,CAAC,MAAM;IACLD,aAAa,GAAG;MAAEC,QAAQ,EAAE;IAAG,CAAC;EAClC;EAEA,OAAO,CAAC9C,aAAa,EAAE6C,aAAa,EAAEvE,SAAS,CAAC;AAClD;AAAC,IAAAyE,QAAA,GAAAxB,OAAA,CAAAlE,OAAA,GAGcwD,YAAY","ignoreList":[]}
1
+ {"version":3,"names":["_react","_interopRequireWildcard","require","_reactNative","_OxyContext","_bloom","_useFollow","_theme","_jsxRuntime","e","t","WeakMap","r","n","__esModule","o","i","f","__proto__","default","has","get","set","hasOwnProperty","call","Object","defineProperty","getOwnPropertyDescriptor","DEFAULT_FOLLOW_ALL_LABEL","DEFAULT_FOLLOWED_ALL_LABEL","isMultiMode","props","Array","isArray","userIds","FollowButtonInner","memo","userId","oxyServices","initiallyFollowing","size","onFollowChange","style","textStyle","disabled","showLoadingState","preventParentActions","colors","useTheme","isFollowing","isLoading","toggleFollow","setFollowStatus","fetchStatus","useFollowForButton","handlePress","useCallback","event","preventDefault","stopPropagation","err","error","Error","String","toast","message","useEffect","baseButtonStyle","getBaseButtonStyle","baseTextStyle","getBaseTextStyle","jsx","TouchableOpacity","className","onPress","activeOpacity","children","ActivityIndicator","color","text","negativeForeground","Text","FollowButtonMultiInner","initiallyAllFollowing","followAllLabel","followedAllLabel","onBulkFollow","follow","useFollow","followAllUsers","undefined","isAnyLoading","allFollowing","setAllFollowing","useState","isSubmitting","setIsSubmitting","result","allAlreadyFollowing","followedCount","results","length","every","entry","alreadyFollowing","anyFollowed","some","success","FollowButton","canUsePrivateApi","user","currentUser","useOxy","currentUserId","id","trim","rawUserIds","multiUserIds","useMemo","seen","Set","cleaned","raw","add","push","targetUserId","exports","baseStyle","flexDirection","alignItems","justifyContent","borderWidth","Platform","select","web","shadowColor","shadowOffset","width","height","shadowOpacity","shadowRadius","elevation","sizeStyle","paddingVertical","paddingHorizontal","minWidth","borderRadius","fontWeight","sizeTextStyle","fontSize","_default"],"sourceRoot":"../../../../src","sources":["ui/components/FollowButton.tsx"],"mappings":"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","ignoreList":[]}
@@ -132,6 +132,12 @@ const useFollow = userId => {
132
132
  const store = _followStore.useFollowStore.getState();
133
133
  await Promise.all(userIds.map(uid => store.fetchFollowStatus(uid, oxyServices)));
134
134
  }, [canUsePrivateApi, userIds, oxyServices]);
135
+
136
+ // Bulk follow — follows ALL users in ONE network call (never unfollows).
137
+ const followAllUsers = (0, _react.useCallback)(async () => {
138
+ if (!canUsePrivateApi) throw new Error('Authentication is required to follow users');
139
+ return _followStore.useFollowStore.getState().followManyUsers(userIds, oxyServices);
140
+ }, [canUsePrivateApi, userIds, oxyServices]);
135
141
  const clearErrorForUser = (0, _react.useCallback)(targetUserId => {
136
142
  _followStore.useFollowStore.getState().clearFollowError(targetUserId);
137
143
  }, []);
@@ -162,6 +168,7 @@ const useFollow = userId => {
162
168
  setFollowStatusForUser,
163
169
  fetchStatusForUser,
164
170
  fetchAllStatuses,
171
+ followAllUsers,
165
172
  clearErrorForUser,
166
173
  isAnyLoading: multiUserLoadingState.isAnyLoading,
167
174
  hasAnyError: multiUserLoadingState.hasAnyError,
@@ -1 +1 @@
1
- {"version":3,"names":["_react","require","_followStore","_OxyContext","_core","_shallow","useFollow","userId","oxyServices","canUsePrivateApi","useOxy","userIds","useMemo","Array","isArray","isSingleUser","isFollowing","useFollowStore","useCallback","s","followingUsers","isLoading","loadingUsers","error","errors","followerCount","followerCounts","followingCount","followingCounts","isLoadingCounts","loadingCounts","followData","useShallow","data","uid","multiUserLoadingState","isAnyLoading","hasAnyError","allFollowing","allNotFollowing","some","every","toggleFollow","Error","currentlyFollowing","getState","toggleFollowUser","setFollowStatus","following","setFollowingStatus","fetchStatus","fetchFollowStatus","clearError","clearFollowError","fetchUserCounts","setFollowerCount","count","setFollowingCount","useEffect","catch","loggerUtil","warn","component","toggleFollowForUser","targetUserId","currentState","setFollowStatusForUser","fetchStatusForUser","fetchAllStatuses","store","Promise","all","map","clearErrorForUser","updateCountsFromFollowAction","action","counts","currentUserId","getCurrentUserId","undefined","exports","useFollowForButton","useFollowerCounts"],"sourceRoot":"../../../../src","sources":["ui/hooks/useFollow.ts"],"mappings":"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","ignoreList":[]}
1
+ {"version":3,"names":["_react","require","_followStore","_OxyContext","_core","_shallow","useFollow","userId","oxyServices","canUsePrivateApi","useOxy","userIds","useMemo","Array","isArray","isSingleUser","isFollowing","useFollowStore","useCallback","s","followingUsers","isLoading","loadingUsers","error","errors","followerCount","followerCounts","followingCount","followingCounts","isLoadingCounts","loadingCounts","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,2 +1,6 @@
1
1
  "use strict";
2
+
3
+ Object.defineProperty(exports, "__esModule", {
4
+ value: true
5
+ });
2
6
  //# sourceMappingURL=useFollow.types.js.map
@@ -159,6 +159,74 @@ const useFollowStore = exports.useFollowStore = (0, _zustand.create)((set, get)
159
159
  }));
160
160
  }
161
161
  },
162
+ followManyUsers: async (userIds, oxyServices) => {
163
+ set(state => {
164
+ const loadingUsers = {
165
+ ...state.loadingUsers
166
+ };
167
+ const errors = {
168
+ ...state.errors
169
+ };
170
+ for (const uid of userIds) {
171
+ loadingUsers[uid] = true;
172
+ errors[uid] = null;
173
+ }
174
+ return {
175
+ loadingUsers,
176
+ errors
177
+ };
178
+ });
179
+ try {
180
+ const result = await oxyServices.followUsers(userIds);
181
+ set(state => {
182
+ const followingUsers = {
183
+ ...state.followingUsers
184
+ };
185
+ const loadingUsers = {
186
+ ...state.loadingUsers
187
+ };
188
+ const errors = {
189
+ ...state.errors
190
+ };
191
+ for (const uid of userIds) {
192
+ loadingUsers[uid] = false;
193
+ }
194
+ for (const entry of result.results) {
195
+ if (entry.success || entry.alreadyFollowing) {
196
+ followingUsers[entry.userId] = true;
197
+ errors[entry.userId] = null;
198
+ } else {
199
+ errors[entry.userId] = 'Failed to update follow status';
200
+ }
201
+ }
202
+ return {
203
+ followingUsers,
204
+ loadingUsers,
205
+ errors
206
+ };
207
+ });
208
+ return result;
209
+ } catch (error) {
210
+ const message = (error instanceof Error ? error.message : null) || 'Failed to update follow status';
211
+ set(state => {
212
+ const loadingUsers = {
213
+ ...state.loadingUsers
214
+ };
215
+ const errors = {
216
+ ...state.errors
217
+ };
218
+ for (const uid of userIds) {
219
+ loadingUsers[uid] = false;
220
+ errors[uid] = message;
221
+ }
222
+ return {
223
+ loadingUsers,
224
+ errors
225
+ };
226
+ });
227
+ throw error;
228
+ }
229
+ },
162
230
  setFollowerCount: (userId, count) => set(state => ({
163
231
  followerCounts: {
164
232
  ...state.followerCounts,
@@ -1 +1 @@
1
- {"version":3,"names":["_zustand","require","useFollowStore","exports","create","set","get","followingUsers","loadingUsers","fetchingUsers","errors","followerCounts","followingCounts","loadingCounts","setFollowingStatus","userId","isFollowing","state","clearFollowError","resetFollowState","fetchFollowStatus","oxyServices","response","getFollowStatus","error","Error","message","toggleFollowUser","isCurrentlyFollowing","newFollowState","unfollowUser","followUser","counts","currentUserId","getCurrentUserId","updates","followers","following","setFollowerCount","count","setFollowingCount","updateCountsFromFollowAction","targetUserId","action","fetchUserCounts","user","getUserById","_count"],"sourceRoot":"../../../../src","sources":["ui/stores/followStore.ts"],"mappings":"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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","setFollowerCount","count","setFollowingCount","updateCountsFromFollowAction","targetUserId","action","fetchUserCounts","user","getUserById","_count"],"sourceRoot":"../../../../src","sources":["ui/stores/followStore.ts"],"mappings":"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","ignoreList":[]}
@@ -1 +1 @@
1
- {"version":3,"names":["setPlatformOS","Platform","OS","default","OxyProvider","useOxy","useAuth","FontLoader","useAuthStore","useAssetStore","useAssets","useAssetsStore","useAsset","useUploadProgress","useAssetLoading","useAssetErrors","useAssetsByApp","useAssetsByEntity","useAssetUsageCount","useIsAssetLinked","useSessionSocket","setOxyAssetInstance","useFileDownloadUrl","useFollow","useFollowerCounts","useUserProfile","useUserProfiles","useCurrentUser","useUserById","useUserByUsername","useUsersBySessions","usePrivacySettings","useAuthorizedApps","useSessions","useSession","useDeviceSessions","useUserDevices","useSecurityInfo","useAccountStorageUsage","useSecurityActivity","useRecentSecurityActivity","useInfiniteSecurityActivity","useUserSubscription","useUserPayments","useUserWallet","useUserWalletTransactions","useUpdateProfile","useUploadAvatar","useUpdateAccountSettings","useUpdatePrivacySettings","useUpdateNotificationPreferences","useUpdateUserPreferences","useRevokeAuthorizedApp","useUploadFile","useSwitchSession","useLogoutSession","useLogoutAll","useUpdateDeviceName","useRemoveDevice","createProfileMutation","createGenericMutation","mutationKeys","queryKeys","invalidateAccountQueries","invalidateUserQueries","invalidateSessionQueries","invalidateDeviceQueries","invalidatePrivacyQueries","invalidateSecurityQueries","invalidateStorageQueries","invalidatePaymentsQueries","invalidateConnectedAppsQueries","useMutationStatus","handleAuthError","isInvalidSessionError","isTimeoutOrNetworkError","extractErrorMessage","useFileFiltering","Avatar","OxySignInButton","OxyAuthPrompt","OxyLogo","FollowButton","LogoIcon","LogoText","ActingAsBanner","AccountMenu","AccountMenuButton","useDeviceAccounts","ManageAccountScreen","NotificationsScreen","PreferencesScreen","ConnectedAppsScreen","showBottomSheet","closeBottomSheet","showSignInModal","hideSignInModal"],"sourceRoot":"../../src","sources":["index.ts"],"mappings":"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","ignoreList":[]}
1
+ {"version":3,"names":["setPlatformOS","Platform","OS","default","OxyProvider","useOxy","useAuth","FontLoader","useAuthStore","useAssetStore","useAssets","useAssetsStore","useAsset","useUploadProgress","useAssetLoading","useAssetErrors","useAssetsByApp","useAssetsByEntity","useAssetUsageCount","useIsAssetLinked","useSessionSocket","setOxyAssetInstance","useFileDownloadUrl","useFollow","useFollowerCounts","useUserProfile","useUserProfiles","useCurrentUser","useUserById","useUserByUsername","useUsersBySessions","usePrivacySettings","useAuthorizedApps","useSessions","useSession","useDeviceSessions","useUserDevices","useSecurityInfo","useAccountStorageUsage","useSecurityActivity","useRecentSecurityActivity","useInfiniteSecurityActivity","useUserSubscription","useUserPayments","useUserWallet","useUserWalletTransactions","useUpdateProfile","useUploadAvatar","useUpdateAccountSettings","useUpdatePrivacySettings","useUpdateNotificationPreferences","useUpdateUserPreferences","useRevokeAuthorizedApp","useUploadFile","useSwitchSession","useLogoutSession","useLogoutAll","useUpdateDeviceName","useRemoveDevice","createProfileMutation","createGenericMutation","mutationKeys","queryKeys","invalidateAccountQueries","invalidateUserQueries","invalidateSessionQueries","invalidateDeviceQueries","invalidatePrivacyQueries","invalidateSecurityQueries","invalidateStorageQueries","invalidatePaymentsQueries","invalidateConnectedAppsQueries","useMutationStatus","handleAuthError","isInvalidSessionError","isTimeoutOrNetworkError","extractErrorMessage","useFileFiltering","Avatar","OxySignInButton","OxyAuthPrompt","OxyLogo","FollowButton","LogoIcon","LogoText","ActingAsBanner","AccountMenu","AccountMenuButton","useDeviceAccounts","ManageAccountScreen","NotificationsScreen","PreferencesScreen","ConnectedAppsScreen","showBottomSheet","closeBottomSheet","showSignInModal","hideSignInModal"],"sourceRoot":"../../src","sources":["index.ts"],"mappings":"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","ignoreList":[]}
@@ -1,12 +1,27 @@
1
1
  "use strict";
2
2
 
3
- import React, { useEffect, useCallback, memo } from 'react';
3
+ import React, { useEffect, useCallback, useMemo, useState, memo } from 'react';
4
4
  import { TouchableOpacity, Text, Platform, ActivityIndicator } from 'react-native';
5
5
  import { useOxy } from "../context/OxyContext.js";
6
6
  import { toast } from '@oxyhq/bloom';
7
- import { useFollowForButton } from "../hooks/useFollow.js";
7
+ import { useFollow, useFollowForButton } from "../hooks/useFollow.js";
8
8
  import { useTheme } from '@oxyhq/bloom/theme';
9
9
  import { jsx as _jsx } from "react/jsx-runtime";
10
+ const DEFAULT_FOLLOW_ALL_LABEL = 'Follow all';
11
+ const DEFAULT_FOLLOWED_ALL_LABEL = 'Following';
12
+
13
+ /** Props shared by both single- and multi-user follow modes. */
14
+
15
+ /** Single-user mode — follows/unfollows one user (existing behavior). */
16
+
17
+ /** Multi-user mode — follows MANY users in one "Follow all" action (follow-only). */
18
+
19
+ /**
20
+ * FollowButton accepts EITHER single-user mode (`userId`) or multi-user mode
21
+ * (`userIds`), never both. Existing `{ userId, ... }` callers remain valid.
22
+ */
23
+
24
+ const isMultiMode = props => 'userIds' in props && Array.isArray(props.userIds);
10
25
  const FollowButtonInner = /*#__PURE__*/memo(function FollowButtonInner({
11
26
  userId,
12
27
  oxyServices,
@@ -70,6 +85,70 @@ const FollowButtonInner = /*#__PURE__*/memo(function FollowButtonInner({
70
85
  })
71
86
  });
72
87
  });
88
+ const FollowButtonMultiInner = /*#__PURE__*/memo(function FollowButtonMultiInner({
89
+ userIds,
90
+ initiallyAllFollowing = false,
91
+ size = 'medium',
92
+ followAllLabel = DEFAULT_FOLLOW_ALL_LABEL,
93
+ followedAllLabel = DEFAULT_FOLLOWED_ALL_LABEL,
94
+ onFollowChange,
95
+ onBulkFollow,
96
+ style,
97
+ textStyle,
98
+ disabled = false,
99
+ showLoadingState = true,
100
+ preventParentActions = true
101
+ }) {
102
+ const {
103
+ colors
104
+ } = useTheme();
105
+ const follow = useFollow(userIds);
106
+ const followAllUsers = 'followAllUsers' in follow ? follow.followAllUsers : undefined;
107
+ const isAnyLoading = 'isAnyLoading' in follow ? follow.isAnyLoading : false;
108
+ const [allFollowing, setAllFollowing] = useState(initiallyAllFollowing);
109
+ const [isSubmitting, setIsSubmitting] = useState(false);
110
+ const isLoading = isSubmitting || isAnyLoading;
111
+ const handlePress = useCallback(async event => {
112
+ if (preventParentActions && event?.preventDefault) {
113
+ event.preventDefault();
114
+ event.stopPropagation?.();
115
+ }
116
+ if (disabled || isLoading || allFollowing || !followAllUsers) return;
117
+ setIsSubmitting(true);
118
+ try {
119
+ const result = await followAllUsers();
120
+ const allAlreadyFollowing = result.followedCount === 0 && result.results.length > 0 && result.results.every(entry => entry.alreadyFollowing);
121
+ const anyFollowed = result.followedCount > 0 || result.results.some(entry => entry.success || entry.alreadyFollowing);
122
+ if (allAlreadyFollowing || anyFollowed) {
123
+ setAllFollowing(true);
124
+ onFollowChange?.(true);
125
+ }
126
+ onBulkFollow?.(result);
127
+ } catch (err) {
128
+ const error = err instanceof Error ? err : new Error(String(err));
129
+ toast.error(error.message || 'Failed to update follow status');
130
+ } finally {
131
+ setIsSubmitting(false);
132
+ }
133
+ }, [disabled, isLoading, allFollowing, followAllUsers, onFollowChange, onBulkFollow, preventParentActions]);
134
+ const baseButtonStyle = getBaseButtonStyle(size, style);
135
+ const baseTextStyle = getBaseTextStyle(size, textStyle);
136
+ return /*#__PURE__*/_jsx(TouchableOpacity, {
137
+ className: allFollowing ? 'bg-background border-border' : 'bg-primary border-primary',
138
+ style: baseButtonStyle,
139
+ onPress: handlePress,
140
+ disabled: disabled || isLoading || allFollowing,
141
+ activeOpacity: 0.8,
142
+ children: showLoadingState && isLoading ? /*#__PURE__*/_jsx(ActivityIndicator, {
143
+ size: "small",
144
+ color: allFollowing ? colors.text : colors.negativeForeground
145
+ }) : /*#__PURE__*/_jsx(Text, {
146
+ className: allFollowing ? 'text-foreground' : 'text-primary-foreground',
147
+ style: baseTextStyle,
148
+ children: allFollowing ? followedAllLabel : followAllLabel
149
+ })
150
+ });
151
+ });
73
152
  const FollowButton = props => {
74
153
  const {
75
154
  oxyServices,
@@ -77,8 +156,35 @@ const FollowButton = props => {
77
156
  user: currentUser
78
157
  } = useOxy();
79
158
  const currentUserId = currentUser?.id ? String(currentUser.id).trim() : '';
159
+ const rawUserIds = isMultiMode(props) ? props.userIds : null;
160
+
161
+ // Multi-user mode: dedupe, trim, drop the current user, and bail if empty.
162
+ const multiUserIds = useMemo(() => {
163
+ if (!rawUserIds) return [];
164
+ const seen = new Set();
165
+ const cleaned = [];
166
+ for (const raw of rawUserIds) {
167
+ const id = raw ? String(raw).trim() : '';
168
+ if (!id || id === currentUserId || seen.has(id)) continue;
169
+ seen.add(id);
170
+ cleaned.push(id);
171
+ }
172
+ return cleaned;
173
+ }, [rawUserIds, currentUserId]);
174
+ if (!canUsePrivateApi) {
175
+ return null;
176
+ }
177
+ if (isMultiMode(props)) {
178
+ if (multiUserIds.length === 0) {
179
+ return null;
180
+ }
181
+ return /*#__PURE__*/_jsx(FollowButtonMultiInner, {
182
+ ...props,
183
+ userIds: multiUserIds
184
+ });
185
+ }
80
186
  const targetUserId = props.userId ? String(props.userId).trim() : '';
81
- if (!canUsePrivateApi || !targetUserId || currentUserId && currentUserId === targetUserId) {
187
+ if (!targetUserId || currentUserId && currentUserId === targetUserId) {
82
188
  return null;
83
189
  }
84
190
  return /*#__PURE__*/_jsx(FollowButtonInner, {
@@ -1 +1 @@
1
- {"version":3,"names":["React","useEffect","useCallback","memo","TouchableOpacity","Text","Platform","ActivityIndicator","useOxy","toast","useFollowForButton","useTheme","jsx","_jsx","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","FollowButton","props","canUsePrivateApi","user","currentUser","currentUserId","id","trim","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","initiallyAllFollowing","followAllLabel","followedAllLabel","onBulkFollow","follow","followAllUsers","undefined","isAnyLoading","allFollowing","setAllFollowing","isSubmitting","setIsSubmitting","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":[]}
@@ -129,6 +129,12 @@ export const useFollow = userId => {
129
129
  const store = useFollowStore.getState();
130
130
  await Promise.all(userIds.map(uid => store.fetchFollowStatus(uid, oxyServices)));
131
131
  }, [canUsePrivateApi, userIds, oxyServices]);
132
+
133
+ // Bulk follow — follows ALL users in ONE network call (never unfollows).
134
+ const followAllUsers = useCallback(async () => {
135
+ if (!canUsePrivateApi) throw new Error('Authentication is required to follow users');
136
+ return useFollowStore.getState().followManyUsers(userIds, oxyServices);
137
+ }, [canUsePrivateApi, userIds, oxyServices]);
132
138
  const clearErrorForUser = useCallback(targetUserId => {
133
139
  useFollowStore.getState().clearFollowError(targetUserId);
134
140
  }, []);
@@ -159,6 +165,7 @@ export const useFollow = userId => {
159
165
  setFollowStatusForUser,
160
166
  fetchStatusForUser,
161
167
  fetchAllStatuses,
168
+ followAllUsers,
162
169
  clearErrorForUser,
163
170
  isAnyLoading: multiUserLoadingState.isAnyLoading,
164
171
  hasAnyError: multiUserLoadingState.hasAnyError,