@oxyhq/services 5.4.8 → 5.5.1

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 (154) hide show
  1. package/lib/commonjs/core/index.js +0 -59
  2. package/lib/commonjs/core/index.js.map +1 -1
  3. package/lib/commonjs/index.js +174 -17
  4. package/lib/commonjs/index.js.map +1 -1
  5. package/lib/commonjs/ui/components/FollowButton.js +8 -23
  6. package/lib/commonjs/ui/components/FollowButton.js.map +1 -1
  7. package/lib/commonjs/ui/components/OxyProvider.js +49 -38
  8. package/lib/commonjs/ui/components/OxyProvider.js.map +1 -1
  9. package/lib/commonjs/ui/components/OxySignInButton.js +2 -8
  10. package/lib/commonjs/ui/components/OxySignInButton.js.map +1 -1
  11. package/lib/commonjs/ui/hooks/index.js +15 -2
  12. package/lib/commonjs/ui/hooks/index.js.map +1 -1
  13. package/lib/commonjs/ui/hooks/useAuthFetch.js +182 -0
  14. package/lib/commonjs/ui/hooks/useAuthFetch.js.map +1 -0
  15. package/lib/commonjs/ui/hooks/useFollow.js +10 -29
  16. package/lib/commonjs/ui/hooks/useFollow.js.map +1 -1
  17. package/lib/commonjs/ui/hooks/useOxyFollow.js +190 -0
  18. package/lib/commonjs/ui/hooks/useOxyFollow.js.map +1 -0
  19. package/lib/commonjs/ui/index.js +183 -0
  20. package/lib/commonjs/ui/index.js.map +1 -1
  21. package/lib/commonjs/ui/screens/AccountCenterScreen.js +18 -14
  22. package/lib/commonjs/ui/screens/AccountCenterScreen.js.map +1 -1
  23. package/lib/commonjs/ui/screens/AppInfoScreen.js +37 -19
  24. package/lib/commonjs/ui/screens/AppInfoScreen.js.map +1 -1
  25. package/lib/commonjs/ui/screens/FileManagementScreen.js +27 -9
  26. package/lib/commonjs/ui/screens/FileManagementScreen.js.map +1 -1
  27. package/lib/commonjs/ui/screens/karma/KarmaRewardsScreen.js +2 -8
  28. package/lib/commonjs/ui/screens/karma/KarmaRewardsScreen.js.map +1 -1
  29. package/lib/commonjs/ui/store/index.js +51 -255
  30. package/lib/commonjs/ui/store/index.js.map +1 -1
  31. package/lib/commonjs/ui/store/setupOxyStore.js +63 -0
  32. package/lib/commonjs/ui/store/setupOxyStore.js.map +1 -0
  33. package/lib/commonjs/ui/store/slices/authSlice.js +56 -0
  34. package/lib/commonjs/ui/store/slices/authSlice.js.map +1 -0
  35. package/lib/commonjs/ui/store/slices/followSlice.js +238 -0
  36. package/lib/commonjs/ui/store/slices/followSlice.js.map +1 -0
  37. package/lib/commonjs/ui/store/slices/index.js +129 -0
  38. package/lib/commonjs/ui/store/slices/index.js.map +1 -0
  39. package/lib/commonjs/ui/store/slices/types.js +19 -0
  40. package/lib/commonjs/ui/store/slices/types.js.map +1 -0
  41. package/lib/commonjs/ui/styles/index.js +11 -0
  42. package/lib/commonjs/ui/styles/index.js.map +1 -1
  43. package/lib/commonjs/ui/styles/shadows.js +123 -0
  44. package/lib/commonjs/ui/styles/shadows.js.map +1 -0
  45. package/lib/module/core/index.js +0 -59
  46. package/lib/module/core/index.js.map +1 -1
  47. package/lib/module/index.js +14 -10
  48. package/lib/module/index.js.map +1 -1
  49. package/lib/module/ui/components/FollowButton.js +8 -23
  50. package/lib/module/ui/components/FollowButton.js.map +1 -1
  51. package/lib/module/ui/components/OxyProvider.js +49 -38
  52. package/lib/module/ui/components/OxyProvider.js.map +1 -1
  53. package/lib/module/ui/components/OxySignInButton.js +2 -8
  54. package/lib/module/ui/components/OxySignInButton.js.map +1 -1
  55. package/lib/module/ui/hooks/index.js +2 -1
  56. package/lib/module/ui/hooks/index.js.map +1 -1
  57. package/lib/module/ui/hooks/useAuthFetch.js +177 -0
  58. package/lib/module/ui/hooks/useAuthFetch.js.map +1 -0
  59. package/lib/module/ui/hooks/useFollow.js +10 -29
  60. package/lib/module/ui/hooks/useFollow.js.map +1 -1
  61. package/lib/module/ui/hooks/useOxyFollow.js +186 -0
  62. package/lib/module/ui/hooks/useOxyFollow.js.map +1 -0
  63. package/lib/module/ui/index.js +12 -2
  64. package/lib/module/ui/index.js.map +1 -1
  65. package/lib/module/ui/screens/AccountCenterScreen.js +5 -1
  66. package/lib/module/ui/screens/AccountCenterScreen.js.map +1 -1
  67. package/lib/module/ui/screens/AppInfoScreen.js +37 -19
  68. package/lib/module/ui/screens/AppInfoScreen.js.map +1 -1
  69. package/lib/module/ui/screens/FileManagementScreen.js +27 -9
  70. package/lib/module/ui/screens/FileManagementScreen.js.map +1 -1
  71. package/lib/module/ui/screens/karma/KarmaRewardsScreen.js +2 -8
  72. package/lib/module/ui/screens/karma/KarmaRewardsScreen.js.map +1 -1
  73. package/lib/module/ui/store/index.js +23 -249
  74. package/lib/module/ui/store/index.js.map +1 -1
  75. package/lib/module/ui/store/setupOxyStore.js +59 -0
  76. package/lib/module/ui/store/setupOxyStore.js.map +1 -0
  77. package/lib/module/ui/store/slices/authSlice.js +48 -0
  78. package/lib/module/ui/store/slices/authSlice.js.map +1 -0
  79. package/lib/module/ui/store/slices/followSlice.js +232 -0
  80. package/lib/module/ui/store/slices/followSlice.js.map +1 -0
  81. package/lib/module/ui/store/slices/index.js +11 -0
  82. package/lib/module/ui/store/slices/index.js.map +1 -0
  83. package/lib/module/ui/store/slices/types.js +15 -0
  84. package/lib/module/ui/store/slices/types.js.map +1 -0
  85. package/lib/module/ui/styles/index.js +1 -0
  86. package/lib/module/ui/styles/index.js.map +1 -1
  87. package/lib/module/ui/styles/shadows.js +119 -0
  88. package/lib/module/ui/styles/shadows.js.map +1 -0
  89. package/lib/typescript/core/index.d.ts +0 -28
  90. package/lib/typescript/core/index.d.ts.map +1 -1
  91. package/lib/typescript/index.d.ts +3 -5
  92. package/lib/typescript/index.d.ts.map +1 -1
  93. package/lib/typescript/ui/components/FollowButton.d.ts.map +1 -1
  94. package/lib/typescript/ui/components/OxyProvider.d.ts.map +1 -1
  95. package/lib/typescript/ui/components/OxySignInButton.d.ts.map +1 -1
  96. package/lib/typescript/ui/hooks/index.d.ts +2 -1
  97. package/lib/typescript/ui/hooks/index.d.ts.map +1 -1
  98. package/lib/typescript/ui/hooks/useAuthFetch.d.ts +33 -0
  99. package/lib/typescript/ui/hooks/useAuthFetch.d.ts.map +1 -0
  100. package/lib/typescript/ui/hooks/useFollow.d.ts.map +1 -1
  101. package/lib/typescript/ui/hooks/useOxyFollow.d.ts +81 -0
  102. package/lib/typescript/ui/hooks/useOxyFollow.d.ts.map +1 -0
  103. package/lib/typescript/ui/index.d.ts +3 -1
  104. package/lib/typescript/ui/index.d.ts.map +1 -1
  105. package/lib/typescript/ui/navigation/types.d.ts +22 -4
  106. package/lib/typescript/ui/navigation/types.d.ts.map +1 -1
  107. package/lib/typescript/ui/screens/AccountCenterScreen.d.ts.map +1 -1
  108. package/lib/typescript/ui/screens/AppInfoScreen.d.ts.map +1 -1
  109. package/lib/typescript/ui/screens/FileManagementScreen.d.ts.map +1 -1
  110. package/lib/typescript/ui/screens/karma/KarmaRewardsScreen.d.ts.map +1 -1
  111. package/lib/typescript/ui/store/index.d.ts +19 -58
  112. package/lib/typescript/ui/store/index.d.ts.map +1 -1
  113. package/lib/typescript/ui/store/setupOxyStore.d.ts +29 -0
  114. package/lib/typescript/ui/store/setupOxyStore.d.ts.map +1 -0
  115. package/lib/typescript/ui/store/slices/authSlice.d.ts +32 -0
  116. package/lib/typescript/ui/store/slices/authSlice.d.ts.map +1 -0
  117. package/lib/typescript/ui/store/slices/followSlice.d.ts +120 -0
  118. package/lib/typescript/ui/store/slices/followSlice.d.ts.map +1 -0
  119. package/lib/typescript/ui/store/slices/index.d.ts +9 -0
  120. package/lib/typescript/ui/store/slices/index.d.ts.map +1 -0
  121. package/lib/typescript/ui/store/slices/types.d.ts +16 -0
  122. package/lib/typescript/ui/store/slices/types.d.ts.map +1 -0
  123. package/lib/typescript/ui/styles/index.d.ts +1 -0
  124. package/lib/typescript/ui/styles/index.d.ts.map +1 -1
  125. package/lib/typescript/ui/styles/shadows.d.ts +233 -0
  126. package/lib/typescript/ui/styles/shadows.d.ts.map +1 -0
  127. package/package.json +14 -15
  128. package/src/__tests__/ui/hooks/useOxyFollow.test.tsx +92 -0
  129. package/src/__tests__/ui/store/setupOxyStore.test.ts +50 -0
  130. package/src/__tests__/validate-structure.js +91 -0
  131. package/src/__tests__/validation.js +42 -0
  132. package/src/core/index.ts +0 -66
  133. package/src/index.ts +36 -4
  134. package/src/ui/components/FollowButton.tsx +11 -25
  135. package/src/ui/components/OxyProvider.tsx +48 -33
  136. package/src/ui/components/OxySignInButton.tsx +2 -6
  137. package/src/ui/hooks/index.ts +2 -1
  138. package/src/ui/hooks/useAuthFetch.ts +200 -0
  139. package/src/ui/hooks/useFollow.ts +10 -30
  140. package/src/ui/hooks/useOxyFollow.ts +188 -0
  141. package/src/ui/index.ts +34 -2
  142. package/src/ui/navigation/types.ts +24 -4
  143. package/src/ui/screens/AccountCenterScreen.tsx +5 -7
  144. package/src/ui/screens/AppInfoScreen.tsx +40 -23
  145. package/src/ui/screens/FileManagementScreen.tsx +268 -248
  146. package/src/ui/screens/karma/KarmaRewardsScreen.tsx +2 -5
  147. package/src/ui/store/index.ts +31 -245
  148. package/src/ui/store/setupOxyStore.ts +58 -0
  149. package/src/ui/store/slices/authSlice.ts +43 -0
  150. package/src/ui/store/slices/followSlice.ts +207 -0
  151. package/src/ui/store/slices/index.ts +31 -0
  152. package/src/ui/store/slices/types.ts +33 -0
  153. package/src/ui/styles/index.ts +1 -0
  154. package/src/ui/styles/shadows.ts +112 -0
