@oxyhq/services 6.9.31 → 6.9.32

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.
@@ -6,7 +6,6 @@ Object.defineProperty(exports, "__esModule", {
6
6
  exports.default = exports.FollowButton = void 0;
7
7
  var _react = _interopRequireWildcard(require("react"));
8
8
  var _reactNative = require("react-native");
9
- var _reactNativeReanimated = _interopRequireWildcard(require("react-native-reanimated"));
10
9
  var _OxyContext = require("../context/OxyContext.js");
11
10
  var _fonts = require("../styles/fonts.js");
12
11
  var _sonner = require("../../lib/sonner");
@@ -14,8 +13,6 @@ var _useFollow = require("../hooks/useFollow.js");
14
13
  var _theme2 = require("@oxyhq/bloom/theme");
15
14
  var _jsxRuntime = require("react/jsx-runtime");
16
15
  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); }
17
- // Create animated TouchableOpacity
18
- const AnimatedTouchableOpacity = _reactNativeReanimated.default.createAnimatedComponent(_reactNative.TouchableOpacity);
19
16
  /**
20
17
  * Inner component that handles all hooks and rendering.
21
18
  *
@@ -54,9 +51,6 @@ const FollowButtonInner = /*#__PURE__*/(0, _react.memo)(function FollowButtonInn
54
51
  fetchStatus
55
52
  } = (0, _useFollow.useFollowForButton)(userId, oxyServices);
56
53
 
57
- // Animation values
58
- const scale = (0, _reactNativeReanimated.useSharedValue)(1);
59
-
60
54
  // Stable press handler — depends on primitives only
61
55
  const handlePress = (0, _react.useCallback)(async event => {
62
56
  if (preventParentActions && event && event.preventDefault) {
@@ -64,18 +58,6 @@ const FollowButtonInner = /*#__PURE__*/(0, _react.memo)(function FollowButtonInn
64
58
  event.stopPropagation?.();
65
59
  }
66
60
  if (disabled || isLoading) return;
67
-
68
- // Press animation
69
- scale.value = (0, _reactNativeReanimated.withTiming)(0.95, {
70
- duration: 100
71
- }, finished => {
72
- if (finished) {
73
- scale.value = (0, _reactNativeReanimated.withSpring)(1, {
74
- damping: 15,
75
- stiffness: 200
76
- });
77
- }
78
- });
79
61
  try {
80
62
  await toggleFollow();
81
63
  if (onFollowChange) onFollowChange(!isFollowing);
@@ -83,7 +65,7 @@ const FollowButtonInner = /*#__PURE__*/(0, _react.memo)(function FollowButtonInn
83
65
  const error = err instanceof Error ? err : new Error(String(err));
84
66
  _sonner.toast.error(error.message || 'Failed to update follow status');
85
67
  }
86
- }, [disabled, isLoading, toggleFollow, onFollowChange, isFollowing, preventParentActions, scale]);
68
+ }, [disabled, isLoading, toggleFollow, onFollowChange, isFollowing, preventParentActions]);
87
69
 
88
70
  // Set initial follow status on mount if provided and not already set
89
71
  (0, _react.useEffect)(() => {
@@ -101,13 +83,6 @@ const FollowButtonInner = /*#__PURE__*/(0, _react.memo)(function FollowButtonInn
101
83
  }
102
84
  }, [userId, fetchStatus]);
103
85
 
104
- // Scale-only animated style
105
- const animatedStyle = (0, _reactNativeReanimated.useAnimatedStyle)(() => ({
106
- transform: [{
107
- scale: scale.value
108
- }]
109
- }));
110
-
111
86
  // Colors from bloom theme — follows NativeWind convention via useTheme()
112
87
  // Not following: bg-primary, border-primary, text white
113
88
  // Following: bg-background, border-border, text-foreground
