@oxyhq/services 5.4.4 → 5.4.5

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 (99) hide show
  1. package/lib/commonjs/core/index.js +22 -3
  2. package/lib/commonjs/core/index.js.map +1 -1
  3. package/lib/commonjs/index.js +50 -1
  4. package/lib/commonjs/index.js.map +1 -1
  5. package/lib/commonjs/ui/components/FollowButton.js +79 -31
  6. package/lib/commonjs/ui/components/FollowButton.js.map +1 -1
  7. package/lib/commonjs/ui/components/OxySignInButton.js +2 -2
  8. package/lib/commonjs/ui/components/OxySignInButton.js.map +1 -1
  9. package/lib/commonjs/ui/context/OxyContext.js +11 -1
  10. package/lib/commonjs/ui/context/OxyContext.js.map +1 -1
  11. package/lib/commonjs/ui/hooks/index.js +13 -0
  12. package/lib/commonjs/ui/hooks/index.js.map +1 -0
  13. package/lib/commonjs/ui/hooks/useFollow.js +184 -0
  14. package/lib/commonjs/ui/hooks/useFollow.js.map +1 -0
  15. package/lib/commonjs/ui/index.js +25 -1
  16. package/lib/commonjs/ui/index.js.map +1 -1
  17. package/lib/commonjs/ui/screens/AccountCenterScreen.js +4 -3
  18. package/lib/commonjs/ui/screens/AccountCenterScreen.js.map +1 -1
  19. package/lib/commonjs/ui/screens/AccountOverviewScreen.js +7 -6
  20. package/lib/commonjs/ui/screens/AccountOverviewScreen.js.map +1 -1
  21. package/lib/commonjs/ui/screens/AccountSettingsScreen.js +3 -2
  22. package/lib/commonjs/ui/screens/AccountSettingsScreen.js.map +1 -1
  23. package/lib/commonjs/ui/screens/AccountSwitcherScreen.js +3 -2
  24. package/lib/commonjs/ui/screens/AccountSwitcherScreen.js.map +1 -1
  25. package/lib/commonjs/ui/screens/AppInfoScreen.js +6 -8
  26. package/lib/commonjs/ui/screens/AppInfoScreen.js.map +1 -1
  27. package/lib/commonjs/ui/screens/SignInScreen.js +1 -1
  28. package/lib/commonjs/ui/screens/SignInScreen.js.map +1 -1
  29. package/lib/commonjs/ui/screens/karma/KarmaCenterScreen.js +5 -4
  30. package/lib/commonjs/ui/screens/karma/KarmaCenterScreen.js.map +1 -1
  31. package/lib/commonjs/ui/store/index.js +219 -4
  32. package/lib/commonjs/ui/store/index.js.map +1 -1
  33. package/lib/module/core/index.js +22 -3
  34. package/lib/module/core/index.js.map +1 -1
  35. package/lib/module/index.js +6 -2
  36. package/lib/module/index.js.map +1 -1
  37. package/lib/module/ui/components/FollowButton.js +80 -32
  38. package/lib/module/ui/components/FollowButton.js.map +1 -1
  39. package/lib/module/ui/components/OxySignInButton.js +2 -2
  40. package/lib/module/ui/components/OxySignInButton.js.map +1 -1
  41. package/lib/module/ui/context/OxyContext.js +11 -1
  42. package/lib/module/ui/context/OxyContext.js.map +1 -1
  43. package/lib/module/ui/hooks/index.js +4 -0
  44. package/lib/module/ui/hooks/index.js.map +1 -0
  45. package/lib/module/ui/hooks/useFollow.js +180 -0
  46. package/lib/module/ui/hooks/useFollow.js.map +1 -0
  47. package/lib/module/ui/index.js +9 -0
  48. package/lib/module/ui/index.js.map +1 -1
  49. package/lib/module/ui/screens/AccountCenterScreen.js +4 -3
  50. package/lib/module/ui/screens/AccountCenterScreen.js.map +1 -1
  51. package/lib/module/ui/screens/AccountOverviewScreen.js +7 -6
  52. package/lib/module/ui/screens/AccountOverviewScreen.js.map +1 -1
  53. package/lib/module/ui/screens/AccountSettingsScreen.js +3 -2
  54. package/lib/module/ui/screens/AccountSettingsScreen.js.map +1 -1
  55. package/lib/module/ui/screens/AccountSwitcherScreen.js +3 -2
  56. package/lib/module/ui/screens/AccountSwitcherScreen.js.map +1 -1
  57. package/lib/module/ui/screens/AppInfoScreen.js +6 -8
  58. package/lib/module/ui/screens/AppInfoScreen.js.map +1 -1
  59. package/lib/module/ui/screens/SignInScreen.js +1 -1
  60. package/lib/module/ui/screens/SignInScreen.js.map +1 -1
  61. package/lib/module/ui/screens/karma/KarmaCenterScreen.js +5 -4
  62. package/lib/module/ui/screens/karma/KarmaCenterScreen.js.map +1 -1
  63. package/lib/module/ui/store/index.js +215 -4
  64. package/lib/module/ui/store/index.js.map +1 -1
  65. package/lib/typescript/core/index.d.ts +16 -3
  66. package/lib/typescript/core/index.d.ts.map +1 -1
  67. package/lib/typescript/index.d.ts +4 -2
  68. package/lib/typescript/index.d.ts.map +1 -1
  69. package/lib/typescript/ui/components/FollowButton.d.ts +1 -0
  70. package/lib/typescript/ui/components/FollowButton.d.ts.map +1 -1
  71. package/lib/typescript/ui/context/OxyContext.d.ts.map +1 -1
  72. package/lib/typescript/ui/hooks/index.d.ts +2 -0
  73. package/lib/typescript/ui/hooks/index.d.ts.map +1 -0
  74. package/lib/typescript/ui/hooks/useFollow.d.ts +43 -0
  75. package/lib/typescript/ui/hooks/useFollow.d.ts.map +1 -0
  76. package/lib/typescript/ui/index.d.ts +3 -0
  77. package/lib/typescript/ui/index.d.ts.map +1 -1
  78. package/lib/typescript/ui/screens/AccountCenterScreen.d.ts.map +1 -1
  79. package/lib/typescript/ui/screens/AccountSwitcherScreen.d.ts.map +1 -1
  80. package/lib/typescript/ui/screens/AppInfoScreen.d.ts.map +1 -1
  81. package/lib/typescript/ui/store/index.d.ts +47 -0
  82. package/lib/typescript/ui/store/index.d.ts.map +1 -1
  83. package/package.json +1 -1
  84. package/src/core/index.ts +88 -3
  85. package/src/index.ts +19 -3
  86. package/src/ui/components/FollowButton.tsx +114 -56
  87. package/src/ui/components/OxySignInButton.tsx +2 -2
  88. package/src/ui/context/OxyContext.tsx +12 -2
  89. package/src/ui/hooks/index.ts +1 -0
  90. package/src/ui/hooks/useFollow.ts +173 -0
  91. package/src/ui/index.ts +9 -0
  92. package/src/ui/screens/AccountCenterScreen.tsx +17 -15
  93. package/src/ui/screens/AccountOverviewScreen.tsx +25 -25
  94. package/src/ui/screens/AccountSettingsScreen.tsx +30 -30
  95. package/src/ui/screens/AccountSwitcherScreen.tsx +34 -33
  96. package/src/ui/screens/AppInfoScreen.tsx +153 -155
  97. package/src/ui/screens/SignInScreen.tsx +2 -2
  98. package/src/ui/screens/karma/KarmaCenterScreen.tsx +4 -4
  99. package/src/ui/store/index.ts +197 -3