@@ -0,0 +1,177 @@
1
+ "use strict";
2
+
3
+ /**
4
+ * Zero Config Authenticated Fetch Hook
5
+ *
6
+ * Simple hook that provides fetch-like API with automatic authentication
7
+ * Leverages the existing useOxy hook and OxyProvider infrastructure
8
+ *
9
+ * Usage:
10
+ * const authFetch = useAuthFetch();
11
+ * const response = await authFetch('/api/protected');
12
+ * const data = await authFetch.get('/api/users');
13
+ */
14
+
15
+ import { useCallback } from 'react';
16
+ import { useOxy } from '../context/OxyContext';
17
+ /**
18
+ * Hook that provides authenticated fetch functionality
19
+ * Uses the existing OxyServices instance from useOxy context
20
+ */
21
+ export function useAuthFetch() {
22
+ const {
23
+ oxyServices,
24
+ isAuthenticated,
25
+ user,
26
+ login,
27
+ logout,
28
+ signUp
29
+ } = useOxy();
30
+
31
+ // Main fetch function with automatic auth headers
32
+ const authFetch = useCallback(async (input, init) => {
33
+ const url = resolveURL(input, oxyServices.getBaseURL());
34
+ const options = await addAuthHeaders(init, oxyServices);
35
+ try {
36
+ let response = await fetch(url, options);
37
+
38
+ // Handle token expiry and automatic refresh
39
+ if (response.status === 401 && oxyServices.getCurrentUserId()) {
40
+ // Try to refresh token and retry
41
+ try {
42
+ await oxyServices.refreshTokens();
43
+ const retryOptions = await addAuthHeaders(init, oxyServices);
44
+ response = await fetch(url, retryOptions);
45
+ } catch (refreshError) {
46
+ // Refresh failed, user needs to login again
47
+ console.warn('Token refresh failed, user needs to re-authenticate');
48
+ throw new Error('Authentication expired. Please login again.');
49
+ }
50
+ }
51
+ return response;
52
+ } catch (error) {
53
+ console.error('AuthFetch error:', error);
54
+ throw error;
55
+ }
56
+ }, [oxyServices]);
57
+
58
+ // JSON convenience methods
59
+ const get = useCallback(async (endpoint, options) => {
60
+ const response = await authFetch(endpoint, {
61
+ ...options,
62
+ method: 'GET'
63
+ });
64
+ return handleJsonResponse(response);
65
+ }, [authFetch]);
66
+ const post = useCallback(async (endpoint, data, options) => {
67
+ const response = await authFetch(endpoint, {
68
+ ...options,
69
+ method: 'POST',
70
+ headers: {
71
+ 'Content-Type': 'application/json',
72
+ ...options?.headers
73
+ },
74
+ body: data ? JSON.stringify(data) : undefined
75
+ });
76
+ return handleJsonResponse(response);
77
+ }, [authFetch]);
78
+ const put = useCallback(async (endpoint, data, options) => {
79
+ const response = await authFetch(endpoint, {
80
+ ...options,
81
+ method: 'PUT',
82
+ headers: {
83
+ 'Content-Type': 'application/json',
84
+ ...options?.headers
85
+ },
86
+ body: data ? JSON.stringify(data) : undefined
87
+ });
88
+ return handleJsonResponse(response);
89
+ }, [authFetch]);
90
+ const del = useCallback(async (endpoint, options) => {
91
+ const response = await authFetch(endpoint, {
92
+ ...options,
93
+ method: 'DELETE'
94
+ });
95
+ return handleJsonResponse(response);
96
+ }, [authFetch]);
97
+
98
+ // Attach convenience methods and auth state to the main function
99
+ const fetchWithMethods = authFetch;
100
+ fetchWithMethods.get = get;
101
+ fetchWithMethods.post = post;
102
+ fetchWithMethods.put = put;
103
+ fetchWithMethods.delete = del;
104
+ fetchWithMethods.isAuthenticated = isAuthenticated;
105
+ fetchWithMethods.user = user;
106
+ fetchWithMethods.login = login;
107
+ fetchWithMethods.logout = logout;
108
+ fetchWithMethods.signUp = signUp;
109
+ return fetchWithMethods;
110
+ }
111
+
112
+ /**
113
+ * Helper functions
114
+ */
115
+
116
+ function resolveURL(input, baseURL) {
117
+ const url = input.toString();
118
+
119
+ // If it's already a full URL, return as is
120
+ if (url.startsWith('http://') || url.startsWith('https://')) {
121
+ return url;
122
+ }
123
+
124
+ // If it starts with /, it's relative to base URL
125
+ if (url.startsWith('/')) {
126
+ return `${baseURL}${url}`;
127
+ }
128
+
129
+ // Otherwise, append to base URL with /
130
+ return `${baseURL}/${url}`;
131
+ }
132
+ async function addAuthHeaders(init, oxyServices) {
133
+ const headers = new Headers(init?.headers);
134
+
135
+ // Add auth header if user is authenticated
136
+ if (oxyServices?.getCurrentUserId() && !headers.has('Authorization')) {
137
+ // Try to get current access token
138
+ try {
139
+ const accessToken = oxyServices.getAccessToken?.() || oxyServices.accessToken;
140
+ if (accessToken) {
141
+ headers.set('Authorization', `Bearer ${accessToken}`);
142
+ }
143
+ } catch (error) {
144
+ // Ignore auth header errors
145
+ }
146
+ }
147
+ const body = init?.body;
148
+ const processedBody = body && typeof body === 'object' && !(body instanceof FormData) && !(body instanceof URLSearchParams) ? JSON.stringify(body) : body;
149
+ return {
150
+ ...init,
151
+ headers,
152
+ body: processedBody
153
+ };
154
+ }
155
+ async function handleJsonResponse(response) {
156
+ if (!response.ok) {
157
+ let errorMessage = `HTTP ${response.status}: ${response.statusText}`;
158
+ try {
159
+ const errorData = await response.json();
160
+ errorMessage = errorData.message || errorData.error || errorMessage;
161
+ } catch {
162
+ // Ignore JSON parsing errors
163
+ }
164
+ const error = new Error(errorMessage);
165
+ error.status = response.status;
166
+ error.response = response;
167
+ throw error;
168
+ }
169
+ try {
170
+ return await response.json();
171
+ } catch {
172
+ // If response isn't JSON, return the response itself
173
+ return response;
174
+ }
175
+ }
176
+ export default useAuthFetch;
177
+ //# sourceMappingURL=useAuthFetch.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"names":["useCallback","useOxy","useAuthFetch","oxyServices","isAuthenticated","user","login","logout","signUp","authFetch","input","init","url","resolveURL","getBaseURL","options","addAuthHeaders","response","fetch","status","getCurrentUserId","refreshTokens","retryOptions","refreshError","console","warn","Error","error","get","endpoint","method","handleJsonResponse","post","data","headers","body","JSON","stringify","undefined","put","del","fetchWithMethods","delete","baseURL","toString","startsWith","Headers","has","accessToken","getAccessToken","set","processedBody","FormData","URLSearchParams","ok","errorMessage","statusText","errorData","json","message"],"sourceRoot":"../../../../src","sources":["ui/hooks/useAuthFetch.ts"],"mappings":"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","ignoreList":[]}
@@ -7,47 +7,28 @@ import { useOxy } from '../context/OxyContext';
7
7
 
