react-native-inapp-inspector 2.3.19 → 2.3.21

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 (353) hide show
  1. package/README.md +14 -14
  2. package/android/src/main/java/com/inappinspector/NetworkInspectorModule.kt +67 -0
  3. package/dist/commonjs/analytics.js +1 -24
  4. package/dist/commonjs/bundle.js +1 -16
  5. package/dist/commonjs/capture.js +1 -35
  6. package/dist/commonjs/components/AnalyticsDetail.js +92 -623
  7. package/dist/commonjs/components/AnalyticsEventCard.js +54 -350
  8. package/dist/commonjs/components/AnalyticsGraph.js +70 -370
  9. package/dist/commonjs/components/AnimatedEntrance.js +1 -11
  10. package/dist/commonjs/components/AppHeaderLogo.js +7 -134
  11. package/dist/commonjs/components/BrandCircleIcon.js +73 -118
  12. package/dist/commonjs/components/BrandSquareIcon.js +63 -108
  13. package/dist/commonjs/components/CodeSnippet.js +48 -623
  14. package/dist/commonjs/components/ConsoleLogCard.js +63 -537
  15. package/dist/commonjs/components/CopyButton.js +3 -89
  16. package/dist/commonjs/components/DiffViewer.js +19 -83
  17. package/dist/commonjs/components/DomainHeader.js +27 -127
  18. package/dist/commonjs/components/EmptyState.js +10 -87
  19. package/dist/commonjs/components/EndOfListFooter.js +7 -81
  20. package/dist/commonjs/components/ErrorBoundary.js +72 -566
  21. package/dist/commonjs/components/HeadersSection.js +31 -110
  22. package/dist/commonjs/components/HighlightText.js +17 -58
  23. package/dist/commonjs/components/Inspector/AboutModal.d.ts +6 -0
  24. package/dist/commonjs/components/Inspector/AboutModal.js +243 -0
  25. package/dist/commonjs/components/Inspector/AnalyticsFilterModal.js +98 -797
  26. package/dist/commonjs/components/Inspector/AnalyticsTab.js +284 -930
  27. package/dist/commonjs/components/Inspector/BundleTab.js +551 -2918
  28. package/dist/commonjs/components/Inspector/ConsoleTab.js +79 -492
  29. package/dist/commonjs/components/Inspector/CrashDetail.js +123 -672
  30. package/dist/commonjs/components/Inspector/CrashFilterModal.js +66 -498
  31. package/dist/commonjs/components/Inspector/CrashTab.js +98 -670
  32. package/dist/commonjs/components/Inspector/DebuggingTab.js +74 -875
  33. package/dist/commonjs/components/Inspector/DeviceInfoTab.js +143 -907
  34. package/dist/commonjs/components/Inspector/FabLauncher.js +42 -466
  35. package/dist/commonjs/components/Inspector/FeatureUnderDevNotice.js +6 -99
  36. package/dist/commonjs/components/Inspector/InspectorContext.js +1 -21
  37. package/dist/commonjs/components/Inspector/InspectorHeader.js +191 -1110
  38. package/dist/commonjs/components/Inspector/LogDetail.js +168 -994
  39. package/dist/commonjs/components/Inspector/MainScreen.js +52 -335
  40. package/dist/commonjs/components/Inspector/MediaGalleryTab.js +97 -644
  41. package/dist/commonjs/components/Inspector/MediaPreviewModal.js +90 -605
  42. package/dist/commonjs/components/Inspector/NavigationTracker.js +1 -12
  43. package/dist/commonjs/components/Inspector/NetworkDetail.js +89 -411
  44. package/dist/commonjs/components/Inspector/NetworkFilterModal.js +60 -576
  45. package/dist/commonjs/components/Inspector/NetworkTab.js +84 -514
  46. package/dist/commonjs/components/Inspector/NpmStarPrompt.js +18 -434
  47. package/dist/commonjs/components/Inspector/NpmUpdateToast.js +25 -298
  48. package/dist/commonjs/components/Inspector/PerformanceTab.js +182 -1397
  49. package/dist/commonjs/components/Inspector/ReduxDetail.js +188 -1089
  50. package/dist/commonjs/components/Inspector/ReduxTab.js +85 -701
  51. package/dist/commonjs/components/Inspector/SettingsPanel.js +427 -3807
  52. package/dist/commonjs/components/Inspector/SkeletonPlaceholder.js +11 -180
  53. package/dist/commonjs/components/Inspector/StorageTab.js +93 -826
  54. package/dist/commonjs/components/Inspector/TabBar.js +36 -334
  55. package/dist/commonjs/components/Inspector/UpdateAvailableModal.js +37 -412
  56. package/dist/commonjs/components/JsonViewer.js +168 -381
  57. package/dist/commonjs/components/LogCard.js +57 -567
  58. package/dist/commonjs/components/LogSyntaxHighlighter.js +11 -130
  59. package/dist/commonjs/components/MetaAccordion.js +69 -238
  60. package/dist/commonjs/components/MiniBarChart.js +3 -56
  61. package/dist/commonjs/components/MiniLineChart.js +3 -58
  62. package/dist/commonjs/components/NetworkIcons.d.ts +13 -0
  63. package/dist/commonjs/components/NetworkIcons.js +521 -1022
  64. package/dist/commonjs/components/QRCodeView.js +5 -79
  65. package/dist/commonjs/components/SectionHeader.js +15 -37
  66. package/dist/commonjs/components/SegmentedTabs.js +7 -62
  67. package/dist/commonjs/components/SkeletonPlaceholder.js +11 -180
  68. package/dist/commonjs/components/Slider.js +15 -243
  69. package/dist/commonjs/components/SourcePageCard.js +30 -89
  70. package/dist/commonjs/components/Toast.js +5 -147
  71. package/dist/commonjs/components/TouchableScale.js +3 -24
  72. package/dist/commonjs/components/TreeNode.js +55 -130
  73. package/dist/commonjs/console.js +1 -16
  74. package/dist/commonjs/constants/index.js +1 -32
  75. package/dist/commonjs/constants/telemetryConfig.js +1 -6
  76. package/dist/commonjs/constants/version.d.ts +1 -1
  77. package/dist/commonjs/constants/version.js +1 -4
  78. package/dist/commonjs/crash.js +1 -23
  79. package/dist/commonjs/customHooks/analyticsLogger.js +1 -250
  80. package/dist/commonjs/customHooks/bundleAnalyzer.js +1 -957
  81. package/dist/commonjs/customHooks/consoleLogger.js +6 -445
  82. package/dist/commonjs/customHooks/crashHandler.js +7 -656
  83. package/dist/commonjs/customHooks/logFilters.js +1 -23
  84. package/dist/commonjs/customHooks/networkLogger.js +2 -536
  85. package/dist/commonjs/customHooks/performanceTracker.js +63 -750
  86. package/dist/commonjs/customHooks/reduxLogger.js +2 -313
  87. package/dist/commonjs/customHooks/storageInspector.js +1 -435
  88. package/dist/commonjs/customHooks/useAccordion.js +1 -18
  89. package/dist/commonjs/decorators/index.js +1 -100
  90. package/dist/commonjs/helpers/gaAnalyticsRegistry.js +1 -148
  91. package/dist/commonjs/helpers/index.d.ts +1 -0
  92. package/dist/commonjs/helpers/index.js +8 -921
  93. package/dist/commonjs/helpers/memoryManager.js +1 -99
  94. package/dist/commonjs/helpers/qrGenerator.js +1 -367
  95. package/dist/commonjs/helpers/remoteConfig.js +1 -165
  96. package/dist/commonjs/helpers/searchQueryParser.js +1 -62
  97. package/dist/commonjs/helpers/settingsStore.js +1 -144
  98. package/dist/commonjs/helpers/telemetry.js +1 -501
  99. package/dist/commonjs/helpers/toast.js +1 -20
  100. package/dist/commonjs/i18n/index.js +1 -90
  101. package/dist/commonjs/i18n/locales/en.json +1 -1140
  102. package/dist/commonjs/index.js +5 -2168
  103. package/dist/commonjs/metro.js +6 -468
  104. package/dist/commonjs/native/NativeInspector.d.ts +1 -0
  105. package/dist/commonjs/native/NativeInspector.js +1 -415
  106. package/dist/commonjs/native/NativeNetworkInspector.js +1 -4
  107. package/dist/commonjs/network.js +1 -13
  108. package/dist/commonjs/performance.js +1 -29
  109. package/dist/commonjs/redux.js +1 -20
  110. package/dist/commonjs/storage.js +1 -14
  111. package/dist/commonjs/styles/AppColors.js +1 -423
  112. package/dist/commonjs/styles/AppFonts.js +1 -17
  113. package/dist/commonjs/styles/common.js +1 -190
  114. package/dist/commonjs/styles/index.d.ts +6 -0
  115. package/dist/commonjs/styles/index.js +1 -1589
  116. package/dist/commonjs/types/enums.d.ts +0 -1
  117. package/dist/commonjs/types/enums.js +1 -152
  118. package/dist/commonjs/types/index.js +1 -18
  119. package/dist/commonjs/types/interfaces.d.ts +2 -2
  120. package/dist/commonjs/types/interfaces.js +1 -2
  121. package/dist/esm/analytics.js +1 -2
  122. package/dist/esm/bundle.js +1 -2
  123. package/dist/esm/capture.js +1 -32
  124. package/dist/esm/components/AnalyticsDetail.js +171 -664
  125. package/dist/esm/components/AnalyticsEventCard.js +77 -335
  126. package/dist/esm/components/AnalyticsGraph.js +95 -357
  127. package/dist/esm/components/AnimatedEntrance.js +1 -6
  128. package/dist/esm/components/AppHeaderLogo.js +7 -94
  129. package/dist/esm/components/BrandCircleIcon.js +114 -119
  130. package/dist/esm/components/BrandSquareIcon.js +73 -78
  131. package/dist/esm/components/CodeSnippet.js +58 -595
  132. package/dist/esm/components/ConsoleLogCard.js +91 -526
  133. package/dist/esm/components/CopyButton.js +3 -51
  134. package/dist/esm/components/DiffViewer.js +22 -48
  135. package/dist/esm/components/DomainHeader.js +43 -138
  136. package/dist/esm/components/EmptyState.js +17 -56
  137. package/dist/esm/components/EndOfListFooter.js +15 -83
  138. package/dist/esm/components/ErrorBoundary.js +125 -582
  139. package/dist/esm/components/HeadersSection.js +52 -93
  140. package/dist/esm/components/HighlightText.js +17 -53
  141. package/dist/esm/components/Inspector/AboutModal.d.ts +6 -0
  142. package/dist/esm/components/Inspector/AboutModal.js +243 -0
  143. package/dist/esm/components/Inspector/AnalyticsFilterModal.js +225 -886
  144. package/dist/esm/components/Inspector/AnalyticsTab.js +296 -904
  145. package/dist/esm/components/Inspector/BundleTab.js +1175 -3502
  146. package/dist/esm/components/Inspector/ConsoleTab.js +113 -488
  147. package/dist/esm/components/Inspector/CrashDetail.js +236 -747
  148. package/dist/esm/components/Inspector/CrashFilterModal.js +149 -541
  149. package/dist/esm/components/Inspector/CrashTab.js +177 -711
  150. package/dist/esm/components/Inspector/DebuggingTab.js +164 -925
  151. package/dist/esm/components/Inspector/DeviceInfoTab.js +199 -924
  152. package/dist/esm/components/Inspector/FabLauncher.js +68 -454
  153. package/dist/esm/components/Inspector/FeatureUnderDevNotice.js +14 -70
  154. package/dist/esm/components/Inspector/InspectorContext.js +1 -12
  155. package/dist/esm/components/Inspector/InspectorHeader.js +282 -1163
  156. package/dist/esm/components/Inspector/LogDetail.js +235 -1023
  157. package/dist/esm/components/Inspector/MainScreen.js +78 -323
  158. package/dist/esm/components/Inspector/MediaGalleryTab.js +143 -650
  159. package/dist/esm/components/Inspector/MediaPreviewModal.js +138 -613
  160. package/dist/esm/components/Inspector/NavigationTracker.js +1 -10
  161. package/dist/esm/components/Inspector/NetworkDetail.js +138 -455
  162. package/dist/esm/components/Inspector/NetworkFilterModal.js +122 -597
  163. package/dist/esm/components/Inspector/NetworkTab.js +125 -517
  164. package/dist/esm/components/Inspector/NpmStarPrompt.js +58 -434
  165. package/dist/esm/components/Inspector/NpmUpdateToast.js +45 -281
  166. package/dist/esm/components/Inspector/PerformanceTab.js +393 -1570
  167. package/dist/esm/components/Inspector/ReduxDetail.js +307 -1170
  168. package/dist/esm/components/Inspector/ReduxTab.js +144 -722
  169. package/dist/esm/components/Inspector/SettingsPanel.js +643 -3985
  170. package/dist/esm/components/Inspector/SkeletonPlaceholder.js +30 -163
  171. package/dist/esm/components/Inspector/StorageTab.js +172 -866
  172. package/dist/esm/components/Inspector/TabBar.js +45 -305
  173. package/dist/esm/components/Inspector/UpdateAvailableModal.js +80 -418
  174. package/dist/esm/components/JsonViewer.js +179 -354
  175. package/dist/esm/components/LogCard.js +93 -565
  176. package/dist/esm/components/LogSyntaxHighlighter.js +11 -123
  177. package/dist/esm/components/MetaAccordion.js +136 -267
  178. package/dist/esm/components/MiniBarChart.js +3 -18
  179. package/dist/esm/components/MiniLineChart.js +3 -20
  180. package/dist/esm/components/NetworkIcons.d.ts +13 -0
  181. package/dist/esm/components/NetworkIcons.js +523 -838
  182. package/dist/esm/components/QRCodeView.js +8 -45
  183. package/dist/esm/components/SectionHeader.js +22 -39
  184. package/dist/esm/components/SegmentedTabs.js +8 -58
  185. package/dist/esm/components/SkeletonPlaceholder.js +30 -163
  186. package/dist/esm/components/Slider.js +24 -213
  187. package/dist/esm/components/SourcePageCard.js +65 -86
  188. package/dist/esm/components/Toast.js +10 -117
  189. package/dist/esm/components/TouchableScale.js +3 -19
  190. package/dist/esm/components/TreeNode.js +58 -95
  191. package/dist/esm/console.js +1 -2
  192. package/dist/esm/constants/index.js +1 -28
  193. package/dist/esm/constants/telemetryConfig.js +1 -3
  194. package/dist/esm/constants/version.d.ts +1 -1
  195. package/dist/esm/constants/version.js +1 -1
  196. package/dist/esm/crash.js +1 -2
  197. package/dist/esm/customHooks/analyticsLogger.js +1 -230
  198. package/dist/esm/customHooks/bundleAnalyzer.js +1 -944
  199. package/dist/esm/customHooks/consoleLogger.js +6 -432
  200. package/dist/esm/customHooks/crashHandler.js +7 -630
  201. package/dist/esm/customHooks/logFilters.js +1 -20
  202. package/dist/esm/customHooks/networkLogger.js +2 -519
  203. package/dist/esm/customHooks/performanceTracker.js +63 -723
  204. package/dist/esm/customHooks/reduxLogger.js +2 -293
  205. package/dist/esm/customHooks/storageInspector.js +1 -418
  206. package/dist/esm/customHooks/useAccordion.js +1 -16
  207. package/dist/esm/decorators/index.js +1 -95
  208. package/dist/esm/helpers/gaAnalyticsRegistry.js +1 -143
  209. package/dist/esm/helpers/index.d.ts +1 -0
  210. package/dist/esm/helpers/index.js +8 -861
  211. package/dist/esm/helpers/memoryManager.js +1 -91
  212. package/dist/esm/helpers/qrGenerator.js +1 -364
  213. package/dist/esm/helpers/remoteConfig.js +1 -160
  214. package/dist/esm/helpers/searchQueryParser.js +1 -59
  215. package/dist/esm/helpers/settingsStore.js +1 -134
  216. package/dist/esm/helpers/telemetry.js +1 -489
  217. package/dist/esm/helpers/toast.js +1 -15
  218. package/dist/esm/i18n/index.js +1 -78
  219. package/dist/esm/i18n/locales/en.json +1 -1140
  220. package/dist/esm/index.js +7 -1982
  221. package/dist/esm/metro.js +6 -459
  222. package/dist/esm/native/NativeInspector.d.ts +1 -0
  223. package/dist/esm/native/NativeInspector.js +1 -382
  224. package/dist/esm/native/NativeNetworkInspector.js +1 -2
  225. package/dist/esm/network.js +1 -1
  226. package/dist/esm/performance.js +1 -2
  227. package/dist/esm/redux.js +1 -1
  228. package/dist/esm/storage.js +1 -1
  229. package/dist/esm/styles/AppColors.js +1 -417
  230. package/dist/esm/styles/AppFonts.js +1 -13
  231. package/dist/esm/styles/common.js +1 -186
  232. package/dist/esm/styles/index.d.ts +6 -0
  233. package/dist/esm/styles/index.js +1 -1551
  234. package/dist/esm/types/enums.d.ts +0 -1
  235. package/dist/esm/types/enums.js +1 -149
  236. package/dist/esm/types/index.js +1 -2
  237. package/dist/esm/types/interfaces.d.ts +2 -2
  238. package/dist/esm/types/interfaces.js +1 -1
  239. package/ios/NetworkInspectorModule.mm +60 -12
  240. package/package.json +5 -3
  241. package/src/native/NativeInspector.ts +18 -0
  242. package/dist/commonjs/components/Inspector/FeedbackModal.d.ts +0 -7
  243. package/dist/commonjs/components/Inspector/FeedbackModal.js +0 -552
  244. package/dist/esm/components/Inspector/FeedbackModal.d.ts +0 -7
  245. package/dist/esm/components/Inspector/FeedbackModal.js +0 -515
  246. package/src/analytics.ts +0 -35
  247. package/src/bundle.ts +0 -25
  248. package/src/capture.ts +0 -109
  249. package/src/components/AnalyticsDetail.tsx +0 -870
  250. package/src/components/AnalyticsEventCard.tsx +0 -444
  251. package/src/components/AnalyticsGraph.tsx +0 -583
  252. package/src/components/AnimatedEntrance.tsx +0 -20
  253. package/src/components/AppHeaderLogo.tsx +0 -143
  254. package/src/components/BrandCircleIcon.tsx +0 -144
  255. package/src/components/BrandSquareIcon.tsx +0 -184
  256. package/src/components/CodeSnippet.tsx +0 -725
  257. package/src/components/ConsoleLogCard.tsx +0 -679
  258. package/src/components/CopyButton.tsx +0 -87
  259. package/src/components/DiffViewer.tsx +0 -82
  260. package/src/components/DomainHeader.tsx +0 -224
  261. package/src/components/EmptyState.tsx +0 -97
  262. package/src/components/EndOfListFooter.tsx +0 -100
  263. package/src/components/ErrorBoundary.tsx +0 -688
  264. package/src/components/HeadersSection.tsx +0 -172
  265. package/src/components/HighlightText.tsx +0 -100
  266. package/src/components/Inspector/AnalyticsFilterModal.tsx +0 -1250
  267. package/src/components/Inspector/AnalyticsTab.tsx +0 -1362
  268. package/src/components/Inspector/BundleTab.tsx +0 -4768
  269. package/src/components/Inspector/ConsoleTab.tsx +0 -726
  270. package/src/components/Inspector/CrashDetail.tsx +0 -997
  271. package/src/components/Inspector/CrashFilterModal.tsx +0 -721
  272. package/src/components/Inspector/CrashTab.tsx +0 -933
  273. package/src/components/Inspector/DebuggingTab.tsx +0 -1103
  274. package/src/components/Inspector/DeviceInfoTab.tsx +0 -1397
  275. package/src/components/Inspector/FabLauncher.tsx +0 -590
  276. package/src/components/Inspector/FeatureUnderDevNotice.tsx +0 -94
  277. package/src/components/Inspector/FeedbackModal.tsx +0 -626
  278. package/src/components/Inspector/InspectorContext.tsx +0 -28
  279. package/src/components/Inspector/InspectorHeader.tsx +0 -1583
  280. package/src/components/Inspector/LogDetail.tsx +0 -1431
  281. package/src/components/Inspector/MainScreen.tsx +0 -460
  282. package/src/components/Inspector/MediaGalleryTab.tsx +0 -829
  283. package/src/components/Inspector/MediaPreviewModal.tsx +0 -783
  284. package/src/components/Inspector/NavigationTracker.tsx +0 -13
  285. package/src/components/Inspector/NetworkDetail.tsx +0 -778
  286. package/src/components/Inspector/NetworkFilterModal.tsx +0 -730
  287. package/src/components/Inspector/NetworkTab.tsx +0 -820
  288. package/src/components/Inspector/NpmStarPrompt.tsx +0 -532
  289. package/src/components/Inspector/NpmUpdateToast.tsx +0 -387
  290. package/src/components/Inspector/PerformanceTab.tsx +0 -1967
  291. package/src/components/Inspector/ReduxDetail.tsx +0 -1651
  292. package/src/components/Inspector/ReduxTab.tsx +0 -987
  293. package/src/components/Inspector/SettingsPanel.tsx +0 -5136
  294. package/src/components/Inspector/SkeletonPlaceholder.tsx +0 -206
  295. package/src/components/Inspector/StorageTab.tsx +0 -1159
  296. package/src/components/Inspector/TabBar.tsx +0 -431
  297. package/src/components/Inspector/UpdateAvailableModal.tsx +0 -555
  298. package/src/components/JsonViewer.tsx +0 -549
  299. package/src/components/LogCard.tsx +0 -694
  300. package/src/components/LogSyntaxHighlighter.tsx +0 -178
  301. package/src/components/MetaAccordion.tsx +0 -355
  302. package/src/components/MiniBarChart.tsx +0 -42
  303. package/src/components/MiniLineChart.tsx +0 -33
  304. package/src/components/NetworkIcons.tsx +0 -2655
  305. package/src/components/QRCodeView.tsx +0 -75
  306. package/src/components/SectionHeader.tsx +0 -101
  307. package/src/components/SegmentedTabs.tsx +0 -84
  308. package/src/components/SkeletonPlaceholder.tsx +0 -206
  309. package/src/components/Slider.tsx +0 -300
  310. package/src/components/SourcePageCard.tsx +0 -150
  311. package/src/components/Toast.tsx +0 -131
  312. package/src/components/TouchableScale.tsx +0 -61
  313. package/src/components/TreeNode.tsx +0 -171
  314. package/src/console.ts +0 -24
  315. package/src/constants/index.ts +0 -41
  316. package/src/constants/telemetryConfig.ts +0 -4
  317. package/src/constants/version.ts +0 -3
  318. package/src/crash.ts +0 -32
  319. package/src/customHooks/analyticsLogger.ts +0 -336
  320. package/src/customHooks/bundleAnalyzer.ts +0 -1256
  321. package/src/customHooks/consoleLogger.ts +0 -530
  322. package/src/customHooks/crashHandler.ts +0 -944
  323. package/src/customHooks/logFilters.ts +0 -32
  324. package/src/customHooks/networkLogger.ts +0 -624
  325. package/src/customHooks/performanceTracker.ts +0 -1014
  326. package/src/customHooks/reduxLogger.ts +0 -406
  327. package/src/customHooks/storageInspector.ts +0 -513
  328. package/src/customHooks/useAccordion.tsx +0 -27
  329. package/src/decorators/index.ts +0 -184
  330. package/src/helpers/gaAnalyticsRegistry.ts +0 -204
  331. package/src/helpers/index.ts +0 -1092
  332. package/src/helpers/memoryManager.ts +0 -138
  333. package/src/helpers/qrGenerator.ts +0 -430
  334. package/src/helpers/remoteConfig.ts +0 -212
  335. package/src/helpers/searchQueryParser.ts +0 -84
  336. package/src/helpers/settingsStore.ts +0 -171
  337. package/src/helpers/telemetry.ts +0 -568
  338. package/src/helpers/toast.ts +0 -17
  339. package/src/i18n/index.ts +0 -104
  340. package/src/i18n/locales/en.json +0 -1141
  341. package/src/index.tsx +0 -2650
  342. package/src/metro.ts +0 -598
  343. package/src/network.ts +0 -22
  344. package/src/performance.ts +0 -38
  345. package/src/redux.ts +0 -23
  346. package/src/storage.ts +0 -18
  347. package/src/styles/AppColors.ts +0 -455
  348. package/src/styles/AppFonts.ts +0 -26
  349. package/src/styles/common.ts +0 -209
  350. package/src/styles/index.ts +0 -1606
  351. package/src/types/enums.ts +0 -210
  352. package/src/types/index.ts +0 -34
  353. package/src/types/interfaces.ts +0 -535
@@ -1,4106 +1,726 @@
1
- "use strict";
2
- var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {
3
- if (k2 === undefined) k2 = k;
4
- var desc = Object.getOwnPropertyDescriptor(m, k);
5
- if (!desc || ("get" in desc ? !m.__esModule : desc.writable || desc.configurable)) {
6
- desc = { enumerable: true, get: function() { return m[k]; } };
7
- }
8
- Object.defineProperty(o, k2, desc);
9
- }) : (function(o, m, k, k2) {
10
- if (k2 === undefined) k2 = k;
11
- o[k2] = m[k];
12
- }));
13
- var __setModuleDefault = (this && this.__setModuleDefault) || (Object.create ? (function(o, v) {
14
- Object.defineProperty(o, "default", { enumerable: true, value: v });
15
- }) : function(o, v) {
16
- o["default"] = v;
17
- });
18
- var __importStar = (this && this.__importStar) || (function () {
19
- var ownKeys = function(o) {
20
- ownKeys = Object.getOwnPropertyNames || function (o) {
21
- var ar = [];
22
- for (var k in o) if (Object.prototype.hasOwnProperty.call(o, k)) ar[ar.length] = k;
23
- return ar;
24
- };
25
- return ownKeys(o);
26
- };
27
- return function (mod) {
28
- if (mod && mod.__esModule) return mod;
29
- var result = {};
30
- if (mod != null) for (var k = ownKeys(mod), i = 0; i < k.length; i++) if (k[i] !== "default") __createBinding(result, mod, k[i]);
31
- __setModuleDefault(result, mod);
32
- return result;
33
- };
34
- })();
35
- var __importDefault = (this && this.__importDefault) || function (mod) {
36
- return (mod && mod.__esModule) ? mod : { "default": mod };
37
- };
38
- Object.defineProperty(exports, "__esModule", { value: true });
39
- const react_1 = __importStar(require("react"));
40
- const react_native_1 = require("react-native");
41
- const react_native_svg_1 = __importStar(require("react-native-svg"));
42
- const InspectorContext_1 = require("./InspectorContext");
43
- const TouchableScale_1 = __importDefault(require("../TouchableScale"));
44
- const Slider_1 = __importDefault(require("../Slider"));
45
- const styles_1 = require("../../styles");
46
- const AppColors_1 = require("../../styles/AppColors");
47
- const AppFonts_1 = require("../../styles/AppFonts");
48
- const settingsStore_1 = require("../../helpers/settingsStore");
49
- const networkLogger_1 = require("../../customHooks/networkLogger");
50
- const consoleLogger_1 = require("../../customHooks/consoleLogger");
51
- const analyticsLogger_1 = require("../../customHooks/analyticsLogger");
52
- const crashHandler_1 = require("../../customHooks/crashHandler");
53
- const bundleAnalyzer_1 = require("../../customHooks/bundleAnalyzer");
54
- const performanceTracker_1 = require("../../customHooks/performanceTracker");
55
- const reduxLogger_1 = require("../../customHooks/reduxLogger");
56
- const analyticsLogger_2 = require("../../customHooks/analyticsLogger");
57
- const i18n_1 = require("../../i18n");
58
- const NetworkIcons_1 = require("../NetworkIcons");
59
- const capture_1 = require("../../capture");
60
- const constants_1 = require("../../constants");
61
- const helpers_1 = require("../../helpers");
62
- const toast_1 = require("../../helpers/toast");
63
- const memoryManager_1 = require("../../helpers/memoryManager");
64
- const SettingsPanel = () => {
65
- const { t } = (0, i18n_1.useTranslation)();
66
- const { settingsPage, setSettingsPage, settingsActiveSubTab, setSettingsActiveSubTab, tabVisibility, toggleTabVisibility, defaultTab, setDefaultTab, isDark, setIsDark, modalHeightPercent, setModalHeightPercent, modalAnimationType, setModalAnimationType, showDuplicateLogs, setShowDuplicateLogs, showUpdateToast, setShowUpdateToast, showConsoleLevels, setShowConsoleLevels, resetToDefaults, closeModal, storage, logs, consoleLogs, analyticsEvents, reduxState, maxNetworkLogs, setMaxNetworkLogs, maxConsoleLogs, setMaxConsoleLogs, maxAnalyticsEventsLimit, setMaxAnalyticsEventsLimit, isAutoRamLimitEnabled, setIsAutoRamLimitEnabled, deviceFreeRamMb, reduxAutoRefresh, setReduxAutoRefreshState, reduxExpandDepth, setReduxExpandDepth, switchActiveTab, setSelected, setSelectedEvent, setReduxState, crashRecords, maxCrashLogs, setMaxCrashLogs, updateAvailable, latestNpmVersion, } = (0, InspectorContext_1.useInspector)();
67
- const [stagedHeight, setStagedHeight] = (0, react_1.useState)(modalHeightPercent);
68
- (0, react_1.useEffect)(() => {
69
- setStagedHeight(modalHeightPercent);
70
- }, [modalHeightPercent]);
71
- const autoRamProfile = (0, settingsStore_1.calculateRamBasedLimits)(deviceFreeRamMb);
72
- const isPersistent = (0, settingsStore_1.isPersistentStorageAvailable)();
73
- const statusBarHeight = react_native_1.Platform.OS === 'android' ? react_native_1.StatusBar.currentHeight || 24 : 44;
74
- const headerTopPadding = modalHeightPercent >= 95 ? statusBarHeight : 0;
75
- const allModules = (0, react_1.useMemo)(() => [
76
- {
77
- id: 1,
78
- key: 'apis',
79
- label: 'APIs (Network)',
80
- category: 'core',
81
- icon: 'apis',
82
- desc: 'HTTP/HTTPS requests, GraphQL, Axios & WebSocket inspector',
83
- },
84
- {
85
- id: 2,
86
- key: 'logs',
87
- label: 'Console Logs',
88
- category: 'core',
89
- icon: 'logs',
90
- desc: 'Terminal console logs, warnings, errors & stack traces',
91
- },
92
- {
93
- id: 3,
94
- key: 'analytics',
95
- label: 'Analytics Logger',
96
- category: 'telemetry',
97
- icon: 'analytics',
98
- desc: 'Firebase & custom analytics events, user properties & params',
99
- },
100
- {
101
- id: 4,
102
- key: 'redux',
103
- label: 'Redux Inspector',
104
- category: 'telemetry',
105
- icon: 'redux',
106
- desc: 'Store state diffing, action history & reducer timeline',
107
- },
108
- {
109
- id: 5,
110
- key: 'storage',
111
- label: 'Storage Inspector',
112
- category: 'telemetry',
113
- icon: 'storage',
114
- desc: 'AsyncStorage & MMKV key-value store viewer with full CRUD support',
115
- },
116
- {
117
- id: 6,
118
- key: 'device',
119
- label: 'Device Info',
120
- category: 'diagnostic',
121
- icon: 'device',
122
- desc: 'Hardware specs, IP address, screen metrics, UDID & runtime stats',
123
- },
124
- {
125
- id: 7,
126
- key: 'crash',
127
- label: 'Crash Protection',
128
- category: 'diagnostic',
129
- icon: 'crash',
130
- desc: 'Runtime exception guard, breadcrumbs & memory snapshot',
131
- },
132
- {
133
- id: 8,
134
- key: 'bundle',
135
- label: 'Bundle Analyzer',
136
- category: 'diagnostic',
137
- icon: 'bundle',
138
- desc: 'Metro packager dependencies, source maps & asset breakdown',
139
- },
140
- {
141
- id: 9,
142
- key: 'performance',
143
- label: 'Performance & Tracker',
144
- category: 'diagnostic',
145
- icon: 'performance',
146
- desc: '60 FPS monitor, Hermes memory telemetry & re-render profiler',
147
- },
148
- {
149
- id: 10,
150
- key: 'debugging',
151
- label: 'Multi-Device Debugging',
152
- category: 'diagnostic',
153
- icon: 'debugging',
154
- desc: 'QR Code bridge for direct Debug APK download & Metro live-reload sync',
155
- },
156
- {
157
- id: 11,
158
- key: 'media',
159
- label: 'Screencast',
160
- category: 'diagnostic',
161
- icon: 'media',
162
- desc: 'Screenshots, video recordings, audio narration & animated GIFs',
163
- },
164
- ].filter(m => m.key === 'debugging'
165
- ? react_native_1.Platform.OS === 'android' && (0, helpers_1.isLocalDebugEnvironment)()
166
- : true), []);
167
- const [stagedTabVisibility, setStagedTabVisibility] = (0, react_1.useState)(() => ({
168
- apis: true,
169
- logs: Boolean(tabVisibility?.logs),
170
- analytics: Boolean(tabVisibility?.analytics),
171
- redux: Boolean(tabVisibility?.redux),
172
- storage: Boolean(tabVisibility?.storage),
173
- device: Boolean(tabVisibility?.device),
174
- crash: Boolean(tabVisibility?.crash),
175
- bundle: Boolean(tabVisibility?.bundle),
176
- performance: Boolean(tabVisibility?.performance),
177
- debugging: Boolean(tabVisibility?.debugging),
178
- media: Boolean(tabVisibility?.media ?? true),
179
- }));
180
- (0, react_1.useEffect)(() => {
181
- setStagedTabVisibility({
182
- apis: true,
183
- logs: Boolean(tabVisibility?.logs),
184
- analytics: Boolean(tabVisibility?.analytics),
185
- redux: Boolean(tabVisibility?.redux),
186
- storage: Boolean(tabVisibility?.storage),
187
- device: Boolean(tabVisibility?.device),
188
- crash: Boolean(tabVisibility?.crash),
189
- bundle: Boolean(tabVisibility?.bundle),
190
- performance: Boolean(tabVisibility?.performance),
191
- debugging: Boolean(tabVisibility?.debugging),
192
- media: Boolean(tabVisibility?.media ?? true),
193
- });
194
- }, [tabVisibility]);
195
- const hasUnsavedChanges = (0, react_1.useMemo)(() => {
196
- return allModules.some(m => Boolean(stagedTabVisibility[m.key]) !==
197
- Boolean(tabVisibility?.[m.key]));
198
- }, [stagedTabVisibility, tabVisibility, allModules]);
199
- const stagedActiveCount = allModules.filter(m => m.key === 'apis' || Boolean(stagedTabVisibility[m.key])).length;
200
- const handleSaveChanges = () => {
201
- if (!hasUnsavedChanges)
202
- return;
203
- react_native_1.Alert.alert('Apply Changes & Reload', 'Are you sure you want to save module changes? The inspector will close and reload the app to apply the new configuration.', [
204
- {
205
- text: 'Cancel',
206
- style: 'cancel',
207
- onPress: () => {
208
- setStagedTabVisibility({
209
- apis: true,
210
- logs: Boolean(tabVisibility?.logs),
211
- analytics: Boolean(tabVisibility?.analytics),
212
- redux: Boolean(tabVisibility?.redux),
213
- storage: Boolean(tabVisibility?.storage),
214
- device: Boolean(tabVisibility?.device),
215
- crash: Boolean(tabVisibility?.crash),
216
- bundle: Boolean(tabVisibility?.bundle),
217
- performance: Boolean(tabVisibility?.performance),
218
- debugging: Boolean(tabVisibility?.debugging),
219
- media: Boolean(tabVisibility?.media ?? true),
220
- });
221
- },
222
- },
223
- {
224
- text: 'Save & Reload',
225
- style: 'default',
226
- onPress: () => {
227
- (0, InspectorContext_1.animateNextLayout)();
228
- allModules.forEach(m => {
229
- if (m.key !== 'apis') {
230
- const isStagedOn = Boolean(stagedTabVisibility[m.key]);
231
- const isCurrentOn = Boolean(tabVisibility?.[m.key]);
232
- if (isStagedOn !== isCurrentOn) {
233
- toggleTabVisibility(m.key);
234
- }
235
- }
236
- });
237
- closeModal();
238
- setTimeout(() => {
239
- if (__DEV__ && react_native_1.DevSettings && react_native_1.DevSettings.reload) {
240
- react_native_1.DevSettings.reload();
241
- }
242
- }, 350);
243
- },
244
- },
245
- ]);
246
- };
247
- const [isDefaultTabDropdownOpen, setIsDefaultTabDropdownOpen] = (0, react_1.useState)(false);
248
- const goBackToMain = () => {
249
- (0, InspectorContext_1.animateNextLayout)();
250
- setSettingsPage('main');
251
- };
252
- const renderSettingRow = (opts) => {
253
- return (<react_native_1.View style={{
254
- paddingVertical: 12,
255
- borderBottomWidth: opts.isLast ? 0 : 1,
256
- borderBottomColor: AppColors_1.AppColors.dividerColor,
257
- }}>
258
- <TouchableScale_1.default disabled={!opts.onPress} onPress={opts.onPress} style={{
259
- flexDirection: 'row',
260
- alignItems: 'center',
261
- gap: 12,
262
- }}>
263
- <react_native_1.View style={{
264
- width: 36,
265
- height: 36,
266
- borderRadius: 10,
267
- backgroundColor: AppColors_1.AppColors.purpleShade50,
268
- borderWidth: 1,
269
- borderColor: `${AppColors_1.AppColors.purple}2E`,
270
- alignItems: 'center',
271
- justifyContent: 'center',
272
- }}>
273
- {opts.icon}
1
+ "use strict";var __createBinding=this&&this.__createBinding||(Object.create?(function(o,t,s,l){l===void 0&&(l=s);var p=Object.getOwnPropertyDescriptor(t,s);(!p||("get"in p?!t.__esModule:p.writable||p.configurable))&&(p={enumerable:!0,get:function(){return t[s]}}),Object.defineProperty(o,l,p)}):(function(o,t,s,l){l===void 0&&(l=s),o[l]=t[s]})),__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(s){var l=[];for(var p in s)Object.prototype.hasOwnProperty.call(s,p)&&(l[l.length]=p);return l},o(t)};return function(t){if(t&&t.__esModule)return t;var s={};if(t!=null)for(var l=o(t),p=0;p<l.length;p++)l[p]!=="default"&&__createBinding(s,t,l[p]);return __setModuleDefault(s,t),s}})(),__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"),react_native_svg_1=__importStar(require("react-native-svg")),InspectorContext_1=require("./InspectorContext"),TouchableScale_1=__importDefault(require("../TouchableScale")),Slider_1=__importDefault(require("../Slider")),styles_1=require("../../styles"),AppColors_1=require("../../styles/AppColors"),AppFonts_1=require("../../styles/AppFonts"),settingsStore_1=require("../../helpers/settingsStore"),networkLogger_1=require("../../customHooks/networkLogger"),consoleLogger_1=require("../../customHooks/consoleLogger"),analyticsLogger_1=require("../../customHooks/analyticsLogger"),crashHandler_1=require("../../customHooks/crashHandler"),bundleAnalyzer_1=require("../../customHooks/bundleAnalyzer"),performanceTracker_1=require("../../customHooks/performanceTracker"),reduxLogger_1=require("../../customHooks/reduxLogger"),analyticsLogger_2=require("../../customHooks/analyticsLogger"),i18n_1=require("../../i18n"),NetworkIcons_1=require("../NetworkIcons"),capture_1=require("../../capture"),helpers_1=require("../../helpers"),toast_1=require("../../helpers/toast"),memoryManager_1=require("../../helpers/memoryManager"),SettingsPanel=()=>{const{t:o}=(0,i18n_1.useTranslation)(),{settingsPage:t,setSettingsPage:s,settingsActiveSubTab:l,setSettingsActiveSubTab:p,tabVisibility:r,toggleTabVisibility:K,defaultTab:x,setDefaultTab:Q,isDark:v,setIsDark:X,modalHeightPercent:T,setModalHeightPercent:Y,modalAnimationType:Z,setModalAnimationType:ee,showDuplicateLogs:F,setShowDuplicateLogs:oe,showUpdateToast:z,setShowUpdateToast:re,showConsoleLevels:te,setShowConsoleLevels:ie,resetToDefaults:fe,closeModal:ae,storage:me,logs:R,consoleLogs:I,analyticsEvents:L,reduxState:H,maxNetworkLogs:D,setMaxNetworkLogs:le,maxConsoleLogs:P,setMaxConsoleLogs:ne,maxAnalyticsEventsLimit:j,setMaxAnalyticsEventsLimit:se,isAutoRamLimitEnabled:c,setIsAutoRamLimitEnabled:pe,deviceFreeRamMb:W,reduxAutoRefresh:$,setReduxAutoRefreshState:ce,reduxExpandDepth:N,setReduxExpandDepth:de,switchActiveTab:xe,setSelected:ge,setSelectedEvent:ue,setReduxState:ye,crashRecords:M,maxCrashLogs:q,setMaxCrashLogs:Ce,updateAvailable:Ve,latestNpmVersion:ve}=(0,InspectorContext_1.useInspector)(),[S,G]=(0,react_1.useState)(T);(0,react_1.useEffect)(()=>{G(T)},[T]);const k=(0,settingsStore_1.calculateRamBasedLimits)(W),Te=(0,settingsStore_1.isPersistentStorageAvailable)(),he=react_native_1.Platform.OS==="android"?react_native_1.StatusBar.currentHeight||24:44,ke=T>=95?he:0,h=(0,react_1.useMemo)(()=>[{id:1,key:"apis",label:"APIs (Network)",category:"core",icon:"apis",desc:"HTTP/HTTPS requests, GraphQL, Axios & WebSocket inspector"},{id:2,key:"logs",label:"Console Logs",category:"core",icon:"logs",desc:"Terminal console logs, warnings, errors & stack traces"},{id:3,key:"analytics",label:"Analytics Logger",category:"telemetry",icon:"analytics",desc:"Firebase & custom analytics events, user properties & params"},{id:4,key:"redux",label:"Redux Inspector",category:"telemetry",icon:"redux",desc:"Store state diffing, action history & reducer timeline"},{id:5,key:"storage",label:"Storage Inspector",category:"telemetry",icon:"storage",desc:"AsyncStorage & MMKV key-value store viewer with full CRUD support"},{id:6,key:"device",label:"Device Info",category:"diagnostic",icon:"device",desc:"Hardware specs, IP address, screen metrics, UDID & runtime stats"},{id:7,key:"crash",label:"Crash Protection",category:"diagnostic",icon:"crash",desc:"Runtime exception guard, breadcrumbs & memory snapshot"},{id:8,key:"bundle",label:"Bundle Analyzer",category:"diagnostic",icon:"bundle",desc:"Metro packager dependencies, source maps & asset breakdown"},{id:9,key:"performance",label:"Performance & Tracker",category:"diagnostic",icon:"performance",desc:"60 FPS monitor, Hermes memory telemetry & re-render profiler"},{id:10,key:"debugging",label:"Multi-Device Debugging",category:"diagnostic",icon:"debugging",desc:"QR Code bridge for direct Debug APK download & Metro live-reload sync"},{id:11,key:"media",label:"Screencast",category:"diagnostic",icon:"media",desc:"Screenshots, video recordings, audio narration & animated GIFs"}].filter(e=>e.key==="debugging"?react_native_1.Platform.OS==="android"&&(0,helpers_1.isLocalDebugEnvironment)():!0),[]),[w,O]=(0,react_1.useState)(()=>({apis:!0,logs:!!r?.logs,analytics:!!r?.analytics,redux:!!r?.redux,storage:!!r?.storage,device:!!r?.device,crash:!!r?.crash,bundle:!!r?.bundle,performance:!!r?.performance,debugging:!!r?.debugging,media:!!(r?.media??!0)}));(0,react_1.useEffect)(()=>{O({apis:!0,logs:!!r?.logs,analytics:!!r?.analytics,redux:!!r?.redux,storage:!!r?.storage,device:!!r?.device,crash:!!r?.crash,bundle:!!r?.bundle,performance:!!r?.performance,debugging:!!r?.debugging,media:!!(r?.media??!0)})},[r]);const V=(0,react_1.useMemo)(()=>h.some(e=>!!w[e.key]!=!!r?.[e.key]),[w,r,h]),be=h.filter(e=>e.key==="apis"||!!w[e.key]).length,Ae=()=>{V&&react_native_1.Alert.alert("Apply Changes & Reload","Are you sure you want to save module changes? The inspector will close and reload the app to apply the new configuration.",[{text:"Cancel",style:"cancel",onPress:()=>{O({apis:!0,logs:!!r?.logs,analytics:!!r?.analytics,redux:!!r?.redux,storage:!!r?.storage,device:!!r?.device,crash:!!r?.crash,bundle:!!r?.bundle,performance:!!r?.performance,debugging:!!r?.debugging,media:!!(r?.media??!0)})}},{text:"Save & Reload",style:"default",onPress:()=>{(0,InspectorContext_1.animateNextLayout)(),h.forEach(e=>{if(e.key!=="apis"){const i=!!w[e.key],C=!!r?.[e.key];i!==C&&K(e.key)}}),ae(),setTimeout(()=>{__DEV__&&react_native_1.DevSettings&&react_native_1.DevSettings.reload&&react_native_1.DevSettings.reload()},350)}}])},[E,U]=(0,react_1.useState)(!1),Se=()=>{(0,InspectorContext_1.animateNextLayout)(),s("main")},n=e=><react_native_1.View style={{paddingVertical:12,borderBottomWidth:e.isLast?0:1,borderBottomColor:AppColors_1.AppColors.dividerColor}}>
2
+ <TouchableScale_1.default disabled={!e.onPress}onPress={e.onPress}style={{flexDirection:"row",alignItems:"center",gap:12}}>
3
+ <react_native_1.View style={{width:36,height:36,borderRadius:10,backgroundColor:AppColors_1.AppColors.purpleShade50,borderWidth:1,borderColor:`${AppColors_1.AppColors.purple}2E`,alignItems:"center",justifyContent:"center"}}>
4
+ {e.icon}
274
5
  </react_native_1.View>
