@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.
@@ -1,9 +1,10 @@
1
1
  "use strict";
2
2
 
3
- import React, { createContext, useContext, useState, useEffect, useCallback, useMemo } from 'react';
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
- // Authentication state
72
- const [user, setUser] = useState(null);
73
- const [minimalUser, setMinimalUser] = useState(null);
74
- const [sessions, setSessions] = useState([]);
75
- const [activeSessionId, setActiveSessionId] = useState(null);
76
- const [isLoading, setIsLoading] = useState(true);
77
- const [error, setError] = useState(null);
78
- const [storage, setStorage] = useState(null);
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
- setError('Failed to initialize storage');
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
- setIsLoading(true);
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
- setUser(fullUser);
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
- setIsLoading(false);
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
- setUser(null);
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
- setIsLoading(true);
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
- setUser(fullUser);
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
- setError('Failed to switch session');
272
+ useAuthStore.setState({
273
+ error: 'Failed to switch session'
274
+ });
258
275
  } finally {
259
- setIsLoading(false);
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
- setIsLoading(true);
267
- setError(null);
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
- setUser(fullUser);
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
- setError(error.message || 'Login failed');
347
+ loginFailure(error.message || 'Login failed');
327
348
  throw error;
328
349
  } finally {
329
- setIsLoading(false);
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
- setUser(null);
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
- setError('Logout failed');
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
- setError('No active session found');
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
- setError('Service not available');
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
- setUser(null);
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
- setError(`Logout all failed: ${error instanceof Error ? error.message : 'Unknown error'}`);
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
- setIsLoading(true);
407
- setError(null);
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
- setError(error.message || 'Sign up failed');
451
+ loginFailure(error.message || 'Sign up failed');
419
452
  throw error;
420
453
  } finally {
421
- setIsLoading(false);
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
- setUser(null);
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
- signUp,
577
- switchSession,
578
- removeSession,
579
- refreshSessions,
580
- getDeviceSessions,
581
- logoutAllDeviceSessions,
582
- updateDeviceName,
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":";;AAAA,OAAOA,KAAK,IAAIC,aAAa,EAAEC,UAAU,EAAEC,SAAS,EAAEC,WAAW,EAAaC,OAAO,QAAQ,OAAO;AAIpG,SAASC,aAAa,QAAQ,2BAA2B;AACzD,SAASC,gBAAgB,QAAQ,2BAA2B;AAC5D,SAASC,KAAK,QAAQ,kBAAkB;AACxC,SAASC,YAAY,QAAQ,qBAAqB;;AAElD;AAAA,SAAAC,GAAA,IAAAC,IAAA;AAoCA;AACA,MAAMC,UAAU,gBAAGX,aAAa,CAAyB,IAAI,CAAC;;AAE9D;;AASA;;AAQA;AACA,MAAMY,UAAU,CAA6B;EAC3C,MAAMC,OAAOA,CAACC,GAAW,EAA0B;IACjD,OAAOC,YAAY,CAACF,OAAO,CAACC,GAAG,CAAC;EAClC;EAEA,MAAME,OAAOA,CAACF,GAAW,EAAEG,KAAa,EAAiB;IACvDF,YAAY,CAACC,OAAO,CAACF,GAAG,EAAEG,KAAK,CAAC;EAClC;EAEA,MAAMC,UAAUA,CAACJ,GAAW,EAAiB;IAC3CC,YAAY,CAACG,UAAU,CAACJ,GAAG,CAAC;EAC9B;EAEA,MAAMK,KAAKA,CAAA,EAAkB;IAC3BJ,YAAY,CAACI,KAAK,CAAC,CAAC;EACtB;AACF;;AAEA;AACA,IAAIC,YAA8B;;AAElC;AACA,MAAMC,aAAa,GAAGA,CAAA,KAAe;EACnC,OAAO,OAAOC,SAAS,KAAK,WAAW,IAAIA,SAAS,CAACC,OAAO,KAAK,aAAa;AAChF,CAAC;;AAED;AACA,MAAMC,UAAU,GAAG,MAAAA,CAAA,KAAuC;EACxD,IAAIH,aAAa,CAAC,CAAC,EAAE;IACnB,IAAI,CAACD,YAAY,EAAE;MACjB,IAAI;QACF,MAAMK,kBAAkB,GAAG,MAAM,MAAM,CAAC,2CAA2C,CAAC;QACpFL,YAAY,GAAGK,kBAAkB,CAACC,OAAO;MAC3C,CAAC,CAAC,OAAOC,KAAK,EAAE;QACdC,OAAO,CAACD,KAAK,CAAC,gCAAgC,EAAEA,KAAK,CAAC;QACtD,MAAM,IAAIE,KAAK,CAAC,sDAAsD,CAAC;MACzE;IACF;IACA,OAAOT,YAAY;EACrB;EAEA,OAAO,IAAIR,UAAU,CAAC,CAAC;AACzB,CAAC;;AAED;AACA,MAAMkB,oBAAoB,GAAGA,CAACC,MAAM,GAAG,YAAY,MAAM;EACvDC,QAAQ,EAAE,GAAGD,MAAM,WAAW;EAAE;EAChCE,eAAe,EAAE,GAAGF,MAAM,oBAAoB,CAAE;AAClD,CAAC,CAAC;AAEF,OAAO,MAAMG,kBAAqD,GAAGA,CAAC;EACpEC,QAAQ;EACRC,WAAW;EACXC,gBAAgB,GAAG,YAAY;EAC/BC,iBAAiB;EACjBC;AACF,CAAC,KAAK;EACJ;EACA,MAAMC,IAAI,GAAGhC,YAAY,CAAEiC,KAAK,IAAKA,KAAK,CAACD,IAAI,CAAC;EAChD,MAAME,eAAe,GAAGlC,YAAY,CAAEiC,KAAK,IAAKA,KAAK,CAACC,eAAe,CAAC;EACtE,MAAMC,SAAS,GAAGnC,YAAY,CAAEiC,KAAK,IAAKA,KAAK,CAACE,SAAS,CAAC;EAC1D,MAAMhB,KAAK,GAAGnB,YAAY,CAAEiC,KAAK,IAAKA,KAAK,CAACd,KAAK,CAAC;EAClD,MAAMiB,YAAY,GAAGpC,YAAY,CAAEiC,KAAK,IAAKA,KAAK,CAACG,YAAY,CAAC;EAChE,MAAMC,YAAY,GAAGrC,YAAY,CAAEiC,KAAK,IAAKA,KAAK,CAACI,YAAY,CAAC;EAChE,MAAMC,WAAW,GAAGtC,YAAY,CAAEiC,KAAK,IAAKA,KAAK,CAACM,MAAM,CAAC;;EAEzD;EACA,MAAM,CAACC,WAAW,EAAEC,cAAc,CAAC,GAAGlD,KAAK,CAACmD,QAAQ,CAAyB,IAAI,CAAC;EAClF,MAAM,CAAClB,QAAQ,EAAEmB,WAAW,CAAC,GAAGpD,KAAK,CAACmD,QAAQ,CAAwB,EAAE,CAAC;EACzE,MAAM,CAACjB,eAAe,EAAEmB,kBAAkB,CAAC,GAAGrD,KAAK,CAACmD,QAAQ,CAAgB,IAAI,CAAC;EACjF,MAAM,CAACG,OAAO,EAAEC,UAAU,CAAC,GAAGvD,KAAK,CAACmD,QAAQ,CAA0B,IAAI,CAAC;;EAE3E;EACA,MAAMK,IAAI,GAAGnD,OAAO,CAAC,MAAM0B,oBAAoB,CAACO,gBAAgB,CAAC,EAAE,CAACA,gBAAgB,CAAC,CAAC;;EAEtF;EACAnC,SAAS,CAAC,MAAM;IACd,MAAMsD,WAAW,GAAG,MAAAA,CAAA,KAAY;MAC9B,IAAI;QACF,MAAMC,eAAe,GAAG,MAAMjC,UAAU,CAAC,CAAC;QAC1C8B,UAAU,CAACG,eAAe,CAAC;MAC7B,CAAC,CAAC,OAAO9B,KAAK,EAAE;QACdC,OAAO,CAACD,KAAK,CAAC,+BAA+B,EAAEA,KAAK,CAAC;QACrDnB,YAAY,CAACkD,QAAQ,CAAC;UAAE/B,KAAK,EAAE;QAA+B,CAAC,CAAC;MAClE;IACF,CAAC;IAED6B,WAAW,CAAC,CAAC;EACf,CAAC,EAAE,EAAE,CAAC;;EAEN;EACAtD,SAAS,CAAC,MAAM;IACd,MAAMyD,QAAQ,GAAG,MAAAA,CAAA,KAAY;MAC3B,IAAI,CAACN,OAAO,EAAE;MAEd7C,YAAY,CAACkD,QAAQ,CAAC;QAAEf,SAAS,EAAE;MAAK,CAAC,CAAC;MAC1C,IAAI;QACF;QACA,MAAMiB,YAAY,GAAG,MAAMP,OAAO,CAACxC,OAAO,CAAC0C,IAAI,CAACvB,QAAQ,CAAC;QACzD,MAAM6B,qBAAqB,GAAG,MAAMR,OAAO,CAACxC,OAAO,CAAC0C,IAAI,CAACtB,eAAe,CAAC;QAEzEL,OAAO,CAACkC,GAAG,CAAC,4BAA4B,EAAEF,YAAY,CAAC;QACvDhC,OAAO,CAACkC,GAAG,CAAC,+BAA+B,EAAED,qBAAqB,CAAC;QAEnE,IAAID,YAAY,EAAE;UAChB,MAAMG,cAAqC,GAAGC,IAAI,CAACC,KAAK,CAACL,YAAY,CAAC;;UAEtE;UACA,MAAMM,gBAAuC,GAAG,EAAE;UAClD,IAAIC,mBAAmB,GAAG,KAAK;UAE/B,KAAK,MAAMC,OAAO,IAAIL,cAAc,EAAE;YACpC,IAAI,CAACK,OAAO,CAACC,MAAM,EAAE;cACnB;cACA,IAAI;gBACF,MAAMC,WAAW,GAAG,MAAMlC,WAAW,CAACmC,gBAAgB,CAACH,OAAO,CAACI,SAAS,CAAC;gBACzEN,gBAAgB,CAACO,IAAI,CAAC;kBACpB,GAAGL,OAAO;kBACVC,MAAM,EAAEC,WAAW,CAACI;gBACtB,CAAC,CAAC;gBACFP,mBAAmB,GAAG,IAAI;gBAC1BvC,OAAO,CAACkC,GAAG,CAAC,oBAAoBM,OAAO,CAACI,SAAS,aAAaF,WAAW,CAACI,EAAE,EAAE,CAAC;cACjF,CAAC,CAAC,OAAO/C,KAAK,EAAE;gBACd;gBACAC,OAAO,CAACkC,GAAG,CAAC,4BAA4BM,OAAO,CAACI,SAAS,GAAG,EAAE7C,KAAK,CAAC;gBACpEwC,mBAAmB,GAAG,IAAI;cAC5B;YACF,CAAC,MAAM;cACL;cACAD,gBAAgB,CAACO,IAAI,CAACL,OAAO,CAAC;YAChC;UACF;;UAEA;UACA,IAAID,mBAAmB,EAAE;YACvB,MAAMQ,qBAAqB,CAACT,gBAAgB,CAAC;UAC/C;UAEAf,WAAW,CAACe,gBAAgB,CAAC;UAE7B,IAAIL,qBAAqB,IAAIK,gBAAgB,CAACU,MAAM,GAAG,CAAC,EAAE;YACxD,MAAMC,aAAa,GAAGX,gBAAgB,CAACY,IAAI,CAACC,CAAC,IAAIA,CAAC,CAACP,SAAS,KAAKX,qBAAqB,CAAC;YAEvF,IAAIgB,aAAa,EAAE;cACjBjD,OAAO,CAACkC,GAAG,CAAC,mCAAmC,EAAEe,aAAa,CAAC;;cAE/D;cACA,IAAI;gBACF,MAAMG,UAAU,GAAG,MAAM5C,WAAW,CAAC6C,eAAe,CAACJ,aAAa,CAACL,SAAS,CAAC;gBAE7E,IAAIQ,UAAU,CAACE,KAAK,EAAE;kBACpBtD,OAAO,CAACkC,GAAG,CAAC,6CAA6C,CAAC;kBAC1DV,kBAAkB,CAACyB,aAAa,CAACL,SAAS,CAAC;;kBAE3C;kBACA,MAAMpC,WAAW,CAAC+C,iBAAiB,CAACN,aAAa,CAACL,SAAS,CAAC;;kBAE5D;kBACA,MAAMY,QAAQ,GAAG,MAAMhD,WAAW,CAACmC,gBAAgB,CAACM,aAAa,CAACL,SAAS,CAAC;kBAC5E5B,YAAY,CAACwC,QAAQ,CAAC;kBACtBnC,cAAc,CAAC;oBACbyB,EAAE,EAAEU,QAAQ,CAACV,EAAE;oBACfW,QAAQ,EAAED,QAAQ,CAACC,QAAQ;oBAC3BC,MAAM,EAAEF,QAAQ,CAACE;kBACnB,CAAC,CAAC;kBAEF,IAAIhD,iBAAiB,EAAE;oBACrBA,iBAAiB,CAAC8C,QAAQ,CAAC;kBAC7B;gBACF,CAAC,MAAM;kBACLxD,OAAO,CAACkC,GAAG,CAAC,wCAAwC,CAAC;kBACrD,MAAMyB,oBAAoB,CAACV,aAAa,CAACL,SAAS,CAAC;gBACrD;cACF,CAAC,CAAC,OAAO7C,KAAK,EAAE;gBACdC,OAAO,CAACD,KAAK,CAAC,wCAAwC,EAAEA,KAAK,CAAC;gBAC9D,MAAM4D,oBAAoB,CAACV,aAAa,CAACL,SAAS,CAAC;cACrD;YACF;UACF;QACF;MACF,CAAC,CAAC,OAAOgB,GAAG,EAAE;QACZ5D,OAAO,CAACD,KAAK,CAAC,mCAAmC,EAAE6D,GAAG,CAAC;QACvD,MAAMC,eAAe,CAAC,CAAC;MACzB,CAAC,SAAS;QACRjF,YAAY,CAACkD,QAAQ,CAAC;UAAEf,SAAS,EAAE;QAAM,CAAC,CAAC;MAC7C;IACF,CAAC;IAED,IAAIU,OAAO,EAAE;MACXM,QAAQ,CAAC,CAAC;IACZ;EACF,CAAC,EAAE,CAACN,OAAO,EAAEjB,WAAW,EAAEmB,IAAI,EAAEjB,iBAAiB,CAAC,CAAC;;EAEnD;EACA,MAAMiD,oBAAoB,GAAGpF,WAAW,CAAC,MAAOqE,SAAiB,IAAoB;IACnF,MAAMkB,gBAAgB,GAAG1D,QAAQ,CAAC2D,MAAM,CAACZ,CAAC,IAAIA,CAAC,CAACP,SAAS,KAAKA,SAAS,CAAC;IACxErB,WAAW,CAACuC,gBAAgB,CAAC;IAC7B,MAAMf,qBAAqB,CAACe,gBAAgB,CAAC;;IAE7C;IACA,IAAIA,gBAAgB,CAACd,MAAM,GAAG,CAAC,EAAE;MAC/B,MAAMgB,eAAe,CAACF,gBAAgB,CAAC,CAAC,CAAC,CAAClB,SAAS,CAAC;IACtD,CAAC,MAAM;MACL;MACApB,kBAAkB,CAAC,IAAI,CAAC;MACxBN,WAAW,CAAC,CAAC;MACbG,cAAc,CAAC,IAAI,CAAC;MACpB,MAAMI,OAAO,EAAEnC,UAAU,CAACqC,IAAI,CAACtB,eAAe,CAAC;MAE/C,IAAIK,iBAAiB,EAAE;QACrBA,iBAAiB,CAAC,IAAI,CAAC;MACzB;IACF;EACF,CAAC,EAAE,CAACN,QAAQ,EAAEqB,OAAO,EAAEE,IAAI,EAAEjB,iBAAiB,EAAEQ,WAAW,CAAC,CAAC;;EAE7D;EACA,MAAM6B,qBAAqB,GAAGxE,WAAW,CAAC,MAAO0F,YAAmC,IAAoB;IACtG,IAAI,CAACxC,OAAO,EAAE;IACd,MAAMA,OAAO,CAACrC,OAAO,CAACuC,IAAI,CAACvB,QAAQ,EAAEgC,IAAI,CAAC8B,SAAS,CAACD,YAAY,CAAC,CAAC;EACpE,CAAC,EAAE,CAACxC,OAAO,EAAEE,IAAI,CAACvB,QAAQ,CAAC,CAAC;;EAE5B;EACA,MAAM+D,mBAAmB,GAAG5F,WAAW,CAAC,MAAOqE,SAAiB,IAAoB;IAClF,IAAI,CAACnB,OAAO,EAAE;IACd,MAAMA,OAAO,CAACrC,OAAO,CAACuC,IAAI,CAACtB,eAAe,EAAEuC,SAAS,CAAC;EACxD,CAAC,EAAE,CAACnB,OAAO,EAAEE,IAAI,CAACtB,eAAe,CAAC,CAAC;;EAEnC;EACA,MAAMwD,eAAe,GAAGtF,WAAW,CAAC,YAA2B;IAC7D,IAAI,CAACkD,OAAO,EAAE;IACd,IAAI;MACF,MAAMA,OAAO,CAACnC,UAAU,CAACqC,IAAI,CAACvB,QAAQ,CAAC;MACvC,MAAMqB,OAAO,CAACnC,UAAU,CAACqC,IAAI,CAACtB,eAAe,CAAC;IAChD,CAAC,CAAC,OAAOuD,GAAG,EAAE;MACZ5D,OAAO,CAACD,KAAK,CAAC,6BAA6B,EAAE6D,GAAG,CAAC;IACnD;EACF,CAAC,EAAE,CAACnC,OAAO,EAAEE,IAAI,CAAC,CAAC;;EAEnB;EACA,MAAMqC,eAAe,GAAGzF,WAAW,CAAC,MAAOqE,SAAiB,IAAoB;IAC9E,IAAI;MACFhE,YAAY,CAACkD,QAAQ,CAAC;QAAEf,SAAS,EAAE;MAAK,CAAC,CAAC;;MAE1C;MACA,MAAMP,WAAW,CAAC+C,iBAAiB,CAACX,SAAS,CAAC;;MAE9C;MACA,MAAMY,QAAQ,GAAG,MAAMhD,WAAW,CAACmC,gBAAgB,CAACC,SAAS,CAAC;MAE9DpB,kBAAkB,CAACoB,SAAS,CAAC;MAC7B5B,YAAY,CAACwC,QAAQ,CAAC;MACtBnC,cAAc,CAAC;QACbyB,EAAE,EAAEU,QAAQ,CAACV,EAAE;QACfW,QAAQ,EAAED,QAAQ,CAACC,QAAQ;QAC3BC,MAAM,EAAEF,QAAQ,CAACE;MACnB,CAAC,CAAC;MAEF,MAAMS,mBAAmB,CAACvB,SAAS,CAAC;MAEpC,IAAIlC,iBAAiB,EAAE;QACrBA,iBAAiB,CAAC8C,QAAQ,CAAC;MAC7B;IACF,CAAC,CAAC,OAAOzD,KAAK,EAAE;MACdC,OAAO,CAACD,KAAK,CAAC,uBAAuB,EAAEA,KAAK,CAAC;MAC7CnB,YAAY,CAACkD,QAAQ,CAAC;QAAE/B,KAAK,EAAE;MAA2B,CAAC,CAAC;IAC9D,CAAC,SAAS;MACRnB,YAAY,CAACkD,QAAQ,CAAC;QAAEf,SAAS,EAAE;MAAM,CAAC,CAAC;IAC7C;EACF,CAAC,EAAE,CAACP,WAAW,EAAEE,iBAAiB,EAAEM,YAAY,EAAEmD,mBAAmB,CAAC,CAAC;;EAEvE;EACA,MAAMC,KAAK,GAAG,MAAAA,CAAOX,QAAgB,EAAEY,QAAgB,EAAEC,UAAmB,KAAoB;IAC9F,IAAI,CAAC7C,OAAO,EAAE,MAAM,IAAIxB,KAAK,CAAC,yBAAyB,CAAC;IACxDrB,YAAY,CAACkD,QAAQ,CAAC;MAAEf,SAAS,EAAE,IAAI;MAAEhB,KAAK,EAAE;IAAK,CAAC,CAAC;IAEvD,IAAI;MACF;MACA,MAAMwE,iBAAiB,GAAG9F,aAAa,CAAC+F,oBAAoB,CAAC,CAAC;;MAE9D;MACA,MAAMC,UAAU,GAAG,MAAMhG,aAAa,CAACiG,aAAa,CAAC,CAAC;MAEtD1E,OAAO,CAACkC,GAAG,CAAC,wCAAwC,EAAEqC,iBAAiB,CAAC;MACxEvE,OAAO,CAACkC,GAAG,CAAC,+BAA+B,EAAEuC,UAAU,CAACE,QAAQ,CAAC;MAEjE,MAAMC,QAA6B,GAAG,MAAMpE,WAAW,CAACqE,WAAW,CACjEpB,QAAQ,EACRY,QAAQ,EACRC,UAAU,IAAIG,UAAU,CAACH,UAAU,IAAI7F,aAAa,CAACqG,oBAAoB,CAAC,CAAC,EAC3EP,iBACF,CAAC;;MAED;MACA,MAAMQ,aAAkC,GAAG;QACzCnC,SAAS,EAAEgC,QAAQ,CAAChC,SAAS;QAC7B+B,QAAQ,EAAEC,QAAQ,CAACD,QAAQ;QAC3BK,SAAS,EAAEJ,QAAQ,CAACI,SAAS;QAC7BC,UAAU,EAAE,IAAIC,IAAI,CAAC,CAAC,CAACC,WAAW,CAAC,CAAC;QACpC1C,MAAM,EAAEmC,QAAQ,CAAChE,IAAI,CAACkC;MACxB,CAAC;;MAED;MACA,MAAMsC,wBAAwB,GAAGhF,QAAQ,CAACiF,SAAS,CAAClC,CAAC,IACnDA,CAAC,CAACV,MAAM,KAAKmC,QAAQ,CAAChE,IAAI,CAACkC,EAC7B,CAAC;MAED,IAAIwC,eAAsC;MAE1C,IAAIF,wBAAwB,KAAK,CAAC,CAAC,EAAE;QACnC;QACA,MAAMG,eAAe,GAAGnF,QAAQ,CAACgF,wBAAwB,CAAC;QAC1DE,eAAe,GAAG,CAAC,GAAGlF,QAAQ,CAAC;QAC/BkF,eAAe,CAACF,wBAAwB,CAAC,GAAGL,aAAa;QAEzD/E,OAAO,CAACkC,GAAG,CAAC,8CAA8C0C,QAAQ,CAAChE,IAAI,CAACkC,EAAE,uBAAuByC,eAAe,CAAC3C,SAAS,kBAAkBgC,QAAQ,CAAChC,SAAS,EAAE,CAAC;;QAEjK;QACA,IAAIvC,eAAe,KAAKkF,eAAe,CAAC3C,SAAS,EAAE;UACjDpB,kBAAkB,CAACoD,QAAQ,CAAChC,SAAS,CAAC;UACtC,MAAMuB,mBAAmB,CAACS,QAAQ,CAAChC,SAAS,CAAC;QAC/C;MACF,CAAC,MAAM;QACL;QACA0C,eAAe,GAAG,CAAC,GAAGlF,QAAQ,EAAE2E,aAAa,CAAC;QAC9C/E,OAAO,CAACkC,GAAG,CAAC,8BAA8B0C,QAAQ,CAAChE,IAAI,CAACkC,EAAE,cAAc8B,QAAQ,CAACD,QAAQ,EAAE,CAAC;MAC9F;MAEApD,WAAW,CAAC+D,eAAe,CAAC;MAC5B,MAAMvC,qBAAqB,CAACuC,eAAe,CAAC;;MAE5C;MACA9D,kBAAkB,CAACoD,QAAQ,CAAChC,SAAS,CAAC;MACtC,MAAMuB,mBAAmB,CAACS,QAAQ,CAAChC,SAAS,CAAC;;MAE7C;MACA,MAAMpC,WAAW,CAAC+C,iBAAiB,CAACqB,QAAQ,CAAChC,SAAS,CAAC;;MAEvD;MACA,MAAMY,QAAQ,GAAG,MAAMhD,WAAW,CAACmC,gBAAgB,CAACiC,QAAQ,CAAChC,SAAS,CAAC;MACvE5B,YAAY,CAACwC,QAAQ,CAAC;MACtBnC,cAAc,CAACuD,QAAQ,CAAChE,IAAI,CAAC;MAE7B,IAAIF,iBAAiB,EAAE;QACrBA,iBAAiB,CAAC8C,QAAQ,CAAC;MAC7B;MAEA,OAAOA,QAAQ;IACjB,CAAC,CAAC,OAAOzD,KAAU,EAAE;MACnBkB,YAAY,CAAClB,KAAK,CAACyF,OAAO,IAAI,cAAc,CAAC;MAC7C,MAAMzF,KAAK;IACb,CAAC,SAAS;MACRnB,YAAY,CAACkD,QAAQ,CAAC;QAAEf,SAAS,EAAE;MAAM,CAAC,CAAC;IAC7C;EACF,CAAC;;EAED;EACA,MAAMI,MAAM,GAAG,MAAOsE,eAAwB,IAAoB;IAChE,IAAI,CAACpF,eAAe,EAAE;IAEtB,IAAI;MACF,MAAMqF,eAAe,GAAGD,eAAe,IAAIpF,eAAe;MAC1D,MAAMG,WAAW,CAACmF,mBAAmB,CAACtF,eAAe,EAAEqF,eAAe,CAAC;;MAEvE;MACA,MAAM5B,gBAAgB,GAAG1D,QAAQ,CAAC2D,MAAM,CAACZ,CAAC,IAAIA,CAAC,CAACP,SAAS,KAAK8C,eAAe,CAAC;MAC9EnE,WAAW,CAACuC,gBAAgB,CAAC;MAC7B,MAAMf,qBAAqB,CAACe,gBAAgB,CAAC;;MAE7C;MACA,IAAI4B,eAAe,KAAKrF,eAAe,EAAE;QACvC,IAAIyD,gBAAgB,CAACd,MAAM,GAAG,CAAC,EAAE;UAC/B;UACA,MAAMgB,eAAe,CAACF,gBAAgB,CAAC,CAAC,CAAC,CAAClB,SAAS,CAAC;QACtD,CAAC,MAAM;UACL;UACApB,kBAAkB,CAAC,IAAI,CAAC;UACxBN,WAAW,CAAC,CAAC;UACbG,cAAc,CAAC,IAAI,CAAC;UACpB,MAAMI,OAAO,EAAEnC,UAAU,CAACqC,IAAI,CAACtB,eAAe,CAAC;UAE/C,IAAIK,iBAAiB,EAAE;YACrBA,iBAAiB,CAAC,IAAI,CAAC;UACzB;QACF;MACF;IACF,CAAC,CAAC,OAAOX,KAAK,EAAE;MACdC,OAAO,CAACD,KAAK,CAAC,eAAe,EAAEA,KAAK,CAAC;MACrCnB,YAAY,CAACkD,QAAQ,CAAC;QAAE/B,KAAK,EAAE;MAAgB,CAAC,CAAC;IACnD;EACF,CAAC;;EAED;EACA,MAAM6F,SAAS,GAAG,MAAAA,CAAA,KAA2B;IAC3C5F,OAAO,CAACkC,GAAG,CAAC,wCAAwC,EAAE7B,eAAe,CAAC;IAEtE,IAAI,CAACA,eAAe,EAAE;MACpBL,OAAO,CAACD,KAAK,CAAC,+CAA+C,CAAC;MAC9DnB,YAAY,CAACkD,QAAQ,CAAC;QAAE/B,KAAK,EAAE;MAA0B,CAAC,CAAC;MAC3D,MAAM,IAAIE,KAAK,CAAC,yBAAyB,CAAC;IAC5C;IAEA,IAAI,CAACO,WAAW,EAAE;MAChBR,OAAO,CAACD,KAAK,CAAC,6BAA6B,CAAC;MAC5CnB,YAAY,CAACkD,QAAQ,CAAC;QAAE/B,KAAK,EAAE;MAAwB,CAAC,CAAC;MACzD,MAAM,IAAIE,KAAK,CAAC,uBAAuB,CAAC;IAC1C;IAEA,IAAI;MACFD,OAAO,CAACkC,GAAG,CAAC,6DAA6D,EAAE7B,eAAe,CAAC;MAC3F,MAAMG,WAAW,CAACqF,uBAAuB,CAACxF,eAAe,CAAC;MAC1DL,OAAO,CAACkC,GAAG,CAAC,gDAAgD,CAAC;;MAE7D;MACAX,WAAW,CAAC,EAAE,CAAC;MACfC,kBAAkB,CAAC,IAAI,CAAC;MACxBN,WAAW,CAAC,CAAC;MACbG,cAAc,CAAC,IAAI,CAAC;MACpB,MAAMwC,eAAe,CAAC,CAAC;MACvB7D,OAAO,CAACkC,GAAG,CAAC,uBAAuB,CAAC;MAEpC,IAAIxB,iBAAiB,EAAE;QACrBA,iBAAiB,CAAC,IAAI,CAAC;QACvBV,OAAO,CAACkC,GAAG,CAAC,mCAAmC,CAAC;MAClD;IACF,CAAC,CAAC,OAAOnC,KAAK,EAAE;MACdC,OAAO,CAACD,KAAK,CAAC,mBAAmB,EAAEA,KAAK,CAAC;MACzCnB,YAAY,CAACkD,QAAQ,CAAC;QAAE/B,KAAK,EAAE,sBAAsBA,KAAK,YAAYE,KAAK,GAAGF,KAAK,CAACyF,OAAO,GAAG,eAAe;MAAG,CAAC,CAAC;MAClH,MAAMzF,KAAK;IACb;EACF,CAAC;;EAED;EACA,MAAM+F,MAAM,GAAG,MAAAA,CAAOrC,QAAgB,EAAEsC,KAAa,EAAE1B,QAAgB,KAAoB;IACzF,IAAI,CAAC5C,OAAO,EAAE,MAAM,IAAIxB,KAAK,CAAC,yBAAyB,CAAC;IAExDrB,YAAY,CAACkD,QAAQ,CAAC;MAAEf,SAAS,EAAE,IAAI;MAAEhB,KAAK,EAAE;IAAK,CAAC,CAAC;IAEvD,IAAI;MACF;MACA,MAAM6E,QAAQ,GAAG,MAAMpE,WAAW,CAACsF,MAAM,CAACrC,QAAQ,EAAEsC,KAAK,EAAE1B,QAAQ,CAAC;MAEpErE,OAAO,CAACkC,GAAG,CAAC,oBAAoB,EAAE0C,QAAQ,CAAC;;MAE3C;MACA;MACA,MAAMhE,IAAI,GAAG,MAAMwD,KAAK,CAACX,QAAQ,EAAEY,QAAQ,CAAC;MAE5C,OAAOzD,IAAI;IACb,CAAC,CAAC,OAAOb,KAAU,EAAE;MACnBkB,YAAY,CAAClB,KAAK,CAACyF,OAAO,IAAI,gBAAgB,CAAC;MAC/C,MAAMzF,KAAK;IACb,CAAC,SAAS;MACRnB,YAAY,CAACkD,QAAQ,CAAC;QAAEf,SAAS,EAAE;MAAM,CAAC,CAAC;IAC7C;EACF,CAAC;;EAED;EACA,MAAMiF,aAAa,GAAG,MAAOpD,SAAiB,IAAoB;IAChE,MAAMoB,eAAe,CAACpB,SAAS,CAAC;EAClC,CAAC;;EAED;EACA,MAAMqD,aAAa,GAAG,MAAOrD,SAAiB,IAAoB;IAChE,MAAMzB,MAAM,CAACyB,SAAS,CAAC;EACzB,CAAC;;EAED;EACA,MAAMsD,eAAe,GAAG,MAAAA,CAAA,KAA2B;IACjD,IAAI,CAAC7F,eAAe,EAAE;IAEtB,IAAI;MACF,MAAM8F,cAAc,GAAG,MAAM3F,WAAW,CAAC4F,sBAAsB,CAAC/F,eAAe,CAAC;;MAEhF;MACA,MAAMiF,eAAsC,GAAGa,cAAc,CAACE,GAAG,CAACC,aAAa,KAAK;QAClF1D,SAAS,EAAE0D,aAAa,CAAC1D,SAAS;QAClC+B,QAAQ,EAAE2B,aAAa,CAAC3B,QAAQ;QAChCK,SAAS,EAAE,IAAIE,IAAI,CAAC,CAAC,CAACC,WAAW,CAAC,CAAC;QAAE;QACrCF,UAAU,EAAE,IAAIC,IAAI,CAAC,CAAC,CAACC,WAAW,CAAC;MACrC,CAAC,CAAC,CAAC;MAEH5D,WAAW,CAAC+D,eAAe,CAAC;MAC5B,MAAMvC,qBAAqB,CAACuC,eAAe,CAAC;IAC9C,CAAC,CAAC,OAAOvF,KAAK,EAAE;MACdC,OAAO,CAACD,KAAK,CAAC,yBAAyB,EAAEA,KAAK,CAAC;IACjD;EACF,CAAC;;EAED;EACA,MAAMwG,iBAAiB,GAAG,MAAAA,CAAA,KAA4B;IACpD,IAAI,CAAClG,eAAe,EAAE,MAAM,IAAIJ,KAAK,CAAC,mBAAmB,CAAC;IAE1D,IAAI;MACF,OAAO,MAAMO,WAAW,CAAC+F,iBAAiB,CAAClG,eAAe,CAAC;IAC7D,CAAC,CAAC,OAAON,KAAK,EAAE;MACdC,OAAO,CAACD,KAAK,CAAC,4BAA4B,EAAEA,KAAK,CAAC;MAClD,MAAMA,KAAK;IACb;EACF,CAAC;EAED,MAAMyG,uBAAuB,GAAG,MAAAA,CAAA,KAA2B;IACzD,IAAI,CAACnG,eAAe,EAAE,MAAM,IAAIJ,KAAK,CAAC,mBAAmB,CAAC;IAE1D,IAAI;MACF,MAAMO,WAAW,CAACgG,uBAAuB,CAACnG,eAAe,CAAC;;MAE1D;MACAkB,WAAW,CAAC,EAAE,CAAC;MACfC,kBAAkB,CAAC,IAAI,CAAC;MACxBN,WAAW,CAAC,CAAC;MACbG,cAAc,CAAC,IAAI,CAAC;MACpB,MAAMwC,eAAe,CAAC,CAAC;MAEvB,IAAInD,iBAAiB,EAAE;QACrBA,iBAAiB,CAAC,IAAI,CAAC;MACzB;IACF,CAAC,CAAC,OAAOX,KAAK,EAAE;MACdC,OAAO,CAACD,KAAK,CAAC,mCAAmC,EAAEA,KAAK,CAAC;MACzD,MAAMA,KAAK;IACb;EACF,CAAC;EAED,MAAM0G,gBAAgB,GAAG,MAAOnC,UAAkB,IAAoB;IACpE,IAAI,CAACjE,eAAe,EAAE,MAAM,IAAIJ,KAAK,CAAC,mBAAmB,CAAC;IAE1D,IAAI;MACF,MAAMO,WAAW,CAACiG,gBAAgB,CAACpG,eAAe,EAAEiE,UAAU,CAAC;;MAE/D;MACA,MAAM7F,aAAa,CAACgI,gBAAgB,CAACnC,UAAU,CAAC;IAClD,CAAC,CAAC,OAAOvE,KAAK,EAAE;MACdC,OAAO,CAACD,KAAK,CAAC,2BAA2B,EAAEA,KAAK,CAAC;MACjD,MAAMA,KAAK;IACb;EACF,CAAC;;EAED;EACA,MAAM2G,eAAe,GAAGnI,WAAW,CAAEoI,cAAyE,IAAK;IACjH3G,OAAO,CAACkC,GAAG,CAAC,8BAA8B,EAAEyE,cAAc,CAAC;IAE3D,IAAIhG,cAAc,EAAEiG,OAAO,EAAE;MAC3B5G,OAAO,CAACkC,GAAG,CAAC,6BAA6B,CAAC;;MAE1C;MACA,IAAIvB,cAAc,CAACiG,OAAO,CAACC,MAAM,EAAE;QACjC7G,OAAO,CAACkC,GAAG,CAAC,wBAAwB,CAAC;QACrCvB,cAAc,CAACiG,OAAO,CAACC,MAAM,CAAC,CAAC;MACjC,CAAC,MAAM,IAAIlG,cAAc,CAACiG,OAAO,CAACE,OAAO,EAAE;QACzC9G,OAAO,CAACkC,GAAG,CAAC,yBAAyB,CAAC;QACtCvB,cAAc,CAACiG,OAAO,CAACE,OAAO,CAAC,CAAC;MAClC,CAAC,MAAM;QACL9G,OAAO,CAAC+G,IAAI,CAAC,yDAAyD,CAAC;MACzE;;MAEA;MACA,IAAIJ,cAAc,EAAE;QAClB;QACAK,UAAU,CAAC,MAAM;UACf,IAAI,OAAOL,cAAc,KAAK,QAAQ,EAAE;YACtC;YACA3G,OAAO,CAACkC,GAAG,CAAC,uBAAuB,EAAEyE,cAAc,CAAC;YACpDhG,cAAc,CAACiG,OAAO,EAAEK,iBAAiB,GAAGN,cAAc,CAAC;UAC7D,CAAC,MAAM;YACL;YACA3G,OAAO,CAACkC,GAAG,CAAC,kCAAkC,EAAEyE,cAAc,CAACO,MAAM,EAAEP,cAAc,CAACQ,KAAK,CAAC;YAC5FxG,cAAc,CAACiG,OAAO,EAAEK,iBAAiB,GAAGN,cAAc,CAACO,MAAM,EAAEP,cAAc,CAACQ,KAAK,CAAC;UAC1F;QACF,CAAC,EAAE,GAAG,CAAC;MACT;IACF,CAAC,MAAM;MACLnH,OAAO,CAAC+G,IAAI,CAAC,iCAAiC,CAAC;IACjD;EACF,CAAC,EAAE,CAACpG,cAAc,CAAC,CAAC;EAEpB,MAAMyG,eAAe,GAAG7I,WAAW,CAAC,MAAM;IACxC,IAAIoC,cAAc,EAAEiG,OAAO,EAAE;MAC3BjG,cAAc,CAACiG,OAAO,CAACS,OAAO,GAAG,CAAC;IACpC;EACF,CAAC,EAAE,CAAC1G,cAAc,CAAC,CAAC;;EAEpB;EACAX,OAAO,CAACkC,GAAG,CAAC,4BAA4B,EAAEtB,IAAI,EAAEkC,EAAE,EAAE,SAAS,EAAEtC,WAAW,CAAC8G,UAAU,CAAC,CAAC,CAAC;EACxF5I,gBAAgB,CAAC;IACf+D,MAAM,EAAE7B,IAAI,EAAEkC,EAAE;IAChBzC,eAAe;IACf6F,eAAe;IACf/E,MAAM,EAAEA,CAAA,KAAMA,MAAM,CAAC,CAAC;IACtBoG,OAAO,EAAE/G,WAAW,CAAC8G,UAAU,CAAC,CAAC;IACjCE,eAAe,EAAEA,CAAA,KAAM;MACrB7I,KAAK,CAAC8I,IAAI,CAAC,oCAAoC,CAAC;MAChDtG,MAAM,CAAC,CAAC;IACV;EACF,CAAC,CAAC;;EAEF;EACA,MAAMuG,YAA6B,GAAG;IACpC9G,IAAI;IACJQ,WAAW;IACXhB,QAAQ;IACRC,eAAe;IACfS,eAAe;IACfC,SAAS;IACThB,KAAK;IACLqE,KAAK;IACLjD,MAAM;IACNyE,SAAS,EAAE,MAAAA,CAAA,KAAY;MAAE,MAAMzE,MAAM,CAAC,CAAC;IAAE,CAAC;IAC1C2E,MAAM,EAAE,MAAAA,CAAOrC,QAAQ,EAAEsC,KAAK,EAAE1B,QAAQ,KAAK;MAC3C,MAAMyB,MAAM,CAACrC,QAAQ,EAAEsC,KAAK,EAAE1B,QAAQ,CAAC;MACvC,OAAOzD,IAAI,CAAS,CAAC;IACvB,CAAC;IACDoF,aAAa,EAAE,MAAOpD,SAAS,IAAK;MAAE,MAAMoB,eAAe,CAACpB,SAAS,CAAC;IAAE,CAAC;IACzEqD,aAAa,EAAE,MAAOrD,SAAS,IAAK;MAAE,MAAMqD,aAAa,CAACrD,SAAS,CAAC;IAAE,CAAC;IACvEsD,eAAe,EAAE,MAAAA,CAAA,KAAY;MAAE,MAAMA,eAAe,CAAC,CAAC;IAAE,CAAC;IACzDK,iBAAiB,EAAE,MAAAA,CAAA,KAAY;MAAE,OAAO,MAAMA,iBAAiB,CAAC,CAAC;IAAE,CAAC;IACpEC,uBAAuB,EAAE,MAAAA,CAAA,KAAY;MAAE,MAAMA,uBAAuB,CAAC,CAAC;IAAE,CAAC;IACzEC,gBAAgB,EAAE,MAAOnC,UAAU,IAAK;MAAE,MAAMmC,gBAAgB,CAACnC,UAAU,CAAC;IAAE,CAAC;IAC/E9D,WAAW;IACXG,cAAc;IACd+F,eAAe;IACfU;EACF,CAAC;EAED,oBACEtI,IAAA,CAACC,UAAU,CAAC4I,QAAQ;IAACtI,KAAK,EAAEqI,YAAa;IAAAnH,QAAA,EACtCA;EAAQ,CACU,CAAC;AAE1B,CAAC;;AAED;AACA,OAAO,MAAMqH,MAAM,GAAGA,CAAA,KAAuB;EAC3C,MAAMC,OAAO,GAAGxJ,UAAU,CAACU,UAAU,CAAC;EACtC,IAAI,CAAC8I,OAAO,EAAE;IACZ,MAAM,IAAI5H,KAAK,CAAC,kDAAkD,CAAC;EACrE;EACA,OAAO4H,OAAO;AAChB,CAAC;AAED,eAAe9I,UAAU","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 [website, setWebsite] = useState('');
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 [tempWebsite, setTempWebsite] = useState('');
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?.full || user.name?.first || '';
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
- setWebsite(user.website || '');
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
- website
101
+ links
96
102
  };
97
103
 
98
104
  // Handle name field
99
- if (displayName) {
100
- updates.name = displayName;
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 oxyServices.updateProfile(updates);
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(currentValue);
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 'website':
150
- setTempWebsite(currentValue);
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 'website':
175
- setWebsite(tempWebsite);
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
- website: 'Website'
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
- website: {
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
- website: {
279
- label: 'Website',
280
- value: website,
281
- placeholder: 'Enter your website URL',
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 'website':
303
- return tempWebsite;
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 'website':
326
- setTempWebsite(text);
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, '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)]
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('website', 'Website', website, 'Add your website', 'link', '#32D74B', false, 'url', false, true)]
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, {