react-native-inapp-inspector 2.2.2 → 2.2.4
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/dist/commonjs/components/AnalyticsDetail.js +5 -1
- package/dist/commonjs/components/AnalyticsEventCard.js +2 -1
- package/dist/commonjs/components/DiffViewer.js +1 -1
- package/dist/commonjs/components/Inspector/BundleTab.js +22 -0
- package/dist/commonjs/components/Inspector/DeviceInfoTab.d.ts +3 -0
- package/dist/commonjs/components/Inspector/DeviceInfoTab.js +835 -0
- package/dist/commonjs/components/Inspector/InspectorHeader.js +12 -14
- package/dist/commonjs/components/Inspector/LogDetail.js +6 -3
- package/dist/commonjs/components/Inspector/MainScreen.js +7 -3
- package/dist/commonjs/components/Inspector/NetworkTab.js +92 -15
- package/dist/commonjs/components/Inspector/PerformanceTab.js +38 -12
- package/dist/commonjs/components/Inspector/SettingsPanel.js +440 -229
- package/dist/commonjs/components/Inspector/StorageTab.d.ts +3 -0
- package/dist/commonjs/components/Inspector/StorageTab.js +892 -0
- package/dist/commonjs/components/Inspector/TabBar.js +14 -0
- package/dist/commonjs/components/Inspector/TelemetryConsentModal.js +11 -2
- package/dist/commonjs/components/Inspector/UpdateAvailableModal.js +4 -1
- package/dist/commonjs/components/NetworkIcons.d.ts +6 -0
- package/dist/commonjs/components/NetworkIcons.js +30 -1
- package/dist/commonjs/constants/version.d.ts +1 -1
- package/dist/commonjs/constants/version.js +1 -1
- package/dist/commonjs/customHooks/bundleAnalyzer.js +44 -22
- package/dist/commonjs/customHooks/storageInspector.d.ts +67 -0
- package/dist/commonjs/customHooks/storageInspector.js +486 -0
- package/dist/commonjs/i18n/locales/en.json +8 -2
- package/dist/commonjs/index.d.ts +1 -0
- package/dist/commonjs/index.js +16 -1
- package/dist/commonjs/storage.d.ts +5 -0
- package/dist/commonjs/storage.js +18 -0
- package/dist/commonjs/types/enums.d.ts +5 -0
- package/dist/commonjs/types/enums.js +5 -0
- package/dist/esm/components/AnalyticsDetail.js +6 -2
- package/dist/esm/components/AnalyticsEventCard.js +2 -1
- package/dist/esm/components/DiffViewer.js +1 -1
- package/dist/esm/components/Inspector/BundleTab.js +22 -0
- package/dist/esm/components/Inspector/DeviceInfoTab.d.ts +3 -0
- package/dist/esm/components/Inspector/DeviceInfoTab.js +796 -0
- package/dist/esm/components/Inspector/InspectorHeader.js +13 -15
- package/dist/esm/components/Inspector/LogDetail.js +7 -4
- package/dist/esm/components/Inspector/MainScreen.js +7 -3
- package/dist/esm/components/Inspector/NetworkTab.js +93 -16
- package/dist/esm/components/Inspector/PerformanceTab.js +39 -13
- package/dist/esm/components/Inspector/SettingsPanel.js +441 -230
- package/dist/esm/components/Inspector/StorageTab.d.ts +3 -0
- package/dist/esm/components/Inspector/StorageTab.js +853 -0
- package/dist/esm/components/Inspector/TabBar.js +15 -1
- package/dist/esm/components/Inspector/TelemetryConsentModal.js +11 -2
- package/dist/esm/components/Inspector/UpdateAvailableModal.js +4 -1
- package/dist/esm/components/NetworkIcons.d.ts +6 -0
- package/dist/esm/components/NetworkIcons.js +23 -0
- package/dist/esm/constants/version.d.ts +1 -1
- package/dist/esm/constants/version.js +1 -1
- package/dist/esm/customHooks/bundleAnalyzer.js +44 -22
- package/dist/esm/customHooks/storageInspector.d.ts +67 -0
- package/dist/esm/customHooks/storageInspector.js +469 -0
- package/dist/esm/i18n/locales/en.json +8 -2
- package/dist/esm/index.d.ts +1 -0
- package/dist/esm/index.js +5 -0
- package/dist/esm/storage.d.ts +5 -0
- package/dist/esm/storage.js +5 -0
- package/dist/esm/types/enums.d.ts +5 -0
- package/dist/esm/types/enums.js +5 -0
- package/package.json +9 -1
- package/src/analytics.ts +35 -0
- package/src/bundle.ts +25 -0
- package/src/components/AnalyticsDetail.tsx +870 -0
- package/src/components/AnalyticsEventCard.tsx +442 -0
- package/src/components/AnalyticsGraph.tsx +583 -0
- package/src/components/AnimatedEntrance.tsx +64 -0
- package/src/components/AppHeaderLogo.tsx +109 -0
- package/src/components/BrandCircleIcon.tsx +144 -0
- package/src/components/BrandSquareIcon.tsx +144 -0
- package/src/components/CodeSnippet.tsx +725 -0
- package/src/components/ConsoleLogCard.tsx +628 -0
- package/src/components/CopyButton.tsx +87 -0
- package/src/components/DiffViewer.tsx +82 -0
- package/src/components/DomainHeader.tsx +237 -0
- package/src/components/EmptyState.tsx +73 -0
- package/src/components/EndOfListFooter.tsx +100 -0
- package/src/components/ErrorBoundary.tsx +688 -0
- package/src/components/HeadersSection.tsx +192 -0
- package/src/components/HighlightText.tsx +100 -0
- package/src/components/Inspector/AnalyticsFilterModal.tsx +1250 -0
- package/src/components/Inspector/AnalyticsTab.tsx +1336 -0
- package/src/components/Inspector/BundleTab.tsx +4760 -0
- package/src/components/Inspector/ConsoleTab.tsx +702 -0
- package/src/components/Inspector/CrashDetail.tsx +941 -0
- package/src/components/Inspector/CrashFilterModal.tsx +721 -0
- package/src/components/Inspector/CrashTab.tsx +871 -0
- package/src/components/Inspector/DeviceInfoTab.tsx +1204 -0
- package/src/components/Inspector/FabLauncher.tsx +80 -0
- package/src/components/Inspector/InspectorContext.tsx +28 -0
- package/src/components/Inspector/InspectorHeader.tsx +972 -0
- package/src/components/Inspector/LogDetail.tsx +1431 -0
- package/src/components/Inspector/MainScreen.tsx +262 -0
- package/src/components/Inspector/NavigationTracker.tsx +13 -0
- package/src/components/Inspector/NetworkDetail.tsx +794 -0
- package/src/components/Inspector/NetworkTab.tsx +1183 -0
- package/src/components/Inspector/NpmUpdateToast.tsx +392 -0
- package/src/components/Inspector/PerformanceTab.tsx +1928 -0
- package/src/components/Inspector/ReduxDetail.tsx +1651 -0
- package/src/components/Inspector/ReduxTab.tsx +954 -0
- package/src/components/Inspector/SettingsPanel.tsx +3447 -0
- package/src/components/Inspector/StorageTab.tsx +1048 -0
- package/src/components/Inspector/TabBar.tsx +207 -0
- package/src/components/Inspector/TelemetryConsentModal.tsx +416 -0
- package/src/components/Inspector/UpdateAvailableModal.tsx +557 -0
- package/src/components/JsonViewer.tsx +486 -0
- package/src/components/LogCard.tsx +491 -0
- package/src/components/LogSyntaxHighlighter.tsx +178 -0
- package/src/components/MetaAccordion.tsx +340 -0
- package/src/components/MiniBarChart.tsx +42 -0
- package/src/components/MiniLineChart.tsx +33 -0
- package/src/components/NetworkIcons.tsx +2221 -0
- package/src/components/SectionHeader.tsx +113 -0
- package/src/components/SegmentedTabs.tsx +83 -0
- package/src/components/Slider.tsx +300 -0
- package/src/components/SourcePageCard.tsx +148 -0
- package/src/components/Toast.tsx +131 -0
- package/src/components/TouchableScale.tsx +91 -0
- package/src/components/TreeNode.tsx +186 -0
- package/src/console.ts +24 -0
- package/src/constants/index.ts +38 -0
- package/src/constants/version.ts +3 -0
- package/src/crash.ts +32 -0
- package/src/customHooks/analyticsLogger.ts +336 -0
- package/src/customHooks/bundleAnalyzer.ts +1256 -0
- package/src/customHooks/consoleLogger.ts +497 -0
- package/src/customHooks/crashHandler.ts +944 -0
- package/src/customHooks/logFilters.ts +32 -0
- package/src/customHooks/networkLogger.ts +419 -0
- package/src/customHooks/performanceTracker.ts +1014 -0
- package/src/customHooks/reduxLogger.ts +406 -0
- package/src/customHooks/storageInspector.ts +509 -0
- package/src/customHooks/useAccordion.tsx +60 -0
- package/src/decorators/index.ts +184 -0
- package/src/helpers/gaAnalyticsRegistry.ts +204 -0
- package/src/helpers/index.ts +860 -0
- package/src/helpers/memoryManager.ts +138 -0
- package/src/helpers/searchQueryParser.ts +283 -0
- package/src/helpers/settingsStore.ts +171 -0
- package/src/helpers/telemetry.ts +505 -0
- package/src/helpers/toast.ts +17 -0
- package/src/i18n/index.ts +69 -0
- package/src/i18n/locales/en.json +1058 -0
- package/src/index.tsx +2356 -0
- package/src/native/NativeInspector.ts +397 -0
- package/src/native/NativeNetworkInspector.ts +24 -0
- package/src/network.ts +22 -0
- package/src/performance.ts +38 -0
- package/src/redux.ts +23 -0
- package/src/storage.ts +18 -0
- package/src/styles/AppColors.ts +408 -0
- package/src/styles/AppFonts.ts +8 -0
- package/src/styles/common.ts +209 -0
- package/src/styles/index.ts +1570 -0
- package/src/types/enums.ts +199 -0
- package/src/types/index.ts +34 -0
- package/src/types/interfaces.ts +515 -0
|
@@ -297,8 +297,9 @@ const InspectorHeader = react_1.default.memo(() => {
|
|
|
297
297
|
color: '#FFFFFF',
|
|
298
298
|
letterSpacing: 0.3,
|
|
299
299
|
}}>
|
|
300
|
-
UPDATE
|
|
300
|
+
UPDATE
|
|
301
301
|
</react_native_1.Text>
|
|
302
|
+
<NetworkIcons_1.BoltIcon size={9} color="#FFFFFF"/>
|
|
302
303
|
</react_native_1.Pressable>)}
|
|
303
304
|
</react_native_1.View>
|
|
304
305
|
|
|
@@ -342,26 +343,23 @@ const InspectorHeader = react_1.default.memo(() => {
|
|
|
342
343
|
react_native_1.Linking.openURL('https://www.npmjs.com/package/react-native-inapp-inspector').catch(() => { });
|
|
343
344
|
}
|
|
344
345
|
}} style={{
|
|
345
|
-
|
|
346
|
+
flexDirection: 'row',
|
|
347
|
+
alignItems: 'center',
|
|
348
|
+
backgroundColor: `${AppColors_1.AppColors.white}1F`,
|
|
346
349
|
borderRadius: 5,
|
|
347
350
|
paddingHorizontal: 6,
|
|
348
351
|
paddingVertical: 2,
|
|
349
|
-
flexDirection: 'row',
|
|
350
|
-
alignItems: 'center',
|
|
351
352
|
gap: 4,
|
|
353
|
+
borderWidth: 1,
|
|
354
|
+
borderColor: `${AppColors_1.AppColors.white}2E`,
|
|
352
355
|
flexShrink: 0,
|
|
353
|
-
shadowColor: '#000000',
|
|
354
|
-
shadowOffset: { width: 0, height: 1 },
|
|
355
|
-
shadowOpacity: 0.15,
|
|
356
|
-
shadowRadius: 2,
|
|
357
|
-
elevation: 2,
|
|
358
356
|
}}>
|
|
359
|
-
<NetworkIcons_1.NpmIcon size={
|
|
357
|
+
<NetworkIcons_1.NpmIcon size={10} color="#FF6B6B"/>
|
|
360
358
|
<react_native_1.Text style={{
|
|
361
|
-
fontFamily: AppFonts_1.AppFonts.
|
|
359
|
+
fontFamily: AppFonts_1.AppFonts.interMedium,
|
|
362
360
|
fontSize: 9.5,
|
|
363
|
-
color:
|
|
364
|
-
letterSpacing: 0.
|
|
361
|
+
color: `${AppColors_1.AppColors.white}EB`,
|
|
362
|
+
letterSpacing: 0.1,
|
|
365
363
|
}} numberOfLines={1}>
|
|
366
364
|
v{constants_2.LIB_VERSION}
|
|
367
365
|
</react_native_1.Text>
|
|
@@ -370,7 +368,7 @@ const InspectorHeader = react_1.default.memo(() => {
|
|
|
370
368
|
fontSize: 9,
|
|
371
369
|
color: '#F59E0B',
|
|
372
370
|
}}>
|
|
373
|
-
|
|
371
|
+
●
|
|
374
372
|
</react_native_1.Text>)}
|
|
375
373
|
</react_native_1.Pressable>
|
|
376
374
|
|
|
@@ -894,14 +894,17 @@ const LogDetail = react_1.default.memo(() => {
|
|
|
894
894
|
paddingVertical: 4.5,
|
|
895
895
|
gap: 6,
|
|
896
896
|
}}>
|
|
897
|
-
<react_native_1.
|
|
897
|
+
<react_native_1.View style={{ flexDirection: 'row', alignItems: 'center', gap: 5, flex: 1 }}>
|
|
898
|
+
<NetworkIcons_1.FolderIcon size={12} color={AppColors_1.AppColors.grayTextWeak}/>
|
|
899
|
+
<react_native_1.Text selectable style={{
|
|
898
900
|
fontFamily: AppFonts_1.AppFonts.interRegular,
|
|
899
901
|
fontSize: 9.5,
|
|
900
902
|
color: AppColors_1.AppColors.grayTextStrong,
|
|
901
903
|
flex: 1,
|
|
902
904
|
}} numberOfLines={1}>
|
|
903
|
-
|
|
904
|
-
|
|
905
|
+
{frame.fullPath}
|
|
906
|
+
</react_native_1.Text>
|
|
907
|
+
</react_native_1.View>
|
|
905
908
|
|
|
906
909
|
<react_native_1.View style={{
|
|
907
910
|
backgroundColor: frameBadgeBg,
|
|
@@ -55,6 +55,8 @@ const BundleTab_1 = __importDefault(require("./BundleTab"));
|
|
|
55
55
|
const PerformanceTab_1 = __importDefault(require("./PerformanceTab"));
|
|
56
56
|
const CrashTab_1 = __importDefault(require("./CrashTab"));
|
|
57
57
|
const CrashDetail_1 = __importDefault(require("./CrashDetail"));
|
|
58
|
+
const DeviceInfoTab_1 = __importDefault(require("./DeviceInfoTab"));
|
|
59
|
+
const StorageTab_1 = __importDefault(require("./StorageTab"));
|
|
58
60
|
const SettingsPanel_1 = __importDefault(require("./SettingsPanel"));
|
|
59
61
|
const TelemetryConsentModal_1 = __importDefault(require("./TelemetryConsentModal"));
|
|
60
62
|
const NpmUpdateToast_1 = __importDefault(require("./NpmUpdateToast"));
|
|
@@ -154,6 +156,8 @@ const MainScreen = () => {
|
|
|
154
156
|
{activeTab === 'bundle' && <BundleTab_1.default />}
|
|
155
157
|
{activeTab === 'performance' && <PerformanceTab_1.default />}
|
|
156
158
|
{activeTab === 'crash' && <CrashTab_1.default />}
|
|
159
|
+
{activeTab === 'device' && <DeviceInfoTab_1.default />}
|
|
160
|
+
{activeTab === 'storage' && <StorageTab_1.default />}
|
|
157
161
|
</react_native_1.Animated.View>
|
|
158
162
|
|
|
159
163
|
{/* Detail View Layer - Rendered on top with smooth slide & spring transition */}
|
|
@@ -210,14 +214,14 @@ const MainScreen = () => {
|
|
|
210
214
|
|
|
211
215
|
{/* NPM Version Update Toast with timeout progress bar */}
|
|
212
216
|
<NpmUpdateToast_1.default />
|
|
217
|
+
|
|
218
|
+
{/* Anonymous Telemetry Consent Dialog shown ONLY when inspector is active */}
|
|
219
|
+
<TelemetryConsentModal_1.default />
|
|
213
220
|
</react_native_1.View>
|
|
214
221
|
</react_native_1.View>
|
|
215
222
|
</ErrorBoundary_1.default>)}
|
|
216
223
|
{hasNavigationContext && (<NavigationTracker_1.default onStateChange={setNavState}/>)}
|
|
217
224
|
</react_native_1.Modal>
|
|
218
|
-
|
|
219
|
-
{/* Anonymous Telemetry Consent Dialog at root viewport */}
|
|
220
|
-
<TelemetryConsentModal_1.default />
|
|
221
225
|
</>);
|
|
222
226
|
};
|
|
223
227
|
exports.default = MainScreen;
|
|
@@ -220,23 +220,83 @@ const NetworkTab = react_1.default.memo(() => {
|
|
|
220
220
|
},
|
|
221
221
|
], [quickCounts]);
|
|
222
222
|
const SEARCH_SCOPES = [
|
|
223
|
-
{
|
|
224
|
-
|
|
225
|
-
|
|
226
|
-
|
|
227
|
-
|
|
223
|
+
{
|
|
224
|
+
id: 'all',
|
|
225
|
+
label: 'All',
|
|
226
|
+
icon: color => <NetworkIcons_1.LayersIcon size={9.5} color={color}/>,
|
|
227
|
+
},
|
|
228
|
+
{
|
|
229
|
+
id: 'url',
|
|
230
|
+
label: 'URL / Path',
|
|
231
|
+
icon: color => <NetworkIcons_1.GlobeIcon size={9.5} color={color}/>,
|
|
232
|
+
},
|
|
233
|
+
{
|
|
234
|
+
id: 'reqBody',
|
|
235
|
+
label: 'Payload',
|
|
236
|
+
icon: color => <NetworkIcons_1.RequestIcon size={9.5} color={color}/>,
|
|
237
|
+
},
|
|
238
|
+
{
|
|
239
|
+
id: 'resBody',
|
|
240
|
+
label: 'Response',
|
|
241
|
+
icon: color => <NetworkIcons_1.ResponseIcon size={9.5} color={color}/>,
|
|
242
|
+
},
|
|
243
|
+
{
|
|
244
|
+
id: 'headers',
|
|
245
|
+
label: 'Headers',
|
|
246
|
+
icon: color => <NetworkIcons_1.HeadersIcon size={9.5} color={color}/>,
|
|
247
|
+
},
|
|
228
248
|
];
|
|
229
249
|
const QUICK_API_QUERY_TAGS = (0, react_1.useMemo)(() => [
|
|
230
|
-
{
|
|
231
|
-
|
|
232
|
-
|
|
233
|
-
|
|
234
|
-
|
|
235
|
-
{
|
|
236
|
-
|
|
237
|
-
|
|
238
|
-
|
|
239
|
-
|
|
250
|
+
{
|
|
251
|
+
label: 'Failed',
|
|
252
|
+
query: 'is:error',
|
|
253
|
+
icon: (color) => <NetworkIcons_1.CircleXIcon size={9.5} color={color}/>,
|
|
254
|
+
},
|
|
255
|
+
{
|
|
256
|
+
label: 'Slow (>1s)',
|
|
257
|
+
query: 'slow:>1s',
|
|
258
|
+
icon: (color) => <NetworkIcons_1.ClockIcon size={9.5} color={color}/>,
|
|
259
|
+
},
|
|
260
|
+
{
|
|
261
|
+
label: 'POST',
|
|
262
|
+
query: 'm:POST',
|
|
263
|
+
icon: (color) => <NetworkIcons_1.RequestIcon size={9.5} color={color}/>,
|
|
264
|
+
},
|
|
265
|
+
{
|
|
266
|
+
label: 'GET',
|
|
267
|
+
query: 'm:GET',
|
|
268
|
+
icon: (color) => <NetworkIcons_1.ResponseIcon size={9.5} color={color}/>,
|
|
269
|
+
},
|
|
270
|
+
{
|
|
271
|
+
label: 'GraphQL',
|
|
272
|
+
query: 'is:graphql',
|
|
273
|
+
icon: (color) => <NetworkIcons_1.AtomIcon size={9.5} color={color}/>,
|
|
274
|
+
},
|
|
275
|
+
{
|
|
276
|
+
label: 'Axios',
|
|
277
|
+
query: 'client:axios',
|
|
278
|
+
icon: (color) => <NetworkIcons_1.BoltIcon size={9.5} color={color}/>,
|
|
279
|
+
},
|
|
280
|
+
{
|
|
281
|
+
label: '200 OK',
|
|
282
|
+
query: 'status:200',
|
|
283
|
+
icon: (color) => <NetworkIcons_1.CircleCheckIcon size={9.5} color={color}/>,
|
|
284
|
+
},
|
|
285
|
+
{
|
|
286
|
+
label: '404',
|
|
287
|
+
query: 'status:404',
|
|
288
|
+
icon: (color) => <NetworkIcons_1.CircleAlertIcon size={9.5} color={color}/>,
|
|
289
|
+
},
|
|
290
|
+
{
|
|
291
|
+
label: '500',
|
|
292
|
+
query: 'status:500',
|
|
293
|
+
icon: (color) => <NetworkIcons_1.CircleXIcon size={9.5} color={color}/>,
|
|
294
|
+
},
|
|
295
|
+
{
|
|
296
|
+
label: 'HTTPS',
|
|
297
|
+
query: 'is:https',
|
|
298
|
+
icon: (color) => <NetworkIcons_1.ShieldAlertIcon size={9.5} color={color}/>,
|
|
299
|
+
},
|
|
240
300
|
], []);
|
|
241
301
|
const networkMetrics = (0, react_1.useMemo)(() => {
|
|
242
302
|
if (!logs || logs.length === 0)
|
|
@@ -519,6 +579,7 @@ const NetworkTab = react_1.default.memo(() => {
|
|
|
519
579
|
{QUICK_CHIPS.map(chip => {
|
|
520
580
|
const isActive = quickFilter === chip.id;
|
|
521
581
|
const chipColor = chip.color || AppColors_1.AppColors.purple;
|
|
582
|
+
const iconColor = isActive ? AppColors_1.AppColors.white : chipColor;
|
|
522
583
|
return (<TouchableScale_1.default key={chip.id} onPress={() => {
|
|
523
584
|
setQuickFilter(isActive ? 'all' : chip.id);
|
|
524
585
|
}}>
|
|
@@ -537,6 +598,13 @@ const NetworkTab = react_1.default.memo(() => {
|
|
|
537
598
|
: `${chipColor}30`,
|
|
538
599
|
gap: 5,
|
|
539
600
|
}}>
|
|
601
|
+
{chip.id === 'all' && <NetworkIcons_1.LayersIcon size={11} color={iconColor}/>}
|
|
602
|
+
{chip.id === 'errors' && <NetworkIcons_1.CircleXIcon size={11} color={iconColor}/>}
|
|
603
|
+
{chip.id === 'success' && <NetworkIcons_1.CircleCheckIcon size={11} color={iconColor}/>}
|
|
604
|
+
{chip.id === 'slow' && <NetworkIcons_1.ClockIcon size={11} color={iconColor}/>}
|
|
605
|
+
{chip.id === 'POST' && <NetworkIcons_1.RequestIcon size={11} color={iconColor}/>}
|
|
606
|
+
{chip.id === 'GET' && <NetworkIcons_1.ResponseIcon size={11} color={iconColor}/>}
|
|
607
|
+
{chip.id === 'graphql' && <NetworkIcons_1.AtomIcon size={11} color={iconColor}/>}
|
|
540
608
|
<react_native_1.Text style={{
|
|
541
609
|
fontFamily: AppFonts_1.AppFonts.interBold,
|
|
542
610
|
fontSize: 10.5,
|
|
@@ -592,8 +660,12 @@ const NetworkTab = react_1.default.memo(() => {
|
|
|
592
660
|
}}>
|
|
593
661
|
{SEARCH_SCOPES.map(s => {
|
|
594
662
|
const isSelected = searchScope === s.id;
|
|
663
|
+
const iconColor = isSelected ? AppColors_1.AppColors.white : AppColors_1.AppColors.grayText;
|
|
595
664
|
return (<TouchableScale_1.default key={s.id} onPress={() => setSearchScope(s.id)}>
|
|
596
665
|
<react_native_1.View style={{
|
|
666
|
+
flexDirection: 'row',
|
|
667
|
+
alignItems: 'center',
|
|
668
|
+
gap: 4,
|
|
597
669
|
paddingHorizontal: 7,
|
|
598
670
|
paddingVertical: 2.5,
|
|
599
671
|
borderRadius: 5,
|
|
@@ -605,6 +677,7 @@ const NetworkTab = react_1.default.memo(() => {
|
|
|
605
677
|
? AppColors_1.AppColors.purple
|
|
606
678
|
: AppColors_1.AppColors.grayBorderSecondary,
|
|
607
679
|
}}>
|
|
680
|
+
{s.icon(iconColor)}
|
|
608
681
|
<react_native_1.Text style={{
|
|
609
682
|
fontFamily: AppFonts_1.AppFonts.interBold,
|
|
610
683
|
fontSize: 9.5,
|
|
@@ -638,6 +711,9 @@ const NetworkTab = react_1.default.memo(() => {
|
|
|
638
711
|
}
|
|
639
712
|
}}>
|
|
640
713
|
<react_native_1.View style={{
|
|
714
|
+
flexDirection: 'row',
|
|
715
|
+
alignItems: 'center',
|
|
716
|
+
gap: 4,
|
|
641
717
|
paddingHorizontal: 7,
|
|
642
718
|
paddingVertical: 2.5,
|
|
643
719
|
borderRadius: 5,
|
|
@@ -649,6 +725,7 @@ const NetworkTab = react_1.default.memo(() => {
|
|
|
649
725
|
? AppColors_1.AppColors.purple
|
|
650
726
|
: `${AppColors_1.AppColors.purple}30`,
|
|
651
727
|
}}>
|
|
728
|
+
{item.icon(isSelected ? AppColors_1.AppColors.white : AppColors_1.AppColors.purple)}
|
|
652
729
|
<react_native_1.Text style={{
|
|
653
730
|
fontFamily: AppFonts_1.AppFonts.interBold,
|
|
654
731
|
fontSize: 9.5,
|
|
@@ -411,18 +411,45 @@ const PerformanceTab = react_1.default.memo(() => {
|
|
|
411
411
|
<react_native_1.View style={perfStyles.categoryScrollWrapper}>
|
|
412
412
|
<react_native_1.ScrollView horizontal showsHorizontalScrollIndicator={false} style={perfStyles.categoryScrollView} contentContainerStyle={perfStyles.categoryScroll}>
|
|
413
413
|
{[
|
|
414
|
-
{
|
|
415
|
-
|
|
416
|
-
|
|
417
|
-
|
|
418
|
-
|
|
419
|
-
{
|
|
414
|
+
{
|
|
415
|
+
key: 'ALL',
|
|
416
|
+
label: t('performance.catAll'),
|
|
417
|
+
icon: (color) => <NetworkIcons_1.PerformanceIcon size={12} color={color}/>,
|
|
418
|
+
},
|
|
419
|
+
{
|
|
420
|
+
key: 'JANKY',
|
|
421
|
+
label: t('performance.catJanky'),
|
|
422
|
+
icon: (color) => <NetworkIcons_1.CircleAlertIcon size={12} color={color}/>,
|
|
423
|
+
},
|
|
424
|
+
{
|
|
425
|
+
key: 'NAVIGATION',
|
|
426
|
+
label: t('performance.catNavigation'),
|
|
427
|
+
icon: (color) => <NetworkIcons_1.MapIcon size={12} color={color}/>,
|
|
428
|
+
},
|
|
429
|
+
{
|
|
430
|
+
key: 'RENDER',
|
|
431
|
+
label: t('performance.catRender'),
|
|
432
|
+
icon: (color) => <NetworkIcons_1.AtomIcon size={12} color={color}/>,
|
|
433
|
+
},
|
|
434
|
+
{
|
|
435
|
+
key: 'MEMORY',
|
|
436
|
+
label: t('performance.catMemory'),
|
|
437
|
+
icon: (color) => <NetworkIcons_1.BrainIcon size={12} color={color}/>,
|
|
438
|
+
},
|
|
439
|
+
{
|
|
440
|
+
key: 'IO',
|
|
441
|
+
label: t('performance.catIo'),
|
|
442
|
+
icon: (color) => <NetworkIcons_1.GlobeIcon size={12} color={color}/>,
|
|
443
|
+
},
|
|
420
444
|
].map(cat => {
|
|
421
445
|
const isSelected = filterCategory === cat.key;
|
|
446
|
+
const iconColor = isSelected ? AppColors_1.AppColors.white : AppColors_1.AppColors.grayTextWeak;
|
|
422
447
|
return (<TouchableScale_1.default key={cat.key} onPress={() => setFilterCategory(cat.key)} style={[
|
|
423
448
|
perfStyles.categoryChip,
|
|
424
449
|
isSelected && perfStyles.categoryChipActive,
|
|
450
|
+
{ flexDirection: 'row', alignItems: 'center', gap: 5 },
|
|
425
451
|
]}>
|
|
452
|
+
{cat.icon(iconColor)}
|
|
426
453
|
<react_native_1.Text style={[
|
|
427
454
|
perfStyles.categoryChipText,
|
|
428
455
|
isSelected && perfStyles.categoryChipTextActive,
|
|
@@ -844,12 +871,13 @@ const PerformanceTab = react_1.default.memo(() => {
|
|
|
844
871
|
</react_native_1.View>
|
|
845
872
|
|
|
846
873
|
{/* Bottleneck Thread Tag */}
|
|
847
|
-
{event.bottleneckThread && (<react_native_1.View style={perfStyles.bottleneckTag}>
|
|
874
|
+
{event.bottleneckThread && (<react_native_1.View style={[perfStyles.bottleneckTag, { flexDirection: 'row', alignItems: 'center', gap: 3 }]}>
|
|
875
|
+
{event.bottleneckThread === 'JS Thread' && (<NetworkIcons_1.BoltIcon size={10} color={AppColors_1.AppColors.warningIconGold}/>)}
|
|
848
876
|
<react_native_1.Text style={perfStyles.bottleneckTagText}>
|
|
849
877
|
{event.bottleneckThread === 'JS Thread'
|
|
850
|
-
?
|
|
878
|
+
? t('performance.jsBound')
|
|
851
879
|
: event.bottleneckThread === 'UI Thread'
|
|
852
|
-
?
|
|
880
|
+
? t('performance.uiBound')
|
|
853
881
|
: t('performance.balanced')}
|
|
854
882
|
</react_native_1.Text>
|
|
855
883
|
</react_native_1.View>)}
|
|
@@ -857,9 +885,7 @@ const PerformanceTab = react_1.default.memo(() => {
|
|
|
857
885
|
|
|
858
886
|
<react_native_1.View style={{ flexDirection: 'row', alignItems: 'center', gap: 6 }}>
|
|
859
887
|
<CopyButton_1.default value={() => event} label={t('common.copyJson')}/>
|
|
860
|
-
<
|
|
861
|
-
{isExpanded ? '▲' : '▼'}
|
|
862
|
-
</react_native_1.Text>
|
|
888
|
+
<NetworkIcons_1.ChevronIcon isExpanded={isExpanded} size={14} color={AppColors_1.AppColors.grayTextWeak}/>
|
|
863
889
|
</react_native_1.View>
|
|
864
890
|
</react_native_1.View>
|
|
865
891
|
|