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
|
@@ -42,14 +42,14 @@ const react_native_svg_1 = __importStar(require("react-native-svg"));
|
|
|
42
42
|
const BrandSquareIcon = ({ size = 56 }) => {
|
|
43
43
|
return (<react_native_svg_1.default width={size} height={size} viewBox="0 0 256 256" fill="none">
|
|
44
44
|
<react_native_svg_1.Defs>
|
|
45
|
-
|
|
45
|
+
|
|
46
46
|
<react_native_svg_1.LinearGradient id="bs_tile" x1="0" y1="0" x2="256" y2="256" gradientUnits="userSpaceOnUse">
|
|
47
47
|
<react_native_svg_1.Stop offset="0%" stopColor="#1E1B4B"/>
|
|
48
48
|
<react_native_svg_1.Stop offset="50%" stopColor="#18182F"/>
|
|
49
49
|
<react_native_svg_1.Stop offset="100%" stopColor="#0B0F19"/>
|
|
50
50
|
</react_native_svg_1.LinearGradient>
|
|
51
51
|
|
|
52
|
-
|
|
52
|
+
|
|
53
53
|
<react_native_svg_1.LinearGradient id="bs_border" x1="0" y1="0" x2="256" y2="256" gradientUnits="userSpaceOnUse">
|
|
54
54
|
<react_native_svg_1.Stop offset="0%" stopColor="#818CF8" stopOpacity={0.9}/>
|
|
55
55
|
<react_native_svg_1.Stop offset="45%" stopColor="#C084FC" stopOpacity={0.8}/>
|
|
@@ -57,21 +57,21 @@ const BrandSquareIcon = ({ size = 56 }) => {
|
|
|
57
57
|
<react_native_svg_1.Stop offset="100%" stopColor="#38BDF8" stopOpacity={0.9}/>
|
|
58
58
|
</react_native_svg_1.LinearGradient>
|
|
59
59
|
|
|
60
|
-
|
|
60
|
+
|
|
61
61
|
<react_native_svg_1.RadialGradient id="bs_top_glow" cx="50%" cy="15%" r="65%">
|
|
62
62
|
<react_native_svg_1.Stop offset="0%" stopColor="#818CF8" stopOpacity={0.35}/>
|
|
63
63
|
<react_native_svg_1.Stop offset="60%" stopColor="#A855F7" stopOpacity={0.12}/>
|
|
64
64
|
<react_native_svg_1.Stop offset="100%" stopColor="#1E1B4B" stopOpacity={0}/>
|
|
65
65
|
</react_native_svg_1.RadialGradient>
|
|
66
66
|
|
|
67
|
-
|
|
67
|
+
|
|
68
68
|
<react_native_svg_1.LinearGradient id="bs_body" x1="64" y1="40" x2="192" y2="220" gradientUnits="userSpaceOnUse">
|
|
69
69
|
<react_native_svg_1.Stop offset="0%" stopColor="#3730A3"/>
|
|
70
70
|
<react_native_svg_1.Stop offset="50%" stopColor="#2E1065"/>
|
|
71
71
|
<react_native_svg_1.Stop offset="100%" stopColor="#17123A"/>
|
|
72
72
|
</react_native_svg_1.LinearGradient>
|
|
73
73
|
|
|
74
|
-
|
|
74
|
+
|
|
75
75
|
<react_native_svg_1.LinearGradient id="bs_beam" x1="40" y1="40" x2="220" y2="220" gradientUnits="userSpaceOnUse">
|
|
76
76
|
<react_native_svg_1.Stop offset="0%" stopColor="#67E8F9"/>
|
|
77
77
|
<react_native_svg_1.Stop offset="35%" stopColor="#818CF8"/>
|
|
@@ -79,7 +79,7 @@ const BrandSquareIcon = ({ size = 56 }) => {
|
|
|
79
79
|
<react_native_svg_1.Stop offset="100%" stopColor="#F472B6"/>
|
|
80
80
|
</react_native_svg_1.LinearGradient>
|
|
81
81
|
|
|
82
|
-
|
|
82
|
+
|
|
83
83
|
<react_native_svg_1.RadialGradient id="bs_iris" cx="38%" cy="36%" r="65%">
|
|
84
84
|
<react_native_svg_1.Stop offset="0%" stopColor="#FEF08A"/>
|
|
85
85
|
<react_native_svg_1.Stop offset="40%" stopColor="#FBBF24"/>
|
|
@@ -87,13 +87,13 @@ const BrandSquareIcon = ({ size = 56 }) => {
|
|
|
87
87
|
<react_native_svg_1.Stop offset="100%" stopColor="#D97706"/>
|
|
88
88
|
</react_native_svg_1.RadialGradient>
|
|
89
89
|
|
|
90
|
-
|
|
90
|
+
|
|
91
91
|
<react_native_svg_1.LinearGradient id="bs_beak" x1="124" y1="120" x2="132" y2="136" gradientUnits="userSpaceOnUse">
|
|
92
92
|
<react_native_svg_1.Stop offset="0%" stopColor="#FDE047"/>
|
|
93
93
|
<react_native_svg_1.Stop offset="100%" stopColor="#EA580C"/>
|
|
94
94
|
</react_native_svg_1.LinearGradient>
|
|
95
95
|
|
|
96
|
-
|
|
96
|
+
|
|
97
97
|
<react_native_svg_1.RadialGradient id="bs_lens" cx="40%" cy="35%" r="65%">
|
|
98
98
|
<react_native_svg_1.Stop offset="0%" stopColor="#A5F3FC" stopOpacity={0.4}/>
|
|
99
99
|
<react_native_svg_1.Stop offset="50%" stopColor="#38BDF8" stopOpacity={0.18}/>
|
|
@@ -101,23 +101,23 @@ const BrandSquareIcon = ({ size = 56 }) => {
|
|
|
101
101
|
</react_native_svg_1.RadialGradient>
|
|
102
102
|
</react_native_svg_1.Defs>
|
|
103
103
|
|
|
104
|
-
|
|
104
|
+
|
|
105
105
|
<react_native_svg_1.Rect x="2" y="2" width="252" height="252" rx="58" fill="url(#bs_tile)"/>
|
|
106
106
|
<react_native_svg_1.Rect x="2" y="2" width="252" height="252" rx="58" fill="url(#bs_top_glow)"/>
|
|
107
107
|
<react_native_svg_1.Rect x="2" y="2" width="252" height="252" rx="58" fill="none" stroke="url(#bs_border)" strokeWidth="3.5"/>
|
|
108
108
|
|
|
109
|
-
|
|
109
|
+
|
|
110
110
|
<react_native_svg_1.Path d="M62 120 C42 152 46 194 76 210 C68 178 66 146 80 120 Z" fill="#1E1B4B" stroke="url(#bs_beam)" strokeWidth="3" strokeOpacity={0.75}/>
|
|
111
111
|
<react_native_svg_1.Path d="M194 120 C214 152 210 194 180 210 C188 178 190 146 176 120 Z" fill="#1E1B4B" stroke="url(#bs_beam)" strokeWidth="3" strokeOpacity={0.75}/>
|
|
112
112
|
|
|
113
|
-
|
|
113
|
+
|
|
114
114
|
<react_native_svg_1.Path d="M58 146 C54 98 68 64 88 52 L98 34 L118 56 Q128 50 138 56 L158 34 L168 52 C188 64 202 98 198 146 C202 180 186 208 152 216 C140 220 116 220 104 216 C70 208 54 180 58 146 Z" fill="url(#bs_body)" stroke="url(#bs_beam)" strokeWidth="4.5" strokeLinejoin="round"/>
|
|
115
115
|
|
|
116
|
-
|
|
116
|
+
|
|
117
117
|
<react_native_svg_1.Path d="M98 42 L112 56 L102 57 Z" fill="#67E8F9" opacity={0.6}/>
|
|
118
118
|
<react_native_svg_1.Path d="M158 42 L144 56 L154 57 Z" fill="#F472B6" opacity={0.6}/>
|
|
119
119
|
|
|
120
|
-
|
|
120
|
+
|
|
121
121
|
<react_native_svg_1.Rect x="98" y="162" width="60" height="38" rx="10" fill="#050811" stroke="url(#bs_beam)" strokeWidth="2.5"/>
|
|
122
122
|
<react_native_svg_1.G strokeWidth="3" strokeLinecap="round" strokeLinejoin="round" fill="none">
|
|
123
123
|
<react_native_svg_1.Path d="M116 174 L108 181 L116 188" stroke="#38BDF8"/>
|
|
@@ -125,31 +125,31 @@ const BrandSquareIcon = ({ size = 56 }) => {
|
|
|
125
125
|
<react_native_svg_1.Path d="M131 171 L125 191" stroke="#F43F5E"/>
|
|
126
126
|
</react_native_svg_1.G>
|
|
127
127
|
|
|
128
|
-
|
|
128
|
+
|
|
129
129
|
<react_native_svg_1.Path d="M128 88 C152 64 192 72 192 104 C192 132 162 152 128 152 C94 152 64 132 64 104 C64 72 104 64 128 88 Z" fill="#1E1B4B" stroke="url(#bs_beam)" strokeWidth="2.8"/>
|
|
130
130
|
|
|
131
|
-
|
|
131
|
+
|
|
132
132
|
<react_native_svg_1.Circle cx="156" cy="106" r="19" fill="url(#bs_iris)" stroke="#0F172A" strokeWidth="2.5"/>
|
|
133
133
|
<react_native_svg_1.Circle cx="156" cy="106" r="9.5" fill="#0B0F19"/>
|
|
134
134
|
<react_native_svg_1.Circle cx="159.5" cy="102.5" r="3.5" fill="#FFFFFF"/>
|
|
135
135
|
<react_native_svg_1.Circle cx="153" cy="109.5" r="1.8" fill="#FFFFFF" opacity={0.85}/>
|
|
136
136
|
|
|
137
|
-
|
|
138
|
-
|
|
137
|
+
|
|
138
|
+
|
|
139
139
|
<react_native_svg_1.Circle cx="94" cy="104" r="30" fill="url(#bs_lens)" stroke="url(#bs_beam)" strokeWidth="6"/>
|
|
140
140
|
<react_native_svg_1.Line x1="72" y1="126" x2="48" y2="152" stroke="#0B0F19" strokeWidth="13" strokeLinecap="round"/>
|
|
141
141
|
<react_native_svg_1.Line x1="72" y1="126" x2="48" y2="152" stroke="url(#bs_beam)" strokeWidth="8" strokeLinecap="round"/>
|
|
142
142
|
|
|
143
|
-
|
|
143
|
+
|
|
144
144
|
<react_native_svg_1.Circle cx="94" cy="104" r="21" fill="url(#bs_iris)" stroke="#0F172A" strokeWidth="2.5"/>
|
|
145
145
|
<react_native_svg_1.Circle cx="94" cy="104" r="10.5" fill="#0B0F19"/>
|
|
146
146
|
<react_native_svg_1.Circle cx="98" cy="100" r="4" fill="#FFFFFF"/>
|
|
147
147
|
<react_native_svg_1.Circle cx="90.5" cy="107.5" r="2" fill="#FFFFFF" opacity={0.85}/>
|
|
148
148
|
|
|
149
|
-
|
|
149
|
+
|
|
150
150
|
<react_native_svg_1.Path d="M74 94 A26 26 0 0 1 106 78" stroke="#FFFFFF" strokeWidth="3" strokeLinecap="round" opacity={0.65} fill="none"/>
|
|
151
151
|
|
|
152
|
-
|
|
152
|
+
|
|
153
153
|
<react_native_svg_1.Path d="M123 120 Q128 118 133 120 Q131.5 133 128 137 Q124.5 133 123 120 Z" fill="url(#bs_beak)" stroke="#78350F" strokeWidth="1"/>
|
|
154
154
|
</react_native_svg_1.default>);
|
|
155
155
|
};
|
|
@@ -47,7 +47,6 @@ const AppFonts_1 = require("../styles/AppFonts");
|
|
|
47
47
|
const escapeRegExp = (string) => {
|
|
48
48
|
return string.replace(/[.*+?^${}()|[\]\\]/g, '\\$&');
|
|
49
49
|
};
|
|
50
|
-
// HTML pretty printer
|
|
51
50
|
const formatHTML = (html) => {
|
|
52
51
|
if (!html)
|
|
53
52
|
return '';
|
|
@@ -85,7 +84,6 @@ const formatHTML = (html) => {
|
|
|
85
84
|
}
|
|
86
85
|
return formatted.join('\n');
|
|
87
86
|
};
|
|
88
|
-
// CSS pretty printer
|
|
89
87
|
const formatCSS = (css) => {
|
|
90
88
|
if (!css)
|
|
91
89
|
return '';
|
|
@@ -111,7 +109,6 @@ const formatCSS = (css) => {
|
|
|
111
109
|
}
|
|
112
110
|
return formatted.join('\n');
|
|
113
111
|
};
|
|
114
|
-
// JS pretty printer
|
|
115
112
|
const formatJS = (js) => {
|
|
116
113
|
if (!js)
|
|
117
114
|
return '';
|
|
@@ -295,12 +292,12 @@ const CodeSnippetLine = react_1.default.memo(({ line, lineIndex, language, searc
|
|
|
295
292
|
</react_native_1.Text>);
|
|
296
293
|
};
|
|
297
294
|
return (<react_native_1.View style={[styles.lineRow, isActiveMatch && styles.activeMatchRow]}>
|
|
298
|
-
|
|
295
|
+
|
|
299
296
|
<react_native_1.View style={[styles.gutter, { backgroundColor: AppColors_1.AppColors.grayBackground, borderRightColor: AppColors_1.AppColors.grayBorderSecondary }, isActiveMatch && styles.activeMatchGutter]}>
|
|
300
297
|
<react_native_1.Text style={[styles.lineNumber, { color: AppColors_1.AppColors.grayTextWeak }, isActiveMatch && styles.activeMatchLineNumber]}>{lineIndex + 1}</react_native_1.Text>
|
|
301
298
|
</react_native_1.View>
|
|
302
299
|
|
|
303
|
-
|
|
300
|
+
|
|
304
301
|
<react_native_1.View style={styles.codeLine}>
|
|
305
302
|
<react_native_1.Text style={[styles.codeLineText, { color: AppColors_1.AppColors.primaryBlack }]}>
|
|
306
303
|
{tokens.length === 0 ? (<react_native_1.Text style={[styles.plain, { color: AppColors_1.AppColors.primaryBlack }]}> </react_native_1.Text>) : (tokens.map((token, tokenIdx) => (<react_1.default.Fragment key={tokenIdx}>
|
|
@@ -316,21 +313,17 @@ const CodeSnippet = ({ code, language, search, }) => {
|
|
|
316
313
|
const [currentMatchIdx, setCurrentMatchIdx] = (0, react_1.useState)(-1);
|
|
317
314
|
const [visibleLinesCount, setVisibleLinesCount] = (0, react_1.useState)(200);
|
|
318
315
|
const flatListRef = (0, react_1.useRef)(null);
|
|
319
|
-
// Sync prop search to searchQuery
|
|
320
316
|
(0, react_1.useEffect)(() => {
|
|
321
317
|
if (search !== undefined) {
|
|
322
318
|
setSearchQuery(search);
|
|
323
319
|
}
|
|
324
320
|
}, [search]);
|
|
325
|
-
// Debounce search query updates
|
|
326
321
|
(0, react_1.useEffect)(() => {
|
|
327
322
|
const timer = setTimeout(() => {
|
|
328
323
|
setDebouncedQuery(searchQuery);
|
|
329
324
|
}, 300);
|
|
330
325
|
return () => clearTimeout(timer);
|
|
331
326
|
}, [searchQuery]);
|
|
332
|
-
// If code is extremely large (e.g. > 150KB), skip the pretty printers
|
|
333
|
-
// to avoid blocking the single JS thread.
|
|
334
327
|
const formattedCode = (0, react_1.useMemo)(() => {
|
|
335
328
|
if (!code)
|
|
336
329
|
return '';
|
|
@@ -350,7 +343,6 @@ const CodeSnippet = ({ code, language, search, }) => {
|
|
|
350
343
|
return [];
|
|
351
344
|
return formattedCode.split(/\r?\n/);
|
|
352
345
|
}, [formattedCode]);
|
|
353
|
-
// Find all line indices matching the search query
|
|
354
346
|
const matches = (0, react_1.useMemo)(() => {
|
|
355
347
|
if (!debouncedQuery.trim() || debouncedQuery.length < 2)
|
|
356
348
|
return [];
|
|
@@ -363,13 +355,11 @@ const CodeSnippet = ({ code, language, search, }) => {
|
|
|
363
355
|
}
|
|
364
356
|
return indices;
|
|
365
357
|
}, [debouncedQuery, lines]);
|
|
366
|
-
// Reset scroll and states on code/language changes
|
|
367
358
|
(0, react_1.useEffect)(() => {
|
|
368
359
|
setVisibleLinesCount(200);
|
|
369
360
|
setSearchQuery(search || '');
|
|
370
361
|
setCurrentMatchIdx(-1);
|
|
371
362
|
}, [code, language]);
|
|
372
|
-
// Auto-scroll to the first match when search query returns matches
|
|
373
363
|
(0, react_1.useEffect)(() => {
|
|
374
364
|
if (matches.length > 0) {
|
|
375
365
|
setCurrentMatchIdx(0);
|
|
@@ -383,11 +373,9 @@ const CodeSnippet = ({ code, language, search, }) => {
|
|
|
383
373
|
if (matches.length === 0 || matchIdx < 0 || matchIdx >= matches.length)
|
|
384
374
|
return;
|
|
385
375
|
const lineIdx = matches[matchIdx];
|
|
386
|
-
// Ensure the targeted index is loaded in FlatList
|
|
387
376
|
if (lineIdx >= visibleLinesCount) {
|
|
388
377
|
setVisibleLinesCount(lineIdx + 100);
|
|
389
378
|
}
|
|
390
|
-
// Schedule scroll after state has applied
|
|
391
379
|
setTimeout(() => {
|
|
392
380
|
try {
|
|
393
381
|
flatListRef.current?.scrollToIndex({
|
|
@@ -397,7 +385,6 @@ const CodeSnippet = ({ code, language, search, }) => {
|
|
|
397
385
|
});
|
|
398
386
|
}
|
|
399
387
|
catch (e) {
|
|
400
|
-
// Fallback recovery is handled by onScrollToIndexFailed
|
|
401
388
|
}
|
|
402
389
|
}, 50);
|
|
403
390
|
};
|
|
@@ -446,13 +433,13 @@ const CodeSnippet = ({ code, language, search, }) => {
|
|
|
446
433
|
return (<CodeSnippetLine line={item} lineIndex={index} language={language} search={debouncedQuery} isActiveMatch={isActiveMatch}/>);
|
|
447
434
|
};
|
|
448
435
|
return (<react_native_1.View style={{ flex: 1 }}>
|
|
449
|
-
|
|
436
|
+
|
|
450
437
|
<react_native_1.View style={styles.searchRow}>
|
|
451
438
|
<react_native_1.View style={[styles.searchBar, { backgroundColor: AppColors_1.AppColors.primaryLight, borderColor: AppColors_1.AppColors.grayBorderSecondary }]}>
|
|
452
439
|
<NetworkIcons_1.SearchIcon color={AppColors_1.AppColors.grayTextWeak} size={15}/>
|
|
453
440
|
<react_native_1.TextInput placeholder={`Search ${language.toUpperCase()}...`} placeholderTextColor={AppColors_1.AppColors.grayTextWeak} value={searchQuery} onChangeText={setSearchQuery} style={[styles.searchInput, { color: AppColors_1.AppColors.primaryBlack }]} autoCorrect={false} autoCapitalize="none"/>
|
|
454
441
|
|
|
455
|
-
|
|
442
|
+
|
|
456
443
|
{debouncedQuery.length >= 2 && (<react_native_1.Text style={[styles.matchCountText, { backgroundColor: AppColors_1.AppColors.grayBackground, color: AppColors_1.AppColors.grayTextWeak }]}>
|
|
457
444
|
{matches.length > 0 ? `${currentMatchIdx + 1}/${matches.length}` : '0/0'}
|
|
458
445
|
</react_native_1.Text>)}
|
|
@@ -462,7 +449,7 @@ const CodeSnippet = ({ code, language, search, }) => {
|
|
|
462
449
|
</react_native_1.Pressable>)}
|
|
463
450
|
</react_native_1.View>
|
|
464
451
|
|
|
465
|
-
|
|
452
|
+
|
|
466
453
|
{matches.length > 0 && (<react_native_1.View style={[styles.navArrowsGroup, { backgroundColor: AppColors_1.AppColors.primaryLight, borderColor: AppColors_1.AppColors.grayBorderSecondary }]}>
|
|
467
454
|
<TouchableScale_1.default onPress={handlePrevMatch} hitSlop={8} style={styles.navArrowBtn}>
|
|
468
455
|
<ArrowUpIcon color={AppColors_1.AppColors.grayTextStrong} size={14}/>
|
|
@@ -475,7 +462,7 @@ const CodeSnippet = ({ code, language, search, }) => {
|
|
|
475
462
|
<CopyButton_1.default value={code} label={`${language.toUpperCase()} Source`}/>
|
|
476
463
|
</react_native_1.View>
|
|
477
464
|
|
|
478
|
-
|
|
465
|
+
|
|
479
466
|
<react_native_1.View style={[styles.container, { backgroundColor: AppColors_1.AppColors.grayBackground, borderColor: AppColors_1.AppColors.grayBorderSecondary }]}>
|
|
480
467
|
<react_native_1.FlatList ref={flatListRef} data={visibleLines} renderItem={renderLine} keyExtractor={(_, index) => String(index)} maxToRenderPerBatch={30} windowSize={5} initialNumToRender={50} removeClippedSubviews={react_native_1.Platform.OS === 'android'} onEndReached={handleEndReached} onEndReachedThreshold={0.5} onScrollToIndexFailed={onScrollToIndexFailed}/>
|
|
481
468
|
</react_native_1.View>
|
|
@@ -150,7 +150,6 @@ exports.ConsoleLogCard = react_1.default.memo(function ConsoleLogCard({ item, se
|
|
|
150
150
|
textColor: AppColors_1.AppColors.blue800,
|
|
151
151
|
};
|
|
152
152
|
}
|
|
153
|
-
// Default / Standard console.log
|
|
154
153
|
return {
|
|
155
154
|
border: AppColors_1.AppColors.indigo500,
|
|
156
155
|
badgeBg: AppColors_1.AppColors.indigo50,
|
|
@@ -38,14 +38,10 @@ var __importDefault = (this && this.__importDefault) || function (mod) {
|
|
|
38
38
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
39
39
|
const react_1 = __importStar(require("react"));
|
|
40
40
|
const react_native_1 = require("react-native");
|
|
41
|
-
// Components
|
|
42
41
|
const TouchableScale_1 = __importDefault(require("./TouchableScale"));
|
|
43
|
-
// Helpers
|
|
44
42
|
const helpers_1 = require("../helpers");
|
|
45
43
|
const NativeInspector_1 = require("../native/NativeInspector");
|
|
46
|
-
// Assets
|
|
47
44
|
const NetworkIcons_1 = require("./NetworkIcons");
|
|
48
|
-
// Stylesheet
|
|
49
45
|
const AppColors_1 = require("../styles/AppColors");
|
|
50
46
|
const styles_1 = __importDefault(require("../styles"));
|
|
51
47
|
const CopyButton = react_1.default.memo(({ value, label, iconType = 'copy' }) => {
|
|
@@ -39,9 +39,7 @@ Object.defineProperty(exports, "__esModule", { value: true });
|
|
|
39
39
|
const i18n_1 = require("../i18n");
|
|
40
40
|
const react_1 = __importStar(require("react"));
|
|
41
41
|
const react_native_1 = require("react-native");
|
|
42
|
-
// Helpers
|
|
43
42
|
const helpers_1 = require("../helpers");
|
|
44
|
-
// Stylesheet
|
|
45
43
|
const AppColors_1 = require("../styles/AppColors");
|
|
46
44
|
const styles_1 = __importDefault(require("../styles"));
|
|
47
45
|
const DiffViewer = react_1.default.memo(({ oldData, newData, forceOpen, }) => {
|
|
@@ -38,14 +38,10 @@ var __importDefault = (this && this.__importDefault) || function (mod) {
|
|
|
38
38
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
39
39
|
const react_1 = __importStar(require("react"));
|
|
40
40
|
const react_native_1 = require("react-native");
|
|
41
|
-
// Stylesheet
|
|
42
41
|
const AppColors_1 = require("../styles/AppColors");
|
|
43
42
|
const AppFonts_1 = require("../styles/AppFonts");
|
|
44
|
-
// Helpers
|
|
45
43
|
const helpers_1 = require("../helpers");
|
|
46
|
-
// Assets
|
|
47
44
|
const NetworkIcons_1 = require("./NetworkIcons");
|
|
48
|
-
// Stylesheet
|
|
49
45
|
const styles_1 = __importDefault(require("../styles"));
|
|
50
46
|
const DomainHeader = ({ pageName, color, stats, activeFilters, onToggleFilter, isCollapsed, onToggleCollapse, isFirst, timestamp, }) => {
|
|
51
47
|
const chevronAnim = (0, react_1.useRef)(new react_native_1.Animated.Value(isCollapsed ? 0 : 1)).current;
|
|
@@ -38,12 +38,9 @@ var __importDefault = (this && this.__importDefault) || function (mod) {
|
|
|
38
38
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
39
39
|
const react_1 = __importStar(require("react"));
|
|
40
40
|
const react_native_1 = require("react-native");
|
|
41
|
-
// Components
|
|
42
41
|
const TouchableScale_1 = __importDefault(require("./TouchableScale"));
|
|
43
42
|
const AnimatedEntrance_1 = __importDefault(require("./AnimatedEntrance"));
|
|
44
|
-
// Assets
|
|
45
43
|
const NetworkIcons_1 = require("./NetworkIcons");
|
|
46
|
-
// Stylesheet
|
|
47
44
|
const AppColors_1 = require("../styles/AppColors");
|
|
48
45
|
const styles_1 = __importDefault(require("../styles"));
|
|
49
46
|
const EmptyState = react_1.default.memo(function EmptyState({ isSearch, searchQuery, customTitle, customSub, onClearSearch, }) {
|
|
@@ -56,7 +56,6 @@ function parseStackTrace(stack) {
|
|
|
56
56
|
line.includes('handleInterceptedCrash')) {
|
|
57
57
|
continue;
|
|
58
58
|
}
|
|
59
|
-
// iOS format: method@url:line:col
|
|
60
59
|
const iosMatch = line.match(/^([^@]*)@(.*):(\d+):(\d+)$/);
|
|
61
60
|
if (iosMatch) {
|
|
62
61
|
const [, method, fullPath, lineNum, colNum] = iosMatch;
|
|
@@ -72,7 +71,6 @@ function parseStackTrace(stack) {
|
|
|
72
71
|
});
|
|
73
72
|
continue;
|
|
74
73
|
}
|
|
75
|
-
// Android format: at method (url:line:col) or at url:line:col
|
|
76
74
|
const androidMatch = line.match(/^\s*at\s+(.+)\s+\((.+):(\d+):(\d+)\)$/);
|
|
77
75
|
if (androidMatch) {
|
|
78
76
|
const [, method, fullPath, lineNum, colNum] = androidMatch;
|
|
@@ -103,7 +101,6 @@ function parseStackTrace(stack) {
|
|
|
103
101
|
});
|
|
104
102
|
}
|
|
105
103
|
}
|
|
106
|
-
// Find topmost project frame, or fallback to first frame
|
|
107
104
|
const rootFrame = frames.find(f => f.isProjectFile) || frames[0] || null;
|
|
108
105
|
return { rootFrame, frames };
|
|
109
106
|
}
|
|
@@ -161,7 +158,6 @@ ${error.stack || 'No stack trace available'}
|
|
|
161
158
|
const isSyntaxOrType = errorType.includes('Syntax') ||
|
|
162
159
|
errorType.includes('Type') ||
|
|
163
160
|
errorType.includes('Reference');
|
|
164
|
-
// ─── Inline Fallback View ─────────────────────────────────────────────
|
|
165
161
|
if (this.props.fallbackType === 'inline') {
|
|
166
162
|
return (<react_native_1.View style={styles.inlineContainer}>
|
|
167
163
|
<react_native_1.View style={styles.inlineHeader}>
|
|
@@ -187,10 +183,9 @@ ${error.stack || 'No stack trace available'}
|
|
|
187
183
|
</react_native_1.View>
|
|
188
184
|
</react_native_1.View>);
|
|
189
185
|
}
|
|
190
|
-
// ─── Full-Screen Custom Native Recovery Modal ─────────────────────────
|
|
191
186
|
return (<react_native_1.SafeAreaView style={styles.safeArea}>
|
|
192
187
|
<react_native_1.View style={styles.container}>
|
|
193
|
-
|
|
188
|
+
|
|
194
189
|
<react_native_1.View style={styles.header}>
|
|
195
190
|
<react_native_1.View style={styles.iconGlowWrap}>
|
|
196
191
|
<NetworkIcons_1.WarningTriangleIcon color={AppColors_1.AppColors.red500} size={28}/>
|
|
@@ -215,7 +210,7 @@ ${error.stack || 'No stack trace available'}
|
|
|
215
210
|
</react_native_1.View>
|
|
216
211
|
|
|
217
212
|
<react_native_1.ScrollView style={styles.scrollArea} contentContainerStyle={styles.scrollContent} showsVerticalScrollIndicator={false}>
|
|
218
|
-
|
|
213
|
+
|
|
219
214
|
<react_native_1.View style={styles.errorBox}>
|
|
220
215
|
<react_native_1.View style={styles.errorBoxHeader}>
|
|
221
216
|
<NetworkIcons_1.CircleAlertIcon size={14} color={AppColors_1.AppColors.red500}/>
|
|
@@ -224,7 +219,7 @@ ${error.stack || 'No stack trace available'}
|
|
|
224
219
|
<react_native_1.Text style={styles.errorMessage}>{error.message}</react_native_1.Text>
|
|
225
220
|
</react_native_1.View>
|
|
226
221
|
|
|
227
|
-
|
|
222
|
+
|
|
228
223
|
{rootFrame && (<react_native_1.View style={styles.locationCard}>
|
|
229
224
|
<react_native_1.Text style={styles.cardHeaderTitle}>{(0, i18n_1.t)('errors.exactLocation')}</react_native_1.Text>
|
|
230
225
|
<react_native_1.View style={styles.locRow}>
|
|
@@ -248,7 +243,7 @@ ${error.stack || 'No stack trace available'}
|
|
|
248
243
|
</react_native_1.Text>) : null}
|
|
249
244
|
</react_native_1.View>)}
|
|
250
245
|
|
|
251
|
-
|
|
246
|
+
|
|
252
247
|
<react_native_1.View style={styles.stackCard}>
|
|
253
248
|
<react_native_1.View style={styles.stackCardHeader}>
|
|
254
249
|
<react_native_1.Text style={styles.cardHeaderTitle}>{(0, i18n_1.t)('errors.callStack')}</react_native_1.Text>
|
|
@@ -287,7 +282,7 @@ ${error.stack || 'No stack trace available'}
|
|
|
287
282
|
</react_native_1.View>
|
|
288
283
|
</react_native_1.ScrollView>
|
|
289
284
|
|
|
290
|
-
|
|
285
|
+
|
|
291
286
|
<react_native_1.View style={styles.footer}>
|
|
292
287
|
<react_native_1.TouchableOpacity onPress={this.handleReset} style={styles.retryBtn} activeOpacity={0.8}>
|
|
293
288
|
<NetworkIcons_1.RefreshCcwIcon size={16} color={AppColors_1.AppColors.white}/>
|
|
@@ -39,16 +39,11 @@ Object.defineProperty(exports, "__esModule", { value: true });
|
|
|
39
39
|
const react_1 = __importStar(require("react"));
|
|
40
40
|
const i18n_1 = require("../i18n");
|
|
41
41
|
const react_native_1 = require("react-native");
|
|
42
|
-
// Components
|
|
43
42
|
const CopyButton_1 = __importDefault(require("./CopyButton"));
|
|
44
43
|
const TouchableScale_1 = __importDefault(require("./TouchableScale"));
|
|
45
|
-
// Helpers
|
|
46
44
|
const helpers_1 = require("../helpers");
|
|
47
|
-
// Custom Hooks
|
|
48
45
|
const useAccordion_1 = __importDefault(require("../customHooks/useAccordion"));
|
|
49
|
-
// Assets
|
|
50
46
|
const NetworkIcons_1 = require("./NetworkIcons");
|
|
51
|
-
// Stylesheet
|
|
52
47
|
const AppColors_1 = require("../styles/AppColors");
|
|
53
48
|
const styles_1 = __importDefault(require("../styles"));
|
|
54
49
|
const HeaderRow = react_1.default.memo(function HeaderRow({ headerKey, value, isLast, index, }) {
|
|
@@ -5,16 +5,13 @@ var __importDefault = (this && this.__importDefault) || function (mod) {
|
|
|
5
5
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
6
6
|
const react_1 = __importDefault(require("react"));
|
|
7
7
|
const react_native_1 = require("react-native");
|
|
8
|
-
// Helpers
|
|
9
8
|
const helpers_1 = require("../helpers");
|
|
10
9
|
const HighlightText = react_1.default.memo(function HighlightText({ text, search, style, highlightStyle, detectLinks, numberOfLines, ...rest }) {
|
|
11
|
-
// Optimization: For huge strings (> 20KB) with no active search, bypass all splitting/regex overhead
|
|
12
10
|
if (!text || (text.length > 20000 && !search && !detectLinks)) {
|
|
13
11
|
return (<react_native_1.Text style={style} numberOfLines={numberOfLines} {...rest}>
|
|
14
12
|
{text}
|
|
15
13
|
</react_native_1.Text>);
|
|
16
14
|
}
|
|
17
|
-
// Regex to detect absolute URLs
|
|
18
15
|
const URL_REGEX = /(https?:\/\/[^\s]+)/g;
|
|
19
16
|
const renderNormalOrHighlighted = (subText, keyPrefix) => {
|
|
20
17
|
if (!search) {
|
|
@@ -34,7 +31,7 @@ const HighlightText = react_1.default.memo(function HighlightText({ text, search
|
|
|
34
31
|
{parts.map((part, i) => {
|
|
35
32
|
if (part.match(URL_REGEX)) {
|
|
36
33
|
return (<react_native_1.Text key={`link-${i}`} style={{
|
|
37
|
-
color: '#007AFF',
|
|
34
|
+
color: '#007AFF',
|
|
38
35
|
textDecorationLine: 'underline',
|
|
39
36
|
}} onPress={() => {
|
|
40
37
|
(0, helpers_1.handleOpenExternalLink)(part);
|
|
@@ -61,7 +61,6 @@ const DEFAULT_FILTERS = {
|
|
|
61
61
|
};
|
|
62
62
|
const AnalyticsFilterModal = ({ visible, onClose, }) => {
|
|
63
63
|
const { analyticsEvents, analyticsSearch, analyticsFilters, setAnalyticsFilters, } = (0, InspectorContext_1.useInspector)();
|
|
64
|
-
// Staged Draft State: applied ONLY on tapping "Apply Filters"
|
|
65
64
|
const [draft, setDraft] = (0, react_1.useState)(() => ({
|
|
66
65
|
...analyticsFilters,
|
|
67
66
|
categories: new Set(analyticsFilters.categories),
|
|
@@ -69,7 +68,6 @@ const AnalyticsFilterModal = ({ visible, onClose, }) => {
|
|
|
69
68
|
sources: new Set(analyticsFilters.sources || ['all']),
|
|
70
69
|
userTypes: new Set(analyticsFilters.userTypes || ['all']),
|
|
71
70
|
}));
|
|
72
|
-
// Re-sync draft whenever modal opens
|
|
73
71
|
(0, react_1.useEffect)(() => {
|
|
74
72
|
if (visible) {
|
|
75
73
|
setDraft({
|
|
@@ -81,7 +79,6 @@ const AnalyticsFilterModal = ({ visible, onClose, }) => {
|
|
|
81
79
|
});
|
|
82
80
|
}
|
|
83
81
|
}, [visible, analyticsFilters]);
|
|
84
|
-
// Extract unique screen names from logged events
|
|
85
82
|
const uniqueScreens = (0, react_1.useMemo)(() => {
|
|
86
83
|
const screens = new Set();
|
|
87
84
|
for (const e of analyticsEvents) {
|
|
@@ -96,7 +93,6 @@ const AnalyticsFilterModal = ({ visible, onClose, }) => {
|
|
|
96
93
|
}
|
|
97
94
|
return Array.from(screens);
|
|
98
95
|
}, [analyticsEvents]);
|
|
99
|
-
// Toggle Category in Draft
|
|
100
96
|
const toggleCategory = (cat) => {
|
|
101
97
|
setDraft(prev => {
|
|
102
98
|
const next = new Set(prev.categories);
|
|
@@ -115,7 +111,6 @@ const AnalyticsFilterModal = ({ visible, onClose, }) => {
|
|
|
115
111
|
return { ...prev, categories: next };
|
|
116
112
|
});
|
|
117
113
|
};
|
|
118
|
-
// Toggle Screen in Draft
|
|
119
114
|
const toggleScreen = (scr) => {
|
|
120
115
|
setDraft(prev => {
|
|
121
116
|
const next = new Set(prev.screens);
|
|
@@ -128,7 +123,6 @@ const AnalyticsFilterModal = ({ visible, onClose, }) => {
|
|
|
128
123
|
return { ...prev, screens: next };
|
|
129
124
|
});
|
|
130
125
|
};
|
|
131
|
-
// Toggle Source in Draft
|
|
132
126
|
const toggleSource = (src) => {
|
|
133
127
|
setDraft(prev => {
|
|
134
128
|
const next = new Set(prev.sources);
|
|
@@ -147,7 +141,6 @@ const AnalyticsFilterModal = ({ visible, onClose, }) => {
|
|
|
147
141
|
return { ...prev, sources: next };
|
|
148
142
|
});
|
|
149
143
|
};
|
|
150
|
-
// Toggle User Type in Draft
|
|
151
144
|
const toggleUserType = (ut) => {
|
|
152
145
|
setDraft(prev => {
|
|
153
146
|
const next = new Set(prev.userTypes);
|
|
@@ -166,26 +159,21 @@ const AnalyticsFilterModal = ({ visible, onClose, }) => {
|
|
|
166
159
|
return { ...prev, userTypes: next };
|
|
167
160
|
});
|
|
168
161
|
};
|
|
169
|
-
// Toggle Boolean Flag in Draft
|
|
170
162
|
const toggleFlag = (key) => {
|
|
171
163
|
setDraft(prev => ({
|
|
172
164
|
...prev,
|
|
173
165
|
[key]: !prev[key],
|
|
174
166
|
}));
|
|
175
167
|
};
|
|
176
|
-
// Set Time Window in Draft
|
|
177
168
|
const setTimeWindow = (tw) => {
|
|
178
169
|
setDraft(prev => ({ ...prev, timeWindow: tw }));
|
|
179
170
|
};
|
|
180
|
-
// Set Payload Complexity in Draft
|
|
181
171
|
const setPayloadComplexity = (pc) => {
|
|
182
172
|
setDraft(prev => ({ ...prev, payloadComplexity: pc }));
|
|
183
173
|
};
|
|
184
|
-
// Set Sort in Draft
|
|
185
174
|
const setSort = (sortBy) => {
|
|
186
175
|
setDraft(prev => ({ ...prev, sortBy }));
|
|
187
176
|
};
|
|
188
|
-
// Reset Draft to default
|
|
189
177
|
const handleResetDraft = () => {
|
|
190
178
|
setDraft({
|
|
191
179
|
categories: new Set(['all']),
|
|
@@ -203,7 +191,6 @@ const AnalyticsFilterModal = ({ visible, onClose, }) => {
|
|
|
203
191
|
sortBy: 'time_desc',
|
|
204
192
|
});
|
|
205
193
|
};
|
|
206
|
-
// Commit Draft to actual filters
|
|
207
194
|
const handleApply = () => {
|
|
208
195
|
setAnalyticsFilters({
|
|
209
196
|
...draft,
|
|
@@ -214,7 +201,6 @@ const AnalyticsFilterModal = ({ visible, onClose, }) => {
|
|
|
214
201
|
});
|
|
215
202
|
onClose();
|
|
216
203
|
};
|
|
217
|
-
// Discard changes & close
|
|
218
204
|
const handleDiscard = () => {
|
|
219
205
|
setDraft({
|
|
220
206
|
...analyticsFilters,
|
|
@@ -225,7 +211,6 @@ const AnalyticsFilterModal = ({ visible, onClose, }) => {
|
|
|
225
211
|
});
|
|
226
212
|
onClose();
|
|
227
213
|
};
|
|
228
|
-
// Calculate matching count for Draft in real-time
|
|
229
214
|
const draftMatchCount = (0, react_1.useMemo)(() => {
|
|
230
215
|
let events = analyticsEvents;
|
|
231
216
|
if (analyticsSearch) {
|
|
@@ -328,7 +313,7 @@ const AnalyticsFilterModal = ({ visible, onClose, }) => {
|
|
|
328
313
|
<react_native_1.Pressable style={react_native_1.StyleSheet.absoluteFill} onPress={handleDiscard}/>
|
|
329
314
|
|
|
330
315
|
<react_native_1.View style={styles.modalCard}>
|
|
331
|
-
|
|
316
|
+
|
|
332
317
|
<react_native_1.View style={styles.header}>
|
|
333
318
|
<react_native_1.View style={{ flexDirection: 'row', alignItems: 'center', gap: 8 }}>
|
|
334
319
|
<react_native_1.View style={styles.headerIconBox}>
|
|
@@ -353,9 +338,9 @@ const AnalyticsFilterModal = ({ visible, onClose, }) => {
|
|
|
353
338
|
</react_native_1.View>
|
|
354
339
|
</react_native_1.View>
|
|
355
340
|
|
|
356
|
-
|
|
341
|
+
|
|
357
342
|
<react_native_1.ScrollView style={{ maxHeight: 460 }} contentContainerStyle={styles.scrollContent} showsVerticalScrollIndicator={true}>
|
|
358
|
-
|
|
343
|
+
|
|
359
344
|
<react_native_1.View style={styles.section}>
|
|
360
345
|
<react_native_1.View style={styles.sectionHeaderRow}>
|
|
361
346
|
<NetworkIcons_1.ClockIcon color={AppColors_1.AppColors.grayTextWeak} size={12}/>
|
|
@@ -384,7 +369,7 @@ const AnalyticsFilterModal = ({ visible, onClose, }) => {
|
|
|
384
369
|
</react_native_1.View>
|
|
385
370
|
</react_native_1.View>
|
|
386
371
|
|
|
387
|
-
|
|
372
|
+
|
|
388
373
|
<react_native_1.View style={styles.section}>
|
|
389
374
|
<react_native_1.View style={styles.sectionHeaderRow}>
|
|
390
375
|
<NetworkIcons_1.TargetGoalIcon color={AppColors_1.AppColors.grayTextWeak} size={12}/>
|
|
@@ -474,7 +459,7 @@ const AnalyticsFilterModal = ({ visible, onClose, }) => {
|
|
|
474
459
|
</react_native_1.View>
|
|
475
460
|
</react_native_1.View>
|
|
476
461
|
|
|
477
|
-
|
|
462
|
+
|
|
478
463
|
<react_native_1.View style={styles.section}>
|
|
479
464
|
<react_native_1.View style={styles.sectionHeaderRow}>
|
|
480
465
|
<NetworkIcons_1.MoneyIcon color={AppColors_1.AppColors.grayTextWeak} size={12}/>
|
|
@@ -575,7 +560,7 @@ const AnalyticsFilterModal = ({ visible, onClose, }) => {
|
|
|
575
560
|
</react_native_1.View>
|
|
576
561
|
</react_native_1.View>
|
|
577
562
|
|
|
578
|
-
|
|
563
|
+
|
|
579
564
|
<react_native_1.View style={styles.section}>
|
|
580
565
|
<react_native_1.View style={styles.sectionHeaderRow}>
|
|
581
566
|
<NetworkIcons_1.UserIcon color={AppColors_1.AppColors.grayTextWeak} size={12}/>
|
|
@@ -631,7 +616,7 @@ const AnalyticsFilterModal = ({ visible, onClose, }) => {
|
|
|
631
616
|
</react_native_1.View>
|
|
632
617
|
</react_native_1.View>
|
|
633
618
|
|
|
634
|
-
|
|
619
|
+
|
|
635
620
|
<react_native_1.View style={styles.section}>
|
|
636
621
|
<react_native_1.View style={styles.sectionHeaderRow}>
|
|
637
622
|
<NetworkIcons_1.BoltIcon color={AppColors_1.AppColors.grayTextWeak} size={12}/>
|
|
@@ -681,7 +666,7 @@ const AnalyticsFilterModal = ({ visible, onClose, }) => {
|
|
|
681
666
|
</react_native_1.View>
|
|
682
667
|
</react_native_1.View>
|
|
683
668
|
|
|
684
|
-
|
|
669
|
+
|
|
685
670
|
<react_native_1.View style={styles.section}>
|
|
686
671
|
<react_native_1.View style={styles.sectionHeaderRow}>
|
|
687
672
|
<NetworkIcons_1.CodeBracketsIcon color={AppColors_1.AppColors.grayTextWeak} size={12}/>
|
|
@@ -709,7 +694,7 @@ const AnalyticsFilterModal = ({ visible, onClose, }) => {
|
|
|
709
694
|
</react_native_1.View>
|
|
710
695
|
</react_native_1.View>
|
|
711
696
|
|
|
712
|
-
|
|
697
|
+
|
|
713
698
|
{uniqueScreens.length > 0 && (<react_native_1.View style={styles.section}>
|
|
714
699
|
<react_native_1.View style={styles.sectionHeaderRow}>
|
|
715
700
|
<NetworkIcons_1.PinIcon color={AppColors_1.AppColors.grayTextWeak} size={12}/>
|
|
@@ -738,7 +723,7 @@ const AnalyticsFilterModal = ({ visible, onClose, }) => {
|
|
|
738
723
|
</react_native_1.View>
|
|
739
724
|
</react_native_1.View>)}
|
|
740
725
|
|
|
741
|
-
|
|
726
|
+
|
|
742
727
|
<react_native_1.View style={styles.section}>
|
|
743
728
|
<react_native_1.View style={styles.sectionHeaderRow}>
|
|
744
729
|
<NetworkIcons_1.ClockIcon color={AppColors_1.AppColors.grayTextWeak} size={12}/>
|
|
@@ -816,7 +801,7 @@ const AnalyticsFilterModal = ({ visible, onClose, }) => {
|
|
|
816
801
|
</react_native_1.View>
|
|
817
802
|
</react_native_1.ScrollView>
|
|
818
803
|
|
|
819
|
-
|
|
804
|
+
|
|
820
805
|
<react_native_1.View style={styles.footer}>
|
|
821
806
|
<react_native_1.TouchableOpacity onPress={handleDiscard} style={styles.discardBtn} activeOpacity={0.8}>
|
|
822
807
|
<react_native_1.Text style={styles.discardBtnText}>Discard</react_native_1.Text>
|