@oxyhq/services 6.9.30 → 6.9.31

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.
@@ -16,7 +16,6 @@ var _jsxRuntime = require("react/jsx-runtime");
16
16
  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
17
  // Create animated TouchableOpacity
18
18
  const AnimatedTouchableOpacity = _reactNativeReanimated.default.createAnimatedComponent(_reactNative.TouchableOpacity);
19
- const AnimatedText = _reactNativeReanimated.default.createAnimatedComponent(_reactNative.Text);
20
19
  /**
21
20
  * Inner component that handles all hooks and rendering.
22
21
  *
@@ -56,7 +55,6 @@ const FollowButtonInner = /*#__PURE__*/(0, _react.memo)(function FollowButtonInn
56
55
  } = (0, _useFollow.useFollowForButton)(userId, oxyServices);
57
56
 
58
57
  // Animation values
59
- const animationProgress = (0, _reactNativeReanimated.useSharedValue)(isFollowing ? 1 : 0);
60
58
  const scale = (0, _reactNativeReanimated.useSharedValue)(1);
61
59
 
62
60
  // Stable press handler — depends on primitives only
@@ -103,43 +101,38 @@ const FollowButtonInner = /*#__PURE__*/(0, _react.memo)(function FollowButtonInn
103
101
  }
104
102
  }, [userId, fetchStatus]);
105
103
 
106
- // Animate button on follow/unfollow
107
- (0, _react.useEffect)(() => {
108
- animationProgress.value = (0, _reactNativeReanimated.withTiming)(isFollowing ? 1 : 0, {
109
- duration: 300,
110
- easing: _reactNativeReanimated.Easing.inOut(_reactNativeReanimated.Easing.ease)
111
- });
112
- }, [isFollowing, animationProgress]);
104
+ // Scale-only animated style
105
+ const animatedStyle = (0, _reactNativeReanimated.useAnimatedStyle)(() => ({
106
+ transform: [{
107
+ scale: scale.value
108
+ }]
109
+ }));
113
110
 
114
- // Animated styles
115
- // When not following (progress=0): primary filled button (bg-primary, text white)
116
- // When following (progress=1): outlined button (bg-background, border-border, text-foreground)
117
- const animatedButtonStyle = (0, _reactNativeReanimated.useAnimatedStyle)(() => {
118
- return {
119
- transform: [{
120
- scale: scale.value
121
- }],
122
- backgroundColor: (0, _reactNativeReanimated.interpolateColor)(animationProgress.value, [0, 1], [colors.primary, colors.background]),
123
- borderColor: (0, _reactNativeReanimated.interpolateColor)(animationProgress.value, [0, 1], [colors.primary, colors.border])
124
- };
125
- }, [colors]);
126
- const animatedTextStyle = (0, _reactNativeReanimated.useAnimatedStyle)(() => {
127
- return {
128
- color: (0, _reactNativeReanimated.interpolateColor)(animationProgress.value, [0, 1], ['#FFFFFF', colors.text])
129
- };
130
- }, [colors]);
111
+ // Colors from bloom theme — follows NativeWind convention via useTheme()
112
+ // Not following: bg-primary, border-primary, text white
113
+ // Following: bg-background, border-border, text-foreground
114
+ const buttonColorStyle = isFollowing ? {
115
+ backgroundColor: colors.background,
116
+ borderColor: colors.border
117
+ } : {
118
+ backgroundColor: colors.primary,
119
+ borderColor: colors.primary
120
+ };
121
+ const textColor = isFollowing ? colors.text : '#FFFFFF';
131
122
  const baseButtonStyle = getBaseButtonStyle(size, style);
132
123
  const baseTextStyle = getBaseTextStyle(size, textStyle);
133
124
  return /*#__PURE__*/(0, _jsxRuntime.jsx)(AnimatedTouchableOpacity, {
134
- style: [baseButtonStyle, animatedButtonStyle],
125
+ style: [baseButtonStyle, buttonColorStyle, animatedStyle],
135
126
  onPress: handlePress,
136
127
  disabled: disabled || isLoading,
137
128
  activeOpacity: 0.8,
138
129
  children: showLoadingState && isLoading ? /*#__PURE__*/(0, _jsxRuntime.jsx)(_reactNative.ActivityIndicator, {
139
130
  size: "small",
140
- color: isFollowing ? colors.text : '#FFFFFF'
141
- }) : /*#__PURE__*/(0, _jsxRuntime.jsx)(AnimatedText, {
142
- style: [baseTextStyle, animatedTextStyle],
131
+ color: textColor
132
+ }) : /*#__PURE__*/(0, _jsxRuntime.jsx)(_reactNative.Text, {
133
+ style: [baseTextStyle, {
134
+ color: textColor
135
+ }],
143
136
  children: isFollowing ? 'Following' : 'Follow'
144
137
  })
145
138
  });
