react-native-inapp-inspector 2.3.18 → 2.3.20

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