react-native-inapp-inspector 2.0.7 → 2.2.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/android/src/main/java/com/inappinspector/NetworkInspectorModule.kt +0 -11
- package/dist/commonjs/components/Inspector/InspectorHeader.js +25 -28
- package/dist/commonjs/components/Inspector/MainScreen.js +2 -19
- package/dist/commonjs/components/Inspector/NetworkDetail.js +0 -15
- package/dist/commonjs/components/Inspector/PerformanceTab.js +18 -30
- package/dist/commonjs/components/Inspector/SettingsPanel.js +49 -448
- package/dist/commonjs/components/Inspector/TabBar.js +2 -23
- package/dist/commonjs/components/NetworkIcons.d.ts +0 -12
- package/dist/commonjs/components/NetworkIcons.js +3 -72
- package/dist/commonjs/constants/version.d.ts +1 -1
- package/dist/commonjs/constants/version.js +1 -1
- package/dist/commonjs/helpers/index.d.ts +0 -2
- package/dist/commonjs/helpers/index.js +1 -12
- package/dist/commonjs/helpers/settingsStore.d.ts +1 -1
- package/dist/commonjs/helpers/settingsStore.js +2 -4
- package/dist/commonjs/i18n/locales/en.json +2 -3
- package/dist/commonjs/index.d.ts +0 -1
- package/dist/commonjs/index.js +9 -127
- package/dist/commonjs/native/NativeInspector.d.ts +0 -1
- package/dist/commonjs/types/enums.d.ts +0 -7
- package/dist/commonjs/types/enums.js +0 -7
- package/dist/commonjs/types/interfaces.d.ts +0 -77
- package/dist/esm/components/Inspector/InspectorHeader.js +25 -28
- package/dist/esm/components/Inspector/MainScreen.js +2 -19
- package/dist/esm/components/Inspector/NetworkDetail.js +1 -16
- package/dist/esm/components/Inspector/PerformanceTab.js +19 -31
- package/dist/esm/components/Inspector/SettingsPanel.js +50 -449
- package/dist/esm/components/Inspector/TabBar.js +3 -24
- package/dist/esm/components/NetworkIcons.d.ts +0 -12
- package/dist/esm/components/NetworkIcons.js +0 -57
- package/dist/esm/constants/version.d.ts +1 -1
- package/dist/esm/constants/version.js +1 -1
- package/dist/esm/helpers/index.d.ts +0 -2
- package/dist/esm/helpers/index.js +0 -10
- package/dist/esm/helpers/settingsStore.d.ts +1 -1
- package/dist/esm/helpers/settingsStore.js +2 -4
- package/dist/esm/i18n/locales/en.json +2 -3
- package/dist/esm/index.d.ts +0 -1
- package/dist/esm/index.js +8 -123
- package/dist/esm/native/NativeInspector.d.ts +0 -1
- package/dist/esm/types/enums.d.ts +0 -7
- package/dist/esm/types/enums.js +0 -7
- package/dist/esm/types/interfaces.d.ts +0 -77
- package/ios/NetworkInspectorModule.mm +5 -12
- package/package.json +1 -4
- package/dist/commonjs/components/Inspector/AuditTab.d.ts +0 -3
- package/dist/commonjs/components/Inspector/AuditTab.js +0 -741
- package/dist/commonjs/components/Inspector/DeviceTab.d.ts +0 -3
- package/dist/commonjs/components/Inspector/DeviceTab.js +0 -717
- package/dist/commonjs/components/Inspector/FirstTimeWalkthroughModal.d.ts +0 -7
- package/dist/commonjs/components/Inspector/FirstTimeWalkthroughModal.js +0 -600
- package/dist/commonjs/components/Inspector/PerformanceHud.d.ts +0 -7
- package/dist/commonjs/components/Inspector/PerformanceHud.js +0 -210
- package/dist/commonjs/components/Inspector/RequestReplayModal.d.ts +0 -9
- package/dist/commonjs/components/Inspector/RequestReplayModal.js +0 -792
- package/dist/commonjs/components/Inspector/RequestReplayView.d.ts +0 -8
- package/dist/commonjs/components/Inspector/RequestReplayView.js +0 -871
- package/dist/commonjs/components/Inspector/StorageTab.d.ts +0 -3
- package/dist/commonjs/components/Inspector/StorageTab.js +0 -610
- package/dist/commonjs/customHooks/storageInspector.d.ts +0 -13
- package/dist/commonjs/customHooks/storageInspector.js +0 -179
- package/dist/commonjs/helpers/deviceInfo.d.ts +0 -4
- package/dist/commonjs/helpers/deviceInfo.js +0 -94
- package/dist/commonjs/helpers/packageAuditor.d.ts +0 -5
- package/dist/commonjs/helpers/packageAuditor.js +0 -182
- package/dist/esm/components/Inspector/AuditTab.d.ts +0 -3
- package/dist/esm/components/Inspector/AuditTab.js +0 -702
- package/dist/esm/components/Inspector/DeviceTab.d.ts +0 -3
- package/dist/esm/components/Inspector/DeviceTab.js +0 -678
- package/dist/esm/components/Inspector/FirstTimeWalkthroughModal.d.ts +0 -7
- package/dist/esm/components/Inspector/FirstTimeWalkthroughModal.js +0 -560
- package/dist/esm/components/Inspector/PerformanceHud.d.ts +0 -7
- package/dist/esm/components/Inspector/PerformanceHud.js +0 -170
- package/dist/esm/components/Inspector/RequestReplayModal.d.ts +0 -9
- package/dist/esm/components/Inspector/RequestReplayModal.js +0 -752
- package/dist/esm/components/Inspector/RequestReplayView.d.ts +0 -8
- package/dist/esm/components/Inspector/RequestReplayView.js +0 -831
- package/dist/esm/components/Inspector/StorageTab.d.ts +0 -3
- package/dist/esm/components/Inspector/StorageTab.js +0 -571
- package/dist/esm/customHooks/storageInspector.d.ts +0 -13
- package/dist/esm/customHooks/storageInspector.js +0 -170
- package/dist/esm/helpers/deviceInfo.d.ts +0 -4
- package/dist/esm/helpers/deviceInfo.js +0 -89
- package/dist/esm/helpers/packageAuditor.d.ts +0 -5
- package/dist/esm/helpers/packageAuditor.js +0 -173
|
@@ -62,7 +62,7 @@ const helpers_1 = require("../../helpers");
|
|
|
62
62
|
const toast_1 = require("../../helpers/toast");
|
|
63
63
|
const SettingsPanel = () => {
|
|
64
64
|
const { t } = (0, i18n_1.useTranslation)();
|
|
65
|
-
const { settingsPage, setSettingsPage, settingsActiveSubTab, setSettingsActiveSubTab, tabVisibility, toggleTabVisibility, defaultTab, setDefaultTab, isDark, setIsDark, modalHeightPercent, setModalHeightPercent, modalAnimationType, setModalAnimationType, showDuplicateLogs, setShowDuplicateLogs, showUpdateToast, setShowUpdateToast, showConsoleLevels, setShowConsoleLevels, resetToDefaults, storage, logs, consoleLogs, analyticsEvents, reduxState, maxNetworkLogs, setMaxNetworkLogs, maxConsoleLogs, setMaxConsoleLogs, maxAnalyticsEventsLimit, setMaxAnalyticsEventsLimit, isAutoRamLimitEnabled, setIsAutoRamLimitEnabled, deviceFreeRamMb,
|
|
65
|
+
const { settingsPage, setSettingsPage, settingsActiveSubTab, setSettingsActiveSubTab, tabVisibility, toggleTabVisibility, defaultTab, setDefaultTab, isDark, setIsDark, modalHeightPercent, setModalHeightPercent, modalAnimationType, setModalAnimationType, showDuplicateLogs, setShowDuplicateLogs, showUpdateToast, setShowUpdateToast, showConsoleLevels, setShowConsoleLevels, resetToDefaults, storage, logs, consoleLogs, analyticsEvents, reduxState, maxNetworkLogs, setMaxNetworkLogs, maxConsoleLogs, setMaxConsoleLogs, maxAnalyticsEventsLimit, setMaxAnalyticsEventsLimit, isAutoRamLimitEnabled, setIsAutoRamLimitEnabled, deviceFreeRamMb, reduxAutoRefresh, setReduxAutoRefreshState, reduxExpandDepth, setReduxExpandDepth, switchActiveTab, setSelected, setSelectedEvent, setReduxState, crashRecords, maxCrashLogs, setMaxCrashLogs, updateAvailable, latestNpmVersion, } = (0, InspectorContext_1.useInspector)();
|
|
66
66
|
const [stagedHeight, setStagedHeight] = (0, react_1.useState)(modalHeightPercent);
|
|
67
67
|
const [telemetryConsent, setTelemetryConsentState] = (0, react_1.useState)(true);
|
|
68
68
|
(0, react_1.useEffect)(() => {
|
|
@@ -101,27 +101,6 @@ const SettingsPanel = () => {
|
|
|
101
101
|
icon: 'logs',
|
|
102
102
|
desc: 'Terminal console logs, warnings, errors & stack traces',
|
|
103
103
|
},
|
|
104
|
-
{
|
|
105
|
-
key: 'storage',
|
|
106
|
-
label: 'Storage (AsyncStorage)',
|
|
107
|
-
category: 'core',
|
|
108
|
-
icon: 'storage',
|
|
109
|
-
desc: 'Browse, edit, create and delete local key-value storage & JSON',
|
|
110
|
-
},
|
|
111
|
-
{
|
|
112
|
-
key: 'device',
|
|
113
|
-
label: 'Device & System Info',
|
|
114
|
-
category: 'diagnostic',
|
|
115
|
-
icon: 'device',
|
|
116
|
-
desc: 'Hermes runtime, Fabric New Arch, screen metrics & build info',
|
|
117
|
-
},
|
|
118
|
-
{
|
|
119
|
-
key: 'audit',
|
|
120
|
-
label: 'Code Quality & Package Audit',
|
|
121
|
-
category: 'diagnostic',
|
|
122
|
-
icon: 'audit',
|
|
123
|
-
desc: 'Audit dependencies, peer conflicts, TS schema errors & React Native anti-patterns',
|
|
124
|
-
},
|
|
125
104
|
{
|
|
126
105
|
key: 'performance',
|
|
127
106
|
label: 'Performance Tracker',
|
|
@@ -164,9 +143,6 @@ const SettingsPanel = () => {
|
|
|
164
143
|
logs: Boolean(tabVisibility?.logs),
|
|
165
144
|
analytics: Boolean(tabVisibility?.analytics),
|
|
166
145
|
redux: Boolean(tabVisibility?.redux),
|
|
167
|
-
storage: Boolean(tabVisibility?.storage),
|
|
168
|
-
device: Boolean(tabVisibility?.device),
|
|
169
|
-
audit: Boolean(tabVisibility?.audit),
|
|
170
146
|
bundle: Boolean(tabVisibility?.bundle),
|
|
171
147
|
performance: Boolean(tabVisibility?.performance),
|
|
172
148
|
crash: Boolean(tabVisibility?.crash),
|
|
@@ -178,9 +154,6 @@ const SettingsPanel = () => {
|
|
|
178
154
|
logs: Boolean(tabVisibility?.logs),
|
|
179
155
|
analytics: Boolean(tabVisibility?.analytics),
|
|
180
156
|
redux: Boolean(tabVisibility?.redux),
|
|
181
|
-
storage: Boolean(tabVisibility?.storage),
|
|
182
|
-
device: Boolean(tabVisibility?.device),
|
|
183
|
-
audit: Boolean(tabVisibility?.audit),
|
|
184
157
|
bundle: Boolean(tabVisibility?.bundle),
|
|
185
158
|
performance: Boolean(tabVisibility?.performance),
|
|
186
159
|
crash: Boolean(tabVisibility?.crash),
|
|
@@ -352,17 +325,16 @@ const SettingsPanel = () => {
|
|
|
352
325
|
shadowRadius: 4,
|
|
353
326
|
shadowOffset: { width: 0, height: 2 },
|
|
354
327
|
}}>
|
|
355
|
-
{/* Tab 1: Modules & Tabs */}
|
|
356
328
|
<TouchableScale_1.default accessible={true} accessibilityRole="tab" accessibilityLabel={t('settings.modulesAndTools')} accessibilityState={{ selected: settingsActiveSubTab === 'module' }} onPress={() => {
|
|
357
329
|
(0, InspectorContext_1.animateNextLayout)();
|
|
358
330
|
setSettingsActiveSubTab('module');
|
|
359
331
|
}} style={{
|
|
360
332
|
flex: 1,
|
|
361
|
-
paddingVertical:
|
|
333
|
+
paddingVertical: 9,
|
|
362
334
|
flexDirection: 'row',
|
|
363
335
|
alignItems: 'center',
|
|
364
336
|
justifyContent: 'center',
|
|
365
|
-
gap:
|
|
337
|
+
gap: 6,
|
|
366
338
|
borderRadius: 9,
|
|
367
339
|
backgroundColor: settingsActiveSubTab === 'module'
|
|
368
340
|
? AppColors_1.AppColors.purple
|
|
@@ -370,11 +342,11 @@ const SettingsPanel = () => {
|
|
|
370
342
|
}}>
|
|
371
343
|
<NetworkIcons_1.LayersIcon color={settingsActiveSubTab === 'module'
|
|
372
344
|
? AppColors_1.AppColors.white
|
|
373
|
-
: AppColors_1.AppColors.grayText} size={
|
|
345
|
+
: AppColors_1.AppColors.grayText} size={13}/>
|
|
374
346
|
<react_native_1.Text style={{
|
|
375
347
|
fontFamily: AppFonts_1.AppFonts.interBold,
|
|
376
|
-
fontSize:
|
|
377
|
-
lineHeight:
|
|
348
|
+
fontSize: 12.5,
|
|
349
|
+
lineHeight: 16,
|
|
378
350
|
color: settingsActiveSubTab === 'module'
|
|
379
351
|
? AppColors_1.AppColors.white
|
|
380
352
|
: AppColors_1.AppColors.grayText,
|
|
@@ -383,48 +355,16 @@ const SettingsPanel = () => {
|
|
|
383
355
|
</react_native_1.Text>
|
|
384
356
|
</TouchableScale_1.default>
|
|
385
357
|
|
|
386
|
-
{/* Tab 2: RAM & Limits */}
|
|
387
|
-
<TouchableScale_1.default accessible={true} accessibilityRole="tab" accessibilityLabel={t('settings.ramLimits')} accessibilityState={{ selected: settingsActiveSubTab === 'limits' }} onPress={() => {
|
|
388
|
-
(0, InspectorContext_1.animateNextLayout)();
|
|
389
|
-
setSettingsActiveSubTab('limits');
|
|
390
|
-
}} style={{
|
|
391
|
-
flex: 1,
|
|
392
|
-
paddingVertical: 8,
|
|
393
|
-
flexDirection: 'row',
|
|
394
|
-
alignItems: 'center',
|
|
395
|
-
justifyContent: 'center',
|
|
396
|
-
gap: 5,
|
|
397
|
-
borderRadius: 9,
|
|
398
|
-
backgroundColor: settingsActiveSubTab === 'limits'
|
|
399
|
-
? AppColors_1.AppColors.purple
|
|
400
|
-
: 'transparent',
|
|
401
|
-
}}>
|
|
402
|
-
<NetworkIcons_1.CpuIcon color={settingsActiveSubTab === 'limits'
|
|
403
|
-
? AppColors_1.AppColors.white
|
|
404
|
-
: AppColors_1.AppColors.grayText} size={12.5}/>
|
|
405
|
-
<react_native_1.Text style={{
|
|
406
|
-
fontFamily: AppFonts_1.AppFonts.interBold,
|
|
407
|
-
fontSize: 11.5,
|
|
408
|
-
lineHeight: 15,
|
|
409
|
-
color: settingsActiveSubTab === 'limits'
|
|
410
|
-
? AppColors_1.AppColors.white
|
|
411
|
-
: AppColors_1.AppColors.grayText,
|
|
412
|
-
}}>
|
|
413
|
-
{t('settings.ramLimits')}
|
|
414
|
-
</react_native_1.Text>
|
|
415
|
-
</TouchableScale_1.default>
|
|
416
|
-
|
|
417
|
-
{/* Tab 3: UI & Appearance */}
|
|
418
358
|
<TouchableScale_1.default accessible={true} accessibilityRole="tab" accessibilityLabel={t('settings.uiPreferences')} accessibilityState={{ selected: settingsActiveSubTab === 'ui' }} onPress={() => {
|
|
419
359
|
(0, InspectorContext_1.animateNextLayout)();
|
|
420
360
|
setSettingsActiveSubTab('ui');
|
|
421
361
|
}} style={{
|
|
422
362
|
flex: 1,
|
|
423
|
-
paddingVertical:
|
|
363
|
+
paddingVertical: 9,
|
|
424
364
|
flexDirection: 'row',
|
|
425
365
|
alignItems: 'center',
|
|
426
366
|
justifyContent: 'center',
|
|
427
|
-
gap:
|
|
367
|
+
gap: 6,
|
|
428
368
|
borderRadius: 9,
|
|
429
369
|
backgroundColor: settingsActiveSubTab === 'ui'
|
|
430
370
|
? AppColors_1.AppColors.purple
|
|
@@ -432,11 +372,11 @@ const SettingsPanel = () => {
|
|
|
432
372
|
}}>
|
|
433
373
|
<NetworkIcons_1.ScreenIcon color={settingsActiveSubTab === 'ui'
|
|
434
374
|
? AppColors_1.AppColors.white
|
|
435
|
-
: AppColors_1.AppColors.grayText} size={
|
|
375
|
+
: AppColors_1.AppColors.grayText} size={13}/>
|
|
436
376
|
<react_native_1.Text style={{
|
|
437
377
|
fontFamily: AppFonts_1.AppFonts.interBold,
|
|
438
|
-
fontSize:
|
|
439
|
-
lineHeight:
|
|
378
|
+
fontSize: 12.5,
|
|
379
|
+
lineHeight: 16,
|
|
440
380
|
color: settingsActiveSubTab === 'ui'
|
|
441
381
|
? AppColors_1.AppColors.white
|
|
442
382
|
: AppColors_1.AppColors.grayText,
|
|
@@ -446,7 +386,7 @@ const SettingsPanel = () => {
|
|
|
446
386
|
</TouchableScale_1.default>
|
|
447
387
|
</react_native_1.View>
|
|
448
388
|
|
|
449
|
-
{settingsActiveSubTab === 'module'
|
|
389
|
+
{settingsActiveSubTab === 'module' ? (<react_native_1.View style={{ gap: 12 }}>
|
|
450
390
|
{/* Individual Module Cards with Left Checkboxes */}
|
|
451
391
|
<react_native_1.View style={{ gap: 10 }}>
|
|
452
392
|
{allModules.map(moduleItem => {
|
|
@@ -462,23 +402,17 @@ const SettingsPanel = () => {
|
|
|
462
402
|
? `${logs.length} requests • Limit: ${maxNetworkLogs}`
|
|
463
403
|
: moduleItem.key === 'logs'
|
|
464
404
|
? `${consoleLogs.length} logs • Limit: ${maxConsoleLogs}`
|
|
465
|
-
: moduleItem.key === '
|
|
466
|
-
?
|
|
467
|
-
: moduleItem.key === '
|
|
468
|
-
?
|
|
469
|
-
: moduleItem.key === '
|
|
470
|
-
? `${
|
|
471
|
-
: moduleItem.key === '
|
|
472
|
-
?
|
|
473
|
-
: moduleItem.key === '
|
|
474
|
-
?
|
|
475
|
-
:
|
|
476
|
-
? `${crashRecords?.length || 0} crashes recorded • Crash Guard`
|
|
477
|
-
: moduleItem.key === 'analytics'
|
|
478
|
-
? `${analyticsEvents.length} events logged`
|
|
479
|
-
: moduleItem.key === 'redux'
|
|
480
|
-
? `${Object.keys(reduxState || {}).length} slices • Depth: ${reduxExpandDepth}`
|
|
481
|
-
: '';
|
|
405
|
+
: moduleItem.key === 'performance'
|
|
406
|
+
? '60 FPS Target • Memory Telemetry'
|
|
407
|
+
: moduleItem.key === 'bundle'
|
|
408
|
+
? 'Metro Packager • Dependency Map'
|
|
409
|
+
: moduleItem.key === 'crash'
|
|
410
|
+
? `${crashRecords?.length || 0} crashes recorded • Crash Guard`
|
|
411
|
+
: moduleItem.key === 'analytics'
|
|
412
|
+
? `${analyticsEvents.length} events logged`
|
|
413
|
+
: moduleItem.key === 'redux'
|
|
414
|
+
? `${Object.keys(reduxState || {}).length} slices • Depth: ${reduxExpandDepth}`
|
|
415
|
+
: '';
|
|
482
416
|
return (<react_native_1.View key={moduleItem.key} style={{
|
|
483
417
|
backgroundColor: AppColors_1.AppColors.primaryLight,
|
|
484
418
|
borderRadius: 14,
|
|
@@ -587,15 +521,6 @@ const SettingsPanel = () => {
|
|
|
587
521
|
{moduleItem.icon === 'analytics' && (<NetworkIcons_1.AnalyticsIcon color={isChecked
|
|
588
522
|
? AppColors_1.AppColors.purple
|
|
589
523
|
: AppColors_1.AppColors.grayTextWeak} size={16}/>)}
|
|
590
|
-
{moduleItem.icon === 'storage' && (<NetworkIcons_1.DatabaseIcon color={isChecked
|
|
591
|
-
? AppColors_1.AppColors.purple
|
|
592
|
-
: AppColors_1.AppColors.grayTextWeak} size={16}/>)}
|
|
593
|
-
{moduleItem.icon === 'device' && (<NetworkIcons_1.DevicePhoneIcon color={isChecked
|
|
594
|
-
? AppColors_1.AppColors.purple
|
|
595
|
-
: AppColors_1.AppColors.grayTextWeak} size={16}/>)}
|
|
596
|
-
{moduleItem.icon === 'audit' && (<NetworkIcons_1.ShieldCheckIcon color={isChecked
|
|
597
|
-
? AppColors_1.AppColors.purple
|
|
598
|
-
: AppColors_1.AppColors.grayTextWeak} size={16}/>)}
|
|
599
524
|
{moduleItem.icon === 'redux' && (<NetworkIcons_1.ReduxIcon color={isChecked
|
|
600
525
|
? AppColors_1.AppColors.purple
|
|
601
526
|
: AppColors_1.AppColors.grayTextWeak} size={16}/>)}
|
|
@@ -747,29 +672,29 @@ const SettingsPanel = () => {
|
|
|
747
672
|
borderTopColor: AppColors_1.AppColors.dividerColor,
|
|
748
673
|
}}>
|
|
749
674
|
{/* Live Info Pill */}
|
|
750
|
-
|
|
751
|
-
|
|
752
|
-
|
|
753
|
-
|
|
754
|
-
|
|
755
|
-
|
|
756
|
-
|
|
757
|
-
|
|
758
|
-
|
|
759
|
-
|
|
760
|
-
|
|
761
|
-
|
|
762
|
-
|
|
763
|
-
|
|
764
|
-
|
|
765
|
-
|
|
766
|
-
|
|
767
|
-
|
|
768
|
-
|
|
769
|
-
|
|
770
|
-
|
|
771
|
-
|
|
772
|
-
|
|
675
|
+
<react_native_1.View style={{
|
|
676
|
+
flexDirection: 'row',
|
|
677
|
+
alignItems: 'center',
|
|
678
|
+
gap: 6,
|
|
679
|
+
flex: 1,
|
|
680
|
+
}}>
|
|
681
|
+
<react_native_1.View style={{
|
|
682
|
+
width: 6,
|
|
683
|
+
height: 6,
|
|
684
|
+
borderRadius: 3,
|
|
685
|
+
backgroundColor: isChecked
|
|
686
|
+
? AppColors_1.AppColors.liveGreen
|
|
687
|
+
: AppColors_1.AppColors.grayTextWeak,
|
|
688
|
+
}}/>
|
|
689
|
+
<react_native_1.Text style={{
|
|
690
|
+
fontFamily: AppFonts_1.AppFonts.interMedium,
|
|
691
|
+
fontSize: 11,
|
|
692
|
+
color: AppColors_1.AppColors.grayText,
|
|
693
|
+
lineHeight: 14,
|
|
694
|
+
}}>
|
|
695
|
+
{liveStats}
|
|
696
|
+
</react_native_1.Text>
|
|
697
|
+
</react_native_1.View>
|
|
773
698
|
|
|
774
699
|
{/* Sleek Configure Button */}
|
|
775
700
|
<TouchableScale_1.default accessible={true} accessibilityRole="button" accessibilityLabel={`Configure ${moduleItem.label} settings`} onPress={() => {
|
|
@@ -801,11 +726,8 @@ const SettingsPanel = () => {
|
|
|
801
726
|
</react_native_1.View>);
|
|
802
727
|
})}
|
|
803
728
|
</react_native_1.View>
|
|
804
|
-
</react_native_1.View>)}
|
|
805
729
|
|
|
806
|
-
|
|
807
|
-
{settingsActiveSubTab === 'limits' && (<react_native_1.View style={{ gap: 14 }}>
|
|
808
|
-
{/* Section 1: RAM-Based Auto Limits */}
|
|
730
|
+
{/* Section 3.5: RAM-Based Auto Limits */}
|
|
809
731
|
<react_native_1.View style={{
|
|
810
732
|
backgroundColor: AppColors_1.AppColors.primaryLight,
|
|
811
733
|
borderRadius: 14,
|
|
@@ -822,7 +744,7 @@ const SettingsPanel = () => {
|
|
|
822
744
|
color: AppColors_1.AppColors.grayTextWeak,
|
|
823
745
|
letterSpacing: 0.8,
|
|
824
746
|
}}>
|
|
825
|
-
RAM-
|
|
747
|
+
RAM-Based Auto Limits
|
|
826
748
|
</react_native_1.Text>
|
|
827
749
|
|
|
828
750
|
{/* Auto RAM Limit Toggle */}
|
|
@@ -1027,329 +949,8 @@ const SettingsPanel = () => {
|
|
|
1027
949
|
</react_native_1.View>))}
|
|
1028
950
|
</react_native_1.View>
|
|
1029
951
|
</react_native_1.View>)}
|
|
1030
|
-
|
|
1031
|
-
<react_native_1.View style={{ height: 1, backgroundColor: AppColors_1.AppColors.dividerColor }}/>
|
|
1032
|
-
|
|
1033
|
-
{/* Floating Mini Performance HUD Toggle */}
|
|
1034
|
-
{renderSettingRow({
|
|
1035
|
-
icon: <NetworkIcons_1.PerformanceIcon color={AppColors_1.AppColors.purple} size={16}/>,
|
|
1036
|
-
label: 'Show Mini Performance HUD Overlay',
|
|
1037
|
-
description: 'Floating on-screen real-time FPS and Memory/Heap widget',
|
|
1038
|
-
right: (<TouchableScale_1.default accessible={true} accessibilityRole="switch" accessibilityLabel="Toggle mini performance HUD overlay" accessibilityState={{ checked: isPerformanceHudEnabled }} onPress={() => setIsPerformanceHudEnabled(prev => !prev)} style={{
|
|
1039
|
-
width: 42,
|
|
1040
|
-
height: 24,
|
|
1041
|
-
borderRadius: 12,
|
|
1042
|
-
backgroundColor: isPerformanceHudEnabled
|
|
1043
|
-
? AppColors_1.AppColors.purple
|
|
1044
|
-
: AppColors_1.AppColors.grayBorderSecondary,
|
|
1045
|
-
padding: 2,
|
|
1046
|
-
justifyContent: 'center',
|
|
1047
|
-
alignItems: isPerformanceHudEnabled
|
|
1048
|
-
? 'flex-end'
|
|
1049
|
-
: 'flex-start',
|
|
1050
|
-
}}>
|
|
1051
|
-
<react_native_1.View style={{
|
|
1052
|
-
width: 20,
|
|
1053
|
-
height: 20,
|
|
1054
|
-
borderRadius: 10,
|
|
1055
|
-
backgroundColor: AppColors_1.AppColors.white,
|
|
1056
|
-
shadowColor: AppColors_1.AppColors.black,
|
|
1057
|
-
shadowOpacity: 0.18,
|
|
1058
|
-
shadowRadius: 2,
|
|
1059
|
-
shadowOffset: { width: 0, height: 1 },
|
|
1060
|
-
}}/>
|
|
1061
|
-
</TouchableScale_1.default>),
|
|
1062
|
-
isLast: true,
|
|
1063
|
-
})}
|
|
1064
|
-
</react_native_1.View>
|
|
1065
|
-
|
|
1066
|
-
{/* Section 2: Fine-Tuned Resource Limits */}
|
|
1067
|
-
<react_native_1.View style={{
|
|
1068
|
-
backgroundColor: AppColors_1.AppColors.primaryLight,
|
|
1069
|
-
borderRadius: 14,
|
|
1070
|
-
borderWidth: 1,
|
|
1071
|
-
borderColor: AppColors_1.AppColors.grayBorderSecondary,
|
|
1072
|
-
overflow: 'hidden',
|
|
1073
|
-
padding: 14,
|
|
1074
|
-
gap: 12,
|
|
1075
|
-
}}>
|
|
1076
|
-
<react_native_1.Text style={{
|
|
1077
|
-
fontFamily: AppFonts_1.AppFonts.interBold,
|
|
1078
|
-
fontSize: 11,
|
|
1079
|
-
lineHeight: 14,
|
|
1080
|
-
color: AppColors_1.AppColors.grayTextWeak,
|
|
1081
|
-
letterSpacing: 0.8,
|
|
1082
|
-
}}>
|
|
1083
|
-
MANUAL RESOURCE THRESHOLDS
|
|
1084
|
-
</react_native_1.Text>
|
|
1085
|
-
|
|
1086
|
-
{renderSettingRow({
|
|
1087
|
-
icon: <NetworkIcons_1.SignalIcon color={AppColors_1.AppColors.purple} size={16}/>,
|
|
1088
|
-
label: 'Max Network / API Logs',
|
|
1089
|
-
description: 'Maximum in-memory API requests tracked before rotation',
|
|
1090
|
-
numericInput: {
|
|
1091
|
-
value: maxNetworkLogs,
|
|
1092
|
-
onChange: setMaxNetworkLogs,
|
|
1093
|
-
min: 10,
|
|
1094
|
-
max: 100,
|
|
1095
|
-
placeholder: '10 - 100',
|
|
1096
|
-
},
|
|
1097
|
-
})}
|
|
1098
|
-
|
|
1099
|
-
{renderSettingRow({
|
|
1100
|
-
icon: <NetworkIcons_1.TerminalIcon color={AppColors_1.AppColors.purple} size={16}/>,
|
|
1101
|
-
label: 'Max Console Logs',
|
|
1102
|
-
description: 'Maximum log entries kept across info/warn/error streams',
|
|
1103
|
-
numericInput: {
|
|
1104
|
-
value: maxConsoleLogs,
|
|
1105
|
-
onChange: setMaxConsoleLogs,
|
|
1106
|
-
min: 20,
|
|
1107
|
-
max: 300,
|
|
1108
|
-
placeholder: '20 - 300',
|
|
1109
|
-
},
|
|
1110
|
-
})}
|
|
1111
|
-
|
|
1112
|
-
{renderSettingRow({
|
|
1113
|
-
icon: <NetworkIcons_1.AnalyticsIcon color={AppColors_1.AppColors.purple} size={16}/>,
|
|
1114
|
-
label: 'Max Analytics Events',
|
|
1115
|
-
description: 'Capacity for captured analytics payloads & telemetry pings',
|
|
1116
|
-
numericInput: {
|
|
1117
|
-
value: maxAnalyticsEventsLimit,
|
|
1118
|
-
onChange: setMaxAnalyticsEventsLimit,
|
|
1119
|
-
min: 20,
|
|
1120
|
-
max: 200,
|
|
1121
|
-
placeholder: '20 - 200',
|
|
1122
|
-
},
|
|
1123
|
-
})}
|
|
1124
|
-
|
|
1125
|
-
{renderSettingRow({
|
|
1126
|
-
icon: <NetworkIcons_1.CrashIcon color={AppColors_1.AppColors.errorColor} size={16}/>,
|
|
1127
|
-
label: 'Max Crash Records',
|
|
1128
|
-
description: 'Stored fatal exceptions and crash diagnostics logs',
|
|
1129
|
-
numericInput: {
|
|
1130
|
-
value: maxCrashLogs,
|
|
1131
|
-
onChange: setMaxCrashLogs,
|
|
1132
|
-
min: 5,
|
|
1133
|
-
max: 50,
|
|
1134
|
-
placeholder: '5 - 50',
|
|
1135
|
-
},
|
|
1136
|
-
isLast: true,
|
|
1137
|
-
})}
|
|
1138
|
-
</react_native_1.View>
|
|
1139
|
-
|
|
1140
|
-
{/* Section 3: Storage & Cache Cleansing */}
|
|
1141
|
-
<react_native_1.View style={{
|
|
1142
|
-
backgroundColor: AppColors_1.AppColors.primaryLight,
|
|
1143
|
-
borderRadius: 14,
|
|
1144
|
-
borderWidth: 1,
|
|
1145
|
-
borderColor: AppColors_1.AppColors.grayBorderSecondary,
|
|
1146
|
-
overflow: 'hidden',
|
|
1147
|
-
padding: 14,
|
|
1148
|
-
gap: 12,
|
|
1149
|
-
}}>
|
|
1150
|
-
<react_native_1.Text style={{
|
|
1151
|
-
fontFamily: AppFonts_1.AppFonts.interBold,
|
|
1152
|
-
fontSize: 11,
|
|
1153
|
-
lineHeight: 14,
|
|
1154
|
-
color: AppColors_1.AppColors.grayTextWeak,
|
|
1155
|
-
letterSpacing: 0.8,
|
|
1156
|
-
}}>
|
|
1157
|
-
STORAGE & CACHE CLEANSING
|
|
1158
|
-
</react_native_1.Text>
|
|
1159
|
-
|
|
1160
|
-
{renderSettingRow({
|
|
1161
|
-
icon: <NetworkIcons_1.TrashIcon color={AppColors_1.AppColors.errorColor} size={16}/>,
|
|
1162
|
-
label: 'Clear All Network Logs',
|
|
1163
|
-
description: `${logs.length} requests in memory`,
|
|
1164
|
-
onPress: () => {
|
|
1165
|
-
(0, networkLogger_1.clearNetworkLogs)();
|
|
1166
|
-
setSelected(null);
|
|
1167
|
-
react_native_1.Alert.alert(t('common.success'), 'Network logs cleared successfully.');
|
|
1168
|
-
},
|
|
1169
|
-
right: (<react_native_1.View style={{
|
|
1170
|
-
paddingHorizontal: 10,
|
|
1171
|
-
paddingVertical: 4,
|
|
1172
|
-
borderRadius: 6,
|
|
1173
|
-
backgroundColor: `${AppColors_1.AppColors.errorColor}14`,
|
|
1174
|
-
borderWidth: 1,
|
|
1175
|
-
borderColor: `${AppColors_1.AppColors.errorColor}33`,
|
|
1176
|
-
}}>
|
|
1177
|
-
<react_native_1.Text style={{
|
|
1178
|
-
fontFamily: AppFonts_1.AppFonts.interBold,
|
|
1179
|
-
fontSize: 11,
|
|
1180
|
-
color: AppColors_1.AppColors.errorColor,
|
|
1181
|
-
}}>
|
|
1182
|
-
Clear ({logs.length})
|
|
1183
|
-
</react_native_1.Text>
|
|
1184
|
-
</react_native_1.View>),
|
|
1185
|
-
})}
|
|
1186
|
-
|
|
1187
|
-
{renderSettingRow({
|
|
1188
|
-
icon: <NetworkIcons_1.TrashIcon color={AppColors_1.AppColors.errorColor} size={16}/>,
|
|
1189
|
-
label: 'Clear All Console Logs',
|
|
1190
|
-
description: `${consoleLogs.length} logs in memory`,
|
|
1191
|
-
onPress: () => {
|
|
1192
|
-
(0, consoleLogger_1.clearConsoleLogs)();
|
|
1193
|
-
react_native_1.Alert.alert(t('common.success'), 'Console logs cleared successfully.');
|
|
1194
|
-
},
|
|
1195
|
-
right: (<react_native_1.View style={{
|
|
1196
|
-
paddingHorizontal: 10,
|
|
1197
|
-
paddingVertical: 4,
|
|
1198
|
-
borderRadius: 6,
|
|
1199
|
-
backgroundColor: `${AppColors_1.AppColors.errorColor}14`,
|
|
1200
|
-
borderWidth: 1,
|
|
1201
|
-
borderColor: `${AppColors_1.AppColors.errorColor}33`,
|
|
1202
|
-
}}>
|
|
1203
|
-
<react_native_1.Text style={{
|
|
1204
|
-
fontFamily: AppFonts_1.AppFonts.interBold,
|
|
1205
|
-
fontSize: 11,
|
|
1206
|
-
color: AppColors_1.AppColors.errorColor,
|
|
1207
|
-
}}>
|
|
1208
|
-
Clear ({consoleLogs.length})
|
|
1209
|
-
</react_native_1.Text>
|
|
1210
|
-
</react_native_1.View>),
|
|
1211
|
-
})}
|
|
1212
|
-
|
|
1213
|
-
{renderSettingRow({
|
|
1214
|
-
icon: <NetworkIcons_1.TrashIcon color={AppColors_1.AppColors.errorColor} size={16}/>,
|
|
1215
|
-
label: 'Clear Analytics Events',
|
|
1216
|
-
description: `${analyticsEvents.length} events recorded`,
|
|
1217
|
-
onPress: () => {
|
|
1218
|
-
(0, analyticsLogger_1.clearAnalyticsEvents)();
|
|
1219
|
-
setSelectedEvent(null);
|
|
1220
|
-
react_native_1.Alert.alert(t('common.success'), 'Analytics events cleared successfully.');
|
|
1221
|
-
},
|
|
1222
|
-
right: (<react_native_1.View style={{
|
|
1223
|
-
paddingHorizontal: 10,
|
|
1224
|
-
paddingVertical: 4,
|
|
1225
|
-
borderRadius: 6,
|
|
1226
|
-
backgroundColor: `${AppColors_1.AppColors.errorColor}14`,
|
|
1227
|
-
borderWidth: 1,
|
|
1228
|
-
borderColor: `${AppColors_1.AppColors.errorColor}33`,
|
|
1229
|
-
}}>
|
|
1230
|
-
<react_native_1.Text style={{
|
|
1231
|
-
fontFamily: AppFonts_1.AppFonts.interBold,
|
|
1232
|
-
fontSize: 11,
|
|
1233
|
-
color: AppColors_1.AppColors.errorColor,
|
|
1234
|
-
}}>
|
|
1235
|
-
Clear ({analyticsEvents.length})
|
|
1236
|
-
</react_native_1.Text>
|
|
1237
|
-
</react_native_1.View>),
|
|
1238
|
-
})}
|
|
1239
|
-
|
|
1240
|
-
{renderSettingRow({
|
|
1241
|
-
icon: <NetworkIcons_1.TrashIcon color={AppColors_1.AppColors.errorColor} size={16}/>,
|
|
1242
|
-
label: 'Clear Crash Logs',
|
|
1243
|
-
description: `${crashRecords.length} crash dumps recorded`,
|
|
1244
|
-
onPress: () => {
|
|
1245
|
-
(0, crashHandler_1.clearCrashRecords)();
|
|
1246
|
-
react_native_1.Alert.alert(t('common.success'), 'Crash records cleared successfully.');
|
|
1247
|
-
},
|
|
1248
|
-
isLast: true,
|
|
1249
|
-
right: (<react_native_1.View style={{
|
|
1250
|
-
paddingHorizontal: 10,
|
|
1251
|
-
paddingVertical: 4,
|
|
1252
|
-
borderRadius: 6,
|
|
1253
|
-
backgroundColor: `${AppColors_1.AppColors.errorColor}14`,
|
|
1254
|
-
borderWidth: 1,
|
|
1255
|
-
borderColor: `${AppColors_1.AppColors.errorColor}33`,
|
|
1256
|
-
}}>
|
|
1257
|
-
<react_native_1.Text style={{
|
|
1258
|
-
fontFamily: AppFonts_1.AppFonts.interBold,
|
|
1259
|
-
fontSize: 11,
|
|
1260
|
-
color: AppColors_1.AppColors.errorColor,
|
|
1261
|
-
}}>
|
|
1262
|
-
Clear ({crashRecords.length})
|
|
1263
|
-
</react_native_1.Text>
|
|
1264
|
-
</react_native_1.View>),
|
|
1265
|
-
})}
|
|
1266
952
|
</react_native_1.View>
|
|
1267
|
-
</react_native_1.View>)}
|
|
1268
|
-
|
|
1269
|
-
{/* ─── TAB 3: UI & APPEARANCE ────────────────────────────────────────── */}
|
|
1270
|
-
{settingsActiveSubTab === 'ui' && (<react_native_1.View style={{ gap: 14 }}>
|
|
1271
|
-
{/* Section 0: Interactive Walkthrough Tour */}
|
|
1272
|
-
<react_native_1.View style={{
|
|
1273
|
-
backgroundColor: AppColors_1.AppColors.primaryLight,
|
|
1274
|
-
borderRadius: 14,
|
|
1275
|
-
borderWidth: 1,
|
|
1276
|
-
borderColor: AppColors_1.AppColors.grayBorderSecondary,
|
|
1277
|
-
overflow: 'hidden',
|
|
1278
|
-
padding: 14,
|
|
1279
|
-
gap: 12,
|
|
1280
|
-
}}>
|
|
1281
|
-
<react_native_1.Text style={{
|
|
1282
|
-
fontFamily: AppFonts_1.AppFonts.interBold,
|
|
1283
|
-
fontSize: 11,
|
|
1284
|
-
lineHeight: 14,
|
|
1285
|
-
color: AppColors_1.AppColors.grayTextWeak,
|
|
1286
|
-
letterSpacing: 0.8,
|
|
1287
|
-
}}>
|
|
1288
|
-
ONBOARDING & GUIDE
|
|
1289
|
-
</react_native_1.Text>
|
|
1290
|
-
|
|
1291
|
-
<react_native_1.View style={{
|
|
1292
|
-
flexDirection: 'row',
|
|
1293
|
-
alignItems: 'center',
|
|
1294
|
-
justifyContent: 'space-between',
|
|
1295
|
-
gap: 10,
|
|
1296
|
-
}}>
|
|
1297
|
-
<react_native_1.View style={{
|
|
1298
|
-
flexDirection: 'row',
|
|
1299
|
-
alignItems: 'center',
|
|
1300
|
-
gap: 10,
|
|
1301
|
-
flex: 1,
|
|
1302
|
-
}}>
|
|
1303
|
-
<react_native_1.View style={{
|
|
1304
|
-
width: 34,
|
|
1305
|
-
height: 34,
|
|
1306
|
-
borderRadius: 9,
|
|
1307
|
-
backgroundColor: `${AppColors_1.AppColors.purple}16`,
|
|
1308
|
-
alignItems: 'center',
|
|
1309
|
-
justifyContent: 'center',
|
|
1310
|
-
}}>
|
|
1311
|
-
<NetworkIcons_1.GlobeIcon color={AppColors_1.AppColors.purple} size={16}/>
|
|
1312
|
-
</react_native_1.View>
|
|
1313
|
-
<react_native_1.View style={{ flex: 1 }}>
|
|
1314
|
-
<react_native_1.Text style={{
|
|
1315
|
-
fontFamily: AppFonts_1.AppFonts.interBold,
|
|
1316
|
-
fontSize: 13.5,
|
|
1317
|
-
lineHeight: 18,
|
|
1318
|
-
color: AppColors_1.AppColors.primaryBlack,
|
|
1319
|
-
}}>
|
|
1320
|
-
First-Time Walkthrough
|
|
1321
|
-
</react_native_1.Text>
|
|
1322
|
-
<react_native_1.Text style={{
|
|
1323
|
-
fontFamily: AppFonts_1.AppFonts.interRegular,
|
|
1324
|
-
fontSize: 11.5,
|
|
1325
|
-
color: AppColors_1.AppColors.grayTextWeak,
|
|
1326
|
-
marginTop: 1,
|
|
1327
|
-
lineHeight: 16,
|
|
1328
|
-
}}>
|
|
1329
|
-
Explore features, gestures & developer tools
|
|
1330
|
-
</react_native_1.Text>
|
|
1331
|
-
</react_native_1.View>
|
|
1332
|
-
</react_native_1.View>
|
|
1333
|
-
|
|
1334
|
-
<TouchableScale_1.default style={{
|
|
1335
|
-
backgroundColor: `${AppColors_1.AppColors.purple}14`,
|
|
1336
|
-
borderColor: `${AppColors_1.AppColors.purple}30`,
|
|
1337
|
-
borderWidth: 1,
|
|
1338
|
-
paddingHorizontal: 12,
|
|
1339
|
-
paddingVertical: 7,
|
|
1340
|
-
borderRadius: 8,
|
|
1341
|
-
}} onPress={openWalkthrough} hitSlop={8}>
|
|
1342
|
-
<react_native_1.Text style={{
|
|
1343
|
-
fontFamily: AppFonts_1.AppFonts.interBold,
|
|
1344
|
-
fontSize: 12,
|
|
1345
|
-
color: AppColors_1.AppColors.purple,
|
|
1346
|
-
}}>
|
|
1347
|
-
Start Tour →
|
|
1348
|
-
</react_native_1.Text>
|
|
1349
|
-
</TouchableScale_1.default>
|
|
1350
|
-
</react_native_1.View>
|
|
1351
|
-
</react_native_1.View>
|
|
1352
|
-
|
|
953
|
+
</react_native_1.View>) : (<react_native_1.View style={{ gap: 14 }}>
|
|
1353
954
|
{/* Section 1: Appearance */}
|
|
1354
955
|
<react_native_1.View style={{
|
|
1355
956
|
backgroundColor: AppColors_1.AppColors.primaryLight,
|