275
- <react_native_1.View style={{ flex: 1 }}>
276
- <react_native_1.Text style={{
277
- fontFamily: AppFonts_1.AppFonts.interBold,
278
- fontSize: 14,
279
- lineHeight: 18,
280
- color: AppColors_1.AppColors.primaryBlack,
281
- }}>
282
- {opts.label}
6
+ <react_native_1.View style={{flex:1}}>
7
+ <react_native_1.Text style={{fontFamily:AppFonts_1.AppFonts.interBold,fontSize:14,lineHeight:18,color:AppColors_1.AppColors.primaryBlack}}>
8
+ {e.label}
283
9
  </react_native_1.Text>
284
- {opts.description ? (<react_native_1.Text style={{
285
- fontFamily: AppFonts_1.AppFonts.interRegular,
286
- fontSize: 11,
287
- lineHeight: 15,
288
- color: AppColors_1.AppColors.grayText,
289
- marginTop: 1,
290
- }}>
291
- {opts.description}
292
- </react_native_1.Text>) : null}
10
+ {e.description?<react_native_1.Text style={{fontFamily:AppFonts_1.AppFonts.interRegular,fontSize:11,lineHeight:15,color:AppColors_1.AppColors.grayText,marginTop:1}}>
11
+ {e.description}
12
+ </react_native_1.Text>:null}
293
13
  </react_native_1.View>
294
- {opts.right || null}
14
+ {e.right||null}
295
15
  </TouchableScale_1.default>
296
- {opts.numericInput && (<react_native_1.View style={{ marginTop: 10, gap: 6 }}>
297
- <react_native_1.View style={{
298
- flexDirection: 'row',
299
- alignItems: 'center',
300
- backgroundColor: AppColors_1.AppColors.grayBackground,
301
- borderRadius: 8,
302
- borderWidth: 1,
303
- borderColor: AppColors_1.AppColors.dividerColor,
304
- paddingHorizontal: 12,
305
- paddingVertical: 4,
306
- }}>
307
- <react_native_1.TextInput style={{
308
- flex: 1,
309
- fontFamily: AppFonts_1.AppFonts.interMedium,
310
- fontSize: 14,
311
- lineHeight: 18,
312
- color: AppColors_1.AppColors.primaryBlack,
313
- paddingVertical: 6,
314
- }} value={String(opts.numericInput.value || '')} onChangeText={text => {
315
- const num = parseInt(text.replace(/[^0-9]/g, ''), 10);
316
- if (!isNaN(num)) {
317
- const clamped = Math.max(opts.numericInput?.min ?? 1, Math.min(opts.numericInput?.max ?? 10000, num));
318
- opts.numericInput?.onChange(clamped);
319
- }
320
- }} keyboardType={opts.numericInput.keyboardType ?? 'number-pad'} placeholder={opts.numericInput.placeholder} placeholderTextColor={AppColors_1.AppColors.grayTextWeak} maxLength={6} selectTextOnFocus/>
321
- <react_native_1.Text style={{
322
- fontFamily: AppFonts_1.AppFonts.interBold,
323
- fontSize: 11,
324
- color: AppColors_1.AppColors.purple,
325
- marginLeft: 6,
326
- }}>
16
+ {e.numericInput&&<react_native_1.View style={{marginTop:10,gap:6}}>
17
+ <react_native_1.View style={{flexDirection:"row",alignItems:"center",backgroundColor:AppColors_1.AppColors.grayBackground,borderRadius:8,borderWidth:1,borderColor:AppColors_1.AppColors.dividerColor,paddingHorizontal:12,paddingVertical:4}}>
18
+ <react_native_1.TextInput style={{flex:1,fontFamily:AppFonts_1.AppFonts.interMedium,fontSize:14,lineHeight:18,color:AppColors_1.AppColors.primaryBlack,paddingVertical:6}}value={String(e.numericInput.value||"")}onChangeText={i=>{const C=parseInt(i.replace(/[^0-9]/g,""),10);if(!isNaN(C)){const d=Math.max(e.numericInput?.min??1,Math.min(e.numericInput?.max??1e4,C));e.numericInput?.onChange(d)}}}keyboardType={e.numericInput.keyboardType??"number-pad"}placeholder={e.numericInput.placeholder}placeholderTextColor={AppColors_1.AppColors.grayTextWeak}maxLength={6}selectTextOnFocus/>
19
+ <react_native_1.Text style={{fontFamily:AppFonts_1.AppFonts.interBold,fontSize:11,color:AppColors_1.AppColors.purple,marginLeft:6}}>
327
20
  MAX
328
21
  </react_native_1.Text>
329
22
  </react_native_1.View>
330
- {opts.numericInput.min !== undefined ||
331
- opts.numericInput.max !== undefined ? (<react_native_1.Text style={{
332
- fontFamily: AppFonts_1.AppFonts.interRegular,
333
- fontSize: 10,
334
- lineHeight: 13,
335
- color: AppColors_1.AppColors.grayTextWeak,
336
- }}>
337
- Range: {opts.numericInput.min ?? 1} -{' '}
338
- {opts.numericInput.max ?? '∞'}
339
- </react_native_1.Text>) : null}
340
- </react_native_1.View>)}
341
- {opts.picker && (<react_native_1.View style={{
342
- flexDirection: 'row',
343
- backgroundColor: AppColors_1.AppColors.grayBackground,
344
- borderRadius: 8,
345
- padding: 2.5,
346
- marginTop: 10,
347
- borderWidth: 1,
348
- borderColor: AppColors_1.AppColors.dividerColor,
349
- }}>
350
- {opts.picker.options.map(opt => {
351
- const isActive = opts.picker.selectedValue === opt;
352
- return (<TouchableScale_1.default key={String(opt)} onPress={() => opts.picker.onSelect(opt)} style={{
353
- flex: 1,
354
- paddingVertical: 6,
355
- alignItems: 'center',
356
- borderRadius: 6,
357
- backgroundColor: isActive
358
- ? AppColors_1.AppColors.purple
359
- : 'transparent',
360
- }}>
361
- <react_native_1.Text style={{
362
- fontFamily: AppFonts_1.AppFonts.interBold,
363
- fontSize: 11,
364
- lineHeight: 14,
365
- color: isActive ? AppColors_1.AppColors.white : AppColors_1.AppColors.grayText,
366
- }}>
367
- {opts.picker.formatLabel
368
- ? opts.picker.formatLabel(opt)
369
- : opt}
370
- </react_native_1.Text>
371
- </TouchableScale_1.default>);
372
- })}
373
- </react_native_1.View>)}
374
- </react_native_1.View>);
375
- };
376
- const renderMainSettingsContent = () => (<react_native_1.View style={{
377
- flex: 1,
378
- backgroundColor: AppColors_1.AppColors.grayBackground,
379
- }}>
380
- <react_native_1.ScrollView style={{ flex: 1 }} contentContainerStyle={{ padding: 16, paddingBottom: 100, gap: 14 }} showsVerticalScrollIndicator={false}>
23
+ {e.numericInput.min!==void 0||e.numericInput.max!==void 0?<react_native_1.Text style={{fontFamily:AppFonts_1.AppFonts.interRegular,fontSize:10,lineHeight:13,color:AppColors_1.AppColors.grayTextWeak}}>
24
+ Range: {e.numericInput.min??1} -{" "}
25
+ {e.numericInput.max??"\u221E"}
26
+ </react_native_1.Text>:null}
27
+ </react_native_1.View>}
28
+ {e.picker&&<react_native_1.View style={{flexDirection:"row",backgroundColor:AppColors_1.AppColors.grayBackground,borderRadius:8,padding:2.5,marginTop:10,borderWidth:1,borderColor:AppColors_1.AppColors.dividerColor}}>
29
+ {e.picker.options.map(i=>{const C=e.picker.selectedValue===i;return<TouchableScale_1.default key={String(i)}onPress={()=>e.picker.onSelect(i)}style={{flex:1,paddingVertical:6,alignItems:"center",borderRadius:6,backgroundColor:C?AppColors_1.AppColors.purple:"transparent"}}>
30
+ <react_native_1.Text style={{fontFamily:AppFonts_1.AppFonts.interBold,fontSize:11,lineHeight:14,color:C?AppColors_1.AppColors.white:AppColors_1.AppColors.grayText}}>
31
+ {e.picker.formatLabel?e.picker.formatLabel(i):i}
32
+ </react_native_1.Text>
33
+ </TouchableScale_1.default>})}
34
+ </react_native_1.View>}
35
+ </react_native_1.View>,we=()=><react_native_1.View style={{flex:1,backgroundColor:AppColors_1.AppColors.grayBackground}}>
36
+ <react_native_1.ScrollView style={{flex:1}}contentContainerStyle={{padding:16,paddingBottom:100,gap:14}}showsVerticalScrollIndicator={!1}>
381
37
 
382
38
 
383
- <react_native_1.View style={{
384
- backgroundColor: AppColors_1.AppColors.primaryLight,
385
- borderRadius: 13,
386
- paddingVertical: 4,
387
- paddingHorizontal: 4,
388
- borderWidth: 1,
389
- borderColor: AppColors_1.AppColors.grayBorderSecondary,
390
- shadowColor: AppColors_1.AppColors.black,
391
- shadowOpacity: 0.04,
392
- shadowRadius: 4,
393
- shadowOffset: { width: 0, height: 2 },
394
- }}>
395
- <react_native_1.ScrollView horizontal showsHorizontalScrollIndicator={false} contentContainerStyle={{
396
- flexDirection: 'row',
397
- alignItems: 'center',
398
- gap: 6,
399
- paddingHorizontal: 2,
400
- }}>
401
- {[
402
- {
403
- key: 'module',
404
- label: t('settings.modulesAndTools', 'Modules & Tools'),
405
- Icon: NetworkIcons_1.LayersIcon,
406
- badge: `${allModules.filter(m => stagedTabVisibility?.[m.key] ||
407
- m.key === 'apis').length}/${allModules.length}`,
408
- },
409
- {
410
- key: 'ui',
411
- label: t('settings.uiPreferences', 'UI Preferences'),
412
- Icon: NetworkIcons_1.ScreenIcon,
413
- },
414
- {
415
- key: 'limits',
416
- label: t('settings.ramLimits', 'RAM & Limits'),
417
- Icon: NetworkIcons_1.BrainIcon,
418
- },
419
- {
420
- key: 'capture',
421
- label: t('settings.screenVideoCapture', 'Screen & Video Capture'),
422
- Icon: NetworkIcons_1.CameraIcon,
423
- },
424
- {
425
- key: 'about',
426
- label: t('settings.aboutAndSpecs', 'About & Specs'),
427
- Icon: NetworkIcons_1.InfoCircleIcon,
428
- },
429
- ].map(tab => {
430
- const isActive = settingsActiveSubTab === tab.key;
431
- const IconComp = tab.Icon;
432
- return (<TouchableScale_1.default key={tab.key} accessible={true} accessibilityRole="tab" accessibilityLabel={tab.label} accessibilityState={{ selected: isActive }} onPress={() => {
433
- (0, InspectorContext_1.animateNextLayout)();
434
- setSettingsActiveSubTab(tab.key);
435
- }} style={{
436
- paddingVertical: 8,
437
- paddingHorizontal: 14,
438
- flexDirection: 'row',
439
- alignItems: 'center',
440
- justifyContent: 'center',
441
- gap: 6,
442
- borderRadius: 9,
443
- backgroundColor: isActive
444
- ? AppColors_1.AppColors.purple
445
- : 'transparent',
446
- }}>
447
- <IconComp color={isActive ? AppColors_1.AppColors.white : AppColors_1.AppColors.grayText} size={13}/>
448
- <react_native_1.Text style={{
449
- fontFamily: AppFonts_1.AppFonts.interBold,
450
- fontSize: 12.5,
451
- lineHeight: 16,
452
- color: isActive ? AppColors_1.AppColors.white : AppColors_1.AppColors.grayText,
453
- }}>
454
- {tab.label}
455
- </react_native_1.Text>
456
- {tab.badge && (<react_native_1.View style={{
457
- backgroundColor: isActive
458
- ? 'rgba(255,255,255,0.25)'
459
- : `${AppColors_1.AppColors.purple}18`,
460
- paddingHorizontal: 5.5,
461
- paddingVertical: 1,
462
- borderRadius: 10,
463
- }}>
464
- <react_native_1.Text style={{
465
- fontFamily: AppFonts_1.AppFonts.interBold,
466
- fontSize: 9.5,
467
- color: isActive ? AppColors_1.AppColors.white : AppColors_1.AppColors.purple,
468
- }}>
469
- {tab.badge}
39
+ <react_native_1.View style={{backgroundColor:AppColors_1.AppColors.primaryLight,borderRadius:13,paddingVertical:4,paddingHorizontal:4,borderWidth:1,borderColor:AppColors_1.AppColors.grayBorderSecondary,shadowColor:AppColors_1.AppColors.black,shadowOpacity:.04,shadowRadius:4,shadowOffset:{width:0,height:2}}}>
40
+ <react_native_1.ScrollView horizontal showsHorizontalScrollIndicator={!1}contentContainerStyle={{flexDirection:"row",alignItems:"center",gap:6,paddingHorizontal:2}}>
41
+ {[{key:"module",label:o("settings.modulesAndTools","Modules & Tools"),Icon:NetworkIcons_1.LayersIcon,badge:`${h.filter(e=>w?.[e.key]||e.key==="apis").length}/${h.length}`},{key:"ui",label:o("settings.uiPreferences","UI Preferences"),Icon:NetworkIcons_1.ScreenIcon},{key:"limits",label:o("settings.ramLimits","RAM & Limits"),Icon:NetworkIcons_1.BrainIcon},{key:"capture",label:o("settings.screenVideoCapture","Screen & Video Capture"),Icon:NetworkIcons_1.CameraIcon}].map(e=>{const i=l===e.key,C=e.Icon;return<TouchableScale_1.default key={e.key}accessible={!0}accessibilityRole="tab"accessibilityLabel={e.label}accessibilityState={{selected:i}}onPress={()=>{(0,InspectorContext_1.animateNextLayout)(),p(e.key)}}style={{paddingVertical:8,paddingHorizontal:14,flexDirection:"row",alignItems:"center",justifyContent:"center",gap:6,borderRadius:9,backgroundColor:i?AppColors_1.AppColors.purple:"transparent"}}>
42
+ <C color={i?AppColors_1.AppColors.white:AppColors_1.AppColors.grayText}size={13}/>
43
+ <react_native_1.Text style={{fontFamily:AppFonts_1.AppFonts.interBold,fontSize:12.5,lineHeight:16,color:i?AppColors_1.AppColors.white:AppColors_1.AppColors.grayText}}>
44
+ {e.label}
45
+ </react_native_1.Text>
46
+ {e.badge&&<react_native_1.View style={{backgroundColor:i?"rgba(255,255,255,0.25)":`${AppColors_1.AppColors.purple}18`,paddingHorizontal:5.5,paddingVertical:1,borderRadius:10}}>
47
+ <react_native_1.Text style={{fontFamily:AppFonts_1.AppFonts.interBold,fontSize:9.5,color:i?AppColors_1.AppColors.white:AppColors_1.AppColors.purple}}>
48
+ {e.badge}
470
49
  </react_native_1.Text>
471
- </react_native_1.View>)}
472
- </TouchableScale_1.default>);
473
- })}
50
+ </react_native_1.View>}
51
+ </TouchableScale_1.default>})}
474
52
  </react_native_1.ScrollView>
475
53
  </react_native_1.View>
476
54
 