@@ -121,8 +96,8 @@ const FollowButtonInner = /*#__PURE__*/(0, _react.memo)(function FollowButtonInn
121
96
  const textColor = isFollowing ? colors.text : '#FFFFFF';
122
97
  const baseButtonStyle = getBaseButtonStyle(size, style);
123
98
  const baseTextStyle = getBaseTextStyle(size, textStyle);
124
- return /*#__PURE__*/(0, _jsxRuntime.jsx)(AnimatedTouchableOpacity, {
125
- style: [baseButtonStyle, buttonColorStyle, animatedStyle],
99
+ return /*#__PURE__*/(0, _jsxRuntime.jsx)(_reactNative.TouchableOpacity, {
100
+ style: [baseButtonStyle, buttonColorStyle],
126
101
  onPress: handlePress,
127
102
  disabled: disabled || isLoading,
128
103
  activeOpacity: 0.8,
@@ -1 +1 @@
1
- {"version":3,"names":["_react","_interopRequireWildcard","require","_reactNative","_reactNativeReanimated","_OxyContext","_fonts","_sonner","_useFollow","_theme2","_jsxRuntime","e","t","WeakMap","r","n","__esModule","o","i","f","__proto__","default","has","get","set","hasOwnProperty","call","Object","defineProperty","getOwnPropertyDescriptor","AnimatedTouchableOpacity","Animated","createAnimatedComponent","TouchableOpacity","FollowButtonInner","memo","userId","oxyServices","initiallyFollowing","size","onFollowChange","style","textStyle","disabled","showLoadingState","preventParentActions","theme","_theme","bloomTheme","useTheme","colors","isFollowing","isLoading","toggleFollow","setFollowStatus","fetchStatus","useFollowForButton","scale","useSharedValue","handlePress","useCallback","event","preventDefault","stopPropagation","value","withTiming","duration","finished","withSpring","damping","stiffness","err","error","Error","String","toast","message","useEffect","animatedStyle","useAnimatedStyle","transform","buttonColorStyle","backgroundColor","background","borderColor","border","primary","textColor","text","baseButtonStyle","getBaseButtonStyle","baseTextStyle","getBaseTextStyle","jsx","onPress","activeOpacity","children","ActivityIndicator","color","Text","FollowButton","props","isAuthenticated","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","fontFamily","fontFamilies","interSemiBold","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","_fonts","_sonner","_useFollow","_theme2","_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","theme","_theme","bloomTheme","useTheme","colors","isFollowing","isLoading","toggleFollow","setFollowStatus","fetchStatus","useFollowForButton","handlePress","useCallback","event","preventDefault","stopPropagation","err","error","Error","String","toast","message","useEffect","buttonColorStyle","backgroundColor","background","borderColor","border","primary","textColor","text","baseButtonStyle","getBaseButtonStyle","baseTextStyle","getBaseTextStyle","jsx","TouchableOpacity","onPress","activeOpacity","children","ActivityIndicator","color","Text","FollowButton","props","isAuthenticated","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","fontFamily","fontFamilies","interSemiBold","fontWeight","sizeTextStyle","fontSize","_default"],"sourceRoot":"../../../../src","sources":["ui/components/FollowButton.tsx"],"mappings":"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","ignoreList":[]}
@@ -2,15 +2,12 @@
2
2
 
3
3
  import React, { useEffect, useCallback, memo } from 'react';
4
4
  import { TouchableOpacity, Text, Platform, ActivityIndicator } from 'react-native';
5
- import Animated, { useSharedValue, useAnimatedStyle, withSpring, withTiming } from 'react-native-reanimated';
6
5
  import { useOxy } from "../context/OxyContext.js";
7
6
  import { fontFamilies } from "../styles/fonts.js";
8
7
  import { toast } from '../../lib/sonner';
9
8
  import { useFollowForButton } from "../hooks/useFollow.js";
10
9
  import { useTheme } from '@oxyhq/bloom/theme';
11
10
  import { jsx as _jsx } from "react/jsx-runtime";
12
- // Create animated TouchableOpacity
13
- const AnimatedTouchableOpacity = Animated.createAnimatedComponent(TouchableOpacity);
14
11
  /**
15
12
  * Inner component that handles all hooks and rendering.
16
13
  *
@@ -49,9 +46,6 @@ const FollowButtonInner = /*#__PURE__*/memo(function FollowButtonInner({
49
46
  fetchStatus
50
47
  } = useFollowForButton(userId, oxyServices);
51
48
 
52
- // Animation values
53
- const scale = useSharedValue(1);
54
-
55
49
  // Stable press handler — depends on primitives only
56
50
  const handlePress = useCallback(async event => {
57
51
  if (preventParentActions && event && event.preventDefault) {
@@ -59,18 +53,6 @@ const FollowButtonInner = /*#__PURE__*/memo(function FollowButtonInner({
59
53
  event.stopPropagation?.();
60
54
  }
61
55
  if (disabled || isLoading) return;
62
-
63
- // Press animation
64
- scale.value = withTiming(0.95, {
65
- duration: 100
66
- }, finished => {
67
- if (finished) {
68
- scale.value = withSpring(1, {
69
- damping: 15,
70
- stiffness: 200
71
- });
72
- }
73
- });
74
56
  try {
75
57
  await toggleFollow();
76
58
  if (onFollowChange) onFollowChange(!isFollowing);
@@ -78,7 +60,7 @@ const FollowButtonInner = /*#__PURE__*/memo(function FollowButtonInner({
78
60
  const error = err instanceof Error ? err : new Error(String(err));
79
61
  toast.error(error.message || 'Failed to update follow status');
80
62
  }
81
- }, [disabled, isLoading, toggleFollow, onFollowChange, isFollowing, preventParentActions, scale]);
63
+ }, [disabled, isLoading, toggleFollow, onFollowChange, isFollowing, preventParentActions]);
82
64
 
83
65
  // Set initial follow status on mount if provided and not already set
84
66
  useEffect(() => {
@@ -96,13 +78,6 @@ const FollowButtonInner = /*#__PURE__*/memo(function FollowButtonInner({
96
78
  }
97
79
  }, [userId, fetchStatus]);
98
80
 
99
- // Scale-only animated style
100
- const animatedStyle = useAnimatedStyle(() => ({
101
- transform: [{
102
- scale: scale.value
103
- }]
104
- }));
105
-
106
81
  // Colors from bloom theme — follows NativeWind convention via useTheme()
107
82
  // Not following: bg-primary, border-primary, text white
108
83
  // Following: bg-background, border-border, text-foreground
@@ -116,8 +91,8 @@ const FollowButtonInner = /*#__PURE__*/memo(function FollowButtonInner({
116
91
  const textColor = isFollowing ? colors.text : '#FFFFFF';
117
92
  const baseButtonStyle = getBaseButtonStyle(size, style);
118
93
  const baseTextStyle = getBaseTextStyle(size, textStyle);
119
- return /*#__PURE__*/_jsx(AnimatedTouchableOpacity, {
120
- style: [baseButtonStyle, buttonColorStyle, animatedStyle],
94
+ return /*#__PURE__*/_jsx(TouchableOpacity, {
95
+ style: [baseButtonStyle, buttonColorStyle],
121
96
  onPress: handlePress,
122
97
  disabled: disabled || isLoading,
123
98
  activeOpacity: 0.8,
@@ -1 +1 @@
1
- {"version":3,"names":["React","useEffect","useCallback","memo","TouchableOpacity","Text","Platform","ActivityIndicator","Animated","useSharedValue","useAnimatedStyle","withSpring","withTiming","useOxy","fontFamilies","toast","useFollowForButton","useTheme","jsx","_jsx","AnimatedTouchableOpacity","createAnimatedComponent","FollowButtonInner","userId","oxyServices","initiallyFollowing","size","onFollowChange","style","textStyle","disabled","showLoadingState","preventParentActions","theme","_theme","bloomTheme","colors","isFollowing","isLoading","toggleFollow","setFollowStatus","fetchStatus","scale","handlePress","event","preventDefault","stopPropagation","value","duration","finished","damping","stiffness","err","error","Error","String","message","animatedStyle","transform","buttonColorStyle","backgroundColor","background","borderColor","border","primary","textColor","text","baseButtonStyle","getBaseButtonStyle","baseTextStyle","getBaseTextStyle","onPress","activeOpacity","children","color","FollowButton","props","isAuthenticated","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","fontFamily","interSemiBold","fontWeight","sizeTextStyle","fontSize"],"sourceRoot":"../../../../src","sources":["ui/components/FollowButton.tsx"],"mappings":"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","ignoreList":[]}
1
+ {"version":3,"names":["React","useEffect","useCallback","memo","TouchableOpacity","Text","Platform","ActivityIndicator","useOxy","fontFamilies","toast","useFollowForButton","useTheme","jsx","_jsx","FollowButtonInner","userId","oxyServices","initiallyFollowing","size","onFollowChange","style","textStyle","disabled","showLoadingState","preventParentActions","theme","_theme","bloomTheme","colors","isFollowing","isLoading","toggleFollow","setFollowStatus","fetchStatus","handlePress","event","preventDefault","stopPropagation","err","error","Error","String","message","buttonColorStyle","backgroundColor","background","borderColor","border","primary","textColor","text","baseButtonStyle","getBaseButtonStyle","baseTextStyle","getBaseTextStyle","onPress","activeOpacity","children","color","FollowButton","props","isAuthenticated","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","fontFamily","interSemiBold","fontWeight","sizeTextStyle","fontSize"],"sourceRoot":"../../../../src","sources":["ui/components/FollowButton.tsx"],"mappings":"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","ignoreList":[]}
@@ -1 +1 @@
1
- {"version":3,"file":"FollowButton.d.ts","sourceRoot":"","sources":["../../../../../src/ui/components/FollowButton.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAuC,MAAM,OAAO,CAAC;AAC5D,OAAO,EAGL,KAAK,SAAS,EACd,KAAK,SAAS,EACd,KAAK,SAAS,EAGf,MAAM,cAAc,CAAC;AAiBtB,MAAM,WAAW,iBAAiB;IAChC,MAAM,EAAE,MAAM,CAAC;IACf,kBAAkB,CAAC,EAAE,OAAO,CAAC;IAC7B,IAAI,CAAC,EAAE,OAAO,GAAG,QAAQ,GAAG,OAAO,CAAC;IACpC,cAAc,CAAC,EAAE,CAAC,WAAW,EAAE,OAAO,KAAK,IAAI,CAAC;IAChD,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;CAC1B;AAwHD;;;;;;;;;;GAUG;AACH,QAAA,MAAM,YAAY,EAAE,KAAK,CAAC,EAAE,CAAC,iBAAiB,CAkB7C,CAAC;AAmDF,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,KAAuC,MAAM,OAAO,CAAC;AAC5D,OAAO,EAGL,KAAK,SAAS,EACd,KAAK,SAAS,EACd,KAAK,SAAS,EAGf,MAAM,cAAc,CAAC;AAQtB,MAAM,WAAW,iBAAiB;IAChC,MAAM,EAAE,MAAM,CAAC;IACf,kBAAkB,CAAC,EAAE,OAAO,CAAC;IAC7B,IAAI,CAAC,EAAE,OAAO,GAAG,QAAQ,GAAG,OAAO,CAAC;IACpC,cAAc,CAAC,EAAE,CAAC,WAAW,EAAE,OAAO,KAAK,IAAI,CAAC;IAChD,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;CAC1B;AAyGD;;;;;;;;;;GAUG;AACH,QAAA,MAAM,YAAY,EAAE,KAAK,CAAC,EAAE,CAAC,iBAAiB,CAkB7C,CAAC;AAmDF,OAAO,EAAE,YAAY,EAAE,CAAC;AACxB,eAAe,YAAY,CAAC"}
@@ -1 +1 @@
1
- {"version":3,"file":"FollowButton.d.ts","sourceRoot":"","sources":["../../../../../src/ui/components/FollowButton.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAuC,MAAM,OAAO,CAAC;AAC5D,OAAO,EAGL,KAAK,SAAS,EACd,KAAK,SAAS,EACd,KAAK,SAAS,EAGf,MAAM,cAAc,CAAC;AAiBtB,MAAM,WAAW,iBAAiB;IAChC,MAAM,EAAE,MAAM,CAAC;IACf,kBAAkB,CAAC,EAAE,OAAO,CAAC;IAC7B,IAAI,CAAC,EAAE,OAAO,GAAG,QAAQ,GAAG,OAAO,CAAC;IACpC,cAAc,CAAC,EAAE,CAAC,WAAW,EAAE,OAAO,KAAK,IAAI,CAAC;IAChD,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;CAC1B;AAwHD;;;;;;;;;;GAUG;AACH,QAAA,MAAM,YAAY,EAAE,KAAK,CAAC,EAAE,CAAC,iBAAiB,CAkB7C,CAAC;AAmDF,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,KAAuC,MAAM,OAAO,CAAC;AAC5D,OAAO,EAGL,KAAK,SAAS,EACd,KAAK,SAAS,EACd,KAAK,SAAS,EAGf,MAAM,cAAc,CAAC;AAQtB,MAAM,WAAW,iBAAiB;IAChC,MAAM,EAAE,MAAM,CAAC;IACf,kBAAkB,CAAC,EAAE,OAAO,CAAC;IAC7B,IAAI,CAAC,EAAE,OAAO,GAAG,QAAQ,GAAG,OAAO,CAAC;IACpC,cAAc,CAAC,EAAE,CAAC,WAAW,EAAE,OAAO,KAAK,IAAI,CAAC;IAChD,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;CAC1B;AAyGD;;;;;;;;;;GAUG;AACH,QAAA,MAAM,YAAY,EAAE,KAAK,CAAC,EAAE,CAAC,iBAAiB,CAkB7C,CAAC;AAmDF,OAAO,EAAE,YAAY,EAAE,CAAC;AACxB,eAAe,YAAY,CAAC"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@oxyhq/services",
3
- "version": "6.9.31",
3
+ "version": "6.9.32",
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",
@@ -8,12 +8,6 @@ import {
8
8
  Platform,
9
9
  ActivityIndicator
10
10
  } from 'react-native';
11
- import Animated, {
12
- useSharedValue,
13
- useAnimatedStyle,
14
- withSpring,
15
- withTiming
16
- } from 'react-native-reanimated';
17
11
  import { useOxy } from '../context/OxyContext';
18
12
  import { fontFamilies } from '../styles/fonts';
19
13
  import { toast } from '../../lib/sonner';
@@ -21,9 +15,6 @@ import { useFollowForButton } from '../hooks/useFollow';
21
15
  import { useTheme } from '@oxyhq/bloom/theme';
22
16
  import type { OxyServices } from '@oxyhq/core';
23
17
 
24
- // Create animated TouchableOpacity
25
- const AnimatedTouchableOpacity = Animated.createAnimatedComponent(TouchableOpacity);
26
-
27
18
  export interface FollowButtonProps {
28
19
  userId: string;
29
20
  initiallyFollowing?: boolean;
@@ -75,9 +66,6 @@ const FollowButtonInner = memo(function FollowButtonInner({
75
66
  fetchStatus,
76
67
  } = useFollowForButton(userId, oxyServices);
77
68
 
78
- // Animation values
79
- const scale = useSharedValue(1);
80
-
81
69
  // Stable press handler — depends on primitives only
82
70
  const handlePress = useCallback(async (event?: { preventDefault?: () => void; stopPropagation?: () => void }) => {
83
71
  if (preventParentActions && event && event.preventDefault) {
@@ -86,13 +74,6 @@ const FollowButtonInner = memo(function FollowButtonInner({
86
74
  }
87
75
  if (disabled || isLoading) return;
88
76
 
89
- // Press animation
90
- scale.value = withTiming(0.95, { duration: 100 }, (finished) => {
91
- if (finished) {
92
- scale.value = withSpring(1, { damping: 15, stiffness: 200 });
93
- }
94
- });
95
-
96
77
  try {
97
78
  await toggleFollow();
98
79
  if (onFollowChange) onFollowChange(!isFollowing);
@@ -100,7 +81,7 @@ const FollowButtonInner = memo(function FollowButtonInner({
100
81
  const error = err instanceof Error ? err : new Error(String(err));
101
82
  toast.error(error.message || 'Failed to update follow status');
102
83
  }
103
- }, [disabled, isLoading, toggleFollow, onFollowChange, isFollowing, preventParentActions, scale]);
84
+ }, [disabled, isLoading, toggleFollow, onFollowChange, isFollowing, preventParentActions]);
104
85
 
105
86
  // Set initial follow status on mount if provided and not already set
106
87
  useEffect(() => {
@@ -118,11 +99,6 @@ const FollowButtonInner = memo(function FollowButtonInner({
118
99
  }
119
100
  }, [userId, fetchStatus]);
120
101
 
121
- // Scale-only animated style
122
- const animatedStyle = useAnimatedStyle(() => ({
123
- transform: [{ scale: scale.value }],
124
- }));
125
-
126
102
  // Colors from bloom theme — follows NativeWind convention via useTheme()
127
103
  // Not following: bg-primary, border-primary, text white
128
104
  // Following: bg-background, border-border, text-foreground
@@ -135,8 +111,8 @@ const FollowButtonInner = memo(function FollowButtonInner({
135
111
  const baseTextStyle = getBaseTextStyle(size, textStyle);
136
112
 
137
113
  return (
138
- <AnimatedTouchableOpacity
139
- style={[baseButtonStyle, buttonColorStyle, animatedStyle]}
114
+ <TouchableOpacity
115
+ style={[baseButtonStyle, buttonColorStyle]}
140
116
  onPress={handlePress}
141
117
  disabled={disabled || isLoading}
142
118
  activeOpacity={0.8}
@@ -151,7 +127,7 @@ const FollowButtonInner = memo(function FollowButtonInner({
151
127
  {isFollowing ? 'Following' : 'Follow'}
152
128
  </Text>
153
129
  )}
154
- </AnimatedTouchableOpacity>
130
+ </TouchableOpacity>
155
131
  );
156
132
  });
157
133