8
8
  // Memoized selector to prevent unnecessary re-renders
9
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
10
+ isFollowing: state.follow.followingUsers[userId] ?? false,
11
+ isLoading: state.follow.loadingUsers[userId] ?? false,
12
+ error: state.follow.errors[userId] ?? null
13
13
  });
14
14
 
15
15
  // Memoized selector for multiple users
16
16
  const createMultipleFollowSelector = userIds => state => {
17
17
  const followData = {};
18
18
  const followState = state.follow;
19
-
20
- // Defensive check for follow state
21
- if (!followState) {
22
- // Return default values if follow state is not initialized
23
- for (const userId of userIds) {
24
- followData[userId] = {
25
- isFollowing: false,
26
- isLoading: false,
27
- error: null
28
- };
29
- }
30
- return {
31
- followData,
32
- isAnyLoading: false,
33
- hasAnyError: false,
34
- allFollowing: false,
35
- allNotFollowing: true
36
- };
37
- }
38
19
  for (const userId of userIds) {
39
20
  followData[userId] = {
40
- isFollowing: followState.followingUsers?.[userId] ?? false,
41
- isLoading: followState.loadingUsers?.[userId] ?? false,
42
- error: followState.errors?.[userId] ?? null
21
+ isFollowing: followState.followingUsers[userId] ?? false,
22
+ isLoading: followState.loadingUsers[userId] ?? false,
23
+ error: followState.errors[userId] ?? null
43
24
  };
44
25
  }
45
26
  return {
46
27
  followData,
47
- isAnyLoading: userIds.some(uid => followState.loadingUsers?.[uid]),
48
- hasAnyError: userIds.some(uid => followState.errors?.[uid]),
49
- allFollowing: userIds.every(uid => followState.followingUsers?.[uid]),
50
- allNotFollowing: userIds.every(uid => !followState.followingUsers?.[uid])
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])
51
32
  };
