react-native-inapp-inspector 2.4.0 → 2.4.2

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 (231) hide show
  1. package/README.ar.md +163 -0
  2. package/README.de.md +163 -0
  3. package/README.es.md +164 -0
  4. package/README.fr.md +163 -0
  5. package/README.hi.md +163 -0
  6. package/README.ja.md +180 -0
  7. package/README.ko.md +163 -0
  8. package/README.md +340 -243
  9. package/README.pt-BR.md +163 -0
  10. package/README.ru.md +163 -0
  11. package/README.zh-CN.md +387 -0
  12. package/android/src/main/java/com/inappinspector/NetworkInspectorModule.kt +82 -21
  13. package/assets/banner_dark.svg +186 -0
  14. package/assets/banner_light.svg +186 -0
  15. package/assets/icon_circle.svg +148 -0
  16. package/assets/icon_square.svg +369 -0
  17. package/assets/inapp_inspector_icon.gif +0 -0
  18. package/assets/inapp_inspector_icon_original.gif +0 -0
  19. package/assets/social_preview.png +0 -0
  20. package/assets/walkthrough.gif +0 -0
  21. package/dist/commonjs/components/AnimatedBrandOwl.d.ts +7 -0
  22. package/dist/commonjs/components/AnimatedBrandOwl.js +175 -0
  23. package/dist/commonjs/components/AppHeaderLogo.d.ts +1 -0
  24. package/dist/commonjs/components/AppHeaderLogo.js +7 -5
  25. package/dist/commonjs/components/BrandSquareIcon.d.ts +5 -0
  26. package/dist/commonjs/components/BrandSquareIcon.js +139 -0
  27. package/dist/commonjs/components/ConsoleLogCard.d.ts +2 -1
  28. package/dist/commonjs/components/ConsoleLogCard.js +23 -39
  29. package/dist/commonjs/components/Inspector/AboutModal.js +44 -54
  30. package/dist/commonjs/components/Inspector/AnalyticsTab.js +16 -16
  31. package/dist/commonjs/components/Inspector/ConfirmationModal.d.ts +13 -0
  32. package/dist/commonjs/components/Inspector/ConfirmationModal.js +32 -0
  33. package/dist/commonjs/components/Inspector/ConsoleTab.js +15 -15
  34. package/dist/commonjs/components/Inspector/CrashTab.js +25 -23
  35. package/dist/commonjs/components/Inspector/DebuggingTab.js +17 -17
  36. package/dist/commonjs/components/Inspector/FabLauncher.js +22 -30
  37. package/dist/commonjs/components/Inspector/FeatureUnderDevNotice.js +2 -2
  38. package/dist/commonjs/components/Inspector/LanguageSelectorModal.d.ts +15 -0
  39. package/dist/commonjs/components/Inspector/LanguageSelectorModal.js +90 -0
  40. package/dist/commonjs/components/Inspector/MainScreen.js +46 -33
  41. package/dist/commonjs/components/Inspector/MediaGalleryTab.js +21 -19
  42. package/dist/commonjs/components/Inspector/MediaPreviewModal.js +85 -101
  43. package/dist/commonjs/components/Inspector/NetworkTab.js +50 -50
  44. package/dist/commonjs/components/Inspector/NpmUpdateToast.js +1 -1
  45. package/dist/commonjs/components/Inspector/PushCard.d.ts +3 -2
  46. package/dist/commonjs/components/Inspector/PushCard.js +5 -4
  47. package/dist/commonjs/components/Inspector/PushDetail.js +32 -23
  48. package/dist/commonjs/components/Inspector/PushTab.js +13 -13
  49. package/dist/commonjs/components/Inspector/ReduxDetail.js +32 -32
  50. package/dist/commonjs/components/Inspector/ReduxTab.js +14 -14
  51. package/dist/commonjs/components/Inspector/SettingsPanel.js +258 -139
  52. package/dist/commonjs/components/Inspector/SocketCard.d.ts +5 -0
  53. package/dist/commonjs/components/Inspector/SocketCard.js +116 -0
  54. package/dist/commonjs/components/Inspector/SocketDetail.d.ts +4 -0
  55. package/dist/commonjs/components/Inspector/SocketDetail.js +317 -0
  56. package/dist/commonjs/components/Inspector/SocketFilterModal.d.ts +13 -0
  57. package/dist/commonjs/components/Inspector/SocketFilterModal.js +69 -0
  58. package/dist/commonjs/components/Inspector/SocketTab.d.ts +3 -0
  59. package/dist/commonjs/components/Inspector/SocketTab.js +112 -0
  60. package/dist/commonjs/components/Inspector/StorageTab.js +34 -32
  61. package/dist/commonjs/components/Inspector/SupportModal.d.ts +7 -0
  62. package/dist/commonjs/components/Inspector/SupportModal.js +125 -0
  63. package/dist/commonjs/components/Inspector/SupportPage.d.ts +5 -0
  64. package/dist/commonjs/components/Inspector/SupportPage.js +227 -0
  65. package/dist/commonjs/components/Inspector/TabBar.js +24 -23
  66. package/dist/commonjs/components/Inspector/UpdateAvailableModal.js +24 -24
  67. package/dist/commonjs/components/JsonViewer.js +7 -7
  68. package/dist/commonjs/components/LogCard.d.ts +3 -2
  69. package/dist/commonjs/components/LogCard.js +17 -14
  70. package/dist/commonjs/components/LogSyntaxHighlighter.js +5 -5
  71. package/dist/commonjs/components/ModuleErrorBoundary.js +2 -2
  72. package/dist/commonjs/components/NetworkIcons.d.ts +15 -0
  73. package/dist/commonjs/components/NetworkIcons.js +38 -3
  74. package/dist/commonjs/components/SegmentedTabs.js +1 -1
  75. package/dist/commonjs/constants/version.d.ts +1 -1
  76. package/dist/commonjs/constants/version.js +1 -1
  77. package/dist/commonjs/customHooks/socketLogger.d.ts +26 -0
  78. package/dist/commonjs/customHooks/socketLogger.js +2 -0
  79. package/dist/commonjs/helpers/index.js +3 -3
  80. package/dist/commonjs/helpers/memoryManager.d.ts +1 -0
  81. package/dist/commonjs/helpers/memoryManager.js +1 -1
  82. package/dist/commonjs/helpers/searchQueryParser.d.ts +1 -1
  83. package/dist/commonjs/helpers/searchQueryParser.js +5 -1
  84. package/dist/commonjs/helpers/settingsStore.d.ts +1 -0
  85. package/dist/commonjs/helpers/settingsStore.js +1 -1
  86. package/dist/commonjs/helpers/shareFormatter.d.ts +3 -1
  87. package/dist/commonjs/helpers/shareFormatter.js +8 -7
  88. package/dist/commonjs/i18n/index.d.ts +99 -1
  89. package/dist/commonjs/i18n/index.js +1 -1
  90. package/dist/commonjs/i18n/locales/ar.json +1 -1
  91. package/dist/commonjs/i18n/locales/bn.json +1 -0
  92. package/dist/commonjs/i18n/locales/de.json +1 -1
  93. package/dist/commonjs/i18n/locales/en.json +1 -1
  94. package/dist/commonjs/i18n/locales/es.json +1 -1
  95. package/dist/commonjs/i18n/locales/fr.json +1 -1
  96. package/dist/commonjs/i18n/locales/gu.json +1 -0
  97. package/dist/commonjs/i18n/locales/hi.json +1 -1
  98. package/dist/commonjs/i18n/locales/id.json +1 -0
  99. package/dist/commonjs/i18n/locales/it.json +1 -0
  100. package/dist/commonjs/i18n/locales/ja.json +1 -1
  101. package/dist/commonjs/i18n/locales/kn.json +1 -0
  102. package/dist/commonjs/i18n/locales/ko.json +1 -1
  103. package/dist/commonjs/i18n/locales/ml.json +1 -0
  104. package/dist/commonjs/i18n/locales/mr.json +1 -0
  105. package/dist/commonjs/i18n/locales/nl.json +1 -0
  106. package/dist/commonjs/i18n/locales/pa.json +1 -0
  107. package/dist/commonjs/i18n/locales/pl.json +1 -0
  108. package/dist/commonjs/i18n/locales/pt.json +1 -1
  109. package/dist/commonjs/i18n/locales/ru.json +1 -1
  110. package/dist/commonjs/i18n/locales/ta.json +1 -0
  111. package/dist/commonjs/i18n/locales/te.json +1 -0
  112. package/dist/commonjs/i18n/locales/tr.json +1 -0
  113. package/dist/commonjs/i18n/locales/vi.json +1 -0
  114. package/dist/commonjs/i18n/locales/zh.json +1 -1
  115. package/dist/commonjs/index.d.ts +13 -13
  116. package/dist/commonjs/index.js +5 -4
  117. package/dist/commonjs/native/NativeInspector.d.ts +1 -0
  118. package/dist/commonjs/socket.d.ts +4 -0
  119. package/dist/commonjs/socket.js +1 -0
  120. package/dist/commonjs/styles/index.d.ts +23 -0
  121. package/dist/commonjs/styles/index.js +1 -1
  122. package/dist/commonjs/types/enums.d.ts +40 -0
  123. package/dist/commonjs/types/enums.js +1 -1
  124. package/dist/commonjs/types/interfaces.d.ts +122 -1
  125. package/dist/esm/components/AnimatedBrandOwl.d.ts +7 -0
  126. package/dist/esm/components/AnimatedBrandOwl.js +175 -0
  127. package/dist/esm/components/AppHeaderLogo.d.ts +1 -0
  128. package/dist/esm/components/AppHeaderLogo.js +7 -5
  129. package/dist/esm/components/BrandSquareIcon.d.ts +5 -0
  130. package/dist/esm/components/BrandSquareIcon.js +139 -0
  131. package/dist/esm/components/ConsoleLogCard.d.ts +2 -1
  132. package/dist/esm/components/ConsoleLogCard.js +61 -77
  133. package/dist/esm/components/Inspector/AboutModal.js +85 -95
  134. package/dist/esm/components/Inspector/AnalyticsTab.js +31 -31
  135. package/dist/esm/components/Inspector/ConfirmationModal.d.ts +13 -0
  136. package/dist/esm/components/Inspector/ConfirmationModal.js +32 -0
  137. package/dist/esm/components/Inspector/ConsoleTab.js +49 -49
  138. package/dist/esm/components/Inspector/CrashTab.js +40 -38
  139. package/dist/esm/components/Inspector/DebuggingTab.js +29 -29
  140. package/dist/esm/components/Inspector/FabLauncher.js +50 -58
  141. package/dist/esm/components/Inspector/FeatureUnderDevNotice.js +7 -7
  142. package/dist/esm/components/Inspector/LanguageSelectorModal.d.ts +15 -0
  143. package/dist/esm/components/Inspector/LanguageSelectorModal.js +90 -0
  144. package/dist/esm/components/Inspector/MainScreen.js +123 -110
  145. package/dist/esm/components/Inspector/MediaGalleryTab.js +64 -62
  146. package/dist/esm/components/Inspector/MediaPreviewModal.js +107 -123
  147. package/dist/esm/components/Inspector/NetworkTab.js +90 -90
  148. package/dist/esm/components/Inspector/NpmUpdateToast.js +1 -1
  149. package/dist/esm/components/Inspector/PushCard.d.ts +3 -2
  150. package/dist/esm/components/Inspector/PushCard.js +23 -22
  151. package/dist/esm/components/Inspector/PushDetail.js +34 -25
  152. package/dist/esm/components/Inspector/PushTab.js +25 -25
  153. package/dist/esm/components/Inspector/ReduxDetail.js +42 -42
  154. package/dist/esm/components/Inspector/ReduxTab.js +35 -35
  155. package/dist/esm/components/Inspector/SettingsPanel.js +495 -376
  156. package/dist/esm/components/Inspector/SocketCard.d.ts +5 -0
  157. package/dist/esm/components/Inspector/SocketCard.js +116 -0
  158. package/dist/esm/components/Inspector/SocketDetail.d.ts +4 -0
  159. package/dist/esm/components/Inspector/SocketDetail.js +317 -0
  160. package/dist/esm/components/Inspector/SocketFilterModal.d.ts +13 -0
  161. package/dist/esm/components/Inspector/SocketFilterModal.js +69 -0
  162. package/dist/esm/components/Inspector/SocketTab.d.ts +3 -0
  163. package/dist/esm/components/Inspector/SocketTab.js +112 -0
  164. package/dist/esm/components/Inspector/StorageTab.js +136 -134
  165. package/dist/esm/components/Inspector/SupportModal.d.ts +7 -0
  166. package/dist/esm/components/Inspector/SupportModal.js +125 -0
  167. package/dist/esm/components/Inspector/SupportPage.d.ts +5 -0
  168. package/dist/esm/components/Inspector/SupportPage.js +227 -0
  169. package/dist/esm/components/Inspector/TabBar.js +36 -35
  170. package/dist/esm/components/Inspector/UpdateAvailableModal.js +22 -22
  171. package/dist/esm/components/JsonViewer.js +55 -55
  172. package/dist/esm/components/LogCard.d.ts +3 -2
  173. package/dist/esm/components/LogCard.js +61 -58
  174. package/dist/esm/components/LogSyntaxHighlighter.js +5 -5
  175. package/dist/esm/components/ModuleErrorBoundary.js +23 -23
  176. package/dist/esm/components/NetworkIcons.d.ts +15 -0
  177. package/dist/esm/components/NetworkIcons.js +38 -3
  178. package/dist/esm/components/SegmentedTabs.js +7 -7
  179. package/dist/esm/constants/version.d.ts +1 -1
  180. package/dist/esm/constants/version.js +1 -1
  181. package/dist/esm/customHooks/socketLogger.d.ts +26 -0
  182. package/dist/esm/customHooks/socketLogger.js +2 -0
  183. package/dist/esm/helpers/index.js +3 -3
  184. package/dist/esm/helpers/memoryManager.d.ts +1 -0
  185. package/dist/esm/helpers/memoryManager.js +1 -1
  186. package/dist/esm/helpers/searchQueryParser.d.ts +1 -1
  187. package/dist/esm/helpers/searchQueryParser.js +5 -1
  188. package/dist/esm/helpers/settingsStore.d.ts +1 -0
  189. package/dist/esm/helpers/settingsStore.js +1 -1
  190. package/dist/esm/helpers/shareFormatter.d.ts +3 -1
  191. package/dist/esm/helpers/shareFormatter.js +8 -7
  192. package/dist/esm/i18n/index.d.ts +99 -1
  193. package/dist/esm/i18n/index.js +1 -1
  194. package/dist/esm/i18n/locales/ar.json +1 -1
  195. package/dist/esm/i18n/locales/bn.json +1 -0
  196. package/dist/esm/i18n/locales/de.json +1 -1
  197. package/dist/esm/i18n/locales/en.json +1 -1
  198. package/dist/esm/i18n/locales/es.json +1 -1
  199. package/dist/esm/i18n/locales/fr.json +1 -1
  200. package/dist/esm/i18n/locales/gu.json +1 -0
  201. package/dist/esm/i18n/locales/hi.json +1 -1
  202. package/dist/esm/i18n/locales/id.json +1 -0
  203. package/dist/esm/i18n/locales/it.json +1 -0
  204. package/dist/esm/i18n/locales/ja.json +1 -1
  205. package/dist/esm/i18n/locales/kn.json +1 -0
  206. package/dist/esm/i18n/locales/ko.json +1 -1
  207. package/dist/esm/i18n/locales/ml.json +1 -0
  208. package/dist/esm/i18n/locales/mr.json +1 -0
  209. package/dist/esm/i18n/locales/nl.json +1 -0
  210. package/dist/esm/i18n/locales/pa.json +1 -0
  211. package/dist/esm/i18n/locales/pl.json +1 -0
  212. package/dist/esm/i18n/locales/pt.json +1 -1
  213. package/dist/esm/i18n/locales/ru.json +1 -1
  214. package/dist/esm/i18n/locales/ta.json +1 -0
  215. package/dist/esm/i18n/locales/te.json +1 -0
  216. package/dist/esm/i18n/locales/tr.json +1 -0
  217. package/dist/esm/i18n/locales/vi.json +1 -0
  218. package/dist/esm/i18n/locales/zh.json +1 -1
  219. package/dist/esm/index.d.ts +13 -13
  220. package/dist/esm/index.js +8 -7
  221. package/dist/esm/native/NativeInspector.d.ts +1 -0
  222. package/dist/esm/socket.d.ts +4 -0
  223. package/dist/esm/socket.js +1 -0
  224. package/dist/esm/styles/index.d.ts +23 -0
  225. package/dist/esm/styles/index.js +1 -1
  226. package/dist/esm/types/enums.d.ts +40 -0
  227. package/dist/esm/types/enums.js +1 -1
  228. package/dist/esm/types/interfaces.d.ts +122 -1
  229. package/ios/NetworkInspectorModule.mm +102 -12
  230. package/package.json +204 -2
  231. package/src/native/NativeInspector.ts +8 -0
