react-native-inapp-inspector 2.3.5 → 2.3.6
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 +7 -0
- package/dist/commonjs/constants/telemetryConfig.js +10 -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 +302 -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 +7 -0
- package/dist/esm/constants/telemetryConfig.js +7 -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 +298 -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 +16 -0
- package/src/constants/version.ts +1 -1
- package/src/helpers/telemetry.ts +341 -0
- package/src/index.tsx +15 -1
- package/src/types/interfaces.ts +3 -0
|
@@ -21,14 +21,12 @@ const AnalyticsHeader = React.memo(() => {
|
|
|
21
21
|
const userProperties = getCurrentUserProperties();
|
|
22
22
|
const defaultParams = getDefaultEventParameters();
|
|
23
23
|
const isTrackingEnabled = getCollectionEnabled();
|
|
24
|
-
// If there are no analytics events in the session, hide the graph, category breakdown, and realtime card
|
|
25
24
|
if (analyticsEvents.length === 0) {
|
|
26
25
|
return null;
|
|
27
26
|
}
|
|
28
27
|
const hasUserProps = Object.keys(userProperties).length > 0;
|
|
29
28
|
const hasDefaultParams = Object.keys(defaultParams).length > 0;
|
|
30
29
|
const totalEvents = filteredAnalyticsEvents.length;
|
|
31
|
-
// Category counts & breakdown across all session events
|
|
32
30
|
const categoryStats = useMemo(() => {
|
|
33
31
|
let ecommerce = 0;
|
|
34
32
|
let page_view = 0;
|
|
@@ -69,7 +67,6 @@ const AnalyticsHeader = React.memo(() => {
|
|
|
69
67
|
totalCount: total,
|
|
70
68
|
};
|
|
71
69
|
}, [analyticsEvents]);
|
|
72
|
-
// Top Screen Views Leaderboard (GA4 Realtime Card)
|
|
73
70
|
const topScreens = useMemo(() => {
|
|
74
71
|
const screenMap = new Map();
|
|
75
72
|
for (const e of filteredAnalyticsEvents) {
|
|
@@ -91,7 +88,6 @@ const AnalyticsHeader = React.memo(() => {
|
|
|
91
88
|
barWidthPct: Math.round((count / maxVal) * 100),
|
|
92
89
|
}));
|
|
93
90
|
}, [filteredAnalyticsEvents]);
|
|
94
|
-
// Multi-select category toggle from top button group
|
|
95
91
|
const toggleCategoryFilter = (cat) => {
|
|
96
92
|
animateNextLayout();
|
|
97
93
|
setAnalyticsFilters(prev => {
|
|
@@ -123,7 +119,6 @@ const AnalyticsHeader = React.memo(() => {
|
|
|
123
119
|
return { ...prev, categories: nextCategories };
|
|
124
120
|
});
|
|
125
121
|
};
|
|
126
|
-
// 12-Bucket GA4 Realtime Stacked Histogram & Spline Wave Graph (60s live rolling stream)
|
|
127
122
|
const BUCKET_COUNT = 12;
|
|
128
123
|
const chartHeight = 64;
|
|
129
124
|
const svgWidth = 320;
|
|
@@ -140,8 +135,8 @@ const AnalyticsHeader = React.memo(() => {
|
|
|
140
135
|
const histogramData = useMemo(() => {
|
|
141
136
|
const buckets = [];
|
|
142
137
|
const now = Date.now();
|
|
143
|
-
const windowMs = 60000;
|
|
144
|
-
const bucketDuration = windowMs / BUCKET_COUNT;
|
|
138
|
+
const windowMs = 60000;
|
|
139
|
+
const bucketDuration = windowMs / BUCKET_COUNT;
|
|
145
140
|
for (let i = 0; i < BUCKET_COUNT; i++) {
|
|
146
141
|
const bucketAgeSec = Math.round(((BUCKET_COUNT - 1 - i) * bucketDuration) / 1000);
|
|
147
142
|
buckets.push({
|
|
@@ -181,7 +176,6 @@ const AnalyticsHeader = React.memo(() => {
|
|
|
181
176
|
const normalizedH = (b.total / maxVal) * (chartHeight - 22);
|
|
182
177
|
b.y = chartHeight - 10 - normalizedH;
|
|
183
178
|
});
|
|
184
|
-
// Generate Cubic Bézier Spline paths
|
|
185
179
|
let linePath = `M ${buckets[0].x.toFixed(1)} ${buckets[0].y.toFixed(1)}`;
|
|
186
180
|
for (let i = 0; i < buckets.length - 1; i++) {
|
|
187
181
|
const p0 = buckets[Math.max(0, i - 1)];
|
|
@@ -209,7 +203,7 @@ const AnalyticsHeader = React.memo(() => {
|
|
|
209
203
|
}, [filteredAnalyticsEvents, chartHeight, svgWidth, liveTick, t]);
|
|
210
204
|
const selectedBucket = selectedBucketIdx != null ? histogramData.buckets[selectedBucketIdx] : null;
|
|
211
205
|
return (<View style={styles.analyticsHeaderCard}>
|
|
212
|
-
|
|
206
|
+
|
|
213
207
|
<View style={styles.analyticsHeaderTop}>
|
|
214
208
|
<View style={{ flex: 1 }}>
|
|
215
209
|
<View style={{ flexDirection: 'row', alignItems: 'center', gap: 6 }}>
|
|
@@ -249,9 +243,9 @@ const AnalyticsHeader = React.memo(() => {
|
|
|
249
243
|
</TouchableOpacity>
|
|
250
244
|
</View>
|
|
251
245
|
|
|
252
|
-
|
|
246
|
+
|
|
253
247
|
<View style={{ marginTop: 10, marginBottom: 8 }}>
|
|
254
|
-
|
|
248
|
+
|
|
255
249
|
<View style={{
|
|
256
250
|
height: 4.5,
|
|
257
251
|
borderRadius: 2.5,
|
|
@@ -278,13 +272,13 @@ const AnalyticsHeader = React.memo(() => {
|
|
|
278
272
|
}}/>)}
|
|
279
273
|
</View>
|
|
280
274
|
|
|
281
|
-
|
|
275
|
+
|
|
282
276
|
<View style={{
|
|
283
277
|
flexDirection: 'row',
|
|
284
278
|
flexWrap: 'wrap',
|
|
285
279
|
gap: 6,
|
|
286
280
|
}}>
|
|
287
|
-
|
|
281
|
+
|
|
288
282
|
{(() => {
|
|
289
283
|
const isAllSelected = analyticsFilters.categories.has('all');
|
|
290
284
|
return (<TouchableScale onPress={() => toggleCategoryFilter('all')} style={[
|
|
@@ -318,7 +312,7 @@ const AnalyticsHeader = React.memo(() => {
|
|
|
318
312
|
</TouchableScale>);
|
|
319
313
|
})()}
|
|
320
314
|
|
|
321
|
-
|
|
315
|
+
|
|
322
316
|
{(() => {
|
|
323
317
|
const isSelected = !analyticsFilters.categories.has('all') &&
|
|
324
318
|
analyticsFilters.categories.has('ecommerce');
|
|
@@ -353,7 +347,7 @@ const AnalyticsHeader = React.memo(() => {
|
|
|
353
347
|
</TouchableScale>);
|
|
354
348
|
})()}
|
|
355
349
|
|
|
356
|
-
|
|
350
|
+
|
|
357
351
|
{(() => {
|
|
358
352
|
const isSelected = !analyticsFilters.categories.has('all') &&
|
|
359
353
|
analyticsFilters.categories.has('page_view');
|
|
@@ -388,7 +382,7 @@ const AnalyticsHeader = React.memo(() => {
|
|
|
388
382
|
</TouchableScale>);
|
|
389
383
|
})()}
|
|
390
384
|
|
|
391
|
-
|
|
385
|
+
|
|
392
386
|
{(() => {
|
|
393
387
|
const isSelected = !analyticsFilters.categories.has('all') &&
|
|
394
388
|
analyticsFilters.categories.has('system');
|
|
@@ -423,7 +417,7 @@ const AnalyticsHeader = React.memo(() => {
|
|
|
423
417
|
</TouchableScale>);
|
|
424
418
|
})()}
|
|
425
419
|
|
|
426
|
-
|
|
420
|
+
|
|
427
421
|
{(() => {
|
|
428
422
|
const isSelected = !analyticsFilters.categories.has('all') &&
|
|
429
423
|
analyticsFilters.categories.has('custom');
|
|
@@ -460,7 +454,7 @@ const AnalyticsHeader = React.memo(() => {
|
|
|
460
454
|
</View>
|
|
461
455
|
</View>
|
|
462
456
|
|
|
463
|
-
|
|
457
|
+
|
|
464
458
|
<View style={{
|
|
465
459
|
marginTop: 2,
|
|
466
460
|
marginBottom: 8,
|
|
@@ -470,7 +464,7 @@ const AnalyticsHeader = React.memo(() => {
|
|
|
470
464
|
borderColor: AppColors.dividerColor,
|
|
471
465
|
padding: 10,
|
|
472
466
|
}}>
|
|
473
|
-
|
|
467
|
+
|
|
474
468
|
<View style={{
|
|
475
469
|
flexDirection: 'row',
|
|
476
470
|
justifyContent: 'space-between',
|
|
@@ -497,7 +491,7 @@ const AnalyticsHeader = React.memo(() => {
|
|
|
497
491
|
</View>
|
|
498
492
|
</View>
|
|
499
493
|
|
|
500
|
-
|
|
494
|
+
|
|
501
495
|
<View style={{ flexDirection: 'row', alignItems: 'center', gap: 5 }}>
|
|
502
496
|
<View style={{
|
|
503
497
|
flexDirection: 'row',
|
|
@@ -542,7 +536,7 @@ const AnalyticsHeader = React.memo(() => {
|
|
|
542
536
|
</View>
|
|
543
537
|
</View>
|
|
544
538
|
|
|
545
|
-
|
|
539
|
+
|
|
546
540
|
<View style={{ height: chartHeight, position: 'relative', overflow: 'hidden', borderRadius: 8 }}>
|
|
547
541
|
<Svg width="100%" height={chartHeight} viewBox={`0 0 ${svgWidth} ${chartHeight}`} preserveAspectRatio="none">
|
|
548
542
|
<Defs>
|
|
@@ -557,14 +551,14 @@ const AnalyticsHeader = React.memo(() => {
|
|
|
557
551
|
</SvgLinearGradient>
|
|
558
552
|
</Defs>
|
|
559
553
|
|
|
560
|
-
|
|
554
|
+
|
|
561
555
|
<Line x1="6" y1={chartHeight - 6} x2={svgWidth - 6} y2={chartHeight - 6} stroke="#E2E8F0" strokeWidth="1"/>
|
|
562
556
|
<Line x1="6" y1={chartHeight / 2} x2={svgWidth - 6} y2={chartHeight / 2} stroke="#F1F5F9" strokeWidth="1" strokeDasharray="4,4"/>
|
|
563
557
|
|
|
564
|
-
|
|
558
|
+
|
|
565
559
|
<Path d={histogramData.areaPath} fill="url(#crashlyticsAreaGrad)"/>
|
|
566
560
|
|
|
567
|
-
|
|
561
|
+
|
|
568
562
|
{histogramData.buckets.map((b, idx) => {
|
|
569
563
|
const isSelected = selectedBucketIdx === idx;
|
|
570
564
|
const barWidth = 10;
|
|
@@ -572,28 +566,28 @@ const AnalyticsHeader = React.memo(() => {
|
|
|
572
566
|
const barHeight = Math.max(3, chartHeight - 8 - b.y);
|
|
573
567
|
const barY = chartHeight - 8 - barHeight;
|
|
574
568
|
return (<G key={`bar-${b.index}`}>
|
|
575
|
-
|
|
569
|
+
|
|
576
570
|
<Rect x={barX} y={6} width={barWidth} height={chartHeight - 14} rx={3} fill={isSelected ? '#EDE9FE' : '#F8FAFC'}/>
|
|
577
571
|
|
|
578
|
-
|
|
572
|
+
|
|
579
573
|
{b.total > 0 && (<Rect x={barX} y={barY} width={barWidth} height={barHeight} rx={3} fill="url(#crashlyticsBarGrad)"/>)}
|
|
580
574
|
|
|
581
|
-
|
|
575
|
+
|
|
582
576
|
{isSelected && (<Line x1={b.x} y1={4} x2={b.x} y2={chartHeight - 6} stroke="#8B5CF6" strokeWidth="1.5" strokeDasharray="2,2"/>)}
|
|
583
577
|
</G>);
|
|
584
578
|
})}
|
|
585
579
|
|
|
586
|
-
|
|
580
|
+
|
|
587
581
|
<Path d={histogramData.linePath} fill="none" stroke="#8B5CF6" strokeWidth="2" strokeLinecap="round" strokeLinejoin="round"/>
|
|
588
582
|
|
|
589
|
-
|
|
583
|
+
|
|
590
584
|
{histogramData.buckets.length > 0 && (<G>
|
|
591
585
|
<Circle cx={histogramData.buckets[histogramData.buckets.length - 1].x} cy={histogramData.buckets[histogramData.buckets.length - 1].y} r="5.5" fill="#8B5CF6" opacity="0.25"/>
|
|
592
586
|
<Circle cx={histogramData.buckets[histogramData.buckets.length - 1].x} cy={histogramData.buckets[histogramData.buckets.length - 1].y} r="3" fill="#7C3AED"/>
|
|
593
587
|
</G>)}
|
|
594
588
|
</Svg>
|
|
595
589
|
|
|
596
|
-
|
|
590
|
+
|
|
597
591
|
<View style={{
|
|
598
592
|
position: 'absolute',
|
|
599
593
|
top: 0,
|
|
@@ -606,7 +600,7 @@ const AnalyticsHeader = React.memo(() => {
|
|
|
606
600
|
</View>
|
|
607
601
|
</View>
|
|
608
602
|
|
|
609
|
-
|
|
603
|
+
|
|
610
604
|
{selectedBucket && (<View style={{
|
|
611
605
|
flexDirection: 'row',
|
|
612
606
|
alignItems: 'center',
|
|
@@ -642,7 +636,7 @@ const AnalyticsHeader = React.memo(() => {
|
|
|
642
636
|
</View>
|
|
643
637
|
</View>)}
|
|
644
638
|
|
|
645
|
-
|
|
639
|
+
|
|
646
640
|
<View style={{
|
|
647
641
|
flexDirection: 'row',
|
|
648
642
|
justifyContent: 'space-between',
|
|
@@ -680,7 +674,7 @@ const AnalyticsHeader = React.memo(() => {
|
|
|
680
674
|
</View>
|
|
681
675
|
</View>
|
|
682
676
|
|
|
683
|
-
|
|
677
|
+
|
|
684
678
|
{topScreens.length > 0 && (<View style={{
|
|
685
679
|
marginTop: 8,
|
|
686
680
|
backgroundColor: `${AppColors.sky500}0A`,
|
|
@@ -738,7 +732,7 @@ const AnalyticsHeader = React.memo(() => {
|
|
|
738
732
|
{scr.count} ({scr.pct}%)
|
|
739
733
|
</Text>
|
|
740
734
|
</View>
|
|
741
|
-
|
|
735
|
+
|
|
742
736
|
<View style={{
|
|
743
737
|
height: 3,
|
|
744
738
|
borderRadius: 1.5,
|
|
@@ -755,9 +749,9 @@ const AnalyticsHeader = React.memo(() => {
|
|
|
755
749
|
</View>
|
|
756
750
|
</View>)}
|
|
757
751
|
|
|
758
|
-
|
|
752
|
+
|
|
759
753
|
{analyticsHeaderExpanded && (<>
|
|
760
|
-
|
|
754
|
+
|
|
761
755
|
<View style={styles.analyticsStatsRow}>
|
|
762
756
|
<View style={styles.analyticsStatBox}>
|
|
763
757
|
<Text style={styles.analyticsStatValue}>{totalEvents}</Text>
|
|
@@ -777,7 +771,7 @@ const AnalyticsHeader = React.memo(() => {
|
|
|
777
771
|
</View>
|
|
778
772
|
</View>
|
|
779
773
|
|
|
780
|
-
|
|
774
|
+
|
|
781
775
|
{(hasUserProps || hasDefaultParams) && (<View style={styles.analyticsHeaderDetails}>
|
|
782
776
|
{hasUserProps && (<View style={{ marginBottom: 10 }}>
|
|
783
777
|
<Text style={styles.detailsGroupTitle}>{t('analytics.userProperties')}</Text>
|
|
@@ -843,7 +837,7 @@ const AnalyticsTab = React.memo(() => {
|
|
|
843
837
|
})()}/>);
|
|
844
838
|
}, [filteredAnalyticsEvents, analyticsSearch, newEventIds, setSelectedEvent, logRouteMapRef]);
|
|
845
839
|
return (<>
|
|
846
|
-
|
|
840
|
+
|
|
847
841
|
{selectedEvent == null && (<View style={[
|
|
848
842
|
styles.toolbarRow,
|
|
849
843
|
{ marginTop: 12, marginBottom: 8 },
|
|
@@ -888,7 +882,7 @@ const AnalyticsTab = React.memo(() => {
|
|
|
888
882
|
: AppColors.grayTextStrong} size={16}/>
|
|
889
883
|
</TouchableOpacity>
|
|
890
884
|
|
|
891
|
-
|
|
885
|
+
|
|
892
886
|
<TouchableOpacity style={[
|
|
893
887
|
styles.toolbarBtn,
|
|
894
888
|
isAnalyticsFilterApplied && {
|
|
@@ -924,7 +918,7 @@ const AnalyticsTab = React.memo(() => {
|
|
|
924
918
|
</View>
|
|
925
919
|
</View>)}
|
|
926
920
|
|
|
927
|
-
|
|
921
|
+
|
|
928
922
|
<AnalyticsFilterModal visible={isFilterModalOpen} onClose={() => setIsFilterModalOpen(false)}/>
|
|
929
923
|
|
|
930
924
|
<View style={{ flex: 1 }} onLayout={() => setIsAnalyticsLayoutReady(true)}>
|