52
33
  };
53
34
 
@@ -1 +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","hasAnyError","allFollowing","allNotFollowing","some","uid","every","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":[]}
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":[]}
@@ -0,0 +1,186 @@
1
+ "use strict";
2
+
3
+ import { useDispatch, useSelector } from 'react-redux';
4
+ import { useCallback, useMemo } from 'react';
5
+ import { toggleFollowUser, setFollowingStatus, clearFollowError, fetchFollowStatus, followSelectors } from '../store/slices/followSlice';
6
+ import { useOxy } from '../context/OxyContext';
7
+
8
+ // Generic type for state that includes follow slice
9
+
10
+ // Memoized selector to prevent unnecessary re-renders
11
+ const createFollowSelector = userId => state => ({
12
+ isFollowing: followSelectors.selectIsUserFollowed(state, userId),
13
+ isLoading: followSelectors.selectIsUserLoading(state, userId),
14
+ error: followSelectors.selectUserError(state, userId)
15
+ });
16
+
17
+ // Memoized selector for multiple users
18
+ const createMultipleFollowSelector = userIds => state => {
19
+ const followData = {};
20
+ for (const userId of userIds) {
21
+ followData[userId] = {
22
+ isFollowing: followSelectors.selectIsUserFollowed(state, userId),
23
+ isLoading: followSelectors.selectIsUserLoading(state, userId),
24
+ error: followSelectors.selectUserError(state, userId)
25
+ };
26
+ }
27
+ const followState = state.follow;
28
+ return {
29
+ followData,
30
+ isAnyLoading: userIds.some(uid => followState.loadingUsers[uid]),
31
+ hasAnyError: userIds.some(uid => followState.errors[uid]),
32
+ allFollowing: userIds.every(uid => followState.followingUsers[uid]),
33
+ allNotFollowing: userIds.every(uid => !followState.followingUsers[uid])
34
+ };
35
+ };
36
+
37
+ /**
38
+ * Custom hook for managing follow/unfollow functionality
39
+ * Works with any Redux store that includes the Oxy follow reducer
40
+ * Optimized to prevent unnecessary re-renders
41
+ * Can handle both single user and multiple users
42
+ */
43
+ export const useOxyFollow = userId => {
44
+ const dispatch = useDispatch();
45
+ const {
46
+ oxyServices
47
+ } = useOxy();
48
+
49
+ // Memoize user IDs to prevent recreation on every render
50
+ const userIds = useMemo(() => {
51
+ return Array.isArray(userId) ? userId : userId ? [userId] : [];
52
+ }, [userId]);
53
+ const isSingleUser = typeof userId === 'string';
54
+
55
+ // Memoize selectors to prevent recreation
56
+ const singleUserSelector = useMemo(() => {
57
+ return isSingleUser && userId ? createFollowSelector(userId) : null;
58
+ }, [isSingleUser, userId]);
59
+ const multipleUserSelector = useMemo(() => {
60
+ return !isSingleUser ? createMultipleFollowSelector(userIds) : null;
61
+ }, [isSingleUser, userIds]);
62
+
63
+ // Use appropriate selector based on mode
64
+ const singleUserData = useSelector(singleUserSelector || (() => ({
65
+ isFollowing: false,
66
+ isLoading: false,
67
+ error: null
68
+ })));
69
+ const multipleUserData = useSelector(multipleUserSelector || (() => ({
70
+ followData: {},
71
+ isAnyLoading: false,
72
+ hasAnyError: false,
73
+ allFollowing: false,
74
+ allNotFollowing: true
75
+ })));
76
+
77
+ // Memoized callbacks to prevent recreation on every render
78
+ const toggleFollow = useCallback(async () => {
79
+ if (!isSingleUser || !userId) throw new Error('toggleFollow is only available for single user mode');
80
+ try {
81
+ const result = await dispatch(toggleFollowUser({
82
+ userId,
83
+ oxyServices,
84
+ isCurrentlyFollowing: singleUserData.isFollowing
85
+ })).unwrap();
86
+ return result;
87
+ } catch (error) {
88
+ throw error;
89
+ }
90
+ }, [dispatch, userId, oxyServices, singleUserData.isFollowing, isSingleUser]);
91
+ const setFollowStatus = useCallback(following => {
92
+ if (!isSingleUser || !userId) throw new Error('setFollowStatus is only available for single user mode');
93
+ dispatch(setFollowingStatus({
94
+ userId,
95
+ isFollowing: following
96
+ }));
97
+ }, [dispatch, userId, isSingleUser]);
98
+ const fetchStatus = useCallback(async () => {
99
+ if (!isSingleUser || !userId) throw new Error('fetchStatus is only available for single user mode');
100
+ try {
101
+ await dispatch(fetchFollowStatus({
102
+ userId,
103
+ oxyServices
104
+ })).unwrap();
105
+ } catch (error) {
106
+ console.warn(`Failed to fetch follow status for user ${userId}:`, error);
107
+ }
108
+ }, [dispatch, userId, oxyServices, isSingleUser]);
109
+ const clearError = useCallback(() => {
110
+ if (!isSingleUser || !userId) throw new Error('clearError is only available for single user mode');
111
+ dispatch(clearFollowError(userId));
112
+ }, [dispatch, userId, isSingleUser]);
113
+
114
+ // Multiple user callbacks
115
+ const toggleFollowForUser = useCallback(async targetUserId => {
116
+ const currentState = multipleUserData.followData[targetUserId]?.isFollowing ?? false;
117
+ try {
118
+ const result = await dispatch(toggleFollowUser({
119
+ userId: targetUserId,
120
+ oxyServices,
121
+ isCurrentlyFollowing: currentState
122
+ })).unwrap();
123
+ return result;
124
+ } catch (error) {
125
+ throw error;
126
+ }
127
+ }, [dispatch, oxyServices, multipleUserData.followData]);
128
+ const setFollowStatusForUser = useCallback((targetUserId, following) => {
129
+ dispatch(setFollowingStatus({
130
+ userId: targetUserId,
131
+ isFollowing: following
132
+ }));
133
+ }, [dispatch]);
134
+ const fetchStatusForUser = useCallback(async targetUserId => {
135
+ try {
136
+ await dispatch(fetchFollowStatus({
137
+ userId: targetUserId,
138
+ oxyServices
139
+ })).unwrap();
140
+ } catch (error) {
141
+ console.warn(`Failed to fetch follow status for user ${targetUserId}:`, error);
142
+ }
143
+ }, [dispatch, oxyServices]);
144
+ const fetchAllStatuses = useCallback(async () => {
145
+ const promises = userIds.map(uid => dispatch(fetchFollowStatus({
146
+ userId: uid,
147
+ oxyServices
148
+ })).unwrap().catch(error => {
149
+ console.warn(`Failed to fetch follow status for user ${uid}:`, error);
150
+ }));
151
+ await Promise.all(promises);
152
+ }, [dispatch, userIds, oxyServices]);
153
+ const clearErrorForUser = useCallback(targetUserId => {
154
+ dispatch(clearFollowError(targetUserId));
155
+ }, [dispatch]);
156
+
157
+ // Return appropriate interface based on mode
158
+ if (isSingleUser && userId) {
159
+ return {
160
+ isFollowing: singleUserData.isFollowing,
161
+ isLoading: singleUserData.isLoading,
162
+ error: singleUserData.error,
163
+ toggleFollow,
164
+ setFollowStatus,
165
+ fetchStatus,
166
+ clearError
167
+ };
168
+ }
169
+ return {
170
+ followData: multipleUserData.followData,
171
+ toggleFollowForUser,
172
+ setFollowStatusForUser,
173
+ fetchStatusForUser,
174
+ fetchAllStatuses,
175
+ clearErrorForUser,
176
+ // Helper methods
177
+ isAnyLoading: multipleUserData.isAnyLoading,
178
+ hasAnyError: multipleUserData.hasAnyError,
179
+ allFollowing: multipleUserData.allFollowing,
180
+ allNotFollowing: multipleUserData.allNotFollowing
181
+ };
182
+ };
183
+
184
+ // Backward compatibility alias
185
+ export const useFollow = useOxyFollow;
186
+ //# sourceMappingURL=useOxyFollow.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"names":["useDispatch","useSelector","useCallback","useMemo","toggleFollowUser","setFollowingStatus","clearFollowError","fetchFollowStatus","followSelectors","useOxy","createFollowSelector","userId","state","isFollowing","selectIsUserFollowed","isLoading","selectIsUserLoading","error","selectUserError","createMultipleFollowSelector","userIds","followData","followState","follow","isAnyLoading","some","uid","loadingUsers","hasAnyError","errors","allFollowing","every","followingUsers","allNotFollowing","useOxyFollow","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","useFollow"],"sourceRoot":"../../../../src","sources":["ui/hooks/useOxyFollow.ts"],"mappings":"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","ignoreList":[]}
@@ -16,7 +16,16 @@ export { FontLoader, setupFonts } from './components/FontLoader';
16
16
  export { OxyIcon } from './components/icon';