477
- {settingsActiveSubTab === 'module' && (<react_native_1.View style={{ gap: 12 }}>
55
+ {l==="module"&&<react_native_1.View style={{gap:12}}>
478
56
 
479
- <react_native_1.View style={{ gap: 10 }}>
480
- {allModules.map(moduleItem => {
481
- const isReduxAvail = (0, reduxLogger_1.isReduxConnected)();
482
- const isAnalyticsAvail = (0, analyticsLogger_2.isAnalyticsConnected)();
483
- const isUnavailable = (moduleItem.key === 'redux' && !isReduxAvail) ||
484
- (moduleItem.key === 'analytics' && !isAnalyticsAvail);
485
- const isLocked = moduleItem.key === 'apis' || isUnavailable;
486
- const isChecked = moduleItem.key === 'apis' ||
487
- (Boolean(stagedTabVisibility?.[moduleItem.key]) &&
488
- !isUnavailable);
489
- const liveStats = moduleItem.key === 'apis'
490
- ? `${logs.length} requests • Limit: ${maxNetworkLogs}`
491
- : moduleItem.key === 'logs'
492
- ? `${consoleLogs.length} logs • Limit: ${maxConsoleLogs}`
493
- : moduleItem.key === 'performance'
494
- ? '60 FPS Target • Memory Telemetry'
495
- : moduleItem.key === 'bundle'
496
- ? 'Metro Packager • Dependency Map'
497
- : moduleItem.key === 'crash'
498
- ? `${crashRecords?.length || 0} crashes recorded • Crash Guard`
499
- : moduleItem.key === 'analytics'
500
- ? `${analyticsEvents.length} events logged`
501
- : moduleItem.key === 'redux'
502
- ? `${Object.keys(reduxState || {}).length} slices • Depth: ${reduxExpandDepth}`
503
- : '';
504
- return (<react_native_1.View key={moduleItem.key} style={{
505
- backgroundColor: AppColors_1.AppColors.primaryLight,
506
- borderRadius: 14,
507
- borderWidth: 1.5,
508
- borderColor: isChecked
509
- ? `${AppColors_1.AppColors.purple}38`
510
- : AppColors_1.AppColors.grayBorderSecondary,
511
- padding: 14,
512
- gap: 10,
513
- shadowColor: AppColors_1.AppColors.black,
514
- shadowOpacity: isChecked ? 0.04 : 0.02,
515
- shadowRadius: 5,
516
- shadowOffset: { width: 0, height: 2 },
517
- }}>
57
+ <react_native_1.View style={{gap:10}}>
58
+ {h.map(e=>{const i=(0,reduxLogger_1.isReduxConnected)(),C=(0,analyticsLogger_2.isAnalyticsConnected)(),d=e.key==="redux"&&!i||e.key==="analytics"&&!C,b=e.key==="apis"||d,a=e.key==="apis"||!!w?.[e.key]&&!d,_e=e.key==="apis"?`${R.length} requests \u2022 Limit: ${D}`:e.key==="logs"?`${I.length} logs \u2022 Limit: ${P}`:e.key==="performance"?"60 FPS Target \u2022 Memory Telemetry":e.key==="bundle"?"Metro Packager \u2022 Dependency Map":e.key==="crash"?`${M?.length||0} crashes recorded \u2022 Crash Guard`:e.key==="analytics"?`${L.length} events logged`:e.key==="redux"?`${Object.keys(H||{}).length} slices \u2022 Depth: ${N}`:"";return<react_native_1.View key={e.key}style={{backgroundColor:AppColors_1.AppColors.primaryLight,borderRadius:14,borderWidth:1.5,borderColor:a?`${AppColors_1.AppColors.purple}38`:AppColors_1.AppColors.grayBorderSecondary,padding:14,gap:10,shadowColor:AppColors_1.AppColors.black,shadowOpacity:a?.04:.02,shadowRadius:5,shadowOffset:{width:0,height:2}}}>
518
59
 
519
- <react_native_1.View style={{
520
- flexDirection: 'row',
521
- alignItems: 'flex-start',
522
- gap: 10,
523
- }}>
60
+ <react_native_1.View style={{flexDirection:"row",alignItems:"flex-start",gap:10}}>
524
61
 
525
- <TouchableScale_1.default accessible={true} accessibilityRole="checkbox" accessibilityLabel={`Select ${moduleItem.label}`} accessibilityState={{
526
- checked: isChecked,
527
- disabled: isLocked,
528
- }} disabled={isLocked} onPress={() => {
529
- if (isLocked)
530
- return;
531
- setStagedTabVisibility(prev => ({
532
- ...prev,
533
- [moduleItem.key]: !prev[moduleItem.key],
534
- }));
535
- }} hitSlop={8} style={{
536
- width: 22,
537
- height: 22,
538
- borderRadius: 6,
539
- borderWidth: isChecked ? 0 : 1.8,
540
- borderColor: isLocked
541
- ? AppColors_1.AppColors.dividerColor
542
- : AppColors_1.AppColors.grayBorderSecondary,
543
- backgroundColor: moduleItem.key === 'apis'
544
- ? `${AppColors_1.AppColors.blue500}22`
545
- : isChecked
546
- ? AppColors_1.AppColors.purple
547
- : AppColors_1.AppColors.grayBackground,
548
- alignItems: 'center',
549
- justifyContent: 'center',
550
- marginTop: 7,
551
- shadowColor: isChecked
552
- ? AppColors_1.AppColors.purple
553
- : 'transparent',
554
- shadowOpacity: isChecked ? 0.25 : 0,
555
- shadowRadius: 2,
556
- elevation: isChecked ? 2 : 0,
557
- }}>
558
- {moduleItem.key === 'apis' ? (<NetworkIcons_1.CheckIcon size={12} color={AppColors_1.AppColors.blue500}/>) : isChecked ? (<NetworkIcons_1.CheckIcon size={12} color={AppColors_1.AppColors.white}/>) : isLocked ? (<react_native_svg_1.default width={10} height={10} viewBox="0 0 24 24" fill="none">
559
- <react_native_svg_1.Path d="M7 10V7a5 5 0 0 1 10 0v3" stroke={AppColors_1.AppColors.grayText} strokeWidth="2.2" strokeLinecap="round"/>
560
- <react_native_svg_1.Path d="M5 10h14v9a1 1 0 0 1-1 1H6a1 1 0 0 1-1-1z" fill={AppColors_1.AppColors.grayText}/>
561
- </react_native_svg_1.default>) : null}
62
+ <TouchableScale_1.default accessible={!0}accessibilityRole="checkbox"accessibilityLabel={`Select ${e.label}`}accessibilityState={{checked:a,disabled:b}}disabled={b}onPress={()=>{b||O(J=>({...J,[e.key]:!J[e.key]}))}}hitSlop={8}style={{width:22,height:22,borderRadius:6,borderWidth:a?0:1.8,borderColor:b?AppColors_1.AppColors.dividerColor:AppColors_1.AppColors.grayBorderSecondary,backgroundColor:e.key==="apis"?`${AppColors_1.AppColors.blue500}22`:a?AppColors_1.AppColors.purple:AppColors_1.AppColors.grayBackground,alignItems:"center",justifyContent:"center",marginTop:7,shadowColor:a?AppColors_1.AppColors.purple:"transparent",shadowOpacity:a?.25:0,shadowRadius:2,elevation:a?2:0}}>
63
+ {e.key==="apis"?<NetworkIcons_1.CheckIcon size={12}color={AppColors_1.AppColors.blue500}/>:a?<NetworkIcons_1.CheckIcon size={12}color={AppColors_1.AppColors.white}/>:b?<react_native_svg_1.default width={10}height={10}viewBox="0 0 24 24"fill="none">
64
+ <react_native_svg_1.Path d="M7 10V7a5 5 0 0 1 10 0v3"stroke={AppColors_1.AppColors.grayText}strokeWidth="2.2"strokeLinecap="round"/>
65
+ <react_native_svg_1.Path d="M5 10h14v9a1 1 0 0 1-1 1H6a1 1 0 0 1-1-1z"fill={AppColors_1.AppColors.grayText}/>
66
+ </react_native_svg_1.default>:null}
562
67
  </TouchableScale_1.default>
563
68
 
564
69
 
565
- <TouchableScale_1.default accessible={true} accessibilityRole="button" accessibilityLabel={`${moduleItem.label} settings`} disabled={isUnavailable} onPress={() => {
566
- (0, InspectorContext_1.animateNextLayout)();
567
- setSettingsPage(moduleItem.key);
568
- }} style={{
569
- flex: 1,
570
- flexDirection: 'row',
571
- alignItems: 'flex-start',
572
- gap: 10,
573
- }}>
70
+ <TouchableScale_1.default accessible={!0}accessibilityRole="button"accessibilityLabel={`${e.label} settings`}disabled={d}onPress={()=>{(0,InspectorContext_1.animateNextLayout)(),s(e.key)}}style={{flex:1,flexDirection:"row",alignItems:"flex-start",gap:10}}>
574
71
 
575
- <react_native_1.View style={{
576
- width: 36,
577
- height: 36,
578
- borderRadius: 10,
579
- backgroundColor: isLocked
580
- ? `${AppColors_1.AppColors.grayBorderSecondary}4D`
581
- : isChecked
582
- ? `${AppColors_1.AppColors.purple}14`
583
- : AppColors_1.AppColors.grayBackground,
584
- borderWidth: 1,
585
- borderColor: isLocked
586
- ? AppColors_1.AppColors.dividerColor
587
- : isChecked
588
- ? `${AppColors_1.AppColors.purple}33`
589
- : AppColors_1.AppColors.grayBorderSecondary,
590
- alignItems: 'center',
591
- justifyContent: 'center',
592
- marginTop: 1,
593
- }}>
594
- {moduleItem.icon === 'apis' && (<NetworkIcons_1.SignalIcon color={isChecked
595
- ? AppColors_1.AppColors.purple
596
- : AppColors_1.AppColors.grayTextWeak} size={16}/>)}
597
- {moduleItem.icon === 'logs' && (<NetworkIcons_1.TerminalIcon color={isChecked
598
- ? AppColors_1.AppColors.purple
599
- : AppColors_1.AppColors.grayTextWeak} size={16}/>)}
600
- {moduleItem.icon === 'performance' && (<NetworkIcons_1.PerformanceIcon color={isChecked
601
- ? AppColors_1.AppColors.purple
602
- : AppColors_1.AppColors.grayTextWeak} size={16}/>)}
603
- {moduleItem.icon === 'bundle' && (<NetworkIcons_1.PackageIcon color={isChecked
604
- ? AppColors_1.AppColors.purple
605
- : AppColors_1.AppColors.grayTextWeak} size={16}/>)}
606
- {moduleItem.icon === 'crash' && (<NetworkIcons_1.CrashIcon color={isChecked
607
- ? AppColors_1.AppColors.purple
608
- : AppColors_1.AppColors.grayTextWeak} size={16}/>)}
609
- {moduleItem.icon === 'analytics' && (<NetworkIcons_1.AnalyticsIcon color={isChecked
610
- ? AppColors_1.AppColors.purple
611
- : AppColors_1.AppColors.grayTextWeak} size={16}/>)}
612
- {moduleItem.icon === 'redux' && (<NetworkIcons_1.ReduxIcon color={isChecked
613
- ? AppColors_1.AppColors.purple
614
- : AppColors_1.AppColors.grayTextWeak} size={16}/>)}
615
- {moduleItem.icon === 'device' && (<NetworkIcons_1.SmartphoneIcon color={isChecked
616
- ? AppColors_1.AppColors.purple
617
- : AppColors_1.AppColors.grayTextWeak} size={16}/>)}
618
- {moduleItem.icon === 'storage' && (<NetworkIcons_1.DatabaseIcon color={isChecked
619
- ? AppColors_1.AppColors.purple
620
- : AppColors_1.AppColors.grayTextWeak} size={16}/>)}
621
- {moduleItem.icon === 'debugging' && (<NetworkIcons_1.QrCodeIcon color={isChecked
622
- ? AppColors_1.AppColors.purple
623
- : AppColors_1.AppColors.grayTextWeak} size={16}/>)}
624
- {moduleItem.icon === 'media' && (<NetworkIcons_1.ScreencastIcon color={isChecked
625
- ? AppColors_1.AppColors.purple
626
- : AppColors_1.AppColors.grayTextWeak} size={16}/>)}
72
+ <react_native_1.View style={{width:36,height:36,borderRadius:10,backgroundColor:b?`${AppColors_1.AppColors.grayBorderSecondary}4D`:a?`${AppColors_1.AppColors.purple}14`:AppColors_1.AppColors.grayBackground,borderWidth:1,borderColor:b?AppColors_1.AppColors.dividerColor:a?`${AppColors_1.AppColors.purple}33`:AppColors_1.AppColors.grayBorderSecondary,alignItems:"center",justifyContent:"center",marginTop:1}}>
73
+ {e.icon==="apis"&&<NetworkIcons_1.SignalIcon color={a?AppColors_1.AppColors.purple:AppColors_1.AppColors.grayTextWeak}size={16}/>}
74
+ {e.icon==="logs"&&<NetworkIcons_1.TerminalIcon color={a?AppColors_1.AppColors.purple:AppColors_1.AppColors.grayTextWeak}size={16}/>}
75
+ {e.icon==="performance"&&<NetworkIcons_1.PerformanceIcon color={a?AppColors_1.AppColors.purple:AppColors_1.AppColors.grayTextWeak}size={16}/>}
76
+ {e.icon==="bundle"&&<NetworkIcons_1.PackageIcon color={a?AppColors_1.AppColors.purple:AppColors_1.AppColors.grayTextWeak}size={16}/>}
77
+ {e.icon==="crash"&&<NetworkIcons_1.CrashIcon color={a?AppColors_1.AppColors.purple:AppColors_1.AppColors.grayTextWeak}size={16}/>}
78
+ {e.icon==="analytics"&&<NetworkIcons_1.AnalyticsIcon color={a?AppColors_1.AppColors.purple:AppColors_1.AppColors.grayTextWeak}size={16}/>}
79
+ {e.icon==="redux"&&<NetworkIcons_1.ReduxIcon color={a?AppColors_1.AppColors.purple:AppColors_1.AppColors.grayTextWeak}size={16}/>}
80
+ {e.icon==="device"&&<NetworkIcons_1.SmartphoneIcon color={a?AppColors_1.AppColors.purple:AppColors_1.AppColors.grayTextWeak}size={16}/>}
81
+ {e.icon==="storage"&&<NetworkIcons_1.DatabaseIcon color={a?AppColors_1.AppColors.purple:AppColors_1.AppColors.grayTextWeak}size={16}/>}
82
+ {e.icon==="debugging"&&<NetworkIcons_1.QrCodeIcon color={a?AppColors_1.AppColors.purple:AppColors_1.AppColors.grayTextWeak}size={16}/>}
83
+ {e.icon==="media"&&<NetworkIcons_1.ScreencastIcon color={a?AppColors_1.AppColors.purple:AppColors_1.AppColors.grayTextWeak}size={16}/>}
627
84
  </react_native_1.View>
628
85
 
629
86
 
630
- <react_native_1.View style={{ flex: 1, gap: 2 }}>
631
- <react_native_1.View style={{
632
- flexDirection: 'row',
633
- alignItems: 'center',
634
- gap: 6,
635
- flexWrap: 'wrap',
636
- }}>
637
- <react_native_1.View style={{
638
- minWidth: 22,
639
- height: 22,
640
- paddingHorizontal: 5,
641
- borderRadius: 11,
642
- backgroundColor: isChecked
643
- ? `${AppColors_1.AppColors.purple}1C`
644
- : `${AppColors_1.AppColors.grayBorderSecondary}80`,
645
- borderWidth: 1,
646
- borderColor: isChecked
647
- ? `${AppColors_1.AppColors.purple}44`
648
- : AppColors_1.AppColors.grayBorderSecondary,
649
- alignItems: 'center',
650
- justifyContent: 'center',
651
- }}>
652
- <react_native_1.Text style={{
653
- fontFamily: AppFonts_1.AppFonts.interBold,
654
- fontSize: 10,
655
- lineHeight: 13,
656
- color: isChecked
657
- ? AppColors_1.AppColors.purple
658
- : AppColors_1.AppColors.grayText,
659
- }}>
660
- #{moduleItem.id}
87
+ <react_native_1.View style={{flex:1,gap:2}}>
88
+ <react_native_1.View style={{flexDirection:"row",alignItems:"center",gap:6,flexWrap:"wrap"}}>
89
+ <react_native_1.View style={{minWidth:22,height:22,paddingHorizontal:5,borderRadius:11,backgroundColor:a?`${AppColors_1.AppColors.purple}1C`:`${AppColors_1.AppColors.grayBorderSecondary}80`,borderWidth:1,borderColor:a?`${AppColors_1.AppColors.purple}44`:AppColors_1.AppColors.grayBorderSecondary,alignItems:"center",justifyContent:"center"}}>
90
+ <react_native_1.Text style={{fontFamily:AppFonts_1.AppFonts.interBold,fontSize:10,lineHeight:13,color:a?AppColors_1.AppColors.purple:AppColors_1.AppColors.grayText}}>
91
+ #{e.id}
661
92
  </react_native_1.Text>
662
93
  </react_native_1.View>
663
- <react_native_1.Text style={{
664
- fontFamily: AppFonts_1.AppFonts.interBold,
665
- fontSize: 14,
666
- lineHeight: 18,
667
- color: isLocked
668
- ? AppColors_1.AppColors.grayText
669
- : AppColors_1.AppColors.primaryBlack,
670
- }}>
671
- {moduleItem.label}
94
+ <react_native_1.Text style={{fontFamily:AppFonts_1.AppFonts.interBold,fontSize:14,lineHeight:18,color:b?AppColors_1.AppColors.grayText:AppColors_1.AppColors.primaryBlack}}>
95
+ {e.label}
672
96
  </react_native_1.Text>
673
97
 
674
98
 
675
- {moduleItem.key === defaultTab &&
676
- !isUnavailable && (<react_native_1.View style={{
677
- flexDirection: 'row',
678
- alignItems: 'center',
679
- backgroundColor: `${AppColors_1.AppColors.purple}14`,
680
- borderRadius: 12,
681
- paddingHorizontal: 5,
682
- paddingVertical: 1.5,
683
- borderWidth: 1,
684
- borderColor: `${AppColors_1.AppColors.purple}2E`,
685
- gap: 3,
686
- }}>
687
- <react_native_1.View style={{
688
- width: 4,
689
- height: 4,
690
- borderRadius: 2,
691
- backgroundColor: AppColors_1.AppColors.purple,
692
- }}/>
693
- <react_native_1.Text style={{
694
- fontFamily: AppFonts_1.AppFonts.interBold,
695
- fontSize: 8,
696
- lineHeight: 11,
697
- color: AppColors_1.AppColors.purple,
698
- letterSpacing: 0.4,
699
- }}>
700
- {t('settings.defaultBadge')}
99
+ {e.key===x&&!d&&<react_native_1.View style={{flexDirection:"row",alignItems:"center",backgroundColor:`${AppColors_1.AppColors.purple}14`,borderRadius:12,paddingHorizontal:5,paddingVertical:1.5,borderWidth:1,borderColor:`${AppColors_1.AppColors.purple}2E`,gap:3}}>
100
+ <react_native_1.View style={{width:4,height:4,borderRadius:2,backgroundColor:AppColors_1.AppColors.purple}}/>
101
+ <react_native_1.Text style={{fontFamily:AppFonts_1.AppFonts.interBold,fontSize:8,lineHeight:11,color:AppColors_1.AppColors.purple,letterSpacing:.4}}>
102
+ {o("settings.defaultBadge")}
701
103
  </react_native_1.Text>
702
- </react_native_1.View>)}
104
+ </react_native_1.View>}
703
105
 
704
106
 
705
- {moduleItem.key === 'apis' ? (<react_native_1.View style={{
706
- backgroundColor: `${AppColors_1.AppColors.blue500}14`,
707
- borderRadius: 4,
708
- paddingHorizontal: 5,
709
- paddingVertical: 1.5,
710
- borderWidth: 1,
711
- borderColor: `${AppColors_1.AppColors.blue500}33`,
712
- }}>
713
- <react_native_1.Text style={{
714
- fontFamily: AppFonts_1.AppFonts.interBold,
715
- fontSize: 8,
716
- lineHeight: 11,
717
- color: AppColors_1.AppColors.blue500,
718
- letterSpacing: 0.3,
719
- }}>
720
- {t('settings.coreBadge')}
107
+ {e.key==="apis"?<react_native_1.View style={{backgroundColor:`${AppColors_1.AppColors.blue500}14`,borderRadius:4,paddingHorizontal:5,paddingVertical:1.5,borderWidth:1,borderColor:`${AppColors_1.AppColors.blue500}33`}}>
108
+ <react_native_1.Text style={{fontFamily:AppFonts_1.AppFonts.interBold,fontSize:8,lineHeight:11,color:AppColors_1.AppColors.blue500,letterSpacing:.3}}>
109
+ {o("settings.coreBadge")}
721
110
  </react_native_1.Text>
722
- </react_native_1.View>) : isUnavailable ? (<react_native_1.View style={{
723
- backgroundColor: `${AppColors_1.AppColors.amber500}18`,
724
- borderRadius: 4,
725
- paddingHorizontal: 5,
726
- paddingVertical: 1.5,
727
- borderWidth: 1,
728
- borderColor: `${AppColors_1.AppColors.amber500}35`,
729
- }}>
730
- <react_native_1.Text style={{
731
- fontFamily: AppFonts_1.AppFonts.interBold,
732
- fontSize: 8,
733
- lineHeight: 11,
734
- color: AppColors_1.AppColors.amber700,
735
- letterSpacing: 0.3,
736
- }}>
737
- {moduleItem.key === 'redux'
738
- ? t('settings.notConnectedBadge')
739
- : t('settings.notDetectedBadge')}
111
+ </react_native_1.View>:d?<react_native_1.View style={{backgroundColor:`${AppColors_1.AppColors.amber500}18`,borderRadius:4,paddingHorizontal:5,paddingVertical:1.5,borderWidth:1,borderColor:`${AppColors_1.AppColors.amber500}35`}}>
112
+ <react_native_1.Text style={{fontFamily:AppFonts_1.AppFonts.interBold,fontSize:8,lineHeight:11,color:AppColors_1.AppColors.amber700,letterSpacing:.3}}>
113
+ {e.key==="redux"?o("settings.notConnectedBadge"):o("settings.notDetectedBadge")}
740
114
  </react_native_1.Text>
741
- </react_native_1.View>) : isChecked ? (<react_native_1.View style={{
742
- backgroundColor: `${AppColors_1.AppColors.liveGreen}18`,
743
- borderRadius: 4,
744
- paddingHorizontal: 5,
745
- paddingVertical: 1.5,
746
- borderWidth: 1,
747
- borderColor: `${AppColors_1.AppColors.liveGreen}38`,
748
- }}>
749
- <react_native_1.Text style={{
750
- fontFamily: AppFonts_1.AppFonts.interBold,
751
- fontSize: 8,
752
- lineHeight: 11,
753
- color: AppColors_1.AppColors.green700,
754
- letterSpacing: 0.3,
755
- }}>
756
- {t('settings.activeBadge')}
115
+ </react_native_1.View>:a?<react_native_1.View style={{backgroundColor:`${AppColors_1.AppColors.liveGreen}18`,borderRadius:4,paddingHorizontal:5,paddingVertical:1.5,borderWidth:1,borderColor:`${AppColors_1.AppColors.liveGreen}38`}}>
116
+ <react_native_1.Text style={{fontFamily:AppFonts_1.AppFonts.interBold,fontSize:8,lineHeight:11,color:AppColors_1.AppColors.green700,letterSpacing:.3}}>
117
+ {o("settings.activeBadge")}
757
118
  </react_native_1.Text>
758
- </react_native_1.View>) : (<react_native_1.View style={{
759
- backgroundColor: `${AppColors_1.AppColors.grayTextWeak}18`,
760
- borderRadius: 4,
761
- paddingHorizontal: 5,
762
- paddingVertical: 1.5,
763
- borderWidth: 1,
764
- borderColor: `${AppColors_1.AppColors.grayTextWeak}2E`,
765
- }}>
766
- <react_native_1.Text style={{
767
- fontFamily: AppFonts_1.AppFonts.interBold,
768
- fontSize: 8,
769
- lineHeight: 11,
770
- color: AppColors_1.AppColors.grayTextWeak,
771
- letterSpacing: 0.3,
772
- }}>
773
- {t('settings.dormantBadge')}
119
+ </react_native_1.View>:<react_native_1.View style={{backgroundColor:`${AppColors_1.AppColors.grayTextWeak}18`,borderRadius:4,paddingHorizontal:5,paddingVertical:1.5,borderWidth:1,borderColor:`${AppColors_1.AppColors.grayTextWeak}2E`}}>
120
+ <react_native_1.Text style={{fontFamily:AppFonts_1.AppFonts.interBold,fontSize:8,lineHeight:11,color:AppColors_1.AppColors.grayTextWeak,letterSpacing:.3}}>
121
+ {o("settings.dormantBadge")}
774
122
  </react_native_1.Text>
775
- </react_native_1.View>)}
123
+ </react_native_1.View>}
776
124
  </react_native_1.View>
777
125
 
778
- <react_native_1.Text style={{
779
- fontFamily: AppFonts_1.AppFonts.interRegular,
780
- fontSize: 11,
781
- color: AppColors_1.AppColors.grayText,
782
- lineHeight: 15,
783
- marginTop: 1,
784
- }}>
785
- {moduleItem.desc}
126
+ <react_native_1.Text style={{fontFamily:AppFonts_1.AppFonts.interRegular,fontSize:11,color:AppColors_1.AppColors.grayText,lineHeight:15,marginTop:1}}>
127
+ {e.desc}
786
128
  </react_native_1.Text>
787
129
  </react_native_1.View>
788
130
  </TouchableScale_1.default>
789
131
  </react_native_1.View>
790
132
 
791
133
 
792
- {!isUnavailable && (<react_native_1.View style={{
793
- flexDirection: 'row',
794
- alignItems: 'center',
795
- justifyContent: 'space-between',
796
- paddingTop: 8,
797
- borderTopWidth: 1,
798
- borderTopColor: AppColors_1.AppColors.dividerColor,
799
- }}>
134
+ {!d&&<react_native_1.View style={{flexDirection:"row",alignItems:"center",justifyContent:"space-between",paddingTop:8,borderTopWidth:1,borderTopColor:AppColors_1.AppColors.dividerColor}}>
800
135
 
801
- <react_native_1.View style={{
802
- flexDirection: 'row',
803
- alignItems: 'center',
804
- gap: 6,
805
- flex: 1,
806
- }}>
807
- <react_native_1.View style={{
808
- width: 6,
809
- height: 6,
810
- borderRadius: 3,
811
- backgroundColor: isChecked
812
- ? AppColors_1.AppColors.liveGreen
813
- : AppColors_1.AppColors.grayTextWeak,
814
- }}/>
815
- <react_native_1.Text style={{
816
- fontFamily: AppFonts_1.AppFonts.interMedium,
817
- fontSize: 11,
818
- color: AppColors_1.AppColors.grayText,
819
- lineHeight: 14,
820
- }}>
821
- {liveStats}
136
+ <react_native_1.View style={{flexDirection:"row",alignItems:"center",gap:6,flex:1}}>
137
+ <react_native_1.View style={{width:6,height:6,borderRadius:3,backgroundColor:a?AppColors_1.AppColors.liveGreen:AppColors_1.AppColors.grayTextWeak}}/>
138
+ <react_native_1.Text style={{fontFamily:AppFonts_1.AppFonts.interMedium,fontSize:11,color:AppColors_1.AppColors.grayText,lineHeight:14}}>
139
+ {_e}
822
140
  </react_native_1.Text>
823
141
  </react_native_1.View>
824
142
 
825
143
 
826
- <TouchableScale_1.default accessible={true} accessibilityRole="button" accessibilityLabel={`Configure ${moduleItem.label} settings`} onPress={() => {
827
- (0, InspectorContext_1.animateNextLayout)();
828
- setSettingsPage(moduleItem.key);
829
- }} style={{
830
- flexDirection: 'row',
831
- alignItems: 'center',
832
- gap: 5,
833
- backgroundColor: `${AppColors_1.AppColors.purple}12`,
834
- paddingHorizontal: 10,
835
- paddingVertical: 5,
836
- borderRadius: 8,
837
- borderWidth: 1,
838
- borderColor: `${AppColors_1.AppColors.purple}26`,
839
- }}>
840
- <NetworkIcons_1.SettingsIcon color={AppColors_1.AppColors.purple} size={11}/>
841
- <react_native_1.Text style={{
842
- fontFamily: AppFonts_1.AppFonts.interBold,
843
- fontSize: 11,
844
- lineHeight: 14,
845
- color: AppColors_1.AppColors.purple,
846
- }}>
847
- {t('settings.configure')}
144
+ <TouchableScale_1.default accessible={!0}accessibilityRole="button"accessibilityLabel={`Configure ${e.label} settings`}onPress={()=>{(0,InspectorContext_1.animateNextLayout)(),s(e.key)}}style={{flexDirection:"row",alignItems:"center",gap:5,backgroundColor:`${AppColors_1.AppColors.purple}12`,paddingHorizontal:10,paddingVertical:5,borderRadius:8,borderWidth:1,borderColor:`${AppColors_1.AppColors.purple}26`}}>
145
+ <NetworkIcons_1.SettingsIcon color={AppColors_1.AppColors.purple}size={11}/>
146
+ <react_native_1.Text style={{fontFamily:AppFonts_1.AppFonts.interBold,fontSize:11,lineHeight:14,color:AppColors_1.AppColors.purple}}>
147
+ {o("settings.configure")}
848
148
  </react_native_1.Text>
849
- <NetworkIcons_1.ForwardChevronIcon color={AppColors_1.AppColors.purple} size={9}/>
149
+ <NetworkIcons_1.ForwardChevronIcon color={AppColors_1.AppColors.purple}size={9}/>
850
150
  </TouchableScale_1.default>
851
- </react_native_1.View>)}
852
- </react_native_1.View>);
853
- })}
151
+ </react_native_1.View>}
152
+ </react_native_1.View>})}
854
153
  </react_native_1.View>
855
- </react_native_1.View>)}
154
+ </react_native_1.View>}
856
155
 
