@oxyhq/services 5.8.1 → 5.8.2
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.
- package/lib/commonjs/index.js +9 -27
- package/lib/commonjs/index.js.map +1 -1
- package/lib/commonjs/node/createAuth.js +7 -585
- package/lib/commonjs/node/createAuth.js.map +1 -1
- package/lib/commonjs/node/index.js +1 -38
- package/lib/commonjs/node/index.js.map +1 -1
- package/lib/commonjs/ui/components/FollowButton.js +100 -12
- package/lib/commonjs/ui/components/FollowButton.js.map +1 -1
- package/lib/commonjs/ui/components/Header.js +40 -6
- package/lib/commonjs/ui/components/Header.js.map +1 -1
- package/lib/commonjs/ui/components/OxyProvider.js +5 -0
- package/lib/commonjs/ui/components/OxyProvider.js.map +1 -1
- package/lib/commonjs/ui/context/OxyContext.js +63 -125
- package/lib/commonjs/ui/context/OxyContext.js.map +1 -1
- package/lib/commonjs/ui/hooks/index.js +6 -0
- package/lib/commonjs/ui/hooks/index.js.map +1 -1
- package/lib/commonjs/ui/hooks/useFollow.js +59 -2
- package/lib/commonjs/ui/hooks/useFollow.js.map +1 -1
- package/lib/commonjs/ui/navigation/OxyRouter.js +10 -0
- package/lib/commonjs/ui/navigation/OxyRouter.js.map +1 -1
- package/lib/commonjs/ui/screens/AccountSettingsScreen.js +9 -0
- package/lib/commonjs/ui/screens/AccountSettingsScreen.js.map +1 -1
- package/lib/commonjs/ui/screens/ProfileScreen.js +214 -37
- package/lib/commonjs/ui/screens/ProfileScreen.js.map +1 -1
- package/lib/commonjs/ui/screens/UserLinksScreen.js +90 -0
- package/lib/commonjs/ui/screens/UserLinksScreen.js.map +1 -0
- package/lib/commonjs/ui/screens/karma/KarmaAboutScreen.js +9 -6
- package/lib/commonjs/ui/screens/karma/KarmaAboutScreen.js.map +1 -1
- package/lib/commonjs/ui/screens/karma/KarmaCenterScreen.js +3 -30
- package/lib/commonjs/ui/screens/karma/KarmaCenterScreen.js.map +1 -1
- package/lib/commonjs/ui/screens/karma/KarmaFAQScreen.js +37 -46
- package/lib/commonjs/ui/screens/karma/KarmaFAQScreen.js.map +1 -1
- package/lib/commonjs/ui/screens/karma/KarmaLeaderboardScreen.js +9 -12
- package/lib/commonjs/ui/screens/karma/KarmaLeaderboardScreen.js.map +1 -1
- package/lib/commonjs/ui/screens/karma/KarmaRewardsScreen.js +9 -12
- package/lib/commonjs/ui/screens/karma/KarmaRewardsScreen.js.map +1 -1
- package/lib/commonjs/ui/screens/karma/KarmaRulesScreen.js +9 -12
- package/lib/commonjs/ui/screens/karma/KarmaRulesScreen.js.map +1 -1
- package/lib/commonjs/ui/stores/authStore.js +24 -6
- package/lib/commonjs/ui/stores/authStore.js.map +1 -1
- package/lib/commonjs/ui/stores/followStore.js +106 -1
- package/lib/commonjs/ui/stores/followStore.js.map +1 -1
- package/lib/module/index.js +1 -3
- package/lib/module/index.js.map +1 -1
- package/lib/module/node/createAuth.js +7 -584
- package/lib/module/node/createAuth.js.map +1 -1
- package/lib/module/node/index.js +1 -7
- package/lib/module/node/index.js.map +1 -1
- package/lib/module/ui/components/FollowButton.js +101 -13
- package/lib/module/ui/components/FollowButton.js.map +1 -1
- package/lib/module/ui/components/Header.js +40 -6
- package/lib/module/ui/components/Header.js.map +1 -1
- package/lib/module/ui/components/OxyProvider.js +5 -0
- package/lib/module/ui/components/OxyProvider.js.map +1 -1
- package/lib/module/ui/context/OxyContext.js +63 -125
- package/lib/module/ui/context/OxyContext.js.map +1 -1
- package/lib/module/ui/hooks/index.js +1 -1
- package/lib/module/ui/hooks/index.js.map +1 -1
- package/lib/module/ui/hooks/useFollow.js +57 -1
- package/lib/module/ui/hooks/useFollow.js.map +1 -1
- package/lib/module/ui/navigation/OxyRouter.js +10 -0
- package/lib/module/ui/navigation/OxyRouter.js.map +1 -1
- package/lib/module/ui/screens/AccountSettingsScreen.js +9 -0
- package/lib/module/ui/screens/AccountSettingsScreen.js.map +1 -1
- package/lib/module/ui/screens/ProfileScreen.js +214 -37
- package/lib/module/ui/screens/ProfileScreen.js.map +1 -1
- package/lib/module/ui/screens/UserLinksScreen.js +85 -0
- package/lib/module/ui/screens/UserLinksScreen.js.map +1 -0
- package/lib/module/ui/screens/karma/KarmaAboutScreen.js +9 -6
- package/lib/module/ui/screens/karma/KarmaAboutScreen.js.map +1 -1
- package/lib/module/ui/screens/karma/KarmaCenterScreen.js +3 -30
- package/lib/module/ui/screens/karma/KarmaCenterScreen.js.map +1 -1
- package/lib/module/ui/screens/karma/KarmaFAQScreen.js +37 -46
- package/lib/module/ui/screens/karma/KarmaFAQScreen.js.map +1 -1
- package/lib/module/ui/screens/karma/KarmaLeaderboardScreen.js +9 -12
- package/lib/module/ui/screens/karma/KarmaLeaderboardScreen.js.map +1 -1
- package/lib/module/ui/screens/karma/KarmaRewardsScreen.js +9 -12
- package/lib/module/ui/screens/karma/KarmaRewardsScreen.js.map +1 -1
- package/lib/module/ui/screens/karma/KarmaRulesScreen.js +9 -12
- package/lib/module/ui/screens/karma/KarmaRulesScreen.js.map +1 -1
- package/lib/module/ui/stores/authStore.js +24 -6
- package/lib/module/ui/stores/authStore.js.map +1 -1
- package/lib/module/ui/stores/followStore.js +106 -1
- package/lib/module/ui/stores/followStore.js.map +1 -1
- package/lib/typescript/index.d.ts +1 -1
- package/lib/typescript/index.d.ts.map +1 -1
- package/lib/typescript/node/createAuth.d.ts +0 -112
- package/lib/typescript/node/createAuth.d.ts.map +1 -1
- package/lib/typescript/node/index.d.ts +0 -2
- package/lib/typescript/node/index.d.ts.map +1 -1
- package/lib/typescript/ui/components/FollowButton.d.ts +1 -0
- package/lib/typescript/ui/components/FollowButton.d.ts.map +1 -1
- package/lib/typescript/ui/components/Header.d.ts +2 -0
- package/lib/typescript/ui/components/Header.d.ts.map +1 -1
- package/lib/typescript/ui/components/OxyProvider.d.ts.map +1 -1
- package/lib/typescript/ui/context/OxyContext.d.ts.map +1 -1
- package/lib/typescript/ui/hooks/index.d.ts +1 -1
- package/lib/typescript/ui/hooks/index.d.ts.map +1 -1
- package/lib/typescript/ui/hooks/useFollow.d.ts +20 -0
- package/lib/typescript/ui/hooks/useFollow.d.ts.map +1 -1
- package/lib/typescript/ui/navigation/OxyRouter.d.ts.map +1 -1
- package/lib/typescript/ui/screens/AccountSettingsScreen.d.ts.map +1 -1
- package/lib/typescript/ui/screens/ProfileScreen.d.ts.map +1 -1
- package/lib/typescript/ui/screens/UserLinksScreen.d.ts +15 -0
- package/lib/typescript/ui/screens/UserLinksScreen.d.ts.map +1 -0
- package/lib/typescript/ui/screens/karma/KarmaAboutScreen.d.ts.map +1 -1
- package/lib/typescript/ui/screens/karma/KarmaCenterScreen.d.ts.map +1 -1
- package/lib/typescript/ui/screens/karma/KarmaFAQScreen.d.ts.map +1 -1
- package/lib/typescript/ui/screens/karma/KarmaLeaderboardScreen.d.ts.map +1 -1
- package/lib/typescript/ui/screens/karma/KarmaRewardsScreen.d.ts.map +1 -1
- package/lib/typescript/ui/screens/karma/KarmaRulesScreen.d.ts.map +1 -1
- package/lib/typescript/ui/stores/authStore.d.ts +3 -1
- package/lib/typescript/ui/stores/authStore.d.ts.map +1 -1
- package/lib/typescript/ui/stores/followStore.d.ts +10 -0
- package/lib/typescript/ui/stores/followStore.d.ts.map +1 -1
- package/package.json +1 -1
- package/src/index.ts +2 -10
- package/src/node/createAuth.ts +7 -623
- package/src/node/index.ts +1 -19
- package/src/ui/components/FollowButton.tsx +95 -11
- package/src/ui/components/Header.tsx +45 -4
- package/src/ui/components/OxyProvider.tsx +6 -0
- package/src/ui/context/OxyContext.tsx +65 -136
- package/src/ui/hooks/index.ts +1 -1
- package/src/ui/hooks/useFollow.ts +63 -0
- package/src/ui/navigation/OxyRouter.tsx +10 -0
- package/src/ui/screens/AccountSettingsScreen.tsx +8 -0
- package/src/ui/screens/ProfileScreen.tsx +191 -28
- package/src/ui/screens/UserLinksScreen.tsx +96 -0
- package/src/ui/screens/karma/KarmaAboutScreen.tsx +9 -2
- package/src/ui/screens/karma/KarmaCenterScreen.tsx +1 -20
- package/src/ui/screens/karma/KarmaFAQScreen.tsx +40 -24
- package/src/ui/screens/karma/KarmaLeaderboardScreen.tsx +9 -3
- package/src/ui/screens/karma/KarmaRewardsScreen.tsx +9 -3
- package/src/ui/screens/karma/KarmaRulesScreen.tsx +9 -3
- package/src/ui/stores/authStore.ts +22 -7
- package/src/ui/stores/followStore.ts +102 -1
|
@@ -59,9 +59,7 @@ const getStorage = async () => {
|
|
|
59
59
|
|
|
60
60
|
// Storage keys for secure sessions
|
|
61
61
|
const getSecureStorageKeys = (prefix = 'oxy_secure') => ({
|
|
62
|
-
|
|
63
|
-
// Array of SecureClientSession objects
|
|
64
|
-
activeSessionId: `${prefix}_active_session_id` // ID of currently active session
|
|
62
|
+
activeSessionId: `${prefix}_active_session_id` // Only store the active session ID
|
|
65
63
|
});
|
|
66
64
|
export const OxyProvider = ({
|
|
67
65
|
children,
|
|
@@ -123,7 +121,7 @@ export const OxyProvider = ({
|
|
|
123
121
|
initStorage();
|
|
124
122
|
}, []);
|
|
125
123
|
|
|
126
|
-
// Effect to initialize authentication state
|
|
124
|
+
// Effect to initialize authentication state - only store session ID
|
|
127
125
|
useEffect(() => {
|
|
128
126
|
const initAuth = async () => {
|
|
129
127
|
if (!storage) return;
|
|
@@ -131,79 +129,49 @@ export const OxyProvider = ({
|
|
|
131
129
|
isLoading: true
|
|
132
130
|
});
|
|
133
131
|
try {
|
|
134
|
-
//
|
|
135
|
-
const sessionsData = await storage.getItem(keys.sessions);
|
|
132
|
+
// Only load the active session ID from storage
|
|
136
133
|
const storedActiveSessionId = await storage.getItem(keys.activeSessionId);
|
|
137
|
-
console.log('SecureAuth - sessionsData:', sessionsData);
|
|
138
134
|
console.log('SecureAuth - activeSessionId:', storedActiveSessionId);
|
|
139
|
-
if (
|
|
140
|
-
|
|
141
|
-
|
|
142
|
-
|
|
143
|
-
|
|
144
|
-
|
|
145
|
-
|
|
146
|
-
|
|
147
|
-
//
|
|
148
|
-
|
|
149
|
-
|
|
150
|
-
|
|
151
|
-
|
|
152
|
-
|
|
153
|
-
|
|
154
|
-
|
|
155
|
-
|
|
156
|
-
|
|
157
|
-
|
|
158
|
-
|
|
159
|
-
|
|
135
|
+
if (storedActiveSessionId) {
|
|
136
|
+
// Validate the stored session with the backend
|
|
137
|
+
try {
|
|
138
|
+
const validation = await oxyServices.validateSession(storedActiveSessionId);
|
|
139
|
+
if (validation.valid) {
|
|
140
|
+
console.log('SecureAuth - session validated successfully');
|
|
141
|
+
setActiveSessionId(storedActiveSessionId);
|
|
142
|
+
|
|
143
|
+
// Get access token for API calls
|
|
144
|
+
await oxyServices.getTokenBySession(storedActiveSessionId);
|
|
145
|
+
|
|
146
|
+
// Load full user data from backend
|
|
147
|
+
const fullUser = await oxyServices.getUserBySession(storedActiveSessionId);
|
|
148
|
+
loginSuccess(fullUser);
|
|
149
|
+
setMinimalUser({
|
|
150
|
+
id: fullUser.id,
|
|
151
|
+
username: fullUser.username,
|
|
152
|
+
avatar: fullUser.avatar
|
|
153
|
+
});
|
|
154
|
+
|
|
155
|
+
// Load sessions from backend
|
|
156
|
+
const serverSessions = await oxyServices.getSessionsBySessionId(storedActiveSessionId);
|
|
157
|
+
const clientSessions = serverSessions.map(serverSession => ({
|
|
158
|
+
sessionId: serverSession.sessionId,
|
|
159
|
+
deviceId: serverSession.deviceId,
|
|
160
|
+
expiresAt: serverSession.expiresAt || new Date().toISOString(),
|
|
161
|
+
lastActive: serverSession.lastActive || new Date().toISOString(),
|
|
162
|
+
userId: serverSession.userId || fullUser.id
|
|
163
|
+
}));
|
|
164
|
+
setSessions(clientSessions);
|
|
165
|
+
if (onAuthStateChange) {
|
|
166
|
+
onAuthStateChange(fullUser);
|
|
160
167
|
}
|
|
161
168
|
} else {
|
|
162
|
-
|
|
163
|
-
|
|
164
|
-
}
|
|
165
|
-
}
|
|
166
|
-
|
|
167
|
-
// Update storage if we made changes
|
|
168
|
-
if (shouldUpdateStorage) {
|
|
169
|
-
await saveSessionsToStorage(migratedSessions);
|
|
170
|
-
}
|
|
171
|
-
setSessions(migratedSessions);
|
|
172
|
-
if (storedActiveSessionId && migratedSessions.length > 0) {
|
|
173
|
-
const activeSession = migratedSessions.find(s => s.sessionId === storedActiveSessionId);
|
|
174
|
-
if (activeSession) {
|
|
175
|
-
console.log('SecureAuth - activeSession found:', activeSession);
|
|
176
|
-
|
|
177
|
-
// Validate session
|
|
178
|
-
try {
|
|
179
|
-
const validation = await oxyServices.validateSession(activeSession.sessionId);
|
|
180
|
-
if (validation.valid) {
|
|
181
|
-
console.log('SecureAuth - session validated successfully');
|
|
182
|
-
setActiveSessionId(activeSession.sessionId);
|
|
183
|
-
|
|
184
|
-
// Get access token for API calls
|
|
185
|
-
await oxyServices.getTokenBySession(activeSession.sessionId);
|
|
186
|
-
|
|
187
|
-
// Load full user data
|
|
188
|
-
const fullUser = await oxyServices.getUserBySession(activeSession.sessionId);
|
|
189
|
-
loginSuccess(fullUser);
|
|
190
|
-
setMinimalUser({
|
|
191
|
-
id: fullUser.id,
|
|
192
|
-
username: fullUser.username,
|
|
193
|
-
avatar: fullUser.avatar
|
|
194
|
-
});
|
|
195
|
-
if (onAuthStateChange) {
|
|
196
|
-
onAuthStateChange(fullUser);
|
|
197
|
-
}
|
|
198
|
-
} else {
|
|
199
|
-
console.log('SecureAuth - session invalid, removing');
|
|
200
|
-
await removeInvalidSession(activeSession.sessionId);
|
|
201
|
-
}
|
|
202
|
-
} catch (error) {
|
|
203
|
-
console.error('SecureAuth - session validation error:', error);
|
|
204
|
-
await removeInvalidSession(activeSession.sessionId);
|
|
205
|
-
}
|
|
169
|
+
console.log('SecureAuth - session invalid, clearing storage');
|
|
170
|
+
await clearAllStorage();
|
|
206
171
|
}
|
|
172
|
+
} catch (error) {
|
|
173
|
+
console.error('SecureAuth - session validation error:', error);
|
|
174
|
+
await clearAllStorage();
|
|
207
175
|
}
|
|
208
176
|
}
|
|
209
177
|
} catch (err) {
|
|
@@ -218,13 +186,13 @@ export const OxyProvider = ({
|
|
|
218
186
|
if (storage) {
|
|
219
187
|
initAuth();
|
|
220
188
|
}
|
|
221
|
-
}, [storage, oxyServices, keys, onAuthStateChange]);
|
|
189
|
+
}, [storage, oxyServices, keys, onAuthStateChange, loginSuccess, setMinimalUser]);
|
|
222
190
|
|
|
223
|
-
// Remove invalid session
|
|
191
|
+
// Remove invalid session - refresh sessions from backend
|
|
224
192
|
const removeInvalidSession = useCallback(async sessionId => {
|
|
193
|
+
// Remove from local state
|
|
225
194
|
const filteredSessions = sessions.filter(s => s.sessionId !== sessionId);
|
|
226
195
|
setSessions(filteredSessions);
|
|
227
|
-
await saveSessionsToStorage(filteredSessions);
|
|
228
196
|
|
|
229
197
|
// If there are other sessions, switch to the first one
|
|
230
198
|
if (filteredSessions.length > 0) {
|
|
@@ -241,13 +209,7 @@ export const OxyProvider = ({
|
|
|
241
209
|
}
|
|
242
210
|
}, [sessions, storage, keys, onAuthStateChange, logoutStore]);
|
|
243
211
|
|
|
244
|
-
// Save
|
|
245
|
-
const saveSessionsToStorage = useCallback(async sessionsList => {
|
|
246
|
-
if (!storage) return;
|
|
247
|
-
await storage.setItem(keys.sessions, JSON.stringify(sessionsList));
|
|
248
|
-
}, [storage, keys.sessions]);
|
|
249
|
-
|
|
250
|
-
// Save active session ID to storage
|
|
212
|
+
// Save active session ID to storage (only session ID, no user data)
|
|
251
213
|
const saveActiveSessionId = useCallback(async sessionId => {
|
|
252
214
|
if (!storage) return;
|
|
253
215
|
await storage.setItem(keys.activeSessionId, sessionId);
|
|
@@ -257,7 +219,6 @@ export const OxyProvider = ({
|
|
|
257
219
|
const clearAllStorage = useCallback(async () => {
|
|
258
220
|
if (!storage) return;
|
|
259
221
|
try {
|
|
260
|
-
await storage.removeItem(keys.sessions);
|
|
261
222
|
await storage.removeItem(keys.activeSessionId);
|
|
262
223
|
} catch (err) {
|
|
263
224
|
console.error('Clear secure storage error:', err);
|
|
@@ -299,7 +260,7 @@ export const OxyProvider = ({
|
|
|
299
260
|
}
|
|
300
261
|
}, [oxyServices, onAuthStateChange, loginSuccess, saveActiveSessionId]);
|
|
301
262
|
|
|
302
|
-
// Secure login method
|
|
263
|
+
// Secure login method - only store session ID, retrieve data from backend
|
|
303
264
|
const login = useCallback(async (username, password, deviceName) => {
|
|
304
265
|
if (!storage) throw new Error('Storage not initialized');
|
|
305
266
|
useAuthStore.setState({
|
|
@@ -316,49 +277,28 @@ export const OxyProvider = ({
|
|
|
316
277
|
console.log('SecureAuth - Using device ID:', deviceInfo.deviceId);
|
|
317
278
|
const response = await oxyServices.secureLogin(username, password, deviceName || deviceInfo.deviceName || DeviceManager.getDefaultDeviceName(), deviceFingerprint);
|
|
318
279
|
|
|
319
|
-
//
|
|
320
|
-
const clientSession = {
|
|
321
|
-
sessionId: response.sessionId,
|
|
322
|
-
deviceId: response.deviceId,
|
|
323
|
-
expiresAt: response.expiresAt,
|
|
324
|
-
lastActive: new Date().toISOString(),
|
|
325
|
-
userId: response.user.id
|
|
326
|
-
};
|
|
327
|
-
|
|
328
|
-
// Check if this user already has a session (prevent duplicate accounts)
|
|
329
|
-
const existingUserSessionIndex = sessions.findIndex(s => s.userId === response.user.id);
|
|
330
|
-
let updatedSessions;
|
|
331
|
-
if (existingUserSessionIndex !== -1) {
|
|
332
|
-
// User already has a session - replace it with the new one (reused session scenario)
|
|
333
|
-
const existingSession = sessions[existingUserSessionIndex];
|
|
334
|
-
updatedSessions = [...sessions];
|
|
335
|
-
updatedSessions[existingUserSessionIndex] = clientSession;
|
|
336
|
-
console.log(`Reusing/updating existing session for user ${response.user.id}. Previous session: ${existingSession.sessionId}, New session: ${response.sessionId}`);
|
|
337
|
-
|
|
338
|
-
// If the replaced session was the active one, update active session
|
|
339
|
-
if (activeSessionId === existingSession.sessionId) {
|
|
340
|
-
setActiveSessionId(response.sessionId);
|
|
341
|
-
await saveActiveSessionId(response.sessionId);
|
|
342
|
-
}
|
|
343
|
-
} else {
|
|
344
|
-
// Add new session for new user
|
|
345
|
-
updatedSessions = [...sessions, clientSession];
|
|
346
|
-
console.log(`Added new session for user ${response.user.id} on device ${response.deviceId}`);
|
|
347
|
-
}
|
|
348
|
-
setSessions(updatedSessions);
|
|
349
|
-
await saveSessionsToStorage(updatedSessions);
|
|
350
|
-
|
|
351
|
-
// Set as active session
|
|
280
|
+
// Set as active session (only store session ID)
|
|
352
281
|
setActiveSessionId(response.sessionId);
|
|
353
282
|
await saveActiveSessionId(response.sessionId);
|
|
354
283
|
|
|
355
284
|
// Get access token for API calls
|
|
356
285
|
await oxyServices.getTokenBySession(response.sessionId);
|
|
357
286
|
|
|
358
|
-
// Load full user data
|
|
287
|
+
// Load full user data from backend
|
|
359
288
|
const fullUser = await oxyServices.getUserBySession(response.sessionId);
|
|
360
289
|
loginSuccess(fullUser);
|
|
361
290
|
setMinimalUser(response.user);
|
|
291
|
+
|
|
292
|
+
// Load sessions from backend
|
|
293
|
+
const serverSessions = await oxyServices.getSessionsBySessionId(response.sessionId);
|
|
294
|
+
const clientSessions = serverSessions.map(serverSession => ({
|
|
295
|
+
sessionId: serverSession.sessionId,
|
|
296
|
+
deviceId: serverSession.deviceId,
|
|
297
|
+
expiresAt: serverSession.expiresAt || new Date().toISOString(),
|
|
298
|
+
lastActive: serverSession.lastActive || new Date().toISOString(),
|
|
299
|
+
userId: serverSession.userId || fullUser.id
|
|
300
|
+
}));
|
|
301
|
+
setSessions(clientSessions);
|
|
362
302
|
if (onAuthStateChange) {
|
|
363
303
|
onAuthStateChange(fullUser);
|
|
364
304
|
}
|
|
@@ -371,7 +311,7 @@ export const OxyProvider = ({
|
|
|
371
311
|
isLoading: false
|
|
372
312
|
});
|
|
373
313
|
}
|
|
374
|
-
}, [storage, oxyServices,
|
|
314
|
+
}, [storage, oxyServices, saveActiveSessionId, loginSuccess, setMinimalUser, onAuthStateChange, loginFailure]);
|
|
375
315
|
|
|
376
316
|
// Logout method
|
|
377
317
|
const logout = useCallback(async targetSessionId => {
|
|
@@ -380,10 +320,9 @@ export const OxyProvider = ({
|
|
|
380
320
|
const sessionToLogout = targetSessionId || activeSessionId;
|
|
381
321
|
await oxyServices.logoutSecureSession(activeSessionId, sessionToLogout);
|
|
382
322
|
|
|
383
|
-
// Remove session from local
|
|
323
|
+
// Remove session from local state
|
|
384
324
|
const filteredSessions = sessions.filter(s => s.sessionId !== sessionToLogout);
|
|
385
325
|
setSessions(filteredSessions);
|
|
386
|
-
await saveSessionsToStorage(filteredSessions);
|
|
387
326
|
|
|
388
327
|
// If logging out active session
|
|
389
328
|
if (sessionToLogout === activeSessionId) {
|
|
@@ -407,7 +346,7 @@ export const OxyProvider = ({
|
|
|
407
346
|
error: 'Logout failed'
|
|
408
347
|
});
|
|
409
348
|
}
|
|
410
|
-
}, [activeSessionId, oxyServices, sessions,
|
|
349
|
+
}, [activeSessionId, oxyServices, sessions, switchToSession, logoutStore, setMinimalUser, storage, keys.activeSessionId, onAuthStateChange]);
|
|
411
350
|
|
|
412
351
|
// Logout all sessions
|
|
413
352
|
const logoutAll = useCallback(async () => {
|
|
@@ -529,8 +468,7 @@ export const OxyProvider = ({
|
|
|
529
468
|
}));
|
|
530
469
|
console.log('refreshSessions: Updated sessions:', updatedSessions);
|
|
531
470
|
setSessions(updatedSessions);
|
|
532
|
-
|
|
533
|
-
console.log('refreshSessions: Sessions saved to storage');
|
|
471
|
+
console.log('refreshSessions: Sessions updated in state');
|
|
534
472
|
} catch (error) {
|
|
535
473
|
console.error('Refresh sessions error:', error);
|
|
536
474
|
|
|
@@ -563,7 +501,7 @@ export const OxyProvider = ({
|
|
|
563
501
|
onAuthStateChange(null);
|
|
564
502
|
}
|
|
565
503
|
}
|
|
566
|
-
}, [activeSessionId, oxyServices, user?.id, sessions,
|
|
504
|
+
}, [activeSessionId, oxyServices, user?.id, sessions, switchToSession, logoutStore, setMinimalUser, clearAllStorage, onAuthStateChange]);
|
|
567
505
|
|
|
568
506
|
// Device management methods
|
|
569
507
|
const getDeviceSessions = useCallback(async () => {
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"names":["React","createContext","useContext","useEffect","useCallback","useMemo","useRef","OxyServices","DeviceManager","useSessionSocket","toast","useAuthStore","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","OxyProvider","children","oxyServices","providedOxyServices","baseURL","storageKeyPrefix","onAuthStateChange","onError","bottomSheetRef","oxyServicesRef","current","user","state","isAuthenticated","isLoading","loginSuccess","loginFailure","logoutStore","logout","minimalUser","setMinimalUser","useState","setSessions","setActiveSessionId","storage","setStorage","tokenReady","setTokenReady","keys","initStorage","platformStorage","setState","initAuth","sessionsData","storedActiveSessionId","log","parsedSessions","JSON","parse","migratedSessions","shouldUpdateStorage","session","userId","sessionUser","getUserBySession","sessionId","push","id","saveSessionsToStorage","length","activeSession","find","s","validation","validateSession","valid","getTokenBySession","fullUser","username","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","targetSessionId","sessionToLogout","logoutSecureSession","logoutAll","logoutAllSecureSessions","restoreToken","signUp","email","switchSession","removeSession","refreshSessions","serverSessions","getSessionsBySessionId","map","serverSession","otherSessions","sessionError","getDeviceSessions","logoutAllDeviceSessions","updateDeviceName","showBottomSheet","screenOrConfig","expand","present","warn","Object","setTimeout","_navigateToScreen","screen","props","hideBottomSheet","dismiss","getBaseURL","onRemoteSignOut","info","contextValue","Provider","OxyContextProvider","useOxy","context"],"sourceRoot":"../../../../src","sources":["ui/context/OxyContext.tsx"],"mappings":"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","ignoreList":[]}
|
|
1
|
+
{"version":3,"names":["React","createContext","useContext","useEffect","useCallback","useMemo","useRef","OxyServices","DeviceManager","useSessionSocket","toast","useAuthStore","jsx","_jsx","OxyContext","WebStorage","getItem","key","localStorage","setItem","value","removeItem","clear","AsyncStorage","isReactNative","navigator","product","getStorage","asyncStorageModule","default","error","console","Error","getSecureStorageKeys","prefix","activeSessionId","OxyProvider","children","oxyServices","providedOxyServices","baseURL","storageKeyPrefix","onAuthStateChange","onError","bottomSheetRef","oxyServicesRef","current","user","state","isAuthenticated","isLoading","loginSuccess","loginFailure","logoutStore","logout","minimalUser","setMinimalUser","useState","sessions","setSessions","setActiveSessionId","storage","setStorage","tokenReady","setTokenReady","keys","initStorage","platformStorage","setState","initAuth","storedActiveSessionId","log","validation","validateSession","valid","getTokenBySession","fullUser","getUserBySession","id","username","avatar","serverSessions","getSessionsBySessionId","clientSessions","map","serverSession","sessionId","deviceId","expiresAt","Date","toISOString","lastActive","userId","clearAllStorage","err","removeInvalidSession","filteredSessions","filter","s","length","switchToSession","saveActiveSessionId","login","password","deviceName","deviceFingerprint","getDeviceFingerprint","deviceInfo","getDeviceInfo","response","secureLogin","getDefaultDeviceName","message","targetSessionId","sessionToLogout","logoutSecureSession","logoutAll","logoutAllSecureSessions","restoreToken","signUp","email","switchSession","removeSession","refreshSessions","updatedSessions","otherSessions","session","sessionError","getDeviceSessions","logoutAllDeviceSessions","updateDeviceName","showBottomSheet","screenOrConfig","expand","present","warn","Object","setTimeout","_navigateToScreen","screen","props","hideBottomSheet","dismiss","getBaseURL","onRemoteSignOut","info","contextValue","Provider","OxyContextProvider","useOxy","context"],"sourceRoot":"../../../../src","sources":["ui/context/OxyContext.tsx"],"mappings":"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","ignoreList":[]}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"names":["useFollow"],"sourceRoot":"../../../../src","sources":["ui/hooks/index.ts"],"mappings":";;AAAA,SAASA,SAAS,QAAQ,aAAa","ignoreList":[]}
|
|
1
|
+
{"version":3,"names":["useFollow","useFollowerCounts"],"sourceRoot":"../../../../src","sources":["ui/hooks/index.ts"],"mappings":";;AAAA,SAASA,SAAS,EAAEC,iBAAiB,QAAQ,aAAa","ignoreList":[]}
|
|
@@ -17,6 +17,11 @@ export const useFollow = userId => {
|
|
|
17
17
|
const isFollowing = isSingleUser && userId ? followState.followingUsers[userId] ?? false : false;
|
|
18
18
|
const isLoading = isSingleUser && userId ? followState.loadingUsers[userId] ?? false : false;
|
|
19
19
|
const error = isSingleUser && userId ? followState.errors[userId] ?? null : null;
|
|
20
|
+
|
|
21
|
+
// Follower count helpers
|
|
22
|
+
const followerCount = isSingleUser && userId ? followState.followerCounts[userId] ?? null : null;
|
|
23
|
+
const followingCount = isSingleUser && userId ? followState.followingCounts[userId] ?? null : null;
|
|
24
|
+
const isLoadingCounts = isSingleUser && userId ? followState.loadingCounts[userId] ?? false : false;
|
|
20
25
|
const toggleFollow = useCallback(async () => {
|
|
21
26
|
if (!isSingleUser || !userId) throw new Error('toggleFollow is only available for single user mode');
|
|
22
27
|
await followState.toggleFollowUser(userId, oxyServices, isFollowing);
|
|
@@ -33,6 +38,18 @@ export const useFollow = userId => {
|
|
|
33
38
|
if (!isSingleUser || !userId) throw new Error('clearError is only available for single user mode');
|
|
34
39
|
followState.clearFollowError(userId);
|
|
35
40
|
}, [isSingleUser, userId, followState]);
|
|
41
|
+
const fetchUserCounts = useCallback(async () => {
|
|
42
|
+
if (!isSingleUser || !userId) throw new Error('fetchUserCounts is only available for single user mode');
|
|
43
|
+
await followState.fetchUserCounts(userId, oxyServices);
|
|
44
|
+
}, [isSingleUser, userId, followState, oxyServices]);
|
|
45
|
+
const setFollowerCount = useCallback(count => {
|
|
46
|
+
if (!isSingleUser || !userId) throw new Error('setFollowerCount is only available for single user mode');
|
|
47
|
+
followState.setFollowerCount(userId, count);
|
|
48
|
+
}, [isSingleUser, userId, followState]);
|
|
49
|
+
const setFollowingCount = useCallback(count => {
|
|
50
|
+
if (!isSingleUser || !userId) throw new Error('setFollowingCount is only available for single user mode');
|
|
51
|
+
followState.setFollowingCount(userId, count);
|
|
52
|
+
}, [isSingleUser, userId, followState]);
|
|
36
53
|
|
|
37
54
|
// Multiple user helpers
|
|
38
55
|
const followData = useMemo(() => {
|
|
@@ -62,6 +79,10 @@ export const useFollow = userId => {
|
|
|
62
79
|
const clearErrorForUser = useCallback(targetUserId => {
|
|
63
80
|
followState.clearFollowError(targetUserId);
|
|
64
81
|
}, [followState]);
|
|
82
|
+
const updateCountsFromFollowAction = useCallback((targetUserId, action, counts) => {
|
|
83
|
+
const currentUserId = oxyServices.getCurrentUserId() || undefined;
|
|
84
|
+
followState.updateCountsFromFollowAction(targetUserId, action, counts, currentUserId);
|
|
85
|
+
}, [followState, oxyServices]);
|
|
65
86
|
|
|
66
87
|
// Aggregate helpers for multiple users
|
|
67
88
|
const isAnyLoading = userIds.some(uid => followState.loadingUsers[uid]);
|
|
@@ -76,7 +97,14 @@ export const useFollow = userId => {
|
|
|
76
97
|
toggleFollow,
|
|
77
98
|
setFollowStatus,
|
|
78
99
|
fetchStatus,
|
|
79
|
-
clearError
|
|
100
|
+
clearError,
|
|
101
|
+
// Follower count methods
|
|
102
|
+
followerCount,
|
|
103
|
+
followingCount,
|
|
104
|
+
isLoadingCounts,
|
|
105
|
+
fetchUserCounts,
|
|
106
|
+
setFollowerCount,
|
|
107
|
+
setFollowingCount
|
|
80
108
|
};
|
|
81
109
|
}
|
|
82
110
|
return {
|
|
@@ -92,4 +120,32 @@ export const useFollow = userId => {
|
|
|
92
120
|
allNotFollowing
|
|
93
121
|
};
|
|
94
122
|
};
|
|
123
|
+
|
|
124
|
+
// Convenience hook for just follower counts
|
|
125
|
+
export const useFollowerCounts = userId => {
|
|
126
|
+
const {
|
|
127
|
+
oxyServices
|
|
128
|
+
} = useOxy();
|
|
129
|
+
const followState = useFollowStore();
|
|
130
|
+
const followerCount = followState.followerCounts[userId] ?? null;
|
|
131
|
+
const followingCount = followState.followingCounts[userId] ?? null;
|
|
132
|
+
const isLoadingCounts = followState.loadingCounts[userId] ?? false;
|
|
133
|
+
const fetchUserCounts = useCallback(async () => {
|
|
134
|
+
await followState.fetchUserCounts(userId, oxyServices);
|
|
135
|
+
}, [userId, followState, oxyServices]);
|
|
136
|
+
const setFollowerCount = useCallback(count => {
|
|
137
|
+
followState.setFollowerCount(userId, count);
|
|
138
|
+
}, [userId, followState]);
|
|
139
|
+
const setFollowingCount = useCallback(count => {
|
|
140
|
+
followState.setFollowingCount(userId, count);
|
|
141
|
+
}, [userId, followState]);
|
|
142
|
+
return {
|
|
143
|
+
followerCount,
|
|
144
|
+
followingCount,
|
|
145
|
+
isLoadingCounts,
|
|
146
|
+
fetchUserCounts,
|
|
147
|
+
setFollowerCount,
|
|
148
|
+
setFollowingCount
|
|
149
|
+
};
|
|
150
|
+
};
|
|
95
151
|
//# sourceMappingURL=useFollow.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"names":["useCallback","useMemo","useFollowStore","useOxy","useFollow","userId","oxyServices","userIds","Array","isArray","isSingleUser","followState","isFollowing","followingUsers","isLoading","loadingUsers","error","errors","toggleFollow","Error","toggleFollowUser","setFollowStatus","following","setFollowingStatus","fetchStatus","fetchFollowStatus","clearError","clearFollowError","followData","data","forEach","uid","toggleFollowForUser","targetUserId","currentState","setFollowStatusForUser","fetchStatusForUser","fetchAllStatuses","Promise","all","map","clearErrorForUser","isAnyLoading","some","hasAnyError","allFollowing","every","allNotFollowing"],"sourceRoot":"../../../../src","sources":["ui/hooks/useFollow.ts"],"mappings":";;AAAA,SAASA,WAAW,EAAEC,OAAO,QAAQ,OAAO;AAC5C,SAASC,cAAc,QAAQ,uBAAuB;AACtD,SAASC,MAAM,QAAQ,uBAAuB;AAE9C,OAAO,MAAMC,SAAS,GAAIC,MAA0B,IAAK;EACvD,MAAM;IAAEC;EAAY,CAAC,GAAGH,MAAM,CAAC,CAAC;EAChC,MAAMI,OAAO,GAAGN,OAAO,CAAC,MAAOO,KAAK,CAACC,OAAO,CAACJ,MAAM,CAAC,GAAGA,MAAM,GAAGA,MAAM,GAAG,CAACA,MAAM,CAAC,GAAG,EAAG,EAAE,CAACA,MAAM,CAAC,CAAC;EAClG,MAAMK,YAAY,GAAG,OAAOL,MAAM,KAAK,QAAQ;;EAE/C;EACA,MAAMM,WAAW,GAAGT,cAAc,CAAC,CAAC;;EAEpC;EACA,MAAMU,WAAW,GAAGF,YAAY,IAAIL,MAAM,GAAGM,WAAW,CAACE,cAAc,CAACR,MAAM,CAAC,IAAI,KAAK,GAAG,KAAK;EAChG,MAAMS,SAAS,GAAGJ,YAAY,IAAIL,MAAM,GAAGM,WAAW,CAACI,YAAY,CAACV,MAAM,CAAC,IAAI,KAAK,GAAG,KAAK;EAC5F,MAAMW,KAAK,GAAGN,YAAY,IAAIL,MAAM,GAAGM,WAAW,CAACM,MAAM,CAACZ,MAAM,CAAC,IAAI,IAAI,GAAG,IAAI;
|
|
1
|
+
{"version":3,"names":["useCallback","useMemo","useFollowStore","useOxy","useFollow","userId","oxyServices","userIds","Array","isArray","isSingleUser","followState","isFollowing","followingUsers","isLoading","loadingUsers","error","errors","followerCount","followerCounts","followingCount","followingCounts","isLoadingCounts","loadingCounts","toggleFollow","Error","toggleFollowUser","setFollowStatus","following","setFollowingStatus","fetchStatus","fetchFollowStatus","clearError","clearFollowError","fetchUserCounts","setFollowerCount","count","setFollowingCount","followData","data","forEach","uid","toggleFollowForUser","targetUserId","currentState","setFollowStatusForUser","fetchStatusForUser","fetchAllStatuses","Promise","all","map","clearErrorForUser","updateCountsFromFollowAction","action","counts","currentUserId","getCurrentUserId","undefined","isAnyLoading","some","hasAnyError","allFollowing","every","allNotFollowing","useFollowerCounts"],"sourceRoot":"../../../../src","sources":["ui/hooks/useFollow.ts"],"mappings":"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","ignoreList":[]}
|
|
@@ -20,6 +20,7 @@ import KarmaAboutScreen from '../screens/karma/KarmaAboutScreen';
|
|
|
20
20
|
import KarmaRewardsScreen from '../screens/karma/KarmaRewardsScreen';
|
|
21
21
|
import KarmaFAQScreen from '../screens/karma/KarmaFAQScreen';
|
|
22
22
|
import ProfileScreen from '../screens/ProfileScreen';
|
|
23
|
+
import UserLinksScreen from '../screens/UserLinksScreen';
|
|
23
24
|
import FileManagementScreen from '../screens/FileManagementScreen';
|
|
24
25
|
import RecoverAccountScreen from '../screens/RecoverAccountScreen';
|
|
25
26
|
import PaymentGatewayScreen from '../screens/PaymentGatewayScreen';
|
|
@@ -100,6 +101,10 @@ const routes = {
|
|
|
100
101
|
component: ProfileScreen,
|
|
101
102
|
snapPoints: ['60%', '90%']
|
|
102
103
|
},
|
|
104
|
+
UserLinks: {
|
|
105
|
+
component: UserLinksScreen,
|
|
106
|
+
snapPoints: ['60%', '90%']
|
|
107
|
+
},
|
|
103
108
|
FileManagement: {
|
|
104
109
|
component: FileManagementScreen,
|
|
105
110
|
snapPoints: ['70%', '100%']
|
|
@@ -135,7 +140,9 @@ const OxyRouter = ({
|
|
|
135
140
|
|
|
136
141
|
// Memoized navigation methods
|
|
137
142
|
const navigate = useCallback((screen, props = {}) => {
|
|
143
|
+
console.log('OxyRouter: navigate called with screen:', screen, 'props:', props);
|
|
138
144
|
if (routes[screen]) {
|
|
145
|
+
console.log('OxyRouter: screen found in routes, navigating to:', screen);
|
|
139
146
|
setCurrentScreen(screen);
|
|
140
147
|
setScreenHistory(prev => [...prev, screen]);
|
|
141
148
|
setScreenPropsMap(prev => ({
|
|
@@ -143,6 +150,7 @@ const OxyRouter = ({
|
|
|
143
150
|
[screen]: props
|
|
144
151
|
}));
|
|
145
152
|
} else {
|
|
153
|
+
console.error(`OxyRouter: Screen "${screen}" not found in routes:`, Object.keys(routes));
|
|
146
154
|
if (process.env.NODE_ENV !== 'production') {
|
|
147
155
|
console.error(`Screen "${screen}" not found`);
|
|
148
156
|
}
|
|
@@ -167,10 +175,12 @@ const OxyRouter = ({
|
|
|
167
175
|
useEffect(() => {
|
|
168
176
|
if (navigationRef) {
|
|
169
177
|
navigationRef.current = navigate;
|
|
178
|
+
console.log('OxyRouter: navigationRef.current set to navigate function');
|
|
170
179
|
}
|
|
171
180
|
return () => {
|
|
172
181
|
if (navigationRef) {
|
|
173
182
|
navigationRef.current = null;
|
|
183
|
+
console.log('OxyRouter: navigationRef.current cleared');
|
|
174
184
|
}
|
|
175
185
|
};
|
|
176
186
|
}, [navigate, navigationRef]);
|