@@ -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","AnimatedText","Text","FollowButtonInner","memo","userId","oxyServices","initiallyFollowing","size","onFollowChange","style","textStyle","disabled","showLoadingState","preventParentActions","theme","_theme","bloomTheme","useTheme","colors","isFollowing","isLoading","toggleFollow","setFollowStatus","fetchStatus","useFollowForButton","animationProgress","useSharedValue","scale","handlePress","useCallback","event","preventDefault","stopPropagation","value","withTiming","duration","finished","withSpring","damping","stiffness","err","error","Error","String","toast","message","useEffect","easing","Easing","inOut","ease","animatedButtonStyle","useAnimatedStyle","transform","backgroundColor","interpolateColor","primary","background","borderColor","border","animatedTextStyle","color","text","baseButtonStyle","getBaseButtonStyle","baseTextStyle","getBaseTextStyle","jsx","onPress","activeOpacity","children","ActivityIndicator","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","_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":[]}
@@ -2,7 +2,7 @@
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, interpolateColor, Easing, withTiming } from 'react-native-reanimated';
5
+ import Animated, { useSharedValue, useAnimatedStyle, withSpring, withTiming } from 'react-native-reanimated';
6
6
  import { useOxy } from "../context/OxyContext.js";
7
7
  import { fontFamilies } from "../styles/fonts.js";
8
8
  import { toast } from '../../lib/sonner';
@@ -11,7 +11,6 @@ import { useTheme } from '@oxyhq/bloom/theme';
11
11
  import { jsx as _jsx } from "react/jsx-runtime";
12
12
  // Create animated TouchableOpacity
13
13
  const AnimatedTouchableOpacity = Animated.createAnimatedComponent(TouchableOpacity);
