react-native-inapp-inspector 2.3.14 → 2.3.16

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 (125) hide show
  1. package/README.md +1 -0
  2. package/dist/commonjs/components/AnimatedEntrance.js +3 -3
  3. package/dist/commonjs/components/ConsoleLogCard.js +174 -100
  4. package/dist/commonjs/components/Inspector/AnalyticsTab.js +0 -22
  5. package/dist/commonjs/components/Inspector/ConsoleTab.js +25 -38
  6. package/dist/commonjs/components/Inspector/CrashTab.js +19 -28
  7. package/dist/commonjs/components/Inspector/DeviceInfoTab.js +198 -98
  8. package/dist/commonjs/components/Inspector/FeedbackModal.d.ts +7 -0
  9. package/dist/commonjs/components/Inspector/FeedbackModal.js +552 -0
  10. package/dist/commonjs/components/Inspector/InspectorHeader.js +58 -6
  11. package/dist/commonjs/components/Inspector/MainScreen.js +100 -58
  12. package/dist/commonjs/components/Inspector/NetworkTab.js +26 -371
  13. package/dist/commonjs/components/Inspector/NpmStarPrompt.d.ts +3 -0
  14. package/dist/commonjs/components/Inspector/NpmStarPrompt.js +494 -0
  15. package/dist/commonjs/components/Inspector/PerformanceTab.js +40 -7
  16. package/dist/commonjs/components/Inspector/ReduxTab.js +3 -23
  17. package/dist/commonjs/components/Inspector/SettingsPanel.js +1035 -173
  18. package/dist/commonjs/components/Inspector/StorageTab.js +23 -28
  19. package/dist/commonjs/components/Inspector/TabBar.js +50 -15
  20. package/dist/commonjs/components/JsonViewer.js +14 -2
  21. package/dist/commonjs/components/LogCard.js +428 -227
  22. package/dist/commonjs/components/NetworkIcons.d.ts +5 -0
  23. package/dist/commonjs/components/NetworkIcons.js +33 -2
  24. package/dist/commonjs/constants/version.d.ts +1 -1
  25. package/dist/commonjs/constants/version.js +1 -1
  26. package/dist/commonjs/customHooks/analyticsLogger.js +1 -1
  27. package/dist/commonjs/customHooks/consoleLogger.js +34 -2
  28. package/dist/commonjs/customHooks/crashHandler.js +1 -1
  29. package/dist/commonjs/customHooks/networkLogger.js +184 -26
  30. package/dist/commonjs/helpers/index.d.ts +1 -0
  31. package/dist/commonjs/helpers/index.js +1 -0
  32. package/dist/commonjs/helpers/remoteConfig.d.ts +4 -0
  33. package/dist/commonjs/helpers/remoteConfig.js +165 -0
  34. package/dist/commonjs/helpers/searchQueryParser.d.ts +1 -1
  35. package/dist/commonjs/helpers/searchQueryParser.js +39 -291
  36. package/dist/commonjs/helpers/telemetry.d.ts +5 -0
  37. package/dist/commonjs/helpers/telemetry.js +339 -8
  38. package/dist/commonjs/index.d.ts +1 -0
  39. package/dist/commonjs/index.js +173 -29
  40. package/dist/commonjs/styles/AppFonts.d.ts +2 -0
  41. package/dist/commonjs/styles/AppFonts.js +1 -0
  42. package/dist/commonjs/styles/index.d.ts +22 -0
  43. package/dist/commonjs/styles/index.js +19 -0
  44. package/dist/commonjs/types/enums.d.ts +1 -0
  45. package/dist/commonjs/types/enums.js +1 -0
  46. package/dist/commonjs/types/interfaces.d.ts +12 -0
  47. package/dist/esm/components/AnimatedEntrance.js +3 -3
  48. package/dist/esm/components/ConsoleLogCard.js +141 -100
  49. package/dist/esm/components/Inspector/AnalyticsTab.js +1 -23
  50. package/dist/esm/components/Inspector/ConsoleTab.js +26 -39
  51. package/dist/esm/components/Inspector/CrashTab.js +20 -29
  52. package/dist/esm/components/Inspector/DeviceInfoTab.js +198 -98
  53. package/dist/esm/components/Inspector/FeedbackModal.d.ts +7 -0
  54. package/dist/esm/components/Inspector/FeedbackModal.js +515 -0
  55. package/dist/esm/components/Inspector/InspectorHeader.js +60 -8
  56. package/dist/esm/components/Inspector/MainScreen.js +101 -59
  57. package/dist/esm/components/Inspector/NetworkTab.js +27 -372
  58. package/dist/esm/components/Inspector/NpmStarPrompt.d.ts +3 -0
  59. package/dist/esm/components/Inspector/NpmStarPrompt.js +454 -0
  60. package/dist/esm/components/Inspector/PerformanceTab.js +40 -7
  61. package/dist/esm/components/Inspector/ReduxTab.js +4 -24
  62. package/dist/esm/components/Inspector/SettingsPanel.js +1038 -176
  63. package/dist/esm/components/Inspector/StorageTab.js +23 -28
  64. package/dist/esm/components/Inspector/TabBar.js +50 -15
  65. package/dist/esm/components/JsonViewer.js +14 -2
  66. package/dist/esm/components/LogCard.js +422 -221
  67. package/dist/esm/components/NetworkIcons.d.ts +5 -0
  68. package/dist/esm/components/NetworkIcons.js +26 -0
  69. package/dist/esm/constants/version.d.ts +1 -1
  70. package/dist/esm/constants/version.js +1 -1
  71. package/dist/esm/customHooks/analyticsLogger.js +1 -1
  72. package/dist/esm/customHooks/consoleLogger.js +34 -2
  73. package/dist/esm/customHooks/crashHandler.js +1 -1
  74. package/dist/esm/customHooks/networkLogger.js +184 -26
  75. package/dist/esm/helpers/index.d.ts +1 -0
  76. package/dist/esm/helpers/index.js +1 -0
  77. package/dist/esm/helpers/remoteConfig.d.ts +4 -0
  78. package/dist/esm/helpers/remoteConfig.js +160 -0
  79. package/dist/esm/helpers/searchQueryParser.d.ts +1 -1
  80. package/dist/esm/helpers/searchQueryParser.js +39 -291
  81. package/dist/esm/helpers/telemetry.d.ts +5 -0
  82. package/dist/esm/helpers/telemetry.js +332 -9
  83. package/dist/esm/index.d.ts +1 -0
  84. package/dist/esm/index.js +171 -29
  85. package/dist/esm/styles/AppFonts.d.ts +2 -0
  86. package/dist/esm/styles/AppFonts.js +1 -0
  87. package/dist/esm/styles/index.d.ts +22 -0
  88. package/dist/esm/styles/index.js +19 -0
  89. package/dist/esm/types/enums.d.ts +1 -0
  90. package/dist/esm/types/enums.js +1 -0
  91. package/dist/esm/types/interfaces.d.ts +12 -0
  92. package/package.json +1 -1
  93. package/src/components/AnimatedEntrance.tsx +3 -3
  94. package/src/components/ConsoleLogCard.tsx +154 -103
  95. package/src/components/Inspector/AnalyticsTab.tsx +0 -23
  96. package/src/components/Inspector/ConsoleTab.tsx +27 -41
  97. package/src/components/Inspector/CrashTab.tsx +19 -28
  98. package/src/components/Inspector/DeviceInfoTab.tsx +224 -102
  99. package/src/components/Inspector/FeedbackModal.tsx +626 -0
  100. package/src/components/Inspector/InspectorHeader.tsx +83 -5
  101. package/src/components/Inspector/MainScreen.tsx +61 -6
  102. package/src/components/Inspector/NetworkTab.tsx +70 -480
  103. package/src/components/Inspector/NpmStarPrompt.tsx +532 -0
  104. package/src/components/Inspector/PerformanceTab.tsx +44 -8
  105. package/src/components/Inspector/ReduxTab.tsx +9 -24
  106. package/src/components/Inspector/SettingsPanel.tsx +1162 -197
  107. package/src/components/Inspector/StorageTab.tsx +27 -30
  108. package/src/components/Inspector/TabBar.tsx +57 -20
  109. package/src/components/JsonViewer.tsx +15 -2
  110. package/src/components/LogCard.tsx +528 -339
  111. package/src/components/NetworkIcons.tsx +92 -0
  112. package/src/constants/version.ts +1 -1
  113. package/src/customHooks/analyticsLogger.ts +1 -1
  114. package/src/customHooks/consoleLogger.ts +36 -3
  115. package/src/customHooks/crashHandler.ts +1 -1
  116. package/src/customHooks/networkLogger.ts +214 -26
  117. package/src/helpers/index.ts +1 -0
  118. package/src/helpers/remoteConfig.ts +212 -0
  119. package/src/helpers/searchQueryParser.ts +42 -284
  120. package/src/helpers/telemetry.ts +381 -10
  121. package/src/index.tsx +374 -211
  122. package/src/styles/AppFonts.ts +2 -0
  123. package/src/styles/index.ts +20 -1
  124. package/src/types/enums.ts +1 -0
  125. package/src/types/interfaces.ts +12 -0