17
17
  export { OxyContextProvider, useOxy, OxyContextState, OxyContextProviderProps } from './context/OxyContext';
18
18
 
19
- // Redux store exports
19
+ // Redux store exports - NEW ARCHITECTURE
20
+ export { setupOxyStore, oxyReducers,
21
+ // Individual slices
22
+ authSlice, authActions, authSelectors, authReducer, followSlice, followActions, followSelectors, followThunks, followReducer,
23
+ // Action creators
24
+ loginStart, loginSuccess, loginFailure, logout, setFollowingStatus, clearFollowError, resetFollowState, fetchFollowStatus, toggleFollowUser,
25
+ // Types
26
+ AuthState, FollowState, initialAuthState, initialFollowState } from './store';
27
+
28
+ // Legacy store exports (deprecated)
20
29
  export { store } from './store';
21
30
  // Export styles
22
31
  export { fontFamilies, fontStyles } from './styles/fonts';
@@ -25,7 +34,8 @@ export { fontFamilies, fontStyles } from './styles/fonts';
25
34
  export * from './navigation/types';
26
35
 
27
36
  // Hooks
28
- export { useFollow } from './hooks';
37
+ export { useOxyFollow, useFollow } from './hooks';
38
+ export { default as useAuthFetch } from './hooks/useAuthFetch';
29
39
 