@@ -1,25 +1,23 @@
1
- "use strict";var __importDefault=this&&this.__importDefault||function(e){return e&&e.__esModule?e:{default:e}};Object.defineProperty(exports,"__esModule",{value:!0}),exports.AboutModal=void 0;const react_1=__importDefault(require("react")),react_native_1=require("react-native"),AppColors_1=require("../../styles/AppColors"),AppFonts_1=require("../../styles/AppFonts"),TouchableScale_1=__importDefault(require("../TouchableScale")),InspectorContext_1=require("./InspectorContext"),version_1=require("../../constants/version"),helpers_1=require("../../helpers"),NetworkIcons_1=require("../NetworkIcons"),AboutModal=({onClose:e})=>{const{updateAvailable:t,latestNpmVersion:r}=(0,InspectorContext_1.useInspector)();return<react_native_1.View style={styles.container}>
1
+ "use strict";var __importDefault=this&&this.__importDefault||function(e){return e&&e.__esModule?e:{default:e}};Object.defineProperty(exports,"__esModule",{value:!0}),exports.AboutModal=void 0;const react_1=__importDefault(require("react")),react_native_1=require("react-native"),AppColors_1=require("../../styles/AppColors"),AppFonts_1=require("../../styles/AppFonts"),TouchableScale_1=__importDefault(require("../TouchableScale")),InspectorContext_1=require("./InspectorContext"),i18n_1=require("../../i18n"),version_1=require("../../constants/version"),AppHeaderLogo_1=__importDefault(require("../AppHeaderLogo")),helpers_1=require("../../helpers"),NetworkIcons_1=require("../NetworkIcons"),AboutModal=({onClose:e})=>{const{updateAvailable:t,latestNpmVersion:o}=(0,InspectorContext_1.useInspector)();return<react_native_1.View style={styles.container}>
2
2
  <react_native_1.ScrollView style={styles.scrollView}contentContainerStyle={styles.scrollContent}showsVerticalScrollIndicator={!1}>
3
3
 
4
4
  <react_native_1.View style={styles.heroCard}>
5
5
  <react_native_1.View style={styles.heroHeaderRow}>
6
6
  <react_native_1.View style={styles.heroBrandRow}>
7
- <react_native_1.View style={styles.heroIconBox}>
8
- <NetworkIcons_1.PackageIcon color={AppColors_1.AppColors.brandPurple}size={24}/>
9
- </react_native_1.View>
7
+ <AppHeaderLogo_1.default size={46}shape="circle"/>
10
8
  <react_native_1.View style={{flex:1}}>
11
9
  <react_native_1.View style={styles.heroTitleRow}>
12
- <react_native_1.Text style={styles.heroTitle}>In-App Inspector</react_native_1.Text>
10
+ <react_native_1.Text style={styles.heroTitle}>{(0,i18n_1.t)("about.heroTitle","In-App Inspector")}</react_native_1.Text>
13
11
  <react_native_1.View style={styles.versionBadge}>
14
12
  <react_native_1.Text style={styles.versionBadgeText}>v{version_1.LIB_VERSION}</react_native_1.Text>
15
13
  </react_native_1.View>
16
14
  {t?<react_native_1.View style={styles.updateBadge}>
17
15
  <react_native_1.Text style={styles.updateBadgeText}>
18
- v{r} Available
16
+ {(0,i18n_1.t)("about.versionAvailable","v{{version}} Available").replace("{{version}}",o||"")}
19
17
  </react_native_1.Text>
20
18
  <NetworkIcons_1.BoltIcon size={9}color={AppColors_1.AppColors.amber600}/>
21
19
  </react_native_1.View>:<react_native_1.View style={styles.upToDateBadge}>
22
- <react_native_1.Text style={styles.upToDateBadgeText}>Up to date</react_native_1.Text>
20
+ <react_native_1.Text style={styles.upToDateBadgeText}>{(0,i18n_1.t)("about.upToDate","Up to date")}</react_native_1.Text>
23
21
  </react_native_1.View>}
24
22
  </react_native_1.View>
25
23
  <react_native_1.Text style={styles.heroPackageName}>
@@ -30,54 +28,52 @@
30
28
  </react_native_1.View>
31
29
 
32
30
  <react_native_1.Text style={styles.heroDescription}>
33
- The all-in-one on-device debugging, logging, and QA companion for
34
- React Native & Expo applications. Designed for developers, QA
35
- testers, and product teams.
31
+ {(0,i18n_1.t)("about.heroDescription","The all-in-one on-device debugging, logging, and QA companion for React Native & Expo applications. Designed for developers, QA testers, and product teams.")}
36
32
  </react_native_1.Text>
37
33
 
38
- {t&&<TouchableScale_1.default onPress={()=>{(0,helpers_1.copyToClipboard)("npm install react-native-inapp-inspector@latest","Install Command"),(0,helpers_1.showToast)("Copied npm upgrade command!")}}style={styles.upgradeBtn}>
34
+ {t&&<TouchableScale_1.default onPress={()=>{(0,helpers_1.copyToClipboard)("npm install react-native-inapp-inspector@latest","Install Command"),(0,helpers_1.showToast)((0,i18n_1.t)("about.copiedUpgradeCommand","Copied npm upgrade command!"))}}style={styles.upgradeBtn}>
39
35
  <NetworkIcons_1.BoltIcon size={12}color={AppColors_1.AppColors.white}/>
40
36
  <react_native_1.Text style={styles.upgradeBtnText}>
41
- Copy Upgrade Command (v{r})
37
+ {(0,i18n_1.t)("about.copyUpgradeCommand","Copy Upgrade Command (v{{version}})").replace("{{version}}",o||"")}
42
38
  </react_native_1.Text>
43
39
  </TouchableScale_1.default>}
44
40
  </react_native_1.View>
45
41
 
46
42
 
47
43
  <react_native_1.View style={styles.sectionCard}>
48
- <react_native_1.Text style={styles.sectionHeader}>APP INFORMATION</react_native_1.Text>
44
+ <react_native_1.Text style={styles.sectionHeader}>{(0,i18n_1.t)("about.appInformation","APP INFORMATION")}</react_native_1.Text>
49
45
 
50
46
  <react_native_1.View style={{gap:8}}>
51
47
  <react_native_1.View style={styles.row}>
52
- <react_native_1.Text style={styles.rowLabel}>App Name</react_native_1.Text>
48
+ <react_native_1.Text style={styles.rowLabel}>{(0,i18n_1.t)("about.appName","App Name")}</react_native_1.Text>
53
49
  <react_native_1.Text style={styles.rowValueBold}>{(0,helpers_1.getAppName)()}</react_native_1.Text>
54
50
  </react_native_1.View>
55
51
 
56
52
  <react_native_1.View style={styles.row}>
57
- <react_native_1.Text style={styles.rowLabel}>Package Identifier</react_native_1.Text>
53
+ <react_native_1.Text style={styles.rowLabel}>{(0,i18n_1.t)("about.packageIdentifier","Package Identifier")}</react_native_1.Text>
58
54
  <react_native_1.Text style={styles.rowValueRegular}>{(0,helpers_1.getBundleIdentifier)()}</react_native_1.Text>
59
55
  </react_native_1.View>
60
56
 
61
57
  <react_native_1.View style={styles.row}>
62
- <react_native_1.Text style={styles.rowLabel}>App Version</react_native_1.Text>
58
+ <react_native_1.Text style={styles.rowLabel}>{(0,i18n_1.t)("about.appVersion","App Version")}</react_native_1.Text>
63
59
  <react_native_1.Text style={styles.rowValueBold}>
64
60
  {(0,helpers_1.getAppVersionAndBuild)().formatted}
65
61
  </react_native_1.Text>
66
62
  </react_native_1.View>
67
63
 
68
64
  <react_native_1.View style={styles.row}>
69
- <react_native_1.Text style={styles.rowLabel}>Environment</react_native_1.Text>
65
+ <react_native_1.Text style={styles.rowLabel}>{(0,i18n_1.t)("about.environment","Environment")}</react_native_1.Text>
70
66
  <react_native_1.View style={[styles.statusTag,{backgroundColor:__DEV__?`${AppColors_1.AppColors.amber500}20`:`${AppColors_1.AppColors.emerald500}20`,borderColor:__DEV__?`${AppColors_1.AppColors.amber500}50`:`${AppColors_1.AppColors.emerald500}50`}]}>
71
67
  <react_native_1.Text style={[styles.statusTagText,{color:__DEV__?AppColors_1.AppColors.amber600:AppColors_1.AppColors.emerald600}]}>
72
- {__DEV__?"Development (Debug)":"Production (Release)"}
68
+ {__DEV__?(0,i18n_1.t)("about.developmentDebug","Development (Debug)"):(0,i18n_1.t)("about.productionRelease","Production (Release)")}
73
69
  </react_native_1.Text>
74
70
  </react_native_1.View>
75
71
  </react_native_1.View>
76
72
 
77
73
  <react_native_1.View style={styles.row}>
78
- <react_native_1.Text style={styles.rowLabel}>Platform</react_native_1.Text>
74
+ <react_native_1.Text style={styles.rowLabel}>{(0,i18n_1.t)("about.platform","Platform")}</react_native_1.Text>
79
75
  <react_native_1.Text style={styles.rowValueRegular}>
80
- {react_native_1.Platform.OS==="ios"?"Apple iOS":"Google Android"}{" "}
76
+ {react_native_1.Platform.OS==="ios"?(0,i18n_1.t)("about.appleIos","Apple iOS"):(0,i18n_1.t)("about.googleAndroid","Google Android")}{" "}
81
77
  (v{react_native_1.Platform.Version})
82
78
  </react_native_1.Text>
83
79
  </react_native_1.View>
@@ -86,7 +82,7 @@
86
82
 
87
83
 
88
84
  <react_native_1.View style={styles.sectionCard}>
89
- <react_native_1.Text style={styles.sectionHeader}>WHAT IN-APP INSPECTOR DOES</react_native_1.Text>
85
+ <react_native_1.Text style={styles.sectionHeader}>{(0,i18n_1.t)("about.features","WHAT IN-APP INSPECTOR DOES")}</react_native_1.Text>
90
86
 
91
87
  <react_native_1.View style={styles.featuresList}>
92
88
  <react_native_1.View style={styles.featureItem}>
@@ -94,10 +90,9 @@
94
90
  <NetworkIcons_1.WifiIcon color={AppColors_1.AppColors.brandPurple}size={18}/>
95
91
  </react_native_1.View>
96
92
  <react_native_1.View style={styles.featureTextBox}>
97
- <react_native_1.Text style={styles.featureTitle}>Network Traffic Monitor</react_native_1.Text>
93
+ <react_native_1.Text style={styles.featureTitle}>{(0,i18n_1.t)("about.featureNetwork","Network Traffic Monitor")}</react_native_1.Text>
98
94
  <react_native_1.Text style={styles.featureDesc}>
99
- Inspect HTTP and HTTPS API requests, responses, headers, and
100
- server latency with waterfall timing charts.
95
+ {(0,i18n_1.t)("about.featureNetworkDesc","Inspect HTTP and HTTPS API requests, responses, headers, and server latency with waterfall timing charts.")}
101
96
  </react_native_1.Text>
102
97
  </react_native_1.View>
103
98
  </react_native_1.View>
@@ -107,10 +102,9 @@
107
102
  <NetworkIcons_1.TerminalIcon color={AppColors_1.AppColors.blue500}size={18}/>
108
103
  </react_native_1.View>
109
104
  <react_native_1.View style={styles.featureTextBox}>
110
- <react_native_1.Text style={styles.featureTitle}>Console Logger</react_native_1.Text>
105
+ <react_native_1.Text style={styles.featureTitle}>{(0,i18n_1.t)("about.featureConsole","Console Logger")}</react_native_1.Text>
111
106
  <react_native_1.Text style={styles.featureDesc}>
112
- View real-time console logs, warnings, and errors with source
113
- file origins and formatted stack traces.
107
+ {(0,i18n_1.t)("about.featureConsoleDesc","View real-time console logs, warnings, and errors with source file origins and formatted stack traces.")}
114
108
  </react_native_1.Text>
115
109
  </react_native_1.View>
116
110
  </react_native_1.View>
@@ -120,10 +114,9 @@
120
114
  <NetworkIcons_1.AnalyticsIcon color={AppColors_1.AppColors.firebaseOrange}size={18}/>
121
115
  </react_native_1.View>
122
116
  <react_native_1.View style={styles.featureTextBox}>
123
- <react_native_1.Text style={styles.featureTitle}>Analytics Telemetry</react_native_1.Text>
117
+ <react_native_1.Text style={styles.featureTitle}>{(0,i18n_1.t)("about.featureAnalytics","Analytics Telemetry")}</react_native_1.Text>
124
118
  <react_native_1.Text style={styles.featureDesc}>
125
- Track Firebase and custom analytics events, screen views, and
126
- user properties live on the device.
119
+ {(0,i18n_1.t)("about.featureAnalyticsDesc","Track Firebase and custom analytics events, screen views, and user properties live on the device.")}
127
120
  </react_native_1.Text>
128
121
  </react_native_1.View>
129
122
  </react_native_1.View>
@@ -133,10 +126,9 @@
133
126
  <NetworkIcons_1.DatabaseIcon color={AppColors_1.AppColors.violet600}size={18}/>
134
127
  </react_native_1.View>
135
128
  <react_native_1.View style={styles.featureTextBox}>
136
- <react_native_1.Text style={styles.featureTitle}>Redux State & Actions</react_native_1.Text>
129
+ <react_native_1.Text style={styles.featureTitle}>{(0,i18n_1.t)("about.featureRedux","Redux State & Actions")}</react_native_1.Text>
137
130
  <react_native_1.Text style={styles.featureDesc}>
138
- Inspect dispatched actions, payloads, and state tree diffs
139
- without connecting desktop companion tools.
131
+ {(0,i18n_1.t)("about.featureReduxDesc","Inspect dispatched actions, payloads, and state tree diffs without connecting desktop companion tools.")}
140
132
  </react_native_1.Text>
141
133
  </react_native_1.View>
142
134
  </react_native_1.View>
@@ -146,10 +138,9 @@
146
138
  <NetworkIcons_1.CameraIcon color={AppColors_1.AppColors.teal600}size={18}/>
147
139
  </react_native_1.View>
148
140
  <react_native_1.View style={styles.featureTextBox}>
149
- <react_native_1.Text style={styles.featureTitle}>Screen & Video Capture</react_native_1.Text>
141
+ <react_native_1.Text style={styles.featureTitle}>{(0,i18n_1.t)("about.featureCapture","Screen & Video Capture")}</react_native_1.Text>
150
142
  <react_native_1.Text style={styles.featureDesc}>
151
- Take screenshots and record test sessions to share with QA and
152
- engineering teams instantly.
143
+ {(0,i18n_1.t)("about.featureCaptureDesc","Take screenshots and record test sessions to share with QA and engineering teams instantly.")}
153
144
  </react_native_1.Text>
154
145
  </react_native_1.View>
155
146
  </react_native_1.View>
@@ -160,11 +151,10 @@
160
151
  </react_native_1.View>
161
152
  <react_native_1.View style={styles.featureTextBox}>
162
153
  <react_native_1.Text style={styles.featureTitle}>
163
- Crash Catcher & Diagnostics
154
+ {(0,i18n_1.t)("about.featureCrash","Crash Catcher & Diagnostics")}
164
155
  </react_native_1.Text>
165
156
  <react_native_1.Text style={styles.featureDesc}>
166
- Protects against native crashes and provides device health
167
- metrics including RAM, battery, and storage.
157
+ {(0,i18n_1.t)("about.featureCrashDesc","Protects against native crashes and provides device health metrics including RAM, battery, and storage.")}
168
158
  </react_native_1.Text>
169
159
  </react_native_1.View>
170
160
  </react_native_1.View>
@@ -178,9 +168,9 @@
178
168
  <react_native_1.View style={{flex:1}}>
179
169
  <react_native_1.View style={{flexDirection:"row",alignItems:"center",gap:5}}>
180
170
  <NetworkIcons_1.StarIcon color={AppColors_1.AppColors.amber500}size={13}/>
181
- <react_native_1.Text style={styles.gridCardTitle}>GitHub</react_native_1.Text>
171
+ <react_native_1.Text style={styles.gridCardTitle}>{(0,i18n_1.t)("about.github","GitHub")}</react_native_1.Text>
182
172
  </react_native_1.View>
183
- <react_native_1.Text style={styles.gridCardSub}>Star & source code</react_native_1.Text>
173
+ <react_native_1.Text style={styles.gridCardSub}>{(0,i18n_1.t)("about.githubSub","Star & source code")}</react_native_1.Text>
184
174
  </react_native_1.View>
185
175
  <NetworkIcons_1.ExternalLinkIcon size={12}color={AppColors_1.AppColors.grayTextWeak}/>
186
176
  </TouchableScale_1.default>
@@ -188,8 +178,8 @@
188
178
  <TouchableScale_1.default onPress={()=>{react_native_1.Linking.openURL("https://www.npmjs.com/package/react-native-inapp-inspector").catch(()=>{})}}style={styles.gridCard}>
189
179
  <NetworkIcons_1.NpmIcon color={AppColors_1.AppColors.npmRed}size={18}/>
190
180
  <react_native_1.View style={{flex:1}}>
191
- <react_native_1.Text style={styles.gridCardTitle}>NPM Registry</react_native_1.Text>
192
- <react_native_1.Text style={styles.gridCardSub}>Package updates</react_native_1.Text>
181
+ <react_native_1.Text style={styles.gridCardTitle}>{(0,i18n_1.t)("about.npmRegistry","NPM Registry")}</react_native_1.Text>
182
+ <react_native_1.Text style={styles.gridCardSub}>{(0,i18n_1.t)("about.npmRegistrySub","Package updates")}</react_native_1.Text>
193
183
  </react_native_1.View>
194
184
  <NetworkIcons_1.ExternalLinkIcon size={12}color={AppColors_1.AppColors.grayTextWeak}/>
195
185
  </TouchableScale_1.default>
@@ -197,8 +187,8 @@
197
187
  <TouchableScale_1.default onPress={()=>{react_native_1.Linking.openURL("https://github.com/vengatmacuser/react-native-inapp-inspector#readme").catch(()=>{})}}style={styles.gridCard}>
198
188
  <NetworkIcons_1.BookOpenIcon color={AppColors_1.AppColors.brandPurple}size={18}/>
199
189
  <react_native_1.View style={{flex:1}}>
200
- <react_native_1.Text style={styles.gridCardTitle}>Documentation</react_native_1.Text>
201
- <react_native_1.Text style={styles.gridCardSub}>Integration guide</react_native_1.Text>
190
+ <react_native_1.Text style={styles.gridCardTitle}>{(0,i18n_1.t)("about.documentation","Documentation")}</react_native_1.Text>
191
+ <react_native_1.Text style={styles.gridCardSub}>{(0,i18n_1.t)("about.documentationSub","Integration guide")}</react_native_1.Text>
202
192
  </react_native_1.View>
203
193
  <NetworkIcons_1.ExternalLinkIcon size={12}color={AppColors_1.AppColors.grayTextWeak}/>
204
194
  </TouchableScale_1.default>
@@ -206,8 +196,8 @@
206
196
  <TouchableScale_1.default onPress={()=>{react_native_1.Linking.openURL("https://github.com/vengatmacuser/react-native-inapp-inspector/issues").catch(()=>{})}}style={styles.gridCard}>
207
197
  <NetworkIcons_1.BugIcon color={AppColors_1.AppColors.errorColor}size={18}/>
208
198
  <react_native_1.View style={{flex:1}}>
209
- <react_native_1.Text style={styles.gridCardTitle}>Report Issue</react_native_1.Text>
210
- <react_native_1.Text style={styles.gridCardSub}>Help & support</react_native_1.Text>
199
+ <react_native_1.Text style={styles.gridCardTitle}>{(0,i18n_1.t)("about.reportIssue","Report Issue")}</react_native_1.Text>
200
+ <react_native_1.Text style={styles.gridCardSub}>{(0,i18n_1.t)("about.reportIssueSub","Help & support")}</react_native_1.Text>
211
201
  </react_native_1.View>
212
202
  <NetworkIcons_1.ExternalLinkIcon size={12}color={AppColors_1.AppColors.grayTextWeak}/>
213
203
  </TouchableScale_1.default>
@@ -215,17 +205,17 @@
215
205
  <TouchableScale_1.default onPress={()=>{react_native_1.Linking.openURL("https://github.com/vengatmacuser/react-native-inapp-inspector/releases").catch(()=>{})}}style={styles.gridCard}>
216
206
  <NetworkIcons_1.TagIcon color={AppColors_1.AppColors.successGreen}size={18}/>
217
207
  <react_native_1.View style={{flex:1}}>
218
- <react_native_1.Text style={styles.gridCardTitle}>Release Notes</react_native_1.Text>
219
- <react_native_1.Text style={styles.gridCardSub}>What's new</react_native_1.Text>
208
+ <react_native_1.Text style={styles.gridCardTitle}>{(0,i18n_1.t)("about.releaseNotes","Release Notes")}</react_native_1.Text>
209
+ <react_native_1.Text style={styles.gridCardSub}>{(0,i18n_1.t)("about.releaseNotesSub","What's new")}</react_native_1.Text>
220
210
  </react_native_1.View>
221
211
  <NetworkIcons_1.ExternalLinkIcon size={12}color={AppColors_1.AppColors.grayTextWeak}/>
222
212
  </TouchableScale_1.default>
223
213
 
224
- <TouchableScale_1.default onPress={()=>{(0,helpers_1.copyToClipboard)("npm install react-native-inapp-inspector","NPM Command"),(0,helpers_1.showToast)("Copied package install command!")}}style={styles.gridCard}>
214
+ <TouchableScale_1.default onPress={()=>{(0,helpers_1.copyToClipboard)("npm install react-native-inapp-inspector","NPM Command"),(0,helpers_1.showToast)((0,i18n_1.t)("about.copiedInstallCommand","Copied package install command!"))}}style={styles.gridCard}>
225
215
  <NetworkIcons_1.CopyIcon color={AppColors_1.AppColors.brandPurple}size={16}/>
226
216
  <react_native_1.View style={{flex:1}}>
227
- <react_native_1.Text style={styles.gridCardTitle}>Copy Install</react_native_1.Text>
228
- <react_native_1.Text style={styles.gridCardSub}>npm / yarn command</react_native_1.Text>
217
+ <react_native_1.Text style={styles.gridCardTitle}>{(0,i18n_1.t)("about.copyInstall","Copy Install")}</react_native_1.Text>
218
+ <react_native_1.Text style={styles.gridCardSub}>{(0,i18n_1.t)("about.copyInstallSub","npm / yarn command")}</react_native_1.Text>
229
219
  </react_native_1.View>
230
220
  </TouchableScale_1.default>
231
221
  </react_native_1.View>
@@ -233,10 +223,10 @@
233
223
 
234
224
  <react_native_1.View style={styles.footer}>
235
225
  <react_native_1.Text style={styles.footerText}>
236
- React Native In-App Inspector · MIT License
226
+ {(0,i18n_1.t)("about.footerLicense","React Native In-App Inspector \xB7 MIT License")}
237
227
  </react_native_1.Text>
238
228
  <react_native_1.Text style={styles.footerSubText}>
239
- Zero-config on-device debugging tool
229
+ {(0,i18n_1.t)("about.footerTagline","Zero-config on-device debugging tool")}
240
230
  </react_native_1.Text>
241
231
  </react_native_1.View>
242
232
  </react_native_1.ScrollView>
@@ -1,14 +1,14 @@
1
- "use strict";var __createBinding=this&&this.__createBinding||(Object.create?(function(n,l,r,a){a===void 0&&(a=r);var s=Object.getOwnPropertyDescriptor(l,r);(!s||("get"in s?!l.__esModule:s.writable||s.configurable))&&(s={enumerable:!0,get:function(){return l[r]}}),Object.defineProperty(n,a,s)}):(function(n,l,r,a){a===void 0&&(a=r),n[a]=l[r]})),__setModuleDefault=this&&this.__setModuleDefault||(Object.create?(function(n,l){Object.defineProperty(n,"default",{enumerable:!0,value:l})}):function(n,l){n.default=l}),__importStar=this&&this.__importStar||(function(){var n=function(l){return n=Object.getOwnPropertyNames||function(r){var a=[];for(var s in r)Object.prototype.hasOwnProperty.call(r,s)&&(a[a.length]=s);return a},n(l)};return function(l){if(l&&l.__esModule)return l;var r={};if(l!=null)for(var a=n(l),s=0;s<a.length;s++)a[s]!=="default"&&__createBinding(r,l,a[s]);return __setModuleDefault(r,l),r}})(),__importDefault=this&&this.__importDefault||function(n){return n&&n.__esModule?n:{default:n}};Object.defineProperty(exports,"__esModule",{value:!0});const react_1=__importStar(require("react")),react_native_1=require("react-native"),InspectorContext_1=require("./InspectorContext"),AnalyticsEventCard_1=__importDefault(require("../AnalyticsEventCard")),AnalyticsFilterModal_1=__importDefault(require("./AnalyticsFilterModal")),EndOfListFooter_1=__importDefault(require("../EndOfListFooter")),EmptyState_1=__importDefault(require("../EmptyState")),styles_1=__importDefault(require("../../styles")),AppColors_1=require("../../styles/AppColors"),AppFonts_1=require("../../styles/AppFonts"),i18n_1=require("../../i18n"),TouchableScale_1=__importDefault(require("../TouchableScale")),helpers_1=require("../../helpers"),NetworkIcons_1=require("../NetworkIcons"),AnalyticsTab=react_1.default.memo(()=>{const{t:n}=(0,i18n_1.useTranslation)(),{analyticsEvents:l,filteredAnalyticsEvents:r,analyticsSearch:a,setAnalyticsSearch:s,analyticsFilters:w,setAnalyticsFilters:T,handleDelete:L,selectedEvent:z,setSelectedEvent:x,newEventIds:V,logRouteMapRef:F,isAnalyticsLayoutReady:E,setIsAnalyticsLayoutReady:B,isAnalyticsFilterApplied:v}=(0,InspectorContext_1.useInspector)(),N=(0,react_1.useRef)(null),[R,O]=(0,react_1.useState)(!1),[P,k]=(0,react_1.useState)(100),A=(0,react_1.useMemo)(()=>r.slice(0,P),[r,P]),u=(0,react_1.useMemo)(()=>{let e=0,o=0,t=0,i=0;for(const m of l){const C=(0,helpers_1.getEventCategory)(m.name),c=m.count||1;C==="ecommerce"?e+=c:C==="page_view"?o+=c:C==="system"?t+=c:i+=c}const _=e+o+t+i;return{ecommerce:e,page_view:o,system:t,custom:i,totalCount:_}},[l]),q=(0,react_1.useCallback)(e=>{(0,InspectorContext_1.animateNextLayout)(),T(o=>{if(e==="all")return{...o,categories:new Set(["all"])};const t=new Set(o.categories);if(t.has("all"))t.delete("all"),t.add(e);else if(t.has(e))t.delete(e),t.size===0&&t.add("all");else if(t.add(e),t.has("ecommerce")&&t.has("page_view")&&t.has("system")&&t.has("custom"))return{...o,categories:new Set(["all"])};return{...o,categories:t}})},[T]),D=(0,react_1.useCallback)((e,o)=>e?.id?.toString()??o.toString(),[]),j=(0,react_1.useCallback)(({item:e,index:o})=>{const t=r[o+1],i=r[o-1],_=t?e.timestamp-t.timestamp:void 0,m=Math.floor(e.timestamp/6e4),C=i?Math.floor(i.timestamp/6e4):-1,c=o===0||m!==C;return<AnalyticsEventCard_1.default event={e}onPress={()=>{x(e)}}isNew={V.has(e.id)}searchStr={a}isFirst={o===0}isLast={o===r.length-1}msSincePrev={_}showTimestamp={c}computedScreenName={(()=>{if(!e)return"";const b=e.screenName||e.screenClass||e.pageTitle||e.pageLocation||e.params?.firebase_screen||e.params?.screen_name||e.params?.firebase_screen_class||e.params?.screen_class;let S=typeof b=="string"?b:b?JSON.stringify(b):"";const I=F.current.get(e.id+1e6);if(!S&&I&&I.path!=="Navigators"){const M=I.path.split(" \u2794 ");S=M[M.length-1]}return S})()}/>},[r,a,V,x,F]),$=(0,react_1.useCallback)((e,o)=>({length:86,offset:86*o,index:o}),[]);return<>
1
+ "use strict";var __createBinding=this&&this.__createBinding||(Object.create?(function(n,l,a,o){o===void 0&&(o=a);var s=Object.getOwnPropertyDescriptor(l,a);(!s||("get"in s?!l.__esModule:s.writable||s.configurable))&&(s={enumerable:!0,get:function(){return l[a]}}),Object.defineProperty(n,o,s)}):(function(n,l,a,o){o===void 0&&(o=a),n[o]=l[a]})),__setModuleDefault=this&&this.__setModuleDefault||(Object.create?(function(n,l){Object.defineProperty(n,"default",{enumerable:!0,value:l})}):function(n,l){n.default=l}),__importStar=this&&this.__importStar||(function(){var n=function(l){return n=Object.getOwnPropertyNames||function(a){var o=[];for(var s in a)Object.prototype.hasOwnProperty.call(a,s)&&(o[o.length]=s);return o},n(l)};return function(l){if(l&&l.__esModule)return l;var a={};if(l!=null)for(var o=n(l),s=0;s<o.length;s++)o[s]!=="default"&&__createBinding(a,l,o[s]);return __setModuleDefault(a,l),a}})(),__importDefault=this&&this.__importDefault||function(n){return n&&n.__esModule?n:{default:n}};Object.defineProperty(exports,"__esModule",{value:!0});const react_1=__importStar(require("react")),react_native_1=require("react-native"),InspectorContext_1=require("./InspectorContext"),AnalyticsEventCard_1=__importDefault(require("../AnalyticsEventCard")),AnalyticsFilterModal_1=__importDefault(require("./AnalyticsFilterModal")),EndOfListFooter_1=__importDefault(require("../EndOfListFooter")),EmptyState_1=__importDefault(require("../EmptyState")),styles_1=__importDefault(require("../../styles")),AppColors_1=require("../../styles/AppColors"),AppFonts_1=require("../../styles/AppFonts"),i18n_1=require("../../i18n"),TouchableScale_1=__importDefault(require("../TouchableScale")),helpers_1=require("../../helpers"),NetworkIcons_1=require("../NetworkIcons"),LOAD_MORE_STEP=10,AnalyticsTab=react_1.default.memo(()=>{const{t:n}=(0,i18n_1.useTranslation)(),{analyticsEvents:l,filteredAnalyticsEvents:a,analyticsSearch:o,setAnalyticsSearch:s,analyticsFilters:m,setAnalyticsFilters:x,handleDelete:B,selectedEvent:R,setSelectedEvent:V,newEventIds:O,logRouteMapRef:F,isAnalyticsLayoutReady:N,setIsAnalyticsLayoutReady:k,isAnalyticsFilterApplied:v,maxAnalyticsEventsLimit:A}=(0,InspectorContext_1.useInspector)(),q=A||100,P=(0,react_1.useRef)(null),[D,E]=(0,react_1.useState)(!1),[L,M]=(0,react_1.useState)(q);react_1.default.useEffect(()=>{M(A||100),P.current?.scrollToOffset({offset:0,animated:!1})},[o,m,A]);const S=(0,react_1.useMemo)(()=>a.slice(0,L),[a,L]),u=(0,react_1.useMemo)(()=>{let e=0,r=0,t=0,i=0;for(const b of l){const C=(0,helpers_1.getEventCategory)(b.name),c=b.count||1;C==="ecommerce"?e+=c:C==="page_view"?r+=c:C==="system"?t+=c:i+=c}const _=e+r+t+i;return{ecommerce:e,page_view:r,system:t,custom:i,totalCount:_}},[l]),j=(0,react_1.useCallback)(e=>{(0,InspectorContext_1.animateNextLayout)(),x(r=>{if(e==="all")return{...r,categories:new Set(["all"])};const t=new Set(r.categories);if(t.has("all"))t.delete("all"),t.add(e);else if(t.has(e))t.delete(e),t.size===0&&t.add("all");else if(t.add(e),t.has("ecommerce")&&t.has("page_view")&&t.has("system")&&t.has("custom"))return{...r,categories:new Set(["all"])};return{...r,categories:t}})},[x]),$=(0,react_1.useCallback)((e,r)=>e?.id?.toString()??r.toString(),[]),H=(0,react_1.useCallback)(({item:e,index:r})=>{const t=a[r+1],i=a[r-1],_=t?e.timestamp-t.timestamp:void 0,b=Math.floor(e.timestamp/6e4),C=i?Math.floor(i.timestamp/6e4):-1,c=r===0||b!==C;return<AnalyticsEventCard_1.default event={e}onPress={()=>{V(e)}}isNew={O.has(e.id)}searchStr={o}isFirst={r===0}isLast={r===a.length-1}msSincePrev={_}showTimestamp={c}computedScreenName={(()=>{if(!e)return"";const w=e.screenName||e.screenClass||e.pageTitle||e.pageLocation||e.params?.firebase_screen||e.params?.screen_name||e.params?.firebase_screen_class||e.params?.screen_class;let I=typeof w=="string"?w:w?JSON.stringify(w):"";const T=F.current.get(e.id+1e6);if(!I&&T&&T.path!=="Navigators"){const z=T.path.split(" \u2794 ");I=z[z.length-1]}return I})()}/>},[a,o,O,V,F]),W=(0,react_1.useCallback)((e,r)=>({length:86,offset:86*r,index:r}),[]);return<>
2
2
 
3
- {z==null&&<react_native_1.View style={{backgroundColor:AppColors_1.AppColors.white,borderBottomWidth:1,borderBottomColor:AppColors_1.AppColors.dividerColor,paddingBottom:6}}>
3
+ {R==null&&<react_native_1.View style={{backgroundColor:AppColors_1.AppColors.white,borderBottomWidth:1,borderBottomColor:AppColors_1.AppColors.dividerColor,paddingBottom:6}}>
4
4
  <react_native_1.View style={[styles_1.default.toolbarRow,{marginTop:12,marginBottom:8}]}>
5
5
  <react_native_1.View style={styles_1.default.searchContainer}>
6
6
  <NetworkIcons_1.SearchIcon color={AppColors_1.AppColors.grayTextWeak}size={16}/>
7
- <react_native_1.TextInput placeholder={n("analytics.searchPlaceholder","Search events...")}placeholderTextColor={AppColors_1.AppColors.grayTextWeak}value={a}onChangeText={s}style={styles_1.default.searchInput}autoCorrect={!1}autoCapitalize="none"/>
8
- {a.length>0&&<react_native_1.View style={{flexDirection:"row",alignItems:"center",gap:4}}>
7
+ <react_native_1.TextInput placeholder={n("analytics.searchPlaceholder","Search events...")}placeholderTextColor={AppColors_1.AppColors.grayTextWeak}value={o}onChangeText={s}style={styles_1.default.searchInput}autoCorrect={!1}autoCapitalize="none"/>
8
+ {o.length>0&&<react_native_1.View style={{flexDirection:"row",alignItems:"center",gap:4}}>
9
9
  <react_native_1.View style={{backgroundColor:`${AppColors_1.AppColors.purple}20`,borderRadius:10,paddingHorizontal:6,paddingVertical:1.5}}>
10
10
  <react_native_1.Text style={{color:AppColors_1.AppColors.purple,fontSize:9.5,fontFamily:AppFonts_1.AppFonts.interBold}}>
11
- {r.length}
11
+ {a.length}
12
12
  </react_native_1.Text>
13
13
  </react_native_1.View>
14
14
  <react_native_1.Pressable onPress={()=>s("")}hitSlop={10}style={styles_1.default.clearBtn}>
@@ -18,12 +18,12 @@
18
18
  </react_native_1.View>
19
19
  <react_native_1.View style={styles_1.default.toolbarRight}>
20
20
 
21
- <react_native_1.TouchableOpacity style={[styles_1.default.toolbarBtn,v&&{borderColor:`${AppColors_1.AppColors.brandPurple}60`,backgroundColor:`${AppColors_1.AppColors.brandPurple}15`}]}onPress={()=>O(!0)}hitSlop={6}>
21
+ <react_native_1.TouchableOpacity style={[styles_1.default.toolbarBtn,v&&{borderColor:`${AppColors_1.AppColors.brandPurple}60`,backgroundColor:`${AppColors_1.AppColors.brandPurple}15`}]}onPress={()=>E(!0)}hitSlop={6}>
22
22
  <NetworkIcons_1.FilterIcon color={v?AppColors_1.AppColors.brandPurple:AppColors_1.AppColors.grayTextStrong}size={15}/>
23
23
  {v&&<react_native_1.View style={{position:"absolute",top:2,right:2,width:7,height:7,borderRadius:3.5,backgroundColor:AppColors_1.AppColors.darkOrange,borderWidth:1,borderColor:AppColors_1.AppColors.white}}/>}
24
24
  </react_native_1.TouchableOpacity>
25
25
 
26
- <react_native_1.TouchableOpacity style={[styles_1.default.toolbarBtn,{borderColor:`${AppColors_1.AppColors.errorColor}38`,backgroundColor:`${AppColors_1.AppColors.errorColor}0F`}]}onPress={L}hitSlop={6}>
26
+ <react_native_1.TouchableOpacity style={[styles_1.default.toolbarBtn,{borderColor:`${AppColors_1.AppColors.errorColor}38`,backgroundColor:`${AppColors_1.AppColors.errorColor}0F`}]}onPress={B}hitSlop={6}>
27
27
  <NetworkIcons_1.TrashIcon color={AppColors_1.AppColors.errorColor}size={15}/>
28
28
  </react_native_1.TouchableOpacity>
29
29
  </react_native_1.View>
@@ -32,14 +32,14 @@
32
32
 
33
33
  <react_native_1.View style={{flexDirection:"row",alignItems:"center",marginBottom:8,paddingHorizontal:12,gap:6}}>
34
34
  <react_native_1.ScrollView horizontal showsHorizontalScrollIndicator={!1}style={{flex:1}}contentContainerStyle={{flexDirection:"row",alignItems:"center",gap:6,paddingRight:6}}>
35
- {[{id:"all",label:n("common.all","All"),count:u.totalCount,color:AppColors_1.AppColors.purple,Icon:NetworkIcons_1.LayersIcon},{id:"ecommerce",label:"Ecommerce",count:u.ecommerce,color:AppColors_1.AppColors.amber600,Icon:NetworkIcons_1.CartIcon},{id:"page_view",label:"Screens",count:u.page_view,color:AppColors_1.AppColors.sky600,Icon:NetworkIcons_1.GlobeIcon},{id:"system",label:"System",count:u.system,color:AppColors_1.AppColors.violet600,Icon:NetworkIcons_1.BoltIcon},{id:"custom",label:"Custom",count:u.custom,color:AppColors_1.AppColors.teal600,Icon:NetworkIcons_1.SparkleIcon}].map(e=>{const o=e.id==="all"?w.categories.has("all"):!w.categories.has("all")&&w.categories.has(e.id),t=e.color||AppColors_1.AppColors.purple,i=o?AppColors_1.AppColors.white:t,_=e.Icon;return<TouchableScale_1.default key={e.id}onPress={()=>q(e.id)}>
36
- <react_native_1.View style={{flexDirection:"row",alignItems:"center",paddingHorizontal:9,paddingVertical:4.5,borderRadius:8,backgroundColor:o?t:`${t}12`,borderWidth:1,borderColor:o?t:`${t}30`,gap:5}}>
35
+ {[{id:"all",label:n("common.all","All"),count:u.totalCount,color:AppColors_1.AppColors.purple,Icon:NetworkIcons_1.LayersIcon},{id:"ecommerce",label:"Ecommerce",count:u.ecommerce,color:AppColors_1.AppColors.amber600,Icon:NetworkIcons_1.CartIcon},{id:"page_view",label:"Screens",count:u.page_view,color:AppColors_1.AppColors.sky600,Icon:NetworkIcons_1.GlobeIcon},{id:"system",label:"System",count:u.system,color:AppColors_1.AppColors.violet600,Icon:NetworkIcons_1.BoltIcon},{id:"custom",label:"Custom",count:u.custom,color:AppColors_1.AppColors.teal600,Icon:NetworkIcons_1.SparkleIcon}].map(e=>{const r=e.id==="all"?m.categories.has("all"):!m.categories.has("all")&&m.categories.has(e.id),t=e.color||AppColors_1.AppColors.purple,i=r?AppColors_1.AppColors.white:t,_=e.Icon;return<TouchableScale_1.default key={e.id}onPress={()=>j(e.id)}>
36
+ <react_native_1.View style={{flexDirection:"row",alignItems:"center",paddingHorizontal:9,paddingVertical:4.5,borderRadius:8,backgroundColor:r?t:`${t}12`,borderWidth:1,borderColor:r?t:`${t}30`,gap:5}}>
37
37
  <_ size={11}color={i}/>
38
- <react_native_1.Text style={{fontFamily:AppFonts_1.AppFonts.interBold,fontSize:10.5,color:o?AppColors_1.AppColors.white:AppColors_1.AppColors.primaryBlack}}>
38
+ <react_native_1.Text style={{fontFamily:AppFonts_1.AppFonts.interBold,fontSize:10.5,color:r?AppColors_1.AppColors.white:AppColors_1.AppColors.primaryBlack}}>
39
39
  {e.label}
40
40
  </react_native_1.Text>
41
- <react_native_1.View style={{backgroundColor:o?"rgba(255,255,255,0.25)":`${t}20`,paddingHorizontal:5,paddingVertical:1,borderRadius:8,alignItems:"center",justifyContent:"center"}}>
42
- <react_native_1.Text style={{fontFamily:AppFonts_1.AppFonts.interBold,fontSize:9.5,color:o?AppColors_1.AppColors.white:t}}>
41
+ <react_native_1.View style={{backgroundColor:r?"rgba(255,255,255,0.25)":`${t}20`,paddingHorizontal:5,paddingVertical:1,borderRadius:8,alignItems:"center",justifyContent:"center"}}>
42
+ <react_native_1.Text style={{fontFamily:AppFonts_1.AppFonts.interBold,fontSize:9.5,color:r?AppColors_1.AppColors.white:t}}>
43
43
  {e.count}
44
44
  </react_native_1.Text>
45
45
  </react_native_1.View>
@@ -50,11 +50,11 @@
50
50
  </react_native_1.View>}
51
51
 
52
52
 
53
- <AnalyticsFilterModal_1.default visible={R}onClose={()=>O(!1)}/>
53
+ <AnalyticsFilterModal_1.default visible={D}onClose={()=>E(!1)}/>
54
54
 
55
- <react_native_1.View style={{flex:1}}onLayout={()=>B(!0)}>
56
- {E?<>
57
- <react_native_1.FlatList ref={N}data={A}keyExtractor={D}renderItem={j}getItemLayout={$}initialNumToRender={15}maxToRenderPerBatch={10}windowSize={9}removeClippedSubviews={react_native_1.Platform.OS==="android"}renderToHardwareTextureAndroid={!0}ListEmptyComponent={<EmptyState_1.default isSearch={a.length>0}searchQuery={a}customTitle={a.length>0?"No matching analytics events":"No analytics events yet"}customSub={a.length>0?`No events matched "${a}"`:"Call setupAnalyticsLogger(analytics()) at app start."}onClearSearch={()=>s("")}/>}ListFooterComponent={r.length>0?<EndOfListFooter_1.default count={A.length}totalCount={r.length}label="events"hasMore={A.length<r.length}onLoadMore={()=>k(e=>e+10)}/>:null}contentContainerStyle={[styles_1.default.listContent,r.length===0&&{flexGrow:1}]}keyboardShouldPersistTaps="handled"/>
55
+ <react_native_1.View style={{flex:1}}onLayout={()=>k(!0)}>
56
+ {N?<>
57
+ <react_native_1.FlatList ref={P}data={S}keyExtractor={$}renderItem={H}getItemLayout={W}initialNumToRender={10}maxToRenderPerBatch={8}windowSize={5}updateCellsBatchingPeriod={40}removeClippedSubviews={!0}renderToHardwareTextureAndroid={!0}showsVerticalScrollIndicator={!1}ListEmptyComponent={<EmptyState_1.default isSearch={o.length>0}searchQuery={o}customTitle={o.length>0?"No matching analytics events":"No analytics events yet"}customSub={o.length>0?`No events matched "${o}"`:"Call setupAnalyticsLogger(analytics()) at app start."}onClearSearch={()=>s("")}/>}ListFooterComponent={a.length>0?<EndOfListFooter_1.default count={S.length}totalCount={a.length}label="events"loadMoreStep={LOAD_MORE_STEP}hasMore={S.length<a.length}onLoadMore={()=>M(e=>e+LOAD_MORE_STEP)}/>:null}contentContainerStyle={[styles_1.default.listContent,a.length===0&&{flexGrow:1}]}keyboardShouldPersistTaps="handled"/>
58
58
  </>:null}
59
59
  </react_native_1.View>
60
60
  </>});exports.default=AnalyticsTab;
@@ -0,0 +1,13 @@
1
+ import React from 'react';
2
+ export interface ConfirmationModalProps {
3
+ visible: boolean;
4
+ title: string;
5
+ message: string;
6
+ confirmText?: string;
7
+ cancelText?: string;
8
+ isDestructive?: boolean;
9
+ icon?: 'trash' | 'alert' | 'reset' | 'info';
10
+ onConfirm: () => void;
11
+ onCancel: () => void;
12
+ }
13
+ export declare const ConfirmationModal: React.FC<ConfirmationModalProps>;
@@ -0,0 +1,32 @@
1
+ "use strict";var __importDefault=this&&this.__importDefault||function(e){return e&&e.__esModule?e:{default:e}};Object.defineProperty(exports,"__esModule",{value:!0}),exports.ConfirmationModal=void 0;const react_1=__importDefault(require("react")),react_native_1=require("react-native"),TouchableScale_1=__importDefault(require("../TouchableScale")),AppColors_1=require("../../styles/AppColors"),AppFonts_1=require("../../styles/AppFonts"),NetworkIcons_1=require("../NetworkIcons"),NativeInspector_1=require("../../native/NativeInspector"),i18n_1=require("../../i18n"),ConfirmationModal=({visible:e,title:i,message:s,confirmText:c,cancelText:p,isDestructive:t=!0,icon:r="trash",onConfirm:d,onCancel:u})=>{const{t:a}=(0,i18n_1.useTranslation)();if(!e)return null;const n=c||a("common.confirm","Confirm"),l=p||a("common.cancel","Cancel"),C=()=>{(0,NativeInspector_1.triggerNativeHaptic)(t?"heavy":"medium"),d()},o=()=>{(0,NativeInspector_1.triggerNativeHaptic)("light"),u()},h=()=>{switch(r){case"trash":return<NetworkIcons_1.TrashIcon size={24}color={AppColors_1.AppColors.red500}/>;case"alert":return<NetworkIcons_1.AlertTriangleIcon size={24}color={AppColors_1.AppColors.amber500}/>;case"reset":return<NetworkIcons_1.ResetIcon size={24}color={AppColors_1.AppColors.purple}/>;default:return<NetworkIcons_1.InfoCircleIcon size={24}color={AppColors_1.AppColors.purple}/>}},f=t?AppColors_1.AppColors.red100:r==="alert"?AppColors_1.AppColors.amber100:AppColors_1.AppColors.purple50,g=t?`${AppColors_1.AppColors.red500}4D`:r==="alert"?AppColors_1.AppColors.amber200:AppColors_1.AppColors.purple200;return<react_native_1.Modal visible={e}transparent={!0}animationType="fade"onRequestClose={o}>
2
+ <react_native_1.View style={styles.overlay}>
3
+ <react_native_1.Pressable style={styles.backdrop}onPress={o}/>
4
+
5
+ <react_native_1.View style={styles.card}>
6
+
7
+ <TouchableScale_1.default onPress={o}hitSlop={8}style={styles.cornerCloseBtn}>
8
+ <NetworkIcons_1.CloseWhite size={11}color={AppColors_1.AppColors.grayTextWeak}/>
9
+ </TouchableScale_1.default>
10
+
11
+
12
+ <react_native_1.View style={[styles.iconBadge,{backgroundColor:f,borderColor:g}]}>
13
+ {h()}
14
+ </react_native_1.View>
15
+
16
+
17
+ <react_native_1.Text style={styles.title}>{i}</react_native_1.Text>
18
+ <react_native_1.Text style={styles.message}>{s}</react_native_1.Text>
19
+
20
+
21
+ <react_native_1.View style={styles.buttonRow}>
22
+ <TouchableScale_1.default accessible={!0}accessibilityRole="button"accessibilityLabel={l}onPress={o}style={styles.cancelBtn}>
23
+ <react_native_1.Text style={styles.cancelBtnText}>{l}</react_native_1.Text>
24
+ </TouchableScale_1.default>
25
+
26
+ <TouchableScale_1.default accessible={!0}accessibilityRole="button"accessibilityLabel={n}onPress={C}style={[styles.confirmBtn,t?styles.confirmBtnDestructive:styles.confirmBtnPrimary]}>
27
+ <react_native_1.Text style={styles.confirmBtnText}>{n}</react_native_1.Text>
28
+ </TouchableScale_1.default>
29
+ </react_native_1.View>
30
+ </react_native_1.View>
31
+ </react_native_1.View>
32
+ </react_native_1.Modal>};exports.ConfirmationModal=ConfirmationModal;const styles=react_native_1.StyleSheet.create({overlay:{flex:1,backgroundColor:`${AppColors_1.AppColors.slate900}A6`,justifyContent:"center",alignItems:"center",paddingHorizontal:24},backdrop:{...react_native_1.StyleSheet.absoluteFillObject},card:{width:"100%",maxWidth:340,backgroundColor:AppColors_1.AppColors.white,borderRadius:22,paddingTop:24,paddingBottom:18,paddingHorizontal:20,alignItems:"center",borderWidth:1,borderColor:`${AppColors_1.AppColors.white}CC`,...react_native_1.Platform.select({ios:{shadowColor:AppColors_1.AppColors.slate900,shadowOffset:{width:0,height:12},shadowOpacity:.28,shadowRadius:24},android:{elevation:12}})},cornerCloseBtn:{position:"absolute",top:14,right:14,width:28,height:28,borderRadius:14,backgroundColor:AppColors_1.AppColors.graySurface,alignItems:"center",justifyContent:"center"},iconBadge:{width:54,height:54,borderRadius:27,borderWidth:1.5,alignItems:"center",justifyContent:"center",marginBottom:14},title:{fontFamily:AppFonts_1.AppFonts.interBold,fontSize:17,color:AppColors_1.AppColors.slate900,textAlign:"center",marginBottom:8,letterSpacing:-.2},message:{fontFamily:AppFonts_1.AppFonts.interRegular,fontSize:13,color:AppColors_1.AppColors.grayTextWeak,textAlign:"center",lineHeight:19,paddingHorizontal:8,marginBottom:22},buttonRow:{flexDirection:"row",alignItems:"center",gap:10,width:"100%"},cancelBtn:{flex:1,height:44,borderRadius:12,backgroundColor:AppColors_1.AppColors.graySurface,borderWidth:1,borderColor:AppColors_1.AppColors.grayBorderSecondary,alignItems:"center",justifyContent:"center"},cancelBtnText:{fontFamily:AppFonts_1.AppFonts.interSemiBold,fontSize:14,color:AppColors_1.AppColors.grayText},confirmBtn:{flex:1.15,height:44,borderRadius:12,alignItems:"center",justifyContent:"center"},confirmBtnDestructive:{backgroundColor:AppColors_1.AppColors.red500,...react_native_1.Platform.select({ios:{shadowColor:AppColors_1.AppColors.red500,shadowOffset:{width:0,height:4},shadowOpacity:.35,shadowRadius:8},android:{elevation:4}})},confirmBtnPrimary:{backgroundColor:AppColors_1.AppColors.purple,...react_native_1.Platform.select({ios:{shadowColor:AppColors_1.AppColors.purple,shadowOffset:{width:0,height:4},shadowOpacity:.35,shadowRadius:8},android:{elevation:4}})},confirmBtnText:{fontFamily:AppFonts_1.AppFonts.interBold,fontSize:14,color:AppColors_1.AppColors.white,letterSpacing:.2}});
@@ -1,23 +1,23 @@
1
- "use strict";var __createBinding=this&&this.__createBinding||(Object.create?(function(t,o,l,n){n===void 0&&(n=l);var a=Object.getOwnPropertyDescriptor(o,l);(!a||("get"in a?!o.__esModule:a.writable||a.configurable))&&(a={enumerable:!0,get:function(){return o[l]}}),Object.defineProperty(t,n,a)}):(function(t,o,l,n){n===void 0&&(n=l),t[n]=o[l]})),__setModuleDefault=this&&this.__setModuleDefault||(Object.create?(function(t,o){Object.defineProperty(t,"default",{enumerable:!0,value:o})}):function(t,o){t.default=o}),__importStar=this&&this.__importStar||(function(){var t=function(o){return t=Object.getOwnPropertyNames||function(l){var n=[];for(var a in l)Object.prototype.hasOwnProperty.call(l,a)&&(n[n.length]=a);return n},t(o)};return function(o){if(o&&o.__esModule)return o;var l={};if(o!=null)for(var n=t(o),a=0;a<n.length;a++)n[a]!=="default"&&__createBinding(l,o,n[a]);return __setModuleDefault(l,o),l}})(),__importDefault=this&&this.__importDefault||function(t){return t&&t.__esModule?t:{default:t}};Object.defineProperty(exports,"__esModule",{value:!0});const react_1=__importStar(require("react")),react_native_1=require("react-native"),InspectorContext_1=require("./InspectorContext"),i18n_1=require("../../i18n"),TouchableScale_1=__importDefault(require("../TouchableScale")),AnimatedEntrance_1=__importDefault(require("../AnimatedEntrance")),ConsoleLogCard_1=require("../ConsoleLogCard"),EmptyState_1=__importDefault(require("../EmptyState")),EndOfListFooter_1=__importDefault(require("../EndOfListFooter")),styles_1=__importDefault(require("../../styles")),AppColors_1=require("../../styles/AppColors"),AppFonts_1=require("../../styles/AppFonts"),types_1=require("../../types"),NetworkIcons_1=require("../NetworkIcons"),ConsoleTab=react_1.default.memo(()=>{const{t}=(0,i18n_1.useTranslation)(),{logSearch:o,setLogSearch:l,logSortOrder:n,setLogSortOrder:a,handleDelete:I,logFilters:c,setLogFilters:A,logCounts:_,filteredConsoleLogs:s,visibleConsoleLogs:m}=(0,InspectorContext_1.useInspector)(),v=(0,react_1.useRef)(null),[b,x]=react_1.default.useState(100),S=(0,react_1.useMemo)(()=>s.slice(0,b),[s,b]),L=(0,react_1.useCallback)(({item:e,index:r})=><AnimatedEntrance_1.default index={r}distance={8}>
2
- <ConsoleLogCard_1.ConsoleLogCard item={e}searchStr={o}/>
3
- </AnimatedEntrance_1.default>,[o]),V=(0,react_1.useCallback)((e,r)=>({length:148,offset:148*r,index:r}),[]),F=(0,react_1.useCallback)((e,r)=>e?.id?.toString()??r.toString(),[]),z=(0,react_1.useMemo)(()=>{const e=m.length,r=s.length;if(c.has("all")||!Array.from(c).some(h=>h!=="all"))return<react_native_1.View style={{paddingHorizontal:12,paddingTop:8,paddingBottom:3}}>
1
+ "use strict";var __createBinding=this&&this.__createBinding||(Object.create?(function(o,t,l,n){n===void 0&&(n=l);var a=Object.getOwnPropertyDescriptor(t,l);(!a||("get"in a?!t.__esModule:a.writable||a.configurable))&&(a={enumerable:!0,get:function(){return t[l]}}),Object.defineProperty(o,n,a)}):(function(o,t,l,n){n===void 0&&(n=l),o[n]=t[l]})),__setModuleDefault=this&&this.__setModuleDefault||(Object.create?(function(o,t){Object.defineProperty(o,"default",{enumerable:!0,value:t})}):function(o,t){o.default=t}),__importStar=this&&this.__importStar||(function(){var o=function(t){return o=Object.getOwnPropertyNames||function(l){var n=[];for(var a in l)Object.prototype.hasOwnProperty.call(l,a)&&(n[n.length]=a);return n},o(t)};return function(t){if(t&&t.__esModule)return t;var l={};if(t!=null)for(var n=o(t),a=0;a<n.length;a++)n[a]!=="default"&&__createBinding(l,t,n[a]);return __setModuleDefault(l,t),l}})(),__importDefault=this&&this.__importDefault||function(o){return o&&o.__esModule?o:{default:o}};Object.defineProperty(exports,"__esModule",{value:!0});const react_1=__importStar(require("react")),react_native_1=require("react-native"),InspectorContext_1=require("./InspectorContext"),i18n_1=require("../../i18n"),TouchableScale_1=__importDefault(require("../TouchableScale")),AnimatedEntrance_1=__importDefault(require("../AnimatedEntrance")),ConsoleLogCard_1=require("../ConsoleLogCard"),EmptyState_1=__importDefault(require("../EmptyState")),EndOfListFooter_1=__importDefault(require("../EndOfListFooter")),styles_1=__importDefault(require("../../styles")),AppColors_1=require("../../styles/AppColors"),AppFonts_1=require("../../styles/AppFonts"),types_1=require("../../types"),NetworkIcons_1=require("../NetworkIcons"),LOAD_MORE_STEP=10,ConsoleTab=react_1.default.memo(()=>{const{t:o}=(0,i18n_1.useTranslation)(),{logSearch:t,setLogSearch:l,logSortOrder:n,setLogSortOrder:a,handleDelete:F,logFilters:s,setLogFilters:S,logCounts:_,filteredConsoleLogs:c,visibleConsoleLogs:b,maxConsoleLogs:A,setSelectedLog:T}=(0,InspectorContext_1.useInspector)(),z=A||100,I=(0,react_1.useRef)(null),[v,x]=react_1.default.useState(z);react_1.default.useEffect(()=>{x(A||100),I.current?.scrollToOffset({offset:0,animated:!1})},[t,s,A]);const w=(0,react_1.useMemo)(()=>c.slice(0,v),[c,v]),L=(0,react_1.useCallback)(e=>{T(e)},[T]),P=(0,react_1.useCallback)(({item:e,index:r})=><AnimatedEntrance_1.default index={r}distance={8}>
2
+ <ConsoleLogCard_1.ConsoleLogCard item={e}searchStr={t}onPress={L}/>
3
+ </AnimatedEntrance_1.default>,[t,L]),E=(0,react_1.useCallback)((e,r)=>({length:148,offset:148*r,index:r}),[]),O=(0,react_1.useCallback)((e,r)=>e?.id?.toString()??r.toString(),[]),B=(0,react_1.useMemo)(()=>{const e=b.length,r=c.length;if(s.has("all")||!Array.from(s).some(h=>h!=="all"))return<react_native_1.View style={{paddingHorizontal:12,paddingTop:8,paddingBottom:3}}>
4
4
  <react_native_1.Text style={{fontFamily:AppFonts_1.AppFonts.interMedium,fontSize:11,color:AppColors_1.AppColors.grayTextWeak,letterSpacing:.2}}>
5
5
  {r===e?`Showing ${e} logs`:`Showing ${r} of ${e} logs`}
6
6
  </react_native_1.Text>
7
- </react_native_1.View>;{const h=Array.from(c).filter(C=>C!=="all").map(C=>C==="user-log"?"Log":C==="analytics"?"Analytics":C.charAt(0).toUpperCase()+C.slice(1));return<react_native_1.View style={{paddingHorizontal:12,paddingTop:8,paddingBottom:3}}>
7
+ </react_native_1.View>;{const h=Array.from(s).filter(C=>C!=="all").map(C=>C==="user-log"?"Log":C==="analytics"?"Analytics":C.charAt(0).toUpperCase()+C.slice(1));return<react_native_1.View style={{paddingHorizontal:12,paddingTop:8,paddingBottom:3}}>
8
8
  <react_native_1.Text style={{fontFamily:AppFonts_1.AppFonts.interMedium,fontSize:11,color:AppColors_1.AppColors.grayTextWeak,letterSpacing:.2}}>
9
9
  Filtered by {h.join(", ")} ({r} of {e} logs)
10
10
  </react_native_1.Text>
11
- </react_native_1.View>}},[m.length,s.length,c]),[w,T]=react_1.default.useState(!1),P=(0,react_1.useMemo)(()=>["[AXIOS]","[API]","[GRAPHQL]","[REDUX]","[ANALYTICS]","[AUTH]","[NAV]","[STORAGE]","[PERF]","[WS]","[PUSH]","[PAYMENT]","[SYNC]","[BLE]","[LOCATION]","[TEST]","[DEBUG]"],[]),B=(0,react_1.useMemo)(()=>[{id:types_1.LogFilter.All,label:t("common.all","All"),count:_.all?.split("/")?.[0]??"0",color:AppColors_1.AppColors.purple,Icon:NetworkIcons_1.LayersIcon},{id:types_1.LogFilter.UserLog,label:t("console.log","Log"),count:_["user-log"]?.split("/")?.[0]??"0",color:AppColors_1.AppColors.teal600,Icon:NetworkIcons_1.UserIcon},{id:types_1.LogFilter.Info,label:t("console.info","Info"),count:_.info?.split("/")?.[0]??"0",color:AppColors_1.AppColors.sky600,Icon:NetworkIcons_1.InfoCircleIcon},{id:types_1.LogFilter.Warn,label:t("console.warning","Warn"),count:_.warn?.split("/")?.[0]??"0",color:AppColors_1.AppColors.amber600,Icon:NetworkIcons_1.WarningTriangleIcon},{id:types_1.LogFilter.Error,label:t("console.error","Error"),count:_.error?.split("/")?.[0]??"0",color:AppColors_1.AppColors.errorColor,Icon:NetworkIcons_1.ErrorCircleIcon},{id:types_1.LogFilter.Analytics,label:t("console.analytics","Analytics"),count:_.analytics?.split("/")?.[0]??"0",color:AppColors_1.AppColors.violet600,Icon:NetworkIcons_1.AnalyticsIcon}],[_,t]);return<react_native_1.View style={{flex:1}}>
11
+ </react_native_1.View>}},[b.length,c.length,s]),[m,V]=react_1.default.useState(!1),H=(0,react_1.useMemo)(()=>["[AXIOS]","[API]","[GRAPHQL]","[REDUX]","[ANALYTICS]","[AUTH]","[NAV]","[STORAGE]","[PERF]","[WS]","[PUSH]","[PAYMENT]","[SYNC]","[BLE]","[LOCATION]","[TEST]","[DEBUG]"],[]),M=(0,react_1.useMemo)(()=>[{id:types_1.LogFilter.All,label:o("common.all","All"),count:_.all?.split("/")?.[0]??"0",color:AppColors_1.AppColors.purple,Icon:NetworkIcons_1.LayersIcon},{id:types_1.LogFilter.UserLog,label:o("console.log","Log"),count:_["user-log"]?.split("/")?.[0]??"0",color:AppColors_1.AppColors.teal600,Icon:NetworkIcons_1.UserIcon},{id:types_1.LogFilter.Info,label:o("console.info","Info"),count:_.info?.split("/")?.[0]??"0",color:AppColors_1.AppColors.sky600,Icon:NetworkIcons_1.InfoCircleIcon},{id:types_1.LogFilter.Warn,label:o("console.warning","Warn"),count:_.warn?.split("/")?.[0]??"0",color:AppColors_1.AppColors.amber600,Icon:NetworkIcons_1.WarningTriangleIcon},{id:types_1.LogFilter.Error,label:o("console.error","Error"),count:_.error?.split("/")?.[0]??"0",color:AppColors_1.AppColors.errorColor,Icon:NetworkIcons_1.ErrorCircleIcon},{id:types_1.LogFilter.Analytics,label:o("console.analytics","Analytics"),count:_.analytics?.split("/")?.[0]??"0",color:AppColors_1.AppColors.violet600,Icon:NetworkIcons_1.AnalyticsIcon}],[_,o]);return<react_native_1.View style={{flex:1}}>
12
12
  <react_native_1.View style={{backgroundColor:AppColors_1.AppColors.white,borderBottomWidth:1,borderBottomColor:AppColors_1.AppColors.dividerColor,paddingBottom:6}}>
13
13
  <react_native_1.View style={[styles_1.default.toolbarRow,{marginTop:12,marginBottom:8}]}>
14
- <react_native_1.View style={[styles_1.default.searchContainer,w&&{borderColor:AppColors_1.AppColors.purple,borderWidth:1.5}]}>
15
- <NetworkIcons_1.SearchIcon color={w?AppColors_1.AppColors.purple:AppColors_1.AppColors.grayTextWeak}size={16}/>
16
- <react_native_1.TextInput placeholder={t("console.searchPlaceholder")}placeholderTextColor={AppColors_1.AppColors.grayTextWeak}value={o}onChangeText={l}onFocus={()=>T(!0)}onBlur={()=>T(!1)}style={styles_1.default.searchInput}autoCorrect={!1}autoCapitalize="none"/>
17
- {o.length>0&&<react_native_1.View style={{flexDirection:"row",alignItems:"center",gap:4}}>
14
+ <react_native_1.View style={[styles_1.default.searchContainer,m&&{borderColor:AppColors_1.AppColors.purple,borderWidth:1.5}]}>
15
+ <NetworkIcons_1.SearchIcon color={m?AppColors_1.AppColors.purple:AppColors_1.AppColors.grayTextWeak}size={16}/>
16
+ <react_native_1.TextInput placeholder={o("console.searchPlaceholder")}placeholderTextColor={AppColors_1.AppColors.grayTextWeak}value={t}onChangeText={l}onFocus={()=>V(!0)}onBlur={()=>V(!1)}style={styles_1.default.searchInput}autoCorrect={!1}autoCapitalize="none"/>
17
+ {t.length>0&&<react_native_1.View style={{flexDirection:"row",alignItems:"center",gap:4}}>
18
18
  <react_native_1.View style={{backgroundColor:`${AppColors_1.AppColors.purple}20`,borderRadius:10,paddingHorizontal:6,paddingVertical:2}}>
19
19
  <react_native_1.Text style={{color:AppColors_1.AppColors.purple,fontSize:10,fontFamily:AppFonts_1.AppFonts.interBold}}>
20
- {s.length}
20
+ {c.length}
21
21
  </react_native_1.Text>
22
22
  </react_native_1.View>
23
23
  <react_native_1.Pressable onPress={()=>l("")}hitSlop={10}style={styles_1.default.clearBtn}>
@@ -30,15 +30,15 @@
30
30
  <TouchableScale_1.default style={styles_1.default.toolbarBtn}onPress={()=>a(e=>e==="newest"?"oldest":"newest")}hitSlop={10}>
31
31
  <NetworkIcons_1.SortArrowIcon color={AppColors_1.AppColors.grayTextStrong}size={18}direction={n==="newest"?"down":"up"}/>
32
32
  </TouchableScale_1.default>
33
- <TouchableScale_1.default style={[styles_1.default.toolbarBtn,{borderColor:`${AppColors_1.AppColors.errorColor}38`,backgroundColor:`${AppColors_1.AppColors.errorColor}0F`}]}onPress={I}hitSlop={6}>
33
+ <TouchableScale_1.default style={[styles_1.default.toolbarBtn,{borderColor:`${AppColors_1.AppColors.errorColor}38`,backgroundColor:`${AppColors_1.AppColors.errorColor}0F`}]}onPress={F}hitSlop={6}>
34
34
  <NetworkIcons_1.TrashIcon color={AppColors_1.AppColors.errorColor}size={15}/>
35
35
  </TouchableScale_1.default>
36
36
  </react_native_1.View>
37
37
  </react_native_1.View>
38
38
 
39
39
 
40
- {(w||o.length>0)&&<react_native_1.ScrollView horizontal showsHorizontalScrollIndicator={!1}style={{marginBottom:6,maxHeight:30}}contentContainerStyle={{paddingHorizontal:16,flexDirection:"row",alignItems:"center",gap:6}}>
41
- {P.map(e=>{const r=o.includes(e);return<TouchableScale_1.default key={e}onPress={()=>{l(r?i=>i.replace(e,"").trim():i=>i?`${i} ${e}`.trim():e)}}>
40
+ {(m||t.length>0)&&<react_native_1.ScrollView horizontal showsHorizontalScrollIndicator={!1}style={{marginBottom:6,maxHeight:30}}contentContainerStyle={{paddingHorizontal:16,flexDirection:"row",alignItems:"center",gap:6}}>
41
+ {H.map(e=>{const r=t.includes(e);return<TouchableScale_1.default key={e}onPress={()=>{l(r?i=>i.replace(e,"").trim():i=>i?`${i} ${e}`.trim():e)}}>
42
42
  <react_native_1.View style={{paddingHorizontal:8,paddingVertical:3,borderRadius:6,backgroundColor:r?AppColors_1.AppColors.purple:`${AppColors_1.AppColors.purple}14`,borderWidth:1,borderColor:r?AppColors_1.AppColors.purple:`${AppColors_1.AppColors.purple}30`}}>
43
43
  <react_native_1.Text style={{fontFamily:AppFonts_1.AppFonts.interBold,fontSize:10,color:r?AppColors_1.AppColors.white:AppColors_1.AppColors.purple}}>
44
44
  {e}
@@ -50,7 +50,7 @@
50
50
 
51
51
  <react_native_1.View style={{flexDirection:"row",alignItems:"center",marginBottom:8,paddingHorizontal:12,gap:6}}>
52
52
  <react_native_1.ScrollView horizontal showsHorizontalScrollIndicator={!1}style={{flex:1}}contentContainerStyle={{flexDirection:"row",alignItems:"center",gap:6,paddingRight:6}}>
53
- {B.map(e=>{const r=e.id==="all"?c.has("all"):c.has(e.id)&&!c.has("all"),i=e.color||AppColors_1.AppColors.purple,h=r?AppColors_1.AppColors.white:i,C=e.Icon;return<TouchableScale_1.default key={e.id}onPress={()=>{e.id==="all"?A(new Set(["all"])):A(O=>{const y=new Set(O);return y.delete("all"),y.has(e.id)?y.delete(e.id):y.add(e.id),y.size===0&&y.add("all"),y})}}>
53
+ {M.map(e=>{const r=e.id==="all"?s.has("all"):s.has(e.id)&&!s.has("all"),i=e.color||AppColors_1.AppColors.purple,h=r?AppColors_1.AppColors.white:i,C=e.Icon;return<TouchableScale_1.default key={e.id}onPress={()=>{e.id==="all"?S(new Set(["all"])):S(R=>{const y=new Set(R);return y.delete("all"),y.has(e.id)?y.delete(e.id):y.add(e.id),y.size===0&&y.add("all"),y})}}>
54
54
  <react_native_1.View style={{flexDirection:"row",alignItems:"center",paddingHorizontal:9,paddingVertical:4.5,borderRadius:8,backgroundColor:r?i:`${i}12`,borderWidth:1,borderColor:r?i:`${i}30`,gap:5}}>
55
55
  <C size={11}color={h}/>
56
56
  <react_native_1.Text style={{fontFamily:AppFonts_1.AppFonts.interBold,fontSize:10.5,color:r?AppColors_1.AppColors.white:AppColors_1.AppColors.primaryBlack}}>
@@ -67,5 +67,5 @@
67
67
  </react_native_1.View>
68
68
  </react_native_1.View>
69
69
 
70
- <react_native_1.FlatList ref={v}data={S}keyExtractor={F}ListHeaderComponent={z}renderItem={L}getItemLayout={V}initialNumToRender={15}maxToRenderPerBatch={10}windowSize={9}removeClippedSubviews={react_native_1.Platform.OS==="android"}renderToHardwareTextureAndroid={!0}ListEmptyComponent={<EmptyState_1.default isSearch={o.length>0||!c.has("all")}searchQuery={o}customTitle={o.length>0?"No matching console logs":"No console logs"}onClearSearch={()=>{l(""),A(new Set(["all"]))}}/>}ListFooterComponent={s.length>0?<EndOfListFooter_1.default count={S.length}totalCount={s.length}label="logs"hasMore={S.length<s.length}onLoadMore={()=>x(e=>e+10)}/>:null}contentContainerStyle={[styles_1.default.listContent,s.length===0&&{flexGrow:1}]}keyboardShouldPersistTaps="handled"/>
70
+ <react_native_1.FlatList ref={I}data={w}keyExtractor={O}ListHeaderComponent={B}renderItem={P}getItemLayout={E}initialNumToRender={10}maxToRenderPerBatch={8}windowSize={5}updateCellsBatchingPeriod={40}removeClippedSubviews={!0}renderToHardwareTextureAndroid={!0}showsVerticalScrollIndicator={!1}ListEmptyComponent={<EmptyState_1.default isSearch={t.length>0||!s.has("all")}searchQuery={t}customTitle={t.length>0?"No matching console logs":"No console logs"}onClearSearch={()=>{l(""),S(new Set(["all"]))}}/>}ListFooterComponent={c.length>0?<EndOfListFooter_1.default count={w.length}totalCount={c.length}label="logs"loadMoreStep={LOAD_MORE_STEP}hasMore={w.length<c.length}onLoadMore={()=>x(e=>e+LOAD_MORE_STEP)}/>:null}contentContainerStyle={[styles_1.default.listContent,c.length===0&&{flexGrow:1}]}keyboardShouldPersistTaps="handled"/>
71
71
  </react_native_1.View>});exports.default=ConsoleTab;