@@ -173,85 +173,6 @@ const NetworkTab = react_1.default.memo(() => {
173
173
  color: '#E10098',
174
174
  },
175
175
  ], [quickCounts]);
176
- const SEARCH_SCOPES = [
177
- {
178
- id: 'all',
179
- label: 'All',
180
- icon: color => <NetworkIcons_1.LayersIcon size={9.5} color={color}/>,
181
- },
182
- {
183
- id: 'url',
184
- label: 'URL / Path',
185
- icon: color => <NetworkIcons_1.GlobeIcon size={9.5} color={color}/>,
186
- },
187
- {
188
- id: 'reqBody',
189
- label: 'Payload',
190
- icon: color => <NetworkIcons_1.RequestIcon size={9.5} color={color}/>,
191
- },
192
- {
193
- id: 'resBody',
194
- label: 'Response',
195
- icon: color => <NetworkIcons_1.ResponseIcon size={9.5} color={color}/>,
196
- },
197
- {
198
- id: 'headers',
199
- label: 'Headers',
200
- icon: color => <NetworkIcons_1.HeadersIcon size={9.5} color={color}/>,
201
- },
202
- ];
203
- const QUICK_API_QUERY_TAGS = (0, react_1.useMemo)(() => [
204
- {
205
- label: 'Failed',
206
- query: 'is:error',
207
- icon: (color) => <NetworkIcons_1.CircleXIcon size={9.5} color={color}/>,
208
- },
209
- {
210
- label: 'Slow (>1s)',
211
- query: 'slow:>1s',
212
- icon: (color) => <NetworkIcons_1.ClockIcon size={9.5} color={color}/>,
213
- },
214
- {
215
- label: 'POST',
216
- query: 'm:POST',
217
- icon: (color) => <NetworkIcons_1.RequestIcon size={9.5} color={color}/>,
218
- },
219
- {
220
- label: 'GET',
221
- query: 'm:GET',
222
- icon: (color) => <NetworkIcons_1.ResponseIcon size={9.5} color={color}/>,
223
- },
224
- {
225
- label: 'GraphQL',
226
- query: 'is:graphql',
227
- icon: (color) => <NetworkIcons_1.AtomIcon size={9.5} color={color}/>,
228
- },
229
- {
230
- label: 'Axios',
231
- query: 'client:axios',
232
- icon: (color) => <NetworkIcons_1.BoltIcon size={9.5} color={color}/>,
233
- },
234
- {
235
- label: '200 OK',
236
- query: 'status:200',
237
- icon: (color) => <NetworkIcons_1.CircleCheckIcon size={9.5} color={color}/>,
238
- },
239
- {
240
- label: '404',
241
- query: 'status:404',
242
- icon: (color) => <NetworkIcons_1.CircleAlertIcon size={9.5} color={color}/>,
243
- },
244
- {
245
- label: '500',
246
- query: 'status:500',
247
- icon: (color) => <NetworkIcons_1.CircleXIcon size={9.5} color={color}/>,
248
- },
249
- {
250
- label: 'HTTPS',
251
- query: 'is:https',
252
- icon: (color) => <NetworkIcons_1.ShieldAlertIcon size={9.5} color={color}/>,
253
- },
254
- ], []);
255
176
  const networkMetrics = (0, react_1.useMemo)(() => {
256
177
  if (!logs || logs.length === 0)
257
178
  return null;
@@ -397,61 +318,7 @@ const NetworkTab = react_1.default.memo(() => {
397
318
  <NetworkIcons_1.SearchIcon color={isSearchFocused
398
319
  ? AppColors_1.AppColors.purple
399
320
  : AppColors_1.AppColors.grayTextWeak} size={15}/>
400
- <react_native_1.TextInput placeholder="Search url, body, is:error, slow:>1s..." placeholderTextColor={AppColors_1.AppColors.grayTextWeak} value={search} onChangeText={setSearch} onFocus={() => setIsSearchFocused(true)} onBlur={() => setIsSearchFocused(false)} style={styles_1.default.searchInput} autoCorrect={false} autoCapitalize="none"/>
401
-
402
-
403
- <react_native_1.View style={{
404
- flexDirection: 'row',
405
- alignItems: 'center',
406
- gap: 3,
407
- marginRight: 2,
408
- }}>
409
- <react_native_1.Pressable hitSlop={8} onPress={() => setIsCaseSensitive(prev => !prev)} style={{
410
- paddingHorizontal: 4.5,
411
- paddingVertical: 2,
412
- borderRadius: 4,
413
- backgroundColor: isCaseSensitive
414
- ? AppColors_1.AppColors.purple
415
- : 'transparent',
416
- borderWidth: 1,
417
- borderColor: isCaseSensitive
418
- ? AppColors_1.AppColors.purple
419
- : `${AppColors_1.AppColors.grayBorderSecondary}`,
420
- }}>
421
- <react_native_1.Text style={{
422
- fontFamily: AppFonts_1.AppFonts.interBold,
423
- fontSize: 9.5,
424
- color: isCaseSensitive
425
- ? AppColors_1.AppColors.white
426
- : AppColors_1.AppColors.grayTextWeak,
427
- }}>
428
- Aa
429
- </react_native_1.Text>
430
- </react_native_1.Pressable>
431
-
432
- <react_native_1.Pressable hitSlop={8} onPress={() => setIsRegexSearch(prev => !prev)} style={{
433
- paddingHorizontal: 4.5,
434
- paddingVertical: 2,
435
- borderRadius: 4,
436
- backgroundColor: isRegexSearch
437
- ? AppColors_1.AppColors.purple
438
- : 'transparent',
439
- borderWidth: 1,
440
- borderColor: isRegexSearch
441
- ? AppColors_1.AppColors.purple
442
- : `${AppColors_1.AppColors.grayBorderSecondary}`,
443
- }}>
444
- <react_native_1.Text style={{
445
- fontFamily: AppFonts_1.AppFonts.interBold,
446
- fontSize: 9.5,
447
- color: isRegexSearch
448
- ? AppColors_1.AppColors.white
449
- : AppColors_1.AppColors.grayTextWeak,
450
- }}>
451
- .*
452
- </react_native_1.Text>
453
- </react_native_1.Pressable>
454
- </react_native_1.View>
321
+ <react_native_1.TextInput placeholder="Search URL, status, method, headers, body..." placeholderTextColor={AppColors_1.AppColors.grayTextWeak} value={search} onChangeText={setSearch} onFocus={() => setIsSearchFocused(true)} onBlur={() => setIsSearchFocused(false)} style={styles_1.default.searchInput} autoCorrect={false} autoCapitalize="none"/>
455
322
 
456
323
  {search.length > 0 && (<react_native_1.View style={{
457
324
  flexDirection: 'row',
@@ -527,100 +394,18 @@ const NetworkTab = react_1.default.memo(() => {
527
394
  </react_native_1.View>
528
395
 
529
396
 
530
- <react_native_1.View style={{ paddingBottom: 4 }}>
531
- <react_native_1.ScrollView horizontal showsHorizontalScrollIndicator={false} contentContainerStyle={{
532
- paddingHorizontal: 12,
397
+ <react_native_1.View style={{
533
398
  flexDirection: 'row',
534
399
  alignItems: 'center',
535
- gap: 5,
536
- paddingVertical: 2,
537
- }}>
538
-
539
- {SEARCH_SCOPES.map(s => {
540
- const isActive = searchScope === s.id;
541
- return (<TouchableScale_1.default key={`scope_${s.id}`} onPress={() => setSearchScope(s.id)} hitSlop={6} style={{
542
- flexDirection: 'row',
543
- alignItems: 'center',
544
- gap: 3.5,
545
- paddingHorizontal: 7.5,
546
- paddingVertical: 3.5,
547
- borderRadius: 6,
548
- backgroundColor: isActive
549
- ? AppColors_1.AppColors.purple
550
- : AppColors_1.AppColors.grayBackground,
551
- borderWidth: 1,
552
- borderColor: isActive
553
- ? AppColors_1.AppColors.purple
554
- : AppColors_1.AppColors.grayBorderSecondary,
555
- }}>
556
- {s.icon(isActive ? AppColors_1.AppColors.white : AppColors_1.AppColors.grayTextWeak)}
557
- <react_native_1.Text style={{
558
- fontFamily: AppFonts_1.AppFonts.interBold,
559
- fontSize: 10,
560
- color: isActive ? AppColors_1.AppColors.white : AppColors_1.AppColors.grayText,
561
- }}>
562
- {s.label}
563
- </react_native_1.Text>
564
- </TouchableScale_1.default>);
565
- })}
566
-
567
- <react_native_1.View style={{
568
- width: 1,
569
- height: 14,
570
- backgroundColor: AppColors_1.AppColors.dividerColor,
571
- marginHorizontal: 3,
572
- }}/>
573
-
574
-
575
- {QUICK_API_QUERY_TAGS.map(q => {
576
- const isActive = search.includes(q.query);
577
- return (<TouchableScale_1.default key={`quick_${q.query}`} onPress={() => {
578
- setSearch(prev => {
579
- if (prev.includes(q.query)) {
580
- return prev
581
- .replace(q.query, '')
582
- .replace(/\s+/g, ' ')
583
- .trim();
584
- }
585
- return `${prev} ${q.query}`.trim();
586
- });
587
- }} hitSlop={6} style={{
588
- flexDirection: 'row',
589
- alignItems: 'center',
590
- gap: 3.5,
591
- paddingHorizontal: 7.5,
592
- paddingVertical: 3.5,
593
- borderRadius: 6,
594
- backgroundColor: isActive
595
- ? `${AppColors_1.AppColors.purple}20`
596
- : AppColors_1.AppColors.grayBackground,
597
- borderWidth: 1,
598
- borderColor: isActive
599
- ? AppColors_1.AppColors.purple
600
- : AppColors_1.AppColors.grayBorderSecondary,
601
- }}>
602
- {q.icon(isActive ? AppColors_1.AppColors.purple : AppColors_1.AppColors.grayTextWeak)}
603
- <react_native_1.Text style={{
604
- fontFamily: AppFonts_1.AppFonts.interMedium,
605
- fontSize: 10,
606
- color: isActive
607
- ? AppColors_1.AppColors.purple
608
- : AppColors_1.AppColors.grayText,
609
- }}>
610
- {q.label}
611
- </react_native_1.Text>
612
- </TouchableScale_1.default>);
613
- })}
614
- </react_native_1.ScrollView>
615
- </react_native_1.View>
616
-
617
-
618
- <react_native_1.View style={{ marginBottom: 8 }}>
619
- <react_native_1.ScrollView horizontal showsHorizontalScrollIndicator={false} contentContainerStyle={{
400
+ marginBottom: 8,
620
401
  paddingHorizontal: 12,
402
+ gap: 6,
403
+ }}>
404
+ <react_native_1.ScrollView horizontal showsHorizontalScrollIndicator={false} style={{ flex: 1 }} contentContainerStyle={{
621
405
  flexDirection: 'row',
622
406
  alignItems: 'center',
623
407
  gap: 6,
408
+ paddingRight: 6,
624
409
  }}>
625
410
  {QUICK_CHIPS.map(chip => {
626
411
  const isActive = quickFilter === chip.id;
@@ -679,9 +464,10 @@ const NetworkTab = react_1.default.memo(() => {
679
464
  </react_native_1.View>
680
465
  </TouchableScale_1.default>);
681
466
  })}
467
+ </react_native_1.ScrollView>
682
468
 
683
- <TouchableScale_1.default onPress={() => setIsFilterModalOpen(true)}>
684
- <react_native_1.View style={{
469
+ <TouchableScale_1.default onPress={() => setIsFilterModalOpen(true)} style={{ flexShrink: 0 }}>
470
+ <react_native_1.View style={{
685
471
  flexDirection: 'row',
686
472
  alignItems: 'center',
687
473
  paddingHorizontal: 10,
@@ -695,143 +481,43 @@ const NetworkTab = react_1.default.memo(() => {
695
481
  ? AppColors_1.AppColors.purple
696
482
  : AppColors_1.AppColors.grayBorderSecondary,
697
483
  gap: 5,
484
+ shadowColor: AppColors_1.AppColors.black,
485
+ shadowOpacity: 0.04,
486
+ shadowRadius: 2,
487
+ shadowOffset: { width: 0, height: 1 },
488
+ elevation: 1,
698
489
  }}>
699
- <NetworkIcons_1.FilterIcon size={11} color={statusFilters.size > 0 || methodFilters.size > 0
490
+ <NetworkIcons_1.FilterIcon size={11} color={statusFilters.size > 0 || methodFilters.size > 0
700
491
  ? AppColors_1.AppColors.purple
701
492
  : AppColors_1.AppColors.grayText}/>
702
- <react_native_1.Text style={{
493
+ <react_native_1.Text style={{
703
494
  fontFamily: AppFonts_1.AppFonts.interBold,
704
495
  fontSize: 10.5,
705
496
  color: statusFilters.size > 0 || methodFilters.size > 0
706
497
  ? AppColors_1.AppColors.purple
707
498
  : AppColors_1.AppColors.grayText,
708
499
  }}>
709
- More Filters
710
- </react_native_1.Text>
711
- {(statusFilters.size > 0 || methodFilters.size > 0) && (<react_native_1.View style={{
500
+ More Filters
501
+ </react_native_1.Text>
502
+ {(statusFilters.size > 0 || methodFilters.size > 0) && (<react_native_1.View style={{
712
503
  backgroundColor: AppColors_1.AppColors.purple,
713
504
  paddingHorizontal: 4.5,
714
505
  paddingVertical: 1,
715
506
  borderRadius: 6,
716
507
  }}>
717
- <react_native_1.Text style={{
508
+ <react_native_1.Text style={{
718
509
  fontFamily: AppFonts_1.AppFonts.interBold,
719
510
  fontSize: 8.5,
720
511
  color: AppColors_1.AppColors.white,
721
512
  }}>
722
- {statusFilters.size + methodFilters.size}
723
- </react_native_1.Text>
724
- </react_native_1.View>)}
725
- </react_native_1.View>
726
- </TouchableScale_1.default>
727
- </react_native_1.ScrollView>
513
+ {statusFilters.size + methodFilters.size}
514
+ </react_native_1.Text>
515
+ </react_native_1.View>)}
516
+ </react_native_1.View>
517
+ </TouchableScale_1.default>
728
518
  </react_native_1.View>
729
519
 
730
520
 
731
- {(isSearchFocused || search.length > 0) && (<react_native_1.View style={{
732
- flexDirection: 'row',
733
- alignItems: 'center',
734
- paddingHorizontal: 12,
735
- marginBottom: 6,
736
- gap: 6,
737
- }}>
738
- <react_native_1.Text style={{
739
- fontFamily: AppFonts_1.AppFonts.interBold,
740
- fontSize: 9.5,
741
- color: AppColors_1.AppColors.grayTextWeak,
742
- textTransform: 'uppercase',
743
- letterSpacing: 0.5,
744
- }}>
745
- Scope:
746
- </react_native_1.Text>
747
- <react_native_1.ScrollView horizontal showsHorizontalScrollIndicator={false} contentContainerStyle={{
748
- flexDirection: 'row',
749
- alignItems: 'center',
750
- gap: 5,
751
- }}>
752
- {SEARCH_SCOPES.map(s => {
753
- const isSelected = searchScope === s.id;
754
- const iconColor = isSelected ? AppColors_1.AppColors.white : AppColors_1.AppColors.grayText;
755
- return (<TouchableScale_1.default key={s.id} onPress={() => setSearchScope(s.id)}>
756
- <react_native_1.View style={{
757
- flexDirection: 'row',
758
- alignItems: 'center',
759
- gap: 4,
760
- paddingHorizontal: 7,
761
- paddingVertical: 2.5,
762
- borderRadius: 5,
763
- backgroundColor: isSelected
764
- ? AppColors_1.AppColors.purple
765
- : `${AppColors_1.AppColors.grayBorderSecondary}40`,
766
- borderWidth: 1,
767
- borderColor: isSelected
768
- ? AppColors_1.AppColors.purple
769
- : AppColors_1.AppColors.grayBorderSecondary,
770
- }}>
771
- {s.icon(iconColor)}
772
- <react_native_1.Text style={{
773
- fontFamily: AppFonts_1.AppFonts.interBold,
774
- fontSize: 9.5,
775
- color: isSelected
776
- ? AppColors_1.AppColors.white
777
- : AppColors_1.AppColors.grayText,
778
- }}>
779
- {s.label}
780
- </react_native_1.Text>
781
- </react_native_1.View>
782
- </TouchableScale_1.default>);
783
- })}
784
- </react_native_1.ScrollView>
785
- </react_native_1.View>)}
786
-
787
-
788
- {(isSearchFocused || search.length > 0) && (<react_native_1.ScrollView horizontal showsHorizontalScrollIndicator={false} style={{ marginBottom: 8, maxHeight: 28 }} contentContainerStyle={{
789
- paddingHorizontal: 12,
790
- flexDirection: 'row',
791
- alignItems: 'center',
792
- gap: 5,
793
- }}>
794
- {QUICK_API_QUERY_TAGS.map(item => {
795
- const isSelected = search.includes(item.query);
796
- return (<TouchableScale_1.default key={item.query} onPress={() => {
797
- if (isSelected) {
798
- setSearch(prev => prev.replace(item.query, '').trim());
799
- }
800
- else {
801
- setSearch(prev => prev ? `${prev} ${item.query}`.trim() : item.query);
802
- }
803
- }}>
804
- <react_native_1.View style={{
805
- flexDirection: 'row',
806
- alignItems: 'center',
807
- gap: 4,
808
- paddingHorizontal: 7,
809
- paddingVertical: 2.5,
810
- borderRadius: 5,
811
- backgroundColor: isSelected
812
- ? AppColors_1.AppColors.purple
813
- : `${AppColors_1.AppColors.purple}14`,
814
- borderWidth: 1,
815
- borderColor: isSelected
816
- ? AppColors_1.AppColors.purple
817
- : `${AppColors_1.AppColors.purple}30`,
818
- }}>
819
- {item.icon(isSelected ? AppColors_1.AppColors.white : AppColors_1.AppColors.purple)}
820
- <react_native_1.Text style={{
821
- fontFamily: AppFonts_1.AppFonts.interBold,
822
- fontSize: 9.5,
823
- color: isSelected
824
- ? AppColors_1.AppColors.white
825
- : AppColors_1.AppColors.purple,
826
- }}>
827
- {item.label}
828
- </react_native_1.Text>
829
- </react_native_1.View>
830
- </TouchableScale_1.default>);
831
- })}
832
- </react_native_1.ScrollView>)}
833
-
834
-
835
521
  {(quickFilter !== 'all' ||
836
522
  search.trim().length > 0 ||
837
523
  statusFilters.size > 0 ||
@@ -871,15 +557,6 @@ const NetworkTab = react_1.default.memo(() => {
871
557
  </react_native_1.Text>
872
558
  </TouchableScale_1.default>
873
559
  </react_native_1.View>)}
874
-
875
- {(search ||
876
- statusFilters.size > 0 ||
877
- methodFilters.size > 0 ||
878
- quickFilter !== 'all') && (<react_native_1.Text style={styles_1.default.resultCount}>
879
- {filteredLogs.length === logs.length
880
- ? `${logs.length} requests`
881
- : `${filteredLogs.length} of ${logs.length} filtered requests`}
882
- </react_native_1.Text>)}
883
560
  </react_native_1.View>} ListEmptyComponent={<EmptyState_1.default isSearch={search.length > 0 ||
884
561
  statusFilters.size > 0 ||
885
562
  methodFilters.size > 0 ||
@@ -895,28 +572,6 @@ const NetworkTab = react_1.default.memo(() => {
895
572
  styles_1.default.listContent,
896
573
  filteredLogs.length === 0 && { flexGrow: 1 },
897
574
  ]} keyboardShouldPersistTaps="handled"/>
898
-
899
- <TouchableScale_1.default onPress={() => {
900
- try {
901
- apisListRef.current?.scrollToOffset({
902
- offset: 0,
903
- animated: true,
904
- });
905
- }
906
- catch {
907
- try {
908
- apisListRef.current?.scrollToIndex({
909
- index: 0,
910
- animated: true,
911
- });
912
- }
913
- catch { }
914
- }
915
- }} hitSlop={12} style={styles_1.default.scrollTopBtn}>
916
- <react_native_1.View style={{ transform: [{ rotate: '180deg' }] }}>
917
- <NetworkIcons_1.ChevronIcon color={AppColors_1.AppColors.white} size={18}/>
918
- </react_native_1.View>
919
- </TouchableScale_1.default>
920
575
 
921
576
 
922
577
  <NetworkFilterModal_1.default visible={isFilterModalOpen} onClose={() => setIsFilterModalOpen(false)} filters={modalFilterState} onApply={handleApplyNetworkFilters} searchQuery={search}/>
@@ -0,0 +1,3 @@
1
+ import React from 'react';
2
+ export declare const NpmStarPrompt: React.FC;
3
+ export default NpmStarPrompt;