react-native-inapp-inspector 2.3.5 → 2.3.7
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/analytics.d.ts +0 -4
- package/dist/commonjs/analytics.js +0 -4
- package/dist/commonjs/bundle.d.ts +0 -4
- package/dist/commonjs/bundle.js +0 -4
- package/dist/commonjs/components/AnalyticsDetail.js +18 -27
- package/dist/commonjs/components/AnalyticsEventCard.js +9 -12
- package/dist/commonjs/components/AnalyticsGraph.js +10 -15
- package/dist/commonjs/components/AppHeaderLogo.js +0 -3
- package/dist/commonjs/components/BrandCircleIcon.js +15 -15
- package/dist/commonjs/components/BrandSquareIcon.js +20 -20
- package/dist/commonjs/components/CodeSnippet.js +6 -19
- package/dist/commonjs/components/ConsoleLogCard.js +0 -1
- package/dist/commonjs/components/CopyButton.js +0 -4
- package/dist/commonjs/components/DiffViewer.js +0 -2
- package/dist/commonjs/components/DomainHeader.js +0 -4
- package/dist/commonjs/components/EmptyState.js +0 -3
- package/dist/commonjs/components/ErrorBoundary.js +5 -10
- package/dist/commonjs/components/HeadersSection.js +0 -5
- package/dist/commonjs/components/HighlightText.js +1 -4
- package/dist/commonjs/components/Inspector/AnalyticsFilterModal.js +11 -26
- package/dist/commonjs/components/Inspector/AnalyticsTab.js +34 -40
- package/dist/commonjs/components/Inspector/BundleTab.js +56 -84
- package/dist/commonjs/components/Inspector/ConsoleTab.js +7 -7
- package/dist/commonjs/components/Inspector/CrashDetail.js +18 -20
- package/dist/commonjs/components/Inspector/CrashFilterModal.js +0 -1
- package/dist/commonjs/components/Inspector/CrashTab.js +11 -20
- package/dist/commonjs/components/Inspector/DeviceInfoTab.js +12 -24
- package/dist/commonjs/components/Inspector/FabLauncher.js +1 -1
- package/dist/commonjs/components/Inspector/InspectorContext.js +0 -2
- package/dist/commonjs/components/Inspector/InspectorHeader.js +7 -8
- package/dist/commonjs/components/Inspector/LogDetail.js +27 -29
- package/dist/commonjs/components/Inspector/MainScreen.js +9 -10
- package/dist/commonjs/components/Inspector/NetworkDetail.js +10 -11
- package/dist/commonjs/components/Inspector/NetworkTab.js +14 -14
- package/dist/commonjs/components/Inspector/NpmUpdateToast.js +6 -9
- package/dist/commonjs/components/Inspector/PerformanceTab.js +30 -43
- package/dist/commonjs/components/Inspector/ReduxDetail.js +18 -34
- package/dist/commonjs/components/Inspector/ReduxTab.js +11 -20
- package/dist/commonjs/components/Inspector/SettingsPanel.js +32 -36
- package/dist/commonjs/components/Inspector/SkeletonPlaceholder.js +6 -6
- package/dist/commonjs/components/Inspector/StorageTab.js +14 -26
- package/dist/commonjs/components/Inspector/UpdateAvailableModal.js +5 -6
- package/dist/commonjs/components/JsonViewer.js +3 -10
- package/dist/commonjs/components/LogCard.js +7 -7
- package/dist/commonjs/components/MetaAccordion.js +1 -7
- package/dist/commonjs/components/NetworkIcons.js +12 -16
- package/dist/commonjs/components/SectionHeader.js +0 -4
- package/dist/commonjs/components/SkeletonPlaceholder.js +6 -6
- package/dist/commonjs/components/Slider.js +6 -6
- package/dist/commonjs/components/SourcePageCard.js +0 -4
- package/dist/commonjs/components/TreeNode.js +0 -4
- package/dist/commonjs/console.d.ts +0 -4
- package/dist/commonjs/console.js +0 -4
- package/dist/commonjs/constants/index.js +6 -9
- package/dist/commonjs/constants/telemetryConfig.d.ts +3 -0
- package/dist/commonjs/constants/telemetryConfig.js +6 -0
- package/dist/commonjs/constants/version.d.ts +1 -1
- package/dist/commonjs/constants/version.js +1 -3
- package/dist/commonjs/crash.d.ts +0 -4
- package/dist/commonjs/crash.js +0 -4
- package/dist/commonjs/customHooks/analyticsLogger.d.ts +0 -7
- package/dist/commonjs/customHooks/analyticsLogger.js +3 -59
- package/dist/commonjs/customHooks/bundleAnalyzer.d.ts +0 -9
- package/dist/commonjs/customHooks/bundleAnalyzer.js +3 -86
- package/dist/commonjs/customHooks/consoleLogger.js +0 -16
- package/dist/commonjs/customHooks/crashHandler.d.ts +0 -28
- package/dist/commonjs/customHooks/crashHandler.js +0 -55
- package/dist/commonjs/customHooks/logFilters.d.ts +0 -4
- package/dist/commonjs/customHooks/logFilters.js +0 -11
- package/dist/commonjs/customHooks/networkLogger.js +2 -13
- package/dist/commonjs/customHooks/performanceTracker.d.ts +0 -27
- package/dist/commonjs/customHooks/performanceTracker.js +0 -31
- package/dist/commonjs/customHooks/reduxLogger.d.ts +0 -12
- package/dist/commonjs/customHooks/reduxLogger.js +0 -51
- package/dist/commonjs/customHooks/storageInspector.d.ts +0 -40
- package/dist/commonjs/customHooks/storageInspector.js +1 -56
- package/dist/commonjs/decorators/index.d.ts +0 -37
- package/dist/commonjs/decorators/index.js +0 -42
- package/dist/commonjs/helpers/gaAnalyticsRegistry.d.ts +0 -10
- package/dist/commonjs/helpers/gaAnalyticsRegistry.js +0 -26
- package/dist/commonjs/helpers/index.d.ts +0 -7
- package/dist/commonjs/helpers/index.js +1 -42
- package/dist/commonjs/helpers/memoryManager.d.ts +0 -11
- package/dist/commonjs/helpers/memoryManager.js +0 -13
- package/dist/commonjs/helpers/searchQueryParser.d.ts +0 -4
- package/dist/commonjs/helpers/searchQueryParser.js +0 -18
- package/dist/commonjs/helpers/settingsStore.js +0 -8
- package/dist/commonjs/helpers/telemetry.d.ts +2 -0
- package/dist/commonjs/helpers/telemetry.js +136 -0
- package/dist/commonjs/i18n/index.d.ts +0 -9
- package/dist/commonjs/i18n/index.js +0 -15
- package/dist/commonjs/index.js +15 -97
- package/dist/commonjs/native/NativeInspector.d.ts +0 -54
- package/dist/commonjs/native/NativeInspector.js +0 -56
- package/dist/commonjs/network.d.ts +0 -4
- package/dist/commonjs/network.js +0 -4
- package/dist/commonjs/performance.d.ts +0 -4
- package/dist/commonjs/performance.js +0 -4
- package/dist/commonjs/redux.d.ts +0 -4
- package/dist/commonjs/redux.js +0 -4
- package/dist/commonjs/storage.d.ts +0 -4
- package/dist/commonjs/storage.js +0 -4
- package/dist/commonjs/styles/AppColors.d.ts +0 -3
- package/dist/commonjs/styles/AppColors.js +15 -30
- package/dist/commonjs/styles/AppFonts.d.ts +0 -4
- package/dist/commonjs/styles/AppFonts.js +0 -4
- package/dist/commonjs/styles/common.js +0 -11
- package/dist/commonjs/styles/index.js +0 -8
- package/dist/commonjs/types/enums.js +0 -3
- package/dist/commonjs/types/interfaces.d.ts +3 -3
- package/dist/esm/analytics.d.ts +0 -4
- package/dist/esm/analytics.js +0 -4
- package/dist/esm/bundle.d.ts +0 -4
- package/dist/esm/bundle.js +0 -4
- package/dist/esm/components/AnalyticsDetail.js +18 -27
- package/dist/esm/components/AnalyticsEventCard.js +9 -12
- package/dist/esm/components/AnalyticsGraph.js +10 -15
- package/dist/esm/components/AppHeaderLogo.js +0 -3
- package/dist/esm/components/BrandCircleIcon.js +15 -15
- package/dist/esm/components/BrandSquareIcon.js +20 -20
- package/dist/esm/components/CodeSnippet.js +6 -19
- package/dist/esm/components/ConsoleLogCard.js +0 -1
- package/dist/esm/components/CopyButton.js +0 -4
- package/dist/esm/components/DiffViewer.js +0 -2
- package/dist/esm/components/DomainHeader.js +0 -4
- package/dist/esm/components/EmptyState.js +0 -3
- package/dist/esm/components/ErrorBoundary.js +5 -10
- package/dist/esm/components/HeadersSection.js +0 -5
- package/dist/esm/components/HighlightText.js +1 -4
- package/dist/esm/components/Inspector/AnalyticsFilterModal.js +11 -26
- package/dist/esm/components/Inspector/AnalyticsTab.js +34 -40
- package/dist/esm/components/Inspector/BundleTab.js +56 -84
- package/dist/esm/components/Inspector/ConsoleTab.js +7 -7
- package/dist/esm/components/Inspector/CrashDetail.js +18 -20
- package/dist/esm/components/Inspector/CrashFilterModal.js +0 -1
- package/dist/esm/components/Inspector/CrashTab.js +11 -20
- package/dist/esm/components/Inspector/DeviceInfoTab.js +12 -24
- package/dist/esm/components/Inspector/FabLauncher.js +1 -1
- package/dist/esm/components/Inspector/InspectorContext.js +0 -2
- package/dist/esm/components/Inspector/InspectorHeader.js +7 -8
- package/dist/esm/components/Inspector/LogDetail.js +27 -29
- package/dist/esm/components/Inspector/MainScreen.js +9 -10
- package/dist/esm/components/Inspector/NetworkDetail.js +10 -11
- package/dist/esm/components/Inspector/NetworkTab.js +14 -14
- package/dist/esm/components/Inspector/NpmUpdateToast.js +6 -9
- package/dist/esm/components/Inspector/PerformanceTab.js +30 -43
- package/dist/esm/components/Inspector/ReduxDetail.js +18 -34
- package/dist/esm/components/Inspector/ReduxTab.js +11 -20
- package/dist/esm/components/Inspector/SettingsPanel.js +32 -36
- package/dist/esm/components/Inspector/SkeletonPlaceholder.js +6 -6
- package/dist/esm/components/Inspector/StorageTab.js +14 -26
- package/dist/esm/components/Inspector/UpdateAvailableModal.js +5 -6
- package/dist/esm/components/JsonViewer.js +3 -10
- package/dist/esm/components/LogCard.js +7 -7
- package/dist/esm/components/MetaAccordion.js +1 -7
- package/dist/esm/components/NetworkIcons.js +12 -16
- package/dist/esm/components/SectionHeader.js +0 -4
- package/dist/esm/components/SkeletonPlaceholder.js +6 -6
- package/dist/esm/components/Slider.js +6 -6
- package/dist/esm/components/SourcePageCard.js +0 -4
- package/dist/esm/components/TreeNode.js +0 -4
- package/dist/esm/console.d.ts +0 -4
- package/dist/esm/console.js +0 -4
- package/dist/esm/constants/index.js +6 -9
- package/dist/esm/constants/telemetryConfig.d.ts +3 -0
- package/dist/esm/constants/telemetryConfig.js +3 -0
- package/dist/esm/constants/version.d.ts +1 -1
- package/dist/esm/constants/version.js +1 -3
- package/dist/esm/crash.d.ts +0 -4
- package/dist/esm/crash.js +0 -4
- package/dist/esm/customHooks/analyticsLogger.d.ts +0 -7
- package/dist/esm/customHooks/analyticsLogger.js +3 -59
- package/dist/esm/customHooks/bundleAnalyzer.d.ts +0 -9
- package/dist/esm/customHooks/bundleAnalyzer.js +3 -86
- package/dist/esm/customHooks/consoleLogger.js +0 -16
- package/dist/esm/customHooks/crashHandler.d.ts +0 -28
- package/dist/esm/customHooks/crashHandler.js +0 -55
- package/dist/esm/customHooks/logFilters.d.ts +0 -4
- package/dist/esm/customHooks/logFilters.js +0 -11
- package/dist/esm/customHooks/networkLogger.js +2 -13
- package/dist/esm/customHooks/performanceTracker.d.ts +0 -27
- package/dist/esm/customHooks/performanceTracker.js +0 -31
- package/dist/esm/customHooks/reduxLogger.d.ts +0 -12
- package/dist/esm/customHooks/reduxLogger.js +0 -51
- package/dist/esm/customHooks/storageInspector.d.ts +0 -40
- package/dist/esm/customHooks/storageInspector.js +1 -56
- package/dist/esm/decorators/index.d.ts +0 -37
- package/dist/esm/decorators/index.js +0 -42
- package/dist/esm/helpers/gaAnalyticsRegistry.d.ts +0 -10
- package/dist/esm/helpers/gaAnalyticsRegistry.js +0 -26
- package/dist/esm/helpers/index.d.ts +0 -7
- package/dist/esm/helpers/index.js +1 -42
- package/dist/esm/helpers/memoryManager.d.ts +0 -11
- package/dist/esm/helpers/memoryManager.js +0 -13
- package/dist/esm/helpers/searchQueryParser.d.ts +0 -4
- package/dist/esm/helpers/searchQueryParser.js +0 -18
- package/dist/esm/helpers/settingsStore.js +0 -8
- package/dist/esm/helpers/telemetry.d.ts +2 -0
- package/dist/esm/helpers/telemetry.js +132 -0
- package/dist/esm/i18n/index.d.ts +0 -9
- package/dist/esm/i18n/index.js +0 -15
- package/dist/esm/index.js +15 -97
- package/dist/esm/native/NativeInspector.d.ts +0 -54
- package/dist/esm/native/NativeInspector.js +0 -56
- package/dist/esm/network.d.ts +0 -4
- package/dist/esm/network.js +0 -4
- package/dist/esm/performance.d.ts +0 -4
- package/dist/esm/performance.js +0 -4
- package/dist/esm/redux.d.ts +0 -4
- package/dist/esm/redux.js +0 -4
- package/dist/esm/storage.d.ts +0 -4
- package/dist/esm/storage.js +0 -4
- package/dist/esm/styles/AppColors.d.ts +0 -3
- package/dist/esm/styles/AppColors.js +15 -30
- package/dist/esm/styles/AppFonts.d.ts +0 -4
- package/dist/esm/styles/AppFonts.js +0 -4
- package/dist/esm/styles/common.js +0 -11
- package/dist/esm/styles/index.js +0 -8
- package/dist/esm/types/enums.js +0 -3
- package/dist/esm/types/interfaces.d.ts +3 -3
- package/package.json +2 -2
- package/src/constants/telemetryConfig.ts +6 -0
- package/src/constants/version.ts +1 -1
- package/src/helpers/telemetry.ts +161 -0
- package/src/index.tsx +15 -1
- package/src/types/interfaces.ts +3 -0
|
@@ -49,10 +49,8 @@ const helpers_1 = require("../../helpers");
|
|
|
49
49
|
const NetworkIcons_1 = require("../NetworkIcons");
|
|
50
50
|
const react_native_svg_1 = __importStar(require("react-native-svg"));
|
|
51
51
|
const bundleAnalyzer_1 = require("../../customHooks/bundleAnalyzer");
|
|
52
|
-
// ─── High-Fidelity Vector Package & NPM Logos ────────────────────────────────
|
|
53
52
|
const PackageLogoRenderer = ({ name, size = 28 }) => {
|
|
54
53
|
const lowerName = name.toLowerCase();
|
|
55
|
-
// 1. React & React Native (Official Cyan Atom Orbital)
|
|
56
54
|
if (lowerName === 'react' ||
|
|
57
55
|
(lowerName.includes('react-native') &&
|
|
58
56
|
!lowerName.includes('svg') &&
|
|
@@ -70,7 +68,6 @@ const PackageLogoRenderer = ({ name, size = 28 }) => {
|
|
|
70
68
|
</react_native_svg_1.default>
|
|
71
69
|
</react_native_1.View>);
|
|
72
70
|
}
|
|
73
|
-
// 2. React Navigation (Official Violet/Cyan Compass)
|
|
74
71
|
if (lowerName.includes('navigation')) {
|
|
75
72
|
return (<react_native_1.View style={[
|
|
76
73
|
bundleStyles.pkgLogoWrap,
|
|
@@ -83,7 +80,6 @@ const PackageLogoRenderer = ({ name, size = 28 }) => {
|
|
|
83
80
|
</react_native_svg_1.default>
|
|
84
81
|
</react_native_1.View>);
|
|
85
82
|
}
|
|
86
|
-
// 3. React Native SVG (Bezier Path Vector Art)
|
|
87
83
|
if (lowerName.includes('svg')) {
|
|
88
84
|
return (<react_native_1.View style={[
|
|
89
85
|
bundleStyles.pkgLogoWrap,
|
|
@@ -97,7 +93,6 @@ const PackageLogoRenderer = ({ name, size = 28 }) => {
|
|
|
97
93
|
</react_native_svg_1.default>
|
|
98
94
|
</react_native_1.View>);
|
|
99
95
|
}
|
|
100
|
-
// 4. Axios (Official Indigo & Cyan Network Adapter)
|
|
101
96
|
if (lowerName.includes('axios')) {
|
|
102
97
|
return (<react_native_1.View style={[
|
|
103
98
|
bundleStyles.pkgLogoWrap,
|
|
@@ -109,7 +104,6 @@ const PackageLogoRenderer = ({ name, size = 28 }) => {
|
|
|
109
104
|
</react_native_svg_1.default>
|
|
110
105
|
</react_native_1.View>);
|
|
111
106
|
}
|
|
112
|
-
// 5. React Native Screens (Software Mansion Deep Indigo Stack)
|
|
113
107
|
if (lowerName.includes('screens') || lowerName.includes('software-mansion')) {
|
|
114
108
|
return (<react_native_1.View style={[
|
|
115
109
|
bundleStyles.pkgLogoWrap,
|
|
@@ -126,7 +120,6 @@ const PackageLogoRenderer = ({ name, size = 28 }) => {
|
|
|
126
120
|
</react_native_svg_1.default>
|
|
127
121
|
</react_native_1.View>);
|
|
128
122
|
}
|
|
129
|
-
// 6. Linear Gradient (Vibrant Color Spectrum)
|
|
130
123
|
if (lowerName.includes('gradient')) {
|
|
131
124
|
return (<react_native_1.View style={[
|
|
132
125
|
bundleStyles.pkgLogoWrap,
|
|
@@ -144,7 +137,6 @@ const PackageLogoRenderer = ({ name, size = 28 }) => {
|
|
|
144
137
|
</react_native_svg_1.default>
|
|
145
138
|
</react_native_1.View>);
|
|
146
139
|
}
|
|
147
|
-
// 7. i18next & Translations (Emerald Globe)
|
|
148
140
|
if (lowerName.includes('i18n')) {
|
|
149
141
|
return (<react_native_1.View style={[
|
|
150
142
|
bundleStyles.pkgLogoWrap,
|
|
@@ -157,7 +149,6 @@ const PackageLogoRenderer = ({ name, size = 28 }) => {
|
|
|
157
149
|
</react_native_svg_1.default>
|
|
158
150
|
</react_native_1.View>);
|
|
159
151
|
}
|
|
160
|
-
// 8. Official Red NPM Logo Box (Universal Default NPM Branding)
|
|
161
152
|
return (<react_native_1.View style={[
|
|
162
153
|
bundleStyles.pkgLogoWrap,
|
|
163
154
|
{ width: size, height: size, backgroundColor: AppColors_1.AppColors.npmRed },
|
|
@@ -244,10 +235,8 @@ const BundleCategoryIcon = ({ type, size = 16, color = AppColors_1.AppColors.pur
|
|
|
244
235
|
{renderGlyph()}
|
|
245
236
|
</react_native_svg_1.default>);
|
|
246
237
|
};
|
|
247
|
-
// ─── Media File Thumbnail Component ──────────────────────────────────────────
|
|
248
238
|
const MediaPreviewThumbnail = ({ file }) => {
|
|
249
239
|
const [loadError, setLoadError] = (0, react_1.useState)(false);
|
|
250
|
-
// 1. If it's an SVG file, render an inline vector thumbnail preview
|
|
251
240
|
if (file.ext === 'SVG' || file.name.toLowerCase().endsWith('.svg')) {
|
|
252
241
|
return (<react_native_1.View style={[
|
|
253
242
|
bundleStyles.mediaThumbWrap,
|
|
@@ -266,7 +255,7 @@ const MediaPreviewThumbnail = ({ file }) => {
|
|
|
266
255
|
</react_native_svg_1.LinearGradient>
|
|
267
256
|
</react_native_svg_1.Defs>
|
|
268
257
|
<react_native_svg_1.Circle cx="50" cy="50" r="44" fill="url(#svgGradThumb)"/>
|
|
269
|
-
|
|
258
|
+
|
|
270
259
|
<react_native_svg_1.Path d="M25 70 C35 30, 65 30, 75 70" stroke={AppColors_1.AppColors.white} strokeWidth="8" strokeLinecap="round"/>
|
|
271
260
|
<react_native_svg_1.Circle cx="25" cy="70" r="7" fill={AppColors_1.AppColors.white}/>
|
|
272
261
|
<react_native_svg_1.Circle cx="75" cy="70" r="7" fill={AppColors_1.AppColors.white}/>
|
|
@@ -274,7 +263,6 @@ const MediaPreviewThumbnail = ({ file }) => {
|
|
|
274
263
|
</react_native_svg_1.default>
|
|
275
264
|
</react_native_1.View>);
|
|
276
265
|
}
|
|
277
|
-
// 2. Raster Image (PNG, JPG, WebP) with valid preview URI
|
|
278
266
|
if (file.category === 'image' && file.previewUri && !loadError) {
|
|
279
267
|
return (<react_native_1.View style={bundleStyles.mediaThumbWrap}>
|
|
280
268
|
<react_native_1.Image source={{ uri: file.previewUri }} style={bundleStyles.mediaThumbImg} resizeMode="cover" onError={() => setLoadError(true)}/>
|
|
@@ -342,7 +330,6 @@ function buildBundleFileTree(files) {
|
|
|
342
330
|
children,
|
|
343
331
|
});
|
|
344
332
|
}
|
|
345
|
-
// Sort folders first, then files alphabetically
|
|
346
333
|
return nodes.sort((a, b) => {
|
|
347
334
|
if (a.isFolder && !b.isFolder)
|
|
348
335
|
return -1;
|
|
@@ -355,7 +342,6 @@ function buildBundleFileTree(files) {
|
|
|
355
342
|
}
|
|
356
343
|
const downloadBundleFile = async (file, scriptURL) => {
|
|
357
344
|
let content = '';
|
|
358
|
-
// 1. Attempt to fetch real source code from Metro dev server dynamically
|
|
359
345
|
try {
|
|
360
346
|
let devServerOrigin = '';
|
|
361
347
|
const activeUrl = scriptURL || (0, bundleAnalyzer_1.getHostScriptURL)();
|
|
@@ -378,7 +364,6 @@ const downloadBundleFile = async (file, scriptURL) => {
|
|
|
378
364
|
}
|
|
379
365
|
}
|
|
380
366
|
catch { }
|
|
381
|
-
// 2. If dev server direct fetch is unavailable, provide structured module descriptor with full path
|
|
382
367
|
if (!content) {
|
|
383
368
|
content = `// ─────────────────────────────────────────────────────────────
|
|
384
369
|
// File: ${file.name}
|
|
@@ -402,7 +387,6 @@ export default {
|
|
|
402
387
|
};
|
|
403
388
|
`;
|
|
404
389
|
}
|
|
405
|
-
// 3. Trigger native Share / Download sheet
|
|
406
390
|
try {
|
|
407
391
|
await react_native_1.Share.share(react_native_1.Platform.OS === 'ios'
|
|
408
392
|
? {
|
|
@@ -417,7 +401,6 @@ export default {
|
|
|
417
401
|
});
|
|
418
402
|
}
|
|
419
403
|
catch { }
|
|
420
|
-
// 4. Also copy directly to clipboard for quick paste in VS Code or external editor
|
|
421
404
|
try {
|
|
422
405
|
(0, helpers_1.copyToClipboard)(content, file.name);
|
|
423
406
|
}
|
|
@@ -468,7 +451,6 @@ const BundleTreeNodeView = ({ node, level, search, totalBundleKb, expandedFolder
|
|
|
468
451
|
</react_native_1.View>)}
|
|
469
452
|
</react_native_1.View>);
|
|
470
453
|
}
|
|
471
|
-
// File item inside tree
|
|
472
454
|
const file = node.fileItem;
|
|
473
455
|
if (!file)
|
|
474
456
|
return null;
|
|
@@ -567,7 +549,6 @@ const BundleTab = react_1.default.memo(() => {
|
|
|
567
549
|
const [prodPlatform, setProdPlatform] = (0, react_1.useState)('ios');
|
|
568
550
|
const [search, setSearch] = (0, react_1.useState)('');
|
|
569
551
|
const [activeCategory, setActiveCategory] = (0, react_1.useState)('ALL');
|
|
570
|
-
// ─── Live Host App Bundle Analysis (fetched from Metro / runtime) ─────────
|
|
571
552
|
const [analysis, setAnalysis] = (0, react_1.useState)(() => (0, bundleAnalyzer_1.getCachedBundleAnalysis)() || (0, bundleAnalyzer_1.getInitialBundleAnalysis)());
|
|
572
553
|
const [isAnalyzing, setIsAnalyzing] = (0, react_1.useState)(false);
|
|
573
554
|
const refreshAnalysis = (0, react_1.useCallback)(() => {
|
|
@@ -599,12 +580,9 @@ const BundleTab = react_1.default.memo(() => {
|
|
|
599
580
|
mounted = false;
|
|
600
581
|
};
|
|
601
582
|
}, []);
|
|
602
|
-
// Check if Hermes is running
|
|
603
583
|
const isHermes = Boolean(global.HermesInternal);
|
|
604
|
-
// Dynamic files & packages derived from the analyzed host bundle
|
|
605
584
|
const bundleFiles = (0, react_1.useMemo)(() => (analysis ? analysis.files : []), [analysis]);
|
|
606
585
|
const bundlePackages = (0, react_1.useMemo)(() => (analysis ? analysis.packages : []), [analysis]);
|
|
607
|
-
// Comprehensive bundle summary (full Metro bundle calculation e.g. 6.0 MB)
|
|
608
586
|
const summary = (0, react_1.useMemo)(() => {
|
|
609
587
|
const totalKb = analysis?.totalDevKb ||
|
|
610
588
|
(analysis?.totalDevBytes
|
|
@@ -713,7 +691,6 @@ const BundleTab = react_1.default.memo(() => {
|
|
|
713
691
|
},
|
|
714
692
|
};
|
|
715
693
|
}, [analysis, bundleFiles, bundlePackages]);
|
|
716
|
-
// Filtered files
|
|
717
694
|
const filteredFiles = (0, react_1.useMemo)(() => {
|
|
718
695
|
return bundleFiles.filter(file => {
|
|
719
696
|
const matchSearch = !search ||
|
|
@@ -734,7 +711,6 @@ const BundleTab = react_1.default.memo(() => {
|
|
|
734
711
|
const filteredTotalKb = (0, react_1.useMemo)(() => {
|
|
735
712
|
return filteredFiles.reduce((acc, f) => acc + f.sizeKb, 0);
|
|
736
713
|
}, [filteredFiles]);
|
|
737
|
-
// Tree View State & Node Generation (Top folders expanded by default)
|
|
738
714
|
const [filesViewMode, setFilesViewMode] = (0, react_1.useState)('tree');
|
|
739
715
|
const [expandedFolders, setExpandedFolders] = (0, react_1.useState)({});
|
|
740
716
|
const fileTreeNodes = (0, react_1.useMemo)(() => {
|
|
@@ -778,7 +754,6 @@ const BundleTab = react_1.default.memo(() => {
|
|
|
778
754
|
const collapseAllFolders = (0, react_1.useCallback)(() => {
|
|
779
755
|
setExpandedFolders({});
|
|
780
756
|
}, []);
|
|
781
|
-
// Filtered Packages
|
|
782
757
|
const filteredPackages = (0, react_1.useMemo)(() => {
|
|
783
758
|
if (!search)
|
|
784
759
|
return bundlePackages;
|
|
@@ -790,7 +765,6 @@ const BundleTab = react_1.default.memo(() => {
|
|
|
790
765
|
const packagesTotalKb = (0, react_1.useMemo)(() => {
|
|
791
766
|
return filteredPackages.reduce((acc, p) => acc + p.sizeKb, 0);
|
|
792
767
|
}, [filteredPackages]);
|
|
793
|
-
// Media files (Images + Fonts)
|
|
794
768
|
const mediaFiles = (0, react_1.useMemo)(() => {
|
|
795
769
|
return bundleFiles.filter(f => f.category === 'image' || f.category === 'font');
|
|
796
770
|
}, [bundleFiles]);
|
|
@@ -830,7 +804,7 @@ const BundleTab = react_1.default.memo(() => {
|
|
|
830
804
|
},
|
|
831
805
|
];
|
|
832
806
|
return (<react_native_1.View style={{ flex: 1, backgroundColor: AppColors_1.AppColors.grayBackground }}>
|
|
833
|
-
|
|
807
|
+
|
|
834
808
|
<react_native_1.View style={bundleStyles.topTabWrap}>
|
|
835
809
|
<react_native_1.ScrollView horizontal showsHorizontalScrollIndicator={false} style={{ flex: 1 }} contentContainerStyle={bundleStyles.subTabsScroll}>
|
|
836
810
|
{subTabs.map(tab => {
|
|
@@ -854,11 +828,11 @@ const BundleTab = react_1.default.memo(() => {
|
|
|
854
828
|
</TouchableScale_1.default>
|
|
855
829
|
</react_native_1.View>
|
|
856
830
|
|
|
857
|
-
|
|
858
|
-
|
|
859
|
-
|
|
831
|
+
|
|
832
|
+
|
|
833
|
+
|
|
860
834
|
{activeSubTab === 'overview' && (<react_native_1.ScrollView style={{ flex: 1 }} contentContainerStyle={bundleStyles.contentContainer} keyboardShouldPersistTaps="handled">
|
|
861
|
-
|
|
835
|
+
|
|
862
836
|
<react_native_1.View style={bundleStyles.heroCard}>
|
|
863
837
|
<react_native_1.View style={bundleStyles.heroTopRow}>
|
|
864
838
|
<react_native_1.View style={bundleStyles.heroIconWrap}>
|
|
@@ -927,7 +901,7 @@ const BundleTab = react_1.default.memo(() => {
|
|
|
927
901
|
<CopyButton_1.default value={() => ({ ...summary, bundle: analysis })} label={t('bundle.bundleOverviewJson')}/>
|
|
928
902
|
</react_native_1.View>
|
|
929
903
|
|
|
930
|
-
|
|
904
|
+
|
|
931
905
|
<react_native_1.View style={bundleStyles.metricsGrid}>
|
|
932
906
|
<react_native_1.View style={bundleStyles.metricBox}>
|
|
933
907
|
<react_native_1.Text style={bundleStyles.metricLabel}>
|
|
@@ -1008,7 +982,7 @@ const BundleTab = react_1.default.memo(() => {
|
|
|
1008
982
|
</react_native_1.View>
|
|
1009
983
|
</react_native_1.View>
|
|
1010
984
|
|
|
1011
|
-
|
|
985
|
+
|
|
1012
986
|
{analysis && !analysis.isLive && (<react_native_1.View style={bundleStyles.liveWarningCard}>
|
|
1013
987
|
<react_native_1.View style={{
|
|
1014
988
|
flexDirection: 'row',
|
|
@@ -1050,7 +1024,7 @@ const BundleTab = react_1.default.memo(() => {
|
|
|
1050
1024
|
</react_native_1.View>
|
|
1051
1025
|
</react_native_1.View>)}
|
|
1052
1026
|
|
|
1053
|
-
|
|
1027
|
+
|
|
1054
1028
|
<react_native_1.View style={bundleStyles.sectionCard}>
|
|
1055
1029
|
<react_native_1.View style={bundleStyles.sectionHeaderRow}>
|
|
1056
1030
|
<react_native_1.View style={{ flex: 1, paddingRight: 4 }}>
|
|
@@ -1080,7 +1054,7 @@ const BundleTab = react_1.default.memo(() => {
|
|
|
1080
1054
|
})} label={t('bundle.treemapJson')}/>
|
|
1081
1055
|
</react_native_1.View>
|
|
1082
1056
|
|
|
1083
|
-
|
|
1057
|
+
|
|
1084
1058
|
<react_native_1.View style={bundleStyles.treemapBar}>
|
|
1085
1059
|
<react_native_1.View style={{
|
|
1086
1060
|
flex: summary.nodeModulesPct,
|
|
@@ -1104,7 +1078,7 @@ const BundleTab = react_1.default.memo(() => {
|
|
|
1104
1078
|
}}/>
|
|
1105
1079
|
</react_native_1.View>
|
|
1106
1080
|
|
|
1107
|
-
|
|
1081
|
+
|
|
1108
1082
|
<react_native_1.View style={bundleStyles.legendGrid}>
|
|
1109
1083
|
<react_native_1.View style={bundleStyles.legendItem}>
|
|
1110
1084
|
<BundleCategoryIcon type="javascript" size={13} color={AppColors_1.AppColors.indigo500}/>
|
|
@@ -1157,7 +1131,7 @@ const BundleTab = react_1.default.memo(() => {
|
|
|
1157
1131
|
</react_native_1.View>
|
|
1158
1132
|
</react_native_1.View>
|
|
1159
1133
|
|
|
1160
|
-
|
|
1134
|
+
|
|
1161
1135
|
<react_native_1.View style={bundleStyles.sectionCard}>
|
|
1162
1136
|
<react_native_1.View style={bundleStyles.sectionHeaderRow}>
|
|
1163
1137
|
<react_native_1.Text style={bundleStyles.sectionTitle}>
|
|
@@ -1221,7 +1195,7 @@ const BundleTab = react_1.default.memo(() => {
|
|
|
1221
1195
|
</react_native_1.View>
|
|
1222
1196
|
</react_native_1.View>
|
|
1223
1197
|
|
|
1224
|
-
|
|
1198
|
+
|
|
1225
1199
|
<react_native_1.View style={bundleStyles.catProgressTrack}>
|
|
1226
1200
|
<react_native_1.View style={[
|
|
1227
1201
|
bundleStyles.catProgressBar,
|
|
@@ -1230,7 +1204,7 @@ const BundleTab = react_1.default.memo(() => {
|
|
|
1230
1204
|
</react_native_1.View>
|
|
1231
1205
|
</react_native_1.Pressable>))}
|
|
1232
1206
|
|
|
1233
|
-
|
|
1207
|
+
|
|
1234
1208
|
<react_native_1.View style={bundleStyles.totalSummaryCard}>
|
|
1235
1209
|
<react_native_1.View style={bundleStyles.totalSummaryRow}>
|
|
1236
1210
|
<react_native_1.View style={bundleStyles.totalSummaryLabelWrap}>
|
|
@@ -1256,7 +1230,7 @@ const BundleTab = react_1.default.memo(() => {
|
|
|
1256
1230
|
</react_native_1.View>
|
|
1257
1231
|
</react_native_1.View>
|
|
1258
1232
|
|
|
1259
|
-
|
|
1233
|
+
|
|
1260
1234
|
<react_native_1.View style={bundleStyles.totalFormulaGrid}>
|
|
1261
1235
|
<react_native_1.View style={bundleStyles.totalChip}>
|
|
1262
1236
|
<react_native_1.View style={[
|
|
@@ -1301,7 +1275,7 @@ const BundleTab = react_1.default.memo(() => {
|
|
|
1301
1275
|
</react_native_1.View>
|
|
1302
1276
|
</react_native_1.View>
|
|
1303
1277
|
|
|
1304
|
-
|
|
1278
|
+
|
|
1305
1279
|
<react_native_1.View style={bundleStyles.sectionCard}>
|
|
1306
1280
|
<react_native_1.View style={bundleStyles.sectionHeaderRow}>
|
|
1307
1281
|
<react_native_1.View style={{ flex: 1, paddingRight: 4 }}>
|
|
@@ -1327,7 +1301,7 @@ const BundleTab = react_1.default.memo(() => {
|
|
|
1327
1301
|
})} label="Subsystem Split JSON"/>
|
|
1328
1302
|
</react_native_1.View>
|
|
1329
1303
|
|
|
1330
|
-
|
|
1304
|
+
|
|
1331
1305
|
<react_native_1.View style={bundleStyles.subsystemCard}>
|
|
1332
1306
|
<react_native_1.View style={bundleStyles.subsystemHeader}>
|
|
1333
1307
|
<react_native_1.View style={{ flexDirection: 'row', alignItems: 'center', gap: 6 }}>
|
|
@@ -1382,7 +1356,7 @@ const BundleTab = react_1.default.memo(() => {
|
|
|
1382
1356
|
</react_native_1.View>
|
|
1383
1357
|
</react_native_1.View>
|
|
1384
1358
|
|
|
1385
|
-
|
|
1359
|
+
|
|
1386
1360
|
<react_native_1.View style={bundleStyles.subsystemCard}>
|
|
1387
1361
|
<react_native_1.View style={bundleStyles.subsystemHeader}>
|
|
1388
1362
|
<react_native_1.View style={{ flexDirection: 'row', alignItems: 'center', gap: 6 }}>
|
|
@@ -1436,7 +1410,7 @@ const BundleTab = react_1.default.memo(() => {
|
|
|
1436
1410
|
</react_native_1.View>
|
|
1437
1411
|
</react_native_1.View>
|
|
1438
1412
|
|
|
1439
|
-
|
|
1413
|
+
|
|
1440
1414
|
<react_native_1.View style={bundleStyles.subsystemCard}>
|
|
1441
1415
|
<react_native_1.View style={bundleStyles.subsystemHeader}>
|
|
1442
1416
|
<react_native_1.View style={{ flexDirection: 'row', alignItems: 'center', gap: 6 }}>
|
|
@@ -1485,7 +1459,7 @@ const BundleTab = react_1.default.memo(() => {
|
|
|
1485
1459
|
</react_native_1.View>
|
|
1486
1460
|
</react_native_1.View>
|
|
1487
1461
|
|
|
1488
|
-
|
|
1462
|
+
|
|
1489
1463
|
<react_native_1.View style={bundleStyles.subsystemCard}>
|
|
1490
1464
|
<react_native_1.View style={bundleStyles.subsystemHeader}>
|
|
1491
1465
|
<react_native_1.View style={{ flexDirection: 'row', alignItems: 'center', gap: 6 }}>
|
|
@@ -1542,11 +1516,11 @@ const BundleTab = react_1.default.memo(() => {
|
|
|
1542
1516
|
</react_native_1.View>
|
|
1543
1517
|
</react_native_1.ScrollView>)}
|
|
1544
1518
|
|
|
1545
|
-
|
|
1546
|
-
|
|
1547
|
-
|
|
1519
|
+
|
|
1520
|
+
|
|
1521
|
+
|
|
1548
1522
|
{activeSubTab === 'production' && (<react_native_1.ScrollView style={{ flex: 1 }} contentContainerStyle={bundleStyles.contentContainer} keyboardShouldPersistTaps="handled">
|
|
1549
|
-
|
|
1523
|
+
|
|
1550
1524
|
<react_native_1.ScrollView horizontal showsHorizontalScrollIndicator={false} contentContainerStyle={bundleStyles.prodPlatformScroll}>
|
|
1551
1525
|
{[
|
|
1552
1526
|
{
|
|
@@ -1591,7 +1565,7 @@ const BundleTab = react_1.default.memo(() => {
|
|
|
1591
1565
|
})}
|
|
1592
1566
|
</react_native_1.ScrollView>
|
|
1593
1567
|
|
|
1594
|
-
|
|
1568
|
+
|
|
1595
1569
|
{analysis && (<react_native_1.View style={bundleStyles.heroCard}>
|
|
1596
1570
|
<react_native_1.View style={bundleStyles.heroTopRow}>
|
|
1597
1571
|
<react_native_1.View style={bundleStyles.heroIconWrap}>
|
|
@@ -1616,7 +1590,7 @@ const BundleTab = react_1.default.memo(() => {
|
|
|
1616
1590
|
<CopyButton_1.default value={() => analysis.production[prodPlatform]} label="Production Binary JSON"/>
|
|
1617
1591
|
</react_native_1.View>
|
|
1618
1592
|
|
|
1619
|
-
|
|
1593
|
+
|
|
1620
1594
|
<react_native_1.View style={bundleStyles.metricsGrid}>
|
|
1621
1595
|
<react_native_1.View style={bundleStyles.metricBox}>
|
|
1622
1596
|
<react_native_1.Text style={bundleStyles.metricLabel}>INSTALL SIZE</react_native_1.Text>
|
|
@@ -1682,7 +1656,7 @@ const BundleTab = react_1.default.memo(() => {
|
|
|
1682
1656
|
</react_native_1.View>
|
|
1683
1657
|
</react_native_1.View>)}
|
|
1684
1658
|
|
|
1685
|
-
|
|
1659
|
+
|
|
1686
1660
|
{analysis && (<react_native_1.View style={bundleStyles.sectionCard}>
|
|
1687
1661
|
<react_native_1.View style={bundleStyles.sectionHeaderRow}>
|
|
1688
1662
|
<react_native_1.View style={{ flex: 1, paddingRight: 4 }}>
|
|
@@ -1697,7 +1671,7 @@ const BundleTab = react_1.default.memo(() => {
|
|
|
1697
1671
|
<CopyButton_1.default value={() => analysis.production[prodPlatform].components} label="Components JSON"/>
|
|
1698
1672
|
</react_native_1.View>
|
|
1699
1673
|
|
|
1700
|
-
|
|
1674
|
+
|
|
1701
1675
|
<react_native_1.View style={bundleStyles.prodTreemapBar}>
|
|
1702
1676
|
{analysis.production[prodPlatform].components.map((comp, cIdx) => (<react_native_1.View key={cIdx} style={{
|
|
1703
1677
|
flex: Math.max(comp.pct, 2),
|
|
@@ -1706,7 +1680,7 @@ const BundleTab = react_1.default.memo(() => {
|
|
|
1706
1680
|
}}/>))}
|
|
1707
1681
|
</react_native_1.View>
|
|
1708
1682
|
|
|
1709
|
-
|
|
1683
|
+
|
|
1710
1684
|
<react_native_1.View style={[bundleStyles.legendGrid, { marginBottom: 12 }]}>
|
|
1711
1685
|
{analysis.production[prodPlatform].components.map((comp, cIdx) => (<react_native_1.View key={cIdx} style={bundleStyles.legendItem}>
|
|
1712
1686
|
<react_native_1.View style={{
|
|
@@ -1804,7 +1778,7 @@ const BundleTab = react_1.default.memo(() => {
|
|
|
1804
1778
|
</react_native_1.View>) : null}
|
|
1805
1779
|
</react_native_1.View>))}
|
|
1806
1780
|
|
|
1807
|
-
|
|
1781
|
+
|
|
1808
1782
|
<react_native_1.View style={bundleStyles.totalSummaryCard}>
|
|
1809
1783
|
<react_native_1.View style={bundleStyles.totalSummaryRow}>
|
|
1810
1784
|
<react_native_1.View style={bundleStyles.totalSummaryLabelWrap}>
|
|
@@ -1830,7 +1804,7 @@ const BundleTab = react_1.default.memo(() => {
|
|
|
1830
1804
|
</react_native_1.View>
|
|
1831
1805
|
</react_native_1.View>
|
|
1832
1806
|
|
|
1833
|
-
|
|
1807
|
+
|
|
1834
1808
|
<react_native_1.View style={bundleStyles.totalFormulaGrid}>
|
|
1835
1809
|
<react_native_1.View style={bundleStyles.totalChip}>
|
|
1836
1810
|
<react_native_1.View style={[
|
|
@@ -1867,11 +1841,11 @@ const BundleTab = react_1.default.memo(() => {
|
|
|
1867
1841
|
</react_native_1.View>)}
|
|
1868
1842
|
</react_native_1.ScrollView>)}
|
|
1869
1843
|
|
|
1870
|
-
|
|
1871
|
-
|
|
1872
|
-
|
|
1844
|
+
|
|
1845
|
+
|
|
1846
|
+
|
|
1873
1847
|
{activeSubTab === 'files' && (<react_native_1.View style={{ flex: 1 }}>
|
|
1874
|
-
|
|
1848
|
+
|
|
1875
1849
|
<react_native_1.View style={bundleStyles.filterContainer}>
|
|
1876
1850
|
<react_native_1.View style={bundleStyles.searchRow}>
|
|
1877
1851
|
<NetworkIcons_1.SearchIcon color={AppColors_1.AppColors.grayTextWeak} size={15}/>
|
|
@@ -1882,7 +1856,7 @@ const BundleTab = react_1.default.memo(() => {
|
|
|
1882
1856
|
<CopyButton_1.default value={() => filteredFiles} label={t('bundle.filteredFilesJson')}/>
|
|
1883
1857
|
</react_native_1.View>
|
|
1884
1858
|
|
|
1885
|
-
|
|
1859
|
+
|
|
1886
1860
|
<react_native_1.ScrollView horizontal showsHorizontalScrollIndicator={false} contentContainerStyle={bundleStyles.categoryPillsScroll}>
|
|
1887
1861
|
{CATEGORY_TABS.map(tab => {
|
|
1888
1862
|
const isActive = activeCategory === tab.key;
|
|
@@ -1919,9 +1893,9 @@ const BundleTab = react_1.default.memo(() => {
|
|
|
1919
1893
|
</react_native_1.ScrollView>
|
|
1920
1894
|
</react_native_1.View>
|
|
1921
1895
|
|
|
1922
|
-
|
|
1896
|
+
|
|
1923
1897
|
<react_native_1.ScrollView style={{ flex: 1 }} contentContainerStyle={bundleStyles.contentContainer} keyboardShouldPersistTaps="handled">
|
|
1924
|
-
|
|
1898
|
+
|
|
1925
1899
|
<react_native_1.View style={bundleStyles.treeHeaderRow}>
|
|
1926
1900
|
<react_native_1.View style={bundleStyles.viewModeToggleGroup}>
|
|
1927
1901
|
<TouchableScale_1.default accessible={true} accessibilityRole="button" accessibilityLabel="Tree folder view" accessibilityState={{ selected: filesViewMode === 'tree' }} onPress={() => setFilesViewMode('tree')} style={[
|
|
@@ -1972,12 +1946,10 @@ const BundleTab = react_1.default.memo(() => {
|
|
|
1972
1946
|
</react_native_1.Text>)}
|
|
1973
1947
|
</react_native_1.View>
|
|
1974
1948
|
|
|
1975
|
-
|
|
1949
|
+
|
|
1976
1950
|
{filesViewMode === 'tree' ? (<react_native_1.View style={bundleStyles.treeRootCard}>
|
|
1977
1951
|
{fileTreeNodes.map((node, nIdx) => (<BundleTreeNodeView key={node.id} node={node} level={0} search={search} totalBundleKb={summary.totalKb} expandedFolders={expandedFolders} toggleFolder={toggleFolder} isLastChild={nIdx === fileTreeNodes.length - 1} onDownload={f => (0, exports.downloadBundleFile)(f, analysis?.scriptURL)}/>))}
|
|
1978
|
-
</react_native_1.View>) : (
|
|
1979
|
-
/* ── MODE 2: FLAT LIST VIEW ── */
|
|
1980
|
-
filteredFiles.map((file, index) => {
|
|
1952
|
+
</react_native_1.View>) : (filteredFiles.map((file, index) => {
|
|
1981
1953
|
const categoryMeta = CATEGORY_COLORS[file.category] || CATEGORY_COLORS.typescript;
|
|
1982
1954
|
const pctOfTotal = ((file.sizeKb / summary.totalKb) *
|
|
1983
1955
|
100).toFixed(1);
|
|
@@ -2082,7 +2054,7 @@ const BundleTab = react_1.default.memo(() => {
|
|
|
2082
2054
|
}))}
|
|
2083
2055
|
</react_native_1.ScrollView>
|
|
2084
2056
|
|
|
2085
|
-
|
|
2057
|
+
|
|
2086
2058
|
<react_native_1.View style={bundleStyles.stickyFooterBar}>
|
|
2087
2059
|
<react_native_1.View style={{ flexDirection: 'row', alignItems: 'center', gap: 6 }}>
|
|
2088
2060
|
<NetworkIcons_1.LayersIcon color={AppColors_1.AppColors.purple} size={14}/>
|
|
@@ -2102,9 +2074,9 @@ const BundleTab = react_1.default.memo(() => {
|
|
|
2102
2074
|
</react_native_1.View>
|
|
2103
2075
|
</react_native_1.View>)}
|
|
2104
2076
|
|
|
2105
|
-
|
|
2106
|
-
|
|
2107
|
-
|
|
2077
|
+
|
|
2078
|
+
|
|
2079
|
+
|
|
2108
2080
|
{activeSubTab === 'packages' && (<react_native_1.View style={{ flex: 1 }}>
|
|
2109
2081
|
<react_native_1.ScrollView style={{ flex: 1 }} contentContainerStyle={bundleStyles.contentContainer} keyboardShouldPersistTaps="handled">
|
|
2110
2082
|
<react_native_1.View style={bundleStyles.filterContainer}>
|
|
@@ -2138,7 +2110,7 @@ const BundleTab = react_1.default.memo(() => {
|
|
|
2138
2110
|
backgroundColor: AppColors_1.AppColors.errorCardBg,
|
|
2139
2111
|
},
|
|
2140
2112
|
]}>
|
|
2141
|
-
|
|
2113
|
+
|
|
2142
2114
|
<react_native_1.View style={bundleStyles.fileCardTop}>
|
|
2143
2115
|
<react_native_1.View style={bundleStyles.sNoBadge}>
|
|
2144
2116
|
<react_native_1.Text style={bundleStyles.sNoText}>#{index + 1}</react_native_1.Text>
|
|
@@ -2221,7 +2193,7 @@ const BundleTab = react_1.default.memo(() => {
|
|
|
2221
2193
|
</react_native_1.View>
|
|
2222
2194
|
</react_native_1.View>
|
|
2223
2195
|
|
|
2224
|
-
|
|
2196
|
+
|
|
2225
2197
|
<react_native_1.View style={{
|
|
2226
2198
|
flexDirection: 'row',
|
|
2227
2199
|
alignItems: 'center',
|
|
@@ -2245,7 +2217,7 @@ const BundleTab = react_1.default.memo(() => {
|
|
|
2245
2217
|
</react_native_1.Text>
|
|
2246
2218
|
</react_native_1.View>
|
|
2247
2219
|
|
|
2248
|
-
|
|
2220
|
+
|
|
2249
2221
|
{pkg.isDeprecated && pkg.deprecationReason && (<react_native_1.View style={bundleStyles.deprecationBox}>
|
|
2250
2222
|
<react_native_1.View style={{
|
|
2251
2223
|
flexDirection: 'row',
|
|
@@ -2271,7 +2243,7 @@ const BundleTab = react_1.default.memo(() => {
|
|
|
2271
2243
|
]}/>
|
|
2272
2244
|
</react_native_1.View>
|
|
2273
2245
|
|
|
2274
|
-
|
|
2246
|
+
|
|
2275
2247
|
<react_native_1.View style={{
|
|
2276
2248
|
flexDirection: 'row',
|
|
2277
2249
|
justifyContent: 'space-between',
|
|
@@ -2325,7 +2297,7 @@ const BundleTab = react_1.default.memo(() => {
|
|
|
2325
2297
|
})}
|
|
2326
2298
|
</react_native_1.ScrollView>
|
|
2327
2299
|
|
|
2328
|
-
|
|
2300
|
+
|
|
2329
2301
|
<react_native_1.View style={bundleStyles.stickyFooterBar}>
|
|
2330
2302
|
<react_native_1.View style={{ flexDirection: 'row', alignItems: 'center', gap: 6 }}>
|
|
2331
2303
|
<NetworkIcons_1.PackageIcon color={AppColors_1.AppColors.purple} size={14}/>
|
|
@@ -2344,9 +2316,9 @@ const BundleTab = react_1.default.memo(() => {
|
|
|
2344
2316
|
</react_native_1.View>
|
|
2345
2317
|
</react_native_1.View>)}
|
|
2346
2318
|
|
|
2347
|
-
|
|
2348
|
-
|
|
2349
|
-
|
|
2319
|
+
|
|
2320
|
+
|
|
2321
|
+
|
|
2350
2322
|
{activeSubTab === 'media' && (<react_native_1.View style={{ flex: 1 }}>
|
|
2351
2323
|
<react_native_1.ScrollView style={{ flex: 1 }} contentContainerStyle={bundleStyles.contentContainer} keyboardShouldPersistTaps="handled">
|
|
2352
2324
|
<react_native_1.View style={bundleStyles.tipsCard}>
|
|
@@ -2443,7 +2415,7 @@ const BundleTab = react_1.default.memo(() => {
|
|
|
2443
2415
|
</react_native_1.View>))}
|
|
2444
2416
|
</react_native_1.ScrollView>
|
|
2445
2417
|
|
|
2446
|
-
|
|
2418
|
+
|
|
2447
2419
|
<react_native_1.View style={bundleStyles.stickyFooterBar}>
|
|
2448
2420
|
<react_native_1.View style={{ flexDirection: 'row', alignItems: 'center', gap: 6 }}>
|
|
2449
2421
|
<NetworkIcons_1.StorageIcon color={AppColors_1.AppColors.purple} size={14}/>
|
|
@@ -2460,9 +2432,9 @@ const BundleTab = react_1.default.memo(() => {
|
|
|
2460
2432
|
</react_native_1.View>
|
|
2461
2433
|
</react_native_1.View>)}
|
|
2462
2434
|
|
|
2463
|
-
|
|
2464
|
-
|
|
2465
|
-
|
|
2435
|
+
|
|
2436
|
+
|
|
2437
|
+
|
|
2466
2438
|
{activeSubTab === 'optimizer' && (<react_native_1.ScrollView style={{ flex: 1 }} contentContainerStyle={bundleStyles.contentContainer} keyboardShouldPersistTaps="handled">
|
|
2467
2439
|
<react_native_1.View style={bundleStyles.tipsCard}>
|
|
2468
2440
|
<react_native_1.View style={{
|
|
@@ -163,7 +163,7 @@ const ConsoleTab = react_1.default.memo(() => {
|
|
|
163
163
|
</react_native_1.View>
|
|
164
164
|
</react_native_1.View>
|
|
165
165
|
|
|
166
|
-
|
|
166
|
+
|
|
167
167
|
{(isSearchFocused || logSearch.length > 0) && (<react_native_1.ScrollView horizontal showsHorizontalScrollIndicator={false} style={{ marginBottom: 6, maxHeight: 30 }} contentContainerStyle={{
|
|
168
168
|
paddingHorizontal: 16,
|
|
169
169
|
flexDirection: 'row',
|
|
@@ -213,7 +213,7 @@ const ConsoleTab = react_1.default.memo(() => {
|
|
|
213
213
|
alignItems: 'center',
|
|
214
214
|
gap: 8,
|
|
215
215
|
}}>
|
|
216
|
-
|
|
216
|
+
|
|
217
217
|
{(() => {
|
|
218
218
|
const active = logFilters.has('all');
|
|
219
219
|
return (<TouchableScale_1.default onPress={() => {
|
|
@@ -256,7 +256,7 @@ const ConsoleTab = react_1.default.memo(() => {
|
|
|
256
256
|
</TouchableScale_1.default>);
|
|
257
257
|
})()}
|
|
258
258
|
|
|
259
|
-
|
|
259
|
+
|
|
260
260
|
{(() => {
|
|
261
261
|
const active = logFilters.has('user-log');
|
|
262
262
|
return (<TouchableScale_1.default onPress={() => {
|
|
@@ -308,7 +308,7 @@ const ConsoleTab = react_1.default.memo(() => {
|
|
|
308
308
|
</TouchableScale_1.default>);
|
|
309
309
|
})()}
|
|
310
310
|
|
|
311
|
-
|
|
311
|
+
|
|
312
312
|
{(() => {
|
|
313
313
|
const active = logFilters.has('info');
|
|
314
314
|
return (<TouchableScale_1.default onPress={() => {
|
|
@@ -360,7 +360,7 @@ const ConsoleTab = react_1.default.memo(() => {
|
|
|
360
360
|
</TouchableScale_1.default>);
|
|
361
361
|
})()}
|
|
362
362
|
|
|
363
|
-
|
|
363
|
+
|
|
364
364
|
{(() => {
|
|
365
365
|
const active = logFilters.has('warn');
|
|
366
366
|
return (<TouchableScale_1.default onPress={() => {
|
|
@@ -412,7 +412,7 @@ const ConsoleTab = react_1.default.memo(() => {
|
|
|
412
412
|
</TouchableScale_1.default>);
|
|
413
413
|
})()}
|
|
414
414
|
|
|
415
|
-
|
|
415
|
+
|
|
416
416
|
{(() => {
|
|
417
417
|
const active = logFilters.has('error');
|
|
418
418
|
return (<TouchableScale_1.default onPress={() => {
|
|
@@ -464,7 +464,7 @@ const ConsoleTab = react_1.default.memo(() => {
|
|
|
464
464
|
</TouchableScale_1.default>);
|
|
465
465
|
})()}
|
|
466
466
|
|
|
467
|
-
|
|
467
|
+
|
|
468
468
|
{(() => {
|
|
469
469
|
const active = logFilters.has('analytics');
|
|
470
470
|
return (<TouchableScale_1.default onPress={() => {
|