857
- {settingsActiveSubTab === 'ui' && (<react_native_1.View style={{ gap: 14 }}>
156
+ {l==="ui"&&<react_native_1.View style={{gap:14}}>
858
157
 
859
- <react_native_1.View style={{
860
- backgroundColor: AppColors_1.AppColors.primaryLight,
861
- borderRadius: 14,
862
- borderWidth: 1,
863
- borderColor: AppColors_1.AppColors.grayBorderSecondary,
864
- overflow: 'hidden',
865
- padding: 14,
866
- gap: 12,
867
- }}>
868
- <react_native_1.Text style={{
869
- fontFamily: AppFonts_1.AppFonts.interBold,
870
- fontSize: 11,
871
- lineHeight: 14,
872
- color: AppColors_1.AppColors.grayTextWeak,
873
- letterSpacing: 0.8,
874
- }}>
875
- {t('settings.appearanceTheme')}
158
+ <react_native_1.View style={{backgroundColor:AppColors_1.AppColors.primaryLight,borderRadius:14,borderWidth:1,borderColor:AppColors_1.AppColors.grayBorderSecondary,overflow:"hidden",padding:14,gap:12}}>
159
+ <react_native_1.Text style={{fontFamily:AppFonts_1.AppFonts.interBold,fontSize:11,lineHeight:14,color:AppColors_1.AppColors.grayTextWeak,letterSpacing:.8}}>
160
+ {o("settings.appearanceTheme")}
876
161
  </react_native_1.Text>
877
162
 
878
- <react_native_1.View style={{
879
- flexDirection: 'row',
880
- alignItems: 'center',
881
- justifyContent: 'space-between',
882
- }}>
883
- <react_native_1.View style={{
884
- flexDirection: 'row',
885
- alignItems: 'center',
886
- gap: 10,
887
- flex: 1,
888
- }}>
889
- <react_native_1.View style={{
890
- width: 32,
891
- height: 32,
892
- borderRadius: 8,
893
- backgroundColor: AppColors_1.AppColors.purpleShade50,
894
- alignItems: 'center',
895
- justifyContent: 'center',
896
- }}>
897
- {isDark ? (<NetworkIcons_1.SunIcon color={AppColors_1.AppColors.purple} size={15}/>) : (<NetworkIcons_1.MoonIcon color={AppColors_1.AppColors.purple} size={15}/>)}
163
+ <react_native_1.View style={{flexDirection:"row",alignItems:"center",justifyContent:"space-between"}}>
164
+ <react_native_1.View style={{flexDirection:"row",alignItems:"center",gap:10,flex:1}}>
165
+ <react_native_1.View style={{width:32,height:32,borderRadius:8,backgroundColor:AppColors_1.AppColors.purpleShade50,alignItems:"center",justifyContent:"center"}}>
166
+ {v?<NetworkIcons_1.SunIcon color={AppColors_1.AppColors.purple}size={15}/>:<NetworkIcons_1.MoonIcon color={AppColors_1.AppColors.purple}size={15}/>}
898
167
  </react_native_1.View>
899
- <react_native_1.View style={{ flex: 1 }}>
900
- <react_native_1.Text style={{
901
- fontFamily: AppFonts_1.AppFonts.interBold,
902
- fontSize: 13.5,
903
- lineHeight: 18,
904
- color: AppColors_1.AppColors.primaryBlack,
905
- }}>
906
- {t('settings.general.darkMode')}
168
+ <react_native_1.View style={{flex:1}}>
169
+ <react_native_1.Text style={{fontFamily:AppFonts_1.AppFonts.interBold,fontSize:13.5,lineHeight:18,color:AppColors_1.AppColors.primaryBlack}}>
170
+ {o("settings.general.darkMode")}
907
171
  </react_native_1.Text>
908
- <react_native_1.Text style={{
909
- fontFamily: AppFonts_1.AppFonts.interRegular,
910
- fontSize: 11,
911
- lineHeight: 15,
912
- color: AppColors_1.AppColors.grayText,
913
- marginTop: 1,
914
- }}>
915
- {t('settings.general.darkModeDescription')}
172
+ <react_native_1.Text style={{fontFamily:AppFonts_1.AppFonts.interRegular,fontSize:11,lineHeight:15,color:AppColors_1.AppColors.grayText,marginTop:1}}>
173
+ {o("settings.general.darkModeDescription")}
916
174
  </react_native_1.Text>
917
175
  </react_native_1.View>
918
176
  </react_native_1.View>
919
177
 
920
- <TouchableScale_1.default accessible={true} accessibilityRole="switch" accessibilityLabel="Toggle Dark Theme" accessibilityState={{ checked: isDark }} onPress={() => {
921
- const newTheme = !isDark;
922
- setIsDark(newTheme);
923
- (0, styles_1.toggleGlobalTheme)(newTheme);
924
- }} style={{
925
- width: 42,
926
- height: 24,
927
- borderRadius: 12,
928
- backgroundColor: isDark
929
- ? AppColors_1.AppColors.purple
930
- : AppColors_1.AppColors.grayBorderSecondary,
931
- padding: 2,
932
- justifyContent: 'center',
933
- alignItems: isDark ? 'flex-end' : 'flex-start',
934
- }}>
935
- <react_native_1.View style={{
936
- width: 20,
937
- height: 20,
938
- borderRadius: 10,
939
- backgroundColor: AppColors_1.AppColors.white,
940
- shadowColor: AppColors_1.AppColors.black,
941
- shadowOpacity: 0.18,
942
- shadowRadius: 2,
943
- shadowOffset: { width: 0, height: 1 },
944
- }}/>
178
+ <TouchableScale_1.default accessible={!0}accessibilityRole="switch"accessibilityLabel="Toggle Dark Theme"accessibilityState={{checked:v}}onPress={()=>{const e=!v;X(e),(0,styles_1.toggleGlobalTheme)(e)}}style={{width:42,height:24,borderRadius:12,backgroundColor:v?AppColors_1.AppColors.purple:AppColors_1.AppColors.grayBorderSecondary,padding:2,justifyContent:"center",alignItems:v?"flex-end":"flex-start"}}>
179
+ <react_native_1.View style={{width:20,height:20,borderRadius:10,backgroundColor:AppColors_1.AppColors.white,shadowColor:AppColors_1.AppColors.black,shadowOpacity:.18,shadowRadius:2,shadowOffset:{width:0,height:1}}}/>
945
180
  </TouchableScale_1.default>
946
181
  </react_native_1.View>
947
182
  </react_native_1.View>
948
183
 
949
184
 
950
- <react_native_1.View style={{
951
- backgroundColor: AppColors_1.AppColors.primaryLight,
952
- borderRadius: 14,
953
- borderWidth: 1,
954
- borderColor: AppColors_1.AppColors.grayBorderSecondary,
955
- overflow: 'hidden',
956
- padding: 14,
957
- gap: 14,
958
- }}>
959
- <react_native_1.Text style={{
960
- fontFamily: AppFonts_1.AppFonts.interBold,
961
- fontSize: 11,
962
- lineHeight: 14,
963
- color: AppColors_1.AppColors.grayTextWeak,
964
- letterSpacing: 0.8,
965
- }}>
966
- {t('settings.windowLayout')}
185
+ <react_native_1.View style={{backgroundColor:AppColors_1.AppColors.primaryLight,borderRadius:14,borderWidth:1,borderColor:AppColors_1.AppColors.grayBorderSecondary,overflow:"hidden",padding:14,gap:14}}>
186
+ <react_native_1.Text style={{fontFamily:AppFonts_1.AppFonts.interBold,fontSize:11,lineHeight:14,color:AppColors_1.AppColors.grayTextWeak,letterSpacing:.8}}>
187
+ {o("settings.windowLayout")}
967
188
  </react_native_1.Text>
968
189
 
969
190
 
970
- <react_native_1.View style={{ gap: 8 }}>
971
- <react_native_1.View style={{
972
- flexDirection: 'row',
973
- alignItems: 'center',
974
- justifyContent: 'space-between',
975
- gap: 10,
976
- }}>
977
- <react_native_1.View style={{
978
- flexDirection: 'row',
979
- alignItems: 'center',
980
- gap: 10,
981
- flex: 1,
982
- }}>
983
- <react_native_1.View style={{
984
- width: 32,
985
- height: 32,
986
- borderRadius: 8,
987
- backgroundColor: AppColors_1.AppColors.purpleShade50,
988
- alignItems: 'center',
989
- justifyContent: 'center',
990
- }}>
991
- <NetworkIcons_1.ScreenIcon color={AppColors_1.AppColors.purple} size={15}/>
191
+ <react_native_1.View style={{gap:8}}>
192
+ <react_native_1.View style={{flexDirection:"row",alignItems:"center",justifyContent:"space-between",gap:10}}>
193
+ <react_native_1.View style={{flexDirection:"row",alignItems:"center",gap:10,flex:1}}>
194
+ <react_native_1.View style={{width:32,height:32,borderRadius:8,backgroundColor:AppColors_1.AppColors.purpleShade50,alignItems:"center",justifyContent:"center"}}>
195
+ <NetworkIcons_1.ScreenIcon color={AppColors_1.AppColors.purple}size={15}/>
992
196
  </react_native_1.View>
993
- <react_native_1.View style={{ flex: 1 }}>
994
- <react_native_1.Text style={{
995
- fontFamily: AppFonts_1.AppFonts.interBold,
996
- fontSize: 13.5,
997
- lineHeight: 18,
998
- color: AppColors_1.AppColors.primaryBlack,
999
- }}>
1000
- {t('settings.general.modalHeight')}
197
+ <react_native_1.View style={{flex:1}}>
198
+ <react_native_1.Text style={{fontFamily:AppFonts_1.AppFonts.interBold,fontSize:13.5,lineHeight:18,color:AppColors_1.AppColors.primaryBlack}}>
199
+ {o("settings.general.modalHeight")}
1001
200
  </react_native_1.Text>
1002
- <react_native_1.Text style={{
1003
- fontFamily: AppFonts_1.AppFonts.interRegular,
1004
- fontSize: 11,
1005
- lineHeight: 15,
1006
- color: AppColors_1.AppColors.grayText,
1007
- marginTop: 1,
1008
- }}>
1009
- {t('settings.general.modalHeightDescription')}
201
+ <react_native_1.Text style={{fontFamily:AppFonts_1.AppFonts.interRegular,fontSize:11,lineHeight:15,color:AppColors_1.AppColors.grayText,marginTop:1}}>
202
+ {o("settings.general.modalHeightDescription")}
1010
203
  </react_native_1.Text>
1011
204
  </react_native_1.View>
1012
205
  </react_native_1.View>
1013
206
 
1014
- {stagedHeight !== modalHeightPercent && (<TouchableScale_1.default onPress={() => {
1015
- setModalHeightPercent(stagedHeight);
1016
- }} style={{
1017
- flexDirection: 'row',
1018
- alignItems: 'center',
1019
- gap: 5,
1020
- backgroundColor: AppColors_1.AppColors.purple,
1021
- paddingHorizontal: 10,
1022
- paddingVertical: 5,
1023
- borderRadius: 7,
1024
- shadowColor: AppColors_1.AppColors.purple,
1025
- shadowOffset: { width: 0, height: 1 },
1026
- shadowOpacity: 0.28,
1027
- shadowRadius: 2,
1028
- elevation: 2,
1029
- }}>
1030
- <NetworkIcons_1.CheckIcon size={11} color={AppColors_1.AppColors.white}/>
1031
- <react_native_1.Text style={{
1032
- fontFamily: AppFonts_1.AppFonts.interBold,
1033
- fontSize: 11,
1034
- color: AppColors_1.AppColors.white,
1035
- }}>
1036
- Save ({stagedHeight}%)
207
+ {S!==T&&<TouchableScale_1.default onPress={()=>{Y(S)}}style={{flexDirection:"row",alignItems:"center",gap:5,backgroundColor:AppColors_1.AppColors.purple,paddingHorizontal:10,paddingVertical:5,borderRadius:7,shadowColor:AppColors_1.AppColors.purple,shadowOffset:{width:0,height:1},shadowOpacity:.28,shadowRadius:2,elevation:2}}>
208
+ <NetworkIcons_1.CheckIcon size={11}color={AppColors_1.AppColors.white}/>
209
+ <react_native_1.Text style={{fontFamily:AppFonts_1.AppFonts.interBold,fontSize:11,color:AppColors_1.AppColors.white}}>
210
+ Save ({S}%)
1037
211
  </react_native_1.Text>
1038
- </TouchableScale_1.default>)}
212
+ </TouchableScale_1.default>}
1039
213
  </react_native_1.View>
1040
214
 
1041
- <react_native_1.View style={{ marginTop: 6 }}>
1042
- <Slider_1.default value={stagedHeight} onValueChange={setStagedHeight} min={50} max={90} step={5} quickPresets={[50, 60, 70, 80, 90]} formatLabel={val => `${Math.round(val)}%`}/>
215
+ <react_native_1.View style={{marginTop:6}}>
216
+ <Slider_1.default value={S}onValueChange={G}min={50}max={90}step={5}quickPresets={[50,60,70,80,90]}formatLabel={e=>`${Math.round(e)}%`}/>
1043
217
  </react_native_1.View>
1044
218
  </react_native_1.View>
1045
219
 
1046
- <react_native_1.View style={{ height: 1, backgroundColor: AppColors_1.AppColors.dividerColor }}/>
220
+ <react_native_1.View style={{height:1,backgroundColor:AppColors_1.AppColors.dividerColor}}/>
1047
221
 
1048
222
 
1049
- <react_native_1.View style={{ gap: 8 }}>
1050
- <react_native_1.View style={{
1051
- flexDirection: 'row',
1052
- alignItems: 'center',
1053
- gap: 10,
1054
- }}>
1055
- <react_native_1.View style={{
1056
- width: 32,
1057
- height: 32,
1058
- borderRadius: 8,
1059
- backgroundColor: AppColors_1.AppColors.purpleShade50,
1060
- alignItems: 'center',
1061
- justifyContent: 'center',
1062
- }}>
1063
- <NetworkIcons_1.MotionIcon color={AppColors_1.AppColors.purple} size={15}/>
223
+ <react_native_1.View style={{gap:8}}>
224
+ <react_native_1.View style={{flexDirection:"row",alignItems:"center",gap:10}}>
225
+ <react_native_1.View style={{width:32,height:32,borderRadius:8,backgroundColor:AppColors_1.AppColors.purpleShade50,alignItems:"center",justifyContent:"center"}}>
226
+ <NetworkIcons_1.MotionIcon color={AppColors_1.AppColors.purple}size={15}/>
1064
227
  </react_native_1.View>
1065
- <react_native_1.View style={{ flex: 1 }}>
1066
- <react_native_1.Text style={{
1067
- fontFamily: AppFonts_1.AppFonts.interBold,
1068
- fontSize: 13.5,
1069
- lineHeight: 18,
1070
- color: AppColors_1.AppColors.primaryBlack,
1071
- }}>
1072
- {t('settings.general.modalAnimation')}
228
+ <react_native_1.View style={{flex:1}}>
229
+ <react_native_1.Text style={{fontFamily:AppFonts_1.AppFonts.interBold,fontSize:13.5,lineHeight:18,color:AppColors_1.AppColors.primaryBlack}}>
230
+ {o("settings.general.modalAnimation")}
1073
231
  </react_native_1.Text>
1074
- <react_native_1.Text style={{
1075
- fontFamily: AppFonts_1.AppFonts.interRegular,
1076
- fontSize: 11,
1077
- lineHeight: 15,
1078
- color: AppColors_1.AppColors.grayText,
1079
- marginTop: 1,
1080
- }}>
1081
- {t('settings.general.modalAnimationDescription')}
232
+ <react_native_1.Text style={{fontFamily:AppFonts_1.AppFonts.interRegular,fontSize:11,lineHeight:15,color:AppColors_1.AppColors.grayText,marginTop:1}}>
233
+ {o("settings.general.modalAnimationDescription")}
1082
234
  </react_native_1.Text>
1083
235
  </react_native_1.View>
1084
236
  </react_native_1.View>
1085
237
 
1086
- <react_native_1.View style={{
1087
- flexDirection: 'row',
1088
- backgroundColor: AppColors_1.AppColors.grayBackground,
1089
- borderRadius: 10,
1090
- padding: 3,
1091
- borderWidth: 1,
1092
- borderColor: AppColors_1.AppColors.dividerColor,
1093
- }}>
1094
- {[
1095
- { key: 'slide', label: 'Slide Up' },
1096
- { key: 'fade', label: 'Fade' },
1097
- { key: 'none', label: 'None' },
1098
- ].map(opt => {
1099
- const isActive = modalAnimationType === opt.key;
1100
- return (<TouchableScale_1.default key={opt.key} accessible={true} accessibilityRole="button" accessibilityLabel={`Set transition animation to ${opt.label}`} accessibilityState={{ selected: isActive }} onPress={() => setModalAnimationType(opt.key)} style={{
1101
- flex: 1,
1102
- paddingVertical: 7,
1103
- alignItems: 'center',
1104
- borderRadius: 8,
1105
- backgroundColor: isActive
1106
- ? AppColors_1.AppColors.purple
1107
- : 'transparent',
1108
- }}>
1109
- <react_native_1.Text style={{
1110
- fontFamily: AppFonts_1.AppFonts.interBold,
1111
- fontSize: 11.5,
1112
- lineHeight: 15,
1113
- color: isActive
1114
- ? AppColors_1.AppColors.white
1115
- : AppColors_1.AppColors.grayText,
1116
- }}>
1117
- {opt.label}
238
+ <react_native_1.View style={{flexDirection:"row",backgroundColor:AppColors_1.AppColors.grayBackground,borderRadius:10,padding:3,borderWidth:1,borderColor:AppColors_1.AppColors.dividerColor}}>
239
+ {[{key:"slide",label:"Slide Up"},{key:"fade",label:"Fade"},{key:"none",label:"None"}].map(e=>{const i=Z===e.key;return<TouchableScale_1.default key={e.key}accessible={!0}accessibilityRole="button"accessibilityLabel={`Set transition animation to ${e.label}`}accessibilityState={{selected:i}}onPress={()=>ee(e.key)}style={{flex:1,paddingVertical:7,alignItems:"center",borderRadius:8,backgroundColor:i?AppColors_1.AppColors.purple:"transparent"}}>
240
+ <react_native_1.Text style={{fontFamily:AppFonts_1.AppFonts.interBold,fontSize:11.5,lineHeight:15,color:i?AppColors_1.AppColors.white:AppColors_1.AppColors.grayText}}>
241
+ {e.label}
1118
242
  </react_native_1.Text>
1119
- </TouchableScale_1.default>);
1120
- })}
243
+ </TouchableScale_1.default>})}
1121
244
  </react_native_1.View>
1122
245
  </react_native_1.View>
1123
246
  </react_native_1.View>
1124
247
 
1125
248
 
1126
- <react_native_1.View style={{
1127
- backgroundColor: AppColors_1.AppColors.primaryLight,
1128
- borderRadius: 14,
1129
- borderWidth: 1,
1130
- borderColor: AppColors_1.AppColors.grayBorderSecondary,
1131
- overflow: 'hidden',
1132
- padding: 14,
1133
- gap: 12,
1134
- }}>
1135
- <react_native_1.Text style={{
1136
- fontFamily: AppFonts_1.AppFonts.interBold,
1137
- fontSize: 11,
1138
- lineHeight: 14,
1139
- color: AppColors_1.AppColors.grayTextWeak,
1140
- letterSpacing: 0.8,
1141
- }}>
1142
- {t('settings.startupDefault')}
249
+ <react_native_1.View style={{backgroundColor:AppColors_1.AppColors.primaryLight,borderRadius:14,borderWidth:1,borderColor:AppColors_1.AppColors.grayBorderSecondary,overflow:"hidden",padding:14,gap:12}}>
250
+ <react_native_1.Text style={{fontFamily:AppFonts_1.AppFonts.interBold,fontSize:11,lineHeight:14,color:AppColors_1.AppColors.grayTextWeak,letterSpacing:.8}}>
251
+ {o("settings.startupDefault")}
1143
252
  </react_native_1.Text>
1144
253
 
1145
- <react_native_1.View style={{
1146
- flexDirection: 'row',
1147
- alignItems: 'center',
1148
- gap: 10,
1149
- }}>
1150
- <react_native_1.View style={{
1151
- width: 32,
1152
- height: 32,
1153
- borderRadius: 8,
1154
- backgroundColor: AppColors_1.AppColors.purpleShade50,
1155
- alignItems: 'center',
1156
- justifyContent: 'center',
1157
- }}>
1158
- <NetworkIcons_1.LayersIcon color={AppColors_1.AppColors.purple} size={15}/>
254
+ <react_native_1.View style={{flexDirection:"row",alignItems:"center",gap:10}}>
255
+ <react_native_1.View style={{width:32,height:32,borderRadius:8,backgroundColor:AppColors_1.AppColors.purpleShade50,alignItems:"center",justifyContent:"center"}}>
256
+ <NetworkIcons_1.LayersIcon color={AppColors_1.AppColors.purple}size={15}/>
1159
257
  </react_native_1.View>
1160
- <react_native_1.View style={{ flex: 1 }}>
1161
- <react_native_1.Text style={{
1162
- fontFamily: AppFonts_1.AppFonts.interBold,
1163
- fontSize: 13.5,
1164
- lineHeight: 18,
1165
- color: AppColors_1.AppColors.primaryBlack,
1166
- }}>
1167
- {t('settings.general.defaultOpeningTab')}
258
+ <react_native_1.View style={{flex:1}}>
259
+ <react_native_1.Text style={{fontFamily:AppFonts_1.AppFonts.interBold,fontSize:13.5,lineHeight:18,color:AppColors_1.AppColors.primaryBlack}}>
260
+ {o("settings.general.defaultOpeningTab")}
1168
261
  </react_native_1.Text>
1169
- <react_native_1.Text style={{
1170
- fontFamily: AppFonts_1.AppFonts.interRegular,
1171
- fontSize: 11,
1172
- lineHeight: 15,
1173
- color: AppColors_1.AppColors.grayText,
1174
- marginTop: 1,
1175
- }}>
1176
- {t('settings.general.defaultOpeningTabDesc')}
262
+ <react_native_1.Text style={{fontFamily:AppFonts_1.AppFonts.interRegular,fontSize:11,lineHeight:15,color:AppColors_1.AppColors.grayText,marginTop:1}}>
263
+ {o("settings.general.defaultOpeningTabDesc")}
1177
264
  </react_native_1.Text>
1178
265
  </react_native_1.View>
1179
266
  </react_native_1.View>
1180
267
 
1181
268
 
1182
- <react_native_1.View style={{ marginTop: 6, gap: 6 }}>
1183
- <TouchableScale_1.default accessible={true} accessibilityRole="button" accessibilityLabel={`Default opening tab: ${allModules.find(m => m.key === defaultTab)?.label || 'APIs'}`} onPress={() => setIsDefaultTabDropdownOpen(prev => !prev)} style={{
1184
- flexDirection: 'row',
1185
- alignItems: 'center',
1186
- justifyContent: 'space-between',
1187
- backgroundColor: AppColors_1.AppColors.grayBackground,
1188
- borderRadius: 10,
1189
- borderWidth: 1.5,
1190
- borderColor: isDefaultTabDropdownOpen
1191
- ? AppColors_1.AppColors.purple
1192
- : AppColors_1.AppColors.grayBorderSecondary,
1193
- paddingHorizontal: 14,
1194
- paddingVertical: 11,
1195
- }}>
1196
- <react_native_1.View style={{
1197
- flexDirection: 'row',
1198
- alignItems: 'center',
1199
- gap: 10,
1200
- flex: 1,
1201
- }}>
1202
- <react_native_1.View style={{
1203
- width: 8,
1204
- height: 8,
1205
- borderRadius: 4,
1206
- backgroundColor: AppColors_1.AppColors.purple,
1207
- }}/>
1208
- <react_native_1.Text style={{
1209
- fontFamily: AppFonts_1.AppFonts.interBold,
1210
- fontSize: 13.5,
1211
- lineHeight: 18,
1212
- color: AppColors_1.AppColors.primaryBlack,
1213
- }}>
1214
- {allModules.find(m => m.key === defaultTab)
1215
- ? `#${allModules.find(m => m.key === defaultTab)?.id} ${allModules.find(m => m.key === defaultTab)?.label}`
1216
- : '#1 APIs (Network)'}
269
+ <react_native_1.View style={{marginTop:6,gap:6}}>
270
+ <TouchableScale_1.default accessible={!0}accessibilityRole="button"accessibilityLabel={`Default opening tab: ${h.find(e=>e.key===x)?.label||"APIs"}`}onPress={()=>U(e=>!e)}style={{flexDirection:"row",alignItems:"center",justifyContent:"space-between",backgroundColor:AppColors_1.AppColors.grayBackground,borderRadius:10,borderWidth:1.5,borderColor:E?AppColors_1.AppColors.purple:AppColors_1.AppColors.grayBorderSecondary,paddingHorizontal:14,paddingVertical:11}}>
271
+ <react_native_1.View style={{flexDirection:"row",alignItems:"center",gap:10,flex:1}}>
272
+ <react_native_1.View style={{width:8,height:8,borderRadius:4,backgroundColor:AppColors_1.AppColors.purple}}/>
273
+ <react_native_1.Text style={{fontFamily:AppFonts_1.AppFonts.interBold,fontSize:13.5,lineHeight:18,color:AppColors_1.AppColors.primaryBlack}}>
274
+ {h.find(e=>e.key===x)?`#${h.find(e=>e.key===x)?.id} ${h.find(e=>e.key===x)?.label}`:"#1 APIs (Network)"}
1217
275
  </react_native_1.Text>
1218
- <react_native_1.View style={{
1219
- backgroundColor: `${AppColors_1.AppColors.purple}14`,
1220
- paddingHorizontal: 6,
1221
- paddingVertical: 1.5,
1222
- borderRadius: 6,
1223
- }}>
1224
- <react_native_1.Text style={{
1225
- fontFamily: AppFonts_1.AppFonts.interBold,
1226
- fontSize: 8.5,
1227
- color: AppColors_1.AppColors.purple,
1228
- }}>
276
+ <react_native_1.View style={{backgroundColor:`${AppColors_1.AppColors.purple}14`,paddingHorizontal:6,paddingVertical:1.5,borderRadius:6}}>
277
+ <react_native_1.Text style={{fontFamily:AppFonts_1.AppFonts.interBold,fontSize:8.5,color:AppColors_1.AppColors.purple}}>
1229
278
  DEFAULT
1230
279
  </react_native_1.Text>
1231
280
  </react_native_1.View>
1232
281
  </react_native_1.View>
1233
282
 
1234
- <react_native_1.View style={{
1235
- transform: [
1236
- { rotate: isDefaultTabDropdownOpen ? '180deg' : '0deg' },
1237
- ],
1238
- }}>
1239
- <NetworkIcons_1.ChevronDownIcon color={AppColors_1.AppColors.grayText} size={15}/>
283
+ <react_native_1.View style={{transform:[{rotate:E?"180deg":"0deg"}]}}>
284
+ <NetworkIcons_1.ChevronDownIcon color={AppColors_1.AppColors.grayText}size={15}/>
1240
285
  </react_native_1.View>
1241
286
  </TouchableScale_1.default>
1242
287
 
1243
288
 
1244
- {isDefaultTabDropdownOpen && (<react_native_1.View style={{
1245
- backgroundColor: AppColors_1.AppColors.primaryLight,
1246
- borderRadius: 10,
1247
- borderWidth: 1,
1248
- borderColor: AppColors_1.AppColors.grayBorderSecondary,
1249
- overflow: 'hidden',
1250
- shadowColor: AppColors_1.AppColors.black,
1251
- shadowOpacity: 0.08,
1252
- shadowRadius: 6,
1253
- shadowOffset: { width: 0, height: 3 },
1254
- elevation: 4,
1255
- }}>
1256
- {allModules
1257
- .filter(tab => tab.key === 'apis' ||
1258
- stagedTabVisibility?.[tab.key] ||
1259
- tabVisibility?.[tab.key])
1260
- .map((tab, idx, arr) => {
1261
- const isActive = defaultTab === tab.key;
1262
- const isLast = idx === arr.length - 1;
1263
- return (<TouchableScale_1.default key={tab.key} accessible={true} accessibilityRole="button" accessibilityLabel={`Select ${tab.label} as default tab`} onPress={() => {
1264
- setDefaultTab(tab.key);
1265
- setIsDefaultTabDropdownOpen(false);
1266
- }} style={{
1267
- flexDirection: 'row',
1268
- alignItems: 'center',
1269
- justifyContent: 'space-between',
1270
- paddingHorizontal: 14,
1271
- paddingVertical: 11,
1272
- backgroundColor: isActive
1273
- ? `${AppColors_1.AppColors.purple}0F`
1274
- : 'transparent',
1275
- borderBottomWidth: isLast ? 0 : 1,
1276
- borderBottomColor: AppColors_1.AppColors.dividerColor,
1277
- }}>
1278
- <react_native_1.View style={{
1279
- flexDirection: 'row',
1280
- alignItems: 'center',
1281
- gap: 10,
1282
- }}>
1283
- <react_native_1.View style={{
1284
- width: 6,
1285
- height: 6,
1286
- borderRadius: 3,
1287
- backgroundColor: isActive
1288
- ? AppColors_1.AppColors.purple
1289
- : AppColors_1.AppColors.grayTextWeak,
1290
- }}/>
1291
- <react_native_1.Text style={{
1292
- fontFamily: isActive
1293
- ? AppFonts_1.AppFonts.interBold
1294
- : AppFonts_1.AppFonts.interMedium,
1295
- fontSize: 13,
1296
- color: isActive
1297
- ? AppColors_1.AppColors.purple
1298
- : AppColors_1.AppColors.primaryBlack,
1299
- }}>
1300
- #{tab.id} {tab.label}
289
+ {E&&<react_native_1.View style={{backgroundColor:AppColors_1.AppColors.primaryLight,borderRadius:10,borderWidth:1,borderColor:AppColors_1.AppColors.grayBorderSecondary,overflow:"hidden",shadowColor:AppColors_1.AppColors.black,shadowOpacity:.08,shadowRadius:6,shadowOffset:{width:0,height:3},elevation:4}}>
290
+ {h.filter(e=>e.key==="apis"||w?.[e.key]||r?.[e.key]).map((e,i,C)=>{const d=x===e.key,b=i===C.length-1;return<TouchableScale_1.default key={e.key}accessible={!0}accessibilityRole="button"accessibilityLabel={`Select ${e.label} as default tab`}onPress={()=>{Q(e.key),U(!1)}}style={{flexDirection:"row",alignItems:"center",justifyContent:"space-between",paddingHorizontal:14,paddingVertical:11,backgroundColor:d?`${AppColors_1.AppColors.purple}0F`:"transparent",borderBottomWidth:b?0:1,borderBottomColor:AppColors_1.AppColors.dividerColor}}>
291
+ <react_native_1.View style={{flexDirection:"row",alignItems:"center",gap:10}}>
292
+ <react_native_1.View style={{width:6,height:6,borderRadius:3,backgroundColor:d?AppColors_1.AppColors.purple:AppColors_1.AppColors.grayTextWeak}}/>
293
+ <react_native_1.Text style={{fontFamily:d?AppFonts_1.AppFonts.interBold:AppFonts_1.AppFonts.interMedium,fontSize:13,color:d?AppColors_1.AppColors.purple:AppColors_1.AppColors.primaryBlack}}>
294
+ #{e.id} {e.label}
1301
295
  </react_native_1.Text>
1302
296
  </react_native_1.View>
1303
- {isActive && (<NetworkIcons_1.CheckIcon size={14} color={AppColors_1.AppColors.purple}/>)}
1304
- </TouchableScale_1.default>);
1305
- })}
1306
- </react_native_1.View>)}
297
+ {d&&<NetworkIcons_1.CheckIcon size={14}color={AppColors_1.AppColors.purple}/>}
298
+ </TouchableScale_1.default>})}
299
+ </react_native_1.View>}
1307
300
  </react_native_1.View>
1308
301
  </react_native_1.View>
1309
302
 
1310
303
 
1311
- <react_native_1.View style={{
1312
- backgroundColor: AppColors_1.AppColors.primaryLight,
1313
- borderRadius: 14,
1314
- borderWidth: 1,
1315
- borderColor: AppColors_1.AppColors.grayBorderSecondary,
1316
- overflow: 'hidden',
1317
- padding: 14,
1318
- gap: 12,
1319
- }}>
1320
- <react_native_1.Text style={{
1321
- fontFamily: AppFonts_1.AppFonts.interBold,
1322
- fontSize: 11,
1323
- lineHeight: 14,
1324
- color: AppColors_1.AppColors.grayTextWeak,
1325
- letterSpacing: 0.8,
1326
- }}>
304
+ <react_native_1.View style={{backgroundColor:AppColors_1.AppColors.primaryLight,borderRadius:14,borderWidth:1,borderColor:AppColors_1.AppColors.grayBorderSecondary,overflow:"hidden",padding:14,gap:12}}>
305
+ <react_native_1.Text style={{fontFamily:AppFonts_1.AppFonts.interBold,fontSize:11,lineHeight:14,color:AppColors_1.AppColors.grayTextWeak,letterSpacing:.8}}>
1327
306
  NOTIFICATIONS & TOASTS
1328
307
  </react_native_1.Text>
1329
308
 
1330
- <react_native_1.View style={{
1331
- flexDirection: 'row',
1332
- alignItems: 'center',
1333
- justifyContent: 'space-between',
1334
- }}>
1335
- <react_native_1.View style={{
1336
- flexDirection: 'row',
1337
- alignItems: 'center',
1338
- gap: 10,
1339
- flex: 1,
1340
- marginRight: 10,
1341
- }}>
1342
- <react_native_1.View style={{
1343
- width: 32,
1344
- height: 32,
1345
- borderRadius: 8,
1346
- backgroundColor: AppColors_1.AppColors.purpleShade50,
1347
- alignItems: 'center',
1348
- justifyContent: 'center',
1349
- }}>
1350
- <NetworkIcons_1.PackageIcon color={AppColors_1.AppColors.purple} size={15}/>
309
+ <react_native_1.View style={{flexDirection:"row",alignItems:"center",justifyContent:"space-between"}}>
310
+ <react_native_1.View style={{flexDirection:"row",alignItems:"center",gap:10,flex:1,marginRight:10}}>
311
+ <react_native_1.View style={{width:32,height:32,borderRadius:8,backgroundColor:AppColors_1.AppColors.purpleShade50,alignItems:"center",justifyContent:"center"}}>
312
+ <NetworkIcons_1.PackageIcon color={AppColors_1.AppColors.purple}size={15}/>
1351
313
  </react_native_1.View>
1352
- <react_native_1.View style={{ flex: 1 }}>
1353
- <react_native_1.Text style={{
1354
- fontFamily: AppFonts_1.AppFonts.interBold,
1355
- fontSize: 13.5,
1356
- lineHeight: 18,
1357
- color: AppColors_1.AppColors.primaryBlack,
1358
- }}>
314
+ <react_native_1.View style={{flex:1}}>
315
+ <react_native_1.Text style={{fontFamily:AppFonts_1.AppFonts.interBold,fontSize:13.5,lineHeight:18,color:AppColors_1.AppColors.primaryBlack}}>
1359
316
  NPM Update Toast
1360
317
  </react_native_1.Text>
1361
- <react_native_1.Text style={{
1362
- fontFamily: AppFonts_1.AppFonts.interRegular,
1363
- fontSize: 11,
1364
- lineHeight: 15,
1365
- color: AppColors_1.AppColors.grayText,
1366
- marginTop: 1,
1367
- }}>
318
+ <react_native_1.Text style={{fontFamily:AppFonts_1.AppFonts.interRegular,fontSize:11,lineHeight:15,color:AppColors_1.AppColors.grayText,marginTop:1}}>
1368
319
  Show a floating toast banner with countdown progress when
1369
320
  a newer release is published on npm.
1370
321
  </react_native_1.Text>
1371
322
  </react_native_1.View>
1372
323
  </react_native_1.View>
1373
324
 
1374
- <TouchableScale_1.default accessible={true} accessibilityRole="switch" accessibilityLabel="Toggle NPM Update Toast" accessibilityState={{ checked: showUpdateToast }} onPress={() => setShowUpdateToast(prev => !prev)} style={{
1375
- width: 42,
1376
- height: 24,
1377
- borderRadius: 12,
1378
- backgroundColor: showUpdateToast
1379
- ? AppColors_1.AppColors.purple
1380
- : AppColors_1.AppColors.grayBorderSecondary,
1381
- padding: 2,
1382
- justifyContent: 'center',
1383
- alignItems: showUpdateToast ? 'flex-end' : 'flex-start',
1384
- }}>
1385
- <react_native_1.View style={{
1386
- width: 20,
1387
- height: 20,
1388
- borderRadius: 10,
1389
- backgroundColor: AppColors_1.AppColors.white,
1390
- shadowColor: AppColors_1.AppColors.black,
1391
- shadowOpacity: 0.18,
1392
- shadowRadius: 2,
1393
- shadowOffset: { width: 0, height: 1 },
1394
- }}/>
325
+ <TouchableScale_1.default accessible={!0}accessibilityRole="switch"accessibilityLabel="Toggle NPM Update Toast"accessibilityState={{checked:z}}onPress={()=>re(e=>!e)}style={{width:42,height:24,borderRadius:12,backgroundColor:z?AppColors_1.AppColors.purple:AppColors_1.AppColors.grayBorderSecondary,padding:2,justifyContent:"center",alignItems:z?"flex-end":"flex-start"}}>
326
+ <react_native_1.View style={{width:20,height:20,borderRadius:10,backgroundColor:AppColors_1.AppColors.white,shadowColor:AppColors_1.AppColors.black,shadowOpacity:.18,shadowRadius:2,shadowOffset:{width:0,height:1}}}/>
1395
327
  </TouchableScale_1.default>
1396
328
  </react_native_1.View>
1397
329
  </react_native_1.View>
1398
- </react_native_1.View>)}
330
+ </react_native_1.View>}
1399
331
 
