react-native-inapp-inspector 1.1.13 → 1.1.15

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (250) hide show
  1. package/README.md +9 -34
  2. package/dist/commonjs/assets/svgAssets.d.ts +3 -0
  3. package/dist/commonjs/assets/svgAssets.js +17 -0
  4. package/dist/commonjs/components/AnalyticsEventCard.d.ts +1 -14
  5. package/dist/commonjs/components/AnalyticsEventCard.js +120 -50
  6. package/dist/commonjs/components/AnalyticsGraph.d.ts +2 -6
  7. package/dist/commonjs/components/AnalyticsGraph.js +8 -8
  8. package/dist/commonjs/components/AnalyticsTabView.d.ts +15 -0
  9. package/dist/commonjs/components/AnalyticsTabView.js +157 -0
  10. package/dist/commonjs/components/AnimatedEntrance.d.ts +1 -1
  11. package/dist/commonjs/components/AnimatedEntrance.js +2 -2
  12. package/dist/commonjs/components/ApiDetailView.d.ts +22 -0
  13. package/dist/commonjs/components/ApiDetailView.js +304 -0
  14. package/dist/commonjs/components/ApisTabView.d.ts +33 -0
  15. package/dist/commonjs/components/ApisTabView.js +235 -0
  16. package/dist/commonjs/components/CodeSnippet.d.ts +1 -5
  17. package/dist/commonjs/components/CodeSnippet.js +34 -34
  18. package/dist/commonjs/components/ConsoleLogCard.d.ts +1 -8
  19. package/dist/commonjs/components/ConsoleLogCard.js +262 -442
  20. package/dist/commonjs/components/ConsoleLogDetailView.d.ts +9 -0
  21. package/dist/commonjs/components/ConsoleLogDetailView.js +278 -0
  22. package/dist/commonjs/components/ConsoleLogsTabView.d.ts +24 -0
  23. package/dist/commonjs/components/ConsoleLogsTabView.js +354 -0
  24. package/dist/commonjs/components/DiffViewer.js +4 -2
  25. package/dist/commonjs/components/DomainHeader.js +66 -41
  26. package/dist/commonjs/components/EmptyState.d.ts +2 -2
  27. package/dist/commonjs/components/EmptyState.js +2 -2
  28. package/dist/commonjs/components/EndOfListFooter.d.ts +8 -0
  29. package/dist/commonjs/components/EndOfListFooter.js +90 -0
  30. package/dist/commonjs/components/ErrorBoundary.d.ts +5 -14
  31. package/dist/commonjs/components/ErrorBoundary.js +28 -28
  32. package/dist/commonjs/components/FloatingBubble.d.ts +14 -0
  33. package/dist/commonjs/components/FloatingBubble.js +75 -0
  34. package/dist/commonjs/components/HeadersSection.js +5 -3
  35. package/dist/commonjs/components/HighlightText.d.ts +1 -1
  36. package/dist/commonjs/components/HighlightText.js +5 -7
  37. package/dist/commonjs/components/Inspector/AnalyticsTab.d.ts +3 -0
  38. package/dist/commonjs/components/Inspector/AnalyticsTab.js +232 -0
  39. package/dist/commonjs/components/Inspector/ConsoleTab.d.ts +3 -0
  40. package/dist/commonjs/components/Inspector/ConsoleTab.js +410 -0
  41. package/dist/commonjs/components/Inspector/FabLauncher.d.ts +3 -0
  42. package/dist/commonjs/components/Inspector/FabLauncher.js +54 -0
  43. package/dist/commonjs/components/Inspector/InsightsDashboard.d.ts +3 -0
  44. package/dist/commonjs/components/Inspector/InsightsDashboard.js +619 -0
  45. package/dist/commonjs/components/Inspector/InspectorContext.d.ts +5 -0
  46. package/dist/commonjs/components/Inspector/InspectorContext.js +18 -0
  47. package/dist/commonjs/components/Inspector/InspectorHeader.d.ts +3 -0
  48. package/dist/commonjs/components/Inspector/InspectorHeader.js +452 -0
  49. package/dist/commonjs/components/Inspector/LogDetail.d.ts +3 -0
  50. package/dist/commonjs/components/Inspector/LogDetail.js +963 -0
  51. package/dist/commonjs/components/Inspector/MainScreen.d.ts +3 -0
  52. package/dist/commonjs/components/Inspector/MainScreen.js +68 -0
  53. package/dist/commonjs/components/Inspector/NavigationTracker.d.ts +3 -0
  54. package/dist/commonjs/components/Inspector/NavigationTracker.js +12 -0
  55. package/dist/commonjs/components/Inspector/NetworkDetail.d.ts +3 -0
  56. package/dist/commonjs/components/Inspector/NetworkDetail.js +405 -0
  57. package/dist/commonjs/components/Inspector/NetworkTab.d.ts +3 -0
  58. package/dist/commonjs/components/Inspector/NetworkTab.js +281 -0
  59. package/dist/commonjs/components/Inspector/ReduxTab.d.ts +3 -0
  60. package/dist/commonjs/components/Inspector/ReduxTab.js +75 -0
  61. package/dist/commonjs/components/Inspector/SettingsPanel.d.ts +3 -0
  62. package/dist/commonjs/components/Inspector/SettingsPanel.js +1476 -0
  63. package/dist/commonjs/components/Inspector/TabBar.d.ts +3 -0
  64. package/dist/commonjs/components/Inspector/TabBar.js +95 -0
  65. package/dist/commonjs/components/Inspector/WebViewTab.d.ts +3 -0
  66. package/dist/commonjs/components/Inspector/WebViewTab.js +757 -0
  67. package/dist/commonjs/components/InspectorHeader.d.ts +19 -0
  68. package/dist/commonjs/components/InspectorHeader.js +329 -0
  69. package/dist/commonjs/components/InspectorTabBar.d.ts +16 -0
  70. package/dist/commonjs/components/InspectorTabBar.js +90 -0
  71. package/dist/commonjs/components/JsonViewer.d.ts +4 -1
  72. package/dist/commonjs/components/JsonViewer.js +110 -171
  73. package/dist/commonjs/components/LogCard.js +109 -86
  74. package/dist/commonjs/components/MetaAccordion.d.ts +1 -10
  75. package/dist/commonjs/components/MetaAccordion.js +23 -21
  76. package/dist/commonjs/components/NavigationTracker.d.ts +7 -0
  77. package/dist/commonjs/components/NavigationTracker.js +76 -0
  78. package/dist/commonjs/components/NetworkIcons.d.ts +6 -0
  79. package/dist/commonjs/components/NetworkIcons.js +54 -8
  80. package/dist/commonjs/components/ReduxTabView.d.ts +9 -0
  81. package/dist/commonjs/components/ReduxTabView.js +56 -0
  82. package/dist/commonjs/components/ReduxTreeView.js +241 -200
  83. package/dist/commonjs/components/SegmentedTabs.d.ts +15 -0
  84. package/dist/commonjs/components/SegmentedTabs.js +52 -0
  85. package/dist/commonjs/components/SettingsView.d.ts +13 -0
  86. package/dist/commonjs/components/SettingsView.js +328 -0
  87. package/dist/commonjs/components/TouchableScale.d.ts +2 -2
  88. package/dist/commonjs/components/TouchableScale.js +2 -2
  89. package/dist/commonjs/components/TreeNode.js +2 -2
  90. package/dist/commonjs/constants/index.js +1 -12
  91. package/dist/commonjs/constants/version.d.ts +1 -1
  92. package/dist/commonjs/constants/version.js +1 -1
  93. package/dist/commonjs/customHooks/analyticsLogger.d.ts +8 -0
  94. package/dist/commonjs/customHooks/analyticsLogger.js +42 -1
  95. package/dist/commonjs/customHooks/consoleLogger.js +137 -13
  96. package/dist/commonjs/customHooks/networkLogger.d.ts +0 -1
  97. package/dist/commonjs/customHooks/networkLogger.js +0 -1
  98. package/dist/commonjs/customHooks/reduxLogger.d.ts +2 -9
  99. package/dist/commonjs/enums/index.d.ts +39 -0
  100. package/dist/commonjs/enums/index.js +50 -0
  101. package/dist/commonjs/helpers/index.d.ts +27 -1
  102. package/dist/commonjs/helpers/index.js +187 -12
  103. package/dist/commonjs/helpers/settingsStore.d.ts +2 -24
  104. package/dist/commonjs/i18n/en.json +144 -0
  105. package/dist/commonjs/i18n/index.d.ts +2 -0
  106. package/dist/commonjs/i18n/index.js +27 -0
  107. package/dist/commonjs/i18n/locales/en.json +314 -0
  108. package/dist/commonjs/index.d.ts +2 -3
  109. package/dist/commonjs/index.js +207 -4927
  110. package/dist/commonjs/styles/AppColors.d.ts +148 -0
  111. package/dist/commonjs/styles/AppColors.js +176 -0
  112. package/dist/commonjs/styles/common.d.ts +3 -0
  113. package/dist/commonjs/styles/common.js +201 -0
  114. package/dist/commonjs/styles/index.d.ts +219 -435
  115. package/dist/commonjs/styles/index.js +312 -488
  116. package/dist/commonjs/types/enums.d.ts +9 -0
  117. package/dist/commonjs/types/enums.js +4 -0
  118. package/dist/commonjs/types/index.d.ts +4 -111
  119. package/dist/commonjs/types/index.js +16 -0
  120. package/dist/commonjs/types/interfaces.d.ts +337 -0
  121. package/dist/commonjs/types/interfaces.js +2 -0
  122. package/dist/esm/assets/svgAssets.d.ts +3 -0
  123. package/dist/esm/assets/svgAssets.js +14 -0
  124. package/dist/esm/components/AnalyticsEventCard.d.ts +1 -14
  125. package/dist/esm/components/AnalyticsEventCard.js +118 -48
  126. package/dist/esm/components/AnalyticsGraph.d.ts +2 -6
  127. package/dist/esm/components/AnalyticsGraph.js +8 -8
  128. package/dist/esm/components/AnalyticsTabView.d.ts +15 -0
  129. package/dist/esm/components/AnalyticsTabView.js +151 -0
  130. package/dist/esm/components/AnimatedEntrance.d.ts +1 -1
  131. package/dist/esm/components/AnimatedEntrance.js +2 -2
  132. package/dist/esm/components/ApiDetailView.d.ts +22 -0
  133. package/dist/esm/components/ApiDetailView.js +264 -0
  134. package/dist/esm/components/ApisTabView.d.ts +33 -0
  135. package/dist/esm/components/ApisTabView.js +196 -0
  136. package/dist/esm/components/CodeSnippet.d.ts +1 -5
  137. package/dist/esm/components/CodeSnippet.js +34 -34
  138. package/dist/esm/components/ConsoleLogCard.d.ts +1 -8
  139. package/dist/esm/components/ConsoleLogCard.js +262 -409
  140. package/dist/esm/components/ConsoleLogDetailView.d.ts +9 -0
  141. package/dist/esm/components/ConsoleLogDetailView.js +271 -0
  142. package/dist/esm/components/ConsoleLogsTabView.d.ts +24 -0
  143. package/dist/esm/components/ConsoleLogsTabView.js +348 -0
  144. package/dist/esm/components/DiffViewer.js +4 -2
  145. package/dist/esm/components/DomainHeader.js +66 -41
  146. package/dist/esm/components/EmptyState.d.ts +2 -2
  147. package/dist/esm/components/EmptyState.js +2 -2
  148. package/dist/esm/components/EndOfListFooter.d.ts +8 -0
  149. package/dist/esm/components/EndOfListFooter.js +83 -0
  150. package/dist/esm/components/ErrorBoundary.d.ts +5 -14
  151. package/dist/esm/components/ErrorBoundary.js +29 -29
  152. package/dist/esm/components/FloatingBubble.d.ts +14 -0
  153. package/dist/esm/components/FloatingBubble.js +68 -0
  154. package/dist/esm/components/HeadersSection.js +5 -3
  155. package/dist/esm/components/HighlightText.d.ts +1 -1
  156. package/dist/esm/components/HighlightText.js +5 -7
  157. package/dist/esm/components/Inspector/AnalyticsTab.d.ts +3 -0
  158. package/dist/esm/components/Inspector/AnalyticsTab.js +194 -0
  159. package/dist/esm/components/Inspector/ConsoleTab.d.ts +3 -0
  160. package/dist/esm/components/Inspector/ConsoleTab.js +372 -0
  161. package/dist/esm/components/Inspector/FabLauncher.d.ts +3 -0
  162. package/dist/esm/components/Inspector/FabLauncher.js +49 -0
  163. package/dist/esm/components/Inspector/InsightsDashboard.d.ts +3 -0
  164. package/dist/esm/components/Inspector/InsightsDashboard.js +614 -0
  165. package/dist/esm/components/Inspector/InspectorContext.d.ts +5 -0
  166. package/dist/esm/components/Inspector/InspectorContext.js +13 -0
  167. package/dist/esm/components/Inspector/InspectorHeader.d.ts +3 -0
  168. package/dist/esm/components/Inspector/InspectorHeader.js +447 -0
  169. package/dist/esm/components/Inspector/LogDetail.d.ts +3 -0
  170. package/dist/esm/components/Inspector/LogDetail.js +925 -0
  171. package/dist/esm/components/Inspector/MainScreen.d.ts +3 -0
  172. package/dist/esm/components/Inspector/MainScreen.js +63 -0
  173. package/dist/esm/components/Inspector/NavigationTracker.d.ts +3 -0
  174. package/dist/esm/components/Inspector/NavigationTracker.js +10 -0
  175. package/dist/esm/components/Inspector/NetworkDetail.d.ts +3 -0
  176. package/dist/esm/components/Inspector/NetworkDetail.js +367 -0
  177. package/dist/esm/components/Inspector/NetworkTab.d.ts +3 -0
  178. package/dist/esm/components/Inspector/NetworkTab.js +243 -0
  179. package/dist/esm/components/Inspector/ReduxTab.d.ts +3 -0
  180. package/dist/esm/components/Inspector/ReduxTab.js +70 -0
  181. package/dist/esm/components/Inspector/SettingsPanel.d.ts +3 -0
  182. package/dist/esm/components/Inspector/SettingsPanel.js +1438 -0
  183. package/dist/esm/components/Inspector/TabBar.d.ts +3 -0
  184. package/dist/esm/components/Inspector/TabBar.js +90 -0
  185. package/dist/esm/components/Inspector/WebViewTab.d.ts +3 -0
  186. package/dist/esm/components/Inspector/WebViewTab.js +752 -0
  187. package/dist/esm/components/InspectorHeader.d.ts +19 -0
  188. package/dist/esm/components/InspectorHeader.js +323 -0
  189. package/dist/esm/components/InspectorTabBar.d.ts +16 -0
  190. package/dist/esm/components/InspectorTabBar.js +84 -0
  191. package/dist/esm/components/JsonViewer.d.ts +4 -1
  192. package/dist/esm/components/JsonViewer.js +111 -172
  193. package/dist/esm/components/LogCard.js +111 -88
  194. package/dist/esm/components/MetaAccordion.d.ts +1 -10
  195. package/dist/esm/components/MetaAccordion.js +23 -21
  196. package/dist/esm/components/NavigationTracker.d.ts +7 -0
  197. package/dist/esm/components/NavigationTracker.js +39 -0
  198. package/dist/esm/components/NetworkIcons.d.ts +6 -0
  199. package/dist/esm/components/NetworkIcons.js +46 -6
  200. package/dist/esm/components/ReduxTabView.d.ts +9 -0
  201. package/dist/esm/components/ReduxTabView.js +50 -0
  202. package/dist/esm/components/ReduxTreeView.js +243 -202
  203. package/dist/esm/components/SegmentedTabs.d.ts +15 -0
  204. package/dist/esm/components/SegmentedTabs.js +47 -0
  205. package/dist/esm/components/SettingsView.d.ts +13 -0
  206. package/dist/esm/components/SettingsView.js +321 -0
  207. package/dist/esm/components/TouchableScale.d.ts +2 -2
  208. package/dist/esm/components/TouchableScale.js +2 -2
  209. package/dist/esm/components/TreeNode.js +2 -2
  210. package/dist/esm/constants/index.js +1 -12
  211. package/dist/esm/constants/version.d.ts +1 -1
  212. package/dist/esm/constants/version.js +1 -1
  213. package/dist/esm/customHooks/analyticsLogger.d.ts +8 -0
  214. package/dist/esm/customHooks/analyticsLogger.js +37 -0
  215. package/dist/esm/customHooks/consoleLogger.js +137 -13
  216. package/dist/esm/customHooks/networkLogger.d.ts +0 -1
  217. package/dist/esm/customHooks/networkLogger.js +0 -1
  218. package/dist/esm/customHooks/reduxLogger.d.ts +2 -9
  219. package/dist/esm/enums/index.d.ts +39 -0
  220. package/dist/esm/enums/index.js +47 -0
  221. package/dist/esm/helpers/index.d.ts +27 -1
  222. package/dist/esm/helpers/index.js +180 -11
  223. package/dist/esm/helpers/settingsStore.d.ts +2 -24
  224. package/dist/esm/i18n/en.json +144 -0
  225. package/dist/esm/i18n/index.d.ts +2 -0
  226. package/dist/esm/i18n/index.js +22 -0
  227. package/dist/esm/i18n/locales/en.json +314 -0
  228. package/dist/esm/index.d.ts +2 -3
  229. package/dist/esm/index.js +207 -4923
  230. package/dist/esm/styles/AppColors.d.ts +148 -0
  231. package/dist/esm/styles/AppColors.js +176 -0
  232. package/dist/esm/styles/common.d.ts +3 -0
  233. package/dist/esm/styles/common.js +197 -0
  234. package/dist/esm/styles/index.d.ts +219 -435
  235. package/dist/esm/styles/index.js +312 -488
  236. package/dist/esm/types/enums.d.ts +9 -0
  237. package/dist/esm/types/enums.js +3 -0
  238. package/dist/esm/types/index.d.ts +4 -111
  239. package/dist/esm/types/index.js +2 -1
  240. package/dist/esm/types/interfaces.d.ts +337 -0
  241. package/dist/esm/types/interfaces.js +1 -0
  242. package/example/App.tsx +88 -1
  243. package/example/android/app/build.gradle +29 -1
  244. package/example/android/app/src/main/java/com/example/MainApplication.kt +25 -0
  245. package/example/android/build.gradle +31 -4
  246. package/example/android/gradle/wrapper/gradle-wrapper.properties +1 -1
  247. package/example/android/gradle.properties +1 -0
  248. package/example/android/settings.gradle +20 -1
  249. package/example/package-lock.json +1 -1
  250. package/package.json +3 -1
