react-native-inapp-inspector 1.0.4 → 1.0.5

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (46) hide show
  1. package/README.md +3 -3
  2. package/dist/commonjs/components/AnalyticsEventCard.js +10 -10
  3. package/dist/commonjs/components/CodeSnippet.js +233 -10
  4. package/dist/commonjs/components/ConsoleLogCard.js +55 -9
  5. package/dist/commonjs/components/CopyButton.js +2 -1
  6. package/dist/commonjs/components/ErrorBoundary.d.ts +20 -0
  7. package/dist/commonjs/components/ErrorBoundary.js +332 -0
  8. package/dist/commonjs/components/NetworkIcons.d.ts +5 -0
  9. package/dist/commonjs/components/NetworkIcons.js +45 -1
  10. package/dist/commonjs/customHooks/reduxLogger.d.ts +4 -0
  11. package/dist/commonjs/customHooks/reduxLogger.js +30 -0
  12. package/dist/commonjs/customHooks/webViewLogger.d.ts +2 -0
  13. package/dist/commonjs/customHooks/webViewLogger.js +281 -246
  14. package/dist/commonjs/helpers/index.js +2 -1
  15. package/dist/commonjs/index.d.ts +5 -3
  16. package/dist/commonjs/index.js +685 -911
  17. package/dist/commonjs/styles/AppColors.d.ts +29 -1
  18. package/dist/commonjs/styles/AppColors.js +38 -2
  19. package/dist/commonjs/styles/index.d.ts +438 -229
  20. package/dist/commonjs/styles/index.js +448 -209
  21. package/dist/commonjs/types/index.d.ts +2 -2
  22. package/dist/esm/components/AnalyticsEventCard.js +10 -10
  23. package/dist/esm/components/CodeSnippet.js +232 -12
  24. package/dist/esm/components/ConsoleLogCard.js +55 -9
  25. package/dist/esm/components/CopyButton.js +2 -1
  26. package/dist/esm/components/ErrorBoundary.d.ts +20 -0
  27. package/dist/esm/components/ErrorBoundary.js +295 -0
  28. package/dist/esm/components/NetworkIcons.d.ts +5 -0
  29. package/dist/esm/components/NetworkIcons.js +39 -0
  30. package/dist/esm/customHooks/reduxLogger.d.ts +4 -0
  31. package/dist/esm/customHooks/reduxLogger.js +23 -0
  32. package/dist/esm/customHooks/webViewLogger.d.ts +2 -0
  33. package/dist/esm/customHooks/webViewLogger.js +281 -246
  34. package/dist/esm/helpers/index.js +2 -1
  35. package/dist/esm/index.d.ts +5 -3
  36. package/dist/esm/index.js +683 -914
  37. package/dist/esm/styles/AppColors.d.ts +29 -1
  38. package/dist/esm/styles/AppColors.js +35 -1
  39. package/dist/esm/styles/index.d.ts +438 -229
  40. package/dist/esm/styles/index.js +412 -209
  41. package/dist/esm/types/index.d.ts +2 -2
  42. package/example/App.tsx +351 -127
  43. package/example/ios/Podfile.lock +26 -0
  44. package/example/package-lock.json +20 -4
  45. package/example/package.json +4 -3
  46. package/package.json +1 -1
@@ -1,15 +1,14 @@
1
1
  import { StyleSheet, Platform, StatusBar } from 'react-native';
2
- import { AppColors } from './AppColors';
3
- // Utils
2
+ import AppColors, { updateAppColorsTheme, getThemeColors } from './AppColors';
4
3
  import { AppFonts } from './AppFonts';