1400
- {settingsActiveSubTab === 'limits' && (<react_native_1.View style={{ gap: 14 }}>
332
+ {l==="limits"&&<react_native_1.View style={{gap:14}}>
1401
333
 
1402
- <react_native_1.View style={{
1403
- backgroundColor: AppColors_1.AppColors.primaryLight,
1404
- borderRadius: 14,
1405
- borderWidth: 1,
1406
- borderColor: AppColors_1.AppColors.grayBorderSecondary,
1407
- overflow: 'hidden',
1408
- padding: 14,
1409
- gap: 12,
1410
- }}>
1411
- <react_native_1.Text style={{
1412
- fontFamily: AppFonts_1.AppFonts.interBold,
1413
- fontSize: 11,
1414
- lineHeight: 14,
1415
- color: AppColors_1.AppColors.grayTextWeak,
1416
- letterSpacing: 0.8,
1417
- }}>
334
+ <react_native_1.View style={{backgroundColor:AppColors_1.AppColors.primaryLight,borderRadius:14,borderWidth:1,borderColor:AppColors_1.AppColors.grayBorderSecondary,overflow:"hidden",padding:14,gap:12}}>
335
+ <react_native_1.Text style={{fontFamily:AppFonts_1.AppFonts.interBold,fontSize:11,lineHeight:14,color:AppColors_1.AppColors.grayTextWeak,letterSpacing:.8}}>
1418
336
  DEVICE MEMORY & AUTO PROFILES
1419
337
  </react_native_1.Text>
1420
338
 
1421
339
 
1422
- <react_native_1.View style={{
1423
- flexDirection: 'row',
1424
- alignItems: 'center',
1425
- justifyContent: 'space-between',
1426
- }}>
1427
- <react_native_1.View style={{
1428
- flexDirection: 'row',
1429
- alignItems: 'center',
1430
- gap: 10,
1431
- flex: 1,
1432
- }}>
1433
- <react_native_1.View style={{
1434
- width: 32,
1435
- height: 32,
1436
- borderRadius: 8,
1437
- backgroundColor: AppColors_1.AppColors.purpleShade50,
1438
- alignItems: 'center',
1439
- justifyContent: 'center',
1440
- }}>
1441
- <NetworkIcons_1.BrainIcon color={AppColors_1.AppColors.purple} size={16}/>
340
+ <react_native_1.View style={{flexDirection:"row",alignItems:"center",justifyContent:"space-between"}}>
341
+ <react_native_1.View style={{flexDirection:"row",alignItems:"center",gap:10,flex:1}}>
342
+ <react_native_1.View style={{width:32,height:32,borderRadius:8,backgroundColor:AppColors_1.AppColors.purpleShade50,alignItems:"center",justifyContent:"center"}}>
343
+ <NetworkIcons_1.BrainIcon color={AppColors_1.AppColors.purple}size={16}/>
1442
344
  </react_native_1.View>
1443
- <react_native_1.View style={{ flex: 1 }}>
1444
- <react_native_1.Text style={{
1445
- fontFamily: AppFonts_1.AppFonts.interBold,
1446
- fontSize: 13.5,
1447
- lineHeight: 18,
1448
- color: AppColors_1.AppColors.primaryBlack,
1449
- }}>
345
+ <react_native_1.View style={{flex:1}}>
346
+ <react_native_1.Text style={{fontFamily:AppFonts_1.AppFonts.interBold,fontSize:13.5,lineHeight:18,color:AppColors_1.AppColors.primaryBlack}}>
1450
347
  Auto-Calculate Limits from RAM
1451
348
  </react_native_1.Text>
1452
- <react_native_1.Text style={{
1453
- fontFamily: AppFonts_1.AppFonts.interRegular,
1454
- fontSize: 11,
1455
- lineHeight: 15,
1456
- color: AppColors_1.AppColors.grayText,
1457
- marginTop: 1,
1458
- }}>
349
+ <react_native_1.Text style={{fontFamily:AppFonts_1.AppFonts.interRegular,fontSize:11,lineHeight:15,color:AppColors_1.AppColors.grayText,marginTop:1}}>
1459
350
  Dynamically sets log limits according to available device
1460
351
  memory
1461
352
  </react_native_1.Text>
1462
353
  </react_native_1.View>
1463
354
  </react_native_1.View>
1464
355
 
1465
- <TouchableScale_1.default accessible={true} accessibilityRole="switch" accessibilityLabel="Toggle auto RAM limit calculation" accessibilityState={{ checked: isAutoRamLimitEnabled }} onPress={() => setIsAutoRamLimitEnabled(prev => !prev)} style={{
1466
- width: 42,
1467
- height: 24,
1468
- borderRadius: 12,
1469
- backgroundColor: isAutoRamLimitEnabled
1470
- ? AppColors_1.AppColors.purple
1471
- : AppColors_1.AppColors.grayBorderSecondary,
1472
- padding: 2,
1473
- justifyContent: 'center',
1474
- alignItems: isAutoRamLimitEnabled
1475
- ? 'flex-end'
1476
- : 'flex-start',
1477
- }}>
1478
- <react_native_1.View style={{
1479
- width: 20,
1480
- height: 20,
1481
- borderRadius: 10,
1482
- backgroundColor: AppColors_1.AppColors.white,
1483
- shadowColor: AppColors_1.AppColors.black,
1484
- shadowOpacity: 0.18,
1485
- shadowRadius: 2,
1486
- shadowOffset: { width: 0, height: 1 },
1487
- }}/>
356
+ <TouchableScale_1.default accessible={!0}accessibilityRole="switch"accessibilityLabel="Toggle auto RAM limit calculation"accessibilityState={{checked:c}}onPress={()=>pe(e=>!e)}style={{width:42,height:24,borderRadius:12,backgroundColor:c?AppColors_1.AppColors.purple:AppColors_1.AppColors.grayBorderSecondary,padding:2,justifyContent:"center",alignItems:c?"flex-end":"flex-start"}}>
357
+ <react_native_1.View style={{width:20,height:20,borderRadius:10,backgroundColor:AppColors_1.AppColors.white,shadowColor:AppColors_1.AppColors.black,shadowOpacity:.18,shadowRadius:2,shadowOffset:{width:0,height:1}}}/>
1488
358
  </TouchableScale_1.default>
1489
359
  </react_native_1.View>
1490
360
 
1491
- <react_native_1.View style={{ height: 1, backgroundColor: AppColors_1.AppColors.dividerColor }}/>
361
+ <react_native_1.View style={{height:1,backgroundColor:AppColors_1.AppColors.dividerColor}}/>
1492
362
 
1493
363
 
1494
- <react_native_1.View style={{ flexDirection: 'row', alignItems: 'center', gap: 10 }}>
1495
- <react_native_1.View style={{
1496
- width: 32,
1497
- height: 32,
1498
- borderRadius: 8,
1499
- backgroundColor: isAutoRamLimitEnabled
1500
- ? `${AppColors_1.AppColors.purple}14`
1501
- : AppColors_1.AppColors.grayBackground,
1502
- alignItems: 'center',
1503
- justifyContent: 'center',
1504
- }}>
1505
- <NetworkIcons_1.SignalIcon color={isAutoRamLimitEnabled
1506
- ? AppColors_1.AppColors.purple
1507
- : AppColors_1.AppColors.grayTextWeak} size={15}/>
364
+ <react_native_1.View style={{flexDirection:"row",alignItems:"center",gap:10}}>
365
+ <react_native_1.View style={{width:32,height:32,borderRadius:8,backgroundColor:c?`${AppColors_1.AppColors.purple}14`:AppColors_1.AppColors.grayBackground,alignItems:"center",justifyContent:"center"}}>
366
+ <NetworkIcons_1.SignalIcon color={c?AppColors_1.AppColors.purple:AppColors_1.AppColors.grayTextWeak}size={15}/>
1508
367
  </react_native_1.View>
1509
- <react_native_1.View style={{ flex: 1 }}>
1510
- <react_native_1.Text style={{
1511
- fontFamily: AppFonts_1.AppFonts.interBold,
1512
- fontSize: 13.5,
1513
- lineHeight: 18,
1514
- color: isAutoRamLimitEnabled
1515
- ? AppColors_1.AppColors.primaryBlack
1516
- : AppColors_1.AppColors.grayText,
1517
- }}>
368
+ <react_native_1.View style={{flex:1}}>
369
+ <react_native_1.Text style={{fontFamily:AppFonts_1.AppFonts.interBold,fontSize:13.5,lineHeight:18,color:c?AppColors_1.AppColors.primaryBlack:AppColors_1.AppColors.grayText}}>
1518
370
  Detected Available RAM
1519
371
  </react_native_1.Text>
1520
- <react_native_1.Text style={{
1521
- fontFamily: AppFonts_1.AppFonts.interRegular,
1522
- fontSize: 11,
1523
- lineHeight: 15,
1524
- color: AppColors_1.AppColors.grayText,
1525
- marginTop: 1,
1526
- }}>
1527
- {deviceFreeRamMb} MB available on device
372
+ <react_native_1.Text style={{fontFamily:AppFonts_1.AppFonts.interRegular,fontSize:11,lineHeight:15,color:AppColors_1.AppColors.grayText,marginTop:1}}>
373
+ {W} MB available on device
1528
374
  </react_native_1.Text>
1529
375
  </react_native_1.View>
1530
- <react_native_1.View style={{
1531
- paddingHorizontal: 10,
1532
- paddingVertical: 5,
1533
- borderRadius: 8,
1534
- backgroundColor: isAutoRamLimitEnabled
1535
- ? `${AppColors_1.AppColors.purple}12`
1536
- : AppColors_1.AppColors.grayBackground,
1537
- borderWidth: 1,
1538
- borderColor: isAutoRamLimitEnabled
1539
- ? `${AppColors_1.AppColors.purple}26`
1540
- : AppColors_1.AppColors.dividerColor,
1541
- }}>
1542
- <react_native_1.Text style={{
1543
- fontFamily: AppFonts_1.AppFonts.interBold,
1544
- fontSize: 12,
1545
- lineHeight: 15,
1546
- color: isAutoRamLimitEnabled
1547
- ? AppColors_1.AppColors.purple
1548
- : AppColors_1.AppColors.grayText,
1549
- }}>
1550
- {deviceFreeRamMb} MB
376
+ <react_native_1.View style={{paddingHorizontal:10,paddingVertical:5,borderRadius:8,backgroundColor:c?`${AppColors_1.AppColors.purple}12`:AppColors_1.AppColors.grayBackground,borderWidth:1,borderColor:c?`${AppColors_1.AppColors.purple}26`:AppColors_1.AppColors.dividerColor}}>
377
+ <react_native_1.Text style={{fontFamily:AppFonts_1.AppFonts.interBold,fontSize:12,lineHeight:15,color:c?AppColors_1.AppColors.purple:AppColors_1.AppColors.grayText}}>
378
+ {W} MB
1551
379
  </react_native_1.Text>
1552
380
  </react_native_1.View>
1553
381
  </react_native_1.View>
1554
382
 
1555
383
 
1556
- <react_native_1.View style={{
1557
- marginTop: 4,
1558
- paddingTop: 8,
1559
- borderTopWidth: 1,
1560
- borderTopColor: AppColors_1.AppColors.dividerColor,
1561
- gap: 6,
1562
- }}>
1563
- <react_native_1.View style={{
1564
- flexDirection: 'row',
1565
- alignItems: 'center',
1566
- justifyContent: 'space-between',
1567
- }}>
1568
- <react_native_1.Text style={{
1569
- fontFamily: AppFonts_1.AppFonts.interBold,
1570
- fontSize: 11.5,
1571
- lineHeight: 15,
1572
- color: AppColors_1.AppColors.purple,
1573
- }}>
1574
- Profile: {autoRamProfile.profileName}
1575
- </react_native_1.Text>
1576
- <react_native_1.View style={{
1577
- backgroundColor: isAutoRamLimitEnabled
1578
- ? `${AppColors_1.AppColors.emerald500}18`
1579
- : `${AppColors_1.AppColors.purple}18`,
1580
- paddingHorizontal: 7,
1581
- paddingVertical: 2.5,
1582
- borderRadius: 4,
1583
- }}>
1584
- <react_native_1.Text style={{
1585
- fontFamily: AppFonts_1.AppFonts.interBold,
1586
- fontSize: 9.5,
1587
- color: isAutoRamLimitEnabled
1588
- ? AppColors_1.AppColors.emerald500
1589
- : AppColors_1.AppColors.purple,
1590
- }}>
1591
- {isAutoRamLimitEnabled ? 'AUTO-TUNED' : 'MANUAL'}
384
+ <react_native_1.View style={{marginTop:4,paddingTop:8,borderTopWidth:1,borderTopColor:AppColors_1.AppColors.dividerColor,gap:6}}>
385
+ <react_native_1.View style={{flexDirection:"row",alignItems:"center",justifyContent:"space-between"}}>
386
+ <react_native_1.Text style={{fontFamily:AppFonts_1.AppFonts.interBold,fontSize:11.5,lineHeight:15,color:AppColors_1.AppColors.purple}}>
387
+ Profile: {k.profileName}
388
+ </react_native_1.Text>
389
+ <react_native_1.View style={{backgroundColor:c?`${AppColors_1.AppColors.emerald500}18`:`${AppColors_1.AppColors.purple}18`,paddingHorizontal:7,paddingVertical:2.5,borderRadius:4}}>
390
+ <react_native_1.Text style={{fontFamily:AppFonts_1.AppFonts.interBold,fontSize:9.5,color:c?AppColors_1.AppColors.emerald500:AppColors_1.AppColors.purple}}>
391
+ {c?"AUTO-TUNED":"MANUAL"}
1592
392
  </react_native_1.Text>
1593
393
  </react_native_1.View>
1594
394
  </react_native_1.View>
1595
395
 
1596
- <react_native_1.View style={{
1597
- flexDirection: 'row',
1598
- flexWrap: 'wrap',
1599
- gap: 8,
1600
- marginTop: 4,
1601
- }}>
1602
- {[
1603
- {
1604
- label: 'APIs',
1605
- value: isAutoRamLimitEnabled
1606
- ? autoRamProfile.maxNetworkLogs
1607
- : maxNetworkLogs,
1608
- color: AppColors_1.AppColors.blue500,
1609
- },
1610
- {
1611
- label: 'Logs',
1612
- value: isAutoRamLimitEnabled
1613
- ? autoRamProfile.maxConsoleLogs
1614
- : maxConsoleLogs,
1615
- color: AppColors_1.AppColors.sky500,
1616
- },
1617
- {
1618
- label: 'Analytics',
1619
- value: isAutoRamLimitEnabled
1620
- ? autoRamProfile.maxAnalyticsEvents
1621
- : maxAnalyticsEventsLimit,
1622
- color: AppColors_1.AppColors.purple,
1623
- },
1624
- {
1625
- label: 'Crash',
1626
- value: isAutoRamLimitEnabled
1627
- ? autoRamProfile.maxCrashRecords
1628
- : maxCrashLogs,
1629
- color: AppColors_1.AppColors.errorColor,
1630
- },
1631
- ].map(item => (<react_native_1.View key={item.label} style={{
1632
- flexDirection: 'row',
1633
- alignItems: 'center',
1634
- gap: 4,
1635
- paddingHorizontal: 8,
1636
- paddingVertical: 4,
1637
- borderRadius: 6,
1638
- backgroundColor: `${item.color}14`,
1639
- borderWidth: 1,
1640
- borderColor: `${item.color}33`,
1641
- }}>
1642
- <react_native_1.Text style={{
1643
- fontFamily: AppFonts_1.AppFonts.interBold,
1644
- fontSize: 10.5,
1645
- lineHeight: 14,
1646
- color: item.color,
1647
- }}>
1648
- {item.label}:
396
+ <react_native_1.View style={{flexDirection:"row",flexWrap:"wrap",gap:8,marginTop:4}}>
397
+ {[{label:"APIs",value:c?k.maxNetworkLogs:D,color:AppColors_1.AppColors.blue500},{label:"Logs",value:c?k.maxConsoleLogs:P,color:AppColors_1.AppColors.sky500},{label:"Analytics",value:c?k.maxAnalyticsEvents:j,color:AppColors_1.AppColors.purple},{label:"Crash",value:c?k.maxCrashRecords:q,color:AppColors_1.AppColors.errorColor}].map(e=><react_native_1.View key={e.label}style={{flexDirection:"row",alignItems:"center",gap:4,paddingHorizontal:8,paddingVertical:4,borderRadius:6,backgroundColor:`${e.color}14`,borderWidth:1,borderColor:`${e.color}33`}}>
398
+ <react_native_1.Text style={{fontFamily:AppFonts_1.AppFonts.interBold,fontSize:10.5,lineHeight:14,color:e.color}}>
399
+ {e.label}:
1649
400
  </react_native_1.Text>
1650
- <react_native_1.Text style={{
1651
- fontFamily: AppFonts_1.AppFonts.interBold,
1652
- fontSize: 10.5,
1653
- lineHeight: 14,
1654
- color: item.color,
1655
- }}>
1656
- {item.value} max
401
+ <react_native_1.Text style={{fontFamily:AppFonts_1.AppFonts.interBold,fontSize:10.5,lineHeight:14,color:e.color}}>
402
+ {e.value} max
1657
403
  </react_native_1.Text>
1658
- </react_native_1.View>))}
404
+ </react_native_1.View>)}
1659
405
  </react_native_1.View>
1660
406
  </react_native_1.View>
1661
407
  </react_native_1.View>
1662
408
 
1663
409
 
1664
- <react_native_1.View style={{
1665
- backgroundColor: AppColors_1.AppColors.primaryLight,
1666
- borderRadius: 14,
1667
- borderWidth: 1,
1668
- borderColor: AppColors_1.AppColors.grayBorderSecondary,
1669
- overflow: 'hidden',
1670
- padding: 14,
1671
- gap: 12,
1672
- }}>
1673
- <react_native_1.Text style={{
1674
- fontFamily: AppFonts_1.AppFonts.interBold,
1675
- fontSize: 11,
1676
- lineHeight: 14,
1677
- color: AppColors_1.AppColors.grayTextWeak,
1678
- letterSpacing: 0.8,
1679
- }}>
410
+ <react_native_1.View style={{backgroundColor:AppColors_1.AppColors.primaryLight,borderRadius:14,borderWidth:1,borderColor:AppColors_1.AppColors.grayBorderSecondary,overflow:"hidden",padding:14,gap:12}}>
411
+ <react_native_1.Text style={{fontFamily:AppFonts_1.AppFonts.interBold,fontSize:11,lineHeight:14,color:AppColors_1.AppColors.grayTextWeak,letterSpacing:.8}}>
1680
412
  LOW MEMORY PRESSURE PROTECTION
1681
413
  </react_native_1.Text>
1682
414
 
1683
- <react_native_1.View style={{ flexDirection: 'row', alignItems: 'center', gap: 10 }}>
1684
- <react_native_1.View style={{
1685
- width: 32,
1686
- height: 32,
1687
- borderRadius: 8,
1688
- backgroundColor: `${AppColors_1.AppColors.emerald500}14`,
1689
- alignItems: 'center',
1690
- justifyContent: 'center',
1691
- }}>
1692
- <NetworkIcons_1.ShieldAlertIcon color={AppColors_1.AppColors.emerald500} size={15}/>
415
+ <react_native_1.View style={{flexDirection:"row",alignItems:"center",gap:10}}>
416
+ <react_native_1.View style={{width:32,height:32,borderRadius:8,backgroundColor:`${AppColors_1.AppColors.emerald500}14`,alignItems:"center",justifyContent:"center"}}>
417
+ <NetworkIcons_1.ShieldAlertIcon color={AppColors_1.AppColors.emerald500}size={15}/>
1693
418
  </react_native_1.View>
1694
- <react_native_1.View style={{ flex: 1 }}>
1695
- <react_native_1.Text style={{
1696
- fontFamily: AppFonts_1.AppFonts.interBold,
1697
- fontSize: 13.5,
1698
- lineHeight: 18,
1699
- color: AppColors_1.AppColors.primaryBlack,
1700
- }}>
419
+ <react_native_1.View style={{flex:1}}>
420
+ <react_native_1.Text style={{fontFamily:AppFonts_1.AppFonts.interBold,fontSize:13.5,lineHeight:18,color:AppColors_1.AppColors.primaryBlack}}>
1701
421
  OS Memory Warning Guard
1702
422
  </react_native_1.Text>
1703
- <react_native_1.Text style={{
1704
- fontFamily: AppFonts_1.AppFonts.interRegular,
1705
- fontSize: 11,
1706
- lineHeight: 15,
1707
- color: AppColors_1.AppColors.grayText,
1708
- marginTop: 1,
1709
- }}>
423
+ <react_native_1.Text style={{fontFamily:AppFonts_1.AppFonts.interRegular,fontSize:11,lineHeight:15,color:AppColors_1.AppColors.grayText,marginTop:1}}>
1710
424
  Automatically prunes in-memory buffers by 50% when the OS
1711
425
  signals low memory
1712
426
  </react_native_1.Text>
1713
427
  </react_native_1.View>
1714
- <react_native_1.View style={{
1715
- paddingHorizontal: 8,
1716
- paddingVertical: 3,
1717
- borderRadius: 6,
1718
- backgroundColor: `${AppColors_1.AppColors.emerald500}18`,
1719
- }}>
1720
- <react_native_1.Text style={{
1721
- fontFamily: AppFonts_1.AppFonts.interBold,
1722
- fontSize: 10,
1723
- color: AppColors_1.AppColors.emerald500,
1724
- }}>
428
+ <react_native_1.View style={{paddingHorizontal:8,paddingVertical:3,borderRadius:6,backgroundColor:`${AppColors_1.AppColors.emerald500}18`}}>
429
+ <react_native_1.Text style={{fontFamily:AppFonts_1.AppFonts.interBold,fontSize:10,color:AppColors_1.AppColors.emerald500}}>
1725
430
  ACTIVE
1726
431
  </react_native_1.Text>
1727
432
  </react_native_1.View>
1728
433
  </react_native_1.View>
1729
434
 
1730
- <react_native_1.View style={{ height: 1, backgroundColor: AppColors_1.AppColors.dividerColor }}/>
435
+ <react_native_1.View style={{height:1,backgroundColor:AppColors_1.AppColors.dividerColor}}/>
1731
436
 
1732
437
 
1733
- <react_native_1.View style={{
1734
- flexDirection: 'row',
1735
- alignItems: 'center',
1736
- justifyContent: 'space-between',
1737
- gap: 10,
1738
- }}>
1739
- <react_native_1.View style={{ flex: 1 }}>
1740
- <react_native_1.Text style={{
1741
- fontFamily: AppFonts_1.AppFonts.interBold,
1742
- fontSize: 13,
1743
- color: AppColors_1.AppColors.primaryBlack,
1744
- }}>
438
+ <react_native_1.View style={{flexDirection:"row",alignItems:"center",justifyContent:"space-between",gap:10}}>
439
+ <react_native_1.View style={{flex:1}}>
440
+ <react_native_1.Text style={{fontFamily:AppFonts_1.AppFonts.interBold,fontSize:13,color:AppColors_1.AppColors.primaryBlack}}>
1745
441
  Manual Memory Cleanup
1746
442
  </react_native_1.Text>
1747
- <react_native_1.Text style={{
1748
- fontFamily: AppFonts_1.AppFonts.interRegular,
1749
- fontSize: 11,
1750
- color: AppColors_1.AppColors.grayText,
1751
- marginTop: 1,
1752
- }}>
443
+ <react_native_1.Text style={{fontFamily:AppFonts_1.AppFonts.interRegular,fontSize:11,color:AppColors_1.AppColors.grayText,marginTop:1}}>
1753
444
  Prune older entries across all log stores and free RAM
1754
445
  </react_native_1.Text>
1755
446
  </react_native_1.View>
1756
- <TouchableScale_1.default onPress={() => {
1757
- const summary = (0, memoryManager_1.pruneAllLogs)('manual', 0.5);
1758
- (0, toast_1.showToast)(`Pruned ${summary.totalPruned} items from memory`);
1759
- }} style={{
1760
- backgroundColor: AppColors_1.AppColors.purple,
1761
- paddingHorizontal: 12,
1762
- paddingVertical: 8,
1763
- borderRadius: 8,
1764
- flexDirection: 'row',
1765
- alignItems: 'center',
1766
- gap: 5,
1767
- }}>
1768
- <NetworkIcons_1.TrashIcon size={13} color={AppColors_1.AppColors.white}/>
1769
- <react_native_1.Text style={{
1770
- fontFamily: AppFonts_1.AppFonts.interBold,
1771
- fontSize: 11.5,
1772
- color: AppColors_1.AppColors.white,
1773
- }}>
447
+ <TouchableScale_1.default onPress={()=>{const e=(0,memoryManager_1.pruneAllLogs)("manual",.5);(0,toast_1.showToast)(`Pruned ${e.totalPruned} items from memory`)}}style={{backgroundColor:AppColors_1.AppColors.purple,paddingHorizontal:12,paddingVertical:8,borderRadius:8,flexDirection:"row",alignItems:"center",gap:5}}>
448
+ <NetworkIcons_1.TrashIcon size={13}color={AppColors_1.AppColors.white}/>
449
+ <react_native_1.Text style={{fontFamily:AppFonts_1.AppFonts.interBold,fontSize:11.5,color:AppColors_1.AppColors.white}}>
1774
450
  Prune Now
1775
451
  </react_native_1.Text>
1776
452
  </TouchableScale_1.default>
1777
453
  </react_native_1.View>
1778
454
  </react_native_1.View>
1779
- </react_native_1.View>)}
1780
- {settingsActiveSubTab === 'capture' && (<react_native_1.View style={{ gap: 12 }}>
455
+ </react_native_1.View>}
456
+ {l==="capture"&&<react_native_1.View style={{gap:12}}>
1781
457
 
1782
- <react_native_1.View style={{
1783
- backgroundColor: AppColors_1.AppColors.primaryLight,
1784
- padding: 16,
1785
- borderRadius: 14,
1786
- borderWidth: 1,
1787
- borderColor: AppColors_1.AppColors.grayBorderSecondary,
1788
- gap: 12,
1789
- }}>
1790
- <react_native_1.View style={{ flexDirection: 'row', alignItems: 'center', gap: 10 }}>
1791
- <react_native_1.View style={{
1792
- width: 36,
1793
- height: 36,
1794
- borderRadius: 10,
1795
- backgroundColor: AppColors_1.AppColors.purpleShade50,
1796
- alignItems: 'center',
1797
- justifyContent: 'center',
1798
- }}>
1799
- <NetworkIcons_1.CameraIcon color={AppColors_1.AppColors.purple} size={16}/>
458
+ <react_native_1.View style={{backgroundColor:AppColors_1.AppColors.primaryLight,padding:16,borderRadius:14,borderWidth:1,borderColor:AppColors_1.AppColors.grayBorderSecondary,gap:12}}>
459
+ <react_native_1.View style={{flexDirection:"row",alignItems:"center",gap:10}}>
460
+ <react_native_1.View style={{width:36,height:36,borderRadius:10,backgroundColor:AppColors_1.AppColors.purpleShade50,alignItems:"center",justifyContent:"center"}}>
461
+ <NetworkIcons_1.CameraIcon color={AppColors_1.AppColors.purple}size={16}/>
1800
462
  </react_native_1.View>
1801
- <react_native_1.View style={{ flex: 1 }}>
1802
- <react_native_1.Text style={{
1803
- fontFamily: AppFonts_1.AppFonts.interBold,
1804
- fontSize: 14,
1805
- lineHeight: 18,
1806
- color: AppColors_1.AppColors.primaryBlack,
1807
- }}>
1808
- {t('settings.media.screenshotCardTitle', 'Screenshot Capture Settings')}
463
+ <react_native_1.View style={{flex:1}}>
464
+ <react_native_1.Text style={{fontFamily:AppFonts_1.AppFonts.interBold,fontSize:14,lineHeight:18,color:AppColors_1.AppColors.primaryBlack}}>
465
+ {o("settings.media.screenshotCardTitle","Screenshot Capture Settings")}
1809
466
  </react_native_1.Text>
1810
- <react_native_1.Text style={{
1811
- fontFamily: AppFonts_1.AppFonts.interRegular,
1812
- fontSize: 11,
1813
- lineHeight: 15,
1814
- color: AppColors_1.AppColors.grayText,
1815
- marginTop: 1,
1816
- }}>
1817
- {t('settings.media.screenshotCardDesc', 'Image encoding format, compression quality and overlay auto-hide')}
467
+ <react_native_1.Text style={{fontFamily:AppFonts_1.AppFonts.interRegular,fontSize:11,lineHeight:15,color:AppColors_1.AppColors.grayText,marginTop:1}}>
468
+ {o("settings.media.screenshotCardDesc","Image encoding format, compression quality and overlay auto-hide")}
1818
469
  </react_native_1.Text>
1819
470
  </react_native_1.View>
1820
471
  </react_native_1.View>
1821
472
 
1822
- {renderSettingRow({
1823
- icon: <NetworkIcons_1.ImageIcon color={AppColors_1.AppColors.purple} size={16}/>,
1824
- label: t('settings.media.imageFormat', 'Image Format'),
1825
- description: t('settings.media.imageFormatDesc', 'Export formats (PNG lossless, JPEG lossy, WebP)'),
1826
- right: (<react_native_1.View style={{ flexDirection: 'row', gap: 4 }}>
1827
- {['PNG', 'JPEG', 'WEBP'].map(fmt => (<react_native_1.View key={fmt} style={{
1828
- paddingHorizontal: 8,
1829
- paddingVertical: 4,
1830
- borderRadius: 6,
1831
- backgroundColor: fmt === 'PNG'
1832
- ? AppColors_1.AppColors.purple
1833
- : `${AppColors_1.AppColors.purple}1A`,
1834
- }}>
1835
- <react_native_1.Text style={{
1836
- fontFamily: AppFonts_1.AppFonts.interBold,
1837
- fontSize: 10,
1838
- color: fmt === 'PNG'
1839
- ? AppColors_1.AppColors.white
1840
- : AppColors_1.AppColors.purple,
1841
- }}>
1842
- {fmt}
473
+ {n({icon:<NetworkIcons_1.ImageIcon color={AppColors_1.AppColors.purple}size={16}/>,label:o("settings.media.imageFormat","Image Format"),description:o("settings.media.imageFormatDesc","Export formats (PNG lossless, JPEG lossy, WebP)"),right:<react_native_1.View style={{flexDirection:"row",gap:4}}>
474
+ {["PNG","JPEG","WEBP"].map(e=><react_native_1.View key={e}style={{paddingHorizontal:8,paddingVertical:4,borderRadius:6,backgroundColor:e==="PNG"?AppColors_1.AppColors.purple:`${AppColors_1.AppColors.purple}1A`}}>
475
+ <react_native_1.Text style={{fontFamily:AppFonts_1.AppFonts.interBold,fontSize:10,color:e==="PNG"?AppColors_1.AppColors.white:AppColors_1.AppColors.purple}}>
476
+ {e}
1843
477
  </react_native_1.Text>
1844
- </react_native_1.View>))}
1845
- </react_native_1.View>),
1846
- })}
478
+ </react_native_1.View>)}
479
+ </react_native_1.View>})}
1847
480
 
1848
- {renderSettingRow({
1849
- icon: <NetworkIcons_1.EyeIcon color={AppColors_1.AppColors.purple} size={16}/>,
1850
- label: t('settings.media.autoHide', 'Auto-Hide Inspector During Capture'),
1851
- description: t('settings.media.autoHideDesc', 'Temporarily hides the inspector overlay during screen capture'),
1852
- isLast: true,
1853
- right: (<react_native_1.View style={{
1854
- paddingHorizontal: 8,
1855
- paddingVertical: 4,
1856
- borderRadius: 6,
1857
- backgroundColor: `${AppColors_1.AppColors.emerald500}26`,
1858
- }}>
1859
- <react_native_1.Text style={{
1860
- fontFamily: AppFonts_1.AppFonts.interBold,
1861
- fontSize: 10,
1862
- color: AppColors_1.AppColors.emerald500,
1863
- }}>
1864
- {t('settings.media.enabled', 'ON')}
481
+ {n({icon:<NetworkIcons_1.EyeIcon color={AppColors_1.AppColors.purple}size={16}/>,label:o("settings.media.autoHide","Auto-Hide Inspector During Capture"),description:o("settings.media.autoHideDesc","Temporarily hides the inspector overlay during screen capture"),isLast:!0,right:<react_native_1.View style={{paddingHorizontal:8,paddingVertical:4,borderRadius:6,backgroundColor:`${AppColors_1.AppColors.emerald500}26`}}>
482
+ <react_native_1.Text style={{fontFamily:AppFonts_1.AppFonts.interBold,fontSize:10,color:AppColors_1.AppColors.emerald500}}>
483
+ {o("settings.media.enabled","ON")}
1865
484
  </react_native_1.Text>
1866
- </react_native_1.View>),
1867
- })}
485
+ </react_native_1.View>})}
1868
486
  </react_native_1.View>
1869
487
 
1870
488
 
1871
- <react_native_1.View style={{
1872
- backgroundColor: AppColors_1.AppColors.primaryLight,
1873
- padding: 16,
1874
- borderRadius: 14,
1875
- borderWidth: 1,
1876
- borderColor: AppColors_1.AppColors.grayBorderSecondary,
1877
- gap: 12,
1878
- }}>
1879
- <react_native_1.View style={{ flexDirection: 'row', alignItems: 'center', gap: 10 }}>
1880
- <react_native_1.View style={{
1881
- width: 36,
1882
- height: 36,
1883
- borderRadius: 10,
1884
- backgroundColor: AppColors_1.AppColors.purpleShade50,
1885
- alignItems: 'center',
1886
- justifyContent: 'center',
1887
- }}>
1888
- <NetworkIcons_1.VideoCameraIcon color={AppColors_1.AppColors.purple} size={16}/>
489
+ <react_native_1.View style={{backgroundColor:AppColors_1.AppColors.primaryLight,padding:16,borderRadius:14,borderWidth:1,borderColor:AppColors_1.AppColors.grayBorderSecondary,gap:12}}>
490
+ <react_native_1.View style={{flexDirection:"row",alignItems:"center",gap:10}}>
491
+ <react_native_1.View style={{width:36,height:36,borderRadius:10,backgroundColor:AppColors_1.AppColors.purpleShade50,alignItems:"center",justifyContent:"center"}}>
492
+ <NetworkIcons_1.VideoCameraIcon color={AppColors_1.AppColors.purple}size={16}/>
1889
493
  </react_native_1.View>
1890
- <react_native_1.View style={{ flex: 1 }}>
1891
- <react_native_1.Text style={{
1892
- fontFamily: AppFonts_1.AppFonts.interBold,
1893
- fontSize: 14,
1894
- lineHeight: 18,
1895
- color: AppColors_1.AppColors.primaryBlack,
1896
- }}>
1897
- {t('settings.media.videoCardTitle', 'Video Recording & GIF Conversion')}
494
+ <react_native_1.View style={{flex:1}}>
495
+ <react_native_1.Text style={{fontFamily:AppFonts_1.AppFonts.interBold,fontSize:14,lineHeight:18,color:AppColors_1.AppColors.primaryBlack}}>
496
+ {o("settings.media.videoCardTitle","Video Recording & GIF Conversion")}
1898
497
  </react_native_1.Text>
1899
- <react_native_1.Text style={{
1900
- fontFamily: AppFonts_1.AppFonts.interRegular,
1901
- fontSize: 11,
1902
- lineHeight: 15,
1903
- color: AppColors_1.AppColors.grayText,
1904
- marginTop: 1,
1905
- }}>
1906
- {t('settings.media.videoCardDesc', 'ReplayKit hardware encoding, frame capture fallback and GIF generation')}
498
+ <react_native_1.Text style={{fontFamily:AppFonts_1.AppFonts.interRegular,fontSize:11,lineHeight:15,color:AppColors_1.AppColors.grayText,marginTop:1}}>
499
+ {o("settings.media.videoCardDesc","ReplayKit hardware encoding, frame capture fallback and GIF generation")}
1907
500
  </react_native_1.Text>
1908
501
  </react_native_1.View>
1909
502
  </react_native_1.View>
1910
503
 
1911
- {renderSettingRow({
1912
- icon: <NetworkIcons_1.MicrophoneIcon color={AppColors_1.AppColors.purple} size={16}/>,
1913
- label: t('settings.media.audioMode', 'Audio Source'),
1914
- description: t('settings.media.audioModeDesc', 'Record video with muted, app audio, or microphone commentary'),
1915
- right: (<react_native_1.View style={{ flexDirection: 'row', gap: 4 }}>
1916
- {['Muted', 'App', 'Mic'].map((aud, i) => (<react_native_1.View key={aud} style={{
1917
- paddingHorizontal: 7,
1918
- paddingVertical: 4,
1919
- borderRadius: 6,
1920
- backgroundColor: i === 0
1921
- ? AppColors_1.AppColors.purple
1922
- : `${AppColors_1.AppColors.purple}1A`,
1923
- }}>
1924
- <react_native_1.Text style={{
1925
- fontFamily: AppFonts_1.AppFonts.interBold,
1926
- fontSize: 10,
1927
- color: i === 0 ? AppColors_1.AppColors.white : AppColors_1.AppColors.purple,
1928
- }}>
1929
- {aud}
504
+ {n({icon:<NetworkIcons_1.MicrophoneIcon color={AppColors_1.AppColors.purple}size={16}/>,label:o("settings.media.audioMode","Audio Source"),description:o("settings.media.audioModeDesc","Record video with muted, app audio, or microphone commentary"),right:<react_native_1.View style={{flexDirection:"row",gap:4}}>
505
+ {["Muted","App","Mic"].map((e,i)=><react_native_1.View key={e}style={{paddingHorizontal:7,paddingVertical:4,borderRadius:6,backgroundColor:i===0?AppColors_1.AppColors.purple:`${AppColors_1.AppColors.purple}1A`}}>
506
+ <react_native_1.Text style={{fontFamily:AppFonts_1.AppFonts.interBold,fontSize:10,color:i===0?AppColors_1.AppColors.white:AppColors_1.AppColors.purple}}>
507
+ {e}
1930
508
  </react_native_1.Text>
1931
- </react_native_1.View>))}
1932
- </react_native_1.View>),
1933
- })}
509
+ </react_native_1.View>)}
510
+ </react_native_1.View>})}
1934
511
 
1935
- {renderSettingRow({
1936
- icon: <NetworkIcons_1.FilmIcon color={AppColors_1.AppColors.purple} size={16}/>,
1937
- label: t('settings.media.frameRate', 'Recording Frame Rate (FPS)'),
1938
- description: t('settings.media.frameRateDesc', 'Target video smoothness: 15, 24, 30, or 60 FPS'),
1939
- right: (<react_native_1.View style={{ flexDirection: 'row', gap: 4 }}>
1940
- {['15', '24', '30', '60'].map(fps => (<react_native_1.View key={fps} style={{
1941
- paddingHorizontal: 6,
1942
- paddingVertical: 4,
1943
- borderRadius: 6,
1944
- backgroundColor: fps === '24'
1945
- ? AppColors_1.AppColors.purple
1946
- : `${AppColors_1.AppColors.purple}1A`,
1947
- }}>
1948
- <react_native_1.Text style={{
1949
- fontFamily: AppFonts_1.AppFonts.interBold,
1950
- fontSize: 10,
1951
- color: fps === '24' ? AppColors_1.AppColors.white : AppColors_1.AppColors.purple,
1952
- }}>
1953
- {fps}fps
512
+ {n({icon:<NetworkIcons_1.FilmIcon color={AppColors_1.AppColors.purple}size={16}/>,label:o("settings.media.frameRate","Recording Frame Rate (FPS)"),description:o("settings.media.frameRateDesc","Target video smoothness: 15, 24, 30, or 60 FPS"),right:<react_native_1.View style={{flexDirection:"row",gap:4}}>
513
+ {["15","24","30","60"].map(e=><react_native_1.View key={e}style={{paddingHorizontal:6,paddingVertical:4,borderRadius:6,backgroundColor:e==="24"?AppColors_1.AppColors.purple:`${AppColors_1.AppColors.purple}1A`}}>
514
+ <react_native_1.Text style={{fontFamily:AppFonts_1.AppFonts.interBold,fontSize:10,color:e==="24"?AppColors_1.AppColors.white:AppColors_1.AppColors.purple}}>
515
+ {e}fps
1954
516
  </react_native_1.Text>
1955
- </react_native_1.View>))}
1956
- </react_native_1.View>),
1957
- })}
517
+ </react_native_1.View>)}
518
+ </react_native_1.View>})}
1958
519
 
1959
- {renderSettingRow({
1960
- icon: <NetworkIcons_1.GifIcon color={AppColors_1.AppColors.purple} size={16}/>,
1961
- label: t('settings.media.gifAutoOpt', 'Auto GIF Optimization'),
1962
- description: t('settings.media.gifAutoOptDesc', 'Automatic palette reduction and frame skip for lightweight animated GIFs'),
1963
- isLast: true,
1964
- right: (<react_native_1.View style={{
1965
- paddingHorizontal: 8,
1966
- paddingVertical: 4,
1967
- borderRadius: 6,
1968
- backgroundColor: `${AppColors_1.AppColors.emerald500}26`,
1969
- }}>
1970
- <react_native_1.Text style={{
1971
- fontFamily: AppFonts_1.AppFonts.interBold,
1972
- fontSize: 10,
1973
- color: AppColors_1.AppColors.emerald500,
1974
- }}>
520
+ {n({icon:<NetworkIcons_1.GifIcon color={AppColors_1.AppColors.purple}size={16}/>,label:o("settings.media.gifAutoOpt","Auto GIF Optimization"),description:o("settings.media.gifAutoOptDesc","Automatic palette reduction and frame skip for lightweight animated GIFs"),isLast:!0,right:<react_native_1.View style={{paddingHorizontal:8,paddingVertical:4,borderRadius:6,backgroundColor:`${AppColors_1.AppColors.emerald500}26`}}>
521
+ <react_native_1.Text style={{fontFamily:AppFonts_1.AppFonts.interBold,fontSize:10,color:AppColors_1.AppColors.emerald500}}>
1975
522
  ON
1976
523
  </react_native_1.Text>
1977
- </react_native_1.View>),
1978
- })}
1979
- </react_native_1.View>
1980
-
1981
-
1982
- <react_native_1.View style={{
1983
- backgroundColor: AppColors_1.AppColors.primaryLight,
1984
- borderRadius: 14,
1985
- borderWidth: 1,
1986
- borderColor: AppColors_1.AppColors.grayBorderSecondary,
1987
- padding: 16,
1988
- }}>
1989
- {renderSettingRow({
1990
- icon: <NetworkIcons_1.TrashIcon color={AppColors_1.AppColors.errorColor} size={16}/>,
1991
- label: t('settings.media.purgeAll', 'Purge Captured Media Cache'),
1992
- description: t('settings.media.purgeAllDesc', 'Delete all local screenshots, screen recordings and converted GIFs'),
1993
- isLast: true,
1994
- onPress: () => {
1995
- react_native_1.Alert.alert(t('settings.media.purgeConfirmTitle', 'Purge Media Storage?'), t('settings.media.purgeConfirmMessage', 'This will permanently delete all captured screenshots and videos from disk.'), [
1996
- { text: t('common.cancel', 'Cancel'), style: 'cancel' },
1997
- {
1998
- text: t('settings.media.purgeCacheBtn', 'Purge All'),
1999
- style: 'destructive',
2000
- onPress: async () => {
2001
- await capture_1.ScreenCapture.clearAllMedia();
2002
- (0, toast_1.showToast)(t('settings.media.purgedSuccess', 'Media cache cleared successfully'));
2003
- },
2004
- },
2005
- ]);
2006
- },
2007
- right: (<react_native_1.View style={{
2008
- paddingHorizontal: 12,
2009
- paddingVertical: 6,
2010
- borderRadius: 8,
2011
- backgroundColor: `${AppColors_1.AppColors.errorColor}14`,
2012
- borderWidth: 1,
2013
- borderColor: `${AppColors_1.AppColors.errorColor}33`,
2014
- }}>
2015
- <react_native_1.Text style={{
2016
- fontFamily: AppFonts_1.AppFonts.interBold,
2017
- fontSize: 11,
2018
- lineHeight: 14,
2019
- color: AppColors_1.AppColors.errorColor,
2020
- }}>
2021
- {t('settings.media.purgeCacheBtn', 'Purge All')}
2022
- </react_native_1.Text>
2023
- </react_native_1.View>),
2024
- })}
2025
- </react_native_1.View>
2026
- </react_native_1.View>)}
2027
- {settingsActiveSubTab === 'about' && (<react_native_1.View style={{ gap: 14 }}>
2028
-
2029
- <react_native_1.View style={{
2030
- backgroundColor: AppColors_1.AppColors.primaryLight,
2031
- borderRadius: 14,
2032
- borderWidth: 1,
2033
- borderColor: AppColors_1.AppColors.grayBorderSecondary,
2034
- padding: 16,
2035
- gap: 12,
2036
- }}>
2037
- <react_native_1.View style={{
2038
- flexDirection: 'row',
2039
- alignItems: 'center',
2040
- justifyContent: 'space-between',
2041
- }}>
2042
- <react_native_1.View style={{
2043
- flexDirection: 'row',
2044
- alignItems: 'center',
2045
- gap: 12,
2046
- flex: 1,
2047
- }}>
2048
- <react_native_1.View style={{
2049
- width: 44,
2050
- height: 44,
2051
- borderRadius: 12,
2052
- backgroundColor: `${AppColors_1.AppColors.purple}1A`,
2053
- alignItems: 'center',
2054
- justifyContent: 'center',
2055
- borderWidth: 1,
2056
- borderColor: `${AppColors_1.AppColors.purple}33`,
2057
- }}>
2058
- <NetworkIcons_1.PackageIcon color={AppColors_1.AppColors.purple} size={22}/>
2059
- </react_native_1.View>
2060
- <react_native_1.View style={{ flex: 1 }}>
2061
- <react_native_1.View style={{
2062
- flexDirection: 'row',
2063
- alignItems: 'center',
2064
- gap: 8,
2065
- flexWrap: 'wrap',
2066
- }}>
2067
- <react_native_1.Text style={{
2068
- fontFamily: AppFonts_1.AppFonts.interBold,
2069
- fontSize: 15,
2070
- lineHeight: 20,
2071
- color: AppColors_1.AppColors.primaryBlack,
2072
- }}>
2073
- In-App Inspector
2074
- </react_native_1.Text>
2075
- <react_native_1.View style={{
2076
- backgroundColor: `${AppColors_1.AppColors.purple}18`,
2077
- paddingHorizontal: 7,
2078
- paddingVertical: 2,
2079
- borderRadius: 6,
2080
- borderWidth: 1,
2081
- borderColor: `${AppColors_1.AppColors.purple}33`,
2082
- }}>
2083
- <react_native_1.Text style={{
2084
- fontFamily: AppFonts_1.AppFonts.interBold,
2085
- fontSize: 10,
2086
- color: AppColors_1.AppColors.purple,
2087
- }}>
2088
- v{constants_1.LIB_VERSION}
2089
- </react_native_1.Text>
2090
- </react_native_1.View>
2091
- {updateAvailable ? (<react_native_1.View style={{
2092
- flexDirection: 'row',
2093
- alignItems: 'center',
2094
- gap: 3,
2095
- backgroundColor: '#F59E0B20',
2096
- paddingHorizontal: 6,
2097
- paddingVertical: 2,
2098
- borderRadius: 6,
2099
- borderWidth: 1,
2100
- borderColor: '#F59E0B60',
2101
- }}>
2102
- <react_native_1.Text style={{
2103
- fontFamily: AppFonts_1.AppFonts.interBold,
2104
- fontSize: 9.5,
2105
- color: '#D97706',
2106
- }}>
2107
- v{latestNpmVersion} Available
2108
- </react_native_1.Text>
2109
- <NetworkIcons_1.BoltIcon size={9} color="#D97706"/>
2110
- </react_native_1.View>) : (<react_native_1.View style={{
2111
- backgroundColor: `${AppColors_1.AppColors.emerald500}20`,
2112
- paddingHorizontal: 6,
2113
- paddingVertical: 2,
2114
- borderRadius: 6,
2115
- borderWidth: 1,
2116
- borderColor: `${AppColors_1.AppColors.emerald500}50`,
2117
- }}>
2118
- <react_native_1.Text style={{
2119
- fontFamily: AppFonts_1.AppFonts.interBold,
2120
- fontSize: 9.5,
2121
- color: AppColors_1.AppColors.emerald600,
2122
- }}>
2123
- Up to date
2124
- </react_native_1.Text>
2125
- </react_native_1.View>)}
2126
- </react_native_1.View>
2127
- <react_native_1.Text style={{
2128
- fontFamily: AppFonts_1.AppFonts.interRegular,
2129
- fontSize: 11,
2130
- lineHeight: 15,
2131
- color: AppColors_1.AppColors.grayText,
2132
- marginTop: 2,
2133
- }}>
2134
- react-native-inapp-inspector
2135
- </react_native_1.Text>
2136
- </react_native_1.View>
2137
- </react_native_1.View>
2138
- </react_native_1.View>
2139
-
2140
- <react_native_1.Text style={{
2141
- fontFamily: AppFonts_1.AppFonts.interRegular,
2142
- fontSize: 11.5,
2143
- lineHeight: 16,
2144
- color: AppColors_1.AppColors.grayText,
2145
- }}>
2146
- High-performance in-app debugging, network logging, console
2147
- inspection, performance profiling, storage viewer & telemetry
2148
- diagnostics for React Native.
2149
- </react_native_1.Text>
2150
-
2151
- {updateAvailable && (<TouchableScale_1.default onPress={() => {
2152
- (0, helpers_1.copyToClipboard)('npm install react-native-inapp-inspector@latest', 'Install Command');
2153
- (0, toast_1.showToast)('Copied npm upgrade command!');
2154
- }} style={{
2155
- backgroundColor: AppColors_1.AppColors.purple,
2156
- paddingVertical: 8,
2157
- paddingHorizontal: 12,
2158
- borderRadius: 8,
2159
- flexDirection: 'row',
2160
- alignItems: 'center',
2161
- justifyContent: 'center',
2162
- gap: 6,
2163
- }}>
2164
- <NetworkIcons_1.BoltIcon size={12} color={AppColors_1.AppColors.white}/>
2165
- <react_native_1.Text style={{
2166
- fontFamily: AppFonts_1.AppFonts.interBold,
2167
- fontSize: 12,
2168
- color: AppColors_1.AppColors.white,
2169
- }}>
2170
- Copy Upgrade Command (v{latestNpmVersion})
2171
- </react_native_1.Text>
2172
- </TouchableScale_1.default>)}
2173
- </react_native_1.View>
2174
-
2175
-
2176
- <react_native_1.View style={{
2177
- flexDirection: 'row',
2178
- flexWrap: 'wrap',
2179
- gap: 8,
2180
- }}>
2181
- <TouchableScale_1.default onPress={() => {
2182
- react_native_1.Linking.openURL('https://github.com/vengatmacuser/react-native-inapp-inspector').catch(() => { });
2183
- }} style={{
2184
- flex: 1,
2185
- minWidth: '47%',
2186
- backgroundColor: `${AppColors_1.AppColors.purple}0F`,
2187
- borderRadius: 12,
2188
- borderWidth: 1,
2189
- borderColor: `${AppColors_1.AppColors.purple}30`,
2190
- paddingVertical: 10,
2191
- paddingHorizontal: 12,
2192
- flexDirection: 'row',
2193
- alignItems: 'center',
2194
- gap: 8,
2195
- }}>
2196
- <NetworkIcons_1.GitHubIcon color={AppColors_1.AppColors.purple} size={18}/>
2197
- <react_native_1.View style={{ flex: 1 }}>
2198
- <react_native_1.Text style={{
2199
- fontFamily: AppFonts_1.AppFonts.interBold,
2200
- fontSize: 11.5,
2201
- color: AppColors_1.AppColors.primaryBlack,
2202
- }}>
2203
- ⭐ Star on GitHub
2204
- </react_native_1.Text>
2205
- <react_native_1.Text style={{
2206
- fontFamily: AppFonts_1.AppFonts.interRegular,
2207
- fontSize: 9.5,
2208
- color: AppColors_1.AppColors.grayText,
2209
- }}>
2210
- Support open source
2211
- </react_native_1.Text>
2212
- </react_native_1.View>
2213
- </TouchableScale_1.default>
2214
-
2215
- <TouchableScale_1.default onPress={() => {
2216
- react_native_1.Linking.openURL('https://www.npmjs.com/package/react-native-inapp-inspector').catch(() => { });
2217
- }} style={{
2218
- flex: 1,
2219
- minWidth: '47%',
2220
- backgroundColor: AppColors_1.AppColors.primaryLight,
2221
- borderRadius: 12,
2222
- borderWidth: 1,
2223
- borderColor: AppColors_1.AppColors.grayBorderSecondary,
2224
- paddingVertical: 10,
2225
- paddingHorizontal: 12,
2226
- flexDirection: 'row',
2227
- alignItems: 'center',
2228
- gap: 8,
2229
- }}>
2230
- <NetworkIcons_1.NpmIcon color="#CB3837" size={18}/>
2231
- <react_native_1.View style={{ flex: 1 }}>
2232
- <react_native_1.Text style={{
2233
- fontFamily: AppFonts_1.AppFonts.interBold,
2234
- fontSize: 11.5,
2235
- color: AppColors_1.AppColors.primaryBlack,
2236
- }}>
2237
- NPM Registry
2238
- </react_native_1.Text>
2239
- <react_native_1.Text style={{
2240
- fontFamily: AppFonts_1.AppFonts.interRegular,
2241
- fontSize: 9.5,
2242
- color: AppColors_1.AppColors.grayText,
2243
- }}>
2244
- Package repository
2245
- </react_native_1.Text>
2246
- </react_native_1.View>
2247
- </TouchableScale_1.default>
2248
-
2249
- <TouchableScale_1.default onPress={() => {
2250
- react_native_1.Linking.openURL('https://github.com/vengatmacuser/react-native-inapp-inspector#readme').catch(() => { });
2251
- }} style={{
2252
- flex: 1,
2253
- minWidth: '47%',
2254
- backgroundColor: AppColors_1.AppColors.primaryLight,
2255
- borderRadius: 12,
2256
- borderWidth: 1,
2257
- borderColor: AppColors_1.AppColors.grayBorderSecondary,
2258
- paddingVertical: 10,
2259
- paddingHorizontal: 12,
2260
- flexDirection: 'row',
2261
- alignItems: 'center',
2262
- gap: 8,
2263
- }}>
2264
- <react_native_1.Text style={{ fontSize: 16 }}>📖</react_native_1.Text>
2265
- <react_native_1.View style={{ flex: 1 }}>
2266
- <react_native_1.Text style={{
2267
- fontFamily: AppFonts_1.AppFonts.interBold,
2268
- fontSize: 11.5,
2269
- color: AppColors_1.AppColors.primaryBlack,
2270
- }}>
2271
- Documentation
2272
- </react_native_1.Text>
2273
- <react_native_1.Text style={{
2274
- fontFamily: AppFonts_1.AppFonts.interRegular,
2275
- fontSize: 9.5,
2276
- color: AppColors_1.AppColors.grayText,
2277
- }}>
2278
- Setup & API guide
2279
- </react_native_1.Text>
2280
- </react_native_1.View>
2281
- </TouchableScale_1.default>
2282
-
2283
- <TouchableScale_1.default onPress={() => {
2284
- react_native_1.Linking.openURL('https://github.com/vengatmacuser/react-native-inapp-inspector/issues').catch(() => { });
2285
- }} style={{
2286
- flex: 1,
2287
- minWidth: '47%',
2288
- backgroundColor: AppColors_1.AppColors.primaryLight,
2289
- borderRadius: 12,
2290
- borderWidth: 1,
2291
- borderColor: AppColors_1.AppColors.grayBorderSecondary,
2292
- paddingVertical: 10,
2293
- paddingHorizontal: 12,
2294
- flexDirection: 'row',
2295
- alignItems: 'center',
2296
- gap: 8,
2297
- }}>
2298
- <react_native_1.Text style={{ fontSize: 16 }}>🐞</react_native_1.Text>
2299
- <react_native_1.View style={{ flex: 1 }}>
2300
- <react_native_1.Text style={{
2301
- fontFamily: AppFonts_1.AppFonts.interBold,
2302
- fontSize: 11.5,
2303
- color: AppColors_1.AppColors.primaryBlack,
2304
- }}>
2305
- Report Issue
2306
- </react_native_1.Text>
2307
- <react_native_1.Text style={{
2308
- fontFamily: AppFonts_1.AppFonts.interRegular,
2309
- fontSize: 9.5,
2310
- color: AppColors_1.AppColors.grayText,
2311
- }}>
2312
- Bugs & feature requests
2313
- </react_native_1.Text>
2314
- </react_native_1.View>
2315
- </TouchableScale_1.default>
2316
-
2317
- <TouchableScale_1.default onPress={() => {
2318
- react_native_1.Linking.openURL('https://github.com/vengatmacuser/react-native-inapp-inspector/releases').catch(() => { });
2319
- }} style={{
2320
- flex: 1,
2321
- minWidth: '47%',
2322
- backgroundColor: AppColors_1.AppColors.primaryLight,
2323
- borderRadius: 12,
2324
- borderWidth: 1,
2325
- borderColor: AppColors_1.AppColors.grayBorderSecondary,
2326
- paddingVertical: 10,
2327
- paddingHorizontal: 12,
2328
- flexDirection: 'row',
2329
- alignItems: 'center',
2330
- gap: 8,
2331
- }}>
2332
- <react_native_1.Text style={{ fontSize: 16 }}>🏷️</react_native_1.Text>
2333
- <react_native_1.View style={{ flex: 1 }}>
2334
- <react_native_1.Text style={{
2335
- fontFamily: AppFonts_1.AppFonts.interBold,
2336
- fontSize: 11.5,
2337
- color: AppColors_1.AppColors.primaryBlack,
2338
- }}>
2339
- Release Notes
2340
- </react_native_1.Text>
2341
- <react_native_1.Text style={{
2342
- fontFamily: AppFonts_1.AppFonts.interRegular,
2343
- fontSize: 9.5,
2344
- color: AppColors_1.AppColors.grayText,
2345
- }}>
2346
- Version changelog
2347
- </react_native_1.Text>
2348
- </react_native_1.View>
2349
- </TouchableScale_1.default>
2350
-
2351
- <TouchableScale_1.default onPress={() => {
2352
- const win = react_native_1.Dimensions.get('window');
2353
- const scr = react_native_1.Dimensions.get('screen');
2354
- const rnVer = react_native_1.Platform.constants?.reactNativeVersion;
2355
- const specsPayload = {
2356
- package: {
2357
- name: 'react-native-inapp-inspector',
2358
- version: `v${constants_1.LIB_VERSION}`,
2359
- latestNpmVersion: latestNpmVersion
2360
- ? `v${latestNpmVersion}`
2361
- : 'Checking...',
2362
- license: 'MIT',
2363
- repository: 'https://github.com/vengatmacuser/react-native-inapp-inspector',
2364
- },
2365
- hostApp: {
2366
- name: (0, helpers_1.getAppName)(),
2367
- bundleId: (0, helpers_1.getBundleIdentifier)(),
2368
- versionAndBuild: (0, helpers_1.getAppVersionAndBuild)().formatted,
2369
- buildVariant: __DEV__
2370
- ? 'Development (Debug)'
2371
- : 'Production (Release)',
2372
- metroConnected: (0, helpers_1.isLocalDebugEnvironment)(),
2373
- },
2374
- runtime: {
2375
- reactNativeVersion: rnVer
2376
- ? `${rnVer.major}.${rnVer.minor}.${rnVer.patch}`
2377
- : '0.74+',
2378
- reactVersion: react_1.default.version,
2379
- jsEngine: Boolean(global?.HermesInternal)
2380
- ? 'Hermes'
2381
- : 'JavaScriptCore (JSC)',
2382
- architecture: Boolean(global?.nativeFabricUIManager)
2383
- ? 'Fabric (New Architecture)'
2384
- : 'Paper (Legacy Bridge)',
2385
- turboModules: Boolean(global?.__turboModuleProxy ||
2386
- global?.TurboModuleRegistry),
2387
- },
2388
- device: {
2389
- platform: react_native_1.Platform.OS,
2390
- osVersion: react_native_1.Platform.Version,
2391
- deviceModel: react_native_1.Platform.constants?.Model || 'Unknown Device',
2392
- windowDimensions: `${Math.round(win.width)}x${Math.round(win.height)} pt`,
2393
- screenDimensions: `${Math.round(scr.width)}x${Math.round(scr.height)} pt`,
2394
- pixelRatio: react_native_1.PixelRatio.get(),
2395
- fontScale: react_native_1.PixelRatio.getFontScale(),
2396
- timezone: Intl.DateTimeFormat().resolvedOptions().timeZone ||
2397
- 'Unknown',
2398
- locale: Intl.DateTimeFormat().resolvedOptions().locale || 'en',
2399
- },
2400
- storageAndCapabilities: {
2401
- storageEngine: (0, settingsStore_1.isPersistentStorageAvailable)()
2402
- ? 'MMKV (Fast Native Storage)'
2403
- : 'In-Memory State',
2404
- hasNativeModule: Boolean(global?.NativeInspectorModule ||
2405
- global?.__IN_APP_INSPECTOR_NATIVE__),
2406
- reduxConnected: (0, reduxLogger_1.isReduxConnected)(),
2407
- analyticsConnected: (0, analyticsLogger_2.isAnalyticsConnected)(),
2408
- },
2409
- };
2410
- (0, helpers_1.copyToClipboard)(JSON.stringify(specsPayload, null, 2), 'Diagnostic Specifications');
2411
- (0, toast_1.showToast)('Copied full diagnostic specs to clipboard!');
2412
- }} style={{
2413
- flex: 1,
2414
- minWidth: '47%',
2415
- backgroundColor: AppColors_1.AppColors.primaryLight,
2416
- borderRadius: 12,
2417
- borderWidth: 1,
2418
- borderColor: AppColors_1.AppColors.grayBorderSecondary,
2419
- paddingVertical: 10,
2420
- paddingHorizontal: 12,
2421
- flexDirection: 'row',
2422
- alignItems: 'center',
2423
- gap: 8,
2424
- }}>
2425
- <NetworkIcons_1.CopyIcon color={AppColors_1.AppColors.purple} size={16}/>
2426
- <react_native_1.View style={{ flex: 1 }}>
2427
- <react_native_1.Text style={{
2428
- fontFamily: AppFonts_1.AppFonts.interBold,
2429
- fontSize: 11.5,
2430
- color: AppColors_1.AppColors.primaryBlack,
2431
- }}>
2432
- Copy Specs JSON
2433
- </react_native_1.Text>
2434
- <react_native_1.Text style={{
2435
- fontFamily: AppFonts_1.AppFonts.interRegular,
2436
- fontSize: 9.5,
2437
- color: AppColors_1.AppColors.grayText,
2438
- }}>
2439
- Diagnostics payload
2440
- </react_native_1.Text>
2441
- </react_native_1.View>
2442
- </TouchableScale_1.default>
2443
- </react_native_1.View>
2444
-
2445
-
2446
- <react_native_1.View style={{
2447
- backgroundColor: AppColors_1.AppColors.primaryLight,
2448
- borderRadius: 14,
2449
- borderWidth: 1,
2450
- borderColor: AppColors_1.AppColors.grayBorderSecondary,
2451
- overflow: 'hidden',
2452
- padding: 14,
2453
- gap: 12,
2454
- }}>
2455
- <react_native_1.Text style={{
2456
- fontFamily: AppFonts_1.AppFonts.interBold,
2457
- fontSize: 11,
2458
- lineHeight: 14,
2459
- color: AppColors_1.AppColors.grayTextWeak,
2460
- letterSpacing: 0.8,
2461
- }}>
2462
- PACKAGE VERSION & UPGRADES
2463
- </react_native_1.Text>
2464
-
2465
- <react_native_1.View style={{
2466
- flexDirection: 'row',
2467
- alignItems: 'center',
2468
- justifyContent: 'space-between',
2469
- }}>
2470
- <react_native_1.View style={{
2471
- flexDirection: 'row',
2472
- alignItems: 'center',
2473
- gap: 10,
2474
- flex: 1,
2475
- marginRight: 8,
2476
- }}>
2477
- <react_native_1.View style={{
2478
- width: 34,
2479
- height: 34,
2480
- borderRadius: 9,
2481
- backgroundColor: '#CB383715',
2482
- alignItems: 'center',
2483
- justifyContent: 'center',
2484
- }}>
2485
- <NetworkIcons_1.NpmIcon color="#CB3837" size={17}/>
2486
- </react_native_1.View>
2487
- <react_native_1.View style={{ flex: 1 }}>
2488
- <react_native_1.View style={{
2489
- flexDirection: 'row',
2490
- alignItems: 'center',
2491
- gap: 6,
2492
- }}>
2493
- <react_native_1.Text style={{
2494
- fontFamily: AppFonts_1.AppFonts.interBold,
2495
- fontSize: 14,
2496
- lineHeight: 18,
2497
- color: AppColors_1.AppColors.primaryBlack,
2498
- }}>
2499
- v{constants_1.LIB_VERSION}
2500
- </react_native_1.Text>
2501
- {updateAvailable ? (<react_native_1.View style={{
2502
- flexDirection: 'row',
2503
- alignItems: 'center',
2504
- gap: 3,
2505
- backgroundColor: '#F59E0B20',
2506
- paddingHorizontal: 6,
2507
- paddingVertical: 1.5,
2508
- borderRadius: 5,
2509
- borderWidth: 1,
2510
- borderColor: '#F59E0B60',
2511
- }}>
2512
- <react_native_1.Text style={{
2513
- fontFamily: AppFonts_1.AppFonts.interBold,
2514
- fontSize: 9.5,
2515
- color: '#D97706',
2516
- }}>
2517
- v{latestNpmVersion} Available
2518
- </react_native_1.Text>
2519
- <NetworkIcons_1.BoltIcon size={9} color="#D97706"/>
2520
- </react_native_1.View>) : (<react_native_1.View style={{
2521
- backgroundColor: `${AppColors_1.AppColors.emerald500}20`,
2522
- paddingHorizontal: 6,
2523
- paddingVertical: 1.5,
2524
- borderRadius: 5,
2525
- borderWidth: 1,
2526
- borderColor: `${AppColors_1.AppColors.emerald500}50`,
2527
- }}>
2528
- <react_native_1.Text style={{
2529
- fontFamily: AppFonts_1.AppFonts.interBold,
2530
- fontSize: 9.5,
2531
- color: AppColors_1.AppColors.emerald600,
2532
- }}>
2533
- Up to date
2534
- </react_native_1.Text>
2535
- </react_native_1.View>)}
2536
- </react_native_1.View>
2537
- <react_native_1.Text style={{
2538
- fontFamily: AppFonts_1.AppFonts.interRegular,
2539
- fontSize: 11,
2540
- lineHeight: 15,
2541
- color: AppColors_1.AppColors.grayText,
2542
- marginTop: 1,
2543
- }}>
2544
- {updateAvailable
2545
- ? `A newer release (v${latestNpmVersion}) is available on npm registry.`
2546
- : 'You are running the latest version from npm registry.'}
2547
- </react_native_1.Text>
2548
- </react_native_1.View>
2549
- </react_native_1.View>
2550
-
2551
- <TouchableScale_1.default onPress={() => {
2552
- (0, helpers_1.copyToClipboard)('npm install react-native-inapp-inspector@latest', 'Install Command');
2553
- (0, toast_1.showToast)('Copied npm install command!');
2554
- }} style={{
2555
- backgroundColor: updateAvailable
2556
- ? AppColors_1.AppColors.purple
2557
- : `${AppColors_1.AppColors.purple}18`,
2558
- paddingVertical: 7,
2559
- paddingHorizontal: 11,
2560
- borderRadius: 8,
2561
- flexDirection: 'row',
2562
- alignItems: 'center',
2563
- gap: 5,
2564
- }}>
2565
- <NetworkIcons_1.CopyIcon color={updateAvailable ? AppColors_1.AppColors.white : AppColors_1.AppColors.purple} size={12}/>
2566
- <react_native_1.Text style={{
2567
- fontFamily: AppFonts_1.AppFonts.interBold,
2568
- fontSize: 11,
2569
- color: updateAvailable
2570
- ? AppColors_1.AppColors.white
2571
- : AppColors_1.AppColors.purple,
2572
- }}>
2573
- {updateAvailable ? 'Copy Upgrade' : 'Copy Install'}
2574
- </react_native_1.Text>
2575
- </TouchableScale_1.default>
2576
- </react_native_1.View>
524
+ </react_native_1.View>})}
2577
525
  </react_native_1.View>
2578
526
 
2579
527
 
2580
- <react_native_1.View style={{
2581
- backgroundColor: AppColors_1.AppColors.primaryLight,
2582
- borderRadius: 14,
2583
- borderWidth: 1,
2584
- borderColor: AppColors_1.AppColors.grayBorderSecondary,
2585
- padding: 14,
2586
- gap: 10,
2587
- }}>
2588
- <react_native_1.Text style={{
2589
- fontFamily: AppFonts_1.AppFonts.interBold,
2590
- fontSize: 11,
2591
- lineHeight: 14,
2592
- color: AppColors_1.AppColors.grayTextWeak,
2593
- letterSpacing: 0.8,
2594
- }}>
2595
- HOST APPLICATION & BUILD
2596
- </react_native_1.Text>
2597
-
2598
- <react_native_1.View style={{ gap: 8 }}>
2599
- <react_native_1.View style={{
2600
- flexDirection: 'row',
2601
- justifyContent: 'space-between',
2602
- alignItems: 'center',
2603
- }}>
2604
- <react_native_1.Text style={{
2605
- fontFamily: AppFonts_1.AppFonts.interRegular,
2606
- fontSize: 11.5,
2607
- color: AppColors_1.AppColors.grayText,
2608
- }}>
2609
- Application Name
2610
- </react_native_1.Text>
2611
- <react_native_1.Text style={{
2612
- fontFamily: AppFonts_1.AppFonts.interBold,
2613
- fontSize: 11.5,
2614
- color: AppColors_1.AppColors.primaryBlack,
2615
- }}>
2616
- {(0, helpers_1.getAppName)()}
2617
- </react_native_1.Text>
2618
- </react_native_1.View>
2619
-
2620
- <react_native_1.View style={{
2621
- flexDirection: 'row',
2622
- justifyContent: 'space-between',
2623
- alignItems: 'center',
2624
- }}>
2625
- <react_native_1.Text style={{
2626
- fontFamily: AppFonts_1.AppFonts.interRegular,
2627
- fontSize: 11.5,
2628
- color: AppColors_1.AppColors.grayText,
2629
- }}>
2630
- Bundle ID / Package
2631
- </react_native_1.Text>
2632
- <react_native_1.Text style={{
2633
- fontFamily: AppFonts_1.AppFonts.interRegular,
2634
- fontSize: 11,
2635
- color: AppColors_1.AppColors.primaryBlack,
2636
- }}>
2637
- {(0, helpers_1.getBundleIdentifier)()}
2638
- </react_native_1.Text>
2639
- </react_native_1.View>
2640
-
2641
- <react_native_1.View style={{
2642
- flexDirection: 'row',
2643
- justifyContent: 'space-between',
2644
- alignItems: 'center',
2645
- }}>
2646
- <react_native_1.Text style={{
2647
- fontFamily: AppFonts_1.AppFonts.interRegular,
2648
- fontSize: 11.5,
2649
- color: AppColors_1.AppColors.grayText,
2650
- }}>
2651
- Version & Build Number
2652
- </react_native_1.Text>
2653
- <react_native_1.Text style={{
2654
- fontFamily: AppFonts_1.AppFonts.interBold,
2655
- fontSize: 11.5,
2656
- color: AppColors_1.AppColors.primaryBlack,
2657
- }}>
2658
- {(0, helpers_1.getAppVersionAndBuild)().formatted}
2659
- </react_native_1.Text>
2660
- </react_native_1.View>
2661
-
2662
- <react_native_1.View style={{
2663
- flexDirection: 'row',
2664
- justifyContent: 'space-between',
2665
- alignItems: 'center',
2666
- }}>
2667
- <react_native_1.Text style={{
2668
- fontFamily: AppFonts_1.AppFonts.interRegular,
2669
- fontSize: 11.5,
2670
- color: AppColors_1.AppColors.grayText,
2671
- }}>
2672
- Build Variant
2673
- </react_native_1.Text>
2674
- <react_native_1.View style={{
2675
- backgroundColor: __DEV__
2676
- ? `${AppColors_1.AppColors.amber500}20`
2677
- : `${AppColors_1.AppColors.emerald500}20`,
2678
- paddingHorizontal: 6,
2679
- paddingVertical: 1.5,
2680
- borderRadius: 5,
2681
- borderWidth: 1,
2682
- borderColor: __DEV__
2683
- ? `${AppColors_1.AppColors.amber500}50`
2684
- : `${AppColors_1.AppColors.emerald500}50`,
2685
- }}>
2686
- <react_native_1.Text style={{
2687
- fontFamily: AppFonts_1.AppFonts.interBold,
2688
- fontSize: 10,
2689
- color: __DEV__
2690
- ? AppColors_1.AppColors.amber500
2691
- : AppColors_1.AppColors.emerald600,
2692
- }}>
2693
- {__DEV__ ? 'Development (Debug)' : 'Production (Release)'}
528
+ <react_native_1.View style={{backgroundColor:AppColors_1.AppColors.primaryLight,borderRadius:14,borderWidth:1,borderColor:AppColors_1.AppColors.grayBorderSecondary,padding:16}}>
529
+ {n({icon:<NetworkIcons_1.TrashIcon color={AppColors_1.AppColors.errorColor}size={16}/>,label:o("settings.media.purgeAll","Purge Captured Media Cache"),description:o("settings.media.purgeAllDesc","Delete all local screenshots, screen recordings and converted GIFs"),isLast:!0,onPress:()=>{react_native_1.Alert.alert(o("settings.media.purgeConfirmTitle","Purge Media Storage?"),o("settings.media.purgeConfirmMessage","This will permanently delete all captured screenshots and videos from disk."),[{text:o("common.cancel","Cancel"),style:"cancel"},{text:o("settings.media.purgeCacheBtn","Purge All"),style:"destructive",onPress:async()=>{await capture_1.ScreenCapture.clearAllMedia(),(0,toast_1.showToast)(o("settings.media.purgedSuccess","Media cache cleared successfully"))}}])},right:<react_native_1.View style={{paddingHorizontal:12,paddingVertical:6,borderRadius:8,backgroundColor:`${AppColors_1.AppColors.errorColor}14`,borderWidth:1,borderColor:`${AppColors_1.AppColors.errorColor}33`}}>
530
+ <react_native_1.Text style={{fontFamily:AppFonts_1.AppFonts.interBold,fontSize:11,lineHeight:14,color:AppColors_1.AppColors.errorColor}}>
531
+ {o("settings.media.purgeCacheBtn","Purge All")}
2694
532
  </react_native_1.Text>
2695
- </react_native_1.View>
2696
- </react_native_1.View>
2697
-
2698
- <react_native_1.View style={{
2699
- flexDirection: 'row',
2700
- justifyContent: 'space-between',
2701
- alignItems: 'center',
2702
- }}>
2703
- <react_native_1.Text style={{
2704
- fontFamily: AppFonts_1.AppFonts.interRegular,
2705
- fontSize: 11.5,
2706
- color: AppColors_1.AppColors.grayText,
2707
- }}>
2708
- Metro Bundler Connection
2709
- </react_native_1.Text>
2710
- <react_native_1.Text style={{
2711
- fontFamily: AppFonts_1.AppFonts.interBold,
2712
- fontSize: 11.5,
2713
- color: (0, helpers_1.isLocalDebugEnvironment)()
2714
- ? AppColors_1.AppColors.emerald600
2715
- : AppColors_1.AppColors.grayText,
2716
- }}>
2717
- {(0, helpers_1.isLocalDebugEnvironment)()
2718
- ? 'Connected (Hot Reload Active)'
2719
- : 'Offline / Standalone'}
2720
- </react_native_1.Text>
2721
- </react_native_1.View>
2722
- </react_native_1.View>
2723
- </react_native_1.View>
2724
-
2725
-
2726
- <react_native_1.View style={{
2727
- backgroundColor: AppColors_1.AppColors.primaryLight,
2728
- borderRadius: 14,
2729
- borderWidth: 1,
2730
- borderColor: AppColors_1.AppColors.grayBorderSecondary,
2731
- padding: 14,
2732
- gap: 10,
2733
- }}>
2734
- <react_native_1.Text style={{
2735
- fontFamily: AppFonts_1.AppFonts.interBold,
2736
- fontSize: 11,
2737
- lineHeight: 14,
2738
- color: AppColors_1.AppColors.grayTextWeak,
2739
- letterSpacing: 0.8,
2740
- }}>
2741
- FRAMEWORK & RUNTIME ENGINE
2742
- </react_native_1.Text>
2743
-
2744
- <react_native_1.View style={{ gap: 8 }}>
2745
- <react_native_1.View style={{
2746
- flexDirection: 'row',
2747
- justifyContent: 'space-between',
2748
- alignItems: 'center',
2749
- }}>
2750
- <react_native_1.Text style={{
2751
- fontFamily: AppFonts_1.AppFonts.interRegular,
2752
- fontSize: 11.5,
2753
- color: AppColors_1.AppColors.grayText,
2754
- }}>
2755
- React Native Version
2756
- </react_native_1.Text>
2757
- <react_native_1.Text style={{
2758
- fontFamily: AppFonts_1.AppFonts.interBold,
2759
- fontSize: 11.5,
2760
- color: AppColors_1.AppColors.primaryBlack,
2761
- }}>
2762
- v
2763
- {react_native_1.Platform.constants?.reactNativeVersion?.major !=
2764
- null
2765
- ? `${react_native_1.Platform.constants.reactNativeVersion.major}.${react_native_1.Platform.constants.reactNativeVersion.minor}.${react_native_1.Platform.constants.reactNativeVersion.patch}`
2766
- : '0.74+'}
2767
- </react_native_1.Text>
2768
- </react_native_1.View>
2769
-
2770
- <react_native_1.View style={{
2771
- flexDirection: 'row',
2772
- justifyContent: 'space-between',
2773
- alignItems: 'center',
2774
- }}>
2775
- <react_native_1.Text style={{
2776
- fontFamily: AppFonts_1.AppFonts.interRegular,
2777
- fontSize: 11.5,
2778
- color: AppColors_1.AppColors.grayText,
2779
- }}>
2780
- React Core Version
2781
- </react_native_1.Text>
2782
- <react_native_1.Text style={{
2783
- fontFamily: AppFonts_1.AppFonts.interBold,
2784
- fontSize: 11.5,
2785
- color: AppColors_1.AppColors.primaryBlack,
2786
- }}>
2787
- v{react_1.default.version}
2788
- </react_native_1.Text>
2789
- </react_native_1.View>
2790
-
2791
- <react_native_1.View style={{
2792
- flexDirection: 'row',
2793
- justifyContent: 'space-between',
2794
- alignItems: 'center',
2795
- }}>
2796
- <react_native_1.Text style={{
2797
- fontFamily: AppFonts_1.AppFonts.interRegular,
2798
- fontSize: 11.5,
2799
- color: AppColors_1.AppColors.grayText,
2800
- }}>
2801
- JavaScript Engine
2802
- </react_native_1.Text>
2803
- <react_native_1.View style={{
2804
- backgroundColor: `${AppColors_1.AppColors.purple}15`,
2805
- paddingHorizontal: 6,
2806
- paddingVertical: 1.5,
2807
- borderRadius: 5,
2808
- borderWidth: 1,
2809
- borderColor: `${AppColors_1.AppColors.purple}40`,
2810
- }}>
2811
- <react_native_1.Text style={{
2812
- fontFamily: AppFonts_1.AppFonts.interBold,
2813
- fontSize: 10.5,
2814
- color: AppColors_1.AppColors.purple,
2815
- }}>
2816
- {Boolean(global?.HermesInternal)
2817
- ? 'Hermes Engine (Active)'
2818
- : 'JavaScriptCore (JSC)'}
2819
- </react_native_1.Text>
2820
- </react_native_1.View>
2821
- </react_native_1.View>
2822
-
2823
- <react_native_1.View style={{
2824
- flexDirection: 'row',
2825
- justifyContent: 'space-between',
2826
- alignItems: 'center',
2827
- }}>
2828
- <react_native_1.Text style={{
2829
- fontFamily: AppFonts_1.AppFonts.interRegular,
2830
- fontSize: 11.5,
2831
- color: AppColors_1.AppColors.grayText,
2832
- }}>
2833
- Rendering Architecture
2834
- </react_native_1.Text>
2835
- <react_native_1.Text style={{
2836
- fontFamily: AppFonts_1.AppFonts.interBold,
2837
- fontSize: 11.5,
2838
- color: AppColors_1.AppColors.primaryBlack,
2839
- }}>
2840
- {Boolean(global?.nativeFabricUIManager)
2841
- ? 'Fabric (New Architecture)'
2842
- : 'Paper (Legacy Bridge)'}
2843
- </react_native_1.Text>
2844
- </react_native_1.View>
2845
-
2846
- <react_native_1.View style={{
2847
- flexDirection: 'row',
2848
- justifyContent: 'space-between',
2849
- alignItems: 'center',
2850
- }}>
2851
- <react_native_1.Text style={{
2852
- fontFamily: AppFonts_1.AppFonts.interRegular,
2853
- fontSize: 11.5,
2854
- color: AppColors_1.AppColors.grayText,
2855
- }}>
2856
- TurboModules Support
2857
- </react_native_1.Text>
2858
- <react_native_1.Text style={{
2859
- fontFamily: AppFonts_1.AppFonts.interBold,
2860
- fontSize: 11.5,
2861
- color: AppColors_1.AppColors.primaryBlack,
2862
- }}>
2863
- {Boolean(global?.__turboModuleProxy ||
2864
- global?.TurboModuleRegistry)
2865
- ? 'Enabled (C++ JSI)'
2866
- : 'Standard Bridge'}
2867
- </react_native_1.Text>
2868
- </react_native_1.View>
2869
- </react_native_1.View>
2870
- </react_native_1.View>
2871
-
2872
-
2873
- <react_native_1.View style={{
2874
- backgroundColor: AppColors_1.AppColors.primaryLight,
2875
- borderRadius: 14,
2876
- borderWidth: 1,
2877
- borderColor: AppColors_1.AppColors.grayBorderSecondary,
2878
- padding: 14,
2879
- gap: 10,
2880
- }}>
2881
- <react_native_1.Text style={{
2882
- fontFamily: AppFonts_1.AppFonts.interBold,
2883
- fontSize: 11,
2884
- lineHeight: 14,
2885
- color: AppColors_1.AppColors.grayTextWeak,
2886
- letterSpacing: 0.8,
2887
- }}>
2888
- DEVICE & DISPLAY METRICS
2889
- </react_native_1.Text>
2890
-
2891
- <react_native_1.View style={{ gap: 8 }}>
2892
- <react_native_1.View style={{
2893
- flexDirection: 'row',
2894
- justifyContent: 'space-between',
2895
- alignItems: 'center',
2896
- }}>
2897
- <react_native_1.Text style={{
2898
- fontFamily: AppFonts_1.AppFonts.interRegular,
2899
- fontSize: 11.5,
2900
- color: AppColors_1.AppColors.grayText,
2901
- }}>
2902
- Operating System
2903
- </react_native_1.Text>
2904
- <react_native_1.Text style={{
2905
- fontFamily: AppFonts_1.AppFonts.interBold,
2906
- fontSize: 11.5,
2907
- color: AppColors_1.AppColors.primaryBlack,
2908
- }}>
2909
- {react_native_1.Platform.OS === 'ios'
2910
- ? 'Apple iOS'
2911
- : react_native_1.Platform.OS === 'android'
2912
- ? 'Google Android'
2913
- : react_native_1.Platform.OS}{' '}
2914
- {react_native_1.Platform.Version}
2915
- </react_native_1.Text>
2916
- </react_native_1.View>
2917
-
2918
- <react_native_1.View style={{
2919
- flexDirection: 'row',
2920
- justifyContent: 'space-between',
2921
- alignItems: 'center',
2922
- }}>
2923
- <react_native_1.Text style={{
2924
- fontFamily: AppFonts_1.AppFonts.interRegular,
2925
- fontSize: 11.5,
2926
- color: AppColors_1.AppColors.grayText,
2927
- }}>
2928
- Device Hardware Model
2929
- </react_native_1.Text>
2930
- <react_native_1.Text style={{
2931
- fontFamily: AppFonts_1.AppFonts.interBold,
2932
- fontSize: 11.5,
2933
- color: AppColors_1.AppColors.primaryBlack,
2934
- }}>
2935
- {react_native_1.Platform.constants?.Model ||
2936
- (react_native_1.Platform.OS === 'ios'
2937
- ? 'Apple Device'
2938
- : 'Android Device')}
2939
- </react_native_1.Text>
2940
- </react_native_1.View>
2941
-
2942
- <react_native_1.View style={{
2943
- flexDirection: 'row',
2944
- justifyContent: 'space-between',
2945
- alignItems: 'center',
2946
- }}>
2947
- <react_native_1.Text style={{
2948
- fontFamily: AppFonts_1.AppFonts.interRegular,
2949
- fontSize: 11.5,
2950
- color: AppColors_1.AppColors.grayText,
2951
- }}>
2952
- Window Viewport (Points)
2953
- </react_native_1.Text>
2954
- <react_native_1.Text style={{
2955
- fontFamily: AppFonts_1.AppFonts.interBold,
2956
- fontSize: 11.5,
2957
- color: AppColors_1.AppColors.primaryBlack,
2958
- }}>
2959
- {Math.round(react_native_1.Dimensions.get('window').width)} ×{' '}
2960
- {Math.round(react_native_1.Dimensions.get('window').height)} pt
2961
- </react_native_1.Text>
2962
- </react_native_1.View>
2963
-
2964
- <react_native_1.View style={{
2965
- flexDirection: 'row',
2966
- justifyContent: 'space-between',
2967
- alignItems: 'center',
2968
- }}>
2969
- <react_native_1.Text style={{
2970
- fontFamily: AppFonts_1.AppFonts.interRegular,
2971
- fontSize: 11.5,
2972
- color: AppColors_1.AppColors.grayText,
2973
- }}>
2974
- Native Physical Resolution
2975
- </react_native_1.Text>
2976
- <react_native_1.Text style={{
2977
- fontFamily: AppFonts_1.AppFonts.interBold,
2978
- fontSize: 11.5,
2979
- color: AppColors_1.AppColors.primaryBlack,
2980
- }}>
2981
- {Math.round(react_native_1.Dimensions.get('screen').width * react_native_1.PixelRatio.get())}{' '}
2982
- ×{' '}
2983
- {Math.round(react_native_1.Dimensions.get('screen').height * react_native_1.PixelRatio.get())}{' '}
2984
- px
2985
- </react_native_1.Text>
2986
- </react_native_1.View>
2987
-
2988
- <react_native_1.View style={{
2989
- flexDirection: 'row',
2990
- justifyContent: 'space-between',
2991
- alignItems: 'center',
2992
- }}>
2993
- <react_native_1.Text style={{
2994
- fontFamily: AppFonts_1.AppFonts.interRegular,
2995
- fontSize: 11.5,
2996
- color: AppColors_1.AppColors.grayText,
2997
- }}>
2998
- Pixel Density & Font Scale
2999
- </react_native_1.Text>
3000
- <react_native_1.Text style={{
3001
- fontFamily: AppFonts_1.AppFonts.interBold,
3002
- fontSize: 11.5,
3003
- color: AppColors_1.AppColors.primaryBlack,
3004
- }}>
3005
- {react_native_1.PixelRatio.get().toFixed(1)}x (
3006
- {react_native_1.PixelRatio.get() >= 3
3007
- ? '@3x'
3008
- : react_native_1.PixelRatio.get() >= 2
3009
- ? '@2x'
3010
- : '@1x'}
3011
- ) • Font: {react_native_1.PixelRatio.getFontScale().toFixed(2)}x
3012
- </react_native_1.Text>
3013
- </react_native_1.View>
3014
-
3015
- <react_native_1.View style={{
3016
- flexDirection: 'row',
3017
- justifyContent: 'space-between',
3018
- alignItems: 'center',
3019
- }}>
3020
- <react_native_1.Text style={{
3021
- fontFamily: AppFonts_1.AppFonts.interRegular,
3022
- fontSize: 11.5,
3023
- color: AppColors_1.AppColors.grayText,
3024
- }}>
3025
- Timezone & Locale
3026
- </react_native_1.Text>
3027
- <react_native_1.Text style={{
3028
- fontFamily: AppFonts_1.AppFonts.interBold,
3029
- fontSize: 11.5,
3030
- color: AppColors_1.AppColors.primaryBlack,
3031
- }}>
3032
- {Intl.DateTimeFormat().resolvedOptions().timeZone ||
3033
- 'System'}{' '}
3034
- ({Intl.DateTimeFormat().resolvedOptions().locale || 'en'})
3035
- </react_native_1.Text>
3036
- </react_native_1.View>
3037
- </react_native_1.View>
3038
- </react_native_1.View>
3039
-
3040
-
3041
- <react_native_1.View style={{
3042
- backgroundColor: AppColors_1.AppColors.primaryLight,
3043
- borderRadius: 14,
3044
- borderWidth: 1,
3045
- borderColor: AppColors_1.AppColors.grayBorderSecondary,
3046
- padding: 14,
3047
- gap: 10,
3048
- }}>
3049
- <react_native_1.Text style={{
3050
- fontFamily: AppFonts_1.AppFonts.interBold,
3051
- fontSize: 11,
3052
- lineHeight: 14,
3053
- color: AppColors_1.AppColors.grayTextWeak,
3054
- letterSpacing: 0.8,
3055
- }}>
3056
- INSPECTOR STORAGE & CAPABILITIES
3057
- </react_native_1.Text>
3058
-
3059
- <react_native_1.View style={{ gap: 8 }}>
3060
- <react_native_1.View style={{
3061
- flexDirection: 'row',
3062
- justifyContent: 'space-between',
3063
- alignItems: 'center',
3064
- }}>
3065
- <react_native_1.Text style={{
3066
- fontFamily: AppFonts_1.AppFonts.interRegular,
3067
- fontSize: 11.5,
3068
- color: AppColors_1.AppColors.grayText,
3069
- }}>
3070
- Storage Persistence Engine
3071
- </react_native_1.Text>
3072
- <react_native_1.View style={{
3073
- backgroundColor: (0, settingsStore_1.isPersistentStorageAvailable)()
3074
- ? `${AppColors_1.AppColors.emerald500}18`
3075
- : `${AppColors_1.AppColors.amber500}18`,
3076
- paddingHorizontal: 6,
3077
- paddingVertical: 1.5,
3078
- borderRadius: 5,
3079
- borderWidth: 1,
3080
- borderColor: (0, settingsStore_1.isPersistentStorageAvailable)()
3081
- ? `${AppColors_1.AppColors.emerald500}50`
3082
- : `${AppColors_1.AppColors.amber500}50`,
3083
- }}>
3084
- <react_native_1.Text style={{
3085
- fontFamily: AppFonts_1.AppFonts.interBold,
3086
- fontSize: 10.5,
3087
- color: (0, settingsStore_1.isPersistentStorageAvailable)()
3088
- ? AppColors_1.AppColors.emerald600
3089
- : AppColors_1.AppColors.amber500,
3090
- }}>
3091
- {(0, settingsStore_1.isPersistentStorageAvailable)()
3092
- ? 'MMKV Fast Native Storage'
3093
- : 'In-Memory State'}
3094
- </react_native_1.Text>
3095
- </react_native_1.View>
3096
- </react_native_1.View>
3097
-
3098
- <react_native_1.View style={{
3099
- flexDirection: 'row',
3100
- justifyContent: 'space-between',
3101
- alignItems: 'center',
3102
- }}>
3103
- <react_native_1.Text style={{
3104
- fontFamily: AppFonts_1.AppFonts.interRegular,
3105
- fontSize: 11.5,
3106
- color: AppColors_1.AppColors.grayText,
3107
- }}>
3108
- Native Module Status
3109
- </react_native_1.Text>
3110
- <react_native_1.Text style={{
3111
- fontFamily: AppFonts_1.AppFonts.interBold,
3112
- fontSize: 11.5,
3113
- color: Boolean(global?.NativeInspectorModule)
3114
- ? AppColors_1.AppColors.emerald600
3115
- : AppColors_1.AppColors.grayText,
3116
- }}>
3117
- {Boolean(global?.NativeInspectorModule)
3118
- ? 'Linked & Active'
3119
- : 'JavaScript Only'}
3120
- </react_native_1.Text>
3121
- </react_native_1.View>
3122
-
3123
- <react_native_1.View style={{
3124
- flexDirection: 'row',
3125
- justifyContent: 'space-between',
3126
- alignItems: 'center',
3127
- }}>
3128
- <react_native_1.Text style={{
3129
- fontFamily: AppFonts_1.AppFonts.interRegular,
3130
- fontSize: 11.5,
3131
- color: AppColors_1.AppColors.grayText,
3132
- }}>
3133
- Network Logger Interceptor
3134
- </react_native_1.Text>
3135
- <react_native_1.Text style={{
3136
- fontFamily: AppFonts_1.AppFonts.interBold,
3137
- fontSize: 11.5,
3138
- color: AppColors_1.AppColors.emerald600,
3139
- }}>
3140
- Active (XMLHttpRequest & Fetch Hooked)
3141
- </react_native_1.Text>
3142
- </react_native_1.View>
3143
-
3144
- <react_native_1.View style={{
3145
- flexDirection: 'row',
3146
- justifyContent: 'space-between',
3147
- alignItems: 'center',
3148
- }}>
3149
- <react_native_1.Text style={{
3150
- fontFamily: AppFonts_1.AppFonts.interRegular,
3151
- fontSize: 11.5,
3152
- color: AppColors_1.AppColors.grayText,
3153
- }}>
3154
- Redux & Analytics Watchers
3155
- </react_native_1.Text>
3156
- <react_native_1.Text style={{
3157
- fontFamily: AppFonts_1.AppFonts.interBold,
3158
- fontSize: 11.5,
3159
- color: AppColors_1.AppColors.primaryBlack,
3160
- }}>
3161
- Redux: {(0, reduxLogger_1.isReduxConnected)() ? 'Connected' : 'Listening'} •
3162
- Analytics:{' '}
3163
- {(0, analyticsLogger_2.isAnalyticsConnected)() ? 'Connected' : 'Listening'}
3164
- </react_native_1.Text>
3165
- </react_native_1.View>
3166
-
3167
- <react_native_1.View style={{
3168
- flexDirection: 'row',
3169
- justifyContent: 'space-between',
3170
- alignItems: 'center',
3171
- }}>
3172
- <react_native_1.Text style={{
3173
- fontFamily: AppFonts_1.AppFonts.interRegular,
3174
- fontSize: 11.5,
3175
- color: AppColors_1.AppColors.grayText,
3176
- }}>
3177
- Crash & Exception Boundary
3178
- </react_native_1.Text>
3179
- <react_native_1.Text style={{
3180
- fontFamily: AppFonts_1.AppFonts.interBold,
3181
- fontSize: 11.5,
3182
- color: AppColors_1.AppColors.emerald600,
3183
- }}>
3184
- Global JS Exception Handler Active
3185
- </react_native_1.Text>
3186
- </react_native_1.View>
3187
-
3188
- <react_native_1.View style={{
3189
- flexDirection: 'row',
3190
- justifyContent: 'space-between',
3191
- alignItems: 'center',
3192
- }}>
3193
- <react_native_1.Text style={{
3194
- fontFamily: AppFonts_1.AppFonts.interRegular,
3195
- fontSize: 11.5,
3196
- color: AppColors_1.AppColors.grayText,
3197
- }}>
3198
- Memory Management
3199
- </react_native_1.Text>
3200
- <react_native_1.Text style={{
3201
- fontFamily: AppFonts_1.AppFonts.interBold,
3202
- fontSize: 11.5,
3203
- color: AppColors_1.AppColors.emerald600,
3204
- }}>
3205
- Dynamic Auto RAM Tiering Active
3206
- </react_native_1.Text>
3207
- </react_native_1.View>
3208
- </react_native_1.View>
3209
- </react_native_1.View>
3210
-
3211
-
3212
- <react_native_1.View style={{
3213
- backgroundColor: AppColors_1.AppColors.primaryLight,
3214
- borderRadius: 14,
3215
- borderWidth: 1,
3216
- borderColor: AppColors_1.AppColors.grayBorderSecondary,
3217
- padding: 14,
3218
- gap: 8,
3219
- }}>
3220
- <react_native_1.Text style={{
3221
- fontFamily: AppFonts_1.AppFonts.interBold,
3222
- fontSize: 11,
3223
- lineHeight: 14,
3224
- color: AppColors_1.AppColors.grayTextWeak,
3225
- letterSpacing: 0.8,
3226
- }}>
3227
- LICENSE & CREDITS
3228
- </react_native_1.Text>
3229
-
3230
- <react_native_1.View style={{
3231
- flexDirection: 'row',
3232
- justifyContent: 'space-between',
3233
- alignItems: 'center',
3234
- }}>
3235
- <react_native_1.Text style={{
3236
- fontFamily: AppFonts_1.AppFonts.interRegular,
3237
- fontSize: 11.5,
3238
- color: AppColors_1.AppColors.grayText,
3239
- }}>
3240
- License
3241
- </react_native_1.Text>
3242
- <react_native_1.Text style={{
3243
- fontFamily: AppFonts_1.AppFonts.interBold,
3244
- fontSize: 11.5,
3245
- color: AppColors_1.AppColors.emerald600,
3246
- }}>
3247
- MIT Permissive Open Source
3248
- </react_native_1.Text>
3249
- </react_native_1.View>
3250
-
3251
- <react_native_1.View style={{
3252
- flexDirection: 'row',
3253
- justifyContent: 'space-between',
3254
- alignItems: 'center',
3255
- }}>
3256
- <react_native_1.Text style={{
3257
- fontFamily: AppFonts_1.AppFonts.interRegular,
3258
- fontSize: 11.5,
3259
- color: AppColors_1.AppColors.grayText,
3260
- }}>
3261
- Created & Maintained By
3262
- </react_native_1.Text>
3263
- <react_native_1.Text style={{
3264
- fontFamily: AppFonts_1.AppFonts.interBold,
3265
- fontSize: 11.5,
3266
- color: AppColors_1.AppColors.primaryBlack,
3267
- }}>
3268
- Vengateswaran
3269
- </react_native_1.Text>
3270
- </react_native_1.View>
3271
-
3272
- <react_native_1.View style={{
3273
- flexDirection: 'row',
3274
- justifyContent: 'space-between',
3275
- alignItems: 'center',
3276
- }}>
3277
- <react_native_1.Text style={{
3278
- fontFamily: AppFonts_1.AppFonts.interRegular,
3279
- fontSize: 11.5,
3280
- color: AppColors_1.AppColors.grayText,
3281
- }}>
3282
- Repository
3283
- </react_native_1.Text>
3284
- <react_native_1.Text style={{
3285
- fontFamily: AppFonts_1.AppFonts.interRegular,
3286
- fontSize: 11,
3287
- color: AppColors_1.AppColors.purple,
3288
- }}>
3289
- github.com/vengatmacuser/react-native-inapp-inspector
3290
- </react_native_1.Text>
3291
- </react_native_1.View>
533
+ </react_native_1.View>})}
3292
534
  </react_native_1.View>
3293
- </react_native_1.View>)}
3294
- <react_native_1.View style={{ height: 48 }}/>
535
+ </react_native_1.View>}
536
+ <react_native_1.View style={{height:48}}/>
3295
537
  </react_native_1.ScrollView>