@@ -1,14 +1,17 @@
1
1
  "use strict";
2
2
 
3
- import React, { useState, useEffect } from 'react';
3
+ import React, { useEffect, useCallback } from 'react';
4
4
  import { TouchableOpacity, StyleSheet, Platform, ActivityIndicator } from 'react-native';
5
5
  import Animated, { useSharedValue, useAnimatedStyle, withSpring, interpolateColor, Easing, withTiming } from 'react-native-reanimated';
6
+ import { useDispatch, useSelector } from 'react-redux';
6
7
  import { useOxy } from '../context/OxyContext';
7
8
  import { fontFamilies } from '../styles/fonts';
8
9
  import { toast } from '../../lib/sonner';
10
+ import { toggleFollowUser, setFollowingStatus, clearFollowError, fetchFollowStatus } from '../store';
9
11
  import { jsx as _jsx } from "react/jsx-runtime";
10
12
  /**
11
13
  * An animated follow button with interactive state changes and preventDefault support
14
+ * Uses Redux for state management to ensure all buttons with the same user ID stay synchronized
12
15
  *
13
16
  * @example
14
17
  * ```tsx
@@ -57,27 +60,72 @@ const FollowButton = ({
57
60
  preventParentActions = true,
58
61
  onPress
59
62
  }) => {
63
+ const dispatch = useDispatch();
60
64
  const {
61
65
  oxyServices,
62
66
  isAuthenticated
63
67
  } = useOxy();
64
- const [isFollowing, setIsFollowing] = useState(initiallyFollowing);
65
- const [isLoading, setIsLoading] = useState(false);
68
+
69
+ // Optimized single selector to prevent multiple re-renders
70
+ const followState = useSelector(state => ({
71
+ isFollowing: state.follow.followingUsers[userId] ?? initiallyFollowing ?? false,
72
+ isLoading: state.follow.loadingUsers[userId] ?? false,
73
+ error: state.follow.errors[userId]
74
+ }));
75
+
76
+ // Whether the follow status has been loaded from the store
77
+ const isStatusKnown = useSelector(state => Object.prototype.hasOwnProperty.call(state.follow.followingUsers, userId));
78
+ const {
79
+ isFollowing,
80
+ isLoading,
81
+ error
82
+ } = followState;
66
83
 
67
84
  // Animation values
68
- const animationProgress = useSharedValue(initiallyFollowing ? 1 : 0);
85
+ const animationProgress = useSharedValue(isFollowing ? 1 : 0);
69
86
  const scale = useSharedValue(1);
70
87
 
88
+ // Initialize Redux state with initial value if not already set
89
+ useEffect(() => {
90
+ if (userId && !isStatusKnown) {
91
+ // Set the initial state regardless of whether initiallyFollowing is defined
92
+ const initialState = initiallyFollowing ?? false;
93
+ dispatch(setFollowingStatus({
94
+ userId,
95
+ isFollowing: initialState
96
+ }));
97
+ }
98
+ }, [userId, initiallyFollowing, isStatusKnown, dispatch]);
99
+
100
+ // Fetch latest follow status from backend on mount if authenticated
101
+ // This runs separately and will overwrite the initial state with actual data
102
+ useEffect(() => {
103
+ if (userId && isAuthenticated) {
104
+ dispatch(fetchFollowStatus({
105
+ userId,
106
+ oxyServices
107
+ }));
108
+ }
109
+ }, [userId, oxyServices, isAuthenticated, dispatch]);
110
+
71
111
  // Update the animation value when isFollowing changes
72
112
  useEffect(() => {
73
113
  animationProgress.value = withTiming(isFollowing ? 1 : 0, {
74
114
  duration: 300,
75
115
  easing: Easing.bezier(0.25, 0.1, 0.25, 1)
76
116
  });
77
- }, [isFollowing, animationProgress]);
117
+ }, [isFollowing]); // Removed animationProgress from dependencies as it's stable
118
+
119
+ // Show error toast when error occurs
120
+ useEffect(() => {
121
+ if (error) {
122
+ toast.error(error);
123
+ dispatch(clearFollowError(userId));
124
+ }
125
+ }, [error]); // Removed userId and dispatch to prevent unnecessary runs
78
126
 
79
- // The button press handler with preventDefault support
80
- const handlePress = async event => {
127
+ // The button press handler with preventDefault support - memoized to prevent recreation
128
+ const handlePress = useCallback(async event => {
81
129
  // Prevent parent actions if enabled (e.g., if inside a link or pressable container)
82
130
  if (preventParentActions && event) {
83
131
  // For React Native Web compatibility
@@ -101,7 +149,13 @@ const FollowButton = ({
101
149
  onPress(event);
102
150
  return;
103
151
  }
104
- if (disabled || isLoading || !isAuthenticated) return;
152
+ if (disabled || followState.isLoading) return;
153
+
154
+ // Check if user is authenticated - show toast instead of disabling
155
+ if (!isAuthenticated) {
156
+ toast.error('Please sign in to follow users');
157
+ return;
158
+ }
105
159
 
106
160
  // Touch feedback animation
107
161
  scale.value = withSpring(0.95, {
@@ -109,39 +163,33 @@ const FollowButton = ({
109
163
  }, () => {
110
164
  scale.value = withSpring(1);
111
165
  });
112
- setIsLoading(true);
113
166
  try {
114
- // This should be replaced with actual API call to your services
115
- if (isFollowing) {
116
- // Unfollow API call would go here
117
- // await oxyServices.user.unfollowUser(userId);
118
- console.log(`Unfollowing user: ${userId}`);
119
- await new Promise(resolve => setTimeout(resolve, 500)); // Simulating API call
120
- } else {
121
- // Follow API call would go here
122
- // await oxyServices.user.followUser(userId);
123
- console.log(`Following user: ${userId}`);
124
- await new Promise(resolve => setTimeout(resolve, 500)); // Simulating API call
125
- }
126
-
127
- // Toggle following state with animation
128
- const newFollowingState = !isFollowing;
129
- setIsFollowing(newFollowingState);
167
+ // Dispatch the async action to follow/unfollow
168
+ const result = await dispatch(toggleFollowUser({
169
+ userId,
170
+ oxyServices,
171
+ isCurrentlyFollowing: followState.isFollowing
172
+ })).unwrap();
130
173
 
131
174
  // Call the callback if provided
132
175
  if (onFollowChange) {
133
- onFollowChange(newFollowingState);
176
+ onFollowChange(result.isFollowing);
134
177
  }
135
178
 
136
179
  // Show success toast
137
- toast.success(newFollowingState ? 'Following user!' : 'Unfollowed user');
180
+ toast.success(result.isFollowing ? 'Following user!' : 'Unfollowed user');
138
181
  } catch (error) {
139
182
  console.error('Follow action failed:', error);
140
- toast.error('Failed to update follow status. Please try again.');
141
- } finally {
142
- setIsLoading(false);
183
+
184
+ // Show user-friendly error messages for state mismatches
185
+ const errorMessage = error?.toString() || 'Unknown error';
186
+ if (errorMessage.includes('State synced with backend')) {
187
+ toast.info('Status updated. Please try again.');
188
+ } else {
189
+ toast.error(`Failed to ${followState.isFollowing ? 'unfollow' : 'follow'} user. Please try again.`);
190
+ }
143
191
  }
144
- };
192
+ }, [preventParentActions, onPress, disabled, followState.isLoading, followState.isFollowing, isAuthenticated, scale, dispatch, userId, oxyServices, onFollowChange]);
145
193
 
146
194
  // Animated styles for the button
147
195
  const animatedButtonStyle = useAnimatedStyle(() => {
@@ -208,7 +256,7 @@ const FollowButton = ({
208
256
  return /*#__PURE__*/_jsx(TouchableOpacity, {
209
257
  activeOpacity: 0.8,
210
258
  onPress: handlePress,
211
- disabled: disabled || isLoading || !isAuthenticated,
259
+ disabled: disabled || isLoading,
212
260
  children: /*#__PURE__*/_jsx(Animated.View, {
213
261
  style: [styles.button, sizeStyles.button, animatedButtonStyle, style],
214
262
  children: isLoading && showLoadingState ? /*#__PURE__*/_jsx(ActivityIndicator, {
@@ -1 +1 @@
1
- {"version":3,"names":["React","useState","useEffect","TouchableOpacity","StyleSheet","Platform","ActivityIndicator","Animated","useSharedValue","useAnimatedStyle","withSpring","interpolateColor","Easing","withTiming","useOxy","fontFamilies","toast","jsx","_jsx","FollowButton","userId","initiallyFollowing","size","onFollowChange","style","textStyle","disabled","showLoadingState","preventParentActions","onPress","oxyServices","isAuthenticated","isFollowing","setIsFollowing","isLoading","setIsLoading","animationProgress","scale","value","duration","easing","bezier","handlePress","event","OS","preventDefault","stopPropagation","nativeEvent","damping","console","log","Promise","resolve","setTimeout","newFollowingState","success","error","animatedButtonStyle","backgroundColor","borderColor","transitionScale","Math","sin","PI","borderWidth","transform","animatedTextStyle","color","getSizeStyles","button","paddingVertical","paddingHorizontal","text","fontSize","sizeStyles","activeOpacity","children","View","styles","Text","create","justifyContent","alignItems","flexDirection","borderRadius","fontFamily","select","web","default","phuduSemiBold","fontWeight","undefined","textAlign"],"sourceRoot":"../../../../src","sources":["ui/components/FollowButton.tsx"],"mappings":"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","ignoreList":[]}
1
+ {"version":3,"names":["React","useEffect","useCallback","TouchableOpacity","StyleSheet","Platform","ActivityIndicator","Animated","useSharedValue","useAnimatedStyle","withSpring","interpolateColor","Easing","withTiming","useDispatch","useSelector","useOxy","fontFamilies","toast","toggleFollowUser","setFollowingStatus","clearFollowError","fetchFollowStatus","jsx","_jsx","FollowButton","userId","initiallyFollowing","size","onFollowChange","style","textStyle","disabled","showLoadingState","preventParentActions","onPress","dispatch","oxyServices","isAuthenticated","followState","state","isFollowing","follow","followingUsers","isLoading","loadingUsers","error","errors","isStatusKnown","Object","prototype","hasOwnProperty","call","animationProgress","scale","initialState","value","duration","easing","bezier","handlePress","event","OS","preventDefault","stopPropagation","nativeEvent","damping","result","isCurrentlyFollowing","unwrap","success","console","errorMessage","toString","includes","info","animatedButtonStyle","backgroundColor","borderColor","transitionScale","Math","sin","PI","borderWidth","transform","animatedTextStyle","color","getSizeStyles","button","paddingVertical","paddingHorizontal","text","fontSize","sizeStyles","activeOpacity","children","View","styles","Text","create","justifyContent","alignItems","flexDirection","borderRadius","fontFamily","select","web","default","phuduSemiBold","fontWeight","undefined","textAlign"],"sourceRoot":"../../../../src","sources":["ui/components/FollowButton.tsx"],"mappings":"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","ignoreList":[]}
@@ -42,12 +42,12 @@ export const OxySignInButton = ({
42
42
  }) => {
43
43
  // Get all needed values from context in a single call
44
44
  const {
45
- user,
45
+ isAuthenticated,
46
46
  showBottomSheet
47
47
  } = useOxy();
48
48
 
49
49
  // Don't show the button if already authenticated (unless explicitly overridden)
50
- if (user && !showWhenAuthenticated) return null;
50
+ if (isAuthenticated && !showWhenAuthenticated) return null;
51
51
 
52
52
  // Default handler that uses the context methods
53
53
  const handlePress = () => {
@@ -1 +1 @@
1
- {"version":3,"names":["React","TouchableOpacity","Text","View","StyleSheet","Platform","useOxy","OxyLogo","jsx","_jsx","jsxs","_jsxs","OxySignInButton","variant","onPress","style","textStyle","text","disabled","showWhenAuthenticated","screen","user","showBottomSheet","handlePress","console","warn","getButtonStyle","styles","buttonOutline","buttonContained","buttonDefault","getTextStyle","textOutline","textContained","textDefault","button","buttonDisabled","children","buttonContent","width","height","fillColor","secondaryFillColor","undefined","opacity","textDisabled","create","padding","borderRadius","alignItems","justifyContent","backgroundColor","borderWidth","borderColor","shadowColor","shadowOffset","shadowOpacity","shadowRadius","elevation","flexDirection","fontFamily","OS","fontWeight","fontSize","marginLeft","color"],"sourceRoot":"../../../../src","sources":["ui/components/OxySignInButton.tsx"],"mappings":"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","ignoreList":[]}
1
+ {"version":3,"names":["React","TouchableOpacity","Text","View","StyleSheet","Platform","useOxy","OxyLogo","jsx","_jsx","jsxs","_jsxs","OxySignInButton","variant","onPress","style","textStyle","text","disabled","showWhenAuthenticated","screen","isAuthenticated","showBottomSheet","handlePress","console","warn","getButtonStyle","styles","buttonOutline","buttonContained","buttonDefault","getTextStyle","textOutline","textContained","textDefault","button","buttonDisabled","children","buttonContent","width","height","fillColor","secondaryFillColor","undefined","opacity","textDisabled","create","padding","borderRadius","alignItems","justifyContent","backgroundColor","borderWidth","borderColor","shadowColor","shadowOffset","shadowOpacity","shadowRadius","elevation","flexDirection","fontFamily","OS","fontWeight","fontSize","marginLeft","color"],"sourceRoot":"../../../../src","sources":["ui/components/OxySignInButton.tsx"],"mappings":"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","ignoreList":[]}
@@ -537,13 +537,23 @@ export const OxyContextProvider = ({
537
537
  }
538
538
  }, [bottomSheetRef]);
539
539
 
540
+ // Compute comprehensive authentication status
541
+ // This is the single source of truth for authentication across the entire app
542
+ const isAuthenticated = useMemo(() => {
543
+ // User is authenticated if:
544
+ // 1. We have a full user object loaded, OR
545
+ // 2. We have an active session with a valid token
546
+ // This covers both the loaded state and the loading-but-authenticated state
547
+ return !!user || !!activeSessionId && !!oxyServices?.getCurrentUserId();
548
+ }, [user, activeSessionId, oxyServices]);
549
+
540
550
  // Context value
541
551
  const contextValue = {
542
552
  user,
543
553
  minimalUser,
544
554
  sessions,
545
555
  activeSessionId,
546
- isAuthenticated: !!user,
556
+ isAuthenticated,
547
557
  isLoading,
548
558
  error,
549
559
  login,
@@ -1 +1 @@
1
- {"version":3,"names":["React","createContext","useContext","useState","useEffect","useCallback","useMemo","DeviceManager","jsx","_jsx","OxyContext","WebStorage","getItem","key","localStorage","setItem","value","removeItem","clear","AsyncStorage","isReactNative","navigator","product","getStorage","asyncStorageModule","default","error","console","Error","getSecureStorageKeys","prefix","sessions","activeSessionId","OxyContextProvider","children","oxyServices","storageKeyPrefix","onAuthStateChange","bottomSheetRef","user","setUser","minimalUser","setMinimalUser","setSessions","setActiveSessionId","isLoading","setIsLoading","setError","storage","setStorage","keys","initStorage","platformStorage","initAuth","sessionsData","storedActiveSessionId","log","parsedSessions","JSON","parse","migratedSessions","shouldUpdateStorage","session","userId","username","sessionUser","getUserBySession","sessionId","push","id","saveSessionsToStorage","length","activeSession","find","s","validation","validateSession","valid","getTokenBySession","fullUser","avatar","removeInvalidSession","err","clearAllStorage","filteredSessions","filter","switchToSession","sessionsList","stringify","saveActiveSessionId","login","password","deviceName","deviceFingerprint","getDeviceFingerprint","deviceInfo","getDeviceInfo","deviceId","response","secureLogin","getDefaultDeviceName","clientSession","expiresAt","lastActive","Date","toISOString","existingUserSessionIndex","findIndex","updatedSessions","existingSession","message","logout","targetSessionId","sessionToLogout","logoutSecureSession","logoutAll","logoutAllSecureSessions","signUp","email","switchSession","removeSession","refreshSessions","serverSessions","getSessionsBySessionId","map","serverSession","getDeviceSessions","logoutAllDeviceSessions","updateDeviceName","showBottomSheet","screenOrConfig","current","expand","present","warn","setTimeout","_navigateToScreen","screen","props","hideBottomSheet","dismiss","contextValue","isAuthenticated","Provider","useOxy","context"],"sourceRoot":"../../../../src","sources":["ui/context/OxyContext.tsx"],"mappings":"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","ignoreList":[]}
1
+ {"version":3,"names":["React","createContext","useContext","useState","useEffect","useCallback","useMemo","DeviceManager","jsx","_jsx","OxyContext","WebStorage","getItem","key","localStorage","setItem","value","removeItem","clear","AsyncStorage","isReactNative","navigator","product","getStorage","asyncStorageModule","default","error","console","Error","getSecureStorageKeys","prefix","sessions","activeSessionId","OxyContextProvider","children","oxyServices","storageKeyPrefix","onAuthStateChange","bottomSheetRef","user","setUser","minimalUser","setMinimalUser","setSessions","setActiveSessionId","isLoading","setIsLoading","setError","storage","setStorage","keys","initStorage","platformStorage","initAuth","sessionsData","storedActiveSessionId","log","parsedSessions","JSON","parse","migratedSessions","shouldUpdateStorage","session","userId","username","sessionUser","getUserBySession","sessionId","push","id","saveSessionsToStorage","length","activeSession","find","s","validation","validateSession","valid","getTokenBySession","fullUser","avatar","removeInvalidSession","err","clearAllStorage","filteredSessions","filter","switchToSession","sessionsList","stringify","saveActiveSessionId","login","password","deviceName","deviceFingerprint","getDeviceFingerprint","deviceInfo","getDeviceInfo","deviceId","response","secureLogin","getDefaultDeviceName","clientSession","expiresAt","lastActive","Date","toISOString","existingUserSessionIndex","findIndex","updatedSessions","existingSession","message","logout","targetSessionId","sessionToLogout","logoutSecureSession","logoutAll","logoutAllSecureSessions","signUp","email","switchSession","removeSession","refreshSessions","serverSessions","getSessionsBySessionId","map","serverSession","getDeviceSessions","logoutAllDeviceSessions","updateDeviceName","showBottomSheet","screenOrConfig","current","expand","present","warn","setTimeout","_navigateToScreen","screen","props","hideBottomSheet","dismiss","isAuthenticated","getCurrentUserId","contextValue","Provider","useOxy","context"],"sourceRoot":"../../../../src","sources":["ui/context/OxyContext.tsx"],"mappings":"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","ignoreList":[]}
@@ -0,0 +1,4 @@
1
+ "use strict";
2
+
3
+ export { useFollow } from './useFollow';
4
+ //# sourceMappingURL=index.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"names":["useFollow"],"sourceRoot":"../../../../src","sources":["ui/hooks/index.ts"],"mappings":";;AAAA,SAASA,SAAS,QAAQ,aAAa","ignoreList":[]}
@@ -0,0 +1,180 @@
1
+ "use strict";
2
+
3
+ import { useDispatch, useSelector } from 'react-redux';
4
+ import { useCallback, useMemo } from 'react';
5
+ import { toggleFollowUser, setFollowingStatus, clearFollowError, fetchFollowStatus } from '../store';
6
+ import { useOxy } from '../context/OxyContext';
7
+
8
+ // Memoized selector to prevent unnecessary re-renders
9
+ const createFollowSelector = userId => state => ({
10
+ isFollowing: state.follow.followingUsers[userId] ?? false,
11
+ isLoading: state.follow.loadingUsers[userId] ?? false,
12
+ error: state.follow.errors[userId] ?? null
13
+ });
14
+
15
+ // Memoized selector for multiple users
16
+ const createMultipleFollowSelector = userIds => state => {
17
+ const followData = {};
18
+ const followState = state.follow;
19
+ for (const userId of userIds) {
20
+ followData[userId] = {
21
+ isFollowing: followState.followingUsers[userId] ?? false,
22
+ isLoading: followState.loadingUsers[userId] ?? false,
23
+ error: followState.errors[userId] ?? null
24
+ };
25
+ }
26
+ return {
27
+ followData,
28
+ isAnyLoading: userIds.some(uid => followState.loadingUsers[uid]),
29
+ hasAnyError: userIds.some(uid => followState.errors[uid]),
30
+ allFollowing: userIds.every(uid => followState.followingUsers[uid]),
31
+ allNotFollowing: userIds.every(uid => !followState.followingUsers[uid])
32
+ };
33
+ };
34
+
35
+ /**
36
+ * Custom hook for managing follow/unfollow functionality
37
+ * Optimized to prevent unnecessary re-renders
38
+ * Can handle both single user and multiple users
39
+ */
40
+ export const useFollow = userId => {
41
+ const dispatch = useDispatch();
42
+ const {
43
+ oxyServices
44
+ } = useOxy();
45
+
46
+ // Memoize user IDs to prevent recreation on every render
47
+ const userIds = useMemo(() => {
48
+ return Array.isArray(userId) ? userId : userId ? [userId] : [];
49
+ }, [userId]);
50
+ const isSingleUser = typeof userId === 'string';
51
+
52
+ // Memoize selectors to prevent recreation
53
+ const singleUserSelector = useMemo(() => {
54
+ return isSingleUser && userId ? createFollowSelector(userId) : null;
55
+ }, [isSingleUser, userId]);
56
+ const multipleUserSelector = useMemo(() => {
57
+ return !isSingleUser ? createMultipleFollowSelector(userIds) : null;
58
+ }, [isSingleUser, userIds]);
59
+
60
+ // Use appropriate selector based on mode
61
+ const singleUserData = useSelector(singleUserSelector || (() => ({
62
+ isFollowing: false,
63
+ isLoading: false,
64
+ error: null
65
+ })));
66
+ const multipleUserData = useSelector(multipleUserSelector || (() => ({
67
+ followData: {},
68
+ isAnyLoading: false,
69
+ hasAnyError: false,
70
+ allFollowing: false,
71
+ allNotFollowing: true
72
+ })));
73
+
74
+ // Memoized callbacks to prevent recreation on every render
75
+ const toggleFollow = useCallback(async () => {
76
+ if (!isSingleUser || !userId) throw new Error('toggleFollow is only available for single user mode');
77
+ try {
78
+ const result = await dispatch(toggleFollowUser({
79
+ userId,
80
+ oxyServices,
81
+ isCurrentlyFollowing: singleUserData.isFollowing
82
+ })).unwrap();
83
+ return result;
84
+ } catch (error) {
85
+ throw error;
86
+ }
87
+ }, [dispatch, userId, oxyServices, singleUserData.isFollowing, isSingleUser]);
88
+ const setFollowStatus = useCallback(following => {
89
+ if (!isSingleUser || !userId) throw new Error('setFollowStatus is only available for single user mode');
90
+ dispatch(setFollowingStatus({
91
+ userId,
92
+ isFollowing: following
93
+ }));
94
+ }, [dispatch, userId, isSingleUser]);
95
+ const fetchStatus = useCallback(async () => {
96
+ if (!isSingleUser || !userId) throw new Error('fetchStatus is only available for single user mode');
97
+ try {
98
+ await dispatch(fetchFollowStatus({
99
+ userId,
100
+ oxyServices
101
+ })).unwrap();
102
+ } catch (error) {
103
+ console.warn(`Failed to fetch follow status for user ${userId}:`, error);
104
+ }
105
+ }, [dispatch, userId, oxyServices, isSingleUser]);
106
+ const clearError = useCallback(() => {
107
+ if (!isSingleUser || !userId) throw new Error('clearError is only available for single user mode');
108
+ dispatch(clearFollowError(userId));
109
+ }, [dispatch, userId, isSingleUser]);
110
+
111
+ // Multiple user callbacks
112
+ const toggleFollowForUser = useCallback(async targetUserId => {
113
+ const currentState = multipleUserData.followData[targetUserId]?.isFollowing ?? false;
114
+ try {
115
+ const result = await dispatch(toggleFollowUser({
116
+ userId: targetUserId,
117
+ oxyServices,
118
+ isCurrentlyFollowing: currentState
119
+ })).unwrap();
120
+ return result;
121
+ } catch (error) {
122
+ throw error;
123
+ }
124
+ }, [dispatch, oxyServices, multipleUserData.followData]);
125
+ const setFollowStatusForUser = useCallback((targetUserId, following) => {
126
+ dispatch(setFollowingStatus({
127
+ userId: targetUserId,
128
+ isFollowing: following
129
+ }));
130
+ }, [dispatch]);
131
+ const fetchStatusForUser = useCallback(async targetUserId => {
132
+ try {
133
+ await dispatch(fetchFollowStatus({
134
+ userId: targetUserId,
135
+ oxyServices
136
+ })).unwrap();
137
+ } catch (error) {
138
+ console.warn(`Failed to fetch follow status for user ${targetUserId}:`, error);
139
+ }
140
+ }, [dispatch, oxyServices]);
141
+ const fetchAllStatuses = useCallback(async () => {
142
+ const promises = userIds.map(uid => dispatch(fetchFollowStatus({
143
+ userId: uid,
144
+ oxyServices
145
+ })).unwrap().catch(error => {
146
+ console.warn(`Failed to fetch follow status for user ${uid}:`, error);
147
+ }));
148
+ await Promise.all(promises);
149
+ }, [dispatch, userIds, oxyServices]);
150
+ const clearErrorForUser = useCallback(targetUserId => {
151
+ dispatch(clearFollowError(targetUserId));
152
+ }, [dispatch]);
153
+
154
+ // Return appropriate interface based on mode
155
+ if (isSingleUser && userId) {
156
+ return {
157
+ isFollowing: singleUserData.isFollowing,
158
+ isLoading: singleUserData.isLoading,
159
+ error: singleUserData.error,
160
+ toggleFollow,
161
+ setFollowStatus,
162
+ fetchStatus,
163
+ clearError
164
+ };
165
+ }
166
+ return {
167
+ followData: multipleUserData.followData,
168
+ toggleFollowForUser,
169
+ setFollowStatusForUser,
170
+ fetchStatusForUser,
171
+ fetchAllStatuses,
172
+ clearErrorForUser,
173
+ // Helper methods
174
+ isAnyLoading: multipleUserData.isAnyLoading,
175
+ hasAnyError: multipleUserData.hasAnyError,
176
+ allFollowing: multipleUserData.allFollowing,
177
+ allNotFollowing: multipleUserData.allNotFollowing
178
+ };
179
+ };
180
+ //# sourceMappingURL=useFollow.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"names":["useDispatch","useSelector","useCallback","useMemo","toggleFollowUser","setFollowingStatus","clearFollowError","fetchFollowStatus","useOxy","createFollowSelector","userId","state","isFollowing","follow","followingUsers","isLoading","loadingUsers","error","errors","createMultipleFollowSelector","userIds","followData","followState","isAnyLoading","some","uid","hasAnyError","allFollowing","every","allNotFollowing","useFollow","dispatch","oxyServices","Array","isArray","isSingleUser","singleUserSelector","multipleUserSelector","singleUserData","multipleUserData","toggleFollow","Error","result","isCurrentlyFollowing","unwrap","setFollowStatus","following","fetchStatus","console","warn","clearError","toggleFollowForUser","targetUserId","currentState","setFollowStatusForUser","fetchStatusForUser","fetchAllStatuses","promises","map","catch","Promise","all","clearErrorForUser"],"sourceRoot":"../../../../src","sources":["ui/hooks/useFollow.ts"],"mappings":"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","ignoreList":[]}
@@ -23,4 +23,13 @@ export { fontFamilies, fontStyles } from './styles/fonts';
23
23
 
24
24
  // Export types for navigation (internal use)
25
25
  export * from './navigation/types';
26
+
27
+ // Hooks
28
+ export { useFollow } from './hooks';
29
+
30
+ // Screens
31
+ export { default as ProfileScreen } from './screens/ProfileScreen';
32
+
33
+ // Navigation
34
+ export { default as OxyRouter } from './navigation/OxyRouter';
26
35
  //# sourceMappingURL=index.js.map
@@ -1 +1 @@
1
- {"version":3,"names":["default","OxyProvider","OxySignInButton","OxyLogo","Avatar","FollowButton","FontLoader","setupFonts","OxyIcon","OxyContextProvider","useOxy","OxyContextState","OxyContextProviderProps","store","fontFamilies","fontStyles"],"sourceRoot":"../../../src","sources":["ui/index.ts"],"mappings":";;AAAA;AACA;AACA;;AAEA;AACA,SAASA,OAAO,IAAIC,WAAW,QAAQ,0BAA0B;AACjE,SAASD,OAAO,IAAIE,eAAe,QAAQ,8BAA8B;AACzE,SAASF,OAAO,IAAIG,OAAO,QAAQ,sBAAsB;AACzD,SAASH,OAAO,IAAII,MAAM,QAAQ,qBAAqB;AACvD,SAASJ,OAAO,IAAIK,YAAY,QAAQ,2BAA2B;AACnE,SAASC,UAAU,EAAEC,UAAU,QAAQ,yBAAyB;;AAEhE;AACA,SAASC,OAAO,QAAQ,mBAAmB;AAG3C,SACEC,kBAAkB,EAClBC,MAAM,EACNC,eAAe,EACfC,uBAAuB,QAClB,sBAAsB;;AAE7B;AACA,SAASC,KAAK,QAAQ,SAAS;AAG/B;AACA,SAASC,YAAY,EAAEC,UAAU,QAAQ,gBAAgB;;AAEzD;AACA,cAAc,oBAAoB","ignoreList":[]}
1
+ {"version":3,"names":["default","OxyProvider","OxySignInButton","OxyLogo","Avatar","FollowButton","FontLoader","setupFonts","OxyIcon","OxyContextProvider","useOxy","OxyContextState","OxyContextProviderProps","store","fontFamilies","fontStyles","useFollow","ProfileScreen","OxyRouter"],"sourceRoot":"../../../src","sources":["ui/index.ts"],"mappings":";;AAAA;AACA;AACA;;AAEA;AACA,SAASA,OAAO,IAAIC,WAAW,QAAQ,0BAA0B;AACjE,SAASD,OAAO,IAAIE,eAAe,QAAQ,8BAA8B;AACzE,SAASF,OAAO,IAAIG,OAAO,QAAQ,sBAAsB;AACzD,SAASH,OAAO,IAAII,MAAM,QAAQ,qBAAqB;AACvD,SAASJ,OAAO,IAAIK,YAAY,QAAQ,2BAA2B;AACnE,SAASC,UAAU,EAAEC,UAAU,QAAQ,yBAAyB;;AAEhE;AACA,SAASC,OAAO,QAAQ,mBAAmB;AAG3C,SACEC,kBAAkB,EAClBC,MAAM,EACNC,eAAe,EACfC,uBAAuB,QAClB,sBAAsB;;AAE7B;AACA,SAASC,KAAK,QAAQ,SAAS;AAG/B;AACA,SAASC,YAAY,EAAEC,UAAU,QAAQ,gBAAgB;;AAEzD;AACA,cAAc,oBAAoB;;AAElC;AACA,SAASC,SAAS,QAAQ,SAAS;;AAEnC;AACA,SAAShB,OAAO,IAAIiB,aAAa,QAAQ,yBAAyB;;AAElE;AACA,SAASjB,OAAO,IAAIkB,SAAS,QAAQ,wBAAwB","ignoreList":[]}