14
- const AnimatedText = Animated.createAnimatedComponent(Text);
15
14
  /**
16
15
  * Inner component that handles all hooks and rendering.
17
16
  *
@@ -51,7 +50,6 @@ const FollowButtonInner = /*#__PURE__*/memo(function FollowButtonInner({
51
50
  } = useFollowForButton(userId, oxyServices);
52
51
 
53
52
  // Animation values
54
- const animationProgress = useSharedValue(isFollowing ? 1 : 0);
55
53
  const scale = useSharedValue(1);
56
54
 
57
55
  // Stable press handler — depends on primitives only
@@ -98,43 +96,38 @@ const FollowButtonInner = /*#__PURE__*/memo(function FollowButtonInner({
98
96
  }
99
97
  }, [userId, fetchStatus]);
100
98
 
101
- // Animate button on follow/unfollow
102
- useEffect(() => {
103
- animationProgress.value = withTiming(isFollowing ? 1 : 0, {
104
- duration: 300,
105
- easing: Easing.inOut(Easing.ease)
106
- });
107
- }, [isFollowing, animationProgress]);
99
+ // Scale-only animated style
100
+ const animatedStyle = useAnimatedStyle(() => ({
101
+ transform: [{
102
+ scale: scale.value
103
+ }]
104
+ }));
108
105
 
109
- // Animated styles
110
- // When not following (progress=0): primary filled button (bg-primary, text white)
111
- // When following (progress=1): outlined button (bg-background, border-border, text-foreground)
112
- const animatedButtonStyle = useAnimatedStyle(() => {
113
- return {
114
- transform: [{
115
- scale: scale.value
116
- }],
117
- backgroundColor: interpolateColor(animationProgress.value, [0, 1], [colors.primary, colors.background]),
118
- borderColor: interpolateColor(animationProgress.value, [0, 1], [colors.primary, colors.border])
119
- };
120
- }, [colors]);
121
- const animatedTextStyle = useAnimatedStyle(() => {
122
- return {
123
- color: interpolateColor(animationProgress.value, [0, 1], ['#FFFFFF', colors.text])
124
- };
125
- }, [colors]);
106
+ // Colors from bloom theme — follows NativeWind convention via useTheme()
107
+ // Not following: bg-primary, border-primary, text white
108
+ // Following: bg-background, border-border, text-foreground
109
+ const buttonColorStyle = isFollowing ? {
110
+ backgroundColor: colors.background,
111
+ borderColor: colors.border
112
+ } : {
113
+ backgroundColor: colors.primary,
114
+ borderColor: colors.primary
115
+ };
116
+ const textColor = isFollowing ? colors.text : '#FFFFFF';
126
117
  const baseButtonStyle = getBaseButtonStyle(size, style);
127
118
  const baseTextStyle = getBaseTextStyle(size, textStyle);
128
119
  return /*#__PURE__*/_jsx(AnimatedTouchableOpacity, {
129
- style: [baseButtonStyle, animatedButtonStyle],
120
+ style: [baseButtonStyle, buttonColorStyle, animatedStyle],
130
121
  onPress: handlePress,
131
122
  disabled: disabled || isLoading,
132
123
  activeOpacity: 0.8,
133
124
  children: showLoadingState && isLoading ? /*#__PURE__*/_jsx(ActivityIndicator, {
134
125
  size: "small",
135
- color: isFollowing ? colors.text : '#FFFFFF'
136
- }) : /*#__PURE__*/_jsx(AnimatedText, {
137
- style: [baseTextStyle, animatedTextStyle],
126
+ color: textColor
127
+ }) : /*#__PURE__*/_jsx(Text, {
128
+ style: [baseTextStyle, {
129
+ color: textColor
130
+ }],
138
131
  children: isFollowing ? 'Following' : 'Follow'
139
132
  })
140
133
  });
@@ -1 +1 @@
1
- {"version":3,"names":["React","useEffect","useCallback","memo","TouchableOpacity","Text","Platform","ActivityIndicator","Animated","useSharedValue","useAnimatedStyle","withSpring","interpolateColor","Easing","withTiming","useOxy","fontFamilies","toast","useFollowForButton","useTheme","jsx","_jsx","AnimatedTouchableOpacity","createAnimatedComponent","AnimatedText","FollowButtonInner","userId","oxyServices","initiallyFollowing","size","onFollowChange","style","textStyle","disabled","showLoadingState","preventParentActions","theme","_theme","bloomTheme","colors","isFollowing","isLoading","toggleFollow","setFollowStatus","fetchStatus","animationProgress","scale","handlePress","event","preventDefault","stopPropagation","value","duration","finished","damping","stiffness","err","error","Error","String","message","easing","inOut","ease","animatedButtonStyle","transform","backgroundColor","primary","background","borderColor","border","animatedTextStyle","color","text","baseButtonStyle","getBaseButtonStyle","baseTextStyle","getBaseTextStyle","onPress","activeOpacity","children","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","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 +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,EAIL,KAAK,SAAS,EACd,KAAK,SAAS,EACd,KAAK,SAAS,EAGf,MAAM,cAAc,CAAC;AAoBtB,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;AA8ID;;;;;;;;;;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;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 +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,EAIL,KAAK,SAAS,EACd,KAAK,SAAS,EACd,KAAK,SAAS,EAGf,MAAM,cAAc,CAAC;AAoBtB,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;AA8ID;;;;;;;;;;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;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"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@oxyhq/services",
3
- "version": "6.9.30",
3
+ "version": "6.9.31",
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",
@@ -71,7 +71,7 @@
71
71
  },
72
72
  "dependencies": {
73
73
  "@lottiefiles/dotlottie-react": "^0.13.5",
74
- "@oxyhq/bloom": "0.1.21",
74
+ "@oxyhq/bloom": "0.1.22",
75
75
  "@oxyhq/core": "*",
76
76
  "@react-native-async-storage/async-storage": "2.2.0",
77
77
  "@react-native-community/netinfo": "^11.4.1",
@@ -2,7 +2,6 @@ import React, { useEffect, useCallback, memo } from 'react';
2
2
  import {
3
3
  TouchableOpacity,
4
4
  Text,
5
- StyleSheet,
6
5
  type ViewStyle,
7
6
  type TextStyle,
8
7
  type StyleProp,
@@ -13,8 +12,6 @@ import Animated, {
13
12
  useSharedValue,
14
13
  useAnimatedStyle,
15
14
  withSpring,
16
- interpolateColor,
17
- Easing,
18
15
  withTiming
19
16
  } from 'react-native-reanimated';
20
17
  import { useOxy } from '../context/OxyContext';
@@ -26,7 +23,6 @@ import type { OxyServices } from '@oxyhq/core';
26
23
 
27
24
  // Create animated TouchableOpacity
28
25
  const AnimatedTouchableOpacity = Animated.createAnimatedComponent(TouchableOpacity);
29
- const AnimatedText = Animated.createAnimatedComponent(Text);
30
26
 
31
27
  export interface FollowButtonProps {
32
28
  userId: string;
@@ -80,7 +76,6 @@ const FollowButtonInner = memo(function FollowButtonInner({
80
76
  } = useFollowForButton(userId, oxyServices);
81
77
 
82
78
  // Animation values
83
- const animationProgress = useSharedValue(isFollowing ? 1 : 0);
84
79
  const scale = useSharedValue(1);
85
80
 
86
81
  // Stable press handler — depends on primitives only
@@ -123,46 +118,25 @@ const FollowButtonInner = memo(function FollowButtonInner({
123
118
  }
124
119
  }, [userId, fetchStatus]);
125
120
 
126
- // Animate button on follow/unfollow
127
- useEffect(() => {
128
- animationProgress.value = withTiming(isFollowing ? 1 : 0, { duration: 300, easing: Easing.inOut(Easing.ease) });
129
- }, [isFollowing, animationProgress]);
130
-
131
- // Animated styles
132
- // When not following (progress=0): primary filled button (bg-primary, text white)
133
- // When following (progress=1): outlined button (bg-background, border-border, text-foreground)
134
- const animatedButtonStyle = useAnimatedStyle(() => {
135
- return {
136
- transform: [{ scale: scale.value }],
137
- backgroundColor: interpolateColor(
138
- animationProgress.value,
139
- [0, 1],
140
- [colors.primary, colors.background]
141
- ),
142
- borderColor: interpolateColor(
143
- animationProgress.value,
144
- [0, 1],
145
- [colors.primary, colors.border]
146
- ),
147
- };
148
- }, [colors]);
121
+ // Scale-only animated style
122
+ const animatedStyle = useAnimatedStyle(() => ({
123
+ transform: [{ scale: scale.value }],
124
+ }));
149
125
 
150
- const animatedTextStyle = useAnimatedStyle(() => {
151
- return {
152
- color: interpolateColor(
153
- animationProgress.value,
154
- [0, 1],
155
- ['#FFFFFF', colors.text]
156
- ),
157
- };
158
- }, [colors]);
126
+ // Colors from bloom theme — follows NativeWind convention via useTheme()
127
+ // Not following: bg-primary, border-primary, text white
128
+ // Following: bg-background, border-border, text-foreground
129
+ const buttonColorStyle: ViewStyle = isFollowing
130
+ ? { backgroundColor: colors.background, borderColor: colors.border }
131
+ : { backgroundColor: colors.primary, borderColor: colors.primary };
132
+ const textColor = isFollowing ? colors.text : '#FFFFFF';
159
133
 
160
134
  const baseButtonStyle = getBaseButtonStyle(size, style);
161
135
  const baseTextStyle = getBaseTextStyle(size, textStyle);
162
136
 
163
137
  return (
164
138
  <AnimatedTouchableOpacity
165
- style={[baseButtonStyle, animatedButtonStyle]}
139
+ style={[baseButtonStyle, buttonColorStyle, animatedStyle]}
166
140
  onPress={handlePress}
167
141
  disabled={disabled || isLoading}
168
142
  activeOpacity={0.8}
@@ -170,12 +144,12 @@ const FollowButtonInner = memo(function FollowButtonInner({
170
144
  {showLoadingState && isLoading ? (
171
145
  <ActivityIndicator
172
146
  size="small"
173
- color={isFollowing ? colors.text : '#FFFFFF'}
147
+ color={textColor}
174
148
  />
175
149
  ) : (
176
- <AnimatedText style={[baseTextStyle, animatedTextStyle]}>
150
+ <Text style={[baseTextStyle, { color: textColor }]}>
177
151
  {isFollowing ? 'Following' : 'Follow'}
178
- </AnimatedText>
152
+ </Text>
179
153
  )}
180
154
  </AnimatedTouchableOpacity>
181
155
  );