@@ -36,6 +36,7 @@ var __importDefault = (this && this.__importDefault) || function (mod) {
36
36
  return (mod && mod.__esModule) ? mod : { "default": mod };
37
37
  };
38
38
  Object.defineProperty(exports, "__esModule", { value: true });
39
+ const react_i18next_1 = require("react-i18next");
39
40
  const react_1 = __importStar(require("react"));
40
41
  const react_native_1 = require("react-native");
41
42
  // Helpers
@@ -44,17 +45,18 @@ const helpers_1 = require("../helpers");
44
45
  const AppColors_1 = require("../styles/AppColors");
45
46
  const styles_1 = __importDefault(require("../styles"));
46
47
  const DiffViewer = react_1.default.memo(({ oldData, newData, forceOpen, }) => {
48
+ const { t } = (0, react_i18next_1.useTranslation)();
47
49
  const diffs = (0, react_1.useMemo)(() => (0, helpers_1.getDiff)(oldData, newData), [oldData, newData]);
48
50
  if (forceOpen === false) {
49
51
  return (<react_native_1.View style={styles_1.default.codeBlock}>
50
52
  <react_native_1.Text style={[styles_1.default.codeText, { color: AppColors_1.AppColors.grayTextWeak }]}>
51
- {'{ Diff hidden }'}
53
+ {t('network.diffHidden')}
52
54
  </react_native_1.Text>
53
55
  </react_native_1.View>);
54
56
  }
55
57
  if (diffs.length === 0) {
56
58
  return (<react_native_1.View style={styles_1.default.codeBlock}>
57
- <react_native_1.Text style={styles_1.default.codeText}>No differences from previous API.</react_native_1.Text>
59
+ <react_native_1.Text style={styles_1.default.codeText}>{t('network.noDiff')}</react_native_1.Text>
58
60
  </react_native_1.View>);
59
61
  }
60
62
  return (<react_native_1.ScrollView horizontal showsHorizontalScrollIndicator={true} style={styles_1.default.codeBlockScroll}>
@@ -60,77 +60,102 @@ const DomainHeader = ({ pageName, color, stats, activeFilters, onToggleFilter, i
60
60
  outputRange: ['-90deg', '0deg'],
61
61
  });
62
62
  const visibleStats = ['success', 'failed', 'loading'];
63
- return (<react_native_1.Pressable style={[styles_1.default.domainHeaderRow, !isFirst && styles_1.default.domainHeaderSeparator]} onPress={() => onToggleCollapse(pageName)}>
64
- <react_native_1.View style={styles_1.default.domainHeaderLeft}>
65
- <react_native_1.Animated.View style={{ transform: [{ rotate: chevronRotate }] }}>
66
- <NetworkIcons_1.ChevronIcon color={AppColors_1.AppColors.grayTextWeak} size={14}/>
67
- </react_native_1.Animated.View>
68
- <NetworkIcons_1.ScreenIcon color={color} size={16}/>
69
- <react_native_1.View style={{ flex: 1, marginLeft: 6, justifyContent: 'center' }}>
70
- <react_native_1.Text style={[styles_1.default.domainHeaderText, { color, marginLeft: 0 }]} numberOfLines={1}>
71
- {pageName}
72
- </react_native_1.Text>
73
- <react_native_1.View style={styles_1.default.domainSubRow}>
74
- <react_native_1.Text style={styles_1.default.domainTimestamp}>
63
+ const total = stats.success + stats.failed + stats.loading;
64
+ const pctSuccess = total > 0 ? Math.round((stats.success / total) * 100) : 0;
65
+ const pctFailed = total > 0 ? Math.round((stats.failed / total) * 100) : 0;
66
+ const pctLoading = total > 0 ? Math.round((stats.loading / total) * 100) : 0;
67
+ return (<react_native_1.Pressable style={styles_1.default.domainHeaderCard} onPress={() => onToggleCollapse(pageName)}>
68
+ <react_native_1.View style={styles_1.default.domainHeaderTopRow}>
69
+ <react_native_1.View style={styles_1.default.domainHeaderLeft}>
70
+ <react_native_1.Animated.View style={{ transform: [{ rotate: chevronRotate }] }}>
71
+ <NetworkIcons_1.ChevronIcon color={AppColors_1.AppColors.grayTextWeak} size={13}/>
72
+ </react_native_1.Animated.View>
73
+ <react_native_1.View style={[styles_1.default.domainIconWrap, { backgroundColor: `${color}18` }]}>
74
+ <NetworkIcons_1.ScreenIcon color={color} size={14}/>
75
+ </react_native_1.View>
76
+ <react_native_1.View style={{ flex: 1, justifyContent: 'center' }}>
77
+ <react_native_1.Text style={styles_1.default.domainTitleText} numberOfLines={1}>
78
+ {pageName}
79
+ </react_native_1.Text>
80
+ <react_native_1.Text style={styles_1.default.domainSummaryText} numberOfLines={1}>
75
81
  {(0, helpers_1.formatDateTime)(timestamp)}
76
82
  </react_native_1.Text>
77
83
  </react_native_1.View>
78
84
  </react_native_1.View>
79
- </react_native_1.View>
80
85
 
81
- <react_native_1.View style={styles_1.default.domainStatsGroup}>
82
- {visibleStats.map((type, index) => {
83
- const isLast = index === visibleStats.length - 1;
86
+ <react_native_1.View style={styles_1.default.domainStatsGroup}>
87
+ {visibleStats.map(type => {
84
88
  const isActive = activeFilters.has(type);
85
89
  let IconComponent;
86
90
  let activeColor = '';
87
91
  let count = 0;
88
- let bgStyle = {};
89
92
  if (type === 'success') {
90
93
  IconComponent = NetworkIcons_1.CheckIcon;
91
94
  activeColor = AppColors_1.AppColors.greenColor;
92
95
  count = stats.success;
93
- bgStyle = {
94
- backgroundColor: isActive
95
- ? `${AppColors_1.AppColors.greenColor}15`
96
- : 'transparent',
97
- };
98
96
  }
99
97
  else if (type === 'failed') {
100
98
  IconComponent = NetworkIcons_1.FailIcon;
101
99
  activeColor = AppColors_1.AppColors.errorColor;
102
100
  count = stats.failed;
103
- bgStyle = {
104
- backgroundColor: isActive
105
- ? `${AppColors_1.AppColors.errorColor}15`
106
- : 'transparent',
107
- };
108
101
  }
109
102
  else {
110
103
  IconComponent = NetworkIcons_1.ClockIcon;
111
104
  activeColor = AppColors_1.AppColors.darkOrange;
112
105
  count = stats.loading;
113
- bgStyle = {
114
- backgroundColor: isActive
115
- ? `${AppColors_1.AppColors.darkOrange}15`
116
- : 'transparent',
117
- };
118
106
  }
119
- return (<react_native_1.Pressable key={type} onPress={() => onToggleFilter(pageName, type)} style={[
120
- styles_1.default.groupBtnItem,
121
- bgStyle,
122
- !isLast && styles_1.default.groupBtnBorderRight,
107
+ return (<react_native_1.Pressable key={type} onPress={() => onToggleFilter(pageName, type)} hitSlop={6} style={[
108
+ styles_1.default.domainStatPill,
109
+ isActive && {
110
+ borderColor: `${activeColor}40`,
111
+ backgroundColor: `${activeColor}12`,
112
+ },
123
113
  ]}>
124
- <IconComponent color={isActive ? activeColor : AppColors_1.AppColors.grayTextWeak} size={type === 'failed' ? 8 : 10}/>
125
- <react_native_1.Text style={[
114
+ <react_native_1.View style={[
115
+ styles_1.default.filterCheckbox,
116
+ { marginRight: 0, width: 11, height: 11, borderRadius: 2.5 },
117
+ isActive && [
118
+ styles_1.default.filterCheckboxActive,
119
+ { backgroundColor: activeColor },
120
+ ],
121
+ ]}>
122
+ {isActive && (<NetworkIcons_1.CheckIcon color={AppColors_1.AppColors.white} size={7}/>)}
123
+ </react_native_1.View>
124
+ <IconComponent color={isActive ? activeColor : AppColors_1.AppColors.grayTextWeak} size={type === 'failed' ? 8 : 10}/>
125
+ <react_native_1.Text style={[
126
126
  styles_1.default.domainStatText,
127
127
  { color: isActive ? activeColor : AppColors_1.AppColors.grayTextWeak },
128
128
  ]}>
129
- {count}
130
- </react_native_1.Text>
131
- </react_native_1.Pressable>);
129
+ {count}
130
+ </react_native_1.Text>
131
+ </react_native_1.Pressable>);
132
132
  })}
133
+ </react_native_1.View>
133
134
  </react_native_1.View>
135
+
136
+ {total > 0 && (<react_native_1.View style={styles_1.default.domainProgressTrack}>
137
+ {pctSuccess > 0 && (<react_native_1.View style={[
138
+ styles_1.default.domainProgressSegment,
139
+ {
140
+ width: `${pctSuccess}%`,
141
+ backgroundColor: AppColors_1.AppColors.greenColor,
142
+ },
143
+ ]}/>)}
144
+ {pctFailed > 0 && (<react_native_1.View style={[
145
+ styles_1.default.domainProgressSegment,
146
+ {
147
+ width: `${pctFailed}%`,
148
+ backgroundColor: AppColors_1.AppColors.errorColor,
149
+ },
150
+ ]}/>)}
151
+ {pctLoading > 0 && (<react_native_1.View style={[
152
+ styles_1.default.domainProgressSegment,
153
+ {
154
+ width: `${pctLoading}%`,
155
+ backgroundColor: AppColors_1.AppColors.darkOrange,
156
+ },
157
+ ]}/>)}
158
+ </react_native_1.View>)}
134
159
  </react_native_1.Pressable>);
135
160
  };
136
161
  exports.default = DomainHeader;
@@ -1,5 +1,5 @@
1
1
  import React from 'react';
2
- declare const EmptyState: ({ isSearch }: {
2
+ declare const EmptyState: React.NamedExoticComponent<{
3
3
  isSearch?: boolean;
4
- }) => React.JSX.Element;
4
+ }>;
5
5
  export default EmptyState;
@@ -46,7 +46,7 @@ const NetworkIcons_1 = require("./NetworkIcons");
46
46
  // Stylesheet
47
47
  const AppColors_1 = require("../styles/AppColors");
48
48
  const styles_1 = __importDefault(require("../styles"));
49
- const EmptyState = ({ isSearch }) => {
49
+ const EmptyState = react_1.default.memo(function EmptyState({ isSearch }) {
50
50
  const iconPulse = (0, react_1.useRef)(new react_native_1.Animated.Value(1)).current;
51
51
  (0, react_1.useEffect)(() => {
52
52
  const loop = react_native_1.Animated.loop(react_native_1.Animated.sequence([
@@ -87,5 +87,5 @@ const EmptyState = ({ isSearch }) => {
87
87
  <react_native_1.Text style={styles_1.default.reloadBtnText}>Reload App</react_native_1.Text>
88
88
  </TouchableScale_1.default>)}
89
89
  </AnimatedEntrance_1.default>);
90
- };
90
+ });
91
91
  exports.default = EmptyState;
@@ -0,0 +1,8 @@
1
+ import React from 'react';
2
+ interface EndOfListFooterProps {
3
+ count?: number;
4
+ label?: string;
5
+ message?: string;
6
+ }
7
+ export declare const EndOfListFooter: React.FC<EndOfListFooterProps>;
8
+ export default EndOfListFooter;
@@ -0,0 +1,90 @@
1
+ "use strict";
2
+ var __importDefault = (this && this.__importDefault) || function (mod) {
3
+ return (mod && mod.__esModule) ? mod : { "default": mod };
4
+ };
5
+ Object.defineProperty(exports, "__esModule", { value: true });
6
+ exports.EndOfListFooter = void 0;
7
+ const react_1 = __importDefault(require("react"));
8
+ const react_native_1 = require("react-native");
9
+ const AppColors_1 = require("../styles/AppColors");
10
+ const AppFonts_1 = require("../styles/AppFonts");
11
+ const NetworkIcons_1 = require("./NetworkIcons");
12
+ const EndOfListFooter = ({ count, label, message = "You've reached the end of the list", }) => {
13
+ return (<react_native_1.View style={styles.container}>
14
+ <react_native_1.View style={styles.dividerLine}/>
15
+ <react_native_1.View style={styles.badgePill}>
16
+ <react_native_1.View style={styles.iconCircle}>
17
+ <NetworkIcons_1.CheckIcon color={AppColors_1.AppColors.purple} size={8}/>
18
+ </react_native_1.View>
19
+ <react_native_1.Text style={styles.messageText}>{message}</react_native_1.Text>
20
+ {count != null && count > 0 && (<react_native_1.View style={styles.countBadge}>
21
+ <react_native_1.Text style={styles.countText}>
22
+ {count} {label ? (count === 1 ? label.replace(/s$/, '') : label) : ''}
23
+ </react_native_1.Text>
24
+ </react_native_1.View>)}
25
+ </react_native_1.View>
26
+ <react_native_1.View style={styles.dividerLine}/>
27
+ </react_native_1.View>);
28
+ };
29
+ exports.EndOfListFooter = EndOfListFooter;
30
+ const styles = react_native_1.StyleSheet.create({
31
+ container: {
32
+ flexDirection: 'row',
33
+ alignItems: 'center',
34
+ justifyContent: 'center',
35
+ paddingHorizontal: 16,
36
+ paddingTop: 16,
37
+ paddingBottom: 28,
38
+ gap: 8,
39
+ },
40
+ dividerLine: {
41
+ flex: 1,
42
+ height: 1,
43
+ backgroundColor: AppColors_1.AppColors.dividerColor,
44
+ opacity: 0.7,
45
+ },
46
+ badgePill: {
47
+ flexDirection: 'row',
48
+ alignItems: 'center',
49
+ gap: 6,
50
+ paddingHorizontal: 10,
51
+ paddingVertical: 5,
52
+ borderRadius: 999,
53
+ backgroundColor: AppColors_1.AppColors.primaryLight,
54
+ borderWidth: 1,
55
+ borderColor: AppColors_1.AppColors.grayBorderSecondary,
56
+ shadowColor: AppColors_1.AppColors.black,
57
+ shadowOffset: { width: 0, height: 1 },
58
+ shadowOpacity: 0.04,
59
+ shadowRadius: 2,
60
+ elevation: 1,
61
+ },
62
+ iconCircle: {
63
+ width: 14,
64
+ height: 14,
65
+ borderRadius: 7,
66
+ backgroundColor: `${AppColors_1.AppColors.purple}18`,
67
+ alignItems: 'center',
68
+ justifyContent: 'center',
69
+ },
70
+ messageText: {
71
+ fontFamily: AppFonts_1.AppFonts.interMedium,
72
+ fontSize: 11,
73
+ color: AppColors_1.AppColors.grayTextWeak,
74
+ letterSpacing: 0.1,
75
+ },
76
+ countBadge: {
77
+ paddingHorizontal: 5,
78
+ paddingVertical: 1,
79
+ borderRadius: 6,
80
+ backgroundColor: AppColors_1.AppColors.grayBackground,
81
+ borderWidth: 1,
82
+ borderColor: AppColors_1.AppColors.grayBorderSecondary,
83
+ },
84
+ countText: {
85
+ fontFamily: AppFonts_1.AppFonts.interBold,
86
+ fontSize: 9.5,
87
+ color: AppColors_1.AppColors.grayTextStrong,
88
+ },
89
+ });
90
+ exports.default = exports.EndOfListFooter;
@@ -1,17 +1,8 @@
1
- import React, { Component, ErrorInfo, ReactNode } from 'react';
2
- interface Props {
3
- children: ReactNode;
4
- onClose?: () => void;
5
- onReset?: () => void;
6
- fallbackType?: 'modal' | 'inline';
7
- }
8
- interface State {
9
- hasError: boolean;
10
- error: Error | null;
11
- }
12
- export declare class ErrorBoundary extends Component<Props, State> {
13
- state: State;
14
- static getDerivedStateFromError(error: Error): State;
1
+ import React, { Component, ErrorInfo } from 'react';
2
+ import { ErrorBoundaryProps, ErrorBoundaryState } from '../types';
3
+ export declare class ErrorBoundary extends Component<ErrorBoundaryProps, ErrorBoundaryState> {
4
+ state: ErrorBoundaryState;
5
+ static getDerivedStateFromError(error: Error): ErrorBoundaryState;
15
6
  componentDidCatch(error: Error, errorInfo: ErrorInfo): void;
16
7
  private handleReset;
17
8
  private handleCopyTrace;
@@ -127,7 +127,7 @@ ${error.stack}`;
127
127
  <react_native_1.View style={{
128
128
  flexDirection: 'row',
129
129
  alignItems: 'center',
130
- backgroundColor: isNativeCrash ? 'rgba(239, 68, 68, 0.1)' : 'rgba(245, 158, 11, 0.1)',
130
+ backgroundColor: isNativeCrash ? `${AppColors_1.AppColors.errorColor}1A` : `${AppColors_1.AppColors.amber500}1A`,
131
131
  paddingHorizontal: 10,
132
132
  paddingVertical: 4,
133
133
  borderRadius: 20,
@@ -137,7 +137,7 @@ ${error.stack}`;
137
137
  <react_native_1.Text style={{
138
138
  fontSize: 10,
139
139
  fontWeight: 'bold',
140
- color: isNativeCrash ? '#EF4444' : '#F59E0B',
140
+ color: isNativeCrash ? AppColors_1.AppColors.errorColor : AppColors_1.AppColors.amber500,
141
141
  fontFamily: AppFonts_1.AppFonts.interBold || 'System'
142
142
  }}>
143
143
  {isNativeCrash ? '🔴 NATIVE CRASH' : '🟡 JAVASCRIPT CRASH'}
@@ -149,22 +149,22 @@ ${error.stack}`;
149
149
  </react_native_1.Text>
150
150
 
151
151
  {parsed && (<react_native_1.View style={{
152
- backgroundColor: '#F1F5F9',
152
+ backgroundColor: AppColors_1.AppColors.slate100,
153
153
  borderRadius: 8,
154
154
  padding: 10,
155
155
  width: '100%',
156
156
  marginBottom: 10,
157
157
  borderWidth: 1,
158
- borderColor: '#E2E8F0',
158
+ borderColor: AppColors_1.AppColors.slate200,
159
159
  gap: 4
160
160
  }}>
161
- <react_native_1.Text style={{ fontSize: 11, color: '#475569', fontFamily: AppFonts_1.AppFonts.interMedium }} numberOfLines={1}>
161
+ <react_native_1.Text style={{ fontSize: 11, color: AppColors_1.AppColors.slate600, fontFamily: AppFonts_1.AppFonts.interMedium }} numberOfLines={1}>
162
162
  <react_native_1.Text style={{ fontWeight: 'bold' }}>Method:</react_native_1.Text> {parsed.method}
163
163
  </react_native_1.Text>
164
- <react_native_1.Text style={{ fontSize: 11, color: '#475569', fontFamily: AppFonts_1.AppFonts.interMedium }} numberOfLines={1}>
164
+ <react_native_1.Text style={{ fontSize: 11, color: AppColors_1.AppColors.slate600, fontFamily: AppFonts_1.AppFonts.interMedium }} numberOfLines={1}>
165
165
  <react_native_1.Text style={{ fontWeight: 'bold' }}>File:</react_native_1.Text> {parsed.file}
166
166
  </react_native_1.Text>
167
- <react_native_1.Text style={{ fontSize: 11, color: '#475569', fontFamily: AppFonts_1.AppFonts.interMedium }}>
167
+ <react_native_1.Text style={{ fontSize: 11, color: AppColors_1.AppColors.slate600, fontFamily: AppFonts_1.AppFonts.interMedium }}>
168
168
  <react_native_1.Text style={{ fontWeight: 'bold' }}>Line:</react_native_1.Text> {parsed.line} <react_native_1.Text style={{ fontWeight: 'bold' }}>Col:</react_native_1.Text> {parsed.column}
169
169
  </react_native_1.Text>
170
170
  </react_native_1.View>)}
@@ -179,7 +179,7 @@ ${error.stack}`;
179
179
 
180
180
  <react_native_1.View style={{ width: '100%', gap: 8, marginBottom: 12 }}>
181
181
  <react_native_1.TouchableOpacity style={{
182
- backgroundColor: '#0F172A',
182
+ backgroundColor: AppColors_1.AppColors.slate900,
183
183
  height: 38,
184
184
  borderRadius: 8,
185
185
  justifyContent: 'center',
@@ -187,7 +187,7 @@ ${error.stack}`;
187
187
  flexDirection: 'row',
188
188
  gap: 6
189
189
  }} onPress={this.handleCopyTrace}>
190
- <react_native_1.Text style={{ color: '#FFFFFF', fontSize: 12, fontWeight: 'bold', fontFamily: AppFonts_1.AppFonts.interBold || 'System' }}>
190
+ <react_native_1.Text style={{ color: AppColors_1.AppColors.white, fontSize: 12, fontWeight: 'bold', fontFamily: AppFonts_1.AppFonts.interBold || 'System' }}>
191
191
  📋 Copy Crash Traceback
192
192
  </react_native_1.Text>
193
193
  </react_native_1.TouchableOpacity>
@@ -209,11 +209,11 @@ ${error.stack}`;
209
209
  }
210
210
  }
211
211
  exports.ErrorBoundary = ErrorBoundary;
212
- const monoFont = react_native_1.Platform.OS === 'ios' ? 'Menlo' : 'monospace';
212
+ const monoFont = AppFonts_1.AppFonts.interRegular;
213
213
  const styles = react_native_1.StyleSheet.create({
214
214
  container: {
215
215
  flex: 1,
216
- backgroundColor: 'rgba(0,0,0,0.3)',
216
+ backgroundColor: `${AppColors_1.AppColors.black}4D`,
217
217
  justifyContent: 'center',
218
218
  alignItems: 'center',
219
219
  padding: 16,
@@ -221,11 +221,11 @@ const styles = react_native_1.StyleSheet.create({
221
221
  card: {
222
222
  width: '100%',
223
223
  maxWidth: 400,
224
- backgroundColor: '#FFFFFF',
224
+ backgroundColor: AppColors_1.AppColors.white,
225
225
  borderRadius: 16,
226
226
  padding: 20,
227
227
  alignItems: 'center',
228
- shadowColor: '#000000',
228
+ shadowColor: AppColors_1.AppColors.black,
229
229
  shadowOffset: { width: 0, height: 4 },
230
230
  shadowOpacity: 0.1,
231
231
  shadowRadius: 12,
@@ -238,14 +238,14 @@ const styles = react_native_1.StyleSheet.create({
238
238
  title: {
239
239
  fontFamily: AppFonts_1.AppFonts.interBold || 'System',
240
240
  fontSize: 18,
241
- color: '#0F172A',
241
+ color: AppColors_1.AppColors.slate900,
242
242
  marginBottom: 8,
243
243
  textAlign: 'center',
244
244
  },
245
245
  subtitle: {
246
246
  fontFamily: AppFonts_1.AppFonts.interRegular || 'System',
247
247
  fontSize: 12,
248
- color: '#64748B',
248
+ color: AppColors_1.AppColors.slate500,
249
249
  lineHeight: 18,
250
250
  textAlign: 'center',
251
251
  marginBottom: 16,
@@ -253,10 +253,10 @@ const styles = react_native_1.StyleSheet.create({
253
253
  scroll: {
254
254
  width: '100%',
255
255
  maxHeight: 180,
256
- backgroundColor: '#F8FAFC',
256
+ backgroundColor: AppColors_1.AppColors.slate50,
257
257
  borderRadius: 8,
258
258
  borderWidth: 1,
259
- borderColor: '#E2E8F0',
259
+ borderColor: AppColors_1.AppColors.slate200,
260
260
  padding: 10,
261
261
  marginBottom: 20,
262
262
  },
@@ -266,7 +266,7 @@ const styles = react_native_1.StyleSheet.create({
266
266
  code: {
267
267
  fontFamily: monoFont,
268
268
  fontSize: 11,
269
- color: '#E11D48',
269
+ color: AppColors_1.AppColors.rose600,
270
270
  },
271
271
  btnRow: {
272
272
  flexDirection: 'row',
@@ -275,7 +275,7 @@ const styles = react_native_1.StyleSheet.create({
275
275
  },
276
276
  resetBtn: {
277
277
  flex: 1,
278
- backgroundColor: AppColors_1.AppColors.purple || '#684B9B',
278
+ backgroundColor: AppColors_1.AppColors.purple,
279
279
  height: 40,
280
280
  borderRadius: 8,
281
281
  justifyContent: 'center',
@@ -284,13 +284,13 @@ const styles = react_native_1.StyleSheet.create({
284
284
  resetBtnText: {
285
285
  fontFamily: AppFonts_1.AppFonts.interBold || 'System',
286
286
  fontSize: 13,
287
- color: '#FFFFFF',
287
+ color: AppColors_1.AppColors.white,
288
288
  },
289
289
  closeBtn: {
290
290
  flex: 1,
291
- backgroundColor: '#F1F5F9',
291
+ backgroundColor: AppColors_1.AppColors.slate100,
292
292
  borderWidth: 1,
293
- borderColor: '#E2E8F0',
293
+ borderColor: AppColors_1.AppColors.slate200,
294
294
  height: 40,
295
295
  borderRadius: 8,
296
296
  justifyContent: 'center',
@@ -299,13 +299,13 @@ const styles = react_native_1.StyleSheet.create({
299
299
  closeBtnText: {
300
300
  fontFamily: AppFonts_1.AppFonts.interBold || 'System',
301
301
  fontSize: 13,
302
- color: '#475569',
302
+ color: AppColors_1.AppColors.slate600,
303
303
  },
304
304
  inlineContainer: {
305
305
  padding: 8,
306
- backgroundColor: '#FFE4E6',
306
+ backgroundColor: AppColors_1.AppColors.roseBg,
307
307
  borderWidth: 1,
308
- borderColor: '#FCA5A5',
308
+ borderColor: AppColors_1.AppColors.errorBorder,
309
309
  borderRadius: 8,
310
310
  flexDirection: 'row',
311
311
  alignItems: 'center',
@@ -315,10 +315,10 @@ const styles = react_native_1.StyleSheet.create({
315
315
  inlineTitle: {
316
316
  fontFamily: AppFonts_1.AppFonts.interBold || 'System',
317
317
  fontSize: 11,
318
- color: '#991B1B',
318
+ color: AppColors_1.AppColors.redErrorText,
319
319
  },
320
320
  inlineResetBtn: {
321
- backgroundColor: '#991B1B',
321
+ backgroundColor: AppColors_1.AppColors.redErrorText,
322
322
  paddingHorizontal: 10,
323
323
  paddingVertical: 4,
324
324
  borderRadius: 4,
@@ -326,7 +326,7 @@ const styles = react_native_1.StyleSheet.create({
326
326
  inlineResetText: {
327
327
  fontFamily: AppFonts_1.AppFonts.interBold || 'System',
328
328
  fontSize: 10,
329
- color: '#FFFFFF',
329
+ color: AppColors_1.AppColors.white,
330
330
  },
331
331
  });
332
332
  exports.default = ErrorBoundary;
@@ -0,0 +1,14 @@
1
+ import React from 'react';
2
+ import { Animated, PanResponder } from 'react-native';
3
+ interface FloatingBubbleProps {
4
+ pan: Animated.ValueXY;
5
+ panResponder: ReturnType<typeof PanResponder.create>;
6
+ fabScaleAnim: Animated.Value;
7
+ fabRotateAnim: Animated.Value;
8
+ fabShineAnim: Animated.Value;
9
+ unreadPulseAnim: Animated.Value;
10
+ hasUnread: boolean;
11
+ onPress: () => void;
12
+ }
13
+ export declare const FloatingBubble: React.FC<FloatingBubbleProps>;
14
+ export default FloatingBubble;
@@ -0,0 +1,75 @@
1
+ "use strict";
2
+ var __importDefault = (this && this.__importDefault) || function (mod) {
3
+ return (mod && mod.__esModule) ? mod : { "default": mod };
4
+ };
5
+ Object.defineProperty(exports, "__esModule", { value: true });
6
+ exports.FloatingBubble = void 0;
7
+ const react_1 = __importDefault(require("react"));
8
+ const react_native_1 = require("react-native");
9
+ const react_native_linear_gradient_1 = __importDefault(require("react-native-linear-gradient"));
10
+ const TouchableScale_1 = __importDefault(require("./TouchableScale"));
11
+ const BrandCircleIcon_1 = require("./BrandCircleIcon");
12
+ const styles_1 = __importDefault(require("../styles"));
13
+ const AppColors_1 = require("../styles/AppColors");
14
+ const FloatingBubble = ({ pan, panResponder, fabScaleAnim, fabRotateAnim, fabShineAnim, unreadPulseAnim, hasUnread, onPress, }) => {
15
+ return (<react_native_1.Animated.View style={[
16
+ styles_1.default.fabContainer,
17
+ {
18
+ transform: [
19
+ { translateX: pan.x },
20
+ { translateY: pan.y },
21
+ { scale: fabScaleAnim },
22
+ ],
23
+ },
24
+ ]} {...panResponder.panHandlers}>
25
+ <TouchableScale_1.default style={styles_1.default.fabGradientTouchable} onPress={onPress} activeScale={0.88}>
26
+ <react_native_linear_gradient_1.default colors={[
27
+ AppColors_1.AppColors.gradientPurpleStart,
28
+ AppColors_1.AppColors.gradientPurpleMid,
29
+ AppColors_1.AppColors.gradientPurpleEnd,
30
+ ]} start={{ x: 0, y: 0 }} end={{ x: 1, y: 1 }} style={styles_1.default.fabGradientInner}>
31
+ <react_native_1.Animated.View style={{
32
+ transform: [
33
+ {
34
+ rotate: fabRotateAnim.interpolate({
35
+ inputRange: [0, 1],
36
+ outputRange: ['0deg', '360deg'],
37
+ }),
38
+ },
39
+ ],
40
+ }}>
41
+ <BrandCircleIcon_1.BrandCircleIcon size={38}/>
42
+ </react_native_1.Animated.View>
43
+ </react_native_linear_gradient_1.default>
44
+
45
+ <react_native_1.View pointerEvents="none" style={styles_1.default.fabShineClip}>
46
+ <react_native_1.Animated.View style={[
47
+ styles_1.default.fabShineStreak,
48
+ {
49
+ transform: [
50
+ {
51
+ translateX: fabShineAnim.interpolate({
52
+ inputRange: [0, 1],
53
+ outputRange: [-48, 96],
54
+ }),
55
+ },
56
+ { rotate: '25deg' },
57
+ ],
58
+ },
59
+ ]}>
60
+ <react_native_linear_gradient_1.default colors={[
61
+ 'rgba(255,255,255,0)',
62
+ 'rgba(255,255,255,0.55)',
63
+ 'rgba(255,255,255,0)',
64
+ ]} start={{ x: 0, y: 0.5 }} end={{ x: 1, y: 0.5 }} style={{ flex: 1 }}/>
65
+ </react_native_1.Animated.View>
66
+ </react_native_1.View>
67
+ {hasUnread && (<react_native_1.Animated.View style={[
68
+ styles_1.default.fabGreenDot,
69
+ { transform: [{ scale: unreadPulseAnim }] },
70
+ ]}/>)}
71
+ </TouchableScale_1.default>
72
+ </react_native_1.Animated.View>);
73
+ };
74
+ exports.FloatingBubble = FloatingBubble;
75
+ exports.default = exports.FloatingBubble;
@@ -37,6 +37,7 @@ var __importDefault = (this && this.__importDefault) || function (mod) {
37
37
  };
38
38
  Object.defineProperty(exports, "__esModule", { value: true });
39
39
  const react_1 = __importStar(require("react"));
40
+ const react_i18next_1 = require("react-i18next");
40
41
  const react_native_1 = require("react-native");
41
42
  // Components
42
43
  const CopyButton_1 = __importDefault(require("./CopyButton"));
@@ -96,6 +97,7 @@ const HeaderRow = react_1.default.memo(function HeaderRow({ headerKey, value, is
96
97
  </react_native_1.Animated.View>);
97
98
  });
98
99
  const HeadersSection = ({ title, headers, search, resetKey, }) => {
100
+ const { t } = (0, react_i18next_1.useTranslation)();
99
101
  const { toggleOpen, forceOpen, chevronStyle, bodyStyle } = (0, useAccordion_1.default)(false, 2400, 300);
100
102
  (0, react_1.useEffect)(() => {
101
103
  forceOpen(false);
@@ -142,12 +144,12 @@ const HeadersSection = ({ title, headers, search, resetKey, }) => {
142
144
 
143
145
  <react_native_1.Animated.View style={bodyStyle}>
144
146
  <react_native_1.View style={styles_1.default.htColHeadRow}>
145
- <react_native_1.Text style={[styles_1.default.htColHead, { width: '30%' }]}>KEY</react_native_1.Text>
146
- <react_native_1.Text style={[styles_1.default.htColHead, { flex: 1 }]}>VALUE</react_native_1.Text>
147
+ <react_native_1.Text style={[styles_1.default.htColHead, { width: '30%' }]}>{t('network.jsonViewer.key')}</react_native_1.Text>
148
+ <react_native_1.Text style={[styles_1.default.htColHead, { flex: 1 }]}>{t('network.jsonViewer.value')}</react_native_1.Text>
147
149
  </react_native_1.View>
148
150
 
149
151
  {filtered.length > 0 ? (filtered.map(([k, v], i) => (<HeaderRow key={k} headerKey={k} value={v} isLast={i === filtered.length - 1} index={i}/>))) : (<react_native_1.View style={styles_1.default.htEmpty}>
150
- <react_native_1.Text style={styles_1.default.htEmptyText}>No matching headers</react_native_1.Text>
152
+ <react_native_1.Text style={styles_1.default.htEmptyText}>{t('network.noMatchingHeaders')}</react_native_1.Text>
151
153
  </react_native_1.View>)}
152
154
  </react_native_1.Animated.View>
153
155
  </react_native_1.View>);
@@ -1,3 +1,3 @@
1
1
  import React from 'react';
2
- declare const HighlightText: ({ text, search, style, highlightStyle, detectLinks, ...rest }: any) => React.JSX.Element;
2
+ declare const HighlightText: React.NamedExoticComponent<any>;
3
3
  export default HighlightText;