3296
538
 
3297
539
 
3298
- {settingsActiveSubTab === 'module' && (<react_native_1.View style={{
3299
- paddingHorizontal: 16,
3300
- paddingTop: 12,
3301
- paddingBottom: react_native_1.Platform.OS === 'ios' ? 36 : 24,
3302
- backgroundColor: AppColors_1.AppColors.primaryLight,
3303
- borderTopWidth: 1,
3304
- borderTopColor: AppColors_1.AppColors.dividerColor,
3305
- flexDirection: 'row',
3306
- alignItems: 'center',
3307
- gap: 12,
3308
- shadowColor: AppColors_1.AppColors.black,
3309
- shadowOpacity: 0.08,
3310
- shadowRadius: 8,
3311
- shadowOffset: { width: 0, height: -3 },
3312
- elevation: 8,
3313
- }}>
3314
- <react_native_1.View style={{ flex: 1 }}>
3315
- <react_native_1.Text style={{
3316
- fontFamily: AppFonts_1.AppFonts.interBold,
3317
- fontSize: 13,
3318
- lineHeight: 17,
3319
- color: AppColors_1.AppColors.primaryBlack,
3320
- }}>
3321
- {stagedActiveCount} of {allModules.length} Modules Active
540
+ {l==="module"&&<react_native_1.View style={{paddingHorizontal:16,paddingTop:12,paddingBottom:react_native_1.Platform.OS==="ios"?36:24,backgroundColor:AppColors_1.AppColors.primaryLight,borderTopWidth:1,borderTopColor:AppColors_1.AppColors.dividerColor,flexDirection:"row",alignItems:"center",gap:12,shadowColor:AppColors_1.AppColors.black,shadowOpacity:.08,shadowRadius:8,shadowOffset:{width:0,height:-3},elevation:8}}>
541
+ <react_native_1.View style={{flex:1}}>
542
+ <react_native_1.Text style={{fontFamily:AppFonts_1.AppFonts.interBold,fontSize:13,lineHeight:17,color:AppColors_1.AppColors.primaryBlack}}>
543
+ {be} of {h.length} Modules Active
3322
544
  </react_native_1.Text>
3323
- <react_native_1.Text style={{
3324
- fontFamily: AppFonts_1.AppFonts.interRegular,
3325
- fontSize: 11,
3326
- lineHeight: 15,
3327
- color: hasUnsavedChanges
3328
- ? AppColors_1.AppColors.purple
3329
- : AppColors_1.AppColors.grayText,
3330
- marginTop: 1,
3331
- }}>
3332
- {hasUnsavedChanges
3333
- ? t('settings.unsavedPending')
3334
- : t('settings.allSynchronized')}
545
+ <react_native_1.Text style={{fontFamily:AppFonts_1.AppFonts.interRegular,fontSize:11,lineHeight:15,color:V?AppColors_1.AppColors.purple:AppColors_1.AppColors.grayText,marginTop:1}}>
546
+ {o(V?"settings.unsavedPending":"settings.allSynchronized")}
3335
547
  </react_native_1.Text>
3336
548
  </react_native_1.View>
3337
549
 
3338
- <TouchableScale_1.default accessible={true} accessibilityRole="button" accessibilityLabel="Save Changes" onPress={handleSaveChanges} style={{
3339
- flexDirection: 'row',
3340
- alignItems: 'center',
3341
- gap: 6,
3342
- backgroundColor: hasUnsavedChanges
3343
- ? AppColors_1.AppColors.purple
3344
- : `${AppColors_1.AppColors.purple}22`,
3345
- paddingHorizontal: 18,
3346
- paddingVertical: 10,
3347
- borderRadius: 10,
3348
- }}>
3349
- <NetworkIcons_1.CheckIcon size={14} color={hasUnsavedChanges ? AppColors_1.AppColors.white : AppColors_1.AppColors.purple}/>
3350
- <react_native_1.Text style={{
3351
- fontFamily: AppFonts_1.AppFonts.interBold,
3352
- fontSize: 13,
3353
- lineHeight: 17,
3354
- color: hasUnsavedChanges ? AppColors_1.AppColors.white : AppColors_1.AppColors.purple,
3355
- }}>
3356
- {t('settings.saveChanges')}
550
+ <TouchableScale_1.default accessible={!0}accessibilityRole="button"accessibilityLabel="Save Changes"onPress={Ae}style={{flexDirection:"row",alignItems:"center",gap:6,backgroundColor:V?AppColors_1.AppColors.purple:`${AppColors_1.AppColors.purple}22`,paddingHorizontal:18,paddingVertical:10,borderRadius:10}}>
551
+ <NetworkIcons_1.CheckIcon size={14}color={V?AppColors_1.AppColors.white:AppColors_1.AppColors.purple}/>
552
+ <react_native_1.Text style={{fontFamily:AppFonts_1.AppFonts.interBold,fontSize:13,lineHeight:17,color:V?AppColors_1.AppColors.white:AppColors_1.AppColors.purple}}>
553
+ {o("settings.saveChanges")}
3357
554
  </react_native_1.Text>
3358
555
  </TouchableScale_1.default>
3359
- </react_native_1.View>)}
3360
- </react_native_1.View>);
3361
- let content = null;
3362
- let title = '';
3363
- let icon = null;
3364
- let rightInfo = '';
3365
- if (settingsPage === 'apis') {
3366
- title = t('settings.apis.title');
3367
- icon = <NetworkIcons_1.SignalIcon color={AppColors_1.AppColors.white} size={16}/>;
3368
- rightInfo = t('settings.apis.total', { count: logs.length });
3369
- content = (<react_native_1.ScrollView style={{ flex: 1 }} contentContainerStyle={{ padding: 16, paddingBottom: 100, gap: 12 }}>
3370
- <react_native_1.View style={{
3371
- backgroundColor: AppColors_1.AppColors.primaryLight,
3372
- padding: 16,
3373
- borderRadius: 14,
3374
- borderWidth: 1,
3375
- borderColor: AppColors_1.AppColors.grayBorderSecondary,
3376
- }}>
3377
- {renderSettingRow({
3378
- icon: <NetworkIcons_1.SignalIcon color={AppColors_1.AppColors.purple} size={16}/>,
3379
- label: t('settings.apis.maxRequestLogs'),
3380
- description: t('settings.apis.maxRequestLogsDescription'),
3381
- numericInput: {
3382
- value: maxNetworkLogs,
3383
- onChange: setMaxNetworkLogs,
3384
- min: 10,
3385
- max: 100,
3386
- placeholder: 'Enter max requests (10-100)',
3387
- },
3388
- isLast: true,
3389
- })}
556
+ </react_native_1.View>}
557
+ </react_native_1.View>;let A=null,_="",f=null,m="";t==="apis"?(_=o("settings.apis.title"),f=<NetworkIcons_1.SignalIcon color={AppColors_1.AppColors.white}size={16}/>,m=o("settings.apis.total",{count:R.length}),A=<react_native_1.ScrollView style={{flex:1}}contentContainerStyle={{padding:16,paddingBottom:100,gap:12}}>
558
+ <react_native_1.View style={{backgroundColor:AppColors_1.AppColors.primaryLight,padding:16,borderRadius:14,borderWidth:1,borderColor:AppColors_1.AppColors.grayBorderSecondary}}>
559
+ {n({icon:<NetworkIcons_1.SignalIcon color={AppColors_1.AppColors.purple}size={16}/>,label:o("settings.apis.maxRequestLogs"),description:o("settings.apis.maxRequestLogsDescription"),numericInput:{value:D,onChange:le,min:10,max:100,placeholder:"Enter max requests (10-100)"},isLast:!0})}
3390
560
  </react_native_1.View>
3391
561
 
3392
- <react_native_1.View style={{
3393
- backgroundColor: AppColors_1.AppColors.primaryLight,
3394
- borderRadius: 14,
3395
- borderWidth: 1,
3396
- borderColor: AppColors_1.AppColors.grayBorderSecondary,
3397
- padding: 16,
3398
- }}>
3399
- {renderSettingRow({
3400
- icon: <NetworkIcons_1.TrashIcon color={AppColors_1.AppColors.errorColor} size={16}/>,
3401
- label: t('settings.apis.clearNetworkLogs'),
3402
- description: t('settings.apis.clearNetworkLogsDescription', {
3403
- count: logs.length,
3404
- }),
3405
- isLast: true,
3406
- onPress: () => {
3407
- (0, networkLogger_1.clearNetworkLogs)();
3408
- setSelected(null);
3409
- react_native_1.Alert.alert(t('common.success'), t('settings.apis.networkLogsCleared'));
3410
- },
3411
- right: (<react_native_1.View style={{
3412
- paddingHorizontal: 12,
3413
- paddingVertical: 6,
3414
- borderRadius: 8,
3415
- backgroundColor: `${AppColors_1.AppColors.errorColor}14`,
3416
- borderWidth: 1,
3417
- borderColor: `${AppColors_1.AppColors.errorColor}33`,
3418
- }}>
3419
- <react_native_1.Text style={{
3420
- fontFamily: AppFonts_1.AppFonts.interBold,
3421
- fontSize: 11,
3422
- lineHeight: 14,
3423
- color: AppColors_1.AppColors.errorColor,
3424
- }}>
3425
- {t('common.clear')}
562
+ <react_native_1.View style={{backgroundColor:AppColors_1.AppColors.primaryLight,borderRadius:14,borderWidth:1,borderColor:AppColors_1.AppColors.grayBorderSecondary,padding:16}}>
563
+ {n({icon:<NetworkIcons_1.TrashIcon color={AppColors_1.AppColors.errorColor}size={16}/>,label:o("settings.apis.clearNetworkLogs"),description:o("settings.apis.clearNetworkLogsDescription",{count:R.length}),isLast:!0,onPress:()=>{(0,networkLogger_1.clearNetworkLogs)(),ge(null),react_native_1.Alert.alert(o("common.success"),o("settings.apis.networkLogsCleared"))},right:<react_native_1.View style={{paddingHorizontal:12,paddingVertical:6,borderRadius:8,backgroundColor:`${AppColors_1.AppColors.errorColor}14`,borderWidth:1,borderColor:`${AppColors_1.AppColors.errorColor}33`}}>
564
+ <react_native_1.Text style={{fontFamily:AppFonts_1.AppFonts.interBold,fontSize:11,lineHeight:14,color:AppColors_1.AppColors.errorColor}}>
565
+ {o("common.clear")}
3426
566
  </react_native_1.Text>
3427
- </react_native_1.View>),
3428
- })}
567
+ </react_native_1.View>})}
3429
568
  </react_native_1.View>
3430
- <react_native_1.View style={{ height: 48 }}/>
3431
- </react_native_1.ScrollView>);
3432
- }
3433
- else if (settingsPage === 'logs') {
3434
- title = t('settings.logs.title');
3435
- icon = <NetworkIcons_1.TerminalIcon color={AppColors_1.AppColors.white} size={16}/>;
3436
- rightInfo = t('settings.logs.total', { count: consoleLogs.length });
3437
- content = (<react_native_1.ScrollView style={{ flex: 1 }} contentContainerStyle={{ padding: 16, paddingBottom: 100, gap: 12 }}>
3438
- <react_native_1.View style={{
3439
- backgroundColor: AppColors_1.AppColors.primaryLight,
3440
- padding: 16,
3441
- borderRadius: 14,
3442
- borderWidth: 1,
3443
- borderColor: AppColors_1.AppColors.grayBorderSecondary,
3444
- gap: 4,
3445
- }}>
3446
- {renderSettingRow({
3447
- icon: <NetworkIcons_1.TerminalIcon color={AppColors_1.AppColors.purple} size={16}/>,
3448
- label: t('settings.logs.maxConsoleLogs'),
3449
- description: t('settings.logs.maxConsoleLogsDescription'),
3450
- numericInput: {
3451
- value: maxConsoleLogs,
3452
- onChange: setMaxConsoleLogs,
3453
- min: 10,
3454
- max: 100,
3455
- placeholder: 'Enter max logs (10-100)',
3456
- },
3457
- })}
3458
- <react_native_1.View style={{ height: 1, backgroundColor: AppColors_1.AppColors.dividerColor }}/>
3459
- <react_native_1.Text style={{
3460
- fontFamily: AppFonts_1.AppFonts.interBold,
3461
- fontSize: 13,
3462
- lineHeight: 17,
3463
- color: AppColors_1.AppColors.primaryBlack,
3464
- paddingTop: 6,
3465
- }}>
3466
- {t('settings.logs.logLevels')}
569
+ <react_native_1.View style={{height:48}}/>
570
+ </react_native_1.ScrollView>):t==="logs"?(_=o("settings.logs.title"),f=<NetworkIcons_1.TerminalIcon color={AppColors_1.AppColors.white}size={16}/>,m=o("settings.logs.total",{count:I.length}),A=<react_native_1.ScrollView style={{flex:1}}contentContainerStyle={{padding:16,paddingBottom:100,gap:12}}>
571
+ <react_native_1.View style={{backgroundColor:AppColors_1.AppColors.primaryLight,padding:16,borderRadius:14,borderWidth:1,borderColor:AppColors_1.AppColors.grayBorderSecondary,gap:4}}>
572
+ {n({icon:<NetworkIcons_1.TerminalIcon color={AppColors_1.AppColors.purple}size={16}/>,label:o("settings.logs.maxConsoleLogs"),description:o("settings.logs.maxConsoleLogsDescription"),numericInput:{value:P,onChange:ne,min:10,max:100,placeholder:"Enter max logs (10-100)"}})}
573
+ <react_native_1.View style={{height:1,backgroundColor:AppColors_1.AppColors.dividerColor}}/>
574
+ <react_native_1.Text style={{fontFamily:AppFonts_1.AppFonts.interBold,fontSize:13,lineHeight:17,color:AppColors_1.AppColors.primaryBlack,paddingTop:6}}>
575
+ {o("settings.logs.logLevels")}
3467
576
  </react_native_1.Text>
3468
- {['info', 'warn', 'error'].map(level => {
3469
- const isLvlActive = showConsoleLevels?.[level];
3470
- const levelColor = level === 'error'
3471
- ? AppColors_1.AppColors.errorColor
3472
- : level === 'warn'
3473
- ? AppColors_1.AppColors.warningIconGold
3474
- : AppColors_1.AppColors.skyBlue;
3475
- const label = level === 'info'
3476
- ? t('settings.logs.showInfo')
3477
- : level === 'warn'
3478
- ? t('settings.logs.showWarn')
3479
- : t('settings.logs.showError');
3480
- const desc = level === 'info'
3481
- ? t('settings.logs.showInfoDesc')
3482
- : level === 'warn'
3483
- ? t('settings.logs.showWarnDesc')
3484
- : t('settings.logs.showErrorDesc');
3485
- return renderSettingRow({
3486
- icon: (<react_native_1.View style={{
3487
- width: 12,
3488
- height: 12,
3489
- borderRadius: 6,
3490
- backgroundColor: levelColor,
3491
- }}/>),
3492
- label,
3493
- description: desc,
3494
- isLast: level === 'error',
3495
- onPress: () => setShowConsoleLevels(prev => ({
3496
- ...prev,
3497
- [level]: !prev[level],
3498
- })),
3499
- right: (<react_native_1.View style={{
3500
- width: 22,
3501
- height: 22,
3502
- borderRadius: 6,
3503
- borderWidth: 2,
3504
- borderColor: isLvlActive
3505
- ? AppColors_1.AppColors.purple
3506
- : AppColors_1.AppColors.grayTextWeak,
3507
- backgroundColor: isLvlActive
3508
- ? `${AppColors_1.AppColors.purple}1A`
3509
- : 'transparent',
3510
- alignItems: 'center',
3511
- justifyContent: 'center',
3512
- }}>
3513
- {isLvlActive && (<NetworkIcons_1.CheckIcon size={12} color={AppColors_1.AppColors.purple}/>)}
3514
- </react_native_1.View>),
3515
- });
3516
- })}
577
+ {["info","warn","error"].map(e=>{const i=te?.[e],C=e==="error"?AppColors_1.AppColors.errorColor:e==="warn"?AppColors_1.AppColors.warningIconGold:AppColors_1.AppColors.skyBlue,d=o(e==="info"?"settings.logs.showInfo":e==="warn"?"settings.logs.showWarn":"settings.logs.showError"),b=o(e==="info"?"settings.logs.showInfoDesc":e==="warn"?"settings.logs.showWarnDesc":"settings.logs.showErrorDesc");return n({icon:<react_native_1.View style={{width:12,height:12,borderRadius:6,backgroundColor:C}}/>,label:d,description:b,isLast:e==="error",onPress:()=>ie(a=>({...a,[e]:!a[e]})),right:<react_native_1.View style={{width:22,height:22,borderRadius:6,borderWidth:2,borderColor:i?AppColors_1.AppColors.purple:AppColors_1.AppColors.grayTextWeak,backgroundColor:i?`${AppColors_1.AppColors.purple}1A`:"transparent",alignItems:"center",justifyContent:"center"}}>
578
+ {i&&<NetworkIcons_1.CheckIcon size={12}color={AppColors_1.AppColors.purple}/>}
579
+ </react_native_1.View>})})}
3517
580
  </react_native_1.View>
3518
581
 
3519
582
 
3520
- <react_native_1.View style={{
3521
- backgroundColor: AppColors_1.AppColors.primaryLight,
3522
- borderRadius: 14,
3523
- borderWidth: 1,
3524
- borderColor: AppColors_1.AppColors.grayBorderSecondary,
3525
- overflow: 'hidden',
3526
- padding: 16,
3527
- gap: 14,
3528
- }}>
3529
- <react_native_1.Text style={{
3530
- fontFamily: AppFonts_1.AppFonts.interBold,
3531
- fontSize: 11,
3532
- lineHeight: 14,
3533
- color: AppColors_1.AppColors.grayTextWeak,
3534
- letterSpacing: 0.8,
3535
- }}>
3536
- {t('settings.logFiltersDeduplication')}
583
+ <react_native_1.View style={{backgroundColor:AppColors_1.AppColors.primaryLight,borderRadius:14,borderWidth:1,borderColor:AppColors_1.AppColors.grayBorderSecondary,overflow:"hidden",padding:16,gap:14}}>
584
+ <react_native_1.Text style={{fontFamily:AppFonts_1.AppFonts.interBold,fontSize:11,lineHeight:14,color:AppColors_1.AppColors.grayTextWeak,letterSpacing:.8}}>
585
+ {o("settings.logFiltersDeduplication")}
3537
586
  </react_native_1.Text>
3538
587
 
3539
588
 
3540
- <react_native_1.View style={{
3541
- flexDirection: 'row',
3542
- alignItems: 'center',
3543
- justifyContent: 'space-between',
3544
- }}>
3545
- <react_native_1.View style={{
3546
- flexDirection: 'row',
3547
- alignItems: 'center',
3548
- gap: 10,
3549
- flex: 1,
3550
- }}>
3551
- <react_native_1.View style={{
3552
- width: 32,
3553
- height: 32,
3554
- borderRadius: 8,
3555
- backgroundColor: AppColors_1.AppColors.purpleShade50,
3556
- alignItems: 'center',
3557
- justifyContent: 'center',
3558
- }}>
3559
- <NetworkIcons_1.EyeIcon color={AppColors_1.AppColors.purple} size={15}/>
589
+ <react_native_1.View style={{flexDirection:"row",alignItems:"center",justifyContent:"space-between"}}>
590
+ <react_native_1.View style={{flexDirection:"row",alignItems:"center",gap:10,flex:1}}>
591
+ <react_native_1.View style={{width:32,height:32,borderRadius:8,backgroundColor:AppColors_1.AppColors.purpleShade50,alignItems:"center",justifyContent:"center"}}>
592
+ <NetworkIcons_1.EyeIcon color={AppColors_1.AppColors.purple}size={15}/>
3560
593
  </react_native_1.View>
3561
- <react_native_1.View style={{ flex: 1 }}>
3562
- <react_native_1.Text style={{
3563
- fontFamily: AppFonts_1.AppFonts.interBold,
3564
- fontSize: 13.5,
3565
- lineHeight: 18,
3566
- color: AppColors_1.AppColors.primaryBlack,
3567
- }}>
3568
- {t('settings.general.duplicateLogs')}
594
+ <react_native_1.View style={{flex:1}}>
595
+ <react_native_1.Text style={{fontFamily:AppFonts_1.AppFonts.interBold,fontSize:13.5,lineHeight:18,color:AppColors_1.AppColors.primaryBlack}}>
596
+ {o("settings.general.duplicateLogs")}
3569
597
  </react_native_1.Text>
3570
- <react_native_1.Text style={{
3571
- fontFamily: AppFonts_1.AppFonts.interRegular,
3572
- fontSize: 11,
3573
- lineHeight: 15,
3574
- color: AppColors_1.AppColors.grayText,
3575
- marginTop: 1,
3576
- }}>
3577
- {t('settings.general.duplicateLogsDescription')}
598
+ <react_native_1.Text style={{fontFamily:AppFonts_1.AppFonts.interRegular,fontSize:11,lineHeight:15,color:AppColors_1.AppColors.grayText,marginTop:1}}>
599
+ {o("settings.general.duplicateLogsDescription")}
3578
600
  </react_native_1.Text>
3579
601
  </react_native_1.View>
3580
602
  </react_native_1.View>
3581
603
 
3582
- <TouchableScale_1.default accessible={true} accessibilityRole="switch" accessibilityLabel="Toggle show duplicate logs" accessibilityState={{ checked: showDuplicateLogs }} onPress={() => setShowDuplicateLogs(prev => !prev)} style={{
3583
- width: 42,
3584
- height: 24,
3585
- borderRadius: 12,
3586
- backgroundColor: showDuplicateLogs
3587
- ? AppColors_1.AppColors.purple
3588
- : AppColors_1.AppColors.grayBorderSecondary,
3589
- padding: 2,
3590
- justifyContent: 'center',
3591
- alignItems: showDuplicateLogs ? 'flex-end' : 'flex-start',
3592
- }}>
3593
- <react_native_1.View style={{
3594
- width: 20,
3595
- height: 20,
3596
- borderRadius: 10,
3597
- backgroundColor: AppColors_1.AppColors.white,
3598
- shadowColor: AppColors_1.AppColors.black,
3599
- shadowOpacity: 0.18,
3600
- shadowRadius: 2,
3601
- shadowOffset: { width: 0, height: 1 },
3602
- }}/>
604
+ <TouchableScale_1.default accessible={!0}accessibilityRole="switch"accessibilityLabel="Toggle show duplicate logs"accessibilityState={{checked:F}}onPress={()=>oe(e=>!e)}style={{width:42,height:24,borderRadius:12,backgroundColor:F?AppColors_1.AppColors.purple:AppColors_1.AppColors.grayBorderSecondary,padding:2,justifyContent:"center",alignItems:F?"flex-end":"flex-start"}}>
605
+ <react_native_1.View style={{width:20,height:20,borderRadius:10,backgroundColor:AppColors_1.AppColors.white,shadowColor:AppColors_1.AppColors.black,shadowOpacity:.18,shadowRadius:2,shadowOffset:{width:0,height:1}}}/>
3603
606
  </TouchableScale_1.default>
3604
607
  </react_native_1.View>
3605
608
  </react_native_1.View>
3606
609
 
3607
- <react_native_1.View style={{
3608
- backgroundColor: AppColors_1.AppColors.primaryLight,
3609
- borderRadius: 14,
3610
- borderWidth: 1,
3611
- borderColor: AppColors_1.AppColors.grayBorderSecondary,
3612
- padding: 16,
3613
- }}>
3614
- {renderSettingRow({
3615
- icon: <NetworkIcons_1.TrashIcon color={AppColors_1.AppColors.errorColor} size={16}/>,
3616
- label: t('settings.logs.clearConsoleLogs'),
3617
- description: t('settings.logs.clearConsoleLogsDescription', {
3618
- count: consoleLogs.length,
3619
- }),
3620
- isLast: true,
3621
- onPress: () => {
3622
- (0, consoleLogger_1.clearConsoleLogs)();
3623
- react_native_1.Alert.alert(t('common.success'), t('settings.logs.consoleLogsCleared'));
3624
- },
3625
- right: (<react_native_1.View style={{
3626
- paddingHorizontal: 12,
3627
- paddingVertical: 6,
3628
- borderRadius: 8,
3629
- backgroundColor: `${AppColors_1.AppColors.errorColor}14`,
3630
- borderWidth: 1,
3631
- borderColor: `${AppColors_1.AppColors.errorColor}33`,
3632
- }}>
3633
- <react_native_1.Text style={{
3634
- fontFamily: AppFonts_1.AppFonts.interBold,
3635
- fontSize: 11,
3636
- lineHeight: 14,
3637
- color: AppColors_1.AppColors.errorColor,
3638
- }}>
3639
- {t('common.clear')}
610
+ <react_native_1.View style={{backgroundColor:AppColors_1.AppColors.primaryLight,borderRadius:14,borderWidth:1,borderColor:AppColors_1.AppColors.grayBorderSecondary,padding:16}}>
611
+ {n({icon:<NetworkIcons_1.TrashIcon color={AppColors_1.AppColors.errorColor}size={16}/>,label:o("settings.logs.clearConsoleLogs"),description:o("settings.logs.clearConsoleLogsDescription",{count:I.length}),isLast:!0,onPress:()=>{(0,consoleLogger_1.clearConsoleLogs)(),react_native_1.Alert.alert(o("common.success"),o("settings.logs.consoleLogsCleared"))},right:<react_native_1.View style={{paddingHorizontal:12,paddingVertical:6,borderRadius:8,backgroundColor:`${AppColors_1.AppColors.errorColor}14`,borderWidth:1,borderColor:`${AppColors_1.AppColors.errorColor}33`}}>
612
+ <react_native_1.Text style={{fontFamily:AppFonts_1.AppFonts.interBold,fontSize:11,lineHeight:14,color:AppColors_1.AppColors.errorColor}}>
613
+ {o("common.clear")}
3640
614
  </react_native_1.Text>
3641
- </react_native_1.View>),
3642
- })}
615
+ </react_native_1.View>})}
3643
616
  </react_native_1.View>
3644
- <react_native_1.View style={{ height: 48 }}/>
3645
- </react_native_1.ScrollView>);
3646
- }
3647
- else if (settingsPage === 'analytics') {
3648
- title = t('settings.analytics.title');
3649
- icon = <NetworkIcons_1.AnalyticsIcon color={AppColors_1.AppColors.white} size={16}/>;
3650
- rightInfo = t('settings.analytics.total', { count: analyticsEvents.length });
3651
- content = (<react_native_1.ScrollView style={{ flex: 1 }} contentContainerStyle={{ padding: 16, paddingBottom: 100, gap: 12 }}>
3652
- <react_native_1.View style={{
3653
- backgroundColor: AppColors_1.AppColors.primaryLight,
3654
- padding: 16,
3655
- borderRadius: 14,
3656
- borderWidth: 1,
3657
- borderColor: AppColors_1.AppColors.grayBorderSecondary,
3658
- }}>
3659
- {renderSettingRow({
3660
- icon: <NetworkIcons_1.AnalyticsIcon color={AppColors_1.AppColors.purple} size={16}/>,
3661
- label: t('settings.analytics.maxAnalyticsEvents'),
3662
- description: t('settings.analytics.maxAnalyticsEventsDescription', {
3663
- count: analyticsEvents.length,
3664
- }),
3665
- numericInput: {
3666
- value: maxAnalyticsEventsLimit,
3667
- onChange: setMaxAnalyticsEventsLimit,
3668
- min: 10,
3669
- max: 75,
3670
- placeholder: 'Enter max events (10-75)',
3671
- },
3672
- isLast: true,
3673
- })}
617
+ <react_native_1.View style={{height:48}}/>
618
+ </react_native_1.ScrollView>):t==="analytics"?(_=o("settings.analytics.title"),f=<NetworkIcons_1.AnalyticsIcon color={AppColors_1.AppColors.white}size={16}/>,m=o("settings.analytics.total",{count:L.length}),A=<react_native_1.ScrollView style={{flex:1}}contentContainerStyle={{padding:16,paddingBottom:100,gap:12}}>
619
+ <react_native_1.View style={{backgroundColor:AppColors_1.AppColors.primaryLight,padding:16,borderRadius:14,borderWidth:1,borderColor:AppColors_1.AppColors.grayBorderSecondary}}>
620
+ {n({icon:<NetworkIcons_1.AnalyticsIcon color={AppColors_1.AppColors.purple}size={16}/>,label:o("settings.analytics.maxAnalyticsEvents"),description:o("settings.analytics.maxAnalyticsEventsDescription",{count:L.length}),numericInput:{value:j,onChange:se,min:10,max:75,placeholder:"Enter max events (10-75)"},isLast:!0})}
3674
621
  </react_native_1.View>
3675
- <react_native_1.View style={{
3676
- backgroundColor: AppColors_1.AppColors.primaryLight,
3677
- borderRadius: 14,
3678
- borderWidth: 1,
3679
- borderColor: AppColors_1.AppColors.grayBorderSecondary,
3680
- padding: 16,
3681
- }}>
3682
- {renderSettingRow({
3683
- icon: <NetworkIcons_1.TrashIcon color={AppColors_1.AppColors.errorColor} size={16}/>,
3684
- label: t('settings.analytics.clearAnalyticsEvents'),
3685
- description: t('settings.analytics.clearAnalyticsEventsDescription'),
3686
- isLast: true,
3687
- onPress: () => {
3688
- (0, analyticsLogger_1.clearAnalyticsEvents)();
3689
- setSelectedEvent(null);
3690
- react_native_1.Alert.alert(t('common.success'), t('settings.analytics.analyticsEventsCleared'));
3691
- },
3692
- right: (<react_native_1.View style={{
3693
- paddingHorizontal: 12,
3694
- paddingVertical: 6,
3695
- borderRadius: 8,
3696
- backgroundColor: `${AppColors_1.AppColors.errorColor}14`,
3697
- borderWidth: 1,
3698
- borderColor: `${AppColors_1.AppColors.errorColor}33`,
3699
- }}>
3700
- <react_native_1.Text style={{
3701
- fontFamily: AppFonts_1.AppFonts.interBold,
3702
- fontSize: 11,
3703
- lineHeight: 14,
3704
- color: AppColors_1.AppColors.errorColor,
3705
- }}>
3706
- {t('common.clear')}
622
+ <react_native_1.View style={{backgroundColor:AppColors_1.AppColors.primaryLight,borderRadius:14,borderWidth:1,borderColor:AppColors_1.AppColors.grayBorderSecondary,padding:16}}>
623
+ {n({icon:<NetworkIcons_1.TrashIcon color={AppColors_1.AppColors.errorColor}size={16}/>,label:o("settings.analytics.clearAnalyticsEvents"),description:o("settings.analytics.clearAnalyticsEventsDescription"),isLast:!0,onPress:()=>{(0,analyticsLogger_1.clearAnalyticsEvents)(),ue(null),react_native_1.Alert.alert(o("common.success"),o("settings.analytics.analyticsEventsCleared"))},right:<react_native_1.View style={{paddingHorizontal:12,paddingVertical:6,borderRadius:8,backgroundColor:`${AppColors_1.AppColors.errorColor}14`,borderWidth:1,borderColor:`${AppColors_1.AppColors.errorColor}33`}}>
624
+ <react_native_1.Text style={{fontFamily:AppFonts_1.AppFonts.interBold,fontSize:11,lineHeight:14,color:AppColors_1.AppColors.errorColor}}>
625
+ {o("common.clear")}
3707
626
  </react_native_1.Text>
3708
- </react_native_1.View>),
3709
- })}
627
+ </react_native_1.View>})}
3710
628
  </react_native_1.View>
3711
- <react_native_1.View style={{ height: 48 }}/>
3712
- </react_native_1.ScrollView>);
3713
- }
3714
- else if (settingsPage === 'redux') {
3715
- title = t('settings.redux.title');
3716
- icon = <NetworkIcons_1.ReduxIcon color={AppColors_1.AppColors.white} size={16}/>;
3717
- rightInfo = t('settings.redux.reducers', {
3718
- count: Object.keys(reduxState || {}).length,
3719
- });
3720
- content = (<react_native_1.ScrollView style={{ flex: 1 }} contentContainerStyle={{ padding: 16, paddingBottom: 100, gap: 12 }}>
3721
- <react_native_1.View style={{
3722
- backgroundColor: AppColors_1.AppColors.primaryLight,
3723
- padding: 16,
3724
- borderRadius: 14,
3725
- borderWidth: 1,
3726
- borderColor: AppColors_1.AppColors.grayBorderSecondary,
3727
- gap: 4,
3728
- }}>
3729
- {renderSettingRow({
3730
- icon: <NetworkIcons_1.ReduxIcon color={AppColors_1.AppColors.purple} size={16}/>,
3731
- label: t('settings.redux.autoRefresh'),
3732
- description: t('settings.redux.autoRefreshDescription'),
3733
- onPress: () => setReduxAutoRefreshState(prev => !prev),
3734
- right: (<react_native_1.View style={{
3735
- width: 22,
3736
- height: 22,
3737
- borderRadius: 6,
3738
- borderWidth: 2,
3739
- borderColor: reduxAutoRefresh
3740
- ? AppColors_1.AppColors.purple
3741
- : AppColors_1.AppColors.grayTextWeak,
3742
- backgroundColor: reduxAutoRefresh
3743
- ? `${AppColors_1.AppColors.purple}1A`
3744
- : 'transparent',
3745
- alignItems: 'center',
3746
- justifyContent: 'center',
3747
- }}>
3748
- {reduxAutoRefresh && (<NetworkIcons_1.CheckIcon size={12} color={AppColors_1.AppColors.purple}/>)}
3749
- </react_native_1.View>),
3750
- })}
3751
- <react_native_1.View style={{ height: 1, backgroundColor: AppColors_1.AppColors.dividerColor }}/>
3752
- {renderSettingRow({
3753
- icon: <NetworkIcons_1.LayersIcon color={AppColors_1.AppColors.purple} size={16}/>,
3754
- label: t('settings.redux.defaultJsonExpandDepth'),
3755
- description: t('settings.redux.defaultJsonExpandDepthDescription'),
3756
- picker: {
3757
- options: [1, 2, 3, 5],
3758
- selectedValue: reduxExpandDepth,
3759
- onSelect: setReduxExpandDepth,
3760
- },
3761
- isLast: true,
3762
- })}
629
+ <react_native_1.View style={{height:48}}/>
630
+ </react_native_1.ScrollView>):t==="redux"?(_=o("settings.redux.title"),f=<NetworkIcons_1.ReduxIcon color={AppColors_1.AppColors.white}size={16}/>,m=o("settings.redux.reducers",{count:Object.keys(H||{}).length}),A=<react_native_1.ScrollView style={{flex:1}}contentContainerStyle={{padding:16,paddingBottom:100,gap:12}}>
631
+ <react_native_1.View style={{backgroundColor:AppColors_1.AppColors.primaryLight,padding:16,borderRadius:14,borderWidth:1,borderColor:AppColors_1.AppColors.grayBorderSecondary,gap:4}}>
632
+ {n({icon:<NetworkIcons_1.ReduxIcon color={AppColors_1.AppColors.purple}size={16}/>,label:o("settings.redux.autoRefresh"),description:o("settings.redux.autoRefreshDescription"),onPress:()=>ce(e=>!e),right:<react_native_1.View style={{width:22,height:22,borderRadius:6,borderWidth:2,borderColor:$?AppColors_1.AppColors.purple:AppColors_1.AppColors.grayTextWeak,backgroundColor:$?`${AppColors_1.AppColors.purple}1A`:"transparent",alignItems:"center",justifyContent:"center"}}>
633
+ {$&&<NetworkIcons_1.CheckIcon size={12}color={AppColors_1.AppColors.purple}/>}
634
+ </react_native_1.View>})}
635
+ <react_native_1.View style={{height:1,backgroundColor:AppColors_1.AppColors.dividerColor}}/>
636
+ {n({icon:<NetworkIcons_1.LayersIcon color={AppColors_1.AppColors.purple}size={16}/>,label:o("settings.redux.defaultJsonExpandDepth"),description:o("settings.redux.defaultJsonExpandDepthDescription"),picker:{options:[1,2,3,5],selectedValue:N,onSelect:de},isLast:!0})}
3763
637
  </react_native_1.View>
3764
638
 
3765
- <react_native_1.View style={{
3766
- backgroundColor: AppColors_1.AppColors.primaryLight,
3767
- borderRadius: 14,
3768
- borderWidth: 1,
3769
- borderColor: AppColors_1.AppColors.grayBorderSecondary,
3770
- padding: 16,
3771
- }}>
3772
- {renderSettingRow({
3773
- icon: <NetworkIcons_1.TrashIcon color={AppColors_1.AppColors.errorColor} size={16}/>,
3774
- label: t('settings.redux.clearReduxState'),
3775
- description: reduxState
3776
- ? t('settings.redux.clearReduxStateDescription')
3777
- : t('settings.redux.clearReduxStateEmpty'),
3778
- isLast: true,
3779
- onPress: () => {
3780
- setReduxState(null);
3781
- react_native_1.Alert.alert(t('common.success'), t('settings.redux.reduxStateCleared'));
3782
- },
3783
- right: (<react_native_1.View style={{
3784
- paddingHorizontal: 12,
3785
- paddingVertical: 6,
3786
- borderRadius: 8,
3787
- backgroundColor: `${AppColors_1.AppColors.errorColor}14`,
3788
- borderWidth: 1,
3789
- borderColor: `${AppColors_1.AppColors.errorColor}33`,
3790
- }}>
3791
- <react_native_1.Text style={{
3792
- fontFamily: AppFonts_1.AppFonts.interBold,
3793
- fontSize: 11,
3794
- lineHeight: 14,
3795
- color: AppColors_1.AppColors.errorColor,
3796
- }}>
3797
- {t('common.clear')}
639
+ <react_native_1.View style={{backgroundColor:AppColors_1.AppColors.primaryLight,borderRadius:14,borderWidth:1,borderColor:AppColors_1.AppColors.grayBorderSecondary,padding:16}}>
640
+ {n({icon:<NetworkIcons_1.TrashIcon color={AppColors_1.AppColors.errorColor}size={16}/>,label:o("settings.redux.clearReduxState"),description:o(H?"settings.redux.clearReduxStateDescription":"settings.redux.clearReduxStateEmpty"),isLast:!0,onPress:()=>{ye(null),react_native_1.Alert.alert(o("common.success"),o("settings.redux.reduxStateCleared"))},right:<react_native_1.View style={{paddingHorizontal:12,paddingVertical:6,borderRadius:8,backgroundColor:`${AppColors_1.AppColors.errorColor}14`,borderWidth:1,borderColor:`${AppColors_1.AppColors.errorColor}33`}}>
641
+ <react_native_1.Text style={{fontFamily:AppFonts_1.AppFonts.interBold,fontSize:11,lineHeight:14,color:AppColors_1.AppColors.errorColor}}>
642
+ {o("common.clear")}
3798
643
  </react_native_1.Text>
3799
- </react_native_1.View>),
3800
- })}
644
+ </react_native_1.View>})}
3801
645
  </react_native_1.View>
3802
- <react_native_1.View style={{ height: 48 }}/>
3803
- </react_native_1.ScrollView>);
3804
- }
3805
- else if (settingsPage === 'crash') {
3806
- title = t('settings.crash.title');
3807
- icon = <NetworkIcons_1.CrashIcon color={AppColors_1.AppColors.white} size={16}/>;
3808
- rightInfo = `Total: ${crashRecords?.length || 0}`;
3809
- content = (<react_native_1.ScrollView style={{ flex: 1 }} contentContainerStyle={{ padding: 16, paddingBottom: 100, gap: 12 }}>
3810
- <react_native_1.View style={{
3811
- backgroundColor: AppColors_1.AppColors.primaryLight,
3812
- padding: 16,
3813
- borderRadius: 14,
3814
- borderWidth: 1,
3815
- borderColor: AppColors_1.AppColors.grayBorderSecondary,
3816
- gap: 4,
3817
- }}>
3818
- {renderSettingRow({
3819
- icon: <NetworkIcons_1.LayersIcon color={AppColors_1.AppColors.purple} size={16}/>,
3820
- label: t('settings.crash.maxCrashLogs'),
3821
- description: t('settings.crash.maxCrashLogsDesc'),
3822
- numericInput: {
3823
- value: maxCrashLogs,
3824
- onChange: setMaxCrashLogs,
3825
- min: 5,
3826
- max: 50,
3827
- placeholder: 'Enter max crashes (5-50)',
3828
- },
3829
- })}
3830
- <react_native_1.View style={{ height: 1, backgroundColor: AppColors_1.AppColors.dividerColor }}/>
3831
- {renderSettingRow({
3832
- icon: <NetworkIcons_1.ShieldAlertIcon color={AppColors_1.AppColors.greenColor} size={16}/>,
3833
- label: t('settings.crash.globalGuard'),
3834
- description: t('settings.crash.globalGuardDesc'),
3835
- isLast: true,
3836
- right: (<react_native_1.View style={{
3837
- paddingHorizontal: 8,
3838
- paddingVertical: 4,
3839
- borderRadius: 6,
3840
- backgroundColor: `${AppColors_1.AppColors.greenColor}1F`,
3841
- }}>
3842
- <react_native_1.Text style={{
3843
- fontFamily: AppFonts_1.AppFonts.interBold,
3844
- fontSize: 10,
3845
- lineHeight: 13,
3846
- color: AppColors_1.AppColors.greenColor,
3847
- }}>
3848
- {t('settings.protectedBadge')}
646
+ <react_native_1.View style={{height:48}}/>
647
+ </react_native_1.ScrollView>):t==="crash"?(_=o("settings.crash.title"),f=<NetworkIcons_1.CrashIcon color={AppColors_1.AppColors.white}size={16}/>,m=`Total: ${M?.length||0}`,A=<react_native_1.ScrollView style={{flex:1}}contentContainerStyle={{padding:16,paddingBottom:100,gap:12}}>
648
+ <react_native_1.View style={{backgroundColor:AppColors_1.AppColors.primaryLight,padding:16,borderRadius:14,borderWidth:1,borderColor:AppColors_1.AppColors.grayBorderSecondary,gap:4}}>
649
+ {n({icon:<NetworkIcons_1.LayersIcon color={AppColors_1.AppColors.purple}size={16}/>,label:o("settings.crash.maxCrashLogs"),description:o("settings.crash.maxCrashLogsDesc"),numericInput:{value:q,onChange:Ce,min:5,max:50,placeholder:"Enter max crashes (5-50)"}})}
650
+ <react_native_1.View style={{height:1,backgroundColor:AppColors_1.AppColors.dividerColor}}/>
651
+ {n({icon:<NetworkIcons_1.ShieldAlertIcon color={AppColors_1.AppColors.greenColor}size={16}/>,label:o("settings.crash.globalGuard"),description:o("settings.crash.globalGuardDesc"),isLast:!0,right:<react_native_1.View style={{paddingHorizontal:8,paddingVertical:4,borderRadius:6,backgroundColor:`${AppColors_1.AppColors.greenColor}1F`}}>
652
+ <react_native_1.Text style={{fontFamily:AppFonts_1.AppFonts.interBold,fontSize:10,lineHeight:13,color:AppColors_1.AppColors.greenColor}}>
653
+ {o("settings.protectedBadge")}
3849
654
  </react_native_1.Text>
3850
- </react_native_1.View>),
3851
- })}
655
+ </react_native_1.View>})}
3852
656
  </react_native_1.View>
3853
657
 
3854
- <react_native_1.View style={{
3855
- backgroundColor: AppColors_1.AppColors.primaryLight,
3856
- borderRadius: 14,
3857
- borderWidth: 1,
3858
- borderColor: AppColors_1.AppColors.grayBorderSecondary,
3859
- padding: 16,
3860
- }}>
3861
- {renderSettingRow({
3862
- icon: <NetworkIcons_1.TrashIcon color={AppColors_1.AppColors.errorColor} size={16}/>,
3863
- label: t('settings.crash.clearHistory'),
3864
- description: t('settings.crash.clearHistoryDesc', {
3865
- count: crashRecords?.length || 0,
3866
- }),
3867
- isLast: true,
3868
- onPress: () => {
3869
- (0, crashHandler_1.clearCrashRecords)();
3870
- react_native_1.Alert.alert(t('common.success'), t('settings.crash.historyCleared'));
3871
- },
3872
- right: (<react_native_1.View style={{
3873
- paddingHorizontal: 12,
3874
- paddingVertical: 6,
3875
- borderRadius: 8,
3876
- backgroundColor: `${AppColors_1.AppColors.errorColor}14`,
3877
- borderWidth: 1,
3878
- borderColor: `${AppColors_1.AppColors.errorColor}33`,
3879
- }}>
3880
- <react_native_1.Text style={{
3881
- fontFamily: AppFonts_1.AppFonts.interBold,
3882
- fontSize: 11,
3883
- lineHeight: 14,
3884
- color: AppColors_1.AppColors.errorColor,
3885
- }}>
3886
- {t('common.clear')}
658
+ <react_native_1.View style={{backgroundColor:AppColors_1.AppColors.primaryLight,borderRadius:14,borderWidth:1,borderColor:AppColors_1.AppColors.grayBorderSecondary,padding:16}}>
659
+ {n({icon:<NetworkIcons_1.TrashIcon color={AppColors_1.AppColors.errorColor}size={16}/>,label:o("settings.crash.clearHistory"),description:o("settings.crash.clearHistoryDesc",{count:M?.length||0}),isLast:!0,onPress:()=>{(0,crashHandler_1.clearCrashRecords)(),react_native_1.Alert.alert(o("common.success"),o("settings.crash.historyCleared"))},right:<react_native_1.View style={{paddingHorizontal:12,paddingVertical:6,borderRadius:8,backgroundColor:`${AppColors_1.AppColors.errorColor}14`,borderWidth:1,borderColor:`${AppColors_1.AppColors.errorColor}33`}}>
660
+ <react_native_1.Text style={{fontFamily:AppFonts_1.AppFonts.interBold,fontSize:11,lineHeight:14,color:AppColors_1.AppColors.errorColor}}>
661
+ {o("common.clear")}
3887
662
  </react_native_1.Text>
3888
- </react_native_1.View>),
3889
- })}
663
+ </react_native_1.View>})}
3890
664
  </react_native_1.View>
3891
- <react_native_1.View style={{ height: 48 }}/>
3892
- </react_native_1.ScrollView>);
3893
- }
3894
- else if (settingsPage === 'bundle') {
3895
- title = t('settings.bundle.title');
3896
- icon = <NetworkIcons_1.PackageIcon color={AppColors_1.AppColors.white} size={16}/>;
3897
- rightInfo = 'Metro';
3898
- content = (<react_native_1.ScrollView style={{ flex: 1 }} contentContainerStyle={{ padding: 16, paddingBottom: 100, gap: 12 }}>
3899
- <react_native_1.View style={{
3900
- backgroundColor: AppColors_1.AppColors.primaryLight,
3901
- padding: 16,
3902
- borderRadius: 14,
3903
- borderWidth: 1,
3904
- borderColor: AppColors_1.AppColors.grayBorderSecondary,
3905
- gap: 8,
3906
- }}>
3907
- <react_native_1.View style={{ flexDirection: 'row', alignItems: 'center', gap: 10 }}>
3908
- <react_native_1.View style={{
3909
- width: 36,
3910
- height: 36,
3911
- borderRadius: 10,
3912
- backgroundColor: AppColors_1.AppColors.purpleShade50,
3913
- alignItems: 'center',
3914
- justifyContent: 'center',
3915
- }}>
3916
- <NetworkIcons_1.PackageIcon color={AppColors_1.AppColors.purple} size={16}/>
665
+ <react_native_1.View style={{height:48}}/>
666
+ </react_native_1.ScrollView>):t==="bundle"?(_=o("settings.bundle.title"),f=<NetworkIcons_1.PackageIcon color={AppColors_1.AppColors.white}size={16}/>,m="Metro",A=<react_native_1.ScrollView style={{flex:1}}contentContainerStyle={{padding:16,paddingBottom:100,gap:12}}>
667
+ <react_native_1.View style={{backgroundColor:AppColors_1.AppColors.primaryLight,padding:16,borderRadius:14,borderWidth:1,borderColor:AppColors_1.AppColors.grayBorderSecondary,gap:8}}>
668
+ <react_native_1.View style={{flexDirection:"row",alignItems:"center",gap:10}}>
669
+ <react_native_1.View style={{width:36,height:36,borderRadius:10,backgroundColor:AppColors_1.AppColors.purpleShade50,alignItems:"center",justifyContent:"center"}}>
670
+ <NetworkIcons_1.PackageIcon color={AppColors_1.AppColors.purple}size={16}/>
3917
671
  </react_native_1.View>
3918
- <react_native_1.View style={{ flex: 1 }}>
3919
- <react_native_1.Text style={{
3920
- fontFamily: AppFonts_1.AppFonts.interBold,
3921
- fontSize: 14,
3922
- lineHeight: 18,
3923
- color: AppColors_1.AppColors.primaryBlack,
3924
- }}>
3925
- {t('settings.bundle.sourceBundler')}
672
+ <react_native_1.View style={{flex:1}}>
673
+ <react_native_1.Text style={{fontFamily:AppFonts_1.AppFonts.interBold,fontSize:14,lineHeight:18,color:AppColors_1.AppColors.primaryBlack}}>
674
+ {o("settings.bundle.sourceBundler")}
3926
675
  </react_native_1.Text>
3927
- <react_native_1.Text style={{
3928
- fontFamily: AppFonts_1.AppFonts.interRegular,
3929
- fontSize: 11,
3930
- lineHeight: 15,
3931
- color: AppColors_1.AppColors.grayText,
3932
- marginTop: 1,
3933
- }}>
3934
- {t('settings.bundle.sourceBundlerDesc')}
676
+ <react_native_1.Text style={{fontFamily:AppFonts_1.AppFonts.interRegular,fontSize:11,lineHeight:15,color:AppColors_1.AppColors.grayText,marginTop:1}}>
677
+ {o("settings.bundle.sourceBundlerDesc")}
3935
678
  </react_native_1.Text>
3936
679
  </react_native_1.View>
3937
680
  </react_native_1.View>
3938
681
  </react_native_1.View>
3939
682
 
3940
- <react_native_1.View style={{
3941
- backgroundColor: AppColors_1.AppColors.primaryLight,
3942
- borderRadius: 14,
3943
- borderWidth: 1,
3944
- borderColor: AppColors_1.AppColors.grayBorderSecondary,
3945
- padding: 16,
3946
- }}>
3947
- {renderSettingRow({
3948
- icon: <NetworkIcons_1.TrashIcon color={AppColors_1.AppColors.errorColor} size={16}/>,
3949
- label: t('settings.bundle.clearCache'),
3950
- description: t('settings.bundle.clearCacheDesc'),
3951
- isLast: true,
3952
- onPress: () => {
3953
- (0, bundleAnalyzer_1.clearCachedBundleAnalysis)();
3954
- react_native_1.Alert.alert(t('common.success'), t('settings.bundle.cacheCleared'));
3955
- },
3956
- right: (<react_native_1.View style={{
3957
- paddingHorizontal: 12,
3958
- paddingVertical: 6,
3959
- borderRadius: 8,
3960
- backgroundColor: `${AppColors_1.AppColors.errorColor}14`,
3961
- borderWidth: 1,
3962
- borderColor: `${AppColors_1.AppColors.errorColor}33`,
3963
- }}>
3964
- <react_native_1.Text style={{
3965
- fontFamily: AppFonts_1.AppFonts.interBold,
3966
- fontSize: 11,
3967
- lineHeight: 14,
3968
- color: AppColors_1.AppColors.errorColor,
3969
- }}>
3970
- {t('common.clear')}
683
+ <react_native_1.View style={{backgroundColor:AppColors_1.AppColors.primaryLight,borderRadius:14,borderWidth:1,borderColor:AppColors_1.AppColors.grayBorderSecondary,padding:16}}>
684
+ {n({icon:<NetworkIcons_1.TrashIcon color={AppColors_1.AppColors.errorColor}size={16}/>,label:o("settings.bundle.clearCache"),description:o("settings.bundle.clearCacheDesc"),isLast:!0,onPress:()=>{(0,bundleAnalyzer_1.clearCachedBundleAnalysis)(),react_native_1.Alert.alert(o("common.success"),o("settings.bundle.cacheCleared"))},right:<react_native_1.View style={{paddingHorizontal:12,paddingVertical:6,borderRadius:8,backgroundColor:`${AppColors_1.AppColors.errorColor}14`,borderWidth:1,borderColor:`${AppColors_1.AppColors.errorColor}33`}}>
685
+ <react_native_1.Text style={{fontFamily:AppFonts_1.AppFonts.interBold,fontSize:11,lineHeight:14,color:AppColors_1.AppColors.errorColor}}>
686
+ {o("common.clear")}
3971
687
  </react_native_1.Text>
3972
- </react_native_1.View>),
3973
- })}
688
+ </react_native_1.View>})}
3974
689
  </react_native_1.View>
3975
- <react_native_1.View style={{ height: 48 }}/>
3976
- </react_native_1.ScrollView>);
3977
- }
3978
- else if (settingsPage === 'performance') {
3979
- title = t('settings.performance.title');
3980
- icon = <NetworkIcons_1.PerformanceIcon color={AppColors_1.AppColors.white} size={16}/>;
3981
- rightInfo = '60 FPS Target';
3982
- content = (<react_native_1.ScrollView style={{ flex: 1 }} contentContainerStyle={{ padding: 16, paddingBottom: 100, gap: 12 }}>
3983
- <react_native_1.View style={{
3984
- backgroundColor: AppColors_1.AppColors.primaryLight,
3985
- padding: 16,
3986
- borderRadius: 14,
3987
- borderWidth: 1,
3988
- borderColor: AppColors_1.AppColors.grayBorderSecondary,
3989
- gap: 8,
3990
- }}>
3991
- <react_native_1.View style={{ flexDirection: 'row', alignItems: 'center', gap: 10 }}>
3992
- <react_native_1.View style={{
3993
- width: 36,
3994
- height: 36,
3995
- borderRadius: 10,
3996
- backgroundColor: AppColors_1.AppColors.purpleShade50,
3997
- alignItems: 'center',
3998
- justifyContent: 'center',
3999
- }}>
4000
- <NetworkIcons_1.PerformanceIcon color={AppColors_1.AppColors.purple} size={16}/>
690
+ <react_native_1.View style={{height:48}}/>
691
+ </react_native_1.ScrollView>):t==="performance"&&(_=o("settings.performance.title"),f=<NetworkIcons_1.PerformanceIcon color={AppColors_1.AppColors.white}size={16}/>,m="60 FPS Target",A=<react_native_1.ScrollView style={{flex:1}}contentContainerStyle={{padding:16,paddingBottom:100,gap:12}}>
692
+ <react_native_1.View style={{backgroundColor:AppColors_1.AppColors.primaryLight,padding:16,borderRadius:14,borderWidth:1,borderColor:AppColors_1.AppColors.grayBorderSecondary,gap:8}}>
693
+ <react_native_1.View style={{flexDirection:"row",alignItems:"center",gap:10}}>
694
+ <react_native_1.View style={{width:36,height:36,borderRadius:10,backgroundColor:AppColors_1.AppColors.purpleShade50,alignItems:"center",justifyContent:"center"}}>
695
+ <NetworkIcons_1.PerformanceIcon color={AppColors_1.AppColors.purple}size={16}/>
4001
696
  </react_native_1.View>
4002
- <react_native_1.View style={{ flex: 1 }}>
4003
- <react_native_1.Text style={{
4004
- fontFamily: AppFonts_1.AppFonts.interBold,
4005
- fontSize: 14,
4006
- lineHeight: 18,
4007
- color: AppColors_1.AppColors.primaryBlack,
4008
- }}>
4009
- {t('settings.performance.frameMeasurement')}
697
+ <react_native_1.View style={{flex:1}}>
698
+ <react_native_1.Text style={{fontFamily:AppFonts_1.AppFonts.interBold,fontSize:14,lineHeight:18,color:AppColors_1.AppColors.primaryBlack}}>
699
+ {o("settings.performance.frameMeasurement")}
4010
700
  </react_native_1.Text>
4011
- <react_native_1.Text style={{
4012
- fontFamily: AppFonts_1.AppFonts.interRegular,
4013
- fontSize: 11,
4014
- lineHeight: 15,
4015
- color: AppColors_1.AppColors.grayText,
4016
- marginTop: 1,
4017
- }}>
4018
- {t('settings.performance.frameMeasurementDesc')}
701
+ <react_native_1.Text style={{fontFamily:AppFonts_1.AppFonts.interRegular,fontSize:11,lineHeight:15,color:AppColors_1.AppColors.grayText,marginTop:1}}>
702
+ {o("settings.performance.frameMeasurementDesc")}
4019
703
  </react_native_1.Text>
4020
704
  </react_native_1.View>
4021
705
  </react_native_1.View>
4022
706
  </react_native_1.View>
4023
707
 
4024
- <react_native_1.View style={{
4025
- backgroundColor: AppColors_1.AppColors.primaryLight,
4026
- borderRadius: 14,
4027
- borderWidth: 1,
4028
- borderColor: AppColors_1.AppColors.grayBorderSecondary,
4029
- padding: 16,
4030
- }}>
4031
- {renderSettingRow({
4032
- icon: <NetworkIcons_1.TrashIcon color={AppColors_1.AppColors.errorColor} size={16}/>,
4033
- label: t('settings.performance.clearEvents'),
4034
- description: t('settings.performance.clearEventsDesc'),
4035
- isLast: true,
4036
- onPress: () => {
4037
- (0, performanceTracker_1.clearPerformanceEvents)();
4038
- react_native_1.Alert.alert(t('common.success'), t('settings.performance.eventsCleared'));
4039
- },
4040
- right: (<react_native_1.View style={{
4041
- paddingHorizontal: 12,
4042
- paddingVertical: 6,
4043
- borderRadius: 8,
4044
- backgroundColor: `${AppColors_1.AppColors.errorColor}14`,
4045
- borderWidth: 1,
4046
- borderColor: `${AppColors_1.AppColors.errorColor}33`,
4047
- }}>
4048
- <react_native_1.Text style={{
4049
- fontFamily: AppFonts_1.AppFonts.interBold,
4050
- fontSize: 11,
4051
- lineHeight: 14,
4052
- color: AppColors_1.AppColors.errorColor,
4053
- }}>
4054
- {t('common.clear')}
708
+ <react_native_1.View style={{backgroundColor:AppColors_1.AppColors.primaryLight,borderRadius:14,borderWidth:1,borderColor:AppColors_1.AppColors.grayBorderSecondary,padding:16}}>
709
+ {n({icon:<NetworkIcons_1.TrashIcon color={AppColors_1.AppColors.errorColor}size={16}/>,label:o("settings.performance.clearEvents"),description:o("settings.performance.clearEventsDesc"),isLast:!0,onPress:()=>{(0,performanceTracker_1.clearPerformanceEvents)(),react_native_1.Alert.alert(o("common.success"),o("settings.performance.eventsCleared"))},right:<react_native_1.View style={{paddingHorizontal:12,paddingVertical:6,borderRadius:8,backgroundColor:`${AppColors_1.AppColors.errorColor}14`,borderWidth:1,borderColor:`${AppColors_1.AppColors.errorColor}33`}}>
710
+ <react_native_1.Text style={{fontFamily:AppFonts_1.AppFonts.interBold,fontSize:11,lineHeight:14,color:AppColors_1.AppColors.errorColor}}>
711
+ {o("common.clear")}
4055
712
  </react_native_1.Text>
4056
- </react_native_1.View>),
4057
- })}
713
+ </react_native_1.View>})}
4058
714
  </react_native_1.View>
4059
- <react_native_1.View style={{ height: 48 }}/>
4060
- </react_native_1.ScrollView>);
4061
- }
4062
- const subPageAnim = (0, react_1.useRef)(new react_native_1.Animated.Value(0)).current;
4063
- (0, react_1.useEffect)(() => {
4064
- if (settingsPage !== 'main') {
4065
- subPageAnim.setValue(0);
4066
- react_native_1.Animated.spring(subPageAnim, {
4067
- toValue: 1,
4068
- friction: 8,
4069
- tension: 65,
4070
- useNativeDriver: true,
4071
- }).start();
4072
- }
4073
- }, [settingsPage]);
4074
- return (<react_native_1.View style={{
4075
- flex: 1,
4076
- backgroundColor: AppColors_1.AppColors.grayBackground,
4077
- }}>
715
+ <react_native_1.View style={{height:48}}/>
716
+ </react_native_1.ScrollView>);const B=(0,react_1.useRef)(new react_native_1.Animated.Value(0)).current;return(0,react_1.useEffect)(()=>{t!=="main"&&(B.setValue(0),react_native_1.Animated.spring(B,{toValue:1,friction:8,tension:65,useNativeDriver:!0}).start())},[t]),<react_native_1.View style={{flex:1,backgroundColor:AppColors_1.AppColors.grayBackground}}>
4078
717
 
