@oxyhq/services 5.6.0 → 5.6.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.
- package/lib/commonjs/ui/context/OxyContext.js +95 -53
- package/lib/commonjs/ui/context/OxyContext.js.map +1 -1
- package/lib/commonjs/ui/screens/AccountSettingsScreen.js +84 -25
- package/lib/commonjs/ui/screens/AccountSettingsScreen.js.map +1 -1
- package/lib/commonjs/ui/stores/authStore.js +36 -1
- package/lib/commonjs/ui/stores/authStore.js.map +1 -1
- package/lib/module/ui/context/OxyContext.js +96 -54
- package/lib/module/ui/context/OxyContext.js.map +1 -1
- package/lib/module/ui/screens/AccountSettingsScreen.js +84 -25
- package/lib/module/ui/screens/AccountSettingsScreen.js.map +1 -1
- package/lib/module/ui/stores/authStore.js +36 -1
- package/lib/module/ui/stores/authStore.js.map +1 -1
- package/lib/typescript/models/interfaces.d.ts +6 -0
- package/lib/typescript/models/interfaces.d.ts.map +1 -1
- package/lib/typescript/ui/context/OxyContext.d.ts.map +1 -1
- package/lib/typescript/ui/screens/AccountSettingsScreen.d.ts.map +1 -1
- package/lib/typescript/ui/stores/authStore.d.ts +2 -0
- package/lib/typescript/ui/stores/authStore.d.ts.map +1 -1
- package/package.json +3 -3
- package/src/models/interfaces.ts +7 -1
- package/src/ui/context/OxyContext.tsx +52 -55
- package/src/ui/screens/AccountSettingsScreen.tsx +68 -24
- package/src/ui/stores/authStore.ts +21 -0
|
@@ -1,9 +1,10 @@
|
|
|
1
1
|
"use strict";
|
|
2
2
|
|
|
3
|
-
import React, { createContext, useContext,
|
|
3
|
+
import React, { createContext, useContext, useEffect, useCallback, useMemo } from 'react';
|
|
4
4
|
import { DeviceManager } from '../../utils/deviceManager';
|
|
5
5
|
import { useSessionSocket } from '../hooks/useSessionSocket';
|
|
6
6
|
import { toast } from '../../lib/sonner';
|
|
7
|
+
import { useAuthStore } from '../stores/authStore';
|
|
7
8
|
|
|
8
9
|
// Define the context shape
|
|
9
10
|
import { jsx as _jsx } from "react/jsx-runtime";
|
|
@@ -68,14 +69,20 @@ export const OxyContextProvider = ({
|
|
|
68
69
|
onAuthStateChange,
|
|
69
70
|
bottomSheetRef
|
|
70
71
|
}) => {
|
|
71
|
-
//
|
|
72
|
-
const
|
|
73
|
-
const
|
|
74
|
-
const
|
|
75
|
-
const
|
|
76
|
-
const
|
|
77
|
-
const
|
|
78
|
-
const
|
|
72
|
+
// Zustand state
|
|
73
|
+
const user = useAuthStore(state => state.user);
|
|
74
|
+
const isAuthenticated = useAuthStore(state => state.isAuthenticated);
|
|
75
|
+
const isLoading = useAuthStore(state => state.isLoading);
|
|
76
|
+
const error = useAuthStore(state => state.error);
|
|
77
|
+
const loginSuccess = useAuthStore(state => state.loginSuccess);
|
|
78
|
+
const loginFailure = useAuthStore(state => state.loginFailure);
|
|
79
|
+
const logoutStore = useAuthStore(state => state.logout);
|
|
80
|
+
|
|
81
|
+
// Local state for non-auth fields
|
|
82
|
+
const [minimalUser, setMinimalUser] = React.useState(null);
|
|
83
|
+
const [sessions, setSessions] = React.useState([]);
|
|
84
|
+
const [activeSessionId, setActiveSessionId] = React.useState(null);
|
|
85
|
+
const [storage, setStorage] = React.useState(null);
|
|
79
86
|
|
|
80
87
|
// Storage keys (memoized to prevent infinite loops)
|
|
81
88
|
const keys = useMemo(() => getSecureStorageKeys(storageKeyPrefix), [storageKeyPrefix]);
|
|
@@ -88,7 +95,9 @@ export const OxyContextProvider = ({
|
|
|
88
95
|
setStorage(platformStorage);
|
|
89
96
|
} catch (error) {
|
|
90
97
|
console.error('Failed to initialize storage:', error);
|
|
91
|
-
|
|
98
|
+
useAuthStore.setState({
|
|
99
|
+
error: 'Failed to initialize storage'
|
|
100
|
+
});
|
|
92
101
|
}
|
|
93
102
|
};
|
|
94
103
|
initStorage();
|
|
@@ -98,7 +107,9 @@ export const OxyContextProvider = ({
|
|
|
98
107
|
useEffect(() => {
|
|
99
108
|
const initAuth = async () => {
|
|
100
109
|
if (!storage) return;
|
|
101
|
-
|
|
110
|
+
useAuthStore.setState({
|
|
111
|
+
isLoading: true
|
|
112
|
+
});
|
|
102
113
|
try {
|
|
103
114
|
// Load stored sessions
|
|
104
115
|
const sessionsData = await storage.getItem(keys.sessions);
|
|
@@ -155,7 +166,7 @@ export const OxyContextProvider = ({
|
|
|
155
166
|
|
|
156
167
|
// Load full user data
|
|
157
168
|
const fullUser = await oxyServices.getUserBySession(activeSession.sessionId);
|
|
158
|
-
|
|
169
|
+
loginSuccess(fullUser);
|
|
159
170
|
setMinimalUser({
|
|
160
171
|
id: fullUser.id,
|
|
161
172
|
username: fullUser.username,
|
|
@@ -179,7 +190,9 @@ export const OxyContextProvider = ({
|
|
|
179
190
|
console.error('Secure auth initialization error:', err);
|
|
180
191
|
await clearAllStorage();
|
|
181
192
|
} finally {
|
|
182
|
-
|
|
193
|
+
useAuthStore.setState({
|
|
194
|
+
isLoading: false
|
|
195
|
+
});
|
|
183
196
|
}
|
|
184
197
|
};
|
|
185
198
|
if (storage) {
|
|
@@ -199,14 +212,14 @@ export const OxyContextProvider = ({
|
|
|
199
212
|
} else {
|
|
200
213
|
// No valid sessions left
|
|
201
214
|
setActiveSessionId(null);
|
|
202
|
-
|
|
215
|
+
logoutStore();
|
|
203
216
|
setMinimalUser(null);
|
|
204
217
|
await storage?.removeItem(keys.activeSessionId);
|
|
205
218
|
if (onAuthStateChange) {
|
|
206
219
|
onAuthStateChange(null);
|
|
207
220
|
}
|
|
208
221
|
}
|
|
209
|
-
}, [sessions, storage, keys, onAuthStateChange]);
|
|
222
|
+
}, [sessions, storage, keys, onAuthStateChange, logoutStore]);
|
|
210
223
|
|
|
211
224
|
// Save sessions to storage
|
|
212
225
|
const saveSessionsToStorage = useCallback(async sessionsList => {
|
|
@@ -234,7 +247,9 @@ export const OxyContextProvider = ({
|
|
|
234
247
|
// Switch to a different session
|
|
235
248
|
const switchToSession = useCallback(async sessionId => {
|
|
236
249
|
try {
|
|
237
|
-
|
|
250
|
+
useAuthStore.setState({
|
|
251
|
+
isLoading: true
|
|
252
|
+
});
|
|
238
253
|
|
|
239
254
|
// Get access token for this session
|
|
240
255
|
await oxyServices.getTokenBySession(sessionId);
|
|
@@ -242,7 +257,7 @@ export const OxyContextProvider = ({
|
|
|
242
257
|
// Load full user data
|
|
243
258
|
const fullUser = await oxyServices.getUserBySession(sessionId);
|
|
244
259
|
setActiveSessionId(sessionId);
|
|
245
|
-
|
|
260
|
+
loginSuccess(fullUser);
|
|
246
261
|
setMinimalUser({
|
|
247
262
|
id: fullUser.id,
|
|
248
263
|
username: fullUser.username,
|
|
@@ -254,17 +269,23 @@ export const OxyContextProvider = ({
|
|
|
254
269
|
}
|
|
255
270
|
} catch (error) {
|
|
256
271
|
console.error('Switch session error:', error);
|
|
257
|
-
|
|
272
|
+
useAuthStore.setState({
|
|
273
|
+
error: 'Failed to switch session'
|
|
274
|
+
});
|
|
258
275
|
} finally {
|
|
259
|
-
|
|
276
|
+
useAuthStore.setState({
|
|
277
|
+
isLoading: false
|
|
278
|
+
});
|
|
260
279
|
}
|
|
261
|
-
}, [oxyServices, onAuthStateChange, saveActiveSessionId]);
|
|
280
|
+
}, [oxyServices, onAuthStateChange, loginSuccess, saveActiveSessionId]);
|
|
262
281
|
|
|
263
282
|
// Secure login method
|
|
264
283
|
const login = async (username, password, deviceName) => {
|
|
265
284
|
if (!storage) throw new Error('Storage not initialized');
|
|
266
|
-
|
|
267
|
-
|
|
285
|
+
useAuthStore.setState({
|
|
286
|
+
isLoading: true,
|
|
287
|
+
error: null
|
|
288
|
+
});
|
|
268
289
|
try {
|
|
269
290
|
// Get device fingerprint for enhanced device identification
|
|
270
291
|
const deviceFingerprint = DeviceManager.getDeviceFingerprint();
|
|
@@ -316,17 +337,19 @@ export const OxyContextProvider = ({
|
|
|
316
337
|
|
|
317
338
|
// Load full user data
|
|
318
339
|
const fullUser = await oxyServices.getUserBySession(response.sessionId);
|
|
319
|
-
|
|
340
|
+
loginSuccess(fullUser);
|
|
320
341
|
setMinimalUser(response.user);
|
|
321
342
|
if (onAuthStateChange) {
|
|
322
343
|
onAuthStateChange(fullUser);
|
|
323
344
|
}
|
|
324
345
|
return fullUser;
|
|
325
346
|
} catch (error) {
|
|
326
|
-
|
|
347
|
+
loginFailure(error.message || 'Login failed');
|
|
327
348
|
throw error;
|
|
328
349
|
} finally {
|
|
329
|
-
|
|
350
|
+
useAuthStore.setState({
|
|
351
|
+
isLoading: false
|
|
352
|
+
});
|
|
330
353
|
}
|
|
331
354
|
};
|
|
332
355
|
|
|
@@ -350,7 +373,7 @@ export const OxyContextProvider = ({
|
|
|
350
373
|
} else {
|
|
351
374
|
// No sessions left
|
|
352
375
|
setActiveSessionId(null);
|
|
353
|
-
|
|
376
|
+
logoutStore();
|
|
354
377
|
setMinimalUser(null);
|
|
355
378
|
await storage?.removeItem(keys.activeSessionId);
|
|
356
379
|
if (onAuthStateChange) {
|
|
@@ -360,7 +383,9 @@ export const OxyContextProvider = ({
|
|
|
360
383
|
}
|
|
361
384
|
} catch (error) {
|
|
362
385
|
console.error('Logout error:', error);
|
|
363
|
-
|
|
386
|
+
useAuthStore.setState({
|
|
387
|
+
error: 'Logout failed'
|
|
388
|
+
});
|
|
364
389
|
}
|
|
365
390
|
};
|
|
366
391
|
|
|
@@ -369,12 +394,16 @@ export const OxyContextProvider = ({
|
|
|
369
394
|
console.log('logoutAll called with activeSessionId:', activeSessionId);
|
|
370
395
|
if (!activeSessionId) {
|
|
371
396
|
console.error('No active session ID found, cannot logout all');
|
|
372
|
-
|
|
397
|
+
useAuthStore.setState({
|
|
398
|
+
error: 'No active session found'
|
|
399
|
+
});
|
|
373
400
|
throw new Error('No active session found');
|
|
374
401
|
}
|
|
375
402
|
if (!oxyServices) {
|
|
376
403
|
console.error('OxyServices not initialized');
|
|
377
|
-
|
|
404
|
+
useAuthStore.setState({
|
|
405
|
+
error: 'Service not available'
|
|
406
|
+
});
|
|
378
407
|
throw new Error('Service not available');
|
|
379
408
|
}
|
|
380
409
|
try {
|
|
@@ -385,7 +414,7 @@ export const OxyContextProvider = ({
|
|
|
385
414
|
// Clear all local data
|
|
386
415
|
setSessions([]);
|
|
387
416
|
setActiveSessionId(null);
|
|
388
|
-
|
|
417
|
+
logoutStore();
|
|
389
418
|
setMinimalUser(null);
|
|
390
419
|
await clearAllStorage();
|
|
391
420
|
console.log('Local storage cleared');
|
|
@@ -395,7 +424,9 @@ export const OxyContextProvider = ({
|
|
|
395
424
|
}
|
|
396
425
|
} catch (error) {
|
|
397
426
|
console.error('Logout all error:', error);
|
|
398
|
-
|
|
427
|
+
useAuthStore.setState({
|
|
428
|
+
error: `Logout all failed: ${error instanceof Error ? error.message : 'Unknown error'}`
|
|
429
|
+
});
|
|
399
430
|
throw error;
|
|
400
431
|
}
|
|
401
432
|
};
|
|
@@ -403,8 +434,10 @@ export const OxyContextProvider = ({
|
|
|
403
434
|
// Sign up method
|
|
404
435
|
const signUp = async (username, email, password) => {
|
|
405
436
|
if (!storage) throw new Error('Storage not initialized');
|
|
406
|
-
|
|
407
|
-
|
|
437
|
+
useAuthStore.setState({
|
|
438
|
+
isLoading: true,
|
|
439
|
+
error: null
|
|
440
|
+
});
|
|
408
441
|
try {
|
|
409
442
|
// Create new account using the OxyServices signUp method
|
|
410
443
|
const response = await oxyServices.signUp(username, email, password);
|
|
@@ -415,10 +448,12 @@ export const OxyContextProvider = ({
|
|
|
415
448
|
const user = await login(username, password);
|
|
416
449
|
return user;
|
|
417
450
|
} catch (error) {
|
|
418
|
-
|
|
451
|
+
loginFailure(error.message || 'Sign up failed');
|
|
419
452
|
throw error;
|
|
420
453
|
} finally {
|
|
421
|
-
|
|
454
|
+
useAuthStore.setState({
|
|
455
|
+
isLoading: false
|
|
456
|
+
});
|
|
422
457
|
}
|
|
423
458
|
};
|
|
424
459
|
|
|
@@ -471,7 +506,7 @@ export const OxyContextProvider = ({
|
|
|
471
506
|
// Clear all local sessions since we logged out from all devices
|
|
472
507
|
setSessions([]);
|
|
473
508
|
setActiveSessionId(null);
|
|
474
|
-
|
|
509
|
+
logoutStore();
|
|
475
510
|
setMinimalUser(null);
|
|
476
511
|
await clearAllStorage();
|
|
477
512
|
if (onAuthStateChange) {
|
|
@@ -537,16 +572,6 @@ export const OxyContextProvider = ({
|
|
|
537
572
|
}
|
|
538
573
|
}, [bottomSheetRef]);
|
|
539
574
|
|
|
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
|
-
|
|
550
575
|
// Integrate socket for real-time session updates
|
|
551
576
|
console.log('OxyContextProvider: userId', user?.id, 'baseURL', oxyServices.getBaseURL());
|
|
552
577
|
useSessionSocket({
|
|
@@ -572,14 +597,31 @@ export const OxyContextProvider = ({
|
|
|
572
597
|
error,
|
|
573
598
|
login,
|
|
574
599
|
logout,
|
|
575
|
-
logoutAll
|
|
576
|
-
|
|
577
|
-
|
|
578
|
-
|
|
579
|
-
|
|
580
|
-
|
|
581
|
-
|
|
582
|
-
|
|
600
|
+
logoutAll: async () => {
|
|
601
|
+
await logout();
|
|
602
|
+
},
|
|
603
|
+
signUp: async (username, email, password) => {
|
|
604
|
+
await signUp(username, email, password);
|
|
605
|
+
return user; // Return the latest user from Zustand
|
|
606
|
+
},
|
|
607
|
+
switchSession: async sessionId => {
|
|
608
|
+
await switchToSession(sessionId);
|
|
609
|
+
},
|
|
610
|
+
removeSession: async sessionId => {
|
|
611
|
+
await removeSession(sessionId);
|
|
612
|
+
},
|
|
613
|
+
refreshSessions: async () => {
|
|
614
|
+
await refreshSessions();
|
|
615
|
+
},
|
|
616
|
+
getDeviceSessions: async () => {
|
|
617
|
+
return await getDeviceSessions();
|
|
618
|
+
},
|
|
619
|
+
logoutAllDeviceSessions: async () => {
|
|
620
|
+
await logoutAllDeviceSessions();
|
|
621
|
+
},
|
|
622
|
+
updateDeviceName: async deviceName => {
|
|
623
|
+
await updateDeviceName(deviceName);
|
|
624
|
+
},
|
|
583
625
|
oxyServices,
|
|
584
626
|
bottomSheetRef,
|
|
585
627
|
showBottomSheet,
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"names":["React","createContext","useContext","useState","useEffect","useCallback","useMemo","DeviceManager","useSessionSocket","toast","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","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","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","getBaseURL","baseURL","onRemoteSignOut","info","contextValue","Provider","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","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","OxyContextProvider","children","oxyServices","storageKeyPrefix","onAuthStateChange","bottomSheetRef","user","state","isAuthenticated","isLoading","loginSuccess","loginFailure","logoutStore","logout","minimalUser","setMinimalUser","useState","setSessions","setActiveSessionId","storage","setStorage","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","signUp","email","switchSession","removeSession","refreshSessions","serverSessions","getSessionsBySessionId","map","serverSession","getDeviceSessions","logoutAllDeviceSessions","updateDeviceName","showBottomSheet","screenOrConfig","current","expand","present","warn","setTimeout","_navigateToScreen","screen","props","hideBottomSheet","dismiss","getBaseURL","baseURL","onRemoteSignOut","info","contextValue","Provider","useOxy","context"],"sourceRoot":"../../../../src","sources":["ui/context/OxyContext.tsx"],"mappings":"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","ignoreList":[]}
|
|
@@ -9,6 +9,7 @@ import { Ionicons } from '@expo/vector-icons';
|
|
|
9
9
|
import { toast } from '../../lib/sonner';
|
|
10
10
|
import { fontFamilies } from '../styles/fonts';
|
|
11
11
|
import { confirmAction } from '../utils/confirmAction';
|
|
12
|
+
import { useAuthStore } from '../stores/authStore';
|
|
12
13
|
import { jsx as _jsx, jsxs as _jsxs, Fragment as _Fragment } from "react/jsx-runtime";
|
|
13
14
|
const AccountSettingsScreen = ({
|
|
14
15
|
onClose,
|
|
@@ -22,6 +23,7 @@ const AccountSettingsScreen = ({
|
|
|
22
23
|
isLoading: authLoading,
|
|
23
24
|
isAuthenticated
|
|
24
25
|
} = useOxy();
|
|
26
|
+
const updateUser = useAuthStore(state => state.updateUser);
|
|
25
27
|
const [isLoading, setIsLoading] = useState(false);
|
|
26
28
|
const [isSaving, setIsSaving] = useState(false);
|
|
27
29
|
|
|
@@ -30,11 +32,12 @@ const AccountSettingsScreen = ({
|
|
|
30
32
|
|
|
31
33
|
// Form state
|
|
32
34
|
const [displayName, setDisplayName] = useState('');
|
|
35
|
+
const [lastName, setLastName] = useState('');
|
|
33
36
|
const [username, setUsername] = useState('');
|
|
34
37
|
const [email, setEmail] = useState('');
|
|
35
38
|
const [bio, setBio] = useState('');
|
|
36
39
|
const [location, setLocation] = useState('');
|
|
37
|
-
const [
|
|
40
|
+
const [links, setLinks] = useState([]);
|
|
38
41
|
const [avatarUrl, setAvatarUrl] = useState('');
|
|
39
42
|
|
|
40
43
|
// Editing states
|
|
@@ -42,11 +45,12 @@ const AccountSettingsScreen = ({
|
|
|
42
45
|
|
|
43
46
|
// Temporary input states for inline editing
|
|
44
47
|
const [tempDisplayName, setTempDisplayName] = useState('');
|
|
48
|
+
const [tempLastName, setTempLastName] = useState('');
|
|
45
49
|
const [tempUsername, setTempUsername] = useState('');
|
|
46
50
|
const [tempEmail, setTempEmail] = useState('');
|
|
47
51
|
const [tempBio, setTempBio] = useState('');
|
|
48
52
|
const [tempLocation, setTempLocation] = useState('');
|
|
49
|
-
const [
|
|
53
|
+
const [tempLinks, setTempLinks] = useState([]);
|
|
50
54
|
|
|
51
55
|
// Memoize theme-related calculations to prevent unnecessary recalculations
|
|
52
56
|
const themeStyles = useMemo(() => {
|
|
@@ -71,13 +75,15 @@ const AccountSettingsScreen = ({
|
|
|
71
75
|
// Load user data
|
|
72
76
|
useEffect(() => {
|
|
73
77
|
if (user) {
|
|
74
|
-
const userDisplayName = typeof user.name === 'string' ? user.name : user.name?.
|
|
78
|
+
const userDisplayName = typeof user.name === 'string' ? user.name : user.name?.first || user.name?.full || '';
|
|
79
|
+
const userLastName = typeof user.name === 'object' ? user.name?.last || '' : '';
|
|
75
80
|
setDisplayName(userDisplayName);
|
|
81
|
+
setLastName(userLastName);
|
|
76
82
|
setUsername(user.username || '');
|
|
77
83
|
setEmail(user.email || '');
|
|
78
84
|
setBio(user.bio || '');
|
|
79
85
|
setLocation(user.location || '');
|
|
80
|
-
|
|
86
|
+
setLinks(Array.isArray(user.links) ? user.links.map(l => typeof l === 'string' ? l : l.link).filter(Boolean) : user.website ? [user.website] : []);
|
|
81
87
|
setAvatarUrl(user.avatar?.url || '');
|
|
82
88
|
}
|
|
83
89
|
}, [user]);
|
|
@@ -92,12 +98,15 @@ const AccountSettingsScreen = ({
|
|
|
92
98
|
email,
|
|
93
99
|
bio,
|
|
94
100
|
location,
|
|
95
|
-
|
|
101
|
+
links
|
|
96
102
|
};
|
|
97
103
|
|
|
98
104
|
// Handle name field
|
|
99
|
-
if (displayName) {
|
|
100
|
-
updates.name =
|
|
105
|
+
if (displayName || lastName) {
|
|
106
|
+
updates.name = {
|
|
107
|
+
first: displayName,
|
|
108
|
+
last: lastName
|
|
109
|
+
};
|
|
101
110
|
}
|
|
102
111
|
|
|
103
112
|
// Handle avatar
|
|
@@ -106,7 +115,7 @@ const AccountSettingsScreen = ({
|
|
|
106
115
|
url: avatarUrl
|
|
107
116
|
};
|
|
108
117
|
}
|
|
109
|
-
await
|
|
118
|
+
await updateUser(updates, oxyServices);
|
|
110
119
|
toast.success('Profile updated successfully');
|
|
111
120
|
animateSaveButton(1); // Scale back to normal
|
|
112
121
|
|
|
@@ -132,7 +141,8 @@ const AccountSettingsScreen = ({
|
|
|
132
141
|
const startEditing = (type, currentValue) => {
|
|
133
142
|
switch (type) {
|
|
134
143
|
case 'displayName':
|
|
135
|
-
setTempDisplayName(
|
|
144
|
+
setTempDisplayName(displayName);
|
|
145
|
+
setTempLastName(lastName);
|
|
136
146
|
break;
|
|
137
147
|
case 'username':
|
|
138
148
|
setTempUsername(currentValue);
|
|
@@ -146,8 +156,8 @@ const AccountSettingsScreen = ({
|
|
|
146
156
|
case 'location':
|
|
147
157
|
setTempLocation(currentValue);
|
|
148
158
|
break;
|
|
149
|
-
case '
|
|
150
|
-
|
|
159
|
+
case 'links':
|
|
160
|
+
setTempLinks([...links]);
|
|
151
161
|
break;
|
|
152
162
|
}
|
|
153
163
|
setEditingField(type);
|
|
@@ -158,6 +168,7 @@ const AccountSettingsScreen = ({
|
|
|
158
168
|
switch (type) {
|
|
159
169
|
case 'displayName':
|
|
160
170
|
setDisplayName(tempDisplayName);
|
|
171
|
+
setLastName(tempLastName);
|
|
161
172
|
break;
|
|
162
173
|
case 'username':
|
|
163
174
|
setUsername(tempUsername);
|
|
@@ -171,8 +182,8 @@ const AccountSettingsScreen = ({
|
|
|
171
182
|
case 'location':
|
|
172
183
|
setLocation(tempLocation);
|
|
173
184
|
break;
|
|
174
|
-
case '
|
|
175
|
-
|
|
185
|
+
case 'links':
|
|
186
|
+
setLinks(tempLinks);
|
|
176
187
|
break;
|
|
177
188
|
}
|
|
178
189
|
|
|
@@ -192,7 +203,7 @@ const AccountSettingsScreen = ({
|
|
|
192
203
|
email: 'Email',
|
|
193
204
|
bio: 'Bio',
|
|
194
205
|
location: 'Location',
|
|
195
|
-
|
|
206
|
+
links: 'Links'
|
|
196
207
|
};
|
|
197
208
|
return labels[type] || 'Field';
|
|
198
209
|
};
|
|
@@ -218,7 +229,7 @@ const AccountSettingsScreen = ({
|
|
|
218
229
|
name: 'location',
|
|
219
230
|
color: '#FF3B30'
|
|
220
231
|
},
|
|
221
|
-
|
|
232
|
+
links: {
|
|
222
233
|
name: 'link',
|
|
223
234
|
color: '#32D74B'
|
|
224
235
|
}
|
|
@@ -229,6 +240,52 @@ const AccountSettingsScreen = ({
|
|
|
229
240
|
};
|
|
230
241
|
};
|
|
231
242
|
const renderEditingField = type => {
|
|
243
|
+
if (type === 'displayName') {
|
|
244
|
+
return /*#__PURE__*/_jsx(View, {
|
|
245
|
+
style: styles.editingFieldContainer,
|
|
246
|
+
children: /*#__PURE__*/_jsx(View, {
|
|
247
|
+
style: styles.editingFieldContent,
|
|
248
|
+
children: /*#__PURE__*/_jsxs(View, {
|
|
249
|
+
style: [styles.newValueSection, {
|
|
250
|
+
flexDirection: 'row',
|
|
251
|
+
gap: 12
|
|
252
|
+
}],
|
|
253
|
+
children: [/*#__PURE__*/_jsxs(View, {
|
|
254
|
+
style: {
|
|
255
|
+
flex: 1
|
|
256
|
+
},
|
|
257
|
+
children: [/*#__PURE__*/_jsx(Text, {
|
|
258
|
+
style: styles.editingFieldLabel,
|
|
259
|
+
children: "First Name"
|
|
260
|
+
}), /*#__PURE__*/_jsx(TextInput, {
|
|
261
|
+
style: styles.editingFieldInput,
|
|
262
|
+
value: tempDisplayName,
|
|
263
|
+
onChangeText: setTempDisplayName,
|
|
264
|
+
placeholder: "Enter your first name",
|
|
265
|
+
placeholderTextColor: themeStyles.isDarkTheme ? '#aaa' : '#999',
|
|
266
|
+
autoFocus: true,
|
|
267
|
+
selectionColor: themeStyles.primaryColor
|
|
268
|
+
})]
|
|
269
|
+
}), /*#__PURE__*/_jsxs(View, {
|
|
270
|
+
style: {
|
|
271
|
+
flex: 1
|
|
272
|
+
},
|
|
273
|
+
children: [/*#__PURE__*/_jsx(Text, {
|
|
274
|
+
style: styles.editingFieldLabel,
|
|
275
|
+
children: "Last Name"
|
|
276
|
+
}), /*#__PURE__*/_jsx(TextInput, {
|
|
277
|
+
style: styles.editingFieldInput,
|
|
278
|
+
value: tempLastName,
|
|
279
|
+
onChangeText: setTempLastName,
|
|
280
|
+
placeholder: "Enter your last name",
|
|
281
|
+
placeholderTextColor: themeStyles.isDarkTheme ? '#aaa' : '#999',
|
|
282
|
+
selectionColor: themeStyles.primaryColor
|
|
283
|
+
})]
|
|
284
|
+
})]
|
|
285
|
+
})
|
|
286
|
+
})
|
|
287
|
+
});
|
|
288
|
+
}
|
|
232
289
|
const fieldConfig = {
|
|
233
290
|
displayName: {
|
|
234
291
|
label: 'Display Name',
|
|
@@ -275,10 +332,10 @@ const AccountSettingsScreen = ({
|
|
|
275
332
|
multiline: false,
|
|
276
333
|
keyboardType: 'default'
|
|
277
334
|
},
|
|
278
|
-
|
|
279
|
-
label: '
|
|
280
|
-
value:
|
|
281
|
-
placeholder: 'Enter your
|
|
335
|
+
links: {
|
|
336
|
+
label: 'Links',
|
|
337
|
+
value: links.join(', '),
|
|
338
|
+
placeholder: 'Enter your links (comma separated)',
|
|
282
339
|
icon: 'link',
|
|
283
340
|
color: '#32D74B',
|
|
284
341
|
multiline: false,
|
|
@@ -299,8 +356,8 @@ const AccountSettingsScreen = ({
|
|
|
299
356
|
return tempBio;
|
|
300
357
|
case 'location':
|
|
301
358
|
return tempLocation;
|
|
302
|
-
case '
|
|
303
|
-
return
|
|
359
|
+
case 'links':
|
|
360
|
+
return tempLinks.join(', ');
|
|
304
361
|
default:
|
|
305
362
|
return '';
|
|
306
363
|
}
|
|
@@ -322,8 +379,8 @@ const AccountSettingsScreen = ({
|
|
|
322
379
|
case 'location':
|
|
323
380
|
setTempLocation(text);
|
|
324
381
|
break;
|
|
325
|
-
case '
|
|
326
|
-
|
|
382
|
+
case 'links':
|
|
383
|
+
setTempLinks(text.split(',').map(s => s.trim()).filter(Boolean));
|
|
327
384
|
break;
|
|
328
385
|
}
|
|
329
386
|
};
|
|
@@ -537,13 +594,15 @@ const AccountSettingsScreen = ({
|
|
|
537
594
|
children: [/*#__PURE__*/_jsx(Text, {
|
|
538
595
|
style: styles.sectionTitle,
|
|
539
596
|
children: "Basic Information"
|
|
540
|
-
}), renderField('displayName', 'Display Name', displayName,
|
|
597
|
+
}), renderField('displayName', 'Display Name', [displayName, lastName].filter(Boolean).join(' '),
|
|
598
|
+
// Show full name
|
|
599
|
+
'Add your display name', 'person', '#007AFF', false, 'default', true, false), renderField('username', 'Username', username, 'Choose a username', 'at', '#5856D6', false, 'default', false, false), renderField('email', 'Email', email, 'Add your email address', 'mail', '#FF9500', false, 'email-address', false, true)]
|
|
541
600
|
}), /*#__PURE__*/_jsxs(View, {
|
|
542
601
|
style: styles.section,
|
|
543
602
|
children: [/*#__PURE__*/_jsx(Text, {
|
|
544
603
|
style: styles.sectionTitle,
|
|
545
604
|
children: "About You"
|
|
546
|
-
}), renderField('bio', 'Bio', bio, 'Tell people about yourself', 'document-text', '#34C759', true, 'default', true, false), renderField('location', 'Location', location, 'Add your location', 'location', '#FF3B30', false, 'default', false, false), renderField('
|
|
605
|
+
}), renderField('bio', 'Bio', bio, 'Tell people about yourself', 'document-text', '#34C759', true, 'default', true, false), renderField('location', 'Location', location, 'Add your location', 'location', '#FF3B30', false, 'default', false, false), renderField('links', 'Links', links.join(', '), 'Add your links', 'link', '#32D74B', false, 'url', false, true)]
|
|
547
606
|
}), /*#__PURE__*/_jsxs(View, {
|
|
548
607
|
style: styles.section,
|
|
549
608
|
children: [/*#__PURE__*/_jsx(Text, {
|