react-native-inapp-inspector 2.3.15 → 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 (96) hide show
  1. package/README.md +1 -0
  2. package/dist/commonjs/components/Inspector/AnalyticsTab.js +0 -22
  3. package/dist/commonjs/components/Inspector/ConsoleTab.js +0 -22
  4. package/dist/commonjs/components/Inspector/CrashTab.js +0 -23
  5. package/dist/commonjs/components/Inspector/FeedbackModal.d.ts +7 -0
  6. package/dist/commonjs/components/Inspector/FeedbackModal.js +552 -0
  7. package/dist/commonjs/components/Inspector/InspectorHeader.js +56 -4
  8. package/dist/commonjs/components/Inspector/MainScreen.js +45 -3
  9. package/dist/commonjs/components/Inspector/NetworkTab.js +27 -38
  10. package/dist/commonjs/components/Inspector/NpmStarPrompt.d.ts +3 -0
  11. package/dist/commonjs/components/Inspector/NpmStarPrompt.js +494 -0
  12. package/dist/commonjs/components/Inspector/PerformanceTab.js +8 -1
  13. package/dist/commonjs/components/Inspector/ReduxTab.js +0 -22
  14. package/dist/commonjs/components/Inspector/SettingsPanel.js +1035 -173
  15. package/dist/commonjs/components/Inspector/StorageTab.js +0 -23
  16. package/dist/commonjs/components/Inspector/TabBar.js +50 -15
  17. package/dist/commonjs/components/NetworkIcons.d.ts +5 -0
  18. package/dist/commonjs/components/NetworkIcons.js +33 -2
  19. package/dist/commonjs/constants/version.d.ts +1 -1
  20. package/dist/commonjs/constants/version.js +1 -1
  21. package/dist/commonjs/helpers/index.d.ts +1 -0
  22. package/dist/commonjs/helpers/index.js +1 -0
  23. package/dist/commonjs/helpers/remoteConfig.d.ts +4 -0
  24. package/dist/commonjs/helpers/remoteConfig.js +165 -0
  25. package/dist/commonjs/helpers/searchQueryParser.js +2 -0
  26. package/dist/commonjs/helpers/telemetry.d.ts +5 -0
  27. package/dist/commonjs/helpers/telemetry.js +339 -8
  28. package/dist/commonjs/index.d.ts +1 -0
  29. package/dist/commonjs/index.js +32 -2
  30. package/dist/commonjs/styles/AppFonts.d.ts +2 -0
  31. package/dist/commonjs/styles/AppFonts.js +1 -0
  32. package/dist/commonjs/styles/index.d.ts +22 -0
  33. package/dist/commonjs/styles/index.js +19 -0
  34. package/dist/commonjs/types/enums.d.ts +1 -0
  35. package/dist/commonjs/types/enums.js +1 -0
  36. package/dist/commonjs/types/interfaces.d.ts +12 -0
  37. package/dist/esm/components/Inspector/AnalyticsTab.js +1 -23
  38. package/dist/esm/components/Inspector/ConsoleTab.js +1 -23
  39. package/dist/esm/components/Inspector/CrashTab.js +1 -24
  40. package/dist/esm/components/Inspector/FeedbackModal.d.ts +7 -0
  41. package/dist/esm/components/Inspector/FeedbackModal.js +515 -0
  42. package/dist/esm/components/Inspector/InspectorHeader.js +57 -5
  43. package/dist/esm/components/Inspector/MainScreen.js +46 -4
  44. package/dist/esm/components/Inspector/NetworkTab.js +28 -39
  45. package/dist/esm/components/Inspector/NpmStarPrompt.d.ts +3 -0
  46. package/dist/esm/components/Inspector/NpmStarPrompt.js +454 -0
  47. package/dist/esm/components/Inspector/PerformanceTab.js +8 -1
  48. package/dist/esm/components/Inspector/ReduxTab.js +1 -23
  49. package/dist/esm/components/Inspector/SettingsPanel.js +1038 -176
  50. package/dist/esm/components/Inspector/StorageTab.js +0 -23
  51. package/dist/esm/components/Inspector/TabBar.js +50 -15
  52. package/dist/esm/components/NetworkIcons.d.ts +5 -0
  53. package/dist/esm/components/NetworkIcons.js +26 -0
  54. package/dist/esm/constants/version.d.ts +1 -1
  55. package/dist/esm/constants/version.js +1 -1
  56. package/dist/esm/helpers/index.d.ts +1 -0
  57. package/dist/esm/helpers/index.js +1 -0
  58. package/dist/esm/helpers/remoteConfig.d.ts +4 -0
  59. package/dist/esm/helpers/remoteConfig.js +160 -0
  60. package/dist/esm/helpers/searchQueryParser.js +2 -0
  61. package/dist/esm/helpers/telemetry.d.ts +5 -0
  62. package/dist/esm/helpers/telemetry.js +332 -9
  63. package/dist/esm/index.d.ts +1 -0
  64. package/dist/esm/index.js +30 -2
  65. package/dist/esm/styles/AppFonts.d.ts +2 -0
  66. package/dist/esm/styles/AppFonts.js +1 -0
  67. package/dist/esm/styles/index.d.ts +22 -0
  68. package/dist/esm/styles/index.js +19 -0
  69. package/dist/esm/types/enums.d.ts +1 -0
  70. package/dist/esm/types/enums.js +1 -0
  71. package/dist/esm/types/interfaces.d.ts +12 -0
  72. package/package.json +1 -1
  73. package/src/components/Inspector/AnalyticsTab.tsx +0 -23
  74. package/src/components/Inspector/ConsoleTab.tsx +0 -23
  75. package/src/components/Inspector/CrashTab.tsx +0 -23
  76. package/src/components/Inspector/FeedbackModal.tsx +626 -0
  77. package/src/components/Inspector/InspectorHeader.tsx +78 -2
  78. package/src/components/Inspector/MainScreen.tsx +59 -3
  79. package/src/components/Inspector/NetworkTab.tsx +69 -78
  80. package/src/components/Inspector/NpmStarPrompt.tsx +532 -0
  81. package/src/components/Inspector/PerformanceTab.tsx +8 -1
  82. package/src/components/Inspector/ReduxTab.tsx +0 -23
  83. package/src/components/Inspector/SettingsPanel.tsx +1162 -197
  84. package/src/components/Inspector/StorageTab.tsx +0 -23
  85. package/src/components/Inspector/TabBar.tsx +57 -20
  86. package/src/components/NetworkIcons.tsx +92 -0
  87. package/src/constants/version.ts +1 -1
  88. package/src/helpers/index.ts +1 -0
  89. package/src/helpers/remoteConfig.ts +212 -0
  90. package/src/helpers/searchQueryParser.ts +3 -0
  91. package/src/helpers/telemetry.ts +381 -10
  92. package/src/index.tsx +42 -0
  93. package/src/styles/AppFonts.ts +2 -0
  94. package/src/styles/index.ts +20 -1
  95. package/src/types/enums.ts +1 -0
  96. package/src/types/interfaces.ts +12 -0