30
40
  // Screens
31
41
  export { default as ProfileScreen } from './screens/ProfileScreen';
@@ -1 +1 @@
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":[]}
1
+ {"version":3,"names":["default","OxyProvider","OxySignInButton","OxyLogo","Avatar","FollowButton","FontLoader","setupFonts","OxyIcon","OxyContextProvider","useOxy","OxyContextState","OxyContextProviderProps","setupOxyStore","oxyReducers","authSlice","authActions","authSelectors","authReducer","followSlice","followActions","followSelectors","followThunks","followReducer","loginStart","loginSuccess","loginFailure","logout","setFollowingStatus","clearFollowError","resetFollowState","fetchFollowStatus","toggleFollowUser","AuthState","FollowState","initialAuthState","initialFollowState","store","fontFamilies","fontStyles","useOxyFollow","useFollow","useAuthFetch","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,SACEC,aAAa,EACbC,WAAW;AACX;AACAC,SAAS,EACTC,WAAW,EACXC,aAAa,EACbC,WAAW,EACXC,WAAW,EACXC,aAAa,EACbC,eAAe,EACfC,YAAY,EACZC,aAAa;AACb;AACAC,UAAU,EACVC,YAAY,EACZC,YAAY,EACZC,MAAM,EACNC,kBAAkB,EAClBC,gBAAgB,EAChBC,gBAAgB,EAChBC,iBAAiB,EACjBC,gBAAgB;AAChB;AACAC,SAAS,EACTC,WAAW,EACXC,gBAAgB,EAChBC,kBAAkB,QACb,SAAS;;AAEhB;AACA,SAASC,KAAK,QAAQ,SAAS;AAG/B;AACA,SAASC,YAAY,EAAEC,UAAU,QAAQ,gBAAgB;;AAEzD;AACA,cAAc,oBAAoB;;AAElC;AACA,SAASC,YAAY,EAAEC,SAAS,QAAQ,SAAS;AACjD,SAASzC,OAAO,IAAI0C,YAAY,QAAQ,sBAAsB;;AAE9D;AACA,SAAS1C,OAAO,IAAI2C,aAAa,QAAQ,yBAAyB;;AAElE;AACA,SAAS3C,OAAO,IAAI4C,SAAS,QAAQ,wBAAwB","ignoreList":[]}
@@ -6,7 +6,11 @@ import { useOxy } from '../context/OxyContext';
6
6
  import { packageInfo } from '../../constants/version';
7
7
  import { toast } from '../../lib/sonner';
8
8
  import { fontFamilies } from '../styles/fonts';
9
- import { ProfileCard, Section, QuickActions, GroupedSection, GroupedItem } from '../components';
9
+ import ProfileCard from '../components/ProfileCard';
10
+ import Section from '../components/Section';
11
+ import QuickActions from '../components/QuickActions';
12
+ import GroupedSection from '../components/GroupedSection';
13
+ import GroupedItem from '../components/GroupedItem';
10
14
  import { jsx as _jsx, jsxs as _jsxs } from "react/jsx-runtime";
11
15
  const AccountCenterScreen = ({
12
16
  onClose,
@@ -1 +1 @@
1
- {"version":3,"names":["React","View","Text","StyleSheet","ActivityIndicator","ScrollView","Alert","Platform","useOxy","packageInfo","toast","fontFamilies","ProfileCard","Section","QuickActions","GroupedSection","GroupedItem","jsx","_jsx","jsxs","_jsxs","AccountCenterScreen","onClose","theme","navigate","user","logout","isLoading","sessions","isAuthenticated","isDarkTheme","textColor","backgroundColor","secondaryBackgroundColor","borderColor","primaryColor","dangerColor","handleLogout","error","console","confirmLogout","alert","text","style","onPress","cancelable","styles","container","children","message","color","justifyContent","size","onEditPress","activeTab","onClosePress","showCloseButton","scrollView","contentContainerStyle","scrollContainer","showsVerticalScrollIndicator","title","isFirst","actions","id","icon","iconColor","isPremium","length","items","subtitle","OS","info","isLast","showChevron","disabled","customContent","marginRight","versionContainer","versionText","version","create","flex","padding","paddingBottom","alignItems","marginTop","marginBottom","fontSize","fontFamily","phudu","textAlign"],"sourceRoot":"../../../../src","sources":["ui/screens/AccountCenterScreen.tsx"],"mappings":"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","ignoreList":[]}
1
+ {"version":3,"names":["React","View","Text","StyleSheet","ActivityIndicator","ScrollView","Alert","Platform","useOxy","packageInfo","toast","fontFamilies","ProfileCard","Section","QuickActions","GroupedSection","GroupedItem","jsx","_jsx","jsxs","_jsxs","AccountCenterScreen","onClose","theme","navigate","user","logout","isLoading","sessions","isAuthenticated","isDarkTheme","textColor","backgroundColor","secondaryBackgroundColor","borderColor","primaryColor","dangerColor","handleLogout","error","console","confirmLogout","alert","text","style","onPress","cancelable","styles","container","children","message","color","justifyContent","size","onEditPress","activeTab","onClosePress","showCloseButton","scrollView","contentContainerStyle","scrollContainer","showsVerticalScrollIndicator","title","isFirst","actions","id","icon","iconColor","isPremium","length","items","subtitle","OS","info","isLast","showChevron","disabled","customContent","marginRight","versionContainer","versionText","version","create","flex","padding","paddingBottom","alignItems","marginTop","marginBottom","fontSize","fontFamily","phudu","textAlign"],"sourceRoot":"../../../../src","sources":["ui/screens/AccountCenterScreen.tsx"],"mappings":"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","ignoreList":[]}