4079
- <react_native_1.View style={[
4080
- react_native_1.StyleSheet.absoluteFill,
4081
- settingsPage !== 'main' && { pointerEvents: 'none' },
4082
- ]}>
4083
- {renderMainSettingsContent()}
718
+ <react_native_1.View style={[react_native_1.StyleSheet.absoluteFill,t!=="main"&&{pointerEvents:"none"}]}>
719
+ {we()}
4084
720
  </react_native_1.View>
4085
721
 
4086
722
 
4087
- {settingsPage !== 'main' && (<react_native_1.Animated.View style={[
4088
- react_native_1.StyleSheet.absoluteFill,
4089
- {
4090
- backgroundColor: AppColors_1.AppColors.grayBackground,
4091
- opacity: subPageAnim,
4092
- transform: [
4093
- {
4094
- translateX: subPageAnim.interpolate({
4095
- inputRange: [0, 1],
4096
- outputRange: [30, 0],
4097
- }),
4098
- },
4099
- ],
4100
- },
4101
- ]}>
4102
- {content}
4103
- </react_native_1.Animated.View>)}
4104
- </react_native_1.View>);
4105
- };
4106
- exports.default = SettingsPanel;
723
+ {t!=="main"&&<react_native_1.Animated.View style={[react_native_1.StyleSheet.absoluteFill,{backgroundColor:AppColors_1.AppColors.grayBackground,opacity:B,transform:[{translateX:B.interpolate({inputRange:[0,1],outputRange:[30,0]})}]}]}>
724
+ {A}
725
+ </react_native_1.Animated.View>}
726
+ </react_native_1.View>};exports.default=SettingsPanel;