@@ -62,7 +62,7 @@ const toast_1 = require("../../helpers/toast");
62
62
  const memoryManager_1 = require("../../helpers/memoryManager");
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, reduxAutoRefresh, setReduxAutoRefreshState, reduxExpandDepth, setReduxExpandDepth, switchActiveTab, setSelected, setSelectedEvent, setReduxState, crashRecords, maxCrashLogs, setMaxCrashLogs, updateAvailable, latestNpmVersion, } = (0, InspectorContext_1.useInspector)();
65
+ const { settingsPage, setSettingsPage, settingsActiveSubTab, setSettingsActiveSubTab, tabVisibility, toggleTabVisibility, defaultTab, setDefaultTab, isDark, setIsDark, modalHeightPercent, setModalHeightPercent, modalAnimationType, setModalAnimationType, showDuplicateLogs, setShowDuplicateLogs, showUpdateToast, setShowUpdateToast, showConsoleLevels, setShowConsoleLevels, resetToDefaults, closeModal, 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
  (0, react_1.useEffect)(() => {
68
68
  setStagedHeight(modalHeightPercent);
@@ -73,6 +73,7 @@ const SettingsPanel = () => {
73
73
  const headerTopPadding = modalHeightPercent >= 95 ? statusBarHeight : 0;
74
74
  const allModules = (0, react_1.useMemo)(() => [
75
75
  {
76
+ id: 1,
76
77
  key: 'apis',
77
78
  label: 'APIs (Network)',
78
79
  category: 'core',
@@ -80,6 +81,7 @@ const SettingsPanel = () => {
80
81
  desc: 'HTTP/HTTPS requests, GraphQL, Axios & WebSocket inspector',
81
82
  },
82
83
  {
84
+ id: 2,
83
85
  key: 'logs',
84
86
  label: 'Console Logs',
85
87
  category: 'core',
@@ -87,27 +89,7 @@ const SettingsPanel = () => {
87
89
  desc: 'Terminal console logs, warnings, errors & stack traces',
88
90
  },
89
91
  {
90
- key: 'performance',
91
- label: 'Performance Tracker',
92
- category: 'diagnostic',
93
- icon: 'performance',
94
- desc: '60 FPS monitor, Hermes memory telemetry & re-render profiler',
95
- },
96
- {
97
- key: 'bundle',
98
- label: 'Bundle Analyzer',
99
- category: 'diagnostic',
100
- icon: 'bundle',
101
- desc: 'Metro packager dependencies, source maps & asset breakdown',
102
- },
103
- {
104
- key: 'crash',
105
- label: 'Crash Protection',
106
- category: 'diagnostic',
107
- icon: 'crash',
108
- desc: 'Runtime exception guard, breadcrumbs & memory snapshot',
109
- },
110
- {
92
+ id: 3,
111
93
  key: 'analytics',
112
94
  label: 'Analytics Logger',
113
95
  category: 'telemetry',
@@ -115,6 +97,7 @@ const SettingsPanel = () => {
115
97
  desc: 'Firebase & custom analytics events, user properties & params',
116
98
  },
117
99
  {
100
+ id: 4,
118
101
  key: 'redux',
119
102
  label: 'Redux Inspector',
120
103
  category: 'telemetry',
@@ -122,6 +105,15 @@ const SettingsPanel = () => {
122
105
  desc: 'Store state diffing, action history & reducer timeline',
123
106
  },
124
107
  {
108
+ id: 5,
109
+ key: 'storage',
110
+ label: 'Storage Inspector',
111
+ category: 'telemetry',
112
+ icon: 'storage',
113
+ desc: 'AsyncStorage & MMKV key-value store viewer with full CRUD support',
114
+ },
115
+ {
116
+ id: 6,
125
117
  key: 'device',
126
118
  label: 'Device Info',
127
119
  category: 'diagnostic',
@@ -129,13 +121,31 @@ const SettingsPanel = () => {
129
121
  desc: 'Hardware specs, IP address, screen metrics, UDID & runtime stats',
130
122
  },
131
123
  {
132
- key: 'storage',
133
- label: 'Storage Inspector',
134
- category: 'telemetry',
135
- icon: 'storage',
136
- desc: 'AsyncStorage & MMKV key-value store viewer with full CRUD support',
124
+ id: 7,
125
+ key: 'crash',
126
+ label: 'Crash Protection',
127
+ category: 'diagnostic',
128
+ icon: 'crash',
129
+ desc: 'Runtime exception guard, breadcrumbs & memory snapshot',
130
+ },
131
+ {
132
+ id: 8,
133
+ key: 'bundle',
134
+ label: 'Bundle Analyzer',
135
+ category: 'diagnostic',
136
+ icon: 'bundle',
137
+ desc: 'Metro packager dependencies, source maps & asset breakdown',
138
+ },
139
+ {
140
+ id: 9,
141
+ key: 'performance',
142
+ label: 'Performance & Tracker',
143
+ category: 'diagnostic',
144
+ icon: 'performance',
145
+ desc: '60 FPS monitor, Hermes memory telemetry & re-render profiler',
137
146
  },
138
147
  {
148
+ id: 10,
139
149
  key: 'debugging',
140
150
  label: 'Multi-Device Debugging',
141
151
  category: 'diagnostic',
@@ -150,11 +160,11 @@ const SettingsPanel = () => {
150
160
  logs: Boolean(tabVisibility?.logs),
151
161
  analytics: Boolean(tabVisibility?.analytics),
152
162
  redux: Boolean(tabVisibility?.redux),
163
+ storage: Boolean(tabVisibility?.storage),
164
+ device: Boolean(tabVisibility?.device),
165
+ crash: Boolean(tabVisibility?.crash),
153
166
  bundle: Boolean(tabVisibility?.bundle),
154
167
  performance: Boolean(tabVisibility?.performance),
155
- crash: Boolean(tabVisibility?.crash),
156
- device: Boolean(tabVisibility?.device),
157
- storage: Boolean(tabVisibility?.storage),
158
168
  debugging: Boolean(tabVisibility?.debugging),
159
169
  }));
160
170
  (0, react_1.useEffect)(() => {
@@ -163,11 +173,11 @@ const SettingsPanel = () => {
163
173
  logs: Boolean(tabVisibility?.logs),
164
174
  analytics: Boolean(tabVisibility?.analytics),
165
175
  redux: Boolean(tabVisibility?.redux),
176
+ storage: Boolean(tabVisibility?.storage),
177
+ device: Boolean(tabVisibility?.device),
178
+ crash: Boolean(tabVisibility?.crash),
166
179
  bundle: Boolean(tabVisibility?.bundle),
167
180
  performance: Boolean(tabVisibility?.performance),
168
- crash: Boolean(tabVisibility?.crash),
169
- device: Boolean(tabVisibility?.device),
170
- storage: Boolean(tabVisibility?.storage),
171
181
  debugging: Boolean(tabVisibility?.debugging),
172
182
  });
173
183
  }, [tabVisibility]);
@@ -177,17 +187,50 @@ const SettingsPanel = () => {
177
187
  }, [stagedTabVisibility, tabVisibility, allModules]);
178
188
  const stagedActiveCount = allModules.filter(m => m.key === 'apis' || Boolean(stagedTabVisibility[m.key])).length;
179
189
  const handleSaveChanges = () => {
180
- (0, InspectorContext_1.animateNextLayout)();
181
- allModules.forEach(m => {
182
- if (m.key !== 'apis') {
183
- const isStagedOn = Boolean(stagedTabVisibility[m.key]);
184
- const isCurrentOn = Boolean(tabVisibility?.[m.key]);
185
- if (isStagedOn !== isCurrentOn) {
186
- toggleTabVisibility(m.key);
187
- }
188
- }
189
- });
190
- react_native_1.Alert.alert(t('settings.settingsSaved'), t('settings.settingsSavedDesc'));
190
+ if (!hasUnsavedChanges)
191
+ return;
192
+ react_native_1.Alert.alert('Apply Changes & Reload', 'Are you sure you want to save module changes? The inspector will close and reload the app to apply the new configuration.', [
193
+ {
194
+ text: 'Cancel',
195
+ style: 'cancel',
196
+ onPress: () => {
197
+ setStagedTabVisibility({
198
+ apis: true,
199
+ logs: Boolean(tabVisibility?.logs),
200
+ analytics: Boolean(tabVisibility?.analytics),
201
+ redux: Boolean(tabVisibility?.redux),
202
+ storage: Boolean(tabVisibility?.storage),
203
+ device: Boolean(tabVisibility?.device),
204
+ crash: Boolean(tabVisibility?.crash),
205
+ bundle: Boolean(tabVisibility?.bundle),
206
+ performance: Boolean(tabVisibility?.performance),
207
+ debugging: Boolean(tabVisibility?.debugging),
208
+ });
209
+ },
210
+ },
211
+ {
212
+ text: 'Save & Reload',
213
+ style: 'default',
214
+ onPress: () => {
215
+ (0, InspectorContext_1.animateNextLayout)();
216
+ allModules.forEach(m => {
217
+ if (m.key !== 'apis') {
218
+ const isStagedOn = Boolean(stagedTabVisibility[m.key]);
219
+ const isCurrentOn = Boolean(tabVisibility?.[m.key]);
220
+ if (isStagedOn !== isCurrentOn) {
221
+ toggleTabVisibility(m.key);
222
+ }
223
+ }
224
+ });
225
+ closeModal();
226
+ setTimeout(() => {
227
+ if (__DEV__ && react_native_1.DevSettings && react_native_1.DevSettings.reload) {
228
+ react_native_1.DevSettings.reload();
229
+ }
230
+ }, 350);
231
+ },
232
+ },
233
+ ]);
191
234
  };
192
235
  const [isDefaultTabDropdownOpen, setIsDefaultTabDropdownOpen] = (0, react_1.useState)(false);
193
236
  const goBackToMain = () => {
@@ -360,6 +403,11 @@ const SettingsPanel = () => {
360
403
  label: t('settings.ramLimits', 'RAM & Limits'),
361
404
  Icon: NetworkIcons_1.BrainIcon,
362
405
  },
406
+ {
407
+ key: 'about',
408
+ label: t('settings.aboutAndSpecs', 'About & Specs'),
409
+ Icon: NetworkIcons_1.InfoCircleIcon,
410
+ },
363
411
  ].map(tab => {
364
412
  const isActive = settingsActiveSubTab === tab.key;
365
413
  const IconComp = tab.Icon;
@@ -569,6 +617,32 @@ const SettingsPanel = () => {
569
617
  gap: 6,
570
618
  flexWrap: 'wrap',
571
619
  }}>
620
+ <react_native_1.View style={{
621
+ minWidth: 22,
622
+ height: 22,
623
+ paddingHorizontal: 5,
624
+ borderRadius: 11,
625
+ backgroundColor: isChecked
626
+ ? `${AppColors_1.AppColors.purple}1C`
627
+ : `${AppColors_1.AppColors.grayBorderSecondary}80`,
628
+ borderWidth: 1,
629
+ borderColor: isChecked
630
+ ? `${AppColors_1.AppColors.purple}44`
631
+ : AppColors_1.AppColors.grayBorderSecondary,
632
+ alignItems: 'center',
633
+ justifyContent: 'center',
634
+ }}>
635
+ <react_native_1.Text style={{
636
+ fontFamily: AppFonts_1.AppFonts.interBold,
637
+ fontSize: 10,
638
+ lineHeight: 13,
639
+ color: isChecked
640
+ ? AppColors_1.AppColors.purple
641
+ : AppColors_1.AppColors.grayText,
642
+ }}>
643
+ #{moduleItem.id}
644
+ </react_native_1.Text>
645
+ </react_native_1.View>
572
646
  <react_native_1.Text style={{
573
647
  fontFamily: AppFonts_1.AppFonts.interBold,
574
648
  fontSize: 14,
@@ -1120,8 +1194,9 @@ const SettingsPanel = () => {
1120
1194
  lineHeight: 18,
1121
1195
  color: AppColors_1.AppColors.primaryBlack,
1122
1196
  }}>
1123
- {allModules.find(m => m.key === defaultTab)?.label ||
1124
- 'APIs (Network)'}
1197
+ {allModules.find(m => m.key === defaultTab)
1198
+ ? `#${allModules.find(m => m.key === defaultTab)?.id} ${allModules.find(m => m.key === defaultTab)?.label}`
1199
+ : '#1 APIs (Network)'}
1125
1200
  </react_native_1.Text>
1126
1201
  <react_native_1.View style={{
1127
1202
  backgroundColor: `${AppColors_1.AppColors.purple}14`,
@@ -1205,7 +1280,7 @@ const SettingsPanel = () => {
1205
1280
  ? AppColors_1.AppColors.purple
1206
1281
  : AppColors_1.AppColors.primaryBlack,
1207
1282
  }}>
1208
- {tab.label}
1283
+ #{tab.id} {tab.label}
1209
1284
  </react_native_1.Text>
1210
1285
  </react_native_1.View>
1211
1286
  {isActive && (<NetworkIcons_1.CheckIcon size={14} color={AppColors_1.AppColors.purple}/>)}
@@ -1303,132 +1378,6 @@ const SettingsPanel = () => {
1303
1378
  </TouchableScale_1.default>
1304
1379
  </react_native_1.View>
1305
1380
  </react_native_1.View>
1306
-
1307
-
1308
- <react_native_1.View style={{
1309
- backgroundColor: AppColors_1.AppColors.primaryLight,
1310
- borderRadius: 14,
1311
- borderWidth: 1,
1312
- borderColor: AppColors_1.AppColors.grayBorderSecondary,
1313
- overflow: 'hidden',
1314
- padding: 14,
1315
- gap: 12,
1316
- }}>
1317
- <react_native_1.Text style={{
1318
- fontFamily: AppFonts_1.AppFonts.interBold,
1319
- fontSize: 11,
1320
- lineHeight: 14,
1321
- color: AppColors_1.AppColors.grayTextWeak,
1322
- letterSpacing: 0.8,
1323
- }}>
1324
- PACKAGE VERSION & UPDATES
1325
- </react_native_1.Text>
1326
-
1327
- <react_native_1.View style={{
1328
- flexDirection: 'row',
1329
- alignItems: 'center',
1330
- justifyContent: 'space-between',
1331
- }}>
1332
- <react_native_1.View style={{
1333
- flexDirection: 'row',
1334
- alignItems: 'center',
1335
- gap: 10,
1336
- flex: 1,
1337
- marginRight: 8,
1338
- }}>
1339
- <react_native_1.View style={{
1340
- width: 32,
1341
- height: 32,
1342
- borderRadius: 8,
1343
- backgroundColor: '#CB383715',
1344
- alignItems: 'center',
1345
- justifyContent: 'center',
1346
- }}>
1347
- <NetworkIcons_1.NpmIcon color="#CB3837" size={16}/>
1348
- </react_native_1.View>
1349
- <react_native_1.View style={{ flex: 1 }}>
1350
- <react_native_1.View style={{
1351
- flexDirection: 'row',
1352
- alignItems: 'center',
1353
- gap: 6,
1354
- }}>
1355
- <react_native_1.Text style={{
1356
- fontFamily: AppFonts_1.AppFonts.interBold,
1357
- fontSize: 13.5,
1358
- lineHeight: 18,
1359
- color: AppColors_1.AppColors.primaryBlack,
1360
- }}>
1361
- v{constants_1.LIB_VERSION}
1362
- </react_native_1.Text>
1363
- {updateAvailable ? (<react_native_1.View style={{
1364
- flexDirection: 'row',
1365
- alignItems: 'center',
1366
- gap: 3,
1367
- backgroundColor: '#F59E0B20',
1368
- paddingHorizontal: 6,
1369
- paddingVertical: 1.5,
1370
- borderRadius: 5,
1371
- borderWidth: 1,
1372
- borderColor: '#F59E0B60',
1373
- }}>
1374
- <react_native_1.Text style={{
1375
- fontFamily: AppFonts_1.AppFonts.interBold,
1376
- fontSize: 9.5,
1377
- color: '#D97706',
1378
- }}>
1379
- v{latestNpmVersion} Available
1380
- </react_native_1.Text>
1381
- <NetworkIcons_1.BoltIcon size={9} color="#D97706"/>
1382
- </react_native_1.View>) : (<react_native_1.View style={{
1383
- backgroundColor: `${AppColors_1.AppColors.emerald500}20`,
1384
- paddingHorizontal: 6,
1385
- paddingVertical: 1.5,
1386
- borderRadius: 5,
1387
- borderWidth: 1,
1388
- borderColor: `${AppColors_1.AppColors.emerald500}50`,
1389
- }}>
1390
- <react_native_1.Text style={{
1391
- fontFamily: AppFonts_1.AppFonts.interBold,
1392
- fontSize: 9.5,
1393
- color: AppColors_1.AppColors.emerald600,
1394
- }}>
1395
- Up to date
1396
- </react_native_1.Text>
1397
- </react_native_1.View>)}
1398
- </react_native_1.View>
1399
- <react_native_1.Text style={{
1400
- fontFamily: AppFonts_1.AppFonts.interRegular,
1401
- fontSize: 11,
1402
- lineHeight: 15,
1403
- color: AppColors_1.AppColors.grayText,
1404
- marginTop: 1,
1405
- }}>
1406
- {updateAvailable
1407
- ? `A newer version (v${latestNpmVersion}) is available on npm registry.`
1408
- : 'You are running the latest version from npm registry.'}
1409
- </react_native_1.Text>
1410
- </react_native_1.View>
1411
- </react_native_1.View>
1412
-
1413
- {updateAvailable && (<TouchableScale_1.default onPress={() => {
1414
- (0, helpers_1.copyToClipboard)('npm install react-native-inapp-inspector@latest', 'Install Command');
1415
- (0, toast_1.showToast)('Copied npm install command!');
1416
- }} style={{
1417
- backgroundColor: AppColors_1.AppColors.purple,
1418
- paddingVertical: 6,
1419
- paddingHorizontal: 10,
1420
- borderRadius: 8,
1421
- }}>
1422
- <react_native_1.Text style={{
1423
- fontFamily: AppFonts_1.AppFonts.interBold,
1424
- fontSize: 11,
1425
- color: AppColors_1.AppColors.white,
1426
- }}>
1427
- Copy Upgrade
1428
- </react_native_1.Text>
1429
- </TouchableScale_1.default>)}
1430
- </react_native_1.View>
1431
- </react_native_1.View>
1432
1381
  </react_native_1.View>)}
1433
1382
 
1434
1383
  {settingsActiveSubTab === 'limits' && (<react_native_1.View style={{ gap: 14 }}>
@@ -1804,6 +1753,919 @@ const SettingsPanel = () => {
1804
1753
  </react_native_1.View>
1805
1754
  </react_native_1.View>
1806
1755
  </react_native_1.View>)}
1756
+ {settingsActiveSubTab === 'about' && (<react_native_1.View style={{ gap: 14 }}>
1757
+
1758
+ <react_native_1.View style={{
1759
+ backgroundColor: AppColors_1.AppColors.primaryLight,
1760
+ borderRadius: 14,
1761
+ borderWidth: 1,
1762
+ borderColor: AppColors_1.AppColors.grayBorderSecondary,
1763
+ padding: 16,
1764
+ gap: 12,
1765
+ }}>
1766
+ <react_native_1.View style={{
1767
+ flexDirection: 'row',
1768
+ alignItems: 'center',
1769
+ justifyContent: 'space-between',
1770
+ }}>
1771
+ <react_native_1.View style={{
1772
+ flexDirection: 'row',
1773
+ alignItems: 'center',
1774
+ gap: 12,
1775
+ flex: 1,
1776
+ }}>
1777
+ <react_native_1.View style={{
1778
+ width: 44,
1779
+ height: 44,
1780
+ borderRadius: 12,
1781
+ backgroundColor: `${AppColors_1.AppColors.purple}1A`,
1782
+ alignItems: 'center',
1783
+ justifyContent: 'center',
1784
+ borderWidth: 1,
1785
+ borderColor: `${AppColors_1.AppColors.purple}33`,
1786
+ }}>
1787
+ <NetworkIcons_1.PackageIcon color={AppColors_1.AppColors.purple} size={22}/>
1788
+ </react_native_1.View>
1789
+ <react_native_1.View style={{ flex: 1 }}>
1790
+ <react_native_1.View style={{
1791
+ flexDirection: 'row',
1792
+ alignItems: 'center',
1793
+ gap: 8,
1794
+ flexWrap: 'wrap',
1795
+ }}>
1796
+ <react_native_1.Text style={{
1797
+ fontFamily: AppFonts_1.AppFonts.interBold,
1798
+ fontSize: 15,
1799
+ lineHeight: 20,
1800
+ color: AppColors_1.AppColors.primaryBlack,
1801
+ }}>
1802
+ In-App Inspector
1803
+ </react_native_1.Text>
1804
+ <react_native_1.View style={{
1805
+ backgroundColor: `${AppColors_1.AppColors.purple}18`,
1806
+ paddingHorizontal: 7,
1807
+ paddingVertical: 2,
1808
+ borderRadius: 6,
1809
+ borderWidth: 1,
1810
+ borderColor: `${AppColors_1.AppColors.purple}33`,
1811
+ }}>
1812
+ <react_native_1.Text style={{
1813
+ fontFamily: AppFonts_1.AppFonts.interBold,
1814
+ fontSize: 10,
1815
+ color: AppColors_1.AppColors.purple,
1816
+ }}>
1817
+ v{constants_1.LIB_VERSION}
1818
+ </react_native_1.Text>
1819
+ </react_native_1.View>
1820
+ {updateAvailable ? (<react_native_1.View style={{
1821
+ flexDirection: 'row',
1822
+ alignItems: 'center',
1823
+ gap: 3,
1824
+ backgroundColor: '#F59E0B20',
1825
+ paddingHorizontal: 6,
1826
+ paddingVertical: 2,
1827
+ borderRadius: 6,
1828
+ borderWidth: 1,
1829
+ borderColor: '#F59E0B60',
1830
+ }}>
1831
+ <react_native_1.Text style={{
1832
+ fontFamily: AppFonts_1.AppFonts.interBold,
1833
+ fontSize: 9.5,
1834
+ color: '#D97706',
1835
+ }}>
1836
+ v{latestNpmVersion} Available
1837
+ </react_native_1.Text>
1838
+ <NetworkIcons_1.BoltIcon size={9} color="#D97706"/>
1839
+ </react_native_1.View>) : (<react_native_1.View style={{
1840
+ backgroundColor: `${AppColors_1.AppColors.emerald500}20`,
1841
+ paddingHorizontal: 6,
1842
+ paddingVertical: 2,
1843
+ borderRadius: 6,
1844
+ borderWidth: 1,
1845
+ borderColor: `${AppColors_1.AppColors.emerald500}50`,
1846
+ }}>
1847
+ <react_native_1.Text style={{
1848
+ fontFamily: AppFonts_1.AppFonts.interBold,
1849
+ fontSize: 9.5,
1850
+ color: AppColors_1.AppColors.emerald600,
1851
+ }}>
1852
+ Up to date
1853
+ </react_native_1.Text>
1854
+ </react_native_1.View>)}
1855
+ </react_native_1.View>
1856
+ <react_native_1.Text style={{
1857
+ fontFamily: AppFonts_1.AppFonts.interRegular,
1858
+ fontSize: 11,
1859
+ lineHeight: 15,
1860
+ color: AppColors_1.AppColors.grayText,
1861
+ marginTop: 2,
1862
+ }}>
1863
+ react-native-inapp-inspector
1864
+ </react_native_1.Text>
1865
+ </react_native_1.View>
1866
+ </react_native_1.View>
1867
+ </react_native_1.View>
1868
+
1869
+ <react_native_1.Text style={{
1870
+ fontFamily: AppFonts_1.AppFonts.interRegular,
1871
+ fontSize: 11.5,
1872
+ lineHeight: 16,
1873
+ color: AppColors_1.AppColors.grayText,
1874
+ }}>
1875
+ High-performance in-app debugging, network logging, console inspection, performance profiling, storage viewer & telemetry diagnostics for React Native.
1876
+ </react_native_1.Text>
1877
+
1878
+ {updateAvailable && (<TouchableScale_1.default onPress={() => {
1879
+ (0, helpers_1.copyToClipboard)('npm install react-native-inapp-inspector@latest', 'Install Command');
1880
+ (0, toast_1.showToast)('Copied npm upgrade command!');
1881
+ }} style={{
1882
+ backgroundColor: AppColors_1.AppColors.purple,
1883
+ paddingVertical: 8,
1884
+ paddingHorizontal: 12,
1885
+ borderRadius: 8,
1886
+ flexDirection: 'row',
1887
+ alignItems: 'center',
1888
+ justifyContent: 'center',
1889
+ gap: 6,
1890
+ }}>
1891
+ <NetworkIcons_1.BoltIcon size={12} color={AppColors_1.AppColors.white}/>
1892
+ <react_native_1.Text style={{
1893
+ fontFamily: AppFonts_1.AppFonts.interBold,
1894
+ fontSize: 12,
1895
+ color: AppColors_1.AppColors.white,
1896
+ }}>
1897
+ Copy Upgrade Command (v{latestNpmVersion})
1898
+ </react_native_1.Text>
1899
+ </TouchableScale_1.default>)}
1900
+ </react_native_1.View>
1901
+
1902
+
1903
+ <react_native_1.View style={{
1904
+ flexDirection: 'row',
1905
+ flexWrap: 'wrap',
1906
+ gap: 8,
1907
+ }}>
1908
+ <TouchableScale_1.default onPress={() => {
1909
+ react_native_1.Linking.openURL('https://github.com/vengatmacuser/react-native-inapp-inspector').catch(() => { });
1910
+ }} style={{
1911
+ flex: 1,
1912
+ minWidth: '47%',
1913
+ backgroundColor: `${AppColors_1.AppColors.purple}0F`,
1914
+ borderRadius: 12,
1915
+ borderWidth: 1,
1916
+ borderColor: `${AppColors_1.AppColors.purple}30`,
1917
+ paddingVertical: 10,
1918
+ paddingHorizontal: 12,
1919
+ flexDirection: 'row',
1920
+ alignItems: 'center',
1921
+ gap: 8,
1922
+ }}>
1923
+ <NetworkIcons_1.GitHubIcon color={AppColors_1.AppColors.purple} size={18}/>
1924
+ <react_native_1.View style={{ flex: 1 }}>
1925
+ <react_native_1.Text style={{
1926
+ fontFamily: AppFonts_1.AppFonts.interBold,
1927
+ fontSize: 11.5,
1928
+ color: AppColors_1.AppColors.primaryBlack,
1929
+ }}>
1930
+ ⭐ Star on GitHub
1931
+ </react_native_1.Text>
1932
+ <react_native_1.Text style={{
1933
+ fontFamily: AppFonts_1.AppFonts.interRegular,
1934
+ fontSize: 9.5,
1935
+ color: AppColors_1.AppColors.grayText,
1936
+ }}>
1937
+ Support open source
1938
+ </react_native_1.Text>
1939
+ </react_native_1.View>
1940
+ </TouchableScale_1.default>
1941
+
1942
+ <TouchableScale_1.default onPress={() => {
1943
+ react_native_1.Linking.openURL('https://www.npmjs.com/package/react-native-inapp-inspector').catch(() => { });
1944
+ }} style={{
1945
+ flex: 1,
1946
+ minWidth: '47%',
1947
+ backgroundColor: AppColors_1.AppColors.primaryLight,
1948
+ borderRadius: 12,
1949
+ borderWidth: 1,
1950
+ borderColor: AppColors_1.AppColors.grayBorderSecondary,
1951
+ paddingVertical: 10,
1952
+ paddingHorizontal: 12,
1953
+ flexDirection: 'row',
1954
+ alignItems: 'center',
1955
+ gap: 8,
1956
+ }}>
1957
+ <NetworkIcons_1.NpmIcon color="#CB3837" size={18}/>
1958
+ <react_native_1.View style={{ flex: 1 }}>
1959
+ <react_native_1.Text style={{
1960
+ fontFamily: AppFonts_1.AppFonts.interBold,
1961
+ fontSize: 11.5,
1962
+ color: AppColors_1.AppColors.primaryBlack,
1963
+ }}>
1964
+ NPM Registry
1965
+ </react_native_1.Text>
1966
+ <react_native_1.Text style={{
1967
+ fontFamily: AppFonts_1.AppFonts.interRegular,
1968
+ fontSize: 9.5,
1969
+ color: AppColors_1.AppColors.grayText,
1970
+ }}>
1971
+ Package repository
1972
+ </react_native_1.Text>
1973
+ </react_native_1.View>
1974
+ </TouchableScale_1.default>
1975
+
1976
+ <TouchableScale_1.default onPress={() => {
1977
+ react_native_1.Linking.openURL('https://github.com/vengatmacuser/react-native-inapp-inspector#readme').catch(() => { });
1978
+ }} style={{
1979
+ flex: 1,
1980
+ minWidth: '47%',
1981
+ backgroundColor: AppColors_1.AppColors.primaryLight,
1982
+ borderRadius: 12,
1983
+ borderWidth: 1,
1984
+ borderColor: AppColors_1.AppColors.grayBorderSecondary,
1985
+ paddingVertical: 10,
1986
+ paddingHorizontal: 12,
1987
+ flexDirection: 'row',
1988
+ alignItems: 'center',
1989
+ gap: 8,
1990
+ }}>
1991
+ <react_native_1.Text style={{ fontSize: 16 }}>📖</react_native_1.Text>
1992
+ <react_native_1.View style={{ flex: 1 }}>
1993
+ <react_native_1.Text style={{
1994
+ fontFamily: AppFonts_1.AppFonts.interBold,
1995
+ fontSize: 11.5,
1996
+ color: AppColors_1.AppColors.primaryBlack,
1997
+ }}>
1998
+ Documentation
1999
+ </react_native_1.Text>
2000
+ <react_native_1.Text style={{
2001
+ fontFamily: AppFonts_1.AppFonts.interRegular,
2002
+ fontSize: 9.5,
2003
+ color: AppColors_1.AppColors.grayText,
2004
+ }}>
2005
+ Setup & API guide
2006
+ </react_native_1.Text>
2007
+ </react_native_1.View>
2008
+ </TouchableScale_1.default>
2009
+
2010
+ <TouchableScale_1.default onPress={() => {
2011
+ react_native_1.Linking.openURL('https://github.com/vengatmacuser/react-native-inapp-inspector/issues').catch(() => { });
2012
+ }} style={{
2013
+ flex: 1,
2014
+ minWidth: '47%',
2015
+ backgroundColor: AppColors_1.AppColors.primaryLight,
2016
+ borderRadius: 12,
2017
+ borderWidth: 1,
2018
+ borderColor: AppColors_1.AppColors.grayBorderSecondary,
2019
+ paddingVertical: 10,
2020
+ paddingHorizontal: 12,
2021
+ flexDirection: 'row',
2022
+ alignItems: 'center',
2023
+ gap: 8,
2024
+ }}>
2025
+ <react_native_1.Text style={{ fontSize: 16 }}>🐞</react_native_1.Text>
2026
+ <react_native_1.View style={{ flex: 1 }}>
2027
+ <react_native_1.Text style={{
2028
+ fontFamily: AppFonts_1.AppFonts.interBold,
2029
+ fontSize: 11.5,
2030
+ color: AppColors_1.AppColors.primaryBlack,
2031
+ }}>
2032
+ Report Issue
2033
+ </react_native_1.Text>
2034
+ <react_native_1.Text style={{
2035
+ fontFamily: AppFonts_1.AppFonts.interRegular,
2036
+ fontSize: 9.5,
2037
+ color: AppColors_1.AppColors.grayText,
2038
+ }}>
2039
+ Bugs & feature requests
2040
+ </react_native_1.Text>
2041
+ </react_native_1.View>
2042
+ </TouchableScale_1.default>
2043
+
2044
+ <TouchableScale_1.default onPress={() => {
2045
+ react_native_1.Linking.openURL('https://github.com/vengatmacuser/react-native-inapp-inspector/releases').catch(() => { });
2046
+ }} style={{
2047
+ flex: 1,
2048
+ minWidth: '47%',
2049
+ backgroundColor: AppColors_1.AppColors.primaryLight,
2050
+ borderRadius: 12,
2051
+ borderWidth: 1,
2052
+ borderColor: AppColors_1.AppColors.grayBorderSecondary,
2053
+ paddingVertical: 10,
2054
+ paddingHorizontal: 12,
2055
+ flexDirection: 'row',
2056
+ alignItems: 'center',
2057
+ gap: 8,
2058
+ }}>
2059
+ <react_native_1.Text style={{ fontSize: 16 }}>🏷️</react_native_1.Text>
2060
+ <react_native_1.View style={{ flex: 1 }}>
2061
+ <react_native_1.Text style={{
2062
+ fontFamily: AppFonts_1.AppFonts.interBold,
2063
+ fontSize: 11.5,
2064
+ color: AppColors_1.AppColors.primaryBlack,
2065
+ }}>
2066
+ Release Notes
2067
+ </react_native_1.Text>
2068
+ <react_native_1.Text style={{
2069
+ fontFamily: AppFonts_1.AppFonts.interRegular,
2070
+ fontSize: 9.5,
2071
+ color: AppColors_1.AppColors.grayText,
2072
+ }}>
2073
+ Version changelog
2074
+ </react_native_1.Text>
2075
+ </react_native_1.View>
2076
+ </TouchableScale_1.default>
2077
+
2078
+ <TouchableScale_1.default onPress={() => {
2079
+ const win = react_native_1.Dimensions.get('window');
2080
+ const scr = react_native_1.Dimensions.get('screen');
2081
+ const rnVer = react_native_1.Platform.constants?.reactNativeVersion;
2082
+ const specsPayload = {
2083
+ package: {
2084
+ name: 'react-native-inapp-inspector',
2085
+ version: `v${constants_1.LIB_VERSION}`,
2086
+ latestNpmVersion: latestNpmVersion ? `v${latestNpmVersion}` : 'Checking...',
2087
+ license: 'MIT',
2088
+ repository: 'https://github.com/vengatmacuser/react-native-inapp-inspector',
2089
+ },
2090
+ hostApp: {
2091
+ name: (0, helpers_1.getAppName)(),
2092
+ bundleId: (0, helpers_1.getBundleIdentifier)(),
2093
+ versionAndBuild: (0, helpers_1.getAppVersionAndBuild)().formatted,
2094
+ buildVariant: __DEV__ ? 'Development (Debug)' : 'Production (Release)',
2095
+ metroConnected: (0, helpers_1.isLocalDebugEnvironment)(),
2096
+ },
2097
+ runtime: {
2098
+ reactNativeVersion: rnVer ? `${rnVer.major}.${rnVer.minor}.${rnVer.patch}` : '0.74+',
2099
+ reactVersion: react_1.default.version,
2100
+ jsEngine: Boolean(global?.HermesInternal) ? 'Hermes' : 'JavaScriptCore (JSC)',
2101
+ architecture: Boolean(global?.nativeFabricUIManager) ? 'Fabric (New Architecture)' : 'Paper (Legacy Bridge)',
2102
+ turboModules: Boolean(global?.__turboModuleProxy || global?.TurboModuleRegistry),
2103
+ },
2104
+ device: {
2105
+ platform: react_native_1.Platform.OS,
2106
+ osVersion: react_native_1.Platform.Version,
2107
+ deviceModel: react_native_1.Platform.constants?.Model || 'Unknown Device',
2108
+ windowDimensions: `${Math.round(win.width)}x${Math.round(win.height)} pt`,
2109
+ screenDimensions: `${Math.round(scr.width)}x${Math.round(scr.height)} pt`,
2110
+ pixelRatio: react_native_1.PixelRatio.get(),
2111
+ fontScale: react_native_1.PixelRatio.getFontScale(),
2112
+ timezone: Intl.DateTimeFormat().resolvedOptions().timeZone || 'Unknown',
2113
+ locale: Intl.DateTimeFormat().resolvedOptions().locale || 'en',
2114
+ },
2115
+ storageAndCapabilities: {
2116
+ storageEngine: (0, settingsStore_1.isPersistentStorageAvailable)() ? 'MMKV (Fast Native Storage)' : 'In-Memory State',
2117
+ hasNativeModule: Boolean(global?.NativeInspectorModule || global?.__IN_APP_INSPECTOR_NATIVE__),
2118
+ reduxConnected: (0, reduxLogger_1.isReduxConnected)(),
2119
+ analyticsConnected: (0, analyticsLogger_2.isAnalyticsConnected)(),
2120
+ },
2121
+ };
2122
+ (0, helpers_1.copyToClipboard)(JSON.stringify(specsPayload, null, 2), 'Diagnostic Specifications');
2123
+ (0, toast_1.showToast)('Copied full diagnostic specs to clipboard!');
2124
+ }} style={{
2125
+ flex: 1,
2126
+ minWidth: '47%',
2127
+ backgroundColor: AppColors_1.AppColors.primaryLight,
2128
+ borderRadius: 12,
2129
+ borderWidth: 1,
2130
+ borderColor: AppColors_1.AppColors.grayBorderSecondary,
2131
+ paddingVertical: 10,
2132
+ paddingHorizontal: 12,
2133
+ flexDirection: 'row',
2134
+ alignItems: 'center',
2135
+ gap: 8,
2136
+ }}>
2137
+ <NetworkIcons_1.CopyIcon color={AppColors_1.AppColors.purple} size={16}/>
2138
+ <react_native_1.View style={{ flex: 1 }}>
2139
+ <react_native_1.Text style={{
2140
+ fontFamily: AppFonts_1.AppFonts.interBold,
2141
+ fontSize: 11.5,
2142
+ color: AppColors_1.AppColors.primaryBlack,
2143
+ }}>
2144
+ Copy Specs JSON
2145
+ </react_native_1.Text>
2146
+ <react_native_1.Text style={{
2147
+ fontFamily: AppFonts_1.AppFonts.interRegular,
2148
+ fontSize: 9.5,
2149
+ color: AppColors_1.AppColors.grayText,
2150
+ }}>
2151
+ Diagnostics payload
2152
+ </react_native_1.Text>
2153
+ </react_native_1.View>
2154
+ </TouchableScale_1.default>
2155
+ </react_native_1.View>
2156
+
2157
+
2158
+ <react_native_1.View style={{
2159
+ backgroundColor: AppColors_1.AppColors.primaryLight,
2160
+ borderRadius: 14,
2161
+ borderWidth: 1,
2162
+ borderColor: AppColors_1.AppColors.grayBorderSecondary,
2163
+ overflow: 'hidden',
2164
+ padding: 14,
2165
+ gap: 12,
2166
+ }}>
2167
+ <react_native_1.Text style={{
2168
+ fontFamily: AppFonts_1.AppFonts.interBold,
2169
+ fontSize: 11,
2170
+ lineHeight: 14,
2171
+ color: AppColors_1.AppColors.grayTextWeak,
2172
+ letterSpacing: 0.8,
2173
+ }}>
2174
+ PACKAGE VERSION & UPGRADES
2175
+ </react_native_1.Text>
2176
+
2177
+ <react_native_1.View style={{
2178
+ flexDirection: 'row',
2179
+ alignItems: 'center',
2180
+ justifyContent: 'space-between',
2181
+ }}>
2182
+ <react_native_1.View style={{
2183
+ flexDirection: 'row',
2184
+ alignItems: 'center',
2185
+ gap: 10,
2186
+ flex: 1,
2187
+ marginRight: 8,
2188
+ }}>
2189
+ <react_native_1.View style={{
2190
+ width: 34,
2191
+ height: 34,
2192
+ borderRadius: 9,
2193
+ backgroundColor: '#CB383715',
2194
+ alignItems: 'center',
2195
+ justifyContent: 'center',
2196
+ }}>
2197
+ <NetworkIcons_1.NpmIcon color="#CB3837" size={17}/>
2198
+ </react_native_1.View>
2199
+ <react_native_1.View style={{ flex: 1 }}>
2200
+ <react_native_1.View style={{
2201
+ flexDirection: 'row',
2202
+ alignItems: 'center',
2203
+ gap: 6,
2204
+ }}>
2205
+ <react_native_1.Text style={{
2206
+ fontFamily: AppFonts_1.AppFonts.interBold,
2207
+ fontSize: 14,
2208
+ lineHeight: 18,
2209
+ color: AppColors_1.AppColors.primaryBlack,
2210
+ }}>
2211
+ v{constants_1.LIB_VERSION}
2212
+ </react_native_1.Text>
2213
+ {updateAvailable ? (<react_native_1.View style={{
2214
+ flexDirection: 'row',
2215
+ alignItems: 'center',
2216
+ gap: 3,
2217
+ backgroundColor: '#F59E0B20',
2218
+ paddingHorizontal: 6,
2219
+ paddingVertical: 1.5,
2220
+ borderRadius: 5,
2221
+ borderWidth: 1,
2222
+ borderColor: '#F59E0B60',
2223
+ }}>
2224
+ <react_native_1.Text style={{
2225
+ fontFamily: AppFonts_1.AppFonts.interBold,
2226
+ fontSize: 9.5,
2227
+ color: '#D97706',
2228
+ }}>
2229
+ v{latestNpmVersion} Available
2230
+ </react_native_1.Text>
2231
+ <NetworkIcons_1.BoltIcon size={9} color="#D97706"/>
2232
+ </react_native_1.View>) : (<react_native_1.View style={{
2233
+ backgroundColor: `${AppColors_1.AppColors.emerald500}20`,
2234
+ paddingHorizontal: 6,
2235
+ paddingVertical: 1.5,
2236
+ borderRadius: 5,
2237
+ borderWidth: 1,
2238
+ borderColor: `${AppColors_1.AppColors.emerald500}50`,
2239
+ }}>
2240
+ <react_native_1.Text style={{
2241
+ fontFamily: AppFonts_1.AppFonts.interBold,
2242
+ fontSize: 9.5,
2243
+ color: AppColors_1.AppColors.emerald600,
2244
+ }}>
2245
+ Up to date
2246
+ </react_native_1.Text>
2247
+ </react_native_1.View>)}
2248
+ </react_native_1.View>
2249
+ <react_native_1.Text style={{
2250
+ fontFamily: AppFonts_1.AppFonts.interRegular,
2251
+ fontSize: 11,
2252
+ lineHeight: 15,
2253
+ color: AppColors_1.AppColors.grayText,
2254
+ marginTop: 1,
2255
+ }}>
2256
+ {updateAvailable
2257
+ ? `A newer release (v${latestNpmVersion}) is available on npm registry.`
2258
+ : 'You are running the latest version from npm registry.'}
2259
+ </react_native_1.Text>
2260
+ </react_native_1.View>
2261
+ </react_native_1.View>
2262
+
2263
+ <TouchableScale_1.default onPress={() => {
2264
+ (0, helpers_1.copyToClipboard)('npm install react-native-inapp-inspector@latest', 'Install Command');
2265
+ (0, toast_1.showToast)('Copied npm install command!');
2266
+ }} style={{
2267
+ backgroundColor: updateAvailable ? AppColors_1.AppColors.purple : `${AppColors_1.AppColors.purple}18`,
2268
+ paddingVertical: 7,
2269
+ paddingHorizontal: 11,
2270
+ borderRadius: 8,
2271
+ flexDirection: 'row',
2272
+ alignItems: 'center',
2273
+ gap: 5,
2274
+ }}>
2275
+ <NetworkIcons_1.CopyIcon color={updateAvailable ? AppColors_1.AppColors.white : AppColors_1.AppColors.purple} size={12}/>
2276
+ <react_native_1.Text style={{
2277
+ fontFamily: AppFonts_1.AppFonts.interBold,
2278
+ fontSize: 11,
2279
+ color: updateAvailable ? AppColors_1.AppColors.white : AppColors_1.AppColors.purple,
2280
+ }}>
2281
+ {updateAvailable ? 'Copy Upgrade' : 'Copy Install'}
2282
+ </react_native_1.Text>
2283
+ </TouchableScale_1.default>
2284
+ </react_native_1.View>
2285
+ </react_native_1.View>
2286
+
2287
+
2288
+ <react_native_1.View style={{
2289
+ backgroundColor: AppColors_1.AppColors.primaryLight,
2290
+ borderRadius: 14,
2291
+ borderWidth: 1,
2292
+ borderColor: AppColors_1.AppColors.grayBorderSecondary,
2293
+ padding: 14,
2294
+ gap: 10,
2295
+ }}>
2296
+ <react_native_1.Text style={{
2297
+ fontFamily: AppFonts_1.AppFonts.interBold,
2298
+ fontSize: 11,
2299
+ lineHeight: 14,
2300
+ color: AppColors_1.AppColors.grayTextWeak,
2301
+ letterSpacing: 0.8,
2302
+ }}>
2303
+ HOST APPLICATION & BUILD
2304
+ </react_native_1.Text>
2305
+
2306
+ <react_native_1.View style={{ gap: 8 }}>
2307
+ <react_native_1.View style={{ flexDirection: 'row', justifyContent: 'space-between', alignItems: 'center' }}>
2308
+ <react_native_1.Text style={{ fontFamily: AppFonts_1.AppFonts.interRegular, fontSize: 11.5, color: AppColors_1.AppColors.grayText }}>
2309
+ Application Name
2310
+ </react_native_1.Text>
2311
+ <react_native_1.Text style={{ fontFamily: AppFonts_1.AppFonts.interBold, fontSize: 11.5, color: AppColors_1.AppColors.primaryBlack }}>
2312
+ {(0, helpers_1.getAppName)()}
2313
+ </react_native_1.Text>
2314
+ </react_native_1.View>
2315
+
2316
+ <react_native_1.View style={{ flexDirection: 'row', justifyContent: 'space-between', alignItems: 'center' }}>
2317
+ <react_native_1.Text style={{ fontFamily: AppFonts_1.AppFonts.interRegular, fontSize: 11.5, color: AppColors_1.AppColors.grayText }}>
2318
+ Bundle ID / Package
2319
+ </react_native_1.Text>
2320
+ <react_native_1.Text style={{ fontFamily: AppFonts_1.AppFonts.interRegular, fontSize: 11, color: AppColors_1.AppColors.primaryBlack }}>
2321
+ {(0, helpers_1.getBundleIdentifier)()}
2322
+ </react_native_1.Text>
2323
+ </react_native_1.View>
2324
+
2325
+ <react_native_1.View style={{ flexDirection: 'row', justifyContent: 'space-between', alignItems: 'center' }}>
2326
+ <react_native_1.Text style={{ fontFamily: AppFonts_1.AppFonts.interRegular, fontSize: 11.5, color: AppColors_1.AppColors.grayText }}>
2327
+ Version & Build Number
2328
+ </react_native_1.Text>
2329
+ <react_native_1.Text style={{ fontFamily: AppFonts_1.AppFonts.interBold, fontSize: 11.5, color: AppColors_1.AppColors.primaryBlack }}>
2330
+ {(0, helpers_1.getAppVersionAndBuild)().formatted}
2331
+ </react_native_1.Text>
2332
+ </react_native_1.View>
2333
+
2334
+ <react_native_1.View style={{ flexDirection: 'row', justifyContent: 'space-between', alignItems: 'center' }}>
2335
+ <react_native_1.Text style={{ fontFamily: AppFonts_1.AppFonts.interRegular, fontSize: 11.5, color: AppColors_1.AppColors.grayText }}>
2336
+ Build Variant
2337
+ </react_native_1.Text>
2338
+ <react_native_1.View style={{
2339
+ backgroundColor: __DEV__ ? `${AppColors_1.AppColors.amber500}20` : `${AppColors_1.AppColors.emerald500}20`,
2340
+ paddingHorizontal: 6,
2341
+ paddingVertical: 1.5,
2342
+ borderRadius: 5,
2343
+ borderWidth: 1,
2344
+ borderColor: __DEV__ ? `${AppColors_1.AppColors.amber500}50` : `${AppColors_1.AppColors.emerald500}50`,
2345
+ }}>
2346
+ <react_native_1.Text style={{
2347
+ fontFamily: AppFonts_1.AppFonts.interBold,
2348
+ fontSize: 10,
2349
+ color: __DEV__ ? AppColors_1.AppColors.amber500 : AppColors_1.AppColors.emerald600,
2350
+ }}>
2351
+ {__DEV__ ? 'Development (Debug)' : 'Production (Release)'}
2352
+ </react_native_1.Text>
2353
+ </react_native_1.View>
2354
+ </react_native_1.View>
2355
+
2356
+ <react_native_1.View style={{ flexDirection: 'row', justifyContent: 'space-between', alignItems: 'center' }}>
2357
+ <react_native_1.Text style={{ fontFamily: AppFonts_1.AppFonts.interRegular, fontSize: 11.5, color: AppColors_1.AppColors.grayText }}>
2358
+ Metro Bundler Connection
2359
+ </react_native_1.Text>
2360
+ <react_native_1.Text style={{
2361
+ fontFamily: AppFonts_1.AppFonts.interBold,
2362
+ fontSize: 11.5,
2363
+ color: (0, helpers_1.isLocalDebugEnvironment)() ? AppColors_1.AppColors.emerald600 : AppColors_1.AppColors.grayText,
2364
+ }}>
2365
+ {(0, helpers_1.isLocalDebugEnvironment)() ? 'Connected (Hot Reload Active)' : 'Offline / Standalone'}
2366
+ </react_native_1.Text>
2367
+ </react_native_1.View>
2368
+ </react_native_1.View>
2369
+ </react_native_1.View>
2370
+
2371
+
2372
+ <react_native_1.View style={{
2373
+ backgroundColor: AppColors_1.AppColors.primaryLight,
2374
+ borderRadius: 14,
2375
+ borderWidth: 1,
2376
+ borderColor: AppColors_1.AppColors.grayBorderSecondary,
2377
+ padding: 14,
2378
+ gap: 10,
2379
+ }}>
2380
+ <react_native_1.Text style={{
2381
+ fontFamily: AppFonts_1.AppFonts.interBold,
2382
+ fontSize: 11,
2383
+ lineHeight: 14,
2384
+ color: AppColors_1.AppColors.grayTextWeak,
2385
+ letterSpacing: 0.8,
2386
+ }}>
2387
+ FRAMEWORK & RUNTIME ENGINE
2388
+ </react_native_1.Text>
2389
+
2390
+ <react_native_1.View style={{ gap: 8 }}>
2391
+ <react_native_1.View style={{ flexDirection: 'row', justifyContent: 'space-between', alignItems: 'center' }}>
2392
+ <react_native_1.Text style={{ fontFamily: AppFonts_1.AppFonts.interRegular, fontSize: 11.5, color: AppColors_1.AppColors.grayText }}>
2393
+ React Native Version
2394
+ </react_native_1.Text>
2395
+ <react_native_1.Text style={{ fontFamily: AppFonts_1.AppFonts.interBold, fontSize: 11.5, color: AppColors_1.AppColors.primaryBlack }}>
2396
+ v{(react_native_1.Platform.constants?.reactNativeVersion?.major != null)
2397
+ ? `${react_native_1.Platform.constants.reactNativeVersion.major}.${react_native_1.Platform.constants.reactNativeVersion.minor}.${react_native_1.Platform.constants.reactNativeVersion.patch}`
2398
+ : '0.74+'}
2399
+ </react_native_1.Text>
2400
+ </react_native_1.View>
2401
+
2402
+ <react_native_1.View style={{ flexDirection: 'row', justifyContent: 'space-between', alignItems: 'center' }}>
2403
+ <react_native_1.Text style={{ fontFamily: AppFonts_1.AppFonts.interRegular, fontSize: 11.5, color: AppColors_1.AppColors.grayText }}>
2404
+ React Core Version
2405
+ </react_native_1.Text>
2406
+ <react_native_1.Text style={{ fontFamily: AppFonts_1.AppFonts.interBold, fontSize: 11.5, color: AppColors_1.AppColors.primaryBlack }}>
2407
+ v{react_1.default.version}
2408
+ </react_native_1.Text>
2409
+ </react_native_1.View>
2410
+
2411
+ <react_native_1.View style={{ flexDirection: 'row', justifyContent: 'space-between', alignItems: 'center' }}>
2412
+ <react_native_1.Text style={{ fontFamily: AppFonts_1.AppFonts.interRegular, fontSize: 11.5, color: AppColors_1.AppColors.grayText }}>
2413
+ JavaScript Engine
2414
+ </react_native_1.Text>
2415
+ <react_native_1.View style={{
2416
+ backgroundColor: `${AppColors_1.AppColors.purple}15`,
2417
+ paddingHorizontal: 6,
2418
+ paddingVertical: 1.5,
2419
+ borderRadius: 5,
2420
+ borderWidth: 1,
2421
+ borderColor: `${AppColors_1.AppColors.purple}40`,
2422
+ }}>
2423
+ <react_native_1.Text style={{ fontFamily: AppFonts_1.AppFonts.interBold, fontSize: 10.5, color: AppColors_1.AppColors.purple }}>
2424
+ {Boolean(global?.HermesInternal) ? 'Hermes Engine (Active)' : 'JavaScriptCore (JSC)'}
2425
+ </react_native_1.Text>
2426
+ </react_native_1.View>
2427
+ </react_native_1.View>
2428
+
2429
+ <react_native_1.View style={{ flexDirection: 'row', justifyContent: 'space-between', alignItems: 'center' }}>
2430
+ <react_native_1.Text style={{ fontFamily: AppFonts_1.AppFonts.interRegular, fontSize: 11.5, color: AppColors_1.AppColors.grayText }}>
2431
+ Rendering Architecture
2432
+ </react_native_1.Text>
2433
+ <react_native_1.Text style={{ fontFamily: AppFonts_1.AppFonts.interBold, fontSize: 11.5, color: AppColors_1.AppColors.primaryBlack }}>
2434
+ {Boolean(global?.nativeFabricUIManager) ? 'Fabric (New Architecture)' : 'Paper (Legacy Bridge)'}
2435
+ </react_native_1.Text>
2436
+ </react_native_1.View>
2437
+
2438
+ <react_native_1.View style={{ flexDirection: 'row', justifyContent: 'space-between', alignItems: 'center' }}>
2439
+ <react_native_1.Text style={{ fontFamily: AppFonts_1.AppFonts.interRegular, fontSize: 11.5, color: AppColors_1.AppColors.grayText }}>
2440
+ TurboModules Support
2441
+ </react_native_1.Text>
2442
+ <react_native_1.Text style={{ fontFamily: AppFonts_1.AppFonts.interBold, fontSize: 11.5, color: AppColors_1.AppColors.primaryBlack }}>
2443
+ {Boolean(global?.__turboModuleProxy || global?.TurboModuleRegistry)
2444
+ ? 'Enabled (C++ JSI)'
2445
+ : 'Standard Bridge'}
2446
+ </react_native_1.Text>
2447
+ </react_native_1.View>
2448
+ </react_native_1.View>
2449
+ </react_native_1.View>
2450
+
2451
+
2452
+ <react_native_1.View style={{
2453
+ backgroundColor: AppColors_1.AppColors.primaryLight,
2454
+ borderRadius: 14,
2455
+ borderWidth: 1,
2456
+ borderColor: AppColors_1.AppColors.grayBorderSecondary,
2457
+ padding: 14,
2458
+ gap: 10,
2459
+ }}>
2460
+ <react_native_1.Text style={{
2461
+ fontFamily: AppFonts_1.AppFonts.interBold,
2462
+ fontSize: 11,
2463
+ lineHeight: 14,
2464
+ color: AppColors_1.AppColors.grayTextWeak,
2465
+ letterSpacing: 0.8,
2466
+ }}>
2467
+ DEVICE & DISPLAY METRICS
2468
+ </react_native_1.Text>
2469
+
2470
+ <react_native_1.View style={{ gap: 8 }}>
2471
+ <react_native_1.View style={{ flexDirection: 'row', justifyContent: 'space-between', alignItems: 'center' }}>
2472
+ <react_native_1.Text style={{ fontFamily: AppFonts_1.AppFonts.interRegular, fontSize: 11.5, color: AppColors_1.AppColors.grayText }}>
2473
+ Operating System
2474
+ </react_native_1.Text>
2475
+ <react_native_1.Text style={{ fontFamily: AppFonts_1.AppFonts.interBold, fontSize: 11.5, color: AppColors_1.AppColors.primaryBlack }}>
2476
+ {react_native_1.Platform.OS === 'ios' ? 'Apple iOS' : react_native_1.Platform.OS === 'android' ? 'Google Android' : react_native_1.Platform.OS}{' '}
2477
+ {react_native_1.Platform.Version}
2478
+ </react_native_1.Text>
2479
+ </react_native_1.View>
2480
+
2481
+ <react_native_1.View style={{ flexDirection: 'row', justifyContent: 'space-between', alignItems: 'center' }}>
2482
+ <react_native_1.Text style={{ fontFamily: AppFonts_1.AppFonts.interRegular, fontSize: 11.5, color: AppColors_1.AppColors.grayText }}>
2483
+ Device Hardware Model
2484
+ </react_native_1.Text>
2485
+ <react_native_1.Text style={{ fontFamily: AppFonts_1.AppFonts.interBold, fontSize: 11.5, color: AppColors_1.AppColors.primaryBlack }}>
2486
+ {react_native_1.Platform.constants?.Model ||
2487
+ (react_native_1.Platform.OS === 'ios' ? 'Apple Device' : 'Android Device')}
2488
+ </react_native_1.Text>
2489
+ </react_native_1.View>
2490
+
2491
+ <react_native_1.View style={{ flexDirection: 'row', justifyContent: 'space-between', alignItems: 'center' }}>
2492
+ <react_native_1.Text style={{ fontFamily: AppFonts_1.AppFonts.interRegular, fontSize: 11.5, color: AppColors_1.AppColors.grayText }}>
2493
+ Window Viewport (Points)
2494
+ </react_native_1.Text>
2495
+ <react_native_1.Text style={{ fontFamily: AppFonts_1.AppFonts.interBold, fontSize: 11.5, color: AppColors_1.AppColors.primaryBlack }}>
2496
+ {Math.round(react_native_1.Dimensions.get('window').width)} × {Math.round(react_native_1.Dimensions.get('window').height)} pt
2497
+ </react_native_1.Text>
2498
+ </react_native_1.View>
2499
+
2500
+ <react_native_1.View style={{ flexDirection: 'row', justifyContent: 'space-between', alignItems: 'center' }}>
2501
+ <react_native_1.Text style={{ fontFamily: AppFonts_1.AppFonts.interRegular, fontSize: 11.5, color: AppColors_1.AppColors.grayText }}>
2502
+ Native Physical Resolution
2503
+ </react_native_1.Text>
2504
+ <react_native_1.Text style={{ fontFamily: AppFonts_1.AppFonts.interBold, fontSize: 11.5, color: AppColors_1.AppColors.primaryBlack }}>
2505
+ {Math.round(react_native_1.Dimensions.get('screen').width * react_native_1.PixelRatio.get())} × {Math.round(react_native_1.Dimensions.get('screen').height * react_native_1.PixelRatio.get())} px
2506
+ </react_native_1.Text>
2507
+ </react_native_1.View>
2508
+
2509
+ <react_native_1.View style={{ flexDirection: 'row', justifyContent: 'space-between', alignItems: 'center' }}>
2510
+ <react_native_1.Text style={{ fontFamily: AppFonts_1.AppFonts.interRegular, fontSize: 11.5, color: AppColors_1.AppColors.grayText }}>
2511
+ Pixel Density & Font Scale
2512
+ </react_native_1.Text>
2513
+ <react_native_1.Text style={{ fontFamily: AppFonts_1.AppFonts.interBold, fontSize: 11.5, color: AppColors_1.AppColors.primaryBlack }}>
2514
+ {react_native_1.PixelRatio.get().toFixed(1)}x ({react_native_1.PixelRatio.get() >= 3 ? '@3x' : react_native_1.PixelRatio.get() >= 2 ? '@2x' : '@1x'}) • Font: {react_native_1.PixelRatio.getFontScale().toFixed(2)}x
2515
+ </react_native_1.Text>
2516
+ </react_native_1.View>
2517
+
2518
+ <react_native_1.View style={{ flexDirection: 'row', justifyContent: 'space-between', alignItems: 'center' }}>
2519
+ <react_native_1.Text style={{ fontFamily: AppFonts_1.AppFonts.interRegular, fontSize: 11.5, color: AppColors_1.AppColors.grayText }}>
2520
+ Timezone & Locale
2521
+ </react_native_1.Text>
2522
+ <react_native_1.Text style={{ fontFamily: AppFonts_1.AppFonts.interBold, fontSize: 11.5, color: AppColors_1.AppColors.primaryBlack }}>
2523
+ {Intl.DateTimeFormat().resolvedOptions().timeZone || 'System'} ({Intl.DateTimeFormat().resolvedOptions().locale || 'en'})
2524
+ </react_native_1.Text>
2525
+ </react_native_1.View>
2526
+ </react_native_1.View>
2527
+ </react_native_1.View>
2528
+
2529
+
2530
+ <react_native_1.View style={{
2531
+ backgroundColor: AppColors_1.AppColors.primaryLight,
2532
+ borderRadius: 14,
2533
+ borderWidth: 1,
2534
+ borderColor: AppColors_1.AppColors.grayBorderSecondary,
2535
+ padding: 14,
2536
+ gap: 10,
2537
+ }}>
2538
+ <react_native_1.Text style={{
2539
+ fontFamily: AppFonts_1.AppFonts.interBold,
2540
+ fontSize: 11,
2541
+ lineHeight: 14,
2542
+ color: AppColors_1.AppColors.grayTextWeak,
2543
+ letterSpacing: 0.8,
2544
+ }}>
2545
+ INSPECTOR STORAGE & CAPABILITIES
2546
+ </react_native_1.Text>
2547
+
2548
+ <react_native_1.View style={{ gap: 8 }}>
2549
+ <react_native_1.View style={{ flexDirection: 'row', justifyContent: 'space-between', alignItems: 'center' }}>
2550
+ <react_native_1.Text style={{ fontFamily: AppFonts_1.AppFonts.interRegular, fontSize: 11.5, color: AppColors_1.AppColors.grayText }}>
2551
+ Storage Persistence Engine
2552
+ </react_native_1.Text>
2553
+ <react_native_1.View style={{
2554
+ backgroundColor: (0, settingsStore_1.isPersistentStorageAvailable)() ? `${AppColors_1.AppColors.emerald500}18` : `${AppColors_1.AppColors.amber500}18`,
2555
+ paddingHorizontal: 6,
2556
+ paddingVertical: 1.5,
2557
+ borderRadius: 5,
2558
+ borderWidth: 1,
2559
+ borderColor: (0, settingsStore_1.isPersistentStorageAvailable)() ? `${AppColors_1.AppColors.emerald500}50` : `${AppColors_1.AppColors.amber500}50`,
2560
+ }}>
2561
+ <react_native_1.Text style={{
2562
+ fontFamily: AppFonts_1.AppFonts.interBold,
2563
+ fontSize: 10.5,
2564
+ color: (0, settingsStore_1.isPersistentStorageAvailable)() ? AppColors_1.AppColors.emerald600 : AppColors_1.AppColors.amber500,
2565
+ }}>
2566
+ {(0, settingsStore_1.isPersistentStorageAvailable)() ? 'MMKV Fast Native Storage' : 'In-Memory State'}
2567
+ </react_native_1.Text>
2568
+ </react_native_1.View>
2569
+ </react_native_1.View>
2570
+
2571
+ <react_native_1.View style={{ flexDirection: 'row', justifyContent: 'space-between', alignItems: 'center' }}>
2572
+ <react_native_1.Text style={{ fontFamily: AppFonts_1.AppFonts.interRegular, fontSize: 11.5, color: AppColors_1.AppColors.grayText }}>
2573
+ Native Module Status
2574
+ </react_native_1.Text>
2575
+ <react_native_1.Text style={{
2576
+ fontFamily: AppFonts_1.AppFonts.interBold,
2577
+ fontSize: 11.5,
2578
+ color: Boolean(global?.NativeInspectorModule) ? AppColors_1.AppColors.emerald600 : AppColors_1.AppColors.grayText,
2579
+ }}>
2580
+ {Boolean(global?.NativeInspectorModule) ? 'Linked & Active' : 'JavaScript Only'}
2581
+ </react_native_1.Text>
2582
+ </react_native_1.View>
2583
+
2584
+ <react_native_1.View style={{ flexDirection: 'row', justifyContent: 'space-between', alignItems: 'center' }}>
2585
+ <react_native_1.Text style={{ fontFamily: AppFonts_1.AppFonts.interRegular, fontSize: 11.5, color: AppColors_1.AppColors.grayText }}>
2586
+ Network Logger Interceptor
2587
+ </react_native_1.Text>
2588
+ <react_native_1.Text style={{ fontFamily: AppFonts_1.AppFonts.interBold, fontSize: 11.5, color: AppColors_1.AppColors.emerald600 }}>
2589
+ Active (XMLHttpRequest & Fetch Hooked)
2590
+ </react_native_1.Text>
2591
+ </react_native_1.View>
2592
+
2593
+ <react_native_1.View style={{ flexDirection: 'row', justifyContent: 'space-between', alignItems: 'center' }}>
2594
+ <react_native_1.Text style={{ fontFamily: AppFonts_1.AppFonts.interRegular, fontSize: 11.5, color: AppColors_1.AppColors.grayText }}>
2595
+ Redux & Analytics Watchers
2596
+ </react_native_1.Text>
2597
+ <react_native_1.Text style={{ fontFamily: AppFonts_1.AppFonts.interBold, fontSize: 11.5, color: AppColors_1.AppColors.primaryBlack }}>
2598
+ Redux: {(0, reduxLogger_1.isReduxConnected)() ? 'Connected' : 'Listening'} • Analytics: {(0, analyticsLogger_2.isAnalyticsConnected)() ? 'Connected' : 'Listening'}
2599
+ </react_native_1.Text>
2600
+ </react_native_1.View>
2601
+
2602
+ <react_native_1.View style={{ flexDirection: 'row', justifyContent: 'space-between', alignItems: 'center' }}>
2603
+ <react_native_1.Text style={{ fontFamily: AppFonts_1.AppFonts.interRegular, fontSize: 11.5, color: AppColors_1.AppColors.grayText }}>
2604
+ Crash & Exception Boundary
2605
+ </react_native_1.Text>
2606
+ <react_native_1.Text style={{ fontFamily: AppFonts_1.AppFonts.interBold, fontSize: 11.5, color: AppColors_1.AppColors.emerald600 }}>
2607
+ Global JS Exception Handler Active
2608
+ </react_native_1.Text>
2609
+ </react_native_1.View>
2610
+
2611
+ <react_native_1.View style={{ flexDirection: 'row', justifyContent: 'space-between', alignItems: 'center' }}>
2612
+ <react_native_1.Text style={{ fontFamily: AppFonts_1.AppFonts.interRegular, fontSize: 11.5, color: AppColors_1.AppColors.grayText }}>
2613
+ Memory Management
2614
+ </react_native_1.Text>
2615
+ <react_native_1.Text style={{ fontFamily: AppFonts_1.AppFonts.interBold, fontSize: 11.5, color: AppColors_1.AppColors.emerald600 }}>
2616
+ Dynamic Auto RAM Tiering Active
2617
+ </react_native_1.Text>
2618
+ </react_native_1.View>
2619
+ </react_native_1.View>
2620
+ </react_native_1.View>
2621
+
2622
+
2623
+ <react_native_1.View style={{
2624
+ backgroundColor: AppColors_1.AppColors.primaryLight,
2625
+ borderRadius: 14,
2626
+ borderWidth: 1,
2627
+ borderColor: AppColors_1.AppColors.grayBorderSecondary,
2628
+ padding: 14,
2629
+ gap: 8,
2630
+ }}>
2631
+ <react_native_1.Text style={{
2632
+ fontFamily: AppFonts_1.AppFonts.interBold,
2633
+ fontSize: 11,
2634
+ lineHeight: 14,
2635
+ color: AppColors_1.AppColors.grayTextWeak,
2636
+ letterSpacing: 0.8,
2637
+ }}>
2638
+ LICENSE & CREDITS
2639
+ </react_native_1.Text>
2640
+
2641
+ <react_native_1.View style={{ flexDirection: 'row', justifyContent: 'space-between', alignItems: 'center' }}>
2642
+ <react_native_1.Text style={{ fontFamily: AppFonts_1.AppFonts.interRegular, fontSize: 11.5, color: AppColors_1.AppColors.grayText }}>
2643
+ License
2644
+ </react_native_1.Text>
2645
+ <react_native_1.Text style={{ fontFamily: AppFonts_1.AppFonts.interBold, fontSize: 11.5, color: AppColors_1.AppColors.emerald600 }}>
2646
+ MIT Permissive Open Source
2647
+ </react_native_1.Text>
2648
+ </react_native_1.View>
2649
+
2650
+ <react_native_1.View style={{ flexDirection: 'row', justifyContent: 'space-between', alignItems: 'center' }}>
2651
+ <react_native_1.Text style={{ fontFamily: AppFonts_1.AppFonts.interRegular, fontSize: 11.5, color: AppColors_1.AppColors.grayText }}>
2652
+ Created & Maintained By
2653
+ </react_native_1.Text>
2654
+ <react_native_1.Text style={{ fontFamily: AppFonts_1.AppFonts.interBold, fontSize: 11.5, color: AppColors_1.AppColors.primaryBlack }}>
2655
+ Vengateswaran
2656
+ </react_native_1.Text>
2657
+ </react_native_1.View>
2658
+
2659
+ <react_native_1.View style={{ flexDirection: 'row', justifyContent: 'space-between', alignItems: 'center' }}>
2660
+ <react_native_1.Text style={{ fontFamily: AppFonts_1.AppFonts.interRegular, fontSize: 11.5, color: AppColors_1.AppColors.grayText }}>
2661
+ Repository
2662
+ </react_native_1.Text>
2663
+ <react_native_1.Text style={{ fontFamily: AppFonts_1.AppFonts.interRegular, fontSize: 11, color: AppColors_1.AppColors.purple }}>
2664
+ github.com/vengatmacuser/react-native-inapp-inspector
2665
+ </react_native_1.Text>
2666
+ </react_native_1.View>
2667
+ </react_native_1.View>
2668
+ </react_native_1.View>)}
1807
2669
  <react_native_1.View style={{ height: 48 }}/>
1808
2670
  </react_native_1.ScrollView>
1809
2671