5
- const styles = StyleSheet.create({
4
+ export const getRawStyles = (colors) => ({
6
5
  header: {
7
6
  flexDirection: 'row',
8
7
  alignItems: 'center',
9
- paddingHorizontal: 16,
10
- paddingVertical: 12,
8
+ paddingHorizontal: 12,
9
+ paddingVertical: 8,
11
10
  zIndex: 10,
12
- minHeight: 56,
11
+ minHeight: 48,
13
12
  shadowColor: '#000000',
14
13
  shadowOffset: { width: 0, height: 2 },
15
14
  shadowOpacity: 0.08,
@@ -26,33 +25,40 @@ const styles = StyleSheet.create({
26
25
  },
27
26
  headerTitle: {
28
27
  fontFamily: AppFonts.interBold,
29
- color: AppColors.primaryLight,
28
+ color: colors.primaryLight,
30
29
  fontSize: 18,
31
30
  letterSpacing: 0.3,
32
31
  },
33
32
  headerButtonGroup: {
34
33
  flexDirection: 'row',
35
34
  alignItems: 'center',
36
- backgroundColor: 'rgba(255, 255, 255, 0.15)',
37
- borderRadius: 8,
35
+ backgroundColor: 'rgba(255, 255, 255, 0.1)',
36
+ borderRadius: 10,
38
37
  padding: 3,
38
+ borderWidth: 1,
39
+ borderColor: 'rgba(255, 255, 255, 0.08)',
39
40
  },
40
41
  headerGroupButton: {
41
42
  flexDirection: 'row',
42
43
  alignItems: 'center',
43
- paddingHorizontal: 12,
44
+ paddingHorizontal: 8,
44
45
  paddingVertical: 6,
45
- borderRadius: 6,
46
+ borderRadius: 8,
46
47
  gap: 4,
47
48
  },
48
49
  headerGroupButtonActive: {
49
- backgroundColor: 'rgba(255, 255, 255, 0.25)',
50
+ backgroundColor: 'rgba(255, 255, 255, 0.22)',
51
+ shadowColor: '#000000',
52
+ shadowOffset: { width: 0, height: 1 },
53
+ shadowOpacity: 0.12,
54
+ shadowRadius: 2,
55
+ elevation: 2,
50
56
  },
51
57
  headerGroupButtonText: {
52
- fontFamily: AppFonts.interBold,
53
- fontSize: 14,
54
- color: 'rgba(255, 255, 255, 0.6)',
55
- letterSpacing: 0.2,
58
+ fontFamily: AppFonts.interMedium,
59
+ fontSize: 10.5,
60
+ color: 'rgba(255, 255, 255, 0.65)',
61
+ letterSpacing: 0.1,
56
62
  },
57
63
  headerDetailCenter: {
58
64
  alignItems: 'center',
@@ -77,13 +83,13 @@ const styles = StyleSheet.create({
77
83
  },
78
84
  headerMethodText: {
79
85
  fontFamily: AppFonts.interBold,
80
- color: AppColors.primaryLight,
86
+ color: colors.primaryLight,
81
87
  fontSize: 10,
82
88
  letterSpacing: 0.5,
83
89
  },
84
90
  headerDetailTitle: {
85
91
  fontFamily: AppFonts.interMedium,
86
- color: AppColors.primaryLight,
92
+ color: colors.primaryLight,
87
93
  fontSize: 15,
88
94
  flexShrink: 1,
89
95
  letterSpacing: 0.2,
@@ -106,7 +112,7 @@ const styles = StyleSheet.create({
106
112
  },
107
113
  headerSubTitle: {
108
114
  fontFamily: AppFonts.interMedium,
109
- color: AppColors.primaryLight,
115
+ color: colors.primaryLight,
110
116
  fontSize: 11,
111
117
  opacity: 0.95,
112
118
  letterSpacing: 0.2,
@@ -134,9 +140,19 @@ const styles = StyleSheet.create({
134
140
  letterSpacing: 0.2,
135
141
  },
136
142
  iconBtnMinimal: { padding: 6 },
137
- listContent: { paddingBottom: 20 },
143
+ closeButtonCircle: {
144
+ width: 32,
145
+ height: 32,
146
+ borderRadius: 16,
147
+ backgroundColor: 'rgba(255, 255, 255, 0.15)',
148
+ alignItems: 'center',
149
+ justifyContent: 'center',
150
+ borderWidth: 1,
151
+ borderColor: 'rgba(255, 255, 255, 0.08)',
152
+ },
153
+ listContent: { paddingBottom: 12 },
138
154
  detailScroll: { flex: 1 },
139
- detailContent: { paddingHorizontal: 8, paddingTop: 10, paddingBottom: 40 },
155
+ detailContent: { paddingHorizontal: 6, paddingTop: 8, paddingBottom: 20 },
140
156
  fabWrapper: {
141
157
  position: 'absolute',
142
158
  bottom: 180,
@@ -145,7 +161,7 @@ const styles = StyleSheet.create({
145
161
  justifyContent: 'center',
146
162
  zIndex: 99999,
147
163
  elevation: 15,
148
- shadowColor: AppColors.purple,
164
+ shadowColor: colors.purple,
149
165
  shadowOffset: { width: 0, height: 8 },
150
166
  shadowOpacity: 0.4,
151
167
  shadowRadius: 12,
@@ -155,7 +171,7 @@ const styles = StyleSheet.create({
155
171
  width: 60,
156
172
  height: 60,
157
173
  borderRadius: 30,
158
- backgroundColor: `${AppColors.purple}25`,
174
+ backgroundColor: `${colors.purple}25`,
159
175
  },
160
176
  fab: {
161
177
  width: 56,
@@ -163,7 +179,8 @@ const styles = StyleSheet.create({
163
179
  borderRadius: 28,
164
180
  alignItems: 'center',
165
181
  justifyContent: 'center',
166
- shadowColor: AppColors.shadowColorString,
182
+ backgroundColor: colors.purple,
183
+ shadowColor: colors.shadowColorString,
167
184
  shadowOffset: { width: 0, height: 6 },
168
185
  shadowOpacity: 0.35,
169
186
  shadowRadius: 10,
@@ -171,7 +188,7 @@ const styles = StyleSheet.create({
171
188
  },
172
189
  fabText: {
173
190
  fontFamily: AppFonts.interBold,
174
- color: AppColors.primaryLight,
191
+ color: colors.primaryLight,
175
192
  fontSize: 14,
176
193
  },
177
194
  fabBadge: {
@@ -185,58 +202,33 @@ const styles = StyleSheet.create({
185
202
  justifyContent: 'center',
186
203
  paddingHorizontal: 6,
187
204
  borderWidth: 2.5,
188
- borderColor: AppColors.primaryLight,
189
- shadowColor: AppColors.shadowColorString,
205
+ borderColor: colors.primaryLight,
206
+ shadowColor: colors.shadowColorString,
190
207
  shadowOffset: { width: 0, height: 2 },
191
208
  shadowOpacity: 0.2,
192
209
  shadowRadius: 3,
193
210
  elevation: 3,
194
211
  },
195
- fabBadgeNormal: { backgroundColor: AppColors.purple },
196
- fabBadgeError: { backgroundColor: AppColors.errorColor },
212
+ fabBadgeNormal: { backgroundColor: colors.purple },
213
+ fabBadgeError: { backgroundColor: colors.errorColor },
197
214
  fabBadgeText: {
198
215
  fontFamily: AppFonts.interBold,
199
- color: AppColors.primaryLight,
216
+ color: colors.primaryLight,
200
217
  fontSize: 11,
201
218
  },
202
- dashboardCard: {
203
- marginHorizontal: 16,
204
- marginBottom: 16,
205
- backgroundColor: AppColors.primaryLight,
206
- borderRadius: 16,
207
- borderWidth: 1,
208
- borderColor: AppColors.grayBorderSecondary,
209
- shadowColor: '#000000',
210
- shadowOffset: { width: 0, height: 4 },
211
- shadowOpacity: 0.09,
212
- shadowRadius: 12,
213
- elevation: 6,
214
- overflow: 'hidden',
215
- },
216
- dashboardStatsRow: {
217
- flexDirection: 'row',
218
- paddingVertical: 14,
219
- paddingHorizontal: 8,
220
- },
221
219
  statBox: {
222
220
  flex: 1,
223
221
  alignItems: 'center',
224
222
  justifyContent: 'center',
225
223
  },
226
- dashboardStatDivider: {
227
- width: 1,
228
- backgroundColor: AppColors.dividerColor,
229
- height: '80%',
230
- alignSelf: 'center',
231
- },
232
224
  statValue: {
233
225
  fontFamily: AppFonts.interBold,
234
- color: AppColors.primaryBlack,
226
+ color: colors.primaryBlack,
235
227
  fontSize: 14,
236
228
  },
237
229
  statLabel: {
238
230
  fontFamily: AppFonts.interMedium,
239
- color: AppColors.grayTextWeak,
231
+ color: colors.grayTextWeak,
240
232
  fontSize: 10,
241
233
  marginTop: 4,
242
234
  textTransform: 'uppercase',
@@ -252,8 +244,8 @@ const styles = StyleSheet.create({
252
244
  flexDirection: 'row',
253
245
  alignItems: 'center',
254
246
  justifyContent: 'space-between',
255
- paddingHorizontal: 16,
256
- marginBottom: 14,
247
+ paddingHorizontal: 12,
248
+ marginBottom: 10,
257
249
  gap: 10,
258
250
  marginTop: 4,
259
251
  },
@@ -265,18 +257,18 @@ const styles = StyleSheet.create({
265
257
  toolbarDivider: {
266
258
  width: 1,
267
259
  height: 20,
268
- backgroundColor: AppColors.dividerColor,
260
+ backgroundColor: colors.dividerColor,
269
261
  marginHorizontal: 2,
270
262
  },
271
263
  toolbarBtn: {
272
- width: 40,
273
- height: 40,
274
- borderRadius: 20,
264
+ width: 34,
265
+ height: 34,
266
+ borderRadius: 17,
275
267
  alignItems: 'center',
276
268
  justifyContent: 'center',
277
- backgroundColor: AppColors.primaryLight,
269
+ backgroundColor: colors.primaryLight,
278
270
  borderWidth: 1.5,
279
- borderColor: AppColors.grayBorderSecondary,
271
+ borderColor: colors.grayBorderSecondary,
280
272
  shadowColor: '#000000',
281
273
  shadowOffset: { width: 0, height: 1 },
282
274
  shadowOpacity: 0.04,
@@ -284,8 +276,8 @@ const styles = StyleSheet.create({
284
276
  elevation: 1,
285
277
  },
286
278
  toolbarBtnActive: {
287
- borderColor: AppColors.purple,
288
- backgroundColor: AppColors.purpleShade50,
279
+ borderColor: colors.purple,
280
+ backgroundColor: colors.purpleShade50,
289
281
  shadowOpacity: 0.08,
290
282
  shadowRadius: 3,
291
283
  elevation: 2,
@@ -294,46 +286,46 @@ const styles = StyleSheet.create({
294
286
  position: 'absolute',
295
287
  top: -4,
296
288
  right: -4,
297
- backgroundColor: AppColors.errorColor,
289
+ backgroundColor: colors.errorColor,
298
290
  borderRadius: 10,
299
291
  minWidth: 18,
300
292
  height: 18,
301
293
  alignItems: 'center',
302
294
  justifyContent: 'center',
303
295
  borderWidth: 1.5,
304
- borderColor: AppColors.primaryLight,
296
+ borderColor: colors.primaryLight,
305
297
  },
306
298
  trashBadgeText: {
307
- color: AppColors.primaryLight,
299
+ color: colors.primaryLight,
308
300
  fontFamily: AppFonts.interBold,
309
301
  fontSize: 9,
310
302
  },
311
303
  filtersContainer: {
312
- paddingHorizontal: 16,
313
- paddingBottom: 16,
304
+ paddingHorizontal: 12,
305
+ paddingBottom: 10,
314
306
  },
315
307
  filtersHeading: {
316
308
  fontFamily: AppFonts.interBold,
317
- color: AppColors.grayTextStrong,
318
- fontSize: 12,
309
+ color: colors.grayTextStrong,
310
+ fontSize: 11,
319
311
  textTransform: 'uppercase',
320
312
  letterSpacing: 0.6,
321
- marginBottom: 8,
313
+ marginBottom: 6,
322
314
  },
323
315
  statusRowContent: {
324
316
  alignItems: 'center',
325
- paddingVertical: 4,
317
+ paddingVertical: 2,
326
318
  },
327
- statusFilterWrap: { marginRight: 8 },
319
+ statusFilterWrap: { marginRight: 6 },
328
320
  statusFilterChip: {
329
- paddingHorizontal: 16,
330
- height: 38,
321
+ paddingHorizontal: 10,
322
+ height: 30,
331
323
  justifyContent: 'center',
332
324
  alignItems: 'center',
333
325
  borderRadius: 24,
334
326
  borderWidth: 1.5,
335
- borderColor: AppColors.grayBorderSecondary,
336
- backgroundColor: AppColors.primaryLight,
327
+ borderColor: colors.grayBorderSecondary,
328
+ backgroundColor: colors.primaryLight,
337
329
  shadowColor: '#000000',
338
330
  shadowOffset: { width: 0, height: 1 },
339
331
  shadowOpacity: 0.03,
@@ -341,17 +333,17 @@ const styles = StyleSheet.create({
341
333
  elevation: 1,
342
334
  },
343
335
  statusFilterActive: {
344
- borderColor: AppColors.purple,
345
- backgroundColor: AppColors.purpleShade50,
336
+ borderColor: colors.purple,
337
+ backgroundColor: colors.purpleShade50,
346
338
  },
347
339
  statusFilterText: {
348
340
  fontFamily: AppFonts.interMedium,
349
- color: AppColors.grayText,
350
- fontSize: 13,
341
+ color: colors.grayText,
342
+ fontSize: 11.5,
351
343
  },
352
344
  resultCount: {
353
345
  fontFamily: AppFonts.interRegular,
354
- color: AppColors.grayTextWeak,
346
+ color: colors.grayTextWeak,
355
347
  fontSize: 12,
356
348
  marginHorizontal: 16,
357
349
  marginBottom: 8,
@@ -362,12 +354,12 @@ const styles = StyleSheet.create({
362
354
  flex: 1,
363
355
  flexDirection: 'row',
364
356
  alignItems: 'center',
365
- backgroundColor: AppColors.primaryLight,
357
+ backgroundColor: colors.primaryLight,
366
358
  borderRadius: 24,
367
- paddingHorizontal: 14,
368
- paddingVertical: 6,
359
+ paddingHorizontal: 10,
360
+ paddingVertical: 4,
369
361
  borderWidth: 1.5,
370
- borderColor: AppColors.grayBorderSecondary,
362
+ borderColor: colors.grayBorderSecondary,
371
363
  shadowColor: '#000000',
372
364
  shadowOffset: { width: 0, height: 1 },
373
365
  shadowOpacity: 0.04,
@@ -377,25 +369,25 @@ const styles = StyleSheet.create({
377
369
  searchInput: {
378
370
  flex: 1,
379
371
  fontFamily: AppFonts.interRegular,
380
- color: AppColors.primaryBlack,
381
- paddingVertical: Platform.OS === 'ios' ? 8 : 4,
382
- marginLeft: 8,
372
+ color: colors.primaryBlack,
373
+ paddingVertical: Platform.OS === 'ios' ? 5 : 2,
374
+ marginLeft: 6,
383
375
  fontSize: 14,
384
376
  },
385
377
  clearBtn: { padding: 4 },
386
378
  clearBtnText: {
387
379
  fontFamily: AppFonts.interRegular,
388
- color: AppColors.grayTextWeak,
380
+ color: colors.grayTextWeak,
389
381
  fontSize: 14,
390
382
  },
391
383
  menuDropdown: {
392
384
  position: 'absolute',
393
385
  top: Platform.OS === 'android' ? (StatusBar.currentHeight || 24) + 60 : 90,
394
386
  width: 170,
395
- backgroundColor: AppColors.primaryLight,
387
+ backgroundColor: colors.primaryLight,
396
388
  borderRadius: 14,
397
389
  borderWidth: 1,
398
- borderColor: AppColors.grayBorderSecondary,
390
+ borderColor: colors.grayBorderSecondary,
399
391
  zIndex: 999,
400
392
  shadowColor: '#000000',
401
393
  shadowOffset: { width: 0, height: 8 },
@@ -407,13 +399,13 @@ const styles = StyleSheet.create({
407
399
  dropdownItem: {
408
400
  padding: 13,
409
401
  borderBottomWidth: 1,
410
- borderBottomColor: AppColors.dividerColor,
402
+ borderBottomColor: colors.dividerColor,
411
403
  },
412
404
  domainHeaderSeparator: {
413
405
  marginTop: 12,
414
406
  paddingTop: 16,
415
407
  borderTopWidth: 1,
416
- borderTopColor: AppColors.dividerColor,
408
+ borderTopColor: colors.dividerColor,
417
409
  },
418
410
  domainHeaderRow: {
419
411
  flexDirection: 'row',
@@ -448,7 +440,7 @@ const styles = StyleSheet.create({
448
440
  domainTimestamp: {
449
441
  fontFamily: AppFonts.interRegular,
450
442
  fontSize: 10,
451
- color: AppColors.grayTextWeak,
443
+ color: colors.grayTextWeak,
452
444
  },
453
445
  domainMethodCount: {
454
446
  fontFamily: AppFonts.interBold,
@@ -460,9 +452,9 @@ const styles = StyleSheet.create({
460
452
  alignItems: 'center',
461
453
  borderRadius: 8,
462
454
  borderWidth: 1,
463
- borderColor: AppColors.grayBorderSecondary,
455
+ borderColor: colors.grayBorderSecondary,
464
456
  overflow: 'hidden',
465
- backgroundColor: AppColors.grayBackground,
457
+ backgroundColor: colors.grayBackground,
466
458
  },
467
459
  groupBtnItem: {
468
460
  flexDirection: 'row',
@@ -473,7 +465,7 @@ const styles = StyleSheet.create({
473
465
  },
474
466
  groupBtnBorderRight: {
475
467
  borderRightWidth: 1,
476
- borderRightColor: AppColors.grayBorderSecondary,
468
+ borderRightColor: colors.grayBorderSecondary,
477
469
  },
478
470
  domainStatText: {
479
471
  fontFamily: AppFonts.interBold,
@@ -525,10 +517,10 @@ const styles = StyleSheet.create({
525
517
  shadowRadius: 6,
526
518
  elevation: 3,
527
519
  borderWidth: 1,
528
- borderColor: AppColors.grayBorderSecondary,
529
- backgroundColor: AppColors.primaryLight,
520
+ borderColor: colors.grayBorderSecondary,
521
+ backgroundColor: colors.primaryLight,
530
522
  },
531
- cardBody: { paddingHorizontal: 12, paddingTop: 12, paddingBottom: 10 },
523
+ cardBody: { paddingHorizontal: 10, paddingTop: 8, paddingBottom: 8 },
532
524
  cardTopRow: {
533
525
  flexDirection: 'row',
534
526
  alignItems: 'center',
@@ -539,19 +531,19 @@ const styles = StyleSheet.create({
539
531
  height: 13,
540
532
  borderRadius: 4,
541
533
  borderWidth: 1.5,
542
- borderColor: AppColors.grayTextWeak,
534
+ borderColor: colors.grayTextWeak,
543
535
  alignItems: 'center',
544
536
  justifyContent: 'center',
545
537
  backgroundColor: '#fff',
546
538
  marginRight: 8,
547
539
  },
548
540
  smallCheckboxChecked: {
549
- backgroundColor: AppColors.purple,
550
- borderColor: AppColors.purple,
541
+ backgroundColor: colors.purple,
542
+ borderColor: colors.purple,
551
543
  },
552
544
  serialNumber: {
553
545
  fontFamily: AppFonts.interBold,
554
- color: AppColors.grayTextWeak,
546
+ color: colors.grayTextWeak,
555
547
  fontSize: 10,
556
548
  marginRight: 6,
557
549
  minWidth: 20,
@@ -588,7 +580,7 @@ const styles = StyleSheet.create({
588
580
  },
589
581
  cardDateText: {
590
582
  fontFamily: AppFonts.interRegular,
591
- color: AppColors.grayTextWeak,
583
+ color: colors.grayTextWeak,
592
584
  fontSize: 10,
593
585
  letterSpacing: 0.2,
594
586
  },
@@ -600,19 +592,19 @@ const styles = StyleSheet.create({
600
592
  },
601
593
  urlPathText: {
602
594
  fontFamily: AppFonts.interMedium,
603
- color: AppColors.primaryBlack,
595
+ color: colors.primaryBlack,
604
596
  fontSize: 13,
605
597
  flexShrink: 1,
606
598
  },
607
599
  urlDomainText: {
608
600
  fontFamily: AppFonts.interRegular,
609
- color: AppColors.grayText,
601
+ color: colors.grayText,
610
602
  fontSize: 11,
611
603
  flex: 1,
612
604
  },
613
605
  requestTypeText: {
614
606
  fontFamily: AppFonts.interRegular,
615
- color: AppColors.grayText,
607
+ color: colors.grayText,
616
608
  fontSize: 10,
617
609
  },
618
610
  methodBadge: {
@@ -633,7 +625,7 @@ const styles = StyleSheet.create({
633
625
  },
634
626
  timelineTrack: {
635
627
  height: 3,
636
- backgroundColor: AppColors.graySurface,
628
+ backgroundColor: colors.graySurface,
637
629
  marginTop: 4,
638
630
  borderRadius: 1.5,
639
631
  overflow: 'hidden',
@@ -645,7 +637,7 @@ const styles = StyleSheet.create({
645
637
  alignItems: 'center',
646
638
  justifyContent: 'center',
647
639
  },
648
- emptyIcon: { fontSize: 32, color: AppColors.grayTextWeak },
640
+ emptyIcon: { fontSize: 32, color: colors.grayTextWeak },
649
641
  emptyContainer: {
650
642
  flex: 1,
651
643
  alignItems: 'center',
@@ -657,7 +649,7 @@ const styles = StyleSheet.create({
657
649
  width: 72,
658
650
  height: 72,
659
651
  borderRadius: 36,
660
- backgroundColor: AppColors.purpleShade50,
652
+ backgroundColor: colors.purpleShade50,
661
653
  alignItems: 'center',
662
654
  justifyContent: 'center',
663
655
  marginBottom: 20,
@@ -669,14 +661,14 @@ const styles = StyleSheet.create({
669
661
  },
670
662
  emptyTitle: {
671
663
  fontFamily: AppFonts.interBold,
672
- color: AppColors.grayTextStrong,
664
+ color: colors.grayTextStrong,
673
665
  fontSize: 18,
674
666
  marginBottom: 8,
675
667
  letterSpacing: 0.3,
676
668
  },
677
669
  emptySub: {
678
670
  fontFamily: AppFonts.interRegular,
679
- color: AppColors.grayTextWeak,
671
+ color: colors.grayTextWeak,
680
672
  fontSize: 14,
681
673
  textAlign: 'center',
682
674
  lineHeight: 20,
@@ -686,9 +678,9 @@ const styles = StyleSheet.create({
686
678
  marginTop: 28,
687
679
  paddingHorizontal: 24,
688
680
  paddingVertical: 12,
689
- backgroundColor: AppColors.purple,
681
+ backgroundColor: colors.purple,
690
682
  borderRadius: 24,
691
- shadowColor: AppColors.purple,
683
+ shadowColor: colors.purple,
692
684
  shadowOffset: { width: 0, height: 4 },
693
685
  shadowOpacity: 0.35,
694
686
  shadowRadius: 8,
@@ -706,8 +698,8 @@ const styles = StyleSheet.create({
706
698
  paddingHorizontal: 10,
707
699
  marginBottom: 12,
708
700
  borderWidth: 1,
709
- borderColor: AppColors.grayBorderSecondary,
710
- backgroundColor: AppColors.primaryLight,
701
+ borderColor: colors.grayBorderSecondary,
702
+ backgroundColor: colors.primaryLight,
711
703
  shadowColor: '#000000',
712
704
  shadowOffset: { width: 0, height: 2 },
713
705
  shadowOpacity: 0.05,
@@ -727,11 +719,11 @@ const styles = StyleSheet.create({
727
719
  letterSpacing: 0.5,
728
720
  },
729
721
  detailUrlContainer: {
730
- backgroundColor: AppColors.grayBackground,
722
+ backgroundColor: colors.grayBackground,
731
723
  borderRadius: 10,
732
724
  padding: 13,
733
725
  borderWidth: 1,
734
- borderColor: AppColors.grayBorderSecondary,
726
+ borderColor: colors.grayBorderSecondary,
735
727
  shadowColor: '#000000',
736
728
  shadowOffset: { width: 0, height: 1 },
737
729
  shadowOpacity: 0.04,
@@ -740,16 +732,16 @@ const styles = StyleSheet.create({
740
732
  },
741
733
  detailUrl: {
742
734
  fontFamily: AppFonts.interRegular,
743
- color: AppColors.purple,
735
+ color: colors.purple,
744
736
  fontSize: 13,
745
737
  lineHeight: 20,
746
738
  textDecorationLine: 'underline',
747
739
  letterSpacing: 0.2,
748
740
  },
749
741
  metaContainer: {
750
- backgroundColor: AppColors.primaryLight,
742
+ backgroundColor: colors.primaryLight,
751
743
  borderWidth: 1,
752
- borderColor: AppColors.grayBorderSecondary,
744
+ borderColor: colors.grayBorderSecondary,
753
745
  borderRadius: 14,
754
746
  marginBottom: 12,
755
747
  overflow: 'hidden',
@@ -766,19 +758,19 @@ const styles = StyleSheet.create({
766
758
  paddingHorizontal: 12,
767
759
  paddingVertical: 10,
768
760
  borderBottomWidth: 1,
769
- borderBottomColor: AppColors.dividerColor,
770
- backgroundColor: AppColors.primaryLight,
761
+ borderBottomColor: colors.dividerColor,
762
+ backgroundColor: colors.primaryLight,
771
763
  },
772
764
  metaTitle: {
773
765
  fontFamily: AppFonts.interBold,
774
- color: AppColors.grayTextStrong,
766
+ color: colors.grayTextStrong,
775
767
  fontSize: 12,
776
768
  letterSpacing: 0.6,
777
769
  textTransform: 'uppercase',
778
770
  },
779
771
  metaChevron: {
780
772
  fontFamily: AppFonts.interRegular,
781
- color: AppColors.grayTextWeak,
773
+ color: colors.grayTextWeak,
782
774
  fontSize: 11,
783
775
  },
784
776
  metaBody: { paddingHorizontal: 12, paddingBottom: 8, paddingTop: 4 },
@@ -788,16 +780,16 @@ const styles = StyleSheet.create({
788
780
  justifyContent: 'space-between',
789
781
  paddingVertical: 8,
790
782
  },
791
- metaDivider: { height: 1, backgroundColor: AppColors.dividerColor },
783
+ metaDivider: { height: 1, backgroundColor: colors.dividerColor },
792
784
  metaLabelRow: { flexDirection: 'row', alignItems: 'center', gap: 8 },
793
785
  metaLabel: {
794
786
  fontFamily: AppFonts.interRegular,
795
- color: AppColors.grayText,
787
+ color: colors.grayText,
796
788
  fontSize: 13,
797
789
  },
798
790
  metaValue: {
799
791
  fontFamily: AppFonts.interMedium,
800
- color: AppColors.primaryBlack,
792
+ color: colors.primaryBlack,
801
793
  fontSize: 13,
802
794
  },
803
795
  metaValueRow: { flexDirection: 'row', alignItems: 'center', gap: 8 },
@@ -813,7 +805,7 @@ const styles = StyleSheet.create({
813
805
  },
814
806
  seperator: {
815
807
  height: 1,
816
- backgroundColor: AppColors.dividerColor,
808
+ backgroundColor: colors.dividerColor,
817
809
  marginVertical: 10,
818
810
  },
819
811
  detailSearchRow: {
@@ -826,22 +818,22 @@ const styles = StyleSheet.create({
826
818
  flexDirection: 'row',
827
819
  alignItems: 'center',
828
820
  justifyContent: 'space-between',
829
- backgroundColor: AppColors.primaryLight,
821
+ backgroundColor: colors.primaryLight,
830
822
  borderRadius: 12,
831
823
  paddingLeft: 16,
832
824
  borderWidth: 1,
833
- borderColor: AppColors.grayBorderSecondary,
825
+ borderColor: colors.grayBorderSecondary,
834
826
  },
835
827
  detailSearchInput: {
836
828
  flex: 1,
837
829
  fontFamily: AppFonts.interRegular,
838
- color: AppColors.primaryBlack,
830
+ color: colors.primaryBlack,
839
831
  height: 40,
840
832
  },
841
833
  sectionContainer: {
842
- backgroundColor: AppColors.primaryLight,
834
+ backgroundColor: colors.primaryLight,
843
835
  borderWidth: 1,
844
- borderColor: AppColors.grayBorderSecondary,
836
+ borderColor: colors.grayBorderSecondary,
845
837
  borderRadius: 12,
846
838
  marginBottom: 10,
847
839
  overflow: 'hidden',
@@ -851,7 +843,7 @@ const styles = StyleSheet.create({
851
843
  paddingVertical: 12,
852
844
  paddingHorizontal: 8,
853
845
  borderBottomWidth: 1,
854
- borderBottomColor: AppColors.dividerColor,
846
+ borderBottomColor: colors.dividerColor,
855
847
  },
856
848
  sectionHeaderRow: {
857
849
  flexDirection: 'row',
@@ -867,16 +859,16 @@ const styles = StyleSheet.create({
867
859
  },
868
860
  sectionTitle: {
869
861
  fontFamily: AppFonts.interBold,
870
- color: AppColors.grayTextStrong,
862
+ color: colors.grayTextStrong,
871
863
  fontSize: 14,
872
864
  flexShrink: 1,
873
865
  },
874
866
  sectionHeaderActions: { flexDirection: 'row', alignItems: 'center', gap: 6 },
875
867
  htCard: {
876
- backgroundColor: AppColors.primaryLight,
868
+ backgroundColor: colors.primaryLight,
877
869
  borderRadius: 12,
878
870
  borderWidth: 1,
879
- borderColor: AppColors.grayBorderSecondary,
871
+ borderColor: colors.grayBorderSecondary,
880
872
  borderLeftWidth: 3,
881
873
  marginBottom: 10,
882
874
  overflow: 'hidden',
@@ -888,8 +880,8 @@ const styles = StyleSheet.create({
888
880
  paddingVertical: 10,
889
881
  gap: 8,
890
882
  borderBottomWidth: 1,
891
- borderBottomColor: AppColors.dividerColor,
892
- backgroundColor: AppColors.primaryLight,
883
+ borderBottomColor: colors.dividerColor,
884
+ backgroundColor: colors.primaryLight,
893
885
  },
894
886
  htIconWrap: {
895
887
  width: 28,
@@ -900,7 +892,7 @@ const styles = StyleSheet.create({
900
892
  },
901
893
  htTitle: {
902
894
  fontFamily: AppFonts.interBold,
903
- color: AppColors.grayTextStrong,
895
+ color: colors.grayTextStrong,
904
896
  fontSize: 13,
905
897
  flexShrink: 1,
906
898
  },
@@ -920,8 +912,8 @@ const styles = StyleSheet.create({
920
912
  height: 30,
921
913
  borderRadius: 8,
922
914
  borderWidth: 1,
923
- borderColor: AppColors.grayBorderSecondary,
924
- backgroundColor: AppColors.primaryLight,
915
+ borderColor: colors.grayBorderSecondary,
916
+ backgroundColor: colors.primaryLight,
925
917
  alignItems: 'center',
926
918
  justifyContent: 'center',
927
919
  },
@@ -929,13 +921,13 @@ const styles = StyleSheet.create({
929
921
  flexDirection: 'row',
930
922
  paddingHorizontal: 8,
931
923
  paddingVertical: 6,
932
- backgroundColor: AppColors.graySurface,
924
+ backgroundColor: colors.graySurface,
933
925
  borderBottomWidth: 1,
934
- borderBottomColor: AppColors.dividerColor,
926
+ borderBottomColor: colors.dividerColor,
935
927
  },
936
928
  htColHead: {
937
929
  fontFamily: AppFonts.interBold,
938
- color: AppColors.grayTextWeak,
930
+ color: colors.grayTextWeak,
939
931
  fontSize: 10,
940
932
  letterSpacing: 0.8,
941
933
  textTransform: 'uppercase',
@@ -948,7 +940,7 @@ const styles = StyleSheet.create({
948
940
  },
949
941
  htRowBorder: {
950
942
  borderBottomWidth: StyleSheet.hairlineWidth,
951
- borderBottomColor: AppColors.dividerColor,
943
+ borderBottomColor: colors.dividerColor,
952
944
  },
953
945
  htKeyCell: {
954
946
  width: '30%',
@@ -957,13 +949,13 @@ const styles = StyleSheet.create({
957
949
  },
958
950
  htKey: {
959
951
  fontFamily: AppFonts.interMedium,
960
- color: AppColors.purple,
952
+ color: colors.purple,
961
953
  fontSize: 11,
962
954
  lineHeight: 16,
963
955
  },
964
956
  htCellDivider: {
965
957
  width: StyleSheet.hairlineWidth,
966
- backgroundColor: AppColors.dividerColor,
958
+ backgroundColor: colors.dividerColor,
967
959
  alignSelf: 'stretch',
968
960
  marginVertical: 4,
969
961
  },
@@ -974,7 +966,7 @@ const styles = StyleSheet.create({
974
966
  },
975
967
  htValue: {
976
968
  fontFamily: AppFonts.interRegular,
977
- color: AppColors.primaryBlack,
969
+ color: colors.primaryBlack,
978
970
  fontSize: 11,
979
971
  lineHeight: 17,
980
972
  },
@@ -983,7 +975,7 @@ const styles = StyleSheet.create({
983
975
  },
984
976
  htExpandText: {
985
977
  fontFamily: AppFonts.interBold,
986
- color: AppColors.purple,
978
+ color: colors.purple,
987
979
  fontSize: 10,
988
980
  letterSpacing: 0.3,
989
981
  },
@@ -1000,7 +992,7 @@ const styles = StyleSheet.create({
1000
992
  },
1001
993
  htEmptyText: {
1002
994
  fontFamily: AppFonts.interRegular,
1003
- color: AppColors.grayTextWeak,
995
+ color: colors.grayTextWeak,
1004
996
  fontSize: 12,
1005
997
  },
1006
998
  iconSquareBtn: {
@@ -1008,18 +1000,18 @@ const styles = StyleSheet.create({
1008
1000
  height: 30,
1009
1001
  borderRadius: 8,
1010
1002
  borderWidth: 1,
1011
- borderColor: AppColors.grayBorderSecondary,
1012
- backgroundColor: AppColors.grayBackground,
1003
+ borderColor: colors.grayBorderSecondary,
1004
+ backgroundColor: colors.grayBackground,
1013
1005
  alignItems: 'center',
1014
1006
  justifyContent: 'center',
1015
1007
  },
1016
1008
  iconSquareBtnSuccess: {
1017
- borderColor: AppColors.greenColor,
1018
- backgroundColor: AppColors.greenStatus,
1009
+ borderColor: colors.greenColor,
1010
+ backgroundColor: colors.greenStatus,
1019
1011
  },
1020
1012
  iconSquareBtnActive: {
1021
- borderColor: AppColors.skyBlue,
1022
- backgroundColor: AppColors.purpleShade50,
1013
+ borderColor: colors.skyBlue,
1014
+ backgroundColor: colors.purpleShade50,
1023
1015
  },
1024
1016
  codeBlockScroll: { width: '100%', backgroundColor: 'transparent' },
1025
1017
  codeBlock: {
@@ -1029,35 +1021,35 @@ const styles = StyleSheet.create({
1029
1021
  minWidth: '100%',
1030
1022
  },
1031
1023
  codeSyntax: {
1032
- color: AppColors.grayTextWeak,
1024
+ color: colors.grayTextWeak,
1033
1025
  fontFamily: Platform.OS === 'ios' ? 'Menlo' : 'monospace',
1034
1026
  },
1035
1027
  codeKey: {
1036
- color: AppColors.purple,
1028
+ color: colors.purple,
1037
1029
  fontFamily: Platform.OS === 'ios' ? 'Menlo' : 'monospace',
1038
1030
  },
1039
1031
  codeText: {
1040
- color: AppColors.greenBaggageText,
1032
+ color: colors.greenBaggageText,
1041
1033
  fontFamily: Platform.OS === 'ios' ? 'Menlo' : 'monospace',
1042
1034
  },
1043
1035
  codeTextNil: {
1044
- color: AppColors.errorColor,
1036
+ color: colors.errorColor,
1045
1037
  fontFamily: Platform.OS === 'ios' ? 'Menlo' : 'monospace',
1046
1038
  },
1047
1039
  treeRow: { flexDirection: 'row', alignItems: 'center', paddingVertical: 6 },
1048
1040
  treeChevron: {
1049
1041
  fontFamily: AppFonts.interRegular,
1050
- color: AppColors.grayTextWeak,
1042
+ color: colors.grayTextWeak,
1051
1043
  marginRight: 8,
1052
1044
  },
1053
1045
  treeKeyMargin: { marginRight: 6 },
1054
1046
  highlight: {
1055
- backgroundColor: AppColors.paleYellow,
1056
- color: AppColors.primaryBlack,
1047
+ backgroundColor: colors.paleYellow,
1048
+ color: colors.primaryBlack,
1057
1049
  },
1058
1050
  arrayBadge: {
1059
- backgroundColor: AppColors.purpleShade50,
1060
- borderColor: AppColors.purple,
1051
+ backgroundColor: colors.purpleShade50,
1052
+ borderColor: colors.purple,
1061
1053
  borderWidth: 1,
1062
1054
  borderRadius: 6,
1063
1055
  paddingHorizontal: 6,
@@ -1065,12 +1057,12 @@ const styles = StyleSheet.create({
1065
1057
  },
1066
1058
  arrayBadgeText: {
1067
1059
  fontFamily: AppFonts.interMedium,
1068
- color: AppColors.purple,
1060
+ color: colors.purple,
1069
1061
  fontSize: 11,
1070
1062
  },
1071
1063
  objectBadge: {
1072
- backgroundColor: AppColors.grayBackground,
1073
- borderColor: AppColors.grayTextWeak,
1064
+ backgroundColor: colors.grayBackground,
1065
+ borderColor: colors.grayTextWeak,
1074
1066
  borderWidth: 1,
1075
1067
  borderRadius: 6,
1076
1068
  paddingHorizontal: 6,
@@ -1078,22 +1070,22 @@ const styles = StyleSheet.create({
1078
1070
  },
1079
1071
  objectBadgeText: {
1080
1072
  fontFamily: AppFonts.interMedium,
1081
- color: AppColors.grayTextWeak,
1073
+ color: colors.grayTextWeak,
1082
1074
  fontSize: 11,
1083
1075
  },
1084
1076
  diffBlock: { paddingTop: 12, paddingHorizontal: 12, paddingBottom: 16, gap: 4 },
1085
1077
  diffAdded: {
1086
- color: AppColors.greenColor,
1078
+ color: colors.greenColor,
1087
1079
  fontFamily: Platform.OS === 'ios' ? 'Menlo' : 'monospace',
1088
1080
  fontSize: 12,
1089
1081
  },
1090
1082
  diffRemoved: {
1091
- color: AppColors.errorColor,
1083
+ color: colors.errorColor,
1092
1084
  fontFamily: Platform.OS === 'ios' ? 'Menlo' : 'monospace',
1093
1085
  fontSize: 12,
1094
1086
  },
1095
1087
  diffChanged: {
1096
- color: AppColors.lightOrange,
1088
+ color: colors.lightOrange,
1097
1089
  fontFamily: Platform.OS === 'ios' ? 'Menlo' : 'monospace',
1098
1090
  fontSize: 12,
1099
1091
  },
@@ -1101,11 +1093,11 @@ const styles = StyleSheet.create({
1101
1093
  filePreviewCard: {
1102
1094
  flexDirection: 'row',
1103
1095
  alignItems: 'center',
1104
- backgroundColor: AppColors.grayBackground,
1096
+ backgroundColor: colors.grayBackground,
1105
1097
  borderRadius: 10,
1106
1098
  padding: 10,
1107
1099
  borderWidth: 1,
1108
- borderColor: AppColors.grayBorderSecondary,
1100
+ borderColor: colors.grayBorderSecondary,
1109
1101
  gap: 12,
1110
1102
  maxWidth: 300,
1111
1103
  },
@@ -1113,25 +1105,25 @@ const styles = StyleSheet.create({
1113
1105
  width: 44,
1114
1106
  height: 44,
1115
1107
  borderRadius: 6,
1116
- backgroundColor: AppColors.grayBorderSecondary,
1108
+ backgroundColor: colors.grayBorderSecondary,
1117
1109
  },
1118
1110
  filePreviewDoc: {
1119
1111
  width: 44,
1120
1112
  height: 44,
1121
1113
  borderRadius: 6,
1122
- backgroundColor: AppColors.graySurface,
1114
+ backgroundColor: colors.graySurface,
1123
1115
  alignItems: 'center',
1124
1116
  justifyContent: 'center',
1125
1117
  },
1126
1118
  filePreviewName: {
1127
1119
  fontFamily: AppFonts.interMedium,
1128
- color: AppColors.primaryBlack,
1120
+ color: colors.primaryBlack,
1129
1121
  fontSize: 13,
1130
1122
  marginBottom: 2,
1131
1123
  },
1132
1124
  filePreviewType: {
1133
1125
  fontFamily: AppFonts.interRegular,
1134
- color: AppColors.grayText,
1126
+ color: colors.grayText,
1135
1127
  fontSize: 11,
1136
1128
  },
1137
1129
  imagePreviewWrapper: {
@@ -1140,9 +1132,9 @@ const styles = StyleSheet.create({
1140
1132
  borderRadius: 12,
1141
1133
  overflow: 'hidden',
1142
1134
  marginBottom: 16,
1143
- backgroundColor: AppColors.grayBackground,
1135
+ backgroundColor: colors.grayBackground,
1144
1136
  borderWidth: 1,
1145
- borderColor: AppColors.grayBorderSecondary,
1137
+ borderColor: colors.grayBorderSecondary,
1146
1138
  },
1147
1139
  imagePreview: {
1148
1140
  width: '100%',
@@ -1165,9 +1157,9 @@ const styles = StyleSheet.create({
1165
1157
  elevation: 3,
1166
1158
  },
1167
1159
  sourcePageCard: {
1168
- backgroundColor: AppColors.primaryLight,
1160
+ backgroundColor: colors.primaryLight,
1169
1161
  borderWidth: 1,
1170
- borderColor: AppColors.grayBorderSecondary,
1162
+ borderColor: colors.grayBorderSecondary,
1171
1163
  borderRadius: 12,
1172
1164
  marginBottom: 10,
1173
1165
  overflow: 'hidden',
@@ -1179,8 +1171,8 @@ const styles = StyleSheet.create({
1179
1171
  paddingHorizontal: 12,
1180
1172
  paddingVertical: 10,
1181
1173
  borderBottomWidth: 1,
1182
- borderBottomColor: AppColors.dividerColor,
1183
- backgroundColor: AppColors.primaryLight,
1174
+ borderBottomColor: colors.dividerColor,
1175
+ backgroundColor: colors.primaryLight,
1184
1176
  },
1185
1177
  sourcePageTop: {
1186
1178
  flexDirection: 'row',
@@ -1197,26 +1189,26 @@ const styles = StyleSheet.create({
1197
1189
  width: 36,
1198
1190
  height: 36,
1199
1191
  borderRadius: 10,
1200
- backgroundColor: AppColors.purpleShade50,
1192
+ backgroundColor: colors.purpleShade50,
1201
1193
  borderWidth: 1,
1202
- borderColor: `${AppColors.purple}30`,
1194
+ borderColor: `${colors.purple}30`,
1203
1195
  alignItems: 'center',
1204
1196
  justifyContent: 'center',
1205
1197
  },
1206
1198
  sourcePageLabel: {
1207
1199
  fontFamily: AppFonts.interRegular,
1208
- color: AppColors.grayText,
1200
+ color: colors.grayText,
1209
1201
  fontSize: 11,
1210
1202
  marginBottom: 2,
1211
1203
  },
1212
1204
  sourcePageValue: {
1213
1205
  fontFamily: AppFonts.interBold,
1214
- color: AppColors.purple,
1206
+ color: colors.purple,
1215
1207
  fontSize: 14,
1216
1208
  },
1217
1209
  sourceParamsBox: {
1218
1210
  borderTopWidth: 1,
1219
- borderTopColor: AppColors.dividerColor,
1211
+ borderTopColor: colors.dividerColor,
1220
1212
  },
1221
1213
  paramsAccordionHeader: {
1222
1214
  flexDirection: 'row',
@@ -1225,7 +1217,7 @@ const styles = StyleSheet.create({
1225
1217
  paddingHorizontal: 12,
1226
1218
  paddingVertical: 10,
1227
1219
  borderBottomWidth: 1,
1228
- borderBottomColor: AppColors.dividerColor,
1220
+ borderBottomColor: colors.dividerColor,
1229
1221
  backgroundColor: '#fafafa',
1230
1222
  },
1231
1223
  paramsAccordionLeft: {
@@ -1240,7 +1232,7 @@ const styles = StyleSheet.create({
1240
1232
  },
1241
1233
  sourceParamsLabel: {
1242
1234
  fontFamily: AppFonts.interBold,
1243
- color: AppColors.grayTextStrong,
1235
+ color: colors.grayTextStrong,
1244
1236
  fontSize: 12,
1245
1237
  letterSpacing: 0.4,
1246
1238
  textTransform: 'uppercase',
@@ -1259,11 +1251,11 @@ const styles = StyleSheet.create({
1259
1251
  },
1260
1252
  paramRowBorder: {
1261
1253
  borderBottomWidth: 1,
1262
- borderBottomColor: AppColors.dividerColor,
1254
+ borderBottomColor: colors.dividerColor,
1263
1255
  },
1264
1256
  paramKey: {
1265
1257
  fontFamily: AppFonts.Sfprotext,
1266
- color: AppColors.purple,
1258
+ color: colors.purple,
1267
1259
  fontSize: 12,
1268
1260
  flex: 1,
1269
1261
  },
@@ -1276,7 +1268,7 @@ const styles = StyleSheet.create({
1276
1268
  },
1277
1269
  paramValue: {
1278
1270
  fontFamily: AppFonts.Sfprotext,
1279
- color: AppColors.greenBaggageText,
1271
+ color: colors.greenBaggageText,
1280
1272
  fontSize: 12,
1281
1273
  textAlign: 'right',
1282
1274
  flexShrink: 1,
@@ -1298,7 +1290,7 @@ const styles = StyleSheet.create({
1298
1290
  // ─── Tab Bar ───────────────────────────────────────────────────────────────
1299
1291
  tabBar: {
1300
1292
  flexDirection: 'row',
1301
- backgroundColor: AppColors.grayBackground,
1293
+ backgroundColor: colors.grayBackground,
1302
1294
  paddingHorizontal: 12,
1303
1295
  paddingTop: 10,
1304
1296
  paddingBottom: 4,
@@ -1313,8 +1305,8 @@ const styles = StyleSheet.create({
1313
1305
  backgroundColor: '#EDEDF4',
1314
1306
  },
1315
1307
  tabItemActive: {
1316
- backgroundColor: AppColors.purple,
1317
- shadowColor: AppColors.purple,
1308
+ backgroundColor: colors.purple,
1309
+ shadowColor: colors.purple,
1318
1310
  shadowOpacity: 0.3,
1319
1311
  shadowRadius: 6,
1320
1312
  shadowOffset: { width: 0, height: 2 },
@@ -1323,7 +1315,7 @@ const styles = StyleSheet.create({
1323
1315
  tabText: {
1324
1316
  fontFamily: AppFonts.interBold,
1325
1317
  fontSize: 13,
1326
- color: AppColors.grayText,
1318
+ color: colors.grayText,
1327
1319
  },
1328
1320
  tabTextActive: {
1329
1321
  color: '#FFFFFF',
@@ -1338,18 +1330,229 @@ const styles = StyleSheet.create({
1338
1330
  backgroundColor: '#F7F7FA',
1339
1331
  borderTopWidth: 1,
1340
1332
  borderBottomWidth: 1,
1341
- borderColor: AppColors.grayBorderSecondary,
1333
+ borderColor: colors.grayBorderSecondary,
1342
1334
  marginTop: 8,
1343
1335
  },
1344
1336
  screenSectionTitle: {
1345
1337
  fontFamily: AppFonts.interBold,
1346
1338
  fontSize: 13,
1347
- color: AppColors.primaryBlack,
1339
+ color: colors.primaryBlack,
1348
1340
  },
1349
1341
  screenSectionCount: {
1350
1342
  fontFamily: AppFonts.interMedium,
1351
1343
  fontSize: 12,
1352
- color: AppColors.grayText,
1344
+ color: colors.grayText,
1345
+ },
1346
+ modalBackdrop: {
1347
+ flex: 1,
1348
+ backgroundColor: 'rgba(0, 0, 0, 0.45)',
1349
+ justifyContent: 'flex-end',
1350
+ },
1351
+ modalBackdropPressable: {
1352
+ ...StyleSheet.absoluteFill,
1353
+ },
1354
+ modalContentCard: {
1355
+ height: '90%',
1356
+ backgroundColor: colors.grayBackground,
1357
+ borderTopLeftRadius: 20,
1358
+ borderTopRightRadius: 20,
1359
+ overflow: 'hidden',
1360
+ shadowColor: '#000000',
1361
+ shadowOffset: { width: 0, height: -4 },
1362
+ shadowOpacity: 0.15,
1363
+ shadowRadius: 10,
1364
+ elevation: 24,
1365
+ },
1366
+ tabBarContainer: {
1367
+ backgroundColor: colors.primaryLight,
1368
+ borderBottomWidth: 1,
1369
+ borderBottomColor: colors.dividerColor,
1370
+ paddingVertical: 8,
1371
+ paddingHorizontal: 12,
1372
+ },
1373
+ contentTabButton: {
1374
+ flexDirection: 'row',
1375
+ alignItems: 'center',
1376
+ paddingHorizontal: 10,
1377
+ paddingVertical: 5,
1378
+ borderRadius: 8,
1379
+ marginRight: 10,
1380
+ backgroundColor: colors.grayBackground,
1381
+ borderWidth: 1,
1382
+ borderColor: colors.dividerColor,
1383
+ },
1384
+ contentTabButtonActive: {
1385
+ backgroundColor: colors.purple,
1386
+ borderColor: colors.purple,
1387
+ shadowColor: colors.purple,
1388
+ shadowOffset: { width: 0, height: 2 },
1389
+ shadowOpacity: 0.12,
1390
+ shadowRadius: 3,
1391
+ elevation: 3,
1392
+ },
1393
+ contentTabButtonText: {
1394
+ fontFamily: AppFonts.interMedium,
1395
+ fontSize: 11.5,
1396
+ color: colors.grayText,
1397
+ },
1398
+ contentTabButtonTextActive: {
1399
+ color: '#FFFFFF',
1400
+ fontWeight: 'bold',
1401
+ },
1402
+ insightsContainer: {
1403
+ flex: 1,
1404
+ backgroundColor: colors.grayBackground,
1405
+ },
1406
+ insightsContent: {
1407
+ padding: 10,
1408
+ paddingBottom: 24,
1409
+ },
1410
+ dashboardContainer: {
1411
+ gap: 10,
1412
+ },
1413
+ dashboardModuleCard: {
1414
+ backgroundColor: '#FFFFFF',
1415
+ borderRadius: 10,
1416
+ borderWidth: 1,
1417
+ borderColor: '#EFEFEF',
1418
+ padding: 12,
1419
+ shadowColor: '#000000',
1420
+ shadowOpacity: 0.03,
1421
+ shadowRadius: 4,
1422
+ shadowOffset: { width: 0, height: 1 },
1423
+ elevation: 1,
1424
+ },
1425
+ dashboardModuleHeader: {
1426
+ flexDirection: 'row',
1427
+ justifyContent: 'space-between',
1428
+ alignItems: 'center',
1429
+ marginBottom: 10,
1430
+ borderBottomWidth: 1,
1431
+ borderBottomColor: '#F3F4F6',
1432
+ paddingBottom: 8,
1433
+ },
1434
+ dashboardModuleTitle: {
1435
+ fontFamily: AppFonts.interBold,
1436
+ fontSize: 13,
1437
+ color: colors.primaryBlack,
1438
+ },
1439
+ dashboardModuleGoText: {
1440
+ fontFamily: AppFonts.interBold,
1441
+ fontSize: 11,
1442
+ color: colors.purple,
1443
+ },
1444
+ dashboardModuleGrid: {
1445
+ flexDirection: 'row',
1446
+ flexWrap: 'wrap',
1447
+ justifyContent: 'space-between',
1448
+ gap: 8,
1449
+ },
1450
+ dashboardGridItem: {
1451
+ flex: 1,
1452
+ minWidth: '22%',
1453
+ backgroundColor: '#F8FAFC',
1454
+ borderRadius: 8,
1455
+ paddingVertical: 8,
1456
+ paddingHorizontal: 4,
1457
+ alignItems: 'center',
1458
+ justifyContent: 'center',
1459
+ },
1460
+ dashboardGridVal: {
1461
+ fontFamily: AppFonts.interBold,
1462
+ fontSize: 13,
1463
+ color: colors.primaryBlack,
1464
+ },
1465
+ dashboardGridLbl: {
1466
+ fontFamily: AppFonts.interMedium,
1467
+ fontSize: 10,
1468
+ color: colors.grayTextWeak,
1469
+ marginTop: 2,
1470
+ },
1471
+ analyticsCardRow: {},
1472
+ analyticsTopEventsCard: {
1473
+ marginHorizontal: 16,
1474
+ marginBottom: 12,
1475
+ backgroundColor: colors.primaryLight,
1476
+ borderRadius: 12,
1477
+ borderWidth: 1,
1478
+ borderColor: colors.grayBorderSecondary,
1479
+ paddingHorizontal: 16,
1480
+ paddingVertical: 12,
1481
+ shadowColor: '#000',
1482
+ shadowOpacity: 0.04,
1483
+ shadowRadius: 4,
1484
+ shadowOffset: { width: 0, height: 1 },
1485
+ elevation: 1,
1486
+ },
1487
+ analyticsTopEventsHeaderRow: {
1488
+ flexDirection: 'row',
1489
+ alignItems: 'center',
1490
+ justifyContent: 'space-between',
1491
+ marginBottom: 12,
1492
+ },
1493
+ analyticsTopEventsTitle: {
1494
+ fontFamily: AppFonts.interBold,
1495
+ fontSize: 10,
1496
+ color: colors.grayTextWeak,
1497
+ letterSpacing: 0.8,
1498
+ textTransform: 'uppercase',
1499
+ },
1500
+ analyticsTopEventsSubtitle: {
1501
+ fontFamily: AppFonts.interMedium,
1502
+ fontSize: 9,
1503
+ color: colors.grayTextWeak,
1504
+ letterSpacing: 0.4,
1505
+ },
1506
+ analyticsTopEventRow: {
1507
+ flexDirection: 'row',
1508
+ alignItems: 'center',
1509
+ marginBottom: 8,
1510
+ gap: 8,
1511
+ },
1512
+ analyticsTopEventName: {
1513
+ fontFamily: AppFonts.interMedium,
1514
+ fontSize: 12,
1515
+ color: colors.primaryBlack,
1516
+ flex: 1,
1517
+ },
1518
+ analyticsTopEventBarWrap: {
1519
+ flex: 0.8,
1520
+ height: 3,
1521
+ backgroundColor: colors.grayBackground,
1522
+ borderRadius: 2,
1523
+ overflow: 'hidden',
1524
+ },
1525
+ analyticsTopEventBar: {
1526
+ height: '100%',
1527
+ borderRadius: 2,
1528
+ },
1529
+ analyticsTopEventCount: {
1530
+ fontFamily: AppFonts.interBold,
1531
+ fontSize: 11,
1532
+ color: colors.grayText,
1533
+ width: 24,
1534
+ textAlign: 'right',
1535
+ },
1536
+ analyticsIconCircle: {
1537
+ width: 24,
1538
+ height: 24,
1539
+ borderRadius: 12,
1540
+ alignItems: 'center',
1541
+ justifyContent: 'center',
1353
1542
  },
1354
1543
  });
1544
+ const styles = {};
1545
+ const rebuildStyles = (isDark) => {
1546
+ const colors = isDark ? getThemeColors(true) : AppColors;
1547
+ const newStyles = getRawStyles(colors);
1548
+ // Clear old keys and copy new ones
1549
+ Object.keys(styles).forEach(key => delete styles[key]);
1550
+ Object.assign(styles, newStyles);
1551
+ };
1552
+ // Initial build
1553
+ rebuildStyles(false);
1554
+ export const toggleGlobalTheme = (isDark) => {
1555
+ updateAppColorsTheme(isDark);
1556
+ rebuildStyles(isDark);
1557
+ };
